Work-order lifecycle
A work order has five possible statuses. The normal flow:
SCHEDULED → IN_PROGRESS → COMPLETED → CLOSED
Plus one exception state — Customer Not Present — reachable from Scheduled or In Progress when a visit can't go ahead.
There are no "On Hold" or "Cancelled" statuses for work orders. (Projects have their own ON_HOLD / CANCELLED states, but individual work orders do not.)
Scheduled
The default state for a newly-created order. The customer expects the technician at the scheduled time. The customer portal shows "Scheduled for [date]" and the technician's name. You can edit anything on a scheduled order without restriction.
In Progress
The technician has started the job. The mobile app moves the order here when the tech taps Start work. The customer portal shows "In progress". Time tracking starts here (if your plan includes mobile time tracking).
Customer Not Present
The technician arrived at the scheduled time and date but no one was available (no-show, locked gate, wrong code). Mark this from the order detail page with the → Customer Not Present button while the order is Scheduled or In Progress.
- The customer portal shows "Missed visit" with: "Our technician visited on [date/time] but no one was available. Please contact us to arrange a new time."
- The order drops off the active Dispatch Board lanes so it doesn't clutter today's queue.
- There is no automatic reschedule — this status only records what happened. When the customer gets back in touch, move the order to In Progress (if they're available now) or Closed (to write it off). Any new date is set manually on the order, not by a reschedule workflow.
Completed
The technician finished the work. From the mobile app: Complete work → optional photo upload → optional customer signature → tap Done. The customer portal updates to "Completed" and shows the photos and signature. A completed order can be invoiced in one click.
Closed
The administrative end-state: the order has been invoiced / reconciled and is archived out of the active queue. Closed orders stay fully readable but drop off the default Dispatch Board and Scheduler views.
Customising statuses
Work-order statuses are fixed — you can't rename or add to the four above. However, task statuses and part statuses (the sub-items inside a work order) ARE customisable under Settings → Field Service. Defaults: tasks use PENDING / IN_PROGRESS / COMPLETED / SKIPPED / FAILED; parts use PENDING / ORDERED / RECEIVED / INSTALLED / RETURNED.
What happens when you change status
Every status change is recorded in the work order's audit timeline (bottom of the WO detail page). Customer portals refresh accordingly. If you've set up a rule under /platform/rules keyed to status events, it fires.