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.ts → APPLICATION_STATUS |
| Status → pipeline stage | backend/src/common/utils/progress.ts → PIPELINE_STAGE_LABEL_BY_OVERALL_STATUS |
| Progress milestones | backend/src/common/utils/progress.ts → ONBOARDING_STAGES |
Status → DB currentStage |
backend/src/common/config/constants.ts → OVERALL_STATUS_TO_DB_CURRENT_STAGE |
| UI type / badges | frontend/src/lib/mock-data.ts → ApplicationStatus |
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):
Submitted → Questionnaire Pending → Questionnaire Completed → Shortlisted → … → Inauguration → Onboarded
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: overallStatus → currentStage (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 Issued → Dealer 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) |
Related documentation
- 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.