Use case

Dispatch scheduling that still thinks like your best dispatcher

Automating dispatch and field scheduling means deciding, before a technician ever starts the truck, who goes where, with which parts already loaded, and what happens to the rest of the day when one job runs long or an emergency call comes in. Handled manually, that decision lives in one dispatcher's head, which works fine right up until that person is out sick, on the phone with an angry customer, or trying to hold six moving variables at once during the Monday morning rush. A custom AI system can hold the same constraints a good dispatcher holds — skills, parts, drive time, promise windows — and put forward a strong recommendation, not a decision made without them.

· Reviewed by Artur Horimoto, Founder & CEO

The job: the right person, with the right parts, at the right place

Strip the job down to its actual shape and it's this: the right person, with the right parts, arrives at the right place, without a dispatcher holding the whole day in their head. That's a harder problem than it sounds, because none of those three conditions is fixed. "Right person" depends on what the job needs, not just who's free. "Right parts" depends on a stockroom or a truck inventory that may or may not match what's actually in the van. "Right place" has to account for how long it genuinely takes to get there, not how long it looks on a map.

This is a different problem from booking a slot in a calendar. Appointment scheduling is largely about time — finding a moment when a person and a resource are both free. Dispatch scheduling is about physical reality: people who can't be in two places, vehicles that carry a finite set of parts, and a city that behaves differently at 8 a.m. than it does at 3 p.m. A calendar can tell you a slot is open. It can't tell you whether the technician with that slot open is certified for the job, has the part in the truck, or can physically get there from where the last job left off.

The manual way vs. the automated way

The manual version usually runs through one or two people who have done this long enough to hold the constraints in their head — who's good at what, which customer is difficult, how the routes actually run once traffic hits. It works, until it doesn't: a sick day, a busy morning, or a dispatcher new enough that the tribal knowledge hasn't transferred yet, and the whole system's accuracy drops with it.

The automated version checks the same constraints every time, for every job, whether it's the first assignment of the day or the fortieth: who's actually qualified, what's in the truck, how long the drive really takes from the last stop, and what the customer was already promised. It proposes an assignment rather than guessing at one, and it does it in seconds instead of however long it takes a busy person to think it through between phone calls.

Manual Automated
Skills matching Whoever the dispatcher remembers is qualified Checked against certifications and job history every time
Travel time Estimated from memory or a map's straight-line guess Calculated from the technician's actual last stop
Parts availability Assumed until someone opens the job and finds out otherwise Checked against truck and stockroom inventory before the job is assigned
Emergency insertion Manual reshuffle of the whole day's plan Re-optimized against the same constraints, not just the next open gap
Promise windows Honored if the day goes to plan Checked against real-time position before a window is confirmed

What actually makes a dispatch day hard

A schedule that looks clean on a whiteboard can still fall apart the moment it meets a real day. Five things are usually why.

Not every technician can do every job

Skills and certification aren't a nice-to-have filter — they're the first constraint that narrows the field before availability even matters. A technician who's free at 10 a.m. is irrelevant if they're not certified for the equipment on that job, or if the last time they touched that type of work was a training session a year ago. A dispatcher who knows the team well filters this instinctively. A system doing the same job has to have that same certification and skill data attached to every job type and every person, kept current as people get trained, recertified, or specialize.

Travel time is a cost, not an afterthought

It's tempting to treat drive time as a rounding error between real work. It isn't. A job that looks like the closest available slot on a schedule can still mean forty minutes in traffic that eats the buffer meant for the next appointment, which pushes the one after that, and by early afternoon every promise window on the board is wrong. Real travel time — not straight-line distance, not an optimistic average — has to be part of what "available" means, calculated from where a technician actually is after their last job, not from a static territory map.

Parts availability quietly decides whether a job can happen at all

A technician can have the right skills, be perfectly on time, and still fail the job if the part in the van doesn't match what the job needs. This is one of the most common ways a "successful" dispatch turns into a second visit: nobody checked that the part assumed to be on the truck was actually there. Parts availability isn't a detail to sort out after the technician arrives — it has to be checked, against real inventory, before the job is ever assigned to that person's route.

The emergency that reshuffles a settled day

Every field operation eventually gets the call that can't wait — a burst pipe, a down system, a safety issue. Fitting it in isn't just finding a gap; it means deciding whose day gets disrupted, whether nearby jobs can absorb a short delay without breaking their own promise windows, and whether the technician being pulled in is actually the right one for an emergency rather than just the nearest one. A dispatcher does this by feel, weighing who can absorb the hit. A system doing it well has to re-run the same constraints — skills, parts, travel, promises — against the whole remaining day, not just slot the emergency into the next open gap and hope the rest holds.

Promise windows have to survive contact with reality

A two-hour arrival window sounds simple until the ninth job of the day is running behind and nobody has told the customer at the end of the chain. Promise windows are commitments made early in the day against conditions that are still theoretical — no traffic yet, no callbacks yet, no emergency yet. Holding them means watching how the day is actually unfolding and warning a customer the moment a window is at risk, not at the moment it's already been missed.

The human factor: why this supports a dispatcher instead of replacing one

Be honest about what a good dispatcher actually knows, because most of it isn't in any system. They know this customer is difficult and needs a technician with patience, not just the right certification. They know one tech prefers morning starts and does sharper work before lunch. They know the route through the center of town turns to a crawl after three in the afternoon in a way no traffic API fully captures. None of that lives in a spreadsheet, and a system that pretends otherwise will make confident, wrong calls.

That's why the practical build isn't a system that assigns jobs on its own and expects the dispatcher to live with the result. It's one that does the constraint-checking — skills, parts, travel, promise windows — faster and more consistently than a person can under pressure, and then hands over a strong recommendation the dispatcher can accept with one click or overrule when they know something the system doesn't. This is the human-in-the-loop approach in practice: the system does the arithmetic, the person keeps the judgment calls that were never really data problems in the first place. A dispatcher using it well should feel like they have a sharp assistant doing the constraint-checking grunt work, not like they've been handed a black box to babysit.

How a build actually works

A build like this starts by making the constraints explicit — the ones a good dispatcher already applies but nobody has written down. Which certifications map to which job types. How travel time should actually be estimated for your service area. What counts as an emergency versus something that can wait for tomorrow's schedule. What the promise window commitment actually means for your business. That conversation, with the people who dispatch well today, is the real foundation — not a generic routing algorithm bolted onto your calendar.

From there, the system reads new jobs as they arrive, checks them against live technician position, skill records, and parts inventory, and proposes an assignment with the reasoning attached — not just a name, but why that person, and what the system checked to get there. A dispatcher can accept it in one motion or override it when they know something the system doesn't, like a customer who specifically asked for someone they trust. When an emergency comes in, the same logic re-runs against the whole remaining day rather than just finding the next open slot. As jobs run ahead or behind, promise windows get checked against real position, and customers get a heads-up before a window breaks rather than after.

What it connects to

  • Your dispatch or field service platform, read for the day's job list and written back to with confirmed assignments, so the board stays the single source of truth.
  • Technician records, covering certifications, skills, and current or recent position, so assignment checks reflect who someone actually is today, not a role they held a year ago.
  • Parts and inventory systems, whether that's a stockroom system, a per-truck inventory log, or both, so a job is never assigned assuming a part that isn't actually available.
  • Routing and mapping data, for travel time estimated from a technician's real last stop rather than a fixed territory assumption.
  • Whatever channel customers use to reach you — phone, text, a booking form — so an emergency call gets read and factored into the day immediately instead of waiting for someone to notice it.

Field operations that also handle a high volume of "where's my technician" calls once a job is underway often pair this with order and job-status automation, so a promise-window update reaches the customer before they pick up the phone to ask. And because dispatch sits inside the broader discipline of turning written-down operational rules into a system that runs them consistently, it's worth seeing how this fits into wider workflow automation work, and how the same constraint-based thinking shows up across logistics operations more broadly.

Frequently asked questions

How is this different from routing software that just shows open technician slots?

Most routing tools optimize a route once technicians and jobs are already assigned. They don't decide who should get the job in the first place — that still depends on checking skills, parts, and real travel time before assignment, which is the harder and more valuable half of the problem. What we build handles that assignment decision, not just the driving order afterward.

Will it ever assign the wrong technician?

Sometimes, yes — no dispatcher, human or automated, gets every call right, especially on judgment calls that were never written down anywhere, like which customer needs a particular technician's temperament. That's why the system proposes an assignment for a dispatcher to confirm or override rather than committing it silently, so a wrong call costs a click to fix, not a missed job.

How long does a build like this take to go live?

Most dispatch systems are in production within weeks. We typically start with one job type or one region, prove the constraint logic — skills, parts, travel — against real assignments, and expand into emergency handling and promise-window monitoring once the first piece is holding up.

Does it work with our existing field service or dispatch software?

In most cases, yes. We connect directly to platforms that expose an API for jobs, technicians, and inventory, and build a workable route in for older systems that don't cleanly offer one. Bring us what your team currently dispatches from and we'll tell you plainly what's involved.

What does it cost?

It depends on how many constraints the system needs to check and how many systems — dispatch, inventory, routing — it needs to connect to. A single-region build checking skills and travel time sits at the lower end; a build spanning multiple depots, live parts inventory, and emergency re-optimization sits higher. Every engagement gets a clear price agreed before any build work starts.

Bring us the dispatch board that's currently living in one person's head, or the promise windows that keep breaking once the day gets busy. In a free 30-minute strategy call we'll tell you honestly whether an automated dispatch system fits your operation, and what it would take to build.

Automate this job

Walk us through how it works today. We will map the build and give you a clear price before anything starts.

Free 30 minutes. No pitch deck. You leave with a plan either way.