Codoro
Codoro
CASE 01  /  HVAC←  PORTFOLIO

HVAC booking that only offers routes the fleet can actually drive.

A regional HVAC provider replaced manual, geography-blind scheduling with a booking engine that only offers time slots its fleet can physically reach — turning route efficiency into a constraint enforced at the moment of booking, not patched up afterward.

ENGAGEMENT—
INDUSTRY
Home Services / Field Ops
LOCATION
Ontario, Canada
TEAM
1–5 technicians
DURATION
1 month
01  /  THE CHALLENGE

Scheduling is a constraint problem, not a calendar problem

The hard part was never showing open time. It was knowing which open time was actually drivable. A naive overlap check treats two jobs forty minutes apart in opposite directions as a perfectly valid pair of bookings, then leaves the technician to absorb the cost on the road.

The data needed to make that call was scattered. Calendar events, blocked slots and service bookings all lived across different GoHighLevel endpoints in different shapes, and zone detection threatened a fresh geocoding call on every appointment read.

CONSTRAINT 01
Model the day, not the grid

AM/PM blocks, fixed slots, travel buffers, HQ departure and per-agent weekly load — all evaluated before a slot is shown.

CONSTRAINT 02
Zone-tag without re-geocoding

Hub IDs embedded in booking titles let every appointment read resolve its zone from the CRM record itself.

02  /  WHAT CHANGED
BEFORE — GENERIC CALENDAR
01Customer picks any open-looking slot.
02Staff mentally maps it against the board.
03Route turns out to zigzag across the region.
04Booking is quietly reshuffled or rejected.
05Callback, apology, rescheduling.
06Trust spent on a slot that never existed.
RESULT  /  RESHUFFLED BOOKING, LOST TRUST
AFTER — ROUTE-AWARE ENGINE
01Address resolves to one of 30+ hub zones.
02Zone lock removes cross-region slots.
03Travel buffer applied from HQ and prior stop.
04AM/PM block and fixed slots respected.
05Per-technician weekly load checked.
06Only drivable slots are ever shown.
07Booking writes straight into GoHighLevel.
RESULT  /  CONFIRMED IS CONFIRMED
03  /  THE SYSTEM

Six checks between a customer click and a confirmed route.

Nothing reaches the calendar until geography, buffer and load all clear.

HUB ID FROM TITLEBUFFER + AM/PMPER-AGENT LOAD CAPSTEP 01Booking requestSTEP 02Zone detectSTEP 03Constraint engineSTEP 04Slot shortlistSTEP 05GHL writeSTEP 06Customer confirmedFIRE-AND-FORGET ERROR LOG · NEVER BLOCKS THE FORMNO SECOND CALENDAR
04  /  HOW IT WAS BUILT
WEEK 01
Map the real service area

Divided a wide, messy region into 30+ hub zones with HQ departure points, so geography became a value the system could reason about.

WEEK 02
Normalise the CRM reads

Three GoHighLevel endpoints, three shapes. One internal format now backs every availability decision.

WEEK 03
Build the constraint engine

AM/PM blocks, fixed slots, travel buffers and per-agent weekly load evaluated together, with hub IDs read from booking titles.

WEEK 04
Harden and hand over

Fire-and-forget error logging so an API failure never blocks the customer, plus the internal scheduling portal.

05  /  SPEC INDEX
PLATFORM
GoHighLevel (calendar of record)
Custom booking API
Internal scheduling portal
ENGINE
Zone resolver (30+ hubs)
Travel-buffer calculator
Per-agent load cap
AM/PM block model
OPERATIONS
Centralised error logging
Fire-and-forget writes
Reschedule + cancel sync
No duplicate data entry
06  /  OUTCOMES

Route efficiency stopped being a hope and became a rule.

01

Every slot a customer sees is a slot the fleet can actually drive — zone locks, travel buffers and per-technician load are checked before a time is offered.

02

The 30+ hub zones turn a wide service area into clean geographic blocks, removing the cross-region zigzag.

03

Bookings, reschedules and cancellations all live inside GoHighLevel — no duplicate entry, no second calendar.

04

The internal portal replaces phone-tag scheduling, and centralised logging surfaces API failures before a customer escalates.

★ ★ ★ ★ ★
From the start, they took real ownership of our development work not just executing tasks, but actually thinking through problems and coming back with ideas we hadn't considered.
JEREMI  ·  CO-FOUNDER OF AGENTYX
Route OptimizationField Service SchedulingCRM IntegrationBooking SystemSpatial SchedulingHVAC
/CASE-STUDY/HVAC-BOOKING-THAT-ONLY-OFFERS-ROUTES-THE-FLEET-CAN-ACTUALLY-DRIVE
FREE AUTOMATION AUDIT

Your scheduling is guessing too. Thirty minutes tells you where.

We map exactly where your operation loses hours and which constraint to enforce first — specific to your fleet, not a case study.

DURATION30 MIN
COST$0
YOU LEAVE WITH1 NAMED PROCESS
DURATION30 MIN
COST$0
YOU LEAVE WITH1 NAMED PROCESS
SERVICES@CODOROAI.COM →