Customer Task Workflows
This playbook focuses on the current customer journeys that were verified from the live route tree and the refreshed loan behavior.
A. Access and Session Handling
CF-01 Sign in and land on the dashboard
Route: /login -> /app
- Open the customer portal and select
Continue With Passwordif the handoff screen appears. - Authenticate with valid customer credentials.
- Confirm the session resolves into
/app. - Verify the dashboard summary, quick actions, and recent activity load without a redirect loop.
Expected result: the customer lands on the dashboard with a live wallet and transaction summary.
CF-02 Return through the root route
Route: /
- Open the portal root while signed out.
- Authenticate when prompted.
- Reopen
/while signed in. - Confirm the app sends the customer back into the protected workspace rather than leaving them on a public landing state.
Expected result: root-route handling is session-aware and stable.
B. Wallets, History, and Statements
CF-03 Open the wallet portfolio through the alias route
Route: /app/wallet -> /app/my-wallets
- Open
/app/wallet. - Confirm the route redirects to
/app/my-wallets. - Review primary and secondary wallets, balances, and account-number masking.
- Use a wallet shortcut to move into a payment or transfer flow.
Expected result: the alias resolves correctly and wallet context remains intact.
CF-04 Review transaction history and export a statement
Route: /app/transactions -> /app/statements
- Open transaction history and apply date, type, or status filters.
- Search by reference to confirm that a known transaction is traceable.
- Move into the statements workflow for the same date range.
- Verify that statement totals reconcile with the filtered transaction list.
Expected result: history and statements stay consistent for the same wallet and date range.
C. Daily Money Movement
CF-05 Send money from the customer workspace
Route: /app/transfer-money
- Open the transfer page.
- Choose a recipient manually or from recent contacts.
- Enter the amount and confirm the fee and total debit preview.
- Complete the transfer and confirm the transaction appears in history.
Expected result: the posted transfer matches the quoted fee and amount.
CF-06 Pay a bill with reference and fee confirmation
Route: /app/pay-bills
- Select the biller and enter the account or customer reference.
- Enter the amount and review the fee preview.
- Submit the payment.
- Check history for the resulting bill-payment record and status.
Expected result: the bill payment books with the correct bill reference and channel status.
CF-07 Move from merchant payment into QR
Route: /app/merchant-payment -> /app/qr-payments
- Start on the merchant-payment route.
- Use the scan-based handoff into the QR flow when the merchant code or till is better captured visually.
- Confirm the QR route opens in the same signed-in customer session.
- Complete or cancel the payment and return to the originating workflow.
Expected result: the merchant-to-QR handoff keeps the customer inside a single payment journey.
D. Loans and Repayments
CF-08 Review active versus pending loans
Route: /app/loans
- Open the loans page.
- Read the active and pending status chips.
- Confirm the page prioritizes the current live loan above new offers when an active platform loan exists.
- Verify that pending applications remain visible without replacing the active servicing view.
Expected result: the customer can tell the difference between a loan being serviced now and one still under review.
CF-09 Apply for a new loan when eligible
Route: /app/loans
- Open the loans page while no active platform loan blocks new borrowing.
- Review the currently returned offers, terms, and indicative repayment.
- Choose the product, amount, and term.
- Submit the application and confirm the resulting status moves into a pending state.
Expected result: the new application appears in the customer loan list with a review-oriented status.
CF-10 Open servicing detail from the current loan card
Route: /app/loans
- Select the active platform loan card.
- Confirm the servicing panel loads the repayment summary, next installment, repayment progress, and schedule.
- Review the repayment ledger below the schedule.
- Confirm the selected loan remains stable when the page refreshes.
Expected result: the customer sees a single coherent servicing view for the current loan.
CF-11 Repay from the selected wallet
Route: /app/loans
- Open the active loan servicing panel.
- Choose the wallet to debit from the
Wallet to useselector. - Enter a repayment amount or choose a quick amount.
- Submit the repayment and confirm the success message identifies the wallet used.
Expected result: the repayment request is wallet-aware and the selected wallet is the debit source.
CF-12 Handle insufficient wallet balance
Route: /app/loans
- Choose a wallet whose available balance is lower than the amount you want to repay.
- Enter the larger amount.
- Submit the repayment.
- Confirm the page blocks the request and explains that the selected wallet does not have enough available balance.
Expected result: the repayment is not posted and the customer receives an actionable balance warning.
CF-13 Enter more than the outstanding balance
Route: /app/loans
- Choose a valid repayment wallet.
- Enter an amount larger than the remaining loan balance.
- Submit the repayment.
- Confirm the system applies only the outstanding amount and leaves the excess in the selected wallet.
Expected result: the customer cannot accidentally overpay the loan principal through the portal.
CF-14 Verify the repayment ledger after posting
Route: /app/loans
- Complete a repayment or refresh the servicing page after a recent repayment.
- Review the repayment ledger and progress summary.
- Check the repayment reference, amount, and resulting outstanding balance.
- Confirm the progress bar and totals reconcile with the new ledger entry.
Expected result: the servicing summary and the repayment ledger agree on the current loan state.
E. Security and Self-Service
CF-15 Update account and security settings
Route: /app/profile, /app/settings, /app/security/2fa
- Open
/app/settingsand confirm it resolves to the profile workspace. - Review profile details and account-level self-service options.
- Open
/app/security/2fa. - Confirm the portal shows the live two-factor state from the identity platform.
Expected result: profile and security routes resolve correctly and do not diverge into separate local-only state.
CF-16 Enroll the first passkey from the customer security page
Route: /login -> /app/security/2fa
- Open the customer portal and select
Continue With Passwordif the customer handoff screen appears. - Sign in with the customer username and password.
- Open
/app/security/2fa. - Confirm the page shows
Passkeys: No passkey enrolled. - Select
Set Up Passkey. - If Keycloak asks for re-authentication, enter the same username and password again.
- Complete the browser or device passkey prompt using Touch ID, Windows Hello, a synced mobile passkey, or a hardware key.
- Wait for the flow to return to
/app/security/2fa. - Confirm the passkey count changes from
No passkey enrolledto1 passkey enrolled.
Expected result: the customer returns to the portal security page with a live registered passkey and password fallback still available.
CF-17 Sign in with an enrolled passkey
Route: /login -> Keycloak sign-in -> /app
- Open the customer portal while signed out.
- Select
Continue With Passwordto reach the Keycloak screen. - If the browser shows a passkey prompt immediately, continue with it. Otherwise select
Sign in with Passkey. - Approve the request on the same device or choose the platform option to use a passkey from another device.
- Complete the biometric, PIN, security-key tap, or cross-device approval step.
- Confirm the browser returns to
/appwithout requiring the password again.
Expected result: passkey login completes successfully and the customer lands on the authenticated dashboard.
CF-18 Reach support and notifications
Route: /app/notifications, /app/help
- Open notifications to review recent customer-facing events.
- Open help and review the support entry points available to customers.
- Use transaction or loan references gathered from earlier flows when preparing a support request.
Expected result: support escalation starts with the same references that appear in the operational pages.