---
title: "Plan Your Team's Capacity"
slug: "plan-your-teams-capacity"
updated: 2026-05-11T16:45:35Z
published: 2026-05-11T16:45:35Z
---

> ## Documentation Index
> Fetch the complete documentation index at: https://help.servicetitan.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Plan Your Team's Capacity

<editor360-custom-block data-preprocessing="true" data-sanitizationtags="b,svg,polyline,style"><div class="sc" style="max-width:960px;margin:0 auto;padding:0 0 3rem;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;color:#1a1a1a"><div style="border-radius:12px;overflow:hidden;background:linear-gradient(135deg,#0d1b35 0%,#162a4a 60%,#0f2040 100%);padding:32px 32px 28px;margin:0 0 16px;border-top:3px solid #3892F3;position:relative;"><div style="position:absolute;top:-60px;right:-60px;width:320px;height:320px;background:radial-gradient(circle,rgba(2,101,220,0.18) 0%,transparent 70%);pointer-events:none;"></div><div style="position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,0.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.02) 1px,transparent 1px);background-size:32px 32px;pointer-events:none;border-radius:12px;"></div><div style="position:relative;display:inline-flex;align-items:center;gap:6px;padding:4px 14px;border-radius:20px;background:rgba(2,101,220,0.18);border:1px solid rgba(56,146,243,0.4);margin:0 0 16px"><span class="hb">SERVICETITAN · DISPATCH &amp; SCHEDULING</span></div><div style="position:relative;font-size:24px;font-weight:800;color:#ffffff;line-height:1.25;margin:0 0 10px;max-width:520px;letter-spacing:-0.01em">Plan Your Team's Capacity</div><p style="position:relative;font-size:13.5px;color:#B5DEFF;margin:0;line-height:1.65;max-width:540px;opacity:0.85">Balance workload across your team. Plan daily capacity, manage shifts, and configure technician settings so the right person shows up at the right time.</p></div><input type="checkbox" id="c-dispro" style="position:absolute;opacity:0;pointer-events:none;width:0;height:0"><div id="filter-bar" style="background:#f8fafb;border:0.5px solid #DFE0E1;border-radius:10px;padding:10px 14px;margin:0 0 8px"><div style="display:flex;align-items:center;gap:6px;flex-wrap:wrap"><span style="font-size:11px;font-weight:700;color:#374151">I also use:</span><label for="c-dispro" style="font-size:11.5px;font-weight:600;padding:3px 10px;border-radius:14px;cursor:pointer;border:1px solid #D0D8DD;background:#fff;color:#374151">Dispatch Pro</label></div></div><div style="display:flex;align-items:center;gap:8px;margin:0 0 16px;flex-wrap:wrap"><span style="font-size:11px;color:#6A7A85;font-weight:500">Jump to:</span><a href="/docs/plan-your-teams-capacity#p1" class="jp" rel="noopener">Plan &amp; Schedule Capacity </a><a href="/docs/plan-your-teams-capacity#p2" class="jp" rel="noopener">Configure Your Team &amp; Optimize Your Dispatch Board </a><a href="/docs/plan-your-teams-capacity#p3" class="jp" rel="noopener">Troubleshoot Capacity Issues </a><a href="/docs/plan-your-teams-capacity#kpi" class="jp" rel="noopener">Measure Impact </a></div><div id="p1" style="margin:20px 0 8px;padding:10px 14px;background:#E3FCFF;border-radius:8px;border-left:4px solid #038299"><div style="font-size:14px;font-weight:700;color:#038299">Plan &amp; Schedule Capacity</div></div><div style="display:flex;flex-direction:column;gap:6px"><div class="st" style="border:1px solid #D0D8DD;border-radius:8px;padding:10px 14px"><div style="display:flex;align-items:flex-start;gap:10px"><div class="sn" style="min-width:24px;height:24px;border-radius:6px;background:#E3FCFF;color:#038299;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0"></div><div style="flex:1"><div style="font-size:13.5px;font-weight:600;color:#1a1a1a;margin:0 0 1px">Plan how many jobs to book each day</div><div style="padding:5px 10px;background:#EAEFF2;border-left:3px solid #8C9CA5;border-radius:6px;margin:4px 0 4px"><p style="font-size:12px;color:#4B5563;margin:0;line-height:1.5">⚠︎ Set capacity targets before your team starts booking. Without targets, dispatchers have no way to gauge whether a day is overbooked or underbooked.</p></div><div style="font-size:13px;color:#374151;line-height:1.7;margin:6px 0 0;padding-left:1em"><p style="margin:0 0 2px"><b>a.</b> Go to <b>Settings</b> &gt; <b>Adaptive Capacity</b> &gt; <b>Settings</b> to define how capacity is calculated. Choose what Calculation Defaults are enabled, review advanced settings, and create strategic rules.</p><p style="margin:0 0 2px"><b>b.</b> To view current capacity, go to <b>Schedule</b> &gt; <b>Capacity Reporting</b>. 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.</p><div style="padding:5px 10px;background:#EAEFF2;border-left:3px solid #8C9CA5;border-radius:6px;margin:4px 0 4px"><p style="font-size:12px;color:#4B5563;margin:0;line-height:1.5">⚠︎ Every job type must have a defined Default Duration (<b>Settings</b> &gt; <b>Operations</b> &gt; <b>Job Types</b>). If a job type has zero or blank duration, the capacity algorithm will massively overbook. This is the #1 misconfiguration in scheduling.</p></div></div><div style="margin:6px 0 0;padding-top:5px;border-top:1px solid #DFE0E1"><a href="/v1/docs/capacity-planning" target="_self" translate="no" class="sl" rel="noopener"><u>Adaptive Capacity Home</u></a></div></div></div></div><div class="st" style="border:1px solid #D0D8DD;border-radius:8px;padding:10px 14px"><div style="display:flex;align-items:flex-start;gap:10px"><div class="sn" style="min-width:24px;height:24px;border-radius:6px;background:#E3FCFF;color:#038299;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0"></div><div style="flex:1"><div style="font-size:13.5px;font-weight:600;color:#1a1a1a;margin:0 0 1px">Use Adaptive Capacity to fill your schedule</div><div style="font-size:13px;color:#374151;line-height:1.7;margin:6px 0 0;padding-left:1em"><p style="margin:0 0 2px"><b>a.</b> 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.</p><p style="margin:0 0 2px"><b>b.</b> When a customer calls to book, the CSR clicks <b>Get Availability</b> 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.</p><p style="margin:0 0 2px"><b>c.</b> To configure Adaptive Capacity rules, go to <b>Settings</b> &gt; <b>Adaptive Capacity</b> &gt; <b>Settings</b>. Here you can set calculation defaults, the availability threshold, and strategic rules for specific job types, days, or technician groups.</p><div style="padding:5px 10px;background:#EAEFF2;border-left:3px solid #8C9CA5;border-radius:6px;margin:4px 0 4px"><p style="font-size:12px;color:#4B5563;margin:0;line-height:1.5">⚠︎ 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.</p></div><div style="padding:5px 10px;background:#EAEFF2;border-left:3px solid #8C9CA5;border-radius:6px;margin:4px 0 4px"><p style="font-size:12px;color:#4B5563;margin:0;line-height:1.5">⚠︎ 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.</p></div></div><div style="margin:6px 0 0;padding-top:5px;border-top:1px solid #DFE0E1"><a href="/v1/docs/capacity-planning" target="_self" translate="no" class="sl" rel="noopener"><u>Adaptive Capacity Home</u></a><a href="/v1/docs/adaptive-capacity-basic-setup" target="_self" translate="no" class="sl" rel="noopener"><u>Adaptive Capacity: Basic setup</u></a></div></div></div></div><div class="st" style="border:1px solid #D0D8DD;border-radius:8px;padding:10px 14px"><div style="display:flex;align-items:flex-start;gap:10px"><div class="sn" style="min-width:24px;height:24px;border-radius:6px;background:#E3FCFF;color:#038299;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0"></div><div style="flex:1"><div style="font-size:13.5px;font-weight:600;color:#1a1a1a;margin:0 0 1px">Manage your technicians' shifts</div><div style="font-size:13px;color:#374151;line-height:1.7;margin:6px 0 0;padding-left:1em"><p style="margin:0 0 2px"><b>a.</b> Go to <b>Schedule</b> &gt; <b>Technician Shifts</b> and select the shift you want to manage.</p><p style="margin:0 0 2px"><b>b.</b> Adjust the start time, end time, or working hours for the selected day.</p><p style="margin:0 0 2px"><b>c.</b> To set recurring availability patterns, go to <b>Settings</b> &gt; <b>Operations</b> &gt; <b>Technician Capacity Planning</b> and configure the default weekly schedule for each technician. Shifts are the operational layer (day-to-day); availability is the structural schedule (recurring patterns).</p><div style="padding:5px 10px;background:#EAEFF2;border-left:3px solid #8C9CA5;border-radius:6px;margin:4px 0 4px"><p style="font-size:12px;color:#4B5563;margin:0;line-height:1.5">⚠︎ 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.</p></div></div><div style="margin:6px 0 0;padding-top:5px;border-top:1px solid #DFE0E1"><a href="/v1/docs/use-technician-shifts" target="_self" translate="no" class="sl" rel="noopener"><u>Use Technician Shifts</u></a></div></div></div></div><div class="st" style="border:1px solid #D0D8DD;border-radius:8px;padding:10px 14px"><div style="display:flex;align-items:flex-start;gap:10px"><div class="sn" style="min-width:24px;height:24px;border-radius:6px;background:#E3FCFF;color:#038299;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0"></div><div style="flex:1"><div style="font-size:13.5px;font-weight:600;color:#1a1a1a;margin:0 0 1px">Handle time-off requests</div><div style="font-size:13px;color:#374151;line-height:1.7;margin:6px 0 0;padding-left:1em"><p style="margin:0 0 2px"><b>a.</b> Go to <b>Schedule</b> &gt; <b>Technician Shifts</b>. Click on the shift and select <b>Time Off</b>.</p><p style="margin:0 0 2px"><b>b.</b> Enter the date range, reason, and select a timesheet code, if applicable. Click <b>Save</b>.</p><p style="margin:0 0 2px"><b>c.</b> 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.</p></div><div style="margin:6px 0 0;padding-top:5px;border-top:1px solid #DFE0E1"><a href="/v1/docs/use-technician-shifts" target="_self" translate="no" class="sl" rel="noopener"><u>Use Technician Shifts</u></a></div></div></div></div></div><div id="p2" style="margin:20px 0 8px;padding:10px 14px;background:#E0F2FF;border-radius:8px;border-left:4px solid #004491"><div style="font-size:14px;font-weight:700;color:#004491">Configure Your Team &amp; Optimize Your Dispatch Board</div></div><div style="display:flex;flex-direction:column;gap:6px"><div class="st" style="border:1px solid #D0D8DD;border-radius:8px;padding:10px 14px"><div style="display:flex;align-items:flex-start;gap:10px"><div class="sn" style="min-width:24px;height:24px;border-radius:6px;background:#E0F2FF;color:#004491;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0"></div><div style="flex:1"><div style="font-size:13.5px;font-weight:600;color:#1a1a1a;margin:0 0 1px">Set up service zones for your technicians</div><div style="padding:5px 10px;background:#EAEFF2;border-left:3px solid #8C9CA5;border-radius:6px;margin:4px 0 4px"><p style="font-size:12px;color:#4B5563;margin:0;line-height:1.5">⚠︎ 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.</p></div><div style="font-size:13px;color:#374151;line-height:1.7;margin:6px 0 0;padding-left:1em"><p style="margin:0 0 2px"><b>a.</b> Go to <b>Settings</b> &gt; <b>Operations</b> &gt; <b>Zones</b> and click <b>Add</b>.</p><p style="margin:0 0 2px"><b>b.</b> Name the zone and define its boundaries by selecting ZIP codes and cities.</p><p style="margin:0 0 2px"><b>c.</b> Assign technicians to the zone. Each technician can belong to multiple zones if they cover overlapping areas.</p><p style="margin:0 0 2px"><b>d.</b> Click <b>Save</b>. The dispatch board now filters technicians by zone when scheduling jobs in that area.</p><div style="padding:5px 10px;background:#EAEFF2;border-left:3px solid #8C9CA5;border-radius:6px;margin:4px 0 4px"><p style="font-size:12px;color:#4B5563;margin:0;line-height:1.5">⚠︎ Dispatch Pro relies on accurate Home Zones. If a technician moves, update their zone immediately — otherwise the algorithm calculates incorrect drive times.</p></div><div style="padding:5px 10px;background:#EAEFF2;border-left:3px solid #8C9CA5;border-radius:6px;margin:4px 0 4px"><p style="font-size:12px;color:#4B5563;margin:0;line-height:1.5">⚠︎ 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.</p></div></div><div style="margin:6px 0 0;padding-top:5px;border-top:1px solid #DFE0E1"><a href="/v1/docs/set-up-and-use-zones" target="_self" translate="no" class="sl" rel="noopener"><u>Set up and use zones</u></a></div></div></div></div><div class="st" style="border:1px solid #D0D8DD;border-radius:8px;padding:10px 14px"><div style="display:flex;align-items:flex-start;gap:10px"><div class="sn" style="min-width:24px;height:24px;border-radius:6px;background:#E0F2FF;color:#004491;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0"></div><div style="flex:1"><div style="font-size:13.5px;font-weight:600;color:#1a1a1a;margin:0 0 1px">Assign skills to your technicians</div><div style="font-size:13px;color:#374151;line-height:1.7;margin:6px 0 0;padding-left:1em"><p style="margin:0 0 2px"><b>a.</b> Go to <b>Settings</b> &gt; <b>Operations</b> &gt; <b>Skills</b> and click <b>Add Skill</b> to create the skills your team needs (e.g., HVAC Install, Plumbing Repair).</p><p style="margin:0 0 2px"><b>b.</b> Open each technician's profile and go to the <b>Skills</b> dropdown. Check the skills that technician is qualified to perform.</p><p style="margin:0 0 2px"><b>c.</b> Assign skills to job types as well (go to <b>Settings</b> &gt; <b>Operations</b> &gt; <b>Job Types</b>, 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.</p><div style="padding:5px 10px;background:#EAEFF2;border-left:3px solid #8C9CA5;border-radius:6px;margin:4px 0 4px"><p style="font-size:12px;color:#4B5563;margin:0;line-height:1.5">⚠︎ 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.</p></div></div><div style="margin:6px 0 0;padding-top:5px;border-top:1px solid #DFE0E1"><a href="/v1/docs/manage-skills-for-technicians-and-job-types" target="_self" translate="no" class="sl" rel="noopener"><u>Manage skills for technicians and job types</u></a></div></div></div></div><div class="st" style="border:1px solid #D0D8DD;border-radius:8px;padding:10px 14px"><div style="display:flex;align-items:flex-start;gap:10px"><div class="sn" style="min-width:24px;height:24px;border-radius:6px;background:#E0F2FF;color:#004491;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0"></div><div style="flex:1"><div style="font-size:13.5px;font-weight:600;color:#1a1a1a;margin:0 0 1px">Set up timesheet activities or codes</div><div style="padding:5px 10px;background:#EAEFF2;border-left:3px solid #8C9CA5;border-radius:6px;margin:4px 0 4px"><p style="font-size:12px;color:#4B5563;margin:0;line-height:1.5">⚠︎ 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.</p></div><div style="font-size:13px;color:#374151;line-height:1.7;margin:6px 0 0;padding-left:1em"><p style="margin:0 0 2px"><b>a.</b> Go to <b>Settings</b> &gt; <b>Payroll</b>, then edit the <b>Timesheet Codes</b> section. Time is tracked against timesheet codes linked to earnings codes that map ServiceTitan activities to your external payroll processor.</p><p style="margin:0 0 2px"><b>b.</b> Create a timesheet code with name, code, earnings code, rate (if applicable), and employee-type visibility.</p><p style="margin:0 0 2px"><b>c.</b> Click <b>Save</b>. Codes appear when technicians clock time in mobile.</p></div><div style="margin:6px 0 0;padding-top:5px;border-top:1px solid #DFE0E1"><a href="/v1/docs/create-timesheet-activities" target="_self" translate="no" class="sl" rel="noopener"><u>Create timesheet activities</u></a><a href="/v1/docs/set-up-timesheet-codes" target="_self" translate="no" class="sl" rel="noopener"><u>Set up timesheet codes</u></a></div></div></div></div><div class="st ao-dispro" style="border:1px solid #D0D8DD;border-radius:8px;padding:10px 14px;position:relative"><span class="ao-tag">Dispatch Pro</span><div style="display:flex;align-items:flex-start;gap:10px"><div class="sn" style="min-width:24px;height:24px;border-radius:6px;background:#E0F2FF;color:#004491;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0"></div><div style="flex:1"><div style="font-size:13.5px;font-weight:600;color:#1a1a1a;margin:0 0 1px;padding-right:140px">Optimize dispatching with Dispatch Pro</div><div class="addon-dispro" style="display:none"><div style="font-size:13px;color:#374151;line-height:1.7;margin:6px 0 0;padding-left:1em"><p style="margin:0 0 2px"><b>a.</b> Go to <b>Settings</b> &gt; <b>Dispatch Pro</b> &gt; <b>Settings</b> to configure optimization preferences — set weights for drive time, technician skills, and job value. Configure per-zone maximum drive time overrides and arrival window buffers.</p><p style="margin:0 0 2px"><b>b.</b> Set optimization constraints such as maximum drive time between jobs and preferred technician-to-zone assignments. You can also configure auto-lock thresholds and per-job-type priority weighting.</p><p style="margin:0 0 2px"><b>c.</b> Dispatch Pro uses Titan Intelligence to rank technicians for each job based on: Skill Match (hard gate — tech must have required skills), Job Value Prediction, technician performance/closing rate, and drive time.</p></div><div style="margin:6px 0 0;padding-top:5px;border-top:1px solid #DFE0E1"><a href="/v1/docs/dispatch-pro" target="_self" translate="no" class="sl" rel="noopener"><u>Dispatch Pro Home</u></a></div></div></div></div></div><div class="st ao-dispro" style="border:1px solid #D0D8DD;border-radius:8px;padding:10px 14px;position:relative"><span class="ao-tag">Dispatch Pro</span><div style="display:flex;align-items:flex-start;gap:10px"><div class="sn" style="min-width:24px;height:24px;border-radius:6px;background:#E0F2FF;color:#004491;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0"></div><div style="flex:1"><div style="font-size:13.5px;font-weight:600;color:#1a1a1a;margin:0 0 1px;padding-right:140px">Run the Dispatch Pro optimizer</div><div class="addon-dispro" style="display:none"><div style="font-size:13px;color:#374151;line-height:1.7;margin:6px 0 0;padding-left:1em"><p style="margin:0 0 2px"><b>a.</b> Navigate to <b>Dispatch</b> &gt; <b>Dispatch Pro</b> &gt; <b>Console</b>. This is a separate page from the classic Dispatch Board. Select the date range and business units to include.</p><p style="margin:0 0 2px"><b>b.</b> Review the optimization suggestions. The system shows proposed reassignments with estimated drive time and cost savings — including before/after cost comparisons and hard constraint violation flags (late arrival, tech unavailable, max drive time exceeded).</p><p style="margin:0 0 2px"><b>c.</b> Accept all suggestions or pick individual reassignments. The Supervisor Console (<b>Dispatch</b> &gt; <b>Dispatch Pro</b> &gt; <b>Supervisor Console</b>) provides a manager-level view of optimization activity.</p></div><div style="margin:6px 0 0;padding-top:5px;border-top:1px solid #DFE0E1"><a href="/v1/docs/use-console-for-dispatching-tasks" target="_self" translate="no" class="sl" rel="noopener"><u>Use Console for dispatching tasks</u></a></div></div></div></div></div><div class="st" style="border:1px solid #D0D8DD;border-radius:8px;padding:10px 14px"><div style="display:flex;align-items:flex-start;gap:10px"><div class="sn" style="min-width:24px;height:24px;border-radius:6px;background:#E0F2FF;color:#004491;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0"></div><div style="flex:1"><div style="font-size:13.5px;font-weight:600;color:#1a1a1a;margin:0 0 1px">Create non-job appointment types (meetings, training)</div><div style="font-size:13px;color:#374151;line-height:1.7;margin:6px 0 0;padding-left:1em"><p style="margin:0 0 2px"><b>a.</b> On the <b>Dispatch Board</b>, 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.</p><p style="margin:0 0 2px"><b>b.</b> Name the event, fill out the details, and set the time range.</p><p style="margin:0 0 2px"><b>c.</b> When creating the event, select <b>Include in scheduling and dispatching capacity</b> (new Dispatch Board) or <b>Needs a Timesheet</b> (legacy Dispatch Board). This tells Adaptive Capacity to deduct this time from available capacity. Without this option, the event won't affect capacity calculations.</p><div style="padding:5px 10px;background:#EAEFF2;border-left:3px solid #8C9CA5;border-radius:6px;margin:4px 0 4px"><p style="font-size:12px;color:#4B5563;margin:0;line-height:1.5">⚠︎ 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.</p></div></div><div style="margin:6px 0 0;padding-top:5px;border-top:1px solid #DFE0E1"><a href="/v1/docs/schedule-and-manage-non-job-events" target="_self" translate="no" class="sl" rel="noopener"><u>Schedule and manage non-job events</u></a></div></div></div></div></div><div id="p3" style="margin:20px 0 8px;padding:10px 14px;background:#F1EDFF;border-radius:8px;border-left:4px solid #4F3A9E"><div style="font-size:14px;font-weight:700;color:#4F3A9E">Troubleshoot Capacity Issues</div></div><div style="display:flex;flex-direction:column;gap:6px"><div class="st" style="border:1px solid #D0D8DD;border-radius:8px;padding:10px 14px"><div style="display:flex;align-items:flex-start;gap:10px"><div class="sn" style="min-width:24px;height:24px;border-radius:6px;background:#F1EDFF;color:#4F3A9E;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0"></div><div style="flex:1"><div style="font-size:13.5px;font-weight:600;color:#1a1a1a;margin:0 0 1px">Troubleshoot: Unassigned technician alerts not firing</div><div style="font-size:13px;color:#374151;line-height:1.7;margin:6px 0 0;padding-left:1em"><p style="margin:0 0 2px"><b>a.</b> Go to <b>Settings</b> &gt; <b>Integrations</b> &gt; <b>Alerts</b> and verify that a <b>Technician Unassigned</b> alert is configured for the appropriate users or roles. This alert fires when a dispatcher unassigns a tech from a job without reassigning it.</p><p style="margin:0 0 2px"><b>b.</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.</p><p style="margin:0 0 2px"><b>c.</b> 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.</p></div><div style="margin:6px 0 0;padding-top:5px;border-top:1px solid #DFE0E1"><a href="/v1/docs/set-notification-preferences-for-customers" target="_self" translate="no" class="sl" rel="noopener"><u>Set notification preferences for customers</u></a></div></div></div></div></div><div id="kpi" style="margin:24px 0 12px"><div style="display:flex;align-items:center;gap:8px;margin:0 0 12px"><svg width="15" height="15" viewbox="0 0 24 24" fill="none" stroke="#004491" stroke-width="2.5"><polyline points="23 6 13.5 15.5 8.5 10.5 1 18"></polyline><polyline points="17 6 23 6 23 12"></polyline></svg><div style="font-size:13px;font-weight:700;color:#004491;text-transform:uppercase;letter-spacing:0.06em">Measure the impact</div></div><div style="display:grid;grid-template-columns:1fr 1fr;gap:8px"><div style="padding:14px 16px;border-radius:10px;background:#fff;border:1px solid #DFE0E1;border-top:3px solid #0265DC;"><div style="font-size:11px;font-weight:700;color:#0265DC;text-transform:uppercase;letter-spacing:0.06em;margin:0 0 6px">Utilization</div><div style="font-size:12.5px;font-weight:600;color:#1a1a1a;margin:0 0 4px">Technician utilization rate</div><div style="font-size:11.5px;color:#6A7A85;line-height:1.55;margin:0 0 8px">Track provided capacity vs. consumed capacity by BU, zone, or technician. Low utilization means open capacity; high utilization may signal overbooking risk.</div><a href="https://go.servicetitan.com/#/adaptive-capacity/report" target="_blank" class="sl" rel="noopener">Schedule &gt; Capacity Reporting ↗</a></div><div style="padding:14px 16px;border-radius:10px;background:#fff;border:1px solid #DFE0E1;border-top:3px solid #0265DC;"><div style="font-size:11px;font-weight:700;color:#0265DC;text-transform:uppercase;letter-spacing:0.06em;margin:0 0 6px">Efficiency</div><div style="font-size:12.5px;font-weight:600;color:#1a1a1a;margin:0 0 4px">Jobs completed per tech per day</div><div style="font-size:11.5px;color:#6A7A85;line-height:1.55;margin:0 0 8px">Run a Technician Performance report. A declining average signals scheduling gaps or drive time issues.</div><a href="https://go.servicetitan.com/#/new/reports/all" target="_blank" class="sl" rel="noopener">Reports &gt; All Reports ↗</a></div><div style="padding:14px 16px;border-radius:10px;background:#fff;border:1px solid #DFE0E1;border-top:3px solid #0265DC;"><div style="font-size:11px;font-weight:700;color:#0265DC;text-transform:uppercase;letter-spacing:0.06em;margin:0 0 6px">Coverage</div><div style="font-size:12.5px;font-weight:600;color:#1a1a1a;margin:0 0 4px">Unassigned jobs count</div><div style="font-size:11.5px;color:#6A7A85;line-height:1.55;margin:0 0 8px">Check the Dispatch Board daily. Jobs sitting unassigned close to their appointment window need immediate attention. Configure the Job Tray to sort by Priority → SLA Expiration.</div><a href="https://go.servicetitan.com/#/widget-app/dispatch-center?dispatchFilterCode=%7E%7E%7E&amp;orientation=horizontal&amp;timeframe=day" target="_blank" class="sl" rel="noopener">Dispatch &gt; Dispatch Board ↗</a></div><div style="padding:14px 16px;border-radius:10px;background:#fff;border:1px solid #DFE0E1;border-top:3px solid #0265DC;"><div style="font-size:11px;font-weight:700;color:#0265DC;text-transform:uppercase;letter-spacing:0.06em;margin:0 0 6px">Balance</div><div style="font-size:12.5px;font-weight:600;color:#1a1a1a;margin:0 0 4px">Capacity vs. booked jobs</div><div style="font-size:11.5px;color:#6A7A85;line-height:1.55;margin:0 0 8px">Review in Adaptive Capacity Reporting (Simple Mode) for a weekly overview. A persistent gap between capacity targets and actual bookings means your rules or job durations need recalibration.</div><a href="https://go.servicetitan.com/#/adaptive-capacity/report" target="_blank" class="sl" rel="noopener">Schedule &gt; Capacity Reporting ↗</a></div><div style="padding:14px 16px;border-radius:10px;background:#fff;border:1px solid #DFE0E1;border-top:3px solid #0265DC;"><div style="font-size:11px;font-weight:700;color:#0265DC;text-transform:uppercase;letter-spacing:0.06em;margin:0 0 6px">Dispatch Pro</div><div style="font-size:12.5px;font-weight:600;color:#1a1a1a;margin:0 0 4px">Optimization acceptance rate</div><div style="font-size:11.5px;color:#6A7A85;line-height:1.55;margin:0 0 8px">Track how many optimization suggestions are accepted vs. rejected by dispatchers. A low acceptance rate may indicate the algorithm's weights need tuning or that too many jobs are being locked.</div><a href="https://go.servicetitan.com/#/DispatchPro/SupervisorConsole" target="_blank" class="sl" rel="noopener">Dispatch &gt; Dispatch Pro &gt; Supervisor Console ↗</a></div></div></div><style> .sc { counter-reset: step } .sn { counter-increment: step } .sn::before { content: counter(step) } .hb { font-size: 10.5px; font-weight: 700; color: #78BBFA; letter-spacing: 0.08em } .jp { font-size: 11.5px; font-weight: 600; color: #374151; text-decoration: none; padding: 5px 13px; background: #fff; border: 1px solid #D0D8DD; border-radius: 20px; transition: all 0.15s } .jp:hover { background: #E0F2FF; border-color: #B5DEFF; color: #004491 } .st { transition: box-shadow 0.15s, border-color 0.15s } .st:hover { border-color: #B5DEFF !important; box-shadow: 0 2px 12px rgba(2, 101, 220, 0.07) } .sl { font-size: 10.5px; color: #0265DC; text-decoration: none; margin-right: 6px } .sl:hover { text-decoration: underline } .sl+.sl::before { content: "· "; color: #D0D8DD } .ao-tag { position: absolute; top: 10px; right: 14px; font-size: 10px; font-weight: 600; padding: 2px 8px; border-radius: 10px; background: #f0f1f2; border: 1px solid #D0D8DD; color: #5f5e5a; white-space: nowrap } #c-dispro { position: absolute !important; opacity: 0 !important; pointer-events: none !important; width: 0 !important; height: 0 !important } #c-dispro:checked~* label[for="c-dispro"] { background: #0d1b35 !important; color: #e8ecf0 !important; border-color: #0d1b35 !important } .ao-dispro { display: none !important } #c-dispro:checked~.ao-dispro, #c-dispro:checked~* .ao-dispro { display: flex !important } .addon-dispro { display: none !important } #c-dispro:checked~* .addon-dispro { display: block !important } p[data-block-id] { font-size: 1rem; } ul li p[data-block-id] { margin-bottom: 0; } ul[data-type="taskList"] li div p[data-block-id] { margin-bottom: 0; } ol li p[data-block-id] { margin-bottom: 0; } table tbody th p[data-block-id] { margin-bottom: 0; } blockquote p[data-block-id] { margin-bottom: 0 !important; } p[data-block-id]:empty::after { content: "\00A0"; } </style></div></editor360-custom-block>
