ReferenceDispatch & scheduling

Dispatch

Open Dispatch in Thermal →

What it's for

Dispatch is the board your day runs on. Every job that needs a technician shows up here, and you move it onto a person and a time by dragging it. It is the one screen where the schedule, the technicians, and the unassigned pile are visible at the same time.

Reach it from Dispatch at the top of the sidebar, at /dispatch. It is the default landing screen for most dispatchers.

For the job-by-job walkthrough, see Read the dispatch board.

Tabs

Dispatch has no tabs. The board itself changes with the view and filter controls in the toolbar, covered below.

Panels and controls

  • Search covers job numbers, customers, and site names in one box — "Search jobs, customers…".
  • Branch filter starts on All branches. Narrowing to one branch hides every job and technician outside it, which is how a multi-branch shop keeps one location's board from swamping another's.
  • Phase filter starts on All phases and narrows the board to jobs on a single project phase.
  • The board is laid out as technicians down one axis and time across the other. Drag a job onto a technician's row to assign and schedule it in one move; drag it within the row to change the time.
  • Unassigned work sits alongside the board. Anything not yet on a technician stays here until it is dragged out.
  • Dispatch's toolbar and breadcrumb live in the app shell rather than on the page, so the board keeps the full height of the window.

Some moves are refused, and the board tells you why rather than failing quietly:

  • "Completed jobs can't be moved from the board." — finished work is history; reopen it from the work order if it really needs redoing.
  • "Move the job through In Progress before completing." — the status ladder is not skippable.
  • "Assign a technician first." — a job cannot be started with nobody on it.
  • "Schedule the staging delivery visit before assigning a technician." — a staging-and-delivery job needs its delivery visit on the calendar first.
  • "No branch to auto-assign." — mobile auto-assign needs a branch in scope.

Certification checks

When a job needs a certification the technician does not hold, the board stops the assignment and asks for a reason before it will proceed — "A reason is required to override a certification mismatch." The reason is recorded against the job, so an override is always traceable to a person and an explanation rather than being silently allowed.

What it accepts

FieldFormatRequiredRule
Scheduled timeA time on the boardYes, to scheduleRejected with "Invalid time." when it can't be read
Scheduled dateA date on the boardYes, to scheduleRejected with "Invalid date."
TechnicianOne of your techniciansYes, to assignRejected with "Not a valid technician."
Certification override reasonFree textOnly when overriding a mismatchBlank is refused; the prompt asks you to explain why the override is authorized

How to configure it

  • Business hours and defaults set the board's working day, so the visible time range and the shape of a normal shift follow your shop, not ours.
  • Automations settings decide which suggestions Dispatch offers and whether they apply on their own or wait for you. Every automated change is labelled and reversible.
  • Branches decide what the branch filter offers, and what a branch-scoped user sees at all.
  • Certifications on staff records are what the mismatch check reads.

Who can see it

This screen sits behind the Dispatch area.

Owners, office managers and dispatchers can open it. Technicians cannot — they work from the field app, which shows them their own jobs. The gate is checked on the server, not just hidden in the sidebar, so a direct link does not get around it.

The full role matrix is on Roles & permissions.

On this page