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

# Setup Adjustable Capacity (ACP)

## Overview

ServiceTitan’s **Adjustable Capacity Planning (ACP)** lets you set bookable capacity (in labor hours) for each time window, so your team does not get overbooked.

Feel free to reference Service Titan’s document: [help.servicetitan.com](https://help.servicetitan.com/how-to/adjustable-capacity-planning-workflow)

At a high level, ACP depends on:

* **Business Units (BUs)** and **Business Unit Groups** (BUs that share the same technician pool)
* **Technician shifts/time offs** (ACP reads these technician shifts to calculate capacity)
* **Arrival Windows** (the customer-facing time windows that bookings are offered in)

## Pre-requisites: Before you start

Make sure the following are true before you configure ACP:

* Business Units are cleaned up and named correctly. Avoid duplicate/overlapping BUs or mismatched Arrival Windows.

* Technicians have correct **weekly shift templates** and **Time offs** entered.

  <Frame>
    <img src="https://mintcdn.com/avoca-hc/MH4mxrDXeo8nYAg7/images/servicetitan/image-1.png?fit=max&auto=format&n=MH4mxrDXeo8nYAg7&q=85&s=8e1398d7a8380d6570cad3a7e3bdb7b6" width="1890" height="626" data-path="images/servicetitan/image-1.png" />
  </Frame>

* If you plan to use skills-based capacity, job types and technician skills are configured.

<Warning>
  A technician can only contribute capacity within the capacity hours for specific business units. If technicians are effectively split across multiple BUs that should share capacity, you will see missing or zero capacity.
</Warning>

## 1) Enable ACP and Arrival Windows

If you do not already see the ACP and Arrival Window menus in Settings, ask ServiceTitan support (or your ServiceTitan CSM) to enable:

* **Adjustable Capacity Planning (ACP)**
* **Arrival Windows**

## 2) Create Business Unit Groups

<Steps>
  <Step>
    Go to **Settings → Business Unit Groups**

    <Frame>
      <img src="https://mintcdn.com/avoca-hc/MH4mxrDXeo8nYAg7/images/servicetitan/image-2.png?fit=max&auto=format&n=MH4mxrDXeo8nYAg7&q=85&s=3658dcd98aa921fbe66eb28c5b25ce87" width="1228" height="1532" data-path="images/servicetitan/image-2.png" />
    </Frame>
  </Step>

  <Step>
    Click **+ Add Group**
  </Step>

  <Step>
    Name the group (example: **HVAC Service**)
  </Step>

  <Step>
    Select the Business Units that share the same technician pool. You can also create a BU group with just one BU per group.
  </Step>

  <Step>
    Click **Save**
  </Step>
</Steps>

<Note>
  **Notes**

  * Each BU can only exist in **one** Business Unit Group.
  * Put all BUs that pull from the same technicians into the **same** group.
</Note>

## 3) Create Arrival Windows (customer-facing)

<Steps>
  <Step>
    Go to **Settings → Operations → Arrival Windows**

    <Frame>
      <img src="https://mintcdn.com/avoca-hc/MH4mxrDXeo8nYAg7/images/servicetitan/image-3.png?fit=max&auto=format&n=MH4mxrDXeo8nYAg7&q=85&s=283383420fbcd48acefd1a7b164b3a25" width="898" height="636" data-path="images/servicetitan/image-3.png" />
    </Frame>
  </Step>

  <Step>
    Click **Add Arrival Window**
  </Step>

  <Step>
    For each window, enter:

    * **Name**
    * **Start Time**
    * **End Time**
    * **Sort Order**
  </Step>

  <Step>
    Click **Save**
  </Step>
</Steps>

### example: 2-hour arrival windows

* 8 AM – 10 AM
* 9 AM – 11 AM
* 10 AM – 12 PM
* 11 AM – 1 PM
* 12 PM – 2 PM
* 1 PM – 3 PM
* 2 PM – 4 PM
* 3 PM – 5 PM

## 4) Link Arrival Windows to the BU Group

<Steps>
  <Step>
    Go to **Settings → Capacity Planning → Configurations**

    <Frame>
      <img src="https://mintcdn.com/avoca-hc/MH4mxrDXeo8nYAg7/images/servicetitan/image-4.png?fit=max&auto=format&n=MH4mxrDXeo8nYAg7&q=85&s=fbc64cd34b40f4b139030ceb5850a432" width="1454" height="550" data-path="images/servicetitan/image-4.png" />
    </Frame>
  </Step>

  <Step>
    Use Custom Arrival windows views to make sure the arrival windows match
  </Step>

  <Step>
    Click **Save**
  </Step>
</Steps>

## 5) Make Arrival Window selection required on booking

<Steps>
  <Step>
    Go to **Settings → Operations → Job Booking**

    <Frame>
      <img src="https://mintcdn.com/avoca-hc/MH4mxrDXeo8nYAg7/images/servicetitan/image-5.png?fit=max&auto=format&n=MH4mxrDXeo8nYAg7&q=85&s=e09c31b8a9f636ef7ac96823f849d0fe" width="2980" height="358" data-path="images/servicetitan/image-5.png" />
    </Frame>
  </Step>

  <Step>
    Enable **Require Arrival Window on Booking**

    This ensures bookings always include a valid arrival window.
  </Step>
</Steps>

## 6) Verify technician shifts

<Steps>
  <Step>
    Go to **Schedule → Technician shifts**

    <Frame>
      <img src="https://mintcdn.com/avoca-hc/MH4mxrDXeo8nYAg7/images/servicetitan/image-6.png?fit=max&auto=format&n=MH4mxrDXeo8nYAg7&q=85&s=40aaaca63079217c18bce27a9fa8d787" width="1124" height="270" data-path="images/servicetitan/image-6.png" />
    </Frame>
  </Step>

  <Step>
    For each technician, make sure to create shift

    <Columns cols={2}>
      <Frame>
        <img src="https://mintcdn.com/avoca-hc/MH4mxrDXeo8nYAg7/images/servicetitan/image-7.png?fit=max&auto=format&n=MH4mxrDXeo8nYAg7&q=85&s=b5e3e51f1948897892a68c11fdbfb1fd" width="374" height="304" data-path="images/servicetitan/image-7.png" />
      </Frame>
    </Columns>
  </Step>

  <Step>
    Add technician shifts as (**Service titan does not read on-call nor overnight shift for capacity**)

    <Frame>
      <img src="https://mintcdn.com/avoca-hc/MH4mxrDXeo8nYAg7/images/servicetitan/image-8.png?fit=max&auto=format&n=MH4mxrDXeo8nYAg7&q=85&s=e5c27b42b4b0700f2fa893b6284cdbe5" width="1168" height="1142" data-path="images/servicetitan/image-8.png" />
    </Frame>
  </Step>

  <Step>
    Finally, confirm:

    * Weekly schedule template is correct
    * Time off and any blocks are entered:
  </Step>
</Steps>

## 7) Validate ACP is working (go-live checks)

Use the Capacity Planning board to confirm capacity is visible and behaves as expected:

* Go to **Schedule → Capacity Planning**

  <Frame>
    <img src="https://mintcdn.com/avoca-hc/MH4mxrDXeo8nYAg7/images/servicetitan/image-10.png?fit=max&auto=format&n=MH4mxrDXeo8nYAg7&q=85&s=d5c3f3cb3395f0bbc503f8bdc00fd08f" width="1176" height="576" data-path="images/servicetitan/image-10.png" />
  </Frame>

* Confirm windows appear and capacity colors/indicators look reasonable

* Train CSRs/dispatchers to only book into **open/available** windows

### Quick end-to-end test

* Create a test booking
* Confirm the appointment has an arrival window
* Confirm capacity reflects the booking (and does not allow overbooking)

<Warning>
  **Common issues & troubleshooting**

  * **All capacity is zero**: technician shifts are missing/incorrect, or technicians are effectively split across BUs that should share a BU Group.
  * **Arrival windows exist but do not show in booking**: Arrival Windows are not linked to the business unit within the Group, or Arrival Window is not required in Job Booking settings.
  * **Unexpected capacity counts**: validate BU membership, technician pool, and shift templates.
</Warning>
