Goals
- Build a mobile app framework for consumers seeking loans from financial institutions, with the ability to apply for a loan without visiting a physical branch. Consumer should be able to self-register and set-up by providing user info, verify ID using national ID and upload KYC documents. Also includes capability for the consumer of the loan to perform other basic functions such as accept/reject loan offer, contact support and view loan details like balance and re-payment schedule. Also include capability for the financial institution to receive KYC info and view a business dashboard of account status. The app will also obtain and store (on backend) consumer/user mobile phone data, with ability for financial institution to access the data.
Background and strategic fit
Assumptions
Requirements
# | Title | User Story | Importance | Notes |
---|---|---|---|---|
1 | User app registration | User must be able to register for app using mobile phone and set username and password. At minimum, the following information needs to be furnished by user for registration: - Legal First Name - Legal Last Name - Mobile phone number - Username (created by first time user) - Password (created by first time user) Username must be unique - if user enters a non-unique value, a message is displayed prompting him to enter new value | Must | |
2 | Registration verification | User will be sent a verification link to his e-mail address and must click on the link in order to verify and activate registration: - If user registers successfully via above flow, a notification is displayed indicating so in the app - If user is not able to register successfully via above flow, a notification is displayed in the app indicating the fact and requesting user prompt for sending verification e-mail again | Must | |
3 | User verification via National ID | User verification should be via National ID, by inputting details of the ID in the app. This screen/prompt is displayed after successful user registration. At minimum user should input the following - National ID number, - Legal name, first and last - Date of brith - Gender | Must | |
4 | Manual application & verification | If both National ID verification fails user could manually enter information in order to register. At mininum user must input the following: - Legal First Name - Legal Last Name - Date of Birth - National ID Number - Mobile phone number - Gender - Current physical address An admin at the financial institution must verify and approve the ID manually for verfication to be complete | Must | |
5 | KYC Upload | User must be able to upload KYC documents in image or PDF format | Must | |
6 | KYC Storage | The platform must store each individual users KYC docs securely | Must | |
7 | App permissions request | Upon successful registration and ID verification, the app will display a request to access users cell-phone call records, SMS records, lat-long and SMS content. - If user consents and clicks on prompt for consent, the app will start collecting data from that point onwards - If user does not consent and clicks on prompt for NON-consent, the app will not collect data from users phone - System/back-end must keep a record of the users choice | Should | |
8 | App permission edit | User must be able to toggle between consent and non-consent for app permissions to collect above data. The system/back-end must keep a record of the users choice each time a change is made including: - Status change: e.g. non-consent to consent - Date and time of status change - User ID | Should | |
9 | Link Bank account | User must be able to link an external bank account - either with the same institution or a different one - to the app . User must input the following information: - Routing number - Account number - Name under which account is issued | Must | |
10 | Link Mobile wallet account | User must be able to link an external mobile wallet account - either with the same institution or a different one - to the app | Must | |
11 | Display loan offers | APp must display loan offers that cusotmer qualifies for and an option to apply for offer | Must | |
12 | Loan dashboard | For ongoing loans, simple dashboard to display principal, interest, balance etc | Must | |
13 | Repay loan from within app | After linking an external bank or digital-wallet account, user must be able to repay loans from within the app - User must be able to input amount he wishes to pay - User must be able to select which loan he wishes to pay (if he has multiple) - User must be able to select which linked payment he wants to send money from (if he has multiple) | ||
14 | Support Contact Request | User must be able to put in a customer-support request via the app - User is given a unique ID for each request he creates - App displays a text input field | Must | |
15 | Create user support ticket | A corresponding ticket must be created on the platform - Ticket will contain a unique ID same as that given to user - Ticket will contain text of customer request | Must | |
16 | Support ticket resolution notice | User will receive updates to his ticket(s) - everytime a change or progress is made - via in app notification | ||
17 | App downloads & funnel | Admin will be able to view app-install path and funnel including: - App downloads: successful and abandoned - Registrations: successful and abandoned - ID verifications: successful and abandoned | Must | |
18 | Accounts status | Admin will be able to view out-of-box reports/dashboard on status of customer loan accounts including. - Total applications, - Accepted vs rejected, - Delinquencies, - Payments, - Balance - Other financial metrics - Individual user profile info for above also | Must | |
19 | In app notification | User will receive in-app notifications for the following events (timing and frequency TBD) - loan application approval - loan repayment due dates - overdue payments | Should | |
20 | SMS notification | User will receiveSMS notifications for the following events (timing and frequency TBD) - loan application approval - loan repayment due dates - overdue payments | Must | |
21 | Storage of customer data from mobile | Customer data that is gathered from user mobile phone will be stored in Fineract CN (details TBD) | Should | |
22 | Data access layer and security | Design an access layer for the data that is different from self-service API accessing prod data | Should | |
23 | Log-in screen | User will be presented with a log-in screen upon opening the app | Must | |
24 | Password recovery | User must be able to recover (reset) password via recovery mechanism - User must be given option to recover password via SMS or e-mail - If user chooses e-mail, a link must be sent to users e-mail to reset password - User must click on link to be taken to a password reset screen - If user chooses SMS, a code must be sent to users phone via text - User must enter the code on a prompt screen and then set a new password | Must | |
25 | User-name recovery | User must be able to recover (reset) user-name via recovery mechanism - User must be given option to recover user-name via SMS or e-mail - If user chooses e-mail, an e-mail is sent to user with his username - If user chooses SMS, username is sent to user via mobile phone | Must | |
26 | User profile | User must be able to access and edit his profile details via a 'Profile' section in the app. The following information must be displayed and non-editable: - User legal first name last name The following information must be displayed and editable: - E-mail: if user edits e-mail, another verification e-mail is sent to him and he must click on it to change email - App permission settings: user must be able to toggle between allow app to access his mobile phone data and not allowing it | Must | |
27 | Abandoned registration | User should receive notification to complete abandoned registration | Should | |
28 | Abandoned ID verification | User should receive notification to complete abandoned ID verification | Should |
User interaction and design
Include any mockups, diagrams or visual designs relating to these requirements.
Questions
Below is a list of questions to be addressed as a result of this requirements document:
Question | Outcome |
---|---|