HVAC Dispatch Software Compared: Which Has AI Routing for Small Fleets?

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for HVAC Dispatch Software Compared: Which Has AI Routing for Small Fleets?
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for HVAC Dispatch Software Compared: Which Has AI Routing for Small Fleets?

For a small HVAC fleet, Jobber (Connect plan and above) and Housecall Pro (Max plan, $299 a month on annual billing) both offer route optimisation, while ServiceTitan's Dispatch Pro adds skill-based job assignment but is quote-only. The limits matter: Jobber reorders only anytime visits and Housecall Pro only within one technician's day.

That is why the choice should come from a test, not a ranking. Replay a week of your own jobs through each tool and count drive minutes, kept arrival windows and manual fixes. Housecall Pro's routing page makes no AI claim, Jobber describes optimisation without an AI label, and only ServiceTitan presents job assignment as Titan Intelligence.

Follow me on Instagram@sagnikteaches

What each product's routing actually does, and what it leaves alone

Marketing pages say routing. The help articles say what it will and will not touch, and those limits decide whether the feature is any use on an HVAC day full of customer arrival windows.

Connect on LinkedInSagnik Bhattacharya
ProductWhat it reorders or assignsStated limits
Jobber (Connect, Grow and Plus; not Core)Anytime visits only, using actual driving distance, for one person, a group or the whole team, up to 7 days per runScheduled visits are not reordered; admins only; web only, not the app; no fixed home or depot for a technician, with drag-to-top or drag-to-bottom workarounds
Housecall Pro (Max for one-click optimisation; Essentials for Routes)Reorders one technician's jobs within a single day using real job locations and live trafficDoes not move jobs to other days or other technicians; start and end default to the company address; a job can be skipped if its window conflicts with locked jobs
ServiceTitan Dispatch Pro (Pro products)Job assignment recommendations based on technician skill, location and performance, with goals such as drive time or ticket sizeQuote-only; the page lists maximum drive time between jobs and custom technician start and end points as settings
Workiz and FieldPulseScheduling and dispatching; both are quote-onlyTheir pricing pages describe no route optimisation, so ask for a live demo

Two details deserve a closer look. Jobber's help article says optimisation uses the day's anytime visits and that you cannot set a technician's home as the fixed first stop; instead you drag a visit to the top, tick Keep first appointment at start of route, or create an anytime visit for your office. Housecall Pro's help article says start and end points default to the company headquarters address and can be changed per technician, jobs with a confirmed arrival window can be locked before optimising, and you can save with or without notifying customers. A job whose window clashes with the locked ones, or falls outside business hours, is skipped: it stays at its original time and you get a warning, so read the warnings before you save.

Subscribe on YouTube@sagnikteaches

ServiceTitan's page describes a control range from full automation to on-demand suggestions through Dispatch Assist. It quotes results from select customers, measured over six months before and after going live, and its drive-time figure differs within the page: a 6% reduction in the body text and 10% in the FAQ, with a note that individual results may vary. Treat both as vendor claims to test, not promises. Housecall Pro's feature page describes auto-assigning the closest available technician without calling it AI, and its pricing page puts AI Team on every plan and a CSR AI call-answering add-on separately.

What a four-van fleet pays for the plans that include routing

Take four technicians plus a dispatcher, which makes five users. These are monthly-billing list prices in USD from each vendor's own pricing page, before promotions; annual commitments are cheaper at both vendors.

PlanFive users, monthly listTwelve monthsRouting included
Jobber Connect$199$2,388Yes, anytime visits only
Jobber Grow$299$3,588Yes, same limits
Housecall Pro Essentials (five users)$189 ($149 on annual billing)$2,268 ($1,788)Routes: group and sequence jobs
Housecall Pro Max (eight users included)$329 ($299 on annual billing)$3,948 ($3,588)One-click reorder on live traffic
ServiceTitanQuote per technicianUnknownDispatch Pro as a Pro product
Routific, standalone$0 up to 100 orders, then $150 flat to 1,000$0 to $1,800Time windows, capacities, driver shifts

Housecall Pro's Max plan also lists extra users at $35 a month, and Jobber's page lists a Plus plan at $499 for five users. The step up to routing costs a five-user firm very different amounts. On Jobber it costs nothing extra: Core covers one user only, so Connect at $199 is the cheapest plan that fits, and optimisation comes with it. On Housecall Pro, Essentials lists Routes, described as grouping and sequencing jobs, while the one-click reorder on live traffic sits on Max, $140 a month more on monthly billing or $150 on annual billing. A one-van owner faces a third step, Jobber Core to Connect at $90 a month. Whichever applies, the routing has to save more than its step to earn its place. The Jobber plan breakdown for a small crew and the Housecall Pro pricing walk-through go through the rest of each bill.

Replay one week of real jobs before you pay for anything

Vendors can show you a tidy demo day. Your week has an emergency at 10:40, a customer who must be home, and a two-person install that ties up two technicians for the day. Replay it. Plan on about three hours per tool if you test three representative days (your busiest, a tune-up day and a day with an emergency) rather than all five.

  1. Export last week's completed jobs with job number, address, van, scheduled start, arrival window, duration and job type. About 20 minutes, longer if your system exports badly; the messy-data tutorial helps with that.
  2. Label each job as fixed, flexible or anytime. Fixed means the customer confirmed a time. Flexible has a wide window. Anytime has no start time. About 30 minutes with an assistant.
  3. Record the actual drive time per van and day from GPS history or the phone's location timeline. About 30 minutes.
  4. Rebuild each chosen day in each tool and note which jobs it refused to move. About 40 minutes per tool.
  5. Score the result on the sheet below.

An assistant is useful for step two, but only as a sorter. Paste the export without customer names and phone numbers.

Below are rows from last week's HVAC job export (job no, address area, window text, job type, duration).
Add three columns:
- booking_type: "fixed" if the customer confirmed an exact time, "flexible" if there is a window
  wider than 2 hours, "anytime" if there is no start time.
- skill: "install", "service" or "tune-up" from the job type.
- two_person: "yes" if the notes say a second technician or helper is needed.
If you cannot tell, write "check" and do not guess.
Return a table with the original columns first.

A sample result, with one row for a person to fix.

1198 | north | 9:00-11:00 | AC tune-up | 60 min | flexible | tune-up | no
1201 | north | none | agreement tune-up | 60 min | anytime | tune-up | no
1203 | east | 13:00 confirmed | no-cool callback | 90 min | fixed | service | no
1207 | east | 8-12 | furnace install, day 2 | 480 min | check | install | yes

Row 1207 is the one for a person. The assistant wrote check, which is the right answer, because a multi-day install belongs to a crew and not to a route at all. Tell the optimiser to leave it alone.

Score sheet, per toolResult
Total drive minutes, actual against optimised, on each test day
Arrival windows kept, out of the fixed and flexible jobs
Jobs the tool refused to move, and why
Manual fixes needed before the plan was usable
Minutes to produce the plan
What happened when an 11:00 emergency was added
Did customers get a notification they did not expect?

A sample Tuesday: how each routing rule limits the saving

These numbers are illustrative: they show what each rule set permits in principle, not results from any vendor's product. The day has 18 stops across four vans: 6 anytime tune-ups, 5 flexible jobs with wide windows and 7 jobs with customer-confirmed times. As dispatched, the vans drove 370 minutes in total.

Rule setJobs free to moveDrive minutesMinutes saved
As dispatchedNone370None
1: only anytime visits move (Jobber's stated rule)635614
2: confirmed times locked, the rest move within each van's day (as Housecall Pro's article describes)1133139
3: as rule 2, and jobs can also change vans by location and skill11, across vans31555

Put a price on it. Say a van-hour costs $70 in wages, fuel and wear, and that every day looked like this Tuesday. Rule 1 saves about $16 a day, or roughly $350 a month at five days a week. Rule 2 saves about $45 a day, or $985 a month. Rule 3 saves about $64 a day, or $1,390 a month. Those are paper savings. Rule 1's 14 minutes are spread across four vans, three or four minutes each, which buys fuel but never another job; on Jobber, where a five-user firm pays nothing extra for the optimiser, the real cost is the admin's time to run it each morning. Rule 2's 39 minutes cover Housecall Pro's $140 step to Max several times over, but only if the freed time turns into one more job per van each week or less overtime. Otherwise the saving is just a calmer afternoon.

The 15% saving under the loosest rule is higher than the 6% to 10% ServiceTitan quotes, a reminder that a test on your own jobs matters more than a number in a brochure. If most of your jobs are confirmed times, the optimiser will have little to do whichever product you choose.

The score sheet filled in for one tool

Here is how the sheet from the replay might read for Housecall Pro Max on that Tuesday, run van by van because its optimiser works on one technician's day at a time. The entries are illustrative.

Housecall Pro Max, sample TuesdayResult
Total drive minutes, actual against optimised370 against 331
Arrival windows kept12 of 12 (7 locked, 5 flexible)
Jobs the tool refused to move, and why1: a flexible job whose window clashed with two locked calls, skipped with a warning
Manual fixes needed before the plan was usable2: a tune-up moved after a parts pickup the tool knew nothing about; a job pulled back behind a customer's "after 2 pm" note in the job description
Minutes to produce the plan9 for four vans
What happened when an 11:00 emergency was addedPlaced on van 2 by hand; re-optimising moved one tune-up
Did customers get a notification they did not expect?No: saved without notifying, then the office messaged each customer whose time changed

Read it the way a dispatcher would. The drive saving is real but modest, no promise broke, and both manual fixes came from information the optimiser never had: a parts run and a note in free text. That pattern holds for every tool here, so before the replay move constraints such as "after 2 pm" out of the notes and into the arrival window. Six fixes on the busiest day would eat the 39 minutes in dispatcher time.

The same fleet on a tune-up Thursday

Change the job mix and the same rules give a different answer. Picture an autumn Thursday, again with illustrative figures: 15 stops, of which 11 are agreement tune-ups with no start time, 2 are flexible and 2 are confirmed times. As dispatched, the vans drove 300 minutes.

Rule setJobs free to moveDrive minutesMinutes saved
As dispatchedNone300None
1: only anytime visits move1125248
2: confirmed times locked, the rest move1324159
3: as rule 2, with changes of van13, across vans22575

On this day rule 1 saves 48 minutes, more than three times the 14 it managed on Tuesday, although the rule is identical. At $70 a van-hour that is about $56 a day. Jobber's limit costs little in a tune-up season and a lot in a week of timed calls, so the same product can be the right buy for one firm and the wrong one for another.

Why timed HVAC days leave little for an optimiser to move

Count your own mix before comparing tools. A week made mostly of confirmed-time service calls gives Jobber's anytime-only rule almost nothing to reorder, while a spring or autumn tune-up week of agreement visits with no start time gives it plenty. That is the single most important question for Jobber: what share of your visits have no start time? As a rule of thumb, if it is under a fifth, the Connect plan's routing will rarely change your day.

Housecall Pro's lock feature solves the timed-job problem more directly, since the confirmed jobs stay put and the flexible ones reorder around them. Its limit is the other direction: it works on one technician's day at a time, so it cannot rebalance work between vans. If your problem is that van two is overloaded and van three is idle, the answer is a dispatcher or a tool that assigns, which is what ServiceTitan's Dispatch Pro describes, and what you must see on your own data in a demo.

Three HVAC realities shape every test. First, skills differ: install crews and service technicians are not interchangeable, so an optimiser that ignores skill produces routes nobody can run. Second, jobs depend on parts, and a job that needs a part from the supplier moves the whole day. Third, emergencies arrive mid-day, and the real test of any tool is how many clicks it takes to fit a no-cool call into a day that is already full without breaking three arrival windows. During a summer surge that test matters more than the headline saving; the summer surge checklist covers the rest of the preparation.

An 11:00 emergency, step by step

Take van 2 on the same Tuesday: a tune-up at 08:00, a customer-confirmed service call at 10:00, a tune-up pencilled for 11:45, another confirmed call at 13:00 and a last tune-up at 15:30. At 11:00 a no-cool call arrives ten minutes from the van. The two confirmed calls cannot move, so the emergency takes the 11:45 slot, the displaced tune-up slides to after the 13:00 call, and the 15:30 tune-up shifts by half an hour or moves to another day. No confirmed window breaks and two anytime visits move.

A tool that touches only anytime visits can produce that plan. It cannot know that the emergency matters more than the tune-up, so a person has to say so, and the tool's job is the tidy reshuffle afterwards. In the demo, ask each vendor to do exactly this live, and count the clicks and the customer messages that go out.

Why a chat assistant is not the answer

An assistant can tidy a job list or draft customer messages, but it has no road network and no live traffic unless a maps tool is connected, so any drive time it states is a guess. Use it for steps one and two of the replay, not for sequencing stops.

Which tool to replay first, by the shape of your week

The mix of jobs should choose where you start, because each product's stated rule suits a different week.

Your week looks likeReplay firstReason
Mostly agreement tune-ups with no start timeJobber ConnectIts optimiser only moves anytime visits, so this week gives it the most to do
Mostly timed service calls, three to eight vansHousecall Pro MaxLocks confirmed jobs and reorders the rest within a technician's day
Many vans, high call volume, work that should change vans by skillA ServiceTitan demoDescribes assignment by skill, location and performance, but is quote-only
Under three vans, or mostly multi-day installsA dispatcher and a spreadsheetLittle to reorder; the plan uplift is unlikely to pay

Standalone routing: when Routific beats your job software

Routific's pricing page lists a free tier up to 100 orders a month and a flat $150 a month up to 1,000 orders, charged per order and not per driver or vehicle. It says it optimises with time windows, capacities and driver shifts. An order counts once, when it is scheduled to a route, and uploaded orders that cannot be scheduled are not counted.

For testing, that free tier is useful: three representative days for the four-van fleet come to about 55 stops, well inside 100, so you can run a replay without paying. For daily use, it only makes sense when your job software has no optimiser. Jobber's Core plan lists no route optimisation, and moving from Core at $49 to Connect at $139 for one user costs less than Routific's $150, with the routes living in the same record as the jobs. Standalone routing also means exporting jobs, optimising them elsewhere and re-entering the order, and that rekeying is where errors enter.

Questions to put to ServiceTitan, Workiz and FieldPulse sales

When prices are hidden, the questions you ask decide what you learn. Put these in writing and keep the answers.

  • What is the per-technician monthly price for four technicians and one dispatcher, and is Dispatch Pro or routing included or extra?
  • Is there a minimum number of technicians, an onboarding fee or a contract term?
  • Can you run my Tuesday, including the confirmed windows and the 11:00 emergency, in a live demo?
  • Does the optimiser respect technician skills and a maximum drive time, and where do I set them?
  • Does a re-route notify customers automatically, and can I switch that off?
  • What happens to my data and my schedule history if I leave?

FieldPulse's pricing page lists a Maverick AI assistant for the office on all plans and shows 24/7 AI Dispatching only as a feature link, and Workiz lists Genius Scheduling on its Pro and Ultimate plans, so ask each to show exactly what those names do. For a view of one of them, the ServiceTitan Titan Intelligence tutorial explains who the product suits.

How AI call answering feeds the board before routing starts

Jobber lists its AI Receptionist as a $29-a-month add-on and includes it on Plus, and Housecall Pro lists a CSR AI add-on that answers calls and chats, with no price on its page. Both can put jobs on the board while nobody is at the desk. That helps routing only if jobs arrive with a full address, a job type and a window you can keep. If the receptionist books a tune-up into the same 8 to 12 window as three others on the far side of town, the optimiser inherits the mess.

Set the booking rules first: windows by area and weekday, the longest drive you accept between bookings, and which job types always go to a person. The HVAC receptionist tutorial on routing sales calls covers that side in detail.

Where routing output should not be trusted

Emergencies come first. A no-heat call in winter should be assigned by a person, because speed and the customer's situation outweigh drive minutes. Two-person installs come second, since an optimiser that treats the crew as one stop will scatter it. Jobs that depend on a customer being home come third; an arrival window is a promise, and a reordered route can quietly break it. Housecall Pro's save options, with or without notifying customers, are a reminder to check what a re-route will send before you click.

The decision rule can stay simple. Adopt a tool only when the replay shows a net saving above its plan uplift on at least two of the three test days, no broken confirmed windows, and fewer than three manual fixes per day. If nothing passes, spend the money on a dispatcher's hours or on grouping tune-ups by area, which costs nothing. The tutorial on AI job scheduling for field service teams covers that groundwork, and if you would rather work through your own week with someone, that is what my AI implementation consultation covers.

HVAC dispatch software: questions about routing

Does Jobber route optimisation work for timed HVAC appointments?

Jobber's help article says only anytime visits, meaning visits with no scheduled start or end time, can be optimised, so timed appointments stay where they are. It suits a tune-up day better than a day of timed service calls, and only admins can run it, on the web rather than in the app.

Is Housecall Pro's route optimisation on every plan?

No. Its pricing page lists Routes, which groups and sequences jobs to cut drive time, on Essentials, and one-click optimisation using real drive time and live traffic on Max. Its help article on optimising by drive time says the feature is available only on Max. Basic lists neither, so price the step to Max before you plan around it.

Can a small fleet afford ServiceTitan's Dispatch Pro?

ServiceTitan publishes no prices. Its pricing page names Starter, Essentials and The Works tiers with per-technician quotes, and Dispatch Pro sits under its Pro products. Ask for a written per-technician price, any minimum fleet size, and a demo that runs your own week of jobs.

Can ChatGPT plan my technicians' routes?

It can sort a job list by area, but unless a maps tool is connected it has no road network or live traffic, so any drive times it quotes are guesses. Use your job software's optimiser or a routing tool, and use an assistant only to tidy and label the job list first.

Further reads

Sources: Jobber pricing page and its routing help article; Housecall Pro pricing page, routing feature page and drive-time help article; ServiceTitan pricing and Dispatch Pro pages; Workiz, FieldPulse and Routific pricing pages. Read in October 2026.

Want your dispatch board tested on real jobs?

On a 1:1 call we'll look at how your week of jobs is scheduled today, work out which constraints an optimiser must respect, and decide whether your current job software can already do the routing.

Book a 1:1 call with me