Find candidates
Find candidates is the human picker on an existing appointment: who is Recommended versus Unavailable for this slot. It does not invent a date. It is not Auto-Assign (which picks the first feasible person without showing the list).
Open from the appointment sheet or Dispatch assign flow. Permission dispatch.assign. Assign anyway needs dispatch.override_constraints and a reason.
The panel uses person-sheet chrome (cards, avatars). You assign people, not a Crew record.
What it checks
Section titled “What it checks”Typical feasibility: Regular or custom working hours, time off, overlapping visits, qualifications, service area as implemented.
| Signal | Typical effect |
|---|---|
| No Regular / custom hours that day | Outside hours — Unavailable |
| Approved time off / unavailable exception | Hard unavailable |
| Pending time-off request | Does not hide the technician |
| Overlapping Scheduled / In progress visit | Conflict |
| Missing required skills | Unavailable (or warning as configured) |
| Territory / home-base mismatch | Often a warning, not a hard block |
| Inactive technician | Cannot be overridden onto the slot |
vs capacity
Section titled “vs capacity”Capacity answers “how loaded is this person in the period?” Find candidates answers “can they take this appointment right now?” Remaining hours can be negative; that does not by itself block assignment.
vs public booking
Section titled “vs public booking”Public booking uses its own first-eligible picker and skips travel time. It does not open this UI.
Limitations
Section titled “Limitations”No live GPS ranking, no customer ETA, no bulk optimization, no AI ranking.
If nobody is Recommended: check Weekly hours, exceptions, time off, overlapping visits, and required skills — not GPS.
Related: Dispatch, Technicians.