⚠︎ Set capacity targets before your team starts booking. Without targets, dispatchers have no way to gauge whether a day is overbooked or underbooked.
a. Go to Settings > Adaptive Capacity > Settings to define how capacity is calculated. Choose what Calculation Defaults are enabled, review advanced settings, and create strategic rules.
b. To view current capacity, go to Schedule > Capacity Reporting. Use Simple Mode for a quick weekly overview or Advanced Mode to drill into specific BUs, job types, and time slots. The report shows provided capacity vs. consumed capacity so you can see which days have open slots and which are at or over capacity.
⚠︎ Every job type must have a defined Default Duration (Settings > Operations > Job Types). If a job type has zero or blank duration, the capacity algorithm will massively overbook. This is the #1 misconfiguration in scheduling.
a. Adaptive Capacity is ServiceTitan's current capacity engine. It calculates real-time availability across business units, job types, technician shifts, zones, and skills. It replaces both legacy Schedule Assistant and Adjustable Capacity Planning.
b. When a customer calls to book, the CSR clicks Get Availability on the booking screen. The system shows available time slots filtered by the selected job type's required skills, the customer's zone, and technician eligibility. Slots that were previously unavailable may open as the schedule changes throughout the day.
c. To configure Adaptive Capacity rules, go to Settings > Adaptive Capacity > Settings. Here you can set calculation defaults, the availability threshold, and strategic rules for specific job types, days, or technician groups.
⚠︎ If your account uses Technician Shifts, every working technician must have a shift created. A technician without a shift contributes zero capacity — but jobs or non-job events assigned to them still deduct from the BU's total, creating phantom overbooking.
⚠︎ Tags used for skill-based routing must be at the location level, not the customer level. Customer-level tags do not auto-populate at booking, causing tag-based skill rules to silently fail.
a. Go to Schedule > Technician Shifts and select the shift you want to manage.
b. Adjust the start time, end time, or working hours for the selected day.
c. To set recurring availability patterns, go to Settings > Operations > Technician Capacity Planning and configure the default weekly schedule for each technician. Shifts are the operational layer (day-to-day); availability is the structural schedule (recurring patterns).
⚠︎ A technician without an active Shift does not exist to the dispatch algorithm. Use "On-Call" shifts for after-hours availability. There are three shift types: Normal, OnCall, and TimeOff.
a. Go to Schedule > Technician Shifts. Click on the shift and select Time Off.
b. Enter the date range, reason, and select a timesheet code, if applicable. Click Save.
c. The dispatch board automatically blocks the technician from being assigned jobs during their time off. Any existing jobs on those days will need to be reassigned.
⚠︎ Assign every active technician to at least one zone. Technicians without zones won't appear in zone-filtered dispatch views. Zones are BU-scoped — multi-BU tenants have separate zone configurations per BU, which affects capacity planning calculations.
a. Go to Settings > Operations > Zones and click Add.
b. Name the zone and define its boundaries by selecting ZIP codes and cities.
c. Assign technicians to the zone. Each technician can belong to multiple zones if they cover overlapping areas.
d. Click Save. The dispatch board now filters technicians by zone when scheduling jobs in that area.
⚠︎ Dispatch Pro relies on accurate Home Zones. If a technician moves, update their zone immediately — otherwise the algorithm calculates incorrect drive times.
⚠︎ Ensure each technician's home address is validated in their profile. Unvalidated addresses are excluded from GPS route optimization and the Map view in dispatching.
a. Go to Settings > Operations > Skills and click Add Skill to create the skills your team needs (e.g., HVAC Install, Plumbing Repair).
b. Open each technician's profile and go to the Skills dropdown. Check the skills that technician is qualified to perform.
c. Assign skills to job types as well (go to Settings > Operations > Job Types, open a job type, and assign required skills). When booking a job, Adaptive Capacity filters technicians to only those who hold all skills tied to the selected job type.
⚠︎ A technician must have ALL skills listed on a job type to be considered eligible. If no technician in a time window has the required skills, the window shows as unavailable in Get Adaptive Availability.
⚠︎ ServiceTitan must be the single source of truth for time. If hours are edited in QuickBooks but not ServiceTitan, job costing reports will show false profitability. All edits must happen in the Payroll Dashboard before export.
a. Go to Settings > Payroll, then edit the Timesheet Codes section. Time is tracked against timesheet codes linked to earnings codes that map ServiceTitan activities to your external payroll processor.
b. Create a timesheet code with name, code, earnings code, rate (if applicable), and employee-type visibility.
c. Click Save. Codes appear when technicians clock time in mobile.
a. On the Dispatch Board, click an open slot on a technician's timeline to create a Non-Job Event. Non-job events are separate from job appointments — they represent time blocks like meetings, training, or vehicle inspections.
b. Name the event, fill out the details, and set the time range.
c. When creating the event, select Include in scheduling and dispatching capacity (new Dispatch Board) or Needs a Timesheet (legacy Dispatch Board). This tells Adaptive Capacity to deduct this time from available capacity. Without this option, the event won't affect capacity calculations.
⚠︎ Non-job events are only accounted for by Adaptive Capacity if the correct option is selected when creating the event. If this is missed, the board will show the technician as available during the blocked time.
a. Go to Settings > Integrations > Alerts and verify that a Technician Unassigned alert is configured for the appropriate users or roles. This alert fires when a dispatcher unassigns a tech from a job without reassigning it.
b. Check the alert conditions — confirm the notification trigger is set correctly and hasn't been disabled. Alerts can be filtered by Business Unit or Job Type.
c. Verify the job is truly unassigned. Jobs with a technician pre-selected during booking won't trigger unassigned alerts even if they haven't been dispatched.