Skip to main content
Open Settings → Business Info → Capacity Planning. The tile appears only when Capacity Planning is enabled and your role has access to it.
Several controls on these pages apply only when the team’s Capacity Source is set to Avoca Capacity. The dashboard shows a banner when another source is active.

Understand the tabs

  • Capacity shows technician capacity by date and window. Use its filters to review the relevant business-unit group and inspect the calculation before making a manual adjustment.
  • Quota View shows quota fill and availability and lets authorized controllers add or edit quota caps when that rollout is enabled for the team.
  • Test saves representative job type, business unit, service area, and tag combinations and previews the slots a customer would see now.
  • Business Unit Groups organizes CRM business units and sets the group’s base capacity.
  • Rulesets applies percentage adjustments to capacity when configured conditions match.
  • Drive Time adds supported travel-time behavior when enabled.
  • Tag Skills connects job tags to technician skill logic.
  • Notifications chooses the team timezone and report-delivery hours.
  • Settings contains the capacity-source and calculation options available to your team.
Capacity Rulesets are active capacity controls. They are unrelated to the deprecated Rulesets tab under Fees.

Build the Drive Time ZIP matrix

When Drive Time is enabled, open Drive Time → ZIP matrix. The matrix stores pre-computed drive times between the team’s service-area ZIP codes so supported capacity checks do not need to start from an empty cache. Every pair is measured using the next Tuesday at 9:00 AM in the team’s timezone, with traffic-aware duration when Google provides it, so values in the matrix use one comparable departure basis.
  1. Confirm that the service area contains at least two valid five-digit ZIP codes.
  2. Select Build Matrix.
  3. Review Matrix coverage, Fetched now, Already cached, Unroutable, and Missing while the build runs.
  4. Expand the unroutable-pair details when any pair could not be filled.
  5. Filter the matrix by origin or destination ZIP and review important routes.
Building fetches only missing pairs and leaves existing cached times unchanged. The build dialog identifies the standardized departure used for that pass. If a build stops, progress is saved; select Continue to retry the remaining pairs instead of starting over. If older pairs were measured on a different basis, building only the missing pairs does not refresh them. Review the matrix before changing a drive-time cutoff; traffic-aware values can be higher than a free-flow estimate and therefore make an existing cutoff more restrictive. Nothing is stored for an unroutable pair. If bookings depend on that route, verify both ZIP codes and then set a reviewed drive time manually in the matrix table. Do not treat an incomplete matrix as complete merely because some pairs are cached.
Clear matrix deletes every cached drive-time pair for the team. Live capacity falls back to on-demand Google lookups until the matrix is rebuilt. Clear it only when you intend to rebuild the complete matrix and have reviewed the effect on live booking.
When Drive Time and its rollout are enabled, the same customer ZIP is enforced when Responder offers slots and when Avoca commits a primary booking or reschedule. This prevents the final technician selection from bypassing a drive-time cutoff that removed a technician from the offered availability. Human-in-the-loop submissions and Simple Scheduler bookings do not use this commit-time Drive Time check. If a slot disappears at confirmation, verify the customer ZIP, technician home or configured origin ZIP, cutoff, matrix value, and whether the final booking path supports Drive Time. Do not assume that seeing a slot earlier guarantees that the same technician remains eligible at commit time.

Trace a Drive Time decision

For supported ServiceTitan and Avoca Capacity booking calls, open the booking-information result in the call details and select How did we calculate these availabilities? The Drive Time Capacity stage shows technicians removed from a window, the inbound and outbound drive-time tests, and the applicable cutoffs. When the availability pipeline ran and recorded a trace, this inspection action also appears on a failed or zero-slot booking-information result. Use it to find the stage that removed availability before widening capacity or changing a cutoff. If no trace was recorded, the action does not appear. When a preceding or next ServiceTitan job determined a drive-time leg, the trace links to that job and shows when the preceding appointment ends or the next appointment starts. Avoca considers job appointments that start on the same local calendar day as the candidate window, using the team’s timezone. A job from a different local day is not used as the preceding or next anchor for that window. Use the linked jobs and displayed times before changing a cutoff. Confirm the job ZIP codes, appointment times, team timezone, and customer ZIP. A missing same-day anchor can cause the configured shop or technician-home behavior to apply instead. Diagnostic traces are retained for 30 days; older calls can show that no trace was recorded.

Read the Capacity view

Each capacity cell compares available capacity with total capacity for a business-unit group and arrival window. Filter by job type, service area, date, and timezone before interpreting it. Open a cell to review:
  • The technicians contributing to the window
  • Base or shift-derived capacity
  • Booked work
  • Ruleset adjustments
  • Existing manual adjustments
Use the timezone selector when the business operates in multiple regions.

Build business-unit groups

Group business units that draw from the same technician pool. For example, HVAC Service, HVAC Maintenance, and HVAC Install can share a group when the same technicians cover all three. Do not group units only because their names are similar. Confirm the real staffing pool and booking behavior first.

Configure rulesets

A ruleset can target a combination of:
  • Arrival windows
  • Weekdays
  • Business units
  • Job types
  • Technicians
Set the multiplier to the intended share of normal capacity. For example, 0 closes the matching capacity and 0.5 limits it to half. When several rulesets match the same slot, Avoca uses the most restrictive result. Start with a small number of rules whose purpose and owner are clear.

Manage quotas in Quota View

Use Quota View when you need a capacity ceiling for a business-unit and priority combination or for a job type. Quotas use the same live technician pool as Capacity Planning and are separate from percentage-multiplier rulesets.
  1. Match the timezone and week to the Capacity page you are comparing.
  2. Choose Business Unit / Priority or Job Type Quotas.
  3. Use Week to scan daily fill, then open a day for the full matrix.
  4. Select the pencil on a row to add or edit a quota.
  5. Choose the priorities and arrival windows the quota covers.
  6. Enter the cap in jobs or hours. The editor previews the equivalent share of the live pool and the projected fill.
  7. Choose the inclusive Starts on and Ends on dates, or turn on Perpetual when the quota should have no end date.
  8. Select Schedule to review every temporary and perpetual quota on that row across the calendar, then save.
The jobs display converts technician hours using the current hours per job value. Changing that display value does not change the underlying technician-hour calculation. A row can contain multiple quotas for different priority and arrival-window combinations; choose the intended entry before editing or deleting it. A temporary quota can pause a perpetual quota for the same priority and arrival-window scope. The perpetual quota resumes after the temporary quota’s inclusive end date. If you delete the temporary quota, choose whether to re-establish the paused perpetual quota immediately or leave its scheduled resume date in place. If the dates and scope overlap another quota, the save confirmation lists the affected temporary or perpetual entries. Continuing replaces or removes those entries and cannot be undone from the confirmation. Review the quota type, dates, allocation, priorities, and arrival windows before choosing Overwrite and save or Remove and save. In call-taker view, green and amber cells can be expanded for details. A red configured quota is already full or over capacity and cannot be expanded from that view; no-quota cells keep a dashed border so they are not mistaken for configured quota rules. Quota rules can be scoped by the Quota View’s business-unit or job-type target, priorities, and arrival windows. They cannot currently be scoped by service area, skill, or tag.
A zero quota closes the matching capacity. Before saving, confirm the row, priorities, arrival windows, start and end dates or Perpetual setting, and projected fill. After saving, reopen the selected day and confirm the quota appears only in the intended matrix cells. Test can verify the business-unit or job-type result, but it cannot select a priority or arrival window; verify those dimensions in Quota View.

Configure Settings

Review the calculation defaults that apply to the team, such as:
  • Availability threshold or buffer behavior
  • Whether non-managed technicians contribute
  • Whether on-call technician shifts contribute
  • Zone and business-unit restrictions
  • Whether business-unit groups take priority
When on-call shifts should supply after-hours capacity, keep the source schedules current and confirm that Include On-Call Technician Shifts is enabled.
  1. Confirm the intended Capacity Source in Settings.
  2. Create and review Business Unit Groups.
  3. Configure technician and tag-skill inputs used by the calculation.
  4. Add the minimum necessary capacity rulesets and leave speculative rules disabled.
  5. Save common scenarios in Test and compare the returned availability with the expected result.
  6. Review Capacity for the next several operating days.
  7. Configure report times in Notifications and verify recipients’ Capacity Report Email preference under Employee Contacts.

Make manual adjustments carefully

Before changing a capacity cell, open its details and understand the base capacity, booked work, rule adjustments, and any existing manual adjustment. Record why the change is needed and avoid using a manual adjustment to hide a broken CRM mapping or ruleset.
Capacity controls the appointment windows Avoca can offer. Test one combination that should be available and one that should be unavailable after every material change.
If the Capacity page appears empty, check the selected date and filters, CRM technician and appointment data, business-unit grouping, active capacity source, and enabled rulesets before adding capacity manually.

Know the current limits

  • Avoca Capacity uses arrival windows rather than free-form business hours. Represent bookable time with the intended arrival windows.
  • ServiceTitan does not expose every capacity ruleset through the integration. Recreate required rules deliberately in Avoca instead of assuming they synchronized.
  • Manual capacity adjustments do not repair stale technician shifts, missing mappings, or an incorrect capacity source.