All docs

Docs

Personal Loans — Regular Flow (New User Only)

Scope: The user lands on /personal-loans, enters email, and completes the application.
Out of scope: welcome-back, verify-otp, returning customer, deeper prepop, cross-product entry.

Agent Use

Use this file as the legacy product-flow source of truth when adding or editing AppFlow steps, validating step order, checking branch logic, or comparing the gallery registry against the regular personal-loan path.

This file is not the implementation target. Gallery implementation lives in apps/design-library/src/gallery/page/appflow/personalLoanFlow.ts and apps/design-library/src/gallery/page/appflow/screens/.

When To Use

  • The task adds a new AppFlow page or screen.
  • The task edits an existing AppFlow step, label, progress state, branch, or outcome.
  • The task validates whether personalLoanFlow.ts matches the regular legacy path.
  • The task asks about employment branches, verification branches, skipped upload recovery, or terminal outcomes.

When Not To Use

  • The task is a direct Figma-to-code implementation that does not alter flow order, labels, branches, or outcomes.
  • The task is a reusable component or gallery documentation page outside AppFlow.
  • The task asks for a target-user UX variant; use user-insights-report.md and ux-strategy-logic.md first, then this file only if AppFlow structure is affected.

AppFlow Usage Note

Preserve the regular path unless the user explicitly asks for a branch or variant. If changing AppFlow structure, update the gallery registry and confirm the route under /library/page/appflow/personal-loan/<slug>.

Assumptions (typical production path):

  • purposeOfLoanVariant === 'true'
  • isDeeperPrepop === false
  • Employment: Employed or Self Employed
  • Twilio SMS works (twilioFailed === false)
  • VITE_FLINKS_ENABLED and financial institution selector enabled
  • Not already leadSubmitted at contact-phone

Phase overview

PhaseStepsWhat happens
A — Customer personal information1–12Applicant profile through date of birth
B — Verification13–17SMS code → bank (Flinks) → verify identity
C — Additional verification18–21Verify address → verify income → analyzing (recovery path if uploads skipped)
D — Outcomes22–24Success or decline (conditional after analyzing)

Full step map (regular path)

StepURLPage titleProgress labelNext (regular)
1/personal-loansApply in 3 Minutes and Get Up to $35,000 Transferred Today3 minutes from finish→ name
2/personal-loans/nameWhat's Your Name?3 minutes from finish→ loan-amount
3/personal-loans/loan-amountHow Much Would You Like to Borrow?3 minutes from finish→ purpose-of-loan *
4/personal-loans/purpose-of-loanWhat is the Purpose of Your Loan?3 minutes from finish→ credit-rating
5/personal-loans/credit-ratingWhat Is Your Estimated Credit Score?2 - 3 minutes from finish→ employment-status
6/personal-loans/employment-statusWhat Is Your Employment Status?2 - 3 minutes from finish→ income-details-frequency †
7/personal-loans/income-details-frequencyIncome Details — Please Select One:2 minutes from finish→ income-details-amount
8/personal-loans/income-details-amount(pay frequency title)2 minutes from finish→ income-duration
9/personal-loans/income-durationHow Long Have You Been Receiving This Income?1 - 2 minutes from finish→ home-address
10/personal-loans/home-addressWhat Is Your Home Address?1 - 2 minutes from finish→ homeowner-status
11/personal-loans/homeowner-statusAre You a Homeowner?1 - 2 minutes from finish→ date-of-birth
12/personal-loans/date-of-birthWhat Is Your Date Of Birth?1 minute from finish→ contact-phone
13/personal-loans/contact-phoneHow Can We Reach You?Less than 1 minute from finish→ contact-code
14/personal-loans/contact-codeEnter Your Verification CodeLess than 1 minute from finish→ financial-selector
15/personal-loans/financial-selectorSelect Your BankLess than 1 minute from finish→ verify-bank
16/personal-loans/verify-bankVerify Your Income And Get Approved Today!Less than 1 minute from finish→ verify-identity
17/personal-loans/verify-identityVerify Your IdentityLess than 1 minute from finish→ verify-address ‡
18/personal-loans/verify-addressVerify Your AddressLess than 1 minute from finish→ verify-income (if POI required) or analyzing
19/personal-loans/verify-incomeVerify Your IncomeLess than 1 minute from finish→ analyzing-application
20/personal-loans/analyzing-applicationPersonalizing Your Offer(no progress bar)→ Phase D outcome §
21/personal-loans/complete-skipped-stepsYou're so close, {firstName}!Less than 1 minute from finish(recovery — skipped POA + POI uploads)
22/personal-loans/application-successApplication SuccessFinished!End (approved)
23/personal-loans/declined-try-foundationDeclined — Try FoundationFinished!End (declined · Foundation cross-sell)
24/personal-loans/declined-sorryDeclined — SorryFinished!End (declined)

* Step 4 only when purposeOfLoanVariant === 'true'. If 'false', step 3 → credit-rating.
† See employment branches below.
‡ After verify identity, Phase C is conditional — primary path is verify-address → verify-income → analyzing.
§ After analyzing, Phase D routes to one of three outcomes — see Phase D section below.



Employment branches (step 6 varies)

User selectsPath after step 6
Employed / Self Employed7 → 8 → 9 → 10…
Retired/Pension / Long Term DisabilitySkip 7 → income-details-amount → 9 → 10…
Employment Insuranceemployment-status-insurance (if needed) → income-details-amount → 9 → 10…
Otheremployment-status-other (if needed) → income-details-amount → 9 → 10…
No Current IncomeSkip income → home-address (step 10)

Phase C — Additional verification

Primary path (when docs are required):

verify-address → verify-income → analyzing-application → application-success
ScenarioRoute
POA + POI requiredverify-address → verify-income → analyzing → success
POA onlyverify-address → analyzing → success
POI onlyverify-income → analyzing → success
No extra docsanalyzing → success

Recovery path (not in the linear flow map row):

ScenarioRoute
User skipped both verify-address and verify-income uploadscomplete-skipped-steps → resume uploads → success

Extra doc steps when collectAllPLDocs is true (empty or "Easy" eligibility).


Phase D — Outcomes

After analyzing-application, eligibility routes to one of three terminal pages (not a linear sequence):

OutcomeStepURLWhen
Approved22-1/personal-loans/application-successApplication approved
Declined · Foundation22-2/personal-loans/declined-try-foundationDeclined — offer Foundation cross-sell
Declined · Sorry22-3/personal-loans/declined-sorryDeclined — empathetic close

The flow map shows Success on the primary row; decline pages appear in the conditional outcome branch below Phase D.


Not in regular flow

URLReason
/personal-loans/welcome-backReturning customer
/personal-loans/verify-otpOTP before welcome-back
/personal-loans/sorryDecline / error
/personal-loans/talk-to-agentAgent callback

Source of truth in code

  • Gallery registry: apps/design-library/src/gallery/page/appflow/personalLoanFlow.ts
  • Gallery screens: apps/design-library/src/gallery/page/appflow/screens/
  • Gallery route: apps/design-library/src/app/library/page/appflow/personal-loan/[slug]/
  • Production reference paths: /personal-loans/*