238 lines
11 KiB
Markdown
238 lines
11 KiB
Markdown
# 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.*
|