Installations App ================= **Purpose**: Manage installation scheduling, material readiness, charger installation execution, demo, and report submission. Responsibilities ---------------- - Create installations from approved surveys - Generate human-readable Installation IDs (e.g., ``INS-2026-00456``) - Coordinate with Procurement for material readiness - Schedule installation date and time slot - Assign field teams to installations - Track pre-installation customer confirmation - Capture installation reports (charger serial, model, success status, demo sign-off) - Capture installation media (photos, videos) Dependencies ------------ - **surveys** — Installation is linked to an approved Survey (OneToOne) - **leads** — Back-reference to the originating lead - **accounts** — Field team assignment, Central Ops planner - **procurement** — Material allocation check - **emergency** — Triggered when assigned team is unavailable - **notifications** — Confirmation calls and reminders Key Models ---------- - **Installation** — Scheduled installation linked to a survey. Tracks material readiness, customer confirmation, demo completion. - **InstallationAssignment** — Links an installation to a field team. Supports primary and emergency backup. - **InstallationReport** — Post-installation record: charger serial number, model, success flag, customer signature, issues encountered. - **InstallationMedia** — Photos and videos of the completed installation. Status Lifecycle ---------------- .. code-block:: text planned → material_pending → material_ready → confirmed → in_progress → completed → report_submitted → closed Any state → rescheduled Any state → cancelled Business Rules -------------- - An installation can only be created from a survey with ``reviewed_approved`` status. - Installation cannot proceed to ``confirmed`` until ``material_ready`` is True. - Customer pre-installation confirmation is required before moving to ``in_progress``. - Installation report must include charger serial number and model. - Demo completion is tracked but not blocking for report submission. - Customer signature (digital or photo) is strongly recommended but not mandatory.