Leads App
Purpose: Manage the intake, tracking, and document collection for EV charger installation leads from OEMs.
Responsibilities
Lead creation (via OEM API integration or manual entry by Central Ops)
Source tagging — track which OEM and which channel the lead came from
Customer document collection — electricity bill, location photos, electrician contact
Lead status lifecycle tracking (
newthroughclosed)Introductory call tracking
Bulk lead import (CSV)
Lead assignment to Central Ops handlers
Dependencies
accounts — User model (OEM submitter, Central Ops handler, customer)
Key Models
Lead — Core entity representing an installation request. Tracks customer details, location, status, assigned handler, and charger model.
LeadSource — Categorizes where leads originate (e.g., “Tata Motors Portal”, “MG Direct API”). Linked to a specific OEM.
LeadDocument — Files uploaded for a lead: electricity bills, location photos, electrician contact details.
Status Lifecycle
new → contacted → documents_pending → documents_received →
survey_scheduled → survey_completed →
installation_scheduled → installation_completed → closed
Any state → cancelled
Any state → on_hold
Business Rules
OEMs can only view their own leads.
Central Ops can view and manage all leads.
A lead must have at least an electricity bill document before it can move to
documents_received.Status transitions are validated — you cannot skip from
newtosurvey_scheduled.Lead assignment to a Central Ops handler is required before scheduling a survey.