Assign a Work Order to a Technician
Assignment puts a technician on a work order, sets when they should arrive, and how long it's expected to take. Status auto-transitions from unassigned to pending the moment a technician is set and saved.
There are two paths: one work order at a time from its edit screen, or several at once from the Work Orders list using the bulk assign bar.
Before you start
- You have the
work_orders.supervisepermission. Without it, the Assignment card and bulk assign bar don't appear at all. Editors without supervise can still open work orders but can't change the technician. - The user you want to assign to has the Technician role. Only users with that role show up in the dropdown.
- The work order is in
unassignedorpendingstatus. Reassigning is fine —pendingwork orders can be moved to a different technician until the tech starts the job. Once status isongoingor beyond, change of technician is rare and usually means cancelling and recreating.
Steps
Assign one work order
-
Open the work order
Select Work Orders in the top navigation bar, then select the Edit action for the work order you want to assign.
-
Pick the technician
Open the Technician dropdown in the Assignment card on the right (it's a searchable list — start typing the name to filter). Default value is -- Unassigned --.
-
Set the due date
Fill in Due Date with the date and time you want the technician to arrive. This drives the technician's day-by-day job list in their app.
-
Set the estimated duration
Fill in Estimated Duration (hours). Half-hour increments. Defaults to the system default from Settings, typically
2. -
(Optional) Check availability
Select Check Availability to open the availability modal. It shows when each technician already has work scheduled around your chosen date and time, so you can avoid double-booking.
-
Save
Select the green Update Work Order button. Status auto-transitions from
unassignedtopendingand the technician sees the work order in their app.
Assign several work orders at once
Use this when the same technician has a batch of jobs the same day — typically right after converting a multi-unit quotation, or when you imported a maintenance batch.
-
Open the Work Orders list
Select Work Orders in the top navigation bar.
-
Select the work orders
Tick the checkbox at the start of each row, or use the Select all on this page checkbox at the top to grab the whole page. A blue N selected bar appears fixed at the bottom of the screen.
-
Open the assign dialog
Select the green Assign Technician button in the bottom bar. The Assign Technician modal opens with a count message: Assigning N work order(s). Each will be scheduled sequentially based on estimated duration.
-
Pick the technician
Use the Technician dropdown.
-
Set the start time
Fill in Start Date & Time. The first work order is scheduled here. The rest are scheduled in the order they appear in the list, each starting after the previous one's estimated duration.
-
Set the duration
Fill in Estimated Duration per WO (hours). The same value applies to every work order in the batch. Defaults to the system default.
-
(Optional) Check availability
Same modal as the single-WO flow.
-
Confirm
Select the green Assign button. Each selected work order is updated with the technician, its sequential due time, and the duration. The page reloads with a confirmation banner.
Bulk assign overwrites any existing technician, due date, and estimated duration on the selected work orders. There's no undo. If you need to assign different durations to different work orders, do them one at a time.
What happens next
- For every work order whose technician changed from null to a real value, status auto-transitions from
unassignedtopending. A status history row is created. - A
Pendingnotification or in-app alert may fire depending on your alert settings. - The technician sees the work order in their TuffOps Driver app under the day matching Due Date, sorted by time.
- The Status card on the work order edit screen now shows the Pending badge.
- Reassignment from one tech to another does not change status — it stays
pendingand the new tech inherits the existing due date. - If status was already
pendingand you only changed the due date or duration, status stayspending— only the schedule moves.
Common situations
| Situation | What to do |
|---|---|
| Same technician, four installs at one customer site | Convert the multi-unit quotation. Open the Work Orders list, filter by that customer, select all four, bulk-assign with 2 hours each starting at 9:00. They get 9:00, 11:00, 13:00, 15:00. |
| Need to reassign because a tech called in sick | Open each affected work order. Change the Technician dropdown and save. Status stays pending. The original technician loses it from their list, the new one sees it. |
| Want a tech to do them in a different order than the list | Bulk assign sequences by list order. Either re-sort the list before selecting (the index page supports sort), or assign individually with custom Due Date values. |
| Two techs on one job | Not supported — one work order has one technician. Either split into two work orders, or leave one technician and use Customer Requests to note the helper. |
| Tech doesn't appear in the dropdown | They don't have the Technician role, or they're soft-deleted. Check Settings → Users. |
Troubleshooting
The Assignment card isn't on the page.
You don't have the work_orders.supervise permission. Editors without supervise can read work orders but can't change the technician. Ask an admin to grant it under Settings → Users.
The Assign Technician button at the bottom of the list isn't there.
Same cause — work_orders.supervise is required for the bulk bar.
You see N work order(s) assigned. but nothing on screen changed.
The page didn't reload. Refresh — the technician column and status badges update on next load.
Bulk assign sequenced the work orders in the wrong order.
Sequence follows ID order ascending (oldest WO first). To control sequence, sort the list, deselect, and re-select in the order you want — or assign individually with explicit Due Date values.
Tech says the work order isn't in their app.
Three checks: (1) Status card shows Pending, not Unassigned. (2) Due Date is set and in the future, not the past. (3) The user you assigned is the same one logged into the Driver app.
Related
- Create a Work Order — get a work order to
unassignedso you can assign it. - Convert a Quotation to Work Orders — the most common source of multiple work orders ready for bulk assign.
- Start a Work Order on Site — what the technician does when they arrive.
- Work Order Lifecycle — full status diagram and per-role transition rules.