Dispatch

Get the whole day on one board

The route board lays out every truck's day in one view. Auto-fill packs the gaps, a locked cell stays locked, and the priority order that decides who gets today's slot runs the same way every time.

Route Builder is the dispatcher's main screen: every truck, every day, one board. A job is a card; dragging it onto a truck and a day assigns it, auto-fill packs whatever capacity is left, and locking a cell keeps it from moving again once the plan is set. This is where the day actually gets built - not automated away, made fast to build by hand.

The route board

The board shows every truck as a column and every day as the row beneath it. Each job is a card carrying the customer, the service, and enough detail to place it without opening a second screen. Auto-fill looks at what capacity a truck has left for the day and offers jobs that fit, weighted by how long each job type actually takes rather than treated as identical stops - a longer job takes a bigger bite out of the day than a quick one, and the board accounts for that instead of just counting stops.

A cell can be locked once a dispatcher is satisfied with it. A locked cell survives auto-fill and rebalancing passes untouched, which is what makes it possible to firm up part of a week early and keep adjusting the rest around it.

The priority order

When a route needs to be rebuilt - a job dropped out, a truck went down, a new customer signed up - the board resolves conflicts in a fixed order, every time:

  1. A new customer keeps the day they were promised. Nothing bumps a first visit.
  2. A job that has already been pushed escalates. The more times a job has been pushed, the higher it climbs toward getting a firm slot.
  3. Everyone else gets rebalanced for even workload across trucks, then for total drive time, then to keep a customer's usual day of the week.

That order is fixed on purpose. A dispatcher should never have to guess why a job moved - the rule that moved it is always one of those three, and always in that order.

Holds, with reasons

A job can be pulled out of the route into a held state instead of just sitting on the board looking scheduled. A hold always carries a reason - a customer asked to reschedule, language in a message sounded like a cancellation, a technician flagged something on-site - so a held job never looks like a normal one that simply didn't get worked.

A hold also re-optimizes the route in real time. When a job drops out mid-morning, the remaining stops on that truck's day can reorder immediately rather than waiting for the office to notice and rebuild the plan by hand - a technician's next job can change on-device while they're still on the road.

Weighted capacity, not a stop count

A truck's day is not "however many stops fit." Each job type carries a weight that reflects how long it actually takes, and a truck's day fills against that weighted total instead of a raw stop count. A property flagged as unpredictable in duration, or a job known to run long, can be flagged so the board buffers around it instead of overpacking the day and running the truck late on everything after it.

Route lock and the re-notify rule

The route locks ahead of the reminder window, so a reminder message always describes the visit that is actually going to happen. Once a job is inside that window, moving it again requires an explicit re-notify step - the system will not let a route move silently out from under a customer who has already been told their day.

Linked jobs, one trip

When a customer has more than one service running at the same property, those services schedule as a single trip instead of splitting into separate visits on separate days. An ad-hoc or one-off request between regular visits can unlink from that group so it doesn't drag the whole group's schedule forward - and once it's unlinked, the next regular visit still lands on its normal cadence, not shifted by the extra stop.

This matters for route density as much as for the customer's convenience. Splitting one customer's services into separate trips means two stops, two drives, two blocks of windshield time for what could have been one visit - and it's exactly the kind of quiet inefficiency that adds up across a full week of routes without ever showing up as a single obvious problem.

Rebalancing without starting over

Re-optimizing a route does not mean tearing up the whole day. When the board rebalances, it works down the same priority order every time: even out the workload across trucks first, then reduce total drive time, then try to keep each customer on their usual day of the week - except a new customer, who keeps their promised day regardless of what rebalancing would otherwise prefer. A dispatcher rebuilding a week under pressure gets a predictable result, not a different answer depending on when they happened to click auto-fill.

Truck 1 - Ramirez
8:00 AM - Delgado residence
Quarterly panel clean
9:30 AM - Okafor property
Panel clean + window add-on
Auto-fill: 2 jobs suggested nearby
Truck 2 - Bishara
8:30 AM - Nguyen residence
New customer - promised day
10:15 AM - Whitfield property
Critter guard check
11:00 AM - Castillo property
Pushed once - escalated
Truck 3 - Vance
8:00 AM - Prescott property
Quarterly clean - locked
9:45 AM - Larkin property
Unpredictable duration - buffered

A dispatcher's day

The board is opened once in the morning, locked once the plan holds, and then watched for the holds and reschedules that arrive while trucks are already out. The steps below are the whole routine.

  1. Open the board and check anything that dropped into a held state overnight - a message with cancel language, a customer-requested reschedule, a technician flag from the day before.

  2. Run auto-fill against any truck with open capacity and review what it suggests before locking anything in.

  3. Lock cells for the day once satisfied, so nothing shifts by accident while the rest of the week is still being built.

  4. Watch for pushed jobs climbing the priority order and confirm they land on a truck today, not pushed again.

  5. Check any job flagged unpredictable-duration and confirm the buffer around it still makes sense given what's scheduled next.

  6. Send the day live and keep the board open for the reschedules and holds that come in while trucks are already out.

Frequently asked questions

Why did a recurring job get rescheduled to a random time instead of staying on its slot?

It should not look random. When a route gets rebuilt, the priority order runs the same way every time: a new customer keeps the day they were promised, a job that has already been pushed once escalates ahead of everything else, and only after both of those does the system rebalance the rest for even workload and drive time. If a move looks arbitrary, it is worth checking which of those three rules put it there - the rule is always visible, not hidden inside a black box.

How do I stop the software from recommending a route that isn't actually the best one?

Auto-fill is a starting point, not a final answer. A dispatcher can drag any job to a different truck or day by hand, and a locked cell will not move again during the same auto-fill pass, even a bad one. The board is built to be overridden quickly, not argued with.

Can I lock a route so scheduling changes don't quietly move a technician's day around?

Yes. Locking a cell holds that job in place through any later auto-fill or rebalance. Once a customer is inside the reminder window, the route locks automatically and moving that job requires an explicit re-notify step - it cannot happen silently.

Can a dispatcher merge two duplicate customer records without losing job history?

This is not built yet. It is a known gap, not a hidden one, and it is the kind of thing we would rather say plainly than pretend the current build handles.

Can I block out a technician's day without breaking the whole week's schedule?

Not decided yet for v1. Today a hold pulls a specific job into review with a reason attached; a standing day-level block for a technician is on the list to design, not something already shipped.

Make it your best route day yet

Request a demo