Dispatch

Drive-time-aware route optimization

Stop sequencing jobs by zip code. Use real drive times so techs spend more of the day billable and less of it parked at red lights.

Colin LawlessColin LawlessCo-founder, CTO6 min readUpdated Apr 28, 2026
On this page

What route optimization actually does

Given today's job list and your tech roster, the optimizer assigns jobs to techs and sequences them to minimize total drive time across the day. It uses live traffic estimates, your service-area boundaries, and the time-windows you committed to customers.

It's a recommendation

The optimizer always proposes — your dispatcher approves. You can accept the full plan, swap two jobs, or override entirely. The plan re-checks itself if you change anything.

Enable it

  1. Open /scheduling → Optimization tab.
  2. Toggle on. Pick the daily run window (default 5pm — produces tomorrow's plan after today closes).
  3. Set the optimization goal: minimize drive time, maximize jobs/day, or balance the two.
  4. Save.

Add constraints

Constraints stop the optimizer from doing things that look efficient but break in the field.

  • Skill — "Only Mike can do gas line work" — lock skilled-only jobs to skilled techs.
  • Vehicle — "Truck 3 has the boom; the others don't" — bind heavy installs to specific trucks.
  • Time window — "Customer is home 9–noon" — keep promised arrival windows.
  • Tech home base — "Sue starts and ends at home" — let early/late shifts not double back to the shop.
json
{
  "techs": [
    { "id": "u_mike", "skills": ["gas", "hvac"], "vehicleId": "truck_2" },
    { "id": "u_sue", "skills": ["hvac"], "homeBase": { "lat": 42.93, "lng": -78.81 } }
  ],
  "jobs": [
    { "id": "j_001", "requires": ["gas"], "window": ["09:00", "12:00"] }
  ]
}

When to rerun

Reruns are cheap — trigger one any time the day changes meaningfully:

  • A new urgent job lands.
  • A tech calls out.
  • A job gets cancelled or rescheduled.
  • A job overruns by more than 30 minutes.

Measure the gain

Open /scheduling → Performance to see drive-time per job, jobs-per-tech-per-day, and on-time arrival rate. Compare the 30-day window before and after enabling optimization. Most shops see a 10–18% drop in drive time per job.

Fair warning

The biggest gain comes after your dispatcher trusts the recommendations. Plan on a 2-week tuning period where you accept ~70% of suggestions and override the rest. By week 3, override rate should drop under 20%.

Was this article helpful?

Keep going