System & User Flows

Dispatch & Routing Workflow

The Dispatch Engine is a Go-based real-time routing system that automatically assigns the best available technician within seconds of a booking being confirmed. It combines geo-proximity, van inventory, ADAS certification, and technician utilization scoring.

Dispatch Target: Mean Time to Dispatch (MTTD) target: ≤ 8 minutes from booking confirmed to technician assigned and notified. Current performance: 4.2 min avg.

Dispatch Algorithm Flowchart

Loading diagram…

Technician Scoring Algorithm

// Technician Assignment Scoring (normalized 0–1)
score = (0.50 × distance_score)
+ (0.30 × utilization_score)
+ (0.20 × customer_rating_score)
// distance_score = 1 - (distance_km / max_radius_km)
// utilization_score = 1 - (jobs_today / max_daily_jobs)
// customer_rating_score = (technician_avg_rating - 1) / 4

Dispatch Escalation Ladder

ScenarioAuto ActionEscalationSLA
No tech in 15mi radiusExpand to 30mi, then 50miSlack alert to dispatcher if 50mi failsDispatcher responds in 5 min
Tech declines jobReassign to next-best candidateAfter 3 declines: escalate to dispatcher2 min per cycle
Part not in vanAdd parts pickup to route, add 30min buffer to ETAIf part not at any branch: ops alertParts ops resolves in 15 min
Morning peak overload (> 95% tech utilization)Offer 10% discount for afternoon slotsGM notified; temp tech pool activatedSame day

Real-Time GPS Tracking

Once a technician departs for an appointment, the customer tracking map activates:

  • Technician mobile app posts GPS coordinates to Redis Geo every 30 seconds
  • Customer sees live map with technician pin and updated ETA every 90 seconds
  • Automated SMS sent when tech is 15 minutes away
  • Automated SMS sent when tech arrives on-site
  • GPS tracking stops once work order status changes to in_progress