Surveys App
Purpose: Manage survey scheduling, field team assignment, survey execution, report submission, and post-survey review.
Responsibilities
Create surveys from leads that have received customer documents
Generate human-readable Survey IDs (e.g.,
SRV-2026-00123)Schedule survey date and time slot
Assign field teams to surveys
Track survey day confirmation calls
Capture survey reports (site readiness, electrical assessment, civil work needs)
Capture survey media (photos, videos)
Post-survey review workflow (Central Ops approves or rejects)
Dependencies
leads — Survey is linked to a Lead (OneToOne)
accounts — Field team assignment, Central Ops reviewer
emergency — Triggered when assigned team is unavailable
notifications — Confirmation call and reminder triggers
Key Models
Survey — Scheduled survey linked to a lead. Tracks date, time slot, status, and customer confirmation.
SurveyAssignment — Links a survey to a field team. Supports primary and emergency backup assignments.
SurveyReport — Detailed site assessment: load adequacy, earthing, civil work needs. Includes review status from Central Ops.
SurveyMedia — Photos and videos captured during the survey.
Status Lifecycle
scheduled → confirmed → in_progress → completed →
report_submitted → reviewed_approved
→ reviewed_rejected → (back to scheduled as reschedule)
Any state → rescheduled
Any state → cancelled
Business Rules
Only one active survey per lead at a time.
A survey cannot proceed to
in_progresswithout customer confirmation.Survey report must include site readiness assessment (load, earthing, civil work).
Central Ops must review every report — auto-approval is not supported.
If a report is rejected, a new survey may be scheduled.
Media upload is required — at least 3 photos per survey report.