Dealer_Onboarding_Backend/docs/ONBOARDING_APPLICATION_STATUSES.md

11 KiB

Onboarding — Application Status Reference

This document lists every overallStatus value used in dealer onboarding: what the UI shows, how statuses map to pipeline progress, and the typical lifecycle order from application submission through inauguration and onboarding.

Source of truth (code):

Area Path
Status constants backend/src/common/config/constants.tsAPPLICATION_STATUS
Status → pipeline stage backend/src/common/utils/progress.tsPIPELINE_STAGE_LABEL_BY_OVERALL_STATUS
Progress milestones backend/src/common/utils/progress.tsONBOARDING_STAGES
Status → DB currentStage backend/src/common/config/constants.tsOVERALL_STATUS_TO_DB_CURRENT_STAGE
UI type / badges frontend/src/lib/mock-data.tsApplicationStatus

Three layers (do not confuse)

Layer Field / table Shown in UI as Purpose
Overall status Application.overallStatus Status badge on lists, cards, Application Details sidebar Fine-grained lifecycle label (this document)
Current stage Application.currentStage Sometimes in filters / audit; coarser enum Role-based workflow stage (DD, FDD, LOI, LOA, EOR, etc.)
Progress milestones ApplicationProgress.stageName Application Details → Progress tab (“Application Journey”) Ordered pipeline steps (Submitted, Questionnaire, Shortlist, …)

overallStatus is what users most often see as Status. Progress tab labels can differ (e.g. badge Level 1 Interview Pending maps to milestone 1st Level Interview).


Happy path — sequential overallStatus (submission → inauguration)

Typical forward flow. Not every application visits every row (policy gates, parallel work, and admin shortcuts can skip or reorder steps).

# overallStatus (UI label) Phase Notes
1 Submitted Intake Default when no active opportunity; non-opportunity applications stay here until questionnaire is sent
2 Questionnaire Pending Questionnaire Default when application is tied to an active opportunity
3 Questionnaire Completed Questionnaire Set when prospect submits public questionnaire
4 Shortlisted Evaluation DD shortlists; interviews can be scheduled
5 Level 1 Interview Pending Interview L1 Set when Level 1 interview is scheduled
6 Level 1 Approved Interview L1 Level 1 panel decision (policy-managed)
7 Level 2 Interview Pending Interview L2 Level 2 scheduled
8 Level 2 Approved Interview L2 Level 2 passed
9 Level 3 Interview Pending Interview L3 Level 3 scheduled
10 Level 3 Approved Interview L3 Optional; admin quick-approve path before FDD
11 FDD Verification FDD Financial due diligence; interview L3 approval may jump here directly
12 LOI In Progress LOI LOI approval workflow (DD Head / NBH policy)
13 Payment Pending Security deposit Finance verification of security deposit
14 Security Deposit Security deposit LOI approved; deposit verified; gate before LOI issue (SECURITY_DETAILS constant)
15 LOI Issued LOI Letter of Intent issued to applicant
16 Dealer Code Generation SAP / codes Dealer codes generated (DD Admin trigger)
17 Architecture Team Assigned Architecture (parallel) Architecture team assigned
18 Architecture Document Upload Architecture (parallel) Site / blueprint uploads
19 Architecture Team Completion Architecture (parallel) Architecture track complete
20 LOA Pending LOA LOA approval; may require First Fill verified by Finance
21 LOA Issued LOA LOA document generated (policy path)
22 EOR In Progress EOR EOR checklist started
23 EOR Complete EOR All EOR items compliant
24 Inauguration Go-live EOR audit submitted as Completed; dealership ready for inauguration
25 Approved Go-live Treated like inauguration in progress / progress sync
26 Onboarded Active dealer Final onboarding after inauguration action; dealer profile active

Short path (badge only):
SubmittedQuestionnaire PendingQuestionnaire CompletedShortlisted → … → InaugurationOnboarded


Statutory sub-statuses (parallel with architecture)

After Dealer Code Generation, statutory compliance can surface granular statuses (all map to pipeline Statutory Work):

overallStatus Meaning
Statutory GST GST certificate step
Statutory PAN PAN step
Statutory Nodal Nodal agreement
Statutory Check Cancelled check / bank proof
Statutory Partnership Partnership / LLP / MOA documents
Statutory Firm Reg Firm registration
Statutory Rental Property / rental agreement
Statutory Virtual Code Virtual code
Statutory Domain Domain setup
Statutory MSD MSD configuration
Statutory LOI Ack LOI acknowledgement copy
Statutory Work Generic statutory milestone

Generic architecture labels: Architecture Work, plus team assignment statuses in the happy-path table above.


Alternate / branch statuses

overallStatus When used
Pending Legacy / initial; progress sync maps to Submitted
In Review Legacy; maps to pipeline Shortlist
Level 2 Recommended Alternate Level 2 outcome (still 2nd Level Interview pipeline)
Returned to FDD Application sent back to FDD from a later stage
Security Details Deprecated DB label; same stage as Security Deposit — migrate to Security Deposit

Frontend also styles optional labels that may appear from older APIs or composite UI (see frontend/src/lib/mock-data.ts): e.g. LOI Approved, Security Deposit In Progress, Architecture Work In Progress, Dealer Code Generated, etc.


Terminal (end-state) statuses

overallStatus Outcome
Rejected Application rejected (any stage)
Disqualified Disqualified
LOI Rejected LOI approval rejected
LOA Rejected LOA approval rejected

Progress tab milestones (ONBOARDING_STAGES)

Shown on Application Details → Progress (not always identical to the status badge text):

Order Milestone name Parallel
1 Submitted
2 Questionnaire
3 Shortlist
4 1st Level Interview
5 2nd Level Interview
6 3rd Level Interview
7 FDD
8 LOI Approval
9 Security Deposit
10 LOI Issue
11 Dealer Code Generation
12 Architecture Work Yes (order 12)
12 Statutory Work Yes (order 12)
13 LOA
14 EOR Complete
15 Inauguration
16 Onboarded

UI journey definition: frontend/src/features/onboarding/hooks/useApplicationDetailsStageData.ts (processStages).


Mapping: overallStatus → progress milestone

Used by syncApplicationProgress() and SLA stage naming:

overallStatus Pipeline milestone (ApplicationProgress.stageName)
Submitted Submitted
Questionnaire Pending / Completed Questionnaire
Shortlisted, In Review Shortlist
Level 1 Interview Pending / Approved 1st Level Interview
Level 2 Interview Pending / Approved / Recommended 2nd Level Interview
Level 3 Interview Pending / Approved 3rd Level Interview
FDD Verification, Returned to FDD FDD
LOI In Progress LOI Approval
Payment Pending, Security Deposit, Security Details Security Deposit
LOI Issued, Statutory LOI Ack, LOI Rejected LOI Issue
Dealer Code Generation Dealer Code Generation
Architecture Team * / Architecture Work Architecture Work
Statutory * / Statutory Work Statutory Work
LOA Pending / LOA Issued / LOA Rejected LOA
EOR In Progress / EOR Complete EOR Complete
Inauguration / Approved Inauguration
Onboarded Onboarded
Rejected / Disqualified Rejected

Full map: PIPELINE_STAGE_LABEL_BY_OVERALL_STATUS in progress.ts.


Mapping: overallStatuscurrentStage (DB enum)

Coarser internal stage on Application.currentStage (see OVERALL_STATUS_TO_DB_CURRENT_STAGE):

currentStage Example overallStatus values
DD Submitted, Questionnaire *, Shortlisted, Level * Pending
Level 1 Approved Level 1 Approved
Level 2 Approved Level 2 Approved
Level 2 Recommended Level 2 Recommended
Level 3 Approved Level 3 Approved
FDD FDD Verification, Returned to FDD
LOI LOI In Progress, Security Deposit, Payment Pending, LOI Issued, Dealer Code Generation, Statutory LOI Ack
Architecture Work Architecture Team *, Architecture Work
Statutory Work Statutory *
LOA LOA Pending, LOA Issued, LOA Rejected
EOR EOR In Progress, EOR Complete
Approved Inauguration, Onboarded, Approved
Rejected Rejected, Disqualified, LOI Rejected

Key transitions (implementation notes)

Trigger Typical transition
Application create (opportunity) Questionnaire Pending
Application create (no opportunity) Submitted
Public questionnaire submit Questionnaire Completed
Bulk / single shortlist Shortlisted
Schedule interview level N Level N Interview Pending
Interview L1/L2 approve (policy) Level 1 Approved / Level 2 Approved
Interview L3 approve (policy) FDD Verification (may skip Level 3 Approved)
FDD complete / admin approve LOI In Progress
LOI policy + deposit verified Security Deposit
LOI issued LOI IssuedDealer Code Generation
Dealer codes created (integrity service) LOA Pending (architecture/statutory may continue in parallel)
LOA policy met EOR In Progress (or LOA Issued on policy path)
EOR checklist Completed Inauguration
Dealer onboard action Onboarded (requires Inauguration / Approved and EOR complete)

Admin sequential override (frontend): useApplicationDetailsAdminActions.ts — manual Approve button steps through statuses when policy does not apply.


UI surfaces by page

Page / component Statuses typically shown
Opportunity Requests Questionnaire Pending, Questionnaire Completed, Shortlisted
All Applications (DD) Early statuses (Submitted, Questionnaire *, Shortlisted, interview pending)
Applications / cards All overallStatus values from API
Application Details Current overallStatus badge + Progress tab milestones
Non-Opportunities Submitted (not yet in opportunity flow)

  • Module overview: modular_wise/01_Dealer_Onboarding.md
  • SLA vs applicant reminders: sla/ONBOARDING_SLA_RULES.md
  • Data flows summary: Detailed_Module_Data_Flows.md

Last aligned with codebase: APPLICATION_STATUS and progress.ts as of document creation.