OpenLot Book audit
Systems

Shop Capacity: The Number That Governs Fixed Ops

OpenLot 9 min read

Service scheduling works in appointments and the shop works in hours, and those are not the same unit. A shop with eight technicians sells roughly 56 hours a day, not 25 appointments — and a scheduler that does not know that number will book past it, every time demand allows.

Chart comparing dealership service hours available against hours sold across a week, showing idle capacity and overbooked days

This guide covers how to compute shop capacity honestly, why appointment count misleads, the four things a scheduler must check, how to handle the unknowns, and what to measure.

How do you compute shop capacity?

Three numbers, and the second one is where stores deceive themselves.

Technicians available. Not headcount — technicians actually turning wrenches on a given day, after holidays, training and the one who is out.

Realistic billable hours per technician per day. Not eight. A technician on an eight-hour shift does not bill eight hours; between write-ups, waiting on parts, waiting on authorisation and moving vehicles, a realistic figure is meaningfully lower. Use your own historical number rather than an aspiration.

Average hours per repair order. From your DMS, over 90 days, and worth splitting by RO type because the mix changes what capacity means.

The capacity arithmetic

Illustrative. Substitute your own three numbers — especially the second.

8 technicians × 7 realistic billable hours = 56 hours a day

RO mix Avg hours/RO ROs/day at capacity
Maintenance-heavy 1.4 40
Balanced 2.2 25
Repair-heavy 3.6 16

The same shop, same technicians, same hours: between 16 and 40 appointments depending only on mix.

This is why appointment count is the wrong target. A store that sets "28 ROs a day" as a goal has set a different goal in a maintenance week than in a repair week, without anyone noticing which one they are in.

Why is appointment count the wrong unit?

Because it is a proxy for the thing that matters, and the ratio between them moves.

A scheduler optimising for appointments booked will happily fill a repair-heavy day with 28 ROs averaging 3.4 hours — 95 hours of work against 56 hours of capacity — and the shop absorbs the difference as slipped promise times.

It also fails the other way. A maintenance-heavy day capped at 25 ROs leaves 21 hours of capacity unsold. The technicians are paid either way, so that is margin that evaporates quietly, and it never shows up in a report that counts appointments.

Hours sold ÷ hours available is the number. Everything else in fixed ops scheduling is downstream of it, including whether the six fixed-ops leaks are worth closing.

What must a scheduler check before offering a time?

Four checks. A system missing any of them books against a calendar rather than against a shop.

Check What it prevents
Hours remaining that day Booking 95 hours of work into 56 hours of capacity
Skill match A diesel or EV concern landing on a day without a certified technician
Parts availability A known-concern booking for a day the part has not arrived
Duration by concern type An hour-long diagnosis booked into a 30-minute oil-change slot

The fourth is the one that silently breaks capacity models that otherwise look sound. If every appointment is assumed to take the shop average, a day that happens to fill with diagnostics is overbooked by a large margin before anyone notices.

How do you handle what you cannot know?

The honest problem with capacity planning in service is that you do not know how long a repair will take until you look at it. A "check engine light" could be 0.5 hours or 6.

Three practical approaches, in increasing order of sophistication:

1. Reserve by category. Hold a fixed share of each day for diagnostics and unknowns, booked at a conservative duration. Simple, slightly wasteful, and far better than nothing.

2. Historical duration by concern phrase. Your DMS knows what "noise when braking" actually took, across hundreds of ROs. Use the distribution rather than the mean — book against the 70th percentile, not the average, or half your days run long by construction.

3. Dynamic reallocation. Recalculate remaining capacity as the day progresses and open or close same-day slots accordingly. This is where scheduling AI earns its cost, and it requires a live DMS connection rather than a nightly sync — the distinction covered in what integration work contains.

Most stores should start at 1, move to 2 within a quarter, and treat 3 as the reason to buy a real system. The same live connection is what lets a scheduler refill a day when a no-show opens a block.

Where does capacity-aware scheduling go wrong?

1. Using eight billable hours per technician. The single most common error, and it overstates capacity by a third before anything else happens.

2. One average duration for all ROs. Covered above. It works on a typical day and fails on every atypical one.

3. Capacity computed monthly. Capacity is a daily constraint. A month that balances out contains overbooked Mondays and idle Fridays, and the customer experiences the day, not the month.

4. Ignoring the advisor constraint. Technicians are not the only limit, and advisor throughput degrades the same way a BDC degrades under volume. An advisor can only write up so many ROs, and a shop can be technician-available and advisor-bound — which is what service advisors being on the phone actually costs.

5. Scheduling against a nightly sync. A capacity model built on yesterday's data cannot do same-day reallocation, which is most of the value.

6. Treating carryover as free. Work not finished today consumes tomorrow's hours, and a model that resets each morning is overbooking by whatever carried.

What should you measure?

Metric How to compute What it decides
Hours available Technicians on shift × realistic billable hours The denominator for everything
Hours sold ÷ hours available Daily, not monthly Whether to scale bookings or capacity
Realistic billable hours Actual billed hours ÷ technician days, 90 days Replaces the number people assume
Duration variance by concern Actual vs estimated hours, by concern type Where the booking model is wrong
Carryover hours Work-in-progress rolled to the next day The hidden consumer of tomorrow
Overbooked days per month Days where booked hours exceeded available The number a scheduler should drive to zero

Compute the third row before anything else. Nearly every capacity conversation in a dealership starts from an assumed figure that is higher than the measured one, and every downstream decision inherits the error.

Frequently asked questions

How do you calculate dealership service capacity?

Multiply the technicians actually working on a given day by their realistic billable hours — measured from history rather than assumed — to get available hours. Then divide by average hours per repair order to translate into an appointment target. The appointment number changes with job mix, which is why hours are the stable unit.

Why is appointment count a poor scheduling target?

Because the hours behind an appointment vary by a factor of two or more depending on job mix. The same shop can be at capacity with 16 repair-heavy ROs or 40 maintenance-heavy ones, so a fixed appointment target overbooks in one week and underbooks in another without anyone noticing which week they are in.

What is a realistic billable hours figure per technician?

Lower than shift length, and the only reliable source is your own history: actual billed hours divided by technician days over 90 days. Write-ups, waiting on parts, waiting on authorisation and vehicle movement all consume shift time, and planning from shift length rather than measured output overstates capacity substantially.

What does a scheduler need to check before offering an appointment?

Four things: hours remaining for that day, whether a technician with the right certification is available, whether required parts are on hand, and the expected duration for that specific concern type rather than the shop average. A system that checks none of these is a calendar rather than a scheduler.

How do you schedule a job whose duration is unknown?

Reserve a share of each day for diagnostics and unknowns at a conservative duration, then improve by using your own historical durations for similar concern descriptions. Book against an upper percentile of that distribution rather than the mean, because booking to the average guarantees that roughly half of those days run long.

Should capacity be measured daily or monthly?

Daily. Capacity is a daily constraint and customers experience the day, so a month that balances out can still contain overbooked Mondays and idle Fridays. Monthly averages hide exactly the variation that scheduling is supposed to manage.

Can technicians be available while the shop is still full?

Yes, and it is common. Advisors are a separate constraint — a shop can have technician hours free and no advisor capacity to write up more work. Any capacity model that counts only technicians will recommend bookings the front counter cannot absorb.

Does carryover work affect tomorrow's capacity?

Yes, and models that reset each morning systematically overbook because of it. Work in progress at close consumes the following day's hours before any new appointment is booked, so carryover has to be subtracted from available hours rather than treated as finished.

Conclusion

  • The shop sells hours, not appointments. The ratio between them moves with job mix.
  • Measure realistic billable hours. The assumed figure is almost always a third too high.
  • Four checks before offering a slot: hours, skill, parts, duration by concern.
  • Book unknowns at an upper percentile, not the average, or half those days run long.
  • Daily, not monthly, and subtract carryover before counting tomorrow as empty.

Last updated: