System & User Flows
Quote & Booking Flow
Quick search…⌘K
The quote-to-booking flow is the primary customer acquisition journey. It converts an anonymous website visitor into a confirmed, paid appointment in under 3 minutes. The entire flow is designed for zero phone calls — all information is captured digitally.
Flow Goal: Quote-to-booking conversion target: ≥ 35% of sessions that generate a quote should result in a confirmed booking within 24 hours.
End-to-End Sequence Diagram
Loading diagram…
Booking State Machine
Every booking passes through a well-defined set of states. Invalid state transitions are rejected by the Booking Service.
Loading diagram…
Flow Steps Reference
| Step | Actor | System Action | Duration |
|---|---|---|---|
| 1. VIN Entry | Customer | VIN decoded via NHTSA + DataOne; ADAS flags extracted | < 1.5 sec |
| 2. Quote Generation | Quote Engine | NAGS lookup → price formula → validation → quote stored | < 2 sec |
| 3. Slot Selection | Customer | Available 2-hour appointment windows shown for next 14 days | Customer input |
| 4. Payment Pre-auth | Payment Service | Stripe creates PaymentIntent; card pre-authorized (not captured) | < 1.5 sec |
| 5. Tech Assignment | Dispatch Engine | Nearest AGSC-certified (ADAS-capable if required) tech assigned; van stock verified | < 5 sec |
| 6. Confirmation | Notification Service | SMS + email sent; calendar invite attached to email | < 10 sec |
Edge Cases & Handling
| Edge Case | System Response |
|---|---|
| VIN not decodable (salvage / custom vehicle) | Manual entry fallback: year/make/model dropdowns; no ADAS auto-detection; ops notified |
| No NAGS part number found | Quote flagged as "custom order"; Ops team contacts customer within 2 hours with custom price |
| No available technicians in ZIP for next 14 days | Customer offered wait-list or nearest alternate branch; 10% discount offered for 15+ day slots |
| Payment pre-auth fails | Customer prompted to update payment method; booking held for 15 minutes |
| Selected slot taken concurrently (race condition) | Optimistic locking via Redis; customer shown next 3 available slots with pre-fill |