Multi-visit work orders
Some jobs take one trip. Others don't — a repair that gets diagnosed on the first visit and finished once a part arrives, or a project spread across several site days. Thermal handles that without splitting the job into separate work orders: one work order can carry several visits, each with its own time, technician, and status, while the job stays one record with one number, one line-item list, and one invoice at the end.
Add a visit
From a work order's Details tab, the Visits section lists every trip scheduled against the job. Click Add visit to schedule another one:
- Set a start time (required) and, optionally, an end — it defaults to a two-hour window if you leave it blank.
- Pick a technician, or leave it Unassigned to assign later.
- Submit. The new visit goes through the same placement checks as any other scheduling move (see Schedule and assign a job) — a warning asks you to confirm, a hard block stops it and explains why.
Add visit is hidden once a work order is completed, invoiced, or canceled — there's nothing left to add another trip to.
Reading the visit list
Each row shows the visit's date and time window, who's on it (a technician's name, a subcontractor's name, or Unassigned), and a status pill — Scheduled, Assigned, En Route, In Progress, Completed, or Canceled. That per-visit status is separate from the work order's own status at the top of the page.
The Assigned Technician card above the Visits section always targets the primary visit — the most relevant one still in progress, or, once everything's wrapped up, the most recent one. Reassigning from that card retargets the primary visit specifically; it doesn't touch the others. To change who's on a different visit, or to move just that one visit's time, do it from the dispatch board (drag its own card) rather than the work order page — the Visits list here is read-only aside from adding a new one.
How the work order's own status is decided
A multi-visit work order isn't Completed until every one of its non-canceled visits is. If one visit finishes while another is still scheduled, the job stays at whichever stage reflects the work still outstanding — it doesn't jump ahead just because the first trip went fine.
Signature capture happens per visit. Any mandatory completion checklist or inspection your shop requires only gets enforced on the visit that would actually close out the whole job — an intermediate visit (with open siblings still ahead of it) completes on its own signature alone, no checklist gate.
Canceling one visit vs. the whole job
Dragging a scheduled visit's card back to the Unscheduled column on the board cancels that visit and frees up the tech's slot — it doesn't touch any other visit on the same work order. Cancel Job, at the bottom of the work order's Details tab, is different: it closes the entire work order and can't be undone.
Schedule history
Every placement, reschedule, and override on a work order — across every one of its visits — is logged on the History tab, oldest to newest, with who made the change and why. That's the place to check when a multi-visit job's timeline looks off and you need to see exactly what moved and when.
Reference
- Visit and job status values — the full appointment and work-order status enums, generated straight from the product, are in Status & domain values.
- Who can reach Work Orders — Owners, Dispatchers, and Office users; not Technicians. See Roles & permissions.