---
title: "Plan Your Team's Capacity"
slug: "plan-your-team-s-capacity"
updated: 2026-05-11T17:18:03Z
published: 2026-05-11T17:18:03Z
---

> ## 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-team-s-capacity#p1" class="jp" rel="noopener">Plan &amp; Schedule Capacity </a><a href="/docs/plan-your-team-s-capacity#p2" class="jp" rel="noopener">Configure Your Team </a><a href="/docs/plan-your-team-s-capacity#p3" class="jp" rel="noopener">Troubleshoot Capacity Issues </a><a href="/docs/plan-your-team-s-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="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. If a duration is zero or blank, the capacity algorithm will massively overbook. This is the #1 misconfiguration in scheduling.</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 and review advanced settings.</p><p style="margin:0 0 2px"><b>b.</b> Set capacity targets by defining strategic rules — for example, reserve 10–20% of capacity for emergency calls by configuring a threshold rule that blocks low-priority job types when capacity drops below a set percentage.</p><p style="margin:0 0 2px"><b>c.</b> On the <b>Schedule</b>, review the capacity indicators to see which days have open slots and which are at or over capacity. Use this to guide call booking decisions.</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">⚠︎ All business units in a Capacity Group must share the same arrival window profile (e.g., 8–10, 10–12) for availability calculations to work correctly. Mismatched windows cause incorrect slot availability.</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 (included in Core — no add-on required) dynamically calculates available appointment slots based on technician shifts, zones, skills, and existing job load. It replaces the 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 selects the job type and clicks <b>Get Availability</b>. The system filters technicians to only those who hold all skills required for that job type and displays available windows based on real-time capacity.</p><p style="margin:0 0 2px"><b>c.</b> Review the availability results. Slots that were previously unavailable may open as the schedule changes throughout the day.</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">⚠︎ Tags must be on the location level (not the customer level) to auto-populate at booking. Customer-level tags silently do not fire in Adaptive Capacity queries — this is a common gotcha that causes skill-based routing to fail without any error message.</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">Manage your technicians' shifts</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">⚠︎ A technician without an active shift does not exist to the dispatch algorithm. Shifts are the foundational data layer — if a tech has no shift, they will not appear in capacity calculations or dispatch suggestions.</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>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. Use "On-Call" shift types for after-hours availability.</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 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</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.</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">⚠︎ Zones are BU-scoped. Multi-BU tenants have separate zone configurations per business unit, which affects capacity planning calculations. If a tech moves, update their zone immediately — Dispatch Pro relies on accurate home zones to calculate drive times.</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">⚠︎ 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> When booking a job, select the required job type. Adaptive Capacity filters technicians to only those who hold all skills tied to that job type, ensuring the right person is assigned. Job types can carry multiple skills — no need for a 1:1 job type per skill.</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" 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 Crew Scheduling for contracted service work</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">⚠︎ This step is critical for Contracted Service operations. Commercial and maintenance dispatching requires consistent crew assignments — Crew Scheduling is the primary tool for this.</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">⚠︎ Crew Scheduling does not require Dispatch Pro.</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>Dispatch</b> &gt; <b>Crew Scheduling</b> to access the Crew Scheduling board.</p><p style="margin:0 0 2px"><b>b.</b> Create crews by designating a <b>Crew Leader</b> and adding <b>Crew Members</b>. When you drag-and-drop the Crew Leader to a job, the system auto-assigns all crew members to that appointment.</p><p style="margin:0 0 2px"><b>c.</b> This ensures all crew members are clocked into the correct cost code and project phase without individual admin work — essential for Budget vs. Actual tracking on projects.</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">⚠︎ Only the Crew Leader has permissions to complete forms and edit the job on mobile. This is a hard gate — crew members cannot override the leader's actions. Plan crew leader assignments accordingly.</p></div></div><div style="margin:6px 0 0;padding-top:5px;border-top:1px solid #DFE0E1"><a href="/v1/docs/use-crew-scheduling-2" target="_self" translate="no" class="sl" rel="noopener"><u>Use Crew Scheduling</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">Configure Dispatch Pro optimization</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 — prioritize by drive time, technician skills, or job value.</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 per-zone drive time overrides.</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</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 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 requires Technician Skills to be configured first — skills are a hard prerequisite. If skills are not set up, the optimizer cannot properly match technicians to jobs.</p></div></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 on the Dispatch Board to gauge how full each tech's day is. Low utilization means open capacity; high utilization may signal overbooking risk.</div><a href="https://go.servicetitan.com/#/DispatchBoard" target="_blank" class="sl" rel="noopener">Dispatch &gt; Classic 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">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 &gt; search "Technician Performance" ↗</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.</div><a href="https://go.servicetitan.com/#/DispatchBoard" target="_blank" class="sl" rel="noopener">Dispatch &gt; Classic Dispatch Board &gt; Job Tray ↗</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 settings and on the Dispatch Board capacity indicators. A persistent gap between capacity targets and actual bookings means your rules need recalibration.</div><a href="https://go.servicetitan.com/#/Settings/AdaptiveCapacitySettings" target="_blank" class="sl" rel="noopener">Settings &gt; Adaptive Capacity &gt; Settings ↗</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">Schedule Adherence (Contracted Service)</div><div style="font-size:12.5px;font-weight:600;color:#1a1a1a;margin:0 0 4px">Crew schedule adherence rate</div><div style="font-size:11.5px;color:#6A7A85;line-height:1.55;margin:0 0 8px">For contracted service work, track whether crews are dispatched to their assigned projects on time. Use the Appointments report filtered by project jobs.</div><a href="https://go.servicetitan.com/#/new/reports/all" target="_blank" class="sl" rel="noopener">Reports &gt; All Reports &gt; search "Appointments" ↗</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>
