A good dispatch board answers three questions in under a second: who is free, who is late, and who can't take this job. The TradesWork board is built around those questions. Every technician gets a lane on an hourly timeline, the header shows hours booked against hours available, and every drag runs the same checks a careful dispatcher would run in their head: skills, certifications, overlaps, time off and board hours.
What's on the board
The board follows the layout most dispatchers already know: a header with the day and capacity, a technician timeline, job list tabs under it, a map, and an activity rail on the right.
Each lane shows a technician's name, a status dot and their booked hours against bookable hours. The status dot is derived, not typed in: a paused job makes the technician "On hold", an appointment in progress makes them "Working", then "En route", then "Available" if they're clocked in or have work left, then "Clocked out" or "Off". Without timesheet data, a finished day reads "Off", never a guessed clock-out.
Appointment blocks carry the arrival window, the job number and summary, and a color by status. A helper badge marks second technicians. Overlaps get their own marker, and so does a block whose technician lacks a required skill, so a glance at the grid tells you where the problems are.
Under the timeline, the job list has eight tabs: Unassigned, Scheduled, Dispatched, Working, Completed, Hold, Canceled and Future. A paused job lives under Hold only, so it doesn't get counted twice. Rows can be dragged from the list onto a technician and time.
Checks that run when you drop a job
The board treats some mistakes as warnings and some as rules. The difference matters, because dispatchers override warnings all day for good reasons.
| Situation | What the board does |
|---|---|
| Technician lacks a skill the job type requires | Warns, names the missing skill, lets you proceed |
| Matching certification has expired | Refuses the assignment |
| Appointment overlaps another on the same lane | Marks the overlap |
| Start time outside board hours | Warns "Starts outside board hours" |
| Technician has an event (training, meeting, vehicle service) | Blocks like time off |
| Technician has no bookable hours set | Says so on the lane |
| Drop outside the board | Nothing changes, and it tells you |
If the server can't be reached when you drop, the move is undone on screen and you get a message, rather than a board that looks right and isn't. Moves come with an Undo in the confirmation, so a wrong drop is one click to reverse.
Picking the right technician
Click Suggest on a job and the board ranks every technician for that job and time. Each one comes with short reasons: skills and certifications, zone and business unit, whether they're working then and free, how loaded their day already is, and the drive time.
Drive time starts from the best position available. For today, and for people allowed to see the fleet, that's the truck's live position if it's under 30 minutes old. Otherwise it's the previous job on that technician's day, then their home base. If you've connected a routing provider (openrouteservice1 with an API key, or your own OSRM server2), drive times are real road estimates. If not, TradesWork uses a straight-line estimate with a detour factor and says "Drive times are straight-line estimates (no routing provider connected)" right on screen. You never get a precise-looking number that's really a guess.
Crews, multi-day jobs and events
Installs and big repairs rarely fit one technician and one day. On the board you can:
- Build a crew. Pick several technicians for one appointment; the first picked leads. Everyone on the crew sees the same block.
- Plan multi-day work. Set days in a row and hours on site per day, and the job lands as a group of visits.
- Block non-job time. Events cover meetings, training, vehicle service and permit inspections. People on an event can't be booked then, and it shows on their row.
Member maintenance visits have their own view, Recurring Visits, which groups visits due in the next two months by zone or ZIP area so you can book a cluster on a day a truck is already nearby.
Filling gaps with move-up offers
Cancellations and early finishes leave holes. Move-up turns those holes into booked work without a round of phone calls.
- 1
Tag the customer
On any scheduled visit, tag "wants earlier": any earlier time, earlier the same day, or no sooner than a number of days out.
- 2
Time opens
A cancellation, a technician finishing early, or an opening you mark by hand creates an offer listing the eligible customers.
- 3
Texts go out
Automatically or with one tap. Never during quiet hours, never to opted-out numbers.
- 4
First YES books it
The reply is checked against live capacity before booking. Everyone else who answers is told the slot is taken.
ServiceTitan added a similar feature in 2026. Its Release Hub describes it as a private preview that now works for any Voice Agent account and runs off job tags mapped to rescheduling windows.3
Route comparison for one technician
When a technician has several stops left, Optimize route proposes a shorter order. You see the drive minutes before and after, and which stops move. The arrival windows stay the same set: the customers whose stops move get a different window from that set, and the board reminds you to let them know. Nothing changes until you approve, and a proposal goes stale if any of those stops changed in the meantime.
For the whole board at once, with goals like least driving or keep every promise, see the AI dispatcher.
Working the board fast
Dispatchers live on this screen, so it's built for speed:
- Keyboard: left and right arrows change the day, T jumps to today, Space picks up and drops a block, Enter opens details. Keyboard drags move a quarter hour or one row per arrow press.
- Work streams: each dispatcher can pick which work they're handling this shift and focus the board on it.
- Queue sort: sort unscheduled jobs by priority, age or value.
- Capacity strip: a 7-day view of open hours above the board, for CSRs promising windows.
- Branches: multi-location companies switch branch from the same screen.
How to roll it out
Most shops get value in the first week if they set it up in this order:
- Add technicians with bookable hours and home bases. The board needs hours to show capacity and a starting point to estimate drives.
- Set required skills on your riskiest job types and enter certifications with expiry dates.
- Set default durations on job types. A blank duration makes every capacity number wrong.
- Run one week with the activity rail open and alerts on. Note how many "running late" alerts turn out to be real.
- Turn on move-up for one tag ("any earlier") before adding more.
Where the board isn't the right tool
The board is for scheduled service and install work. It doesn't do route-day scheduling for lawn, pest or pool routes, and it won't replace a project schedule for construction. On a phone it's a list, not a grid. And if you need a hard rule like "never more than 40 minutes between jobs", the board itself won't enforce it; the AI dispatcher's "stay near base" rule is the closest thing today.
ServiceTitan's Dispatch Pro, by its own help article, never exceeds a configured maximum drive time and only works with managed technicians.4 If a hard drive-time ceiling is central to how you dispatch, weigh that.
Footnotes
-
openrouteservice, routing and directions API. https://openrouteservice.org/ ↩
-
Project OSRM, Open Source Routing Machine. https://project-osrm.org/ ↩
-
ServiceTitan Release Hub, "Fill schedule gaps with Appointment Move Up." https://help.servicetitan.com/release-hub/docs/fill-schedule-gaps-with-appointment-move-up ↩
-
ServiceTitan help center, "Dispatch Pro overview." https://help.servicetitan.com/docs/dispatch-pro-overview ↩
