What you'll accomplish
Schedule a service appointment on an existing Work Order and assign a technician to it.
Prerequisites
- The Owner, Admin, Operations Manager, or Operations User
role. Scheduling requires the
appointments.createpermission. - An existing Work Order. If you don't have one yet, create it first: a Work Order is what an appointment gets scheduled against.
Steps
1. Open the Work Order
Open the Work Order you want to schedule. On its detail page, find the Schedule card (it shows a count badge once appointments exist).
2. Schedule the appointment
Click Schedule Appointment. In the drawer:
- Pick a Date (or, for a multi-day job, toggle Multi-day job and set a Start Date/End Date).
- Set a Start Time and Duration.
- Search and select one or more Technicians.
- Optionally add Scheduling Context: notes carried over from the Work Order.
- Toggle Create as Placeholder if you want to hold the slot without confirming it yet.
Click Schedule Appointment (the button reads Save as Placeholder if you toggled that on, or Schedule N Appointments / Save N Placeholders for a multi-day job).
3. Handle a double-booking warning
If a technician you select already has a conflict on that date, the drawer shows an inline warning next to their name (e.g. "Name has conflict on this date. Schedule anyway?"). This doesn't block scheduling: solarOS lets you double-book intentionally, but it makes sure you saw the conflict first. Submitting shows a separate warning toast for each technician you scheduled over a conflict.
Where it shows up
- The Dispatch Board (
/operations/dispatch), where scheduled and unscheduled work is triaged. - The assigned technician's Schedule tab in the technician app
(
/technician/schedule).
Verify it worked
- The appointment shows status
SCHEDULEDon the Work Order's Schedule card. - It appears on the Dispatch Board and on the assigned technician's
/technician/schedule.
Appointments move through this status lifecycle as work progresses:
SCHEDULED → DISPATCHED → EN_ROUTE → IN_PROGRESS →
COMPLETED/CANCELLED (or CANNOT_COMPLETE if the technician can't
finish).
Common problems
- You scheduled a technician who's already busy that day and didn't mean to. The drawer warns inline before you submit. If you missed it, open the appointment from the Schedule card and reassign or reschedule it.
- The technician doesn't see it on their schedule. Confirm you assigned
them (not just picked a date/time) and that the appointment status isn't
CANCELLED. - Search doesn't find the Work Order you expect. The Work Order search field only appears when scheduling isn't already scoped to a specific Work Order (e.g. from a calendar entry point): opening the drawer from a Work Order's own Schedule card skips that step entirely.