Open Questions ============== This section documents gaps, ambiguities, and potential issues identified in the business model that require clarification before or during implementation. Customer Flow Gaps ------------------ **1. Customer site readiness timeout** What happens if a customer is told their site needs electrical/civil work but never confirms readiness? Currently there is no timeout, escalation, or auto-cancellation mechanism defined. *Recommendation*: Define a configurable timeout (e.g., 30 days) after which the lead is auto-moved to ``on_hold`` with a notification to Central Ops. **2. No cancellation flow** The swimlane does not define a cancellation process. Key questions: - Can a customer cancel at any point? After survey? After materials are procured? - What are the financial implications? Is there a cancellation fee? - Who absorbs the cost of already-procured materials? - How is the OEM notified of cancellations? *Recommendation*: Define cancellation policies per stage with financial impact rules. **3. No rework / defect flow** What happens if the installed charger is defective or the installation has issues discovered after the customer starts using it? - Is there a warranty service flow? - Who handles the return visit — same team or a dedicated service team? - How is this tracked? New lead or linked to original? *Recommendation*: Add a ``service_request`` app or extend the installation app with a rework flow. **4. Customer portal scope** The swimlane shows all customer interaction as phone calls and document sharing. Questions: - Does the customer get a login to track their installation progress? - Can they upload documents themselves, or does Central Ops do it on their behalf? - Is there a mobile app or web portal for customers? *Recommendation*: V1 can be phone/SMS-based. Plan for a customer-facing status tracker in V2. SLA & Escalation ----------------- **5. No SLA definitions** There are no defined service level agreements for any transition: - Lead intake to first contact: ? - First contact to survey scheduled: ? - Survey to installation: ? - Installation to closure: ? - End-to-end lead to closure: ? *Recommendation*: Define SLAs per transition. Track compliance in the reporting module. Alert when approaching breach. **6. No escalation path** If Central Ops does not act on a lead, assign a survey, or review a report within a reasonable time, there is no escalation. No supervisor or manager role is defined. *Recommendation*: Add time-based escalation rules. Introduce a ``supervisor`` or ``admin`` role with visibility into aging items. **7. No performance monitoring** No KPIs are defined for Central Ops or Field Team performance: - Average time to first contact - Survey completion rate - Installation success rate - Customer satisfaction *Recommendation*: Add a performance dashboard with configurable KPIs. Financial Ambiguities --------------------- **8. Payout schedule selection criteria** The swimlane mentions "Per Job / Fortnightly / Monthly" payouts but does not specify: - Who decides the schedule for each team? - Can it change mid-contract? - Is it negotiated per team or standardized? *Recommendation*: Make it configurable per team via ``PaymentSchedule`` with change history. **9. No refund / dispute handling** What happens when: - A vendor payment is made but materials are defective? - A field team disputes the payout amount? - An OEM disputes the closure pack? *Recommendation*: Add dispute models with resolution workflows. **10. No cost tracking per installation** There is no model for tracking the total cost of an installation (materials + labor + logistics) against revenue. *Recommendation*: Add a ``cost_summary`` computed field or model per installation for profitability analysis. **11. No procurement budget approval** Local procurement has no defined approval threshold. Can a field team procure materials of any value? *Recommendation*: Add approval thresholds (e.g., auto-approve under 5000 INR, manual approval above). Operational Gaps ---------------- **12. No quality assurance step** After installation, there is no independent QA or inspection step. The same team that installs also reports success. *Recommendation*: Consider a random QA audit process where a separate team or Central Ops verifies a percentage of installations. **13. No warranty tracking** After installation, warranty management is undefined: - What is the warranty period? - Who is the warranty provider — OEM, installer, or ChargeSol? - How are warranty claims initiated and tracked? *Recommendation*: Add warranty tracking to the installation or a dedicated warranty module. **14. No multi-charger installations** The model assumes one charger per lead. What about: - Commercial installations with multiple chargers? - Customers upgrading or adding a second charger? *Recommendation*: Support multiple installations per lead, or allow leads to specify quantity. **15. No audit trail** There is no explicit audit trail requirement. For compliance and dispute resolution: - Who changed what and when? - Status change history with timestamps and actors *Recommendation*: Use ``django-auditlog`` or ``django-simple-history`` for automatic model change tracking. **16. No inventory return flow** If materials are allocated but the installation is cancelled, there is no defined process to return materials to stock. *Recommendation*: The ``returned`` status on ``MaterialAllocation`` exists but the workflow to trigger stock replenishment is undefined. Add an auto-restock signal. Technical / Integration ----------------------- **17. OEM integration format** The swimlane shows OEMs sharing leads, but: - Is it API-based, portal-based, or email/spreadsheet? - Different OEMs likely have different formats and requirements - Is there a webhook for lead status updates back to OEM? *Recommendation*: Define an OEM integration layer with configurable adapters per OEM. **18. No charger commissioning step** Modern EV chargers require cloud activation / commissioning after physical installation: - Pairing with charger management software (e.g., OCPP) - Network connectivity verification - Remote monitoring setup *Recommendation*: Add a commissioning step to the installation flow between ``completed`` and ``closed``. **19. No geographic routing logic** Team assignment is zone-based, but: - How are zones defined? By pin code, city, or custom boundaries? - Is there distance-based routing within a zone? - How is travel time factored into scheduling? *Recommendation*: Start with pin code-based zones. Plan for GPS-based routing in V2. **20. No document retention policy** Photos, videos, reports, and closure packs accumulate over time: - How long are they stored? - Is there a compliance requirement (e.g., 7 years for financial records)? - When can media be archived or deleted? *Recommendation*: Define retention policies per document type. Implement lifecycle management in storage layer. Reporting Gaps -------------- **21. Report format undefined** Weekly and monthly report formats are not specified: - What specific metrics does each OEM require? - Is the format standardized or OEM-specific? - PDF, Excel, or API response? *Recommendation*: Define a base report template. Allow OEM-specific customization via report configuration. **22. No real-time dashboard** There is no mention of live operational dashboards: - Central Ops needs: active leads, today's surveys/installations, pending reviews, emergencies - Finance needs: pending payments, upcoming payouts - Management needs: conversion funnel, regional performance *Recommendation*: Define dashboard requirements per role. Consider WebSocket for real-time updates. **23. Closure pack format varies by OEM** Different OEMs likely require different closure pack contents and formats. The current model assumes a single format. *Recommendation*: Add OEM-specific closure pack templates with configurable required fields and document checklist.