Dealer_Onboarding_Backend/src/common/config/constants.ts

369 lines
11 KiB
TypeScript

// User Roles
export const ROLES = {
DD: 'DD',
DD_ZM: 'DD-ZM',
RBM: 'RBM',
ZBH: 'ZBH',
DD_LEAD: 'DD Lead',
DD_HEAD: 'DD Head',
NBH: 'NBH',
DD_ADMIN: 'DD Admin',
LEGAL_ADMIN: 'Legal Admin',
SUPER_ADMIN: 'Super Admin',
DD_AM: 'DD AM',
ASM: 'ASM',
FINANCE: 'Finance',
DEALER: 'Dealer',
ARCHITECTURE: 'ARCHITECTURE',
FDD: 'FDD'
} as const;
// Regions
export const REGIONS = {
EAST: 'East',
WEST: 'West',
NORTH: 'North',
SOUTH: 'South',
CENTRAL: 'Central'
} as const;
// Application Stages
export const APPLICATION_STAGES = {
DD: 'DD',
DD_ZM: 'DD-ZM',
RBM: 'RBM',
ZBH: 'ZBH',
DD_LEAD: 'DD Lead',
DD_HEAD: 'DD Head',
NBH: 'NBH',
LEGAL: 'Legal',
ARCHITECTURE: 'Architecture Team',
FINANCE: 'Finance',
LEVEL_1_APPROVED: 'Level 1 Approved',
LEVEL_2_APPROVED: 'Level 2 Approved',
LEVEL_2_RECOMMENDED: 'Level 2 Recommended',
LEVEL_3_APPROVED: 'Level 3 Approved',
APPROVED: 'Approved',
REJECTED: 'Rejected'
} as const;
// Application Status
export const APPLICATION_STATUS = {
PENDING: 'Pending',
SUBMITTED: 'Submitted',
QUESTIONNAIRE_PENDING: 'Questionnaire Pending',
QUESTIONNAIRE_COMPLETED: 'Questionnaire Completed',
SHORTLISTED: 'Shortlisted',
IN_REVIEW: 'In Review',
APPROVED: 'Approved',
REJECTED: 'Rejected',
LEVEL_1_PENDING: 'Level 1 Interview Pending',
LEVEL_1_APPROVED: 'Level 1 Approved',
LEVEL_2_PENDING: 'Level 2 Interview Pending',
LEVEL_2_APPROVED: 'Level 2 Approved',
LEVEL_2_RECOMMENDED: 'Level 2 Recommended',
LEVEL_3_PENDING: 'Level 3 Interview Pending',
LEVEL_3_APPROVED: 'Level 3 Approved',
FDD_VERIFICATION: 'FDD Verification',
SECURITY_DETAILS: 'Security Details',
PAYMENT_PENDING: 'Payment Pending',
LOI_IN_PROGRESS: 'LOI In Progress',
LOI_ISSUED: 'LOI Issued',
DEALER_CODE_GENERATION: 'Dealer Code Generation',
ARCHITECTURE_TEAM_ASSIGNED: 'Architecture Team Assigned',
ARCHITECTURE_DOCUMENT_UPLOAD: 'Architecture Document Upload',
ARCHITECTURE_TEAM_COMPLETION: 'Architecture Team Completion',
STATUTORY_GST: 'Statutory GST',
STATUTORY_PAN: 'Statutory PAN',
STATUTORY_NODAL: 'Statutory Nodal',
STATUTORY_CHECK: 'Statutory Check',
STATUTORY_PARTNERSHIP: 'Statutory Partnership',
STATUTORY_FIRM_REG: 'Statutory Firm Reg',
STATUTORY_VIRTUAL_CODE: 'Statutory Virtual Code',
STATUTORY_DOMAIN: 'Statutory Domain',
STATUTORY_MSD: 'Statutory MSD',
STATUTORY_LOI_ACK: 'Statutory LOI Ack',
EOR_IN_PROGRESS: 'EOR In Progress',
LOA_PENDING: 'LOA Pending',
LOA_ISSUED: 'LOA Issued',
LOA_REJECTED: 'LOA Rejected',
EOR_COMPLETE: 'EOR Complete',
INAUGURATION: 'Inauguration',
ONBOARDED: 'Onboarded',
DISQUALIFIED: 'Disqualified',
LOI_REJECTED: 'LOI Rejected'
} as const;
// Termination Stages
export const TERMINATION_STAGES = {
SUBMITTED: 'Submitted',
RBM_REVIEW: 'RBM Review',
ZBH_REVIEW: 'ZBH Review',
DD_LEAD_REVIEW: 'DD Lead Review',
LEGAL_VERIFICATION: 'Legal Verification',
NBH_EVALUATION: 'NBH Evaluation',
SCN_ISSUED: 'Show Cause Notice',
PERSONAL_HEARING: 'Personal Hearing',
NBH_FINAL_APPROVAL: 'NBH Final Approval',
CCO_APPROVAL: 'CCO Approval',
CEO_APPROVAL: 'CEO Final Approval',
LEGAL_LETTER: 'Legal - Termination Letter',
TERMINATED: 'Terminated',
REJECTED: 'Rejected'
} as const;
// Resignation Stages
export const RESIGNATION_STAGES = {
ASM: 'ASM',
RBM: 'RBM',
ZBH: 'ZBH',
DD_LEAD: 'DD Lead',
NBH: 'NBH',
DD_ADMIN: 'DD Admin',
LEGAL: 'Legal',
SPARES_CLEARANCE: 'Spares Clearance',
SERVICE_CLEARANCE: 'Service Clearance',
ACCOUNTS_CLEARANCE: 'Accounts Clearance',
FINANCE: 'Finance',
FNF_INITIATED: 'F&F Initiated',
COMPLETED: 'Completed',
REJECTED: 'Rejected'
} as const;
// Resignation Types
export const RESIGNATION_TYPES = {
VOLUNTARY: 'Voluntary',
RETIREMENT: 'Retirement',
HEALTH_ISSUES: 'Health Issues',
BUSINESS_CLOSURE: 'Business Closure',
OTHER: 'Other'
} as const;
// Constitutional Change Types
export const CONSTITUTIONAL_CHANGE_TYPES = {
OWNERSHIP_TRANSFER: 'Ownership Transfer',
PARTNERSHIP_CHANGE: 'Partnership Change',
LLP_CONVERSION: 'LLP Conversion',
COMPANY_FORMATION: 'Company Formation',
DIRECTOR_CHANGE: 'Director Change'
} as const;
// Constitutional Change Stages
export const CONSTITUTIONAL_STAGES = {
DD_ADMIN_REVIEW: 'DD Admin Review',
LEGAL_REVIEW: 'Legal Review',
NBH_APPROVAL: 'NBH Approval',
FINANCE_CLEARANCE: 'Finance Clearance',
COMPLETED: 'Completed',
REJECTED: 'Rejected'
} as const;
// Relocation Types
export const RELOCATION_TYPES = {
WITHIN_CITY: 'Within City',
INTERCITY: 'Intercity',
INTERSTATE: 'Interstate'
} as const;
// Relocation Stages
export const RELOCATION_STAGES = {
ASM_REVIEW: 'ASM Review',
RBM_REVIEW: 'RBM Review',
DD_ZM_REVIEW: 'DD ZM Review',
ZBH_REVIEW: 'ZBH Review',
DD_LEAD_REVIEW: 'DD Lead Review',
DD_HEAD_APPROVAL: 'DD Head Approval',
NBH_APPROVAL: 'NBH Approval',
LEGAL_CLEARANCE: 'Legal Clearance',
NBH_CLEARANCE_EOR: 'NBH Clearance with EOR',
COMPLETED: 'Completed',
REJECTED: 'Rejected'
} as const;
// Outlet Types
export const OUTLET_TYPES = {
DEALERSHIP: 'Dealership',
STUDIO: 'Studio'
} as const;
// Outlet Status
export const OUTLET_STATUS = {
ACTIVE: 'Active',
PENDING_RESIGNATION: 'Pending Resignation',
CLOSED: 'Closed'
} as const;
// Business Types
export const BUSINESS_TYPES = {
DEALERSHIP: 'Dealership',
STUDIO: 'Studio'
} as const;
// Payment Types
export const PAYMENT_TYPES = {
SECURITY_DEPOSIT: 'Security Deposit',
LICENSE_FEE: 'License Fee',
SETUP_FEE: 'Setup Fee',
OTHER: 'Other'
} as const;
// Payment Status
export const PAYMENT_STATUS = {
PENDING: 'Pending',
PAID: 'Paid',
OVERDUE: 'Overdue',
WAIVED: 'Waived'
} as const;
// F&F Status
export const FNF_STATUS = {
INITIATED: 'Initiated',
DD_CLEARANCE: 'DD Clearance',
LEGAL_CLEARANCE: 'Legal Clearance',
FINANCE_APPROVAL: 'Finance Approval',
COMPLETED: 'Completed'
} as const;
// Audit Actions
export const AUDIT_ACTIONS = {
// General CRUD
CREATED: 'CREATED',
UPDATED: 'UPDATED',
APPROVED: 'APPROVED',
REJECTED: 'REJECTED',
DELETED: 'DELETED',
// Auth & User Actions
LOGIN: 'LOGIN',
LOGOUT: 'LOGOUT',
REGISTERED: 'REGISTERED',
PASSWORD_CHANGED: 'PASSWORD_CHANGED',
PROFILE_UPDATED: 'PROFILE_UPDATED',
// Application Lifecycle
STAGE_CHANGED: 'STAGE_CHANGED',
SHORTLISTED: 'SHORTLISTED',
DISQUALIFIED: 'DISQUALIFIED',
QUESTIONNAIRE_SUBMITTED: 'QUESTIONNAIRE_SUBMITTED',
QUESTIONNAIRE_LINK_SENT: 'QUESTIONNAIRE_LINK_SENT',
// Documents & Collaboration
DOCUMENT_UPLOADED: 'DOCUMENT_UPLOADED',
DOCUMENT_VERIFIED: 'DOCUMENT_VERIFIED',
WORKNOTE_ADDED: 'WORKNOTE_ADDED',
ATTACHMENT_UPLOADED: 'ATTACHMENT_UPLOADED',
PARTICIPANT_ADDED: 'PARTICIPANT_ADDED',
PARTICIPANT_REMOVED: 'PARTICIPANT_REMOVED',
// Interviews & Assessment
INTERVIEW_SCHEDULED: 'INTERVIEW_SCHEDULED',
INTERVIEW_UPDATED: 'INTERVIEW_UPDATED',
INTERVIEW_COMPLETED: 'INTERVIEW_COMPLETED',
KT_MATRIX_SUBMITTED: 'KT_MATRIX_SUBMITTED',
FEEDBACK_SUBMITTED: 'FEEDBACK_SUBMITTED',
RECOMMENDATION_UPDATED: 'RECOMMENDATION_UPDATED',
DECISION_MADE: 'DECISION_MADE',
// FDD
FDD_ASSIGNED: 'FDD_ASSIGNED',
FDD_REPORT_UPLOADED: 'FDD_REPORT_UPLOADED',
// LOI & LOA
LOI_REQUESTED: 'LOI_REQUESTED',
LOI_APPROVED: 'LOI_APPROVED',
LOI_REJECTED: 'LOI_REJECTED',
LOI_GENERATED: 'LOI_GENERATED',
LOA_REQUESTED: 'LOA_REQUESTED',
LOA_APPROVED: 'LOA_APPROVED',
LOA_GENERATED: 'LOA_GENERATED',
// EOR
EOR_CHECKLIST_CREATED: 'EOR_CHECKLIST_CREATED',
EOR_ITEM_UPDATED: 'EOR_ITEM_UPDATED',
EOR_AUDIT_SUBMITTED: 'EOR_AUDIT_SUBMITTED',
// Dealer & Finance
DEALER_CREATED: 'DEALER_CREATED',
DEALER_UPDATED: 'DEALER_UPDATED',
DEALER_CODE_GENERATED: 'DEALER_CODE_GENERATED',
PAYMENT_UPDATED: 'PAYMENT_UPDATED',
SECURITY_DEPOSIT_UPDATED: 'SECURITY_DEPOSIT_UPDATED',
FNF_UPDATED: 'FNF_UPDATED',
// Admin
USER_CREATED: 'USER_CREATED',
USER_UPDATED: 'USER_UPDATED',
USER_STATUS_CHANGED: 'USER_STATUS_CHANGED',
ROLE_CREATED: 'ROLE_CREATED',
ROLE_UPDATED: 'ROLE_UPDATED',
// Resignation & Self-Service
RESIGNATION_SUBMITTED: 'RESIGNATION_SUBMITTED',
RESIGNATION_APPROVED: 'RESIGNATION_APPROVED',
RESIGNATION_REJECTED: 'RESIGNATION_REJECTED',
EMAIL_SENT: 'EMAIL_SENT',
REMINDER_SENT: 'REMINDER_SENT'
} as const;
// Document Types
export const DOCUMENT_TYPES = {
GST_CERTIFICATE: 'GST Certificate',
PAN_CARD: 'PAN Card',
AADHAAR: 'Aadhaar',
PARTNERSHIP_DEED: 'Partnership Deed',
LLP_AGREEMENT: 'LLP Agreement',
INCORPORATION_CERTIFICATE: 'Certificate of Incorporation',
MOA: 'MOA',
AOA: 'AOA',
BOARD_RESOLUTION: 'Board Resolution',
PROPERTY_DOCUMENTS: 'Property Documents',
BANK_STATEMENT: 'Bank Statement',
NODAL_AGREEMENT: 'Nodal Agreement',
CANCELLED_CHECK: 'Cancelled Check',
FIRM_REGISTRATION: 'Firm Registration',
RENTAL_AGREEMENT: 'Rental Agreement',
VIRTUAL_CODE: 'Virtual Code Confirmation',
DOMAIN_ID: 'Domain ID Setup',
MSD_CONFIG: 'MSD Configuration',
LOI_ACK: 'LOI Acknowledgement',
FDD_REPORT: 'FDD Final Audit Report',
FDD_ASSIGNMENT: 'FDD Agency Assignment Letter',
KT_MATRIX: 'Kepner Tregoe (KT) Matrix',
INTERVIEW_EVALUATION: 'Interview Evaluation Sheet',
AI_RECOMMENDATION: 'AI Recommendation Summary',
SITE_READINESS: 'Site Readiness Report',
CIBIL_REPORT: 'CIBIL Report',
CITY_MAP: 'Proposed Site City Map',
LOA_ACCEPTANCE: 'LOA Acceptance Copy',
ARCHITECTURE_ASSIGNMENT: 'Architecture Assignment Document',
ARCHITECTURE_BLUEPRINT: 'Architecture Blueprint',
SITE_PLAN: 'Site Plan',
ARCHITECTURE_COMPLETION: 'Architecture Completion Certificate',
STATUTORY_AUDIT: 'Statutory Approval Certificate',
BANK_GUARANTEE: 'Bank Guarantee Document',
SECURITY_DEPOSIT_RECEIPT: 'Security Deposit Receipt',
SECURITY_DEPOSIT_INITIAL: 'Initial Security Deposit Receipt',
SECURITY_DEPOSIT_FINAL: 'Final Security Deposit Receipt',
RELOCATION_PROPERTY_DOCS: 'Property documents for new location',
RELOCATION_LEASE_AGREEMENT: 'Lease/Rental agreement for new location',
RELOCATION_NOC_LANDLORD: 'NOC from current landlord',
RELOCATION_MUNICIPAL_APPROVALS: 'Municipal approvals',
RELOCATION_FIRE_SAFETY: 'Fire safety certificate',
RELOCATION_POLLUTION_CLEARANCE: 'Pollution clearance',
RELOCATION_LAYOUT_PLAN: 'Layout/Floor plan of new location',
RELOCATION_PHOTOS: 'Photos of new location',
RELOCATION_LOCALITY_MAP: 'Locality map',
RELOCATION_BUILDING_PLAN: 'Building plan approval',
RELOCATION_ELECTRICITY_DOCS: 'Electricity connection documents',
RELOCATION_WATER_DOCS: 'Water supply documents',
OTHER: 'Other'
} as const;
// Request Types
export const REQUEST_TYPES = {
APPLICATION: 'application',
RESIGNATION: 'resignation',
CONSTITUTIONAL: 'constitutional',
RELOCATION: 'relocation'
} as const;