Blog Post
/
Case Studies

Trucks That Don't Pass Each Other: Intelligent Scheduling for Field Service

How we rebuilt appointment scheduling for a 28-truck HVAC company — reducing no-shows from 23% to 14% and adding two jobs per technician per day.

Trucks That Don't Pass Each Other: Intelligent Scheduling for Field Service

The challenge: trucks sitting, customers waiting

A growing HVAC company with 28 service trucks across two metros came to us with a scheduling nightmare. Technicians were driving past each other on the highway. Customers were canceling because the arrival window was "sometime between 8 and 5." And the dispatch team was drowning in phone calls trying to keep up.

No-show rates had crept up to 23%. Every missed appointment meant a wasted truck roll and a slot that could've gone to a paying customer. The company was losing an estimated $180,000 annually just on no-shows.

Their dispatchers were manually assigning jobs each morning based on gut feel and geography. There was no real-time visibility into technician location or job completion. When a job ran long, the whole day's schedule fell apart.

"We were growing, but our scheduling couldn't keep up. We'd book 40 jobs and complete 30. That's not a capacity problem - that's a systems problem."

- Operations Manager

What we built: smart scheduling with automated confirmations

We designed a scheduling system that optimizes routes, confirms appointments automatically, and adapts in real time when jobs run long or customers reschedule.

New bookings now get automatically slotted based on technician location, skill set, and current workload. The system calculates drive time between jobs and builds in realistic buffers for complex repairs.

Customers receive SMS confirmations at booking, a reminder 24 hours before, and a "technician on the way" alert with a 30-minute arrival window. They can confirm, reschedule, or cancel with a single tap - and the system automatically fills canceled slots from a standby list.

Dispatchers get a real-time board showing every truck, every job, and every delay. When a job runs over, downstream appointments automatically shift and customers get updated without anyone picking up a phone.

Mechanic inspecting with handheld lamp in dark workshop

Implementation: six weeks to full rollout

Week one was ride-alongs and dispatch shadowing. We needed to understand the real job durations - not the estimates in the system. Turns out, a "standard AC tune-up" ranged from 25 minutes to 2 hours depending on the unit.

Weeks two and three were building the scheduling logic and integrating with ServiceTitan. We configured job type durations, skill requirements, and travel time calculations using actual historical data.

Week four focused on the customer communication flows - confirmation sequences, reminder timing, and the real-time "on my way" triggers.

We piloted with one metro in week five, refined the arrival window messaging based on customer feedback, and rolled out to both metros in week six.

The results: more jobs, fewer missed appointments

No-show rates dropped from 23% to 14% - a 40% reduction. The automated reminder sequence catches cancellations early enough to fill 60% of those slots from the standby list.

Technicians are completing an average of two more jobs per day, driven by tighter routing and fewer wasted trips. That's an additional $320,000 in annual service revenue without adding trucks or staff.

Customer satisfaction scores on scheduling jumped from 3.8 to 4.5. Dispatchers report spending 50% less time on phone calls - time they now spend on exception handling and customer recovery.

  • No-show rate: 23% to 14%
  • Jobs per technician per day: +2
  • Annual revenue impact: +$320K
  • Dispatcher phone time: -50%

What we learned

Confirmation timing matters more than frequency. A reminder 24 hours out plus a "30 minutes away" alert outperformed sequences with 3 or 4 touchpoints. Customers don't want more messages - they want the right messages.

Realistic job durations beat optimistic ones. The old estimates assumed perfect conditions. Building in buffers for actual variability meant fewer cascading delays and happier customers.

And we learned that dispatchers need override power. The system handles 90% of scheduling automatically, but the 10% that requires human judgment - a VIP customer, a callback from a bad install - needs to be easy to handle manually without breaking the automation.

Michael Sylvester

11 years of "can you make these things talk to each other?" - turned into a career.

Newsletter

Subscribe for cutting-edge marketing tech updates

Behind-the-scenes looks at what we're building, integration tips that actually work, and automation strategies from 40+ implementations.

Thanks for subscribing to our newsletter!
Oops! Something went wrong while submitting the form.
Only one email per month — No spam!
Preferences

Privacy is important to us, so you have the option of disabling certain types of storage that may not be necessary for the basic functioning of the website. Blocking categories may impact your experience on the website. More information

Accept all cookies

These items are required to enable basic website functionality.

Always active

These items are used to deliver advertising that is more relevant to you and your interests.

These items allow the website to remember choices you make (such as your user name, language, or the region you are in) and provide enhanced, more personal features.

These items help the website operator understand how its website performs, how visitors interact with the site, and whether there may be technical issues.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.