Dispatcher

Schedule and assign a job

Getting a job onto the calendar and getting the right person on it are really one motion — most of the time you're doing both in a single drag. This guide covers putting a job on the schedule, working with suggested assignments, running auto-assign across the whole backlog, and what happens when a placement needs a second look before it's allowed to stick.

The dispatch board, schedule view

Put a job on the schedule

Unscheduled work sits in its own lane (the unscheduled rail in Schedule view, or the Unscheduled column in Board view). To place it:

  • Drag the card onto a technician's row at the time you want, in either Day or Week view. Dropping it on a tech's row both schedules the time and assigns that tech in one move.
  • Drop it on a day without picking a technician (Week view) to schedule the time only — it stays unassigned until you pick someone.

A dropped job keeps a sensible window: moving an already-scheduled visit preserves its existing length, and a brand-new placement gets the shop's default job duration for that job type. There's no separate save step — the move takes effect as soon as you drop it.

Suggested assignments

An unassigned job on the board can carry a suggested technician — a name, a match percentage, and a short reason. Thermal builds this in two steps: first it narrows to technicians who hold every certification the job requires, then it scores that qualified pool on current workload, drive-time proximity to the job site, and — for a job tied to a service agreement — how high-value that agreement is. The reason line reflects whichever of those actually mattered: "Qualified · lightest load today", "Qualified · closest available · priority agreement", and so on.

  • Accept takes the suggestion as-is.
  • Change clears it and lets you pick someone else from the dropdown.
  • If nobody available holds the required certification, the board shows an amber "No qualified tech" note instead of a suggestion — assign it manually once you've sorted out coverage.

A suggestion is a proposal, not a done deal — nothing is assigned until you act on it.

Auto-assign all

Auto-assign all applies that same scoring to every open, unassigned job at once, so you don't have to accept suggestions one at a time on a busy morning. It's atomic — if something goes wrong partway through, nothing is half-assigned — and it deliberately excludes technicians currently on leave from the pool entirely (a manual assignment to someone on leave still goes through, with a warning; auto-assign just skips them).

When a placement needs a second look

Every time a job lands on the schedule — a fresh placement, a reschedule, a reassignment, or an added visit — Thermal checks it against a few rules before letting it stick. Some are hard stops; others are warnings you can choose to override:

Stops the placement (can't override)Reason
Closed jobThe work order is already completed, invoiced, or canceled.
Invalid technicianThe selected user isn't a technician in this shop.
Invalid timesThe visit's end time is before its start time.
Visit already doneThat specific visit is already completed or canceled.
Warns, lets you confirmReason
BackdatedThe visit is being scheduled in the past.
Double-bookedThe technician already has an overlapping appointment.
Outside hoursThe placement falls outside that technician's working hours.
Missing certificationThe technician doesn't hold a certification this job requires.
SLA breachThis placement lands past the job's guaranteed response window.
Customer already confirmedThe customer was already told about the original time — they'll need to be re-notified.

A warning shows you the reason and asks you to confirm — Schedule anyway applies the change and, if the customer had already been confirmed for the old time, offers a notify customer toggle so they hear about the new one. A hard stop just tells you why and changes nothing; there's no "confirm anyway" for those.

Self-dispatch claims

If your shop lets technicians claim open jobs from their own app, a claim shows up on the board as a pending request, not a done assignment — the tech tapping Claim only asks. Confirm is what actually assigns the visit; Reject sends it back to the pool. Nothing is assigned until you act on it, same as a suggested assignment.

Reference

  • Job and priority values — work-order statuses and priorities, generated straight from the product, are in Status & domain values.
  • Who can reach Dispatch — Owners, Dispatchers, and Office users; not Technicians. See Roles & permissions.

On this page