Online booking
The Customer Picked Thursday at 10. Does the Dispatch Board Know?
Online booking is the feature every contractor wants and every dispatcher quietly dreads. The customer wants a time. The dispatcher wants a board that is still true at 4 p.m. There are two honest ways to give both, and a clear trade between them.
October 26, 2026 · 11 min read
The short answer
ServiceTitan offers online booking through Scheduling Pro, a Pro add-on that installs on your website as a script and opens as an overlay. The alternative is a custom booking flow built into your pages that sends each request to ServiceTitan's bookings API with its source attached. Scheduling Pro is the shorter install; the custom flow controls design and tracking.
On this page
- Two Book Now buttons that only look alike
- Scheduling Pro, and the install details that decide whether it tracks
- A custom flow that belongs to the page instead of hovering over it
- An open slot is a promise, so the calendar must not bluff
- On either side of the screen: the customer's view and the dispatcher's
- Scheduling Pro or custom: where each one wins
- Click through a demonstration, then get a fixed price
Two Book Now buttons that only look alike
Every Book Now button makes the same promise. Behind it, a contractor running ServiceTitan has two real choices. The first is ServiceTitan's own: Scheduling Pro, which its product page calls an "omnichannel booking engine built for ServiceTitan contractors." The second is a booking flow we build into your own pages, which hands each request to ServiceTitan through its bookings API. Both put the request in ServiceTitan. They differ in who designs it, how it tracks, and what it does when the board fills up.
There is a third arrangement, the Book Now button that opens a contact form and emails the office, but calling that online booking is generous. It is a request to be called back, dressed for the occasion. If that is what your site has, the web forms page is the quicker repair, and this page is the next step. The rest of the integration picture is on the ServiceTitan integration hub.
Scheduling Pro, and the install details that decide whether it tracks
Scheduling Pro is a Pro add-on with no published price and a try-before-you-buy demo. It replaces ServiceTitan's legacy Schedule Engine, and it can take bookings on your site and on your Google Business Profile, which it reaches through Reserve with Google. Requests land in ServiceTitan as jobs in the Unassigned section of the Dispatch Board or as booking requests on the Calls screen. ServiceTitan's help center puts it plainly: requests come in "as booked jobs or leads dependent on your setup."
On the website it is a script, not an iframe. The install tag loads ServiceTitan's scheduler file with your scheduler ID and a brand data API key, and the scheduler opens as an overlay when a visitor clicks any element carrying the se-booking-show class. ServiceTitan's install guide covers custom sites and the major builders. The details that separate a good install from a merely working one are small:
- Whitelist every domain. The scheduler will not load on a site missing from Scheduler Details. ServiceTitan recommends listing both example.com and www.example.com, plus any staging address.
- Use the script, not the link. The URL-parameter install reloads the page and, in ServiceTitan's words, "can disrupt lead source tracking." ServiceTitan recommends custom code instead.
- Decide where it opens by itself. The data-auto-open attribute launches the scheduler as the page loads. That suits a dedicated booking page and irritates visitors everywhere else.
- Choose the capacity option on purpose. Scheduling Pro offers four: Adaptive Capacity, Adjustable Capacity Planning, Business Hours and Custom Capacity. The choice decides what a customer is allowed to pick.
When the install is clean, attribution is a strength. Each job booked through Scheduling Pro gets a marketing campaign "using the same logic as ServiceTitan DNI," counts as a Web Booking lead, and, when the visitor came from Google Ads, goes back to Google as a booked job originated from the website. Sessions abandoned just short of booking are visible through the API, and Scheduling Pro's own webhooks for completed and abandoned sessions are in Private Preview.

A custom flow that belongs to the page instead of hovering over it
The custom route starts from a different premise: booking is part of the page design, not a window opened on top of it. The steps are yours. A furnace page can ask about the furnace. A water heater page can ask gas or electric before it asks for a time. The flow can sit inline on a service page, carry your fonts and photos, and work without a third-party script. Our Next.js builds run it on the server, where the keys stay out of reach.
Underneath, the site creates a booking with the endpoint ServiceTitan itself suggests for a custom widget on a website. The schema requires a source, a name, a summary, whether the customer is new, and an external ID. It also accepts an address, contacts, a campaign, a business unit, a job type, a priority, a start time and whether to send a confirmation email. Before the first booking, the office creates a Booking Provider Tag in ServiceTitan's settings and selects it when connecting the app, and an account configuration must be on for bookings to appear on the Calls screen.
Then the attribution. A second call ties the booking to the visitor's web session: the landing page and referrer, plus any click IDs and UTM tags the visit carried. With Marketing Pro Ads connected to Google Ads, bookings sent this way with a Google click ID are reported as "ServiceTitan Integrated Bookings." That is how a booking made on a Tuesday night becomes a conversion your ads can learn from. The whole loop is on the Google Ads conversion tracking page, and the API program behind it is on the ServiceTitan API page.
An open slot is a promise, so the calendar must not bluff
This is where online booking earns its reputation with dispatchers. A calendar that offers Thursday at 10 when Thursday is already full does not save a phone call. It creates an awkward one. So the honest question for any booking flow is where its availability comes from, and how fresh it is when the customer sees it.
Scheduling Pro reads availability from ServiceTitan; its product page promises "real-time availability based on your dispatch board." A custom flow asks ServiceTitan's capacity endpoint, which ServiceTitan describes as "real time data about total capacity and availability to add jobs," for a date range and, optionally, a business unit and job type. Since November 13, 2025, each capacity request covers at most 14 days. Arrival windows and business hours have endpoints of their own, so the windows on the page can match the windows your office actually sells.
Fresh is not the same as reserved. Between the moment a customer sees a slot and the moment they press confirm, a CSR can fill it, and the main API sends a website no notice when that happens. So we design the flow to tell the truth. The customer picks a requested window, the server checks capacity again before sending, and the booking arrives on the Calls screen for the office to confirm. Contractors who want instant confirmed jobs can have them, because the API creates customers, locations, jobs and appointments, but that is a policy decision before it is a technical one.
Fresh availability is not a reserved slot, and the page should say which one it is showing.
The customer books
A form, a booking flow or the site's assistant, on the contractor's own website.
The site checks and sends
The server validates the request and hands it to ServiceTitan through its API.
ServiceTitan gets a booking
Name, address, phone, the problem and the source, waiting for a dispatcher.
A dispatcher makes it a job
No retyping, no lost sticky note, and the lead keeps its source all the way to the invoice.
On either side of the screen: the customer's view and the dispatcher's
A good booking flow is really two products. One is for a homeowner standing in a cold kitchen with a phone. The other is for a dispatcher with forty things on the board and no patience for a vague request. Each side should get exactly what it needs and nothing it has to decode.
What the customer sees
- A few plain questions about the job, chosen for that service
- Arrival windows that match the ones your office offers
- A clear label saying the time is requested or confirmed, whichever is true
- A confirmation email, if the booking asks ServiceTitan to send one
- The phone number on every step, for anyone who would rather call
What the dispatcher sees
- A booking on the Calls screen with name, contact details and address
- A summary written from the customer's answers, not a wall of form labels
- The campaign and web session attached, so the source is never just website
- A requested start time to confirm, move or decline
- One record per request, because retries never create duplicates
Our own proof sits on the customer side. On Bleuwave Home Services, an HVAC, plumbing, electrical and handyman company in the Phoenix metro, "an on-page assistant books straight into ServiceTitan." It is one way to put booking inside the page rather than over it. The project is in our work.
Scheduling Pro or custom: where each one wins
| Scheduling Pro | Custom flow on the bookings API | |
|---|---|---|
| How it installs | A script tag and a button class, documented for custom sites and major builders | Built into the site's pages and server code |
| How it looks | ServiceTitan's overlay, customized within its settings | Your design, inline on any page |
| Where requests land | Dispatch Board Unassigned as jobs, or Calls > Bookings, depending on setup | Calls > Bookings, or jobs if you choose to build that |
| Availability | Read from ServiceTitan, with four capacity options | Read from the capacity endpoint, 14 days per request |
| Attribution | Campaign assigned with DNI logic; counted as a Web Booking lead | Web session and click IDs sent with each booking |
| Google Business Profile | Book online through Reserve with Google | Not by itself; Reserve with Google stays a separate setup |
| Abandoned sessions | Recorded, and readable through the API | Whatever the site logs on its own server |
| Price | A Pro add-on licensed from ServiceTitan; no published price | Part of the site quote; about $9,000 for a site with booking |
Scheduling Pro wins when you want booking this month, the site runs on a builder, and ServiceTitan's design is acceptable to you. A custom flow wins when booking has to feel like your brand, when different services need different questions, or when the tracking has to be exact. Plenty of contractors should run both. Reserve with Google now covers the Local Services Ad as well as the Business Profile, as the Local Services Ads page explains, while the website runs its own flow.
If your site is on WordPress and the scheduler arrived through a header plugin, the WordPress vs custom page covers what that install can and cannot do. Trade-specific examples live on our HVAC and plumbing industry pages.
Click through a demonstration, then get a fixed price
The booking page on our roofing demo shows the customer's side of a custom flow: six short steps, a two-hour window, no account and no card. It is a demonstration site we built, not client work, and it is not wired to anyone's ServiceTitan board. It does answer the question owners ask first, which is what their customer would actually go through.
A site with online booking or an estimate flow is about $9,000 on our web design pricing page. With 0% website financing at 25% down, that is $2,250 down and $562.50 a month for twelve months. Adding booking to a site you already have is quoted after a free review, and a connection between two systems typically takes one to three weeks, per our API integrations page.
Two free ways to start: the free mockup, where we design your home page with booking in it and send it over, or a free site audit of what you run today. Before any launch, the website checklist lists every booking test worth running. Or call (210) 346-0848.
Questions contractors ask about ServiceTitan integration
Yes. Scheduling Pro is ServiceTitan's online scheduler, a Pro add-on with no published price. It installs on your website with a script, can also take bookings from your Google Business Profile through Reserve with Google, and sends requests into ServiceTitan as booked jobs or booking requests, depending on how your account is set up. It replaces the legacy Schedule Engine.
No. ServiceTitan's install guide describes a script that loads the scheduler and opens it as an overlay when a visitor clicks a button with the se-booking-show class, or when the page calls the scheduler's show function. The guide does not mention iframes. A link-style install also exists, but ServiceTitan warns that it reloads the page and can disrupt lead source tracking.
It can, though we usually recommend starting with bookings. Through the bookings endpoint, requests land on the Calls screen for a CSR to book or dismiss. The API can also create customers, locations, jobs and appointments, and since December 2025 a job created through the API can carry the booking it came from. Creating jobs directly skips the person who spots the duplicate customer.
They can request the visit. A ServiceTitan help article says estimates cannot be created or booked directly from an external website into ServiceTitan, so the website sends a booking for the appointment and the office creates the estimate afterward. For replacement sales, the web forms page covers how an estimate request should be mapped.
With a custom flow, each request to ServiceTitan's capacity endpoint covers at most 14 days, a limit in effect since November 13, 2025. A longer calendar needs more than one request. For most repair and maintenance calls, two weeks of openings is plenty, and the customer who wants a date in March can still pick up the phone.
A site with online booking or an estimate flow is about $9,000 on our pricing page, with 0% financing at $2,250 down and $562.50 a month for twelve months. Adding booking to an existing site is quoted after a free review. Scheduling Pro itself is licensed from ServiceTitan, which publishes no price for it.
Keep reading
- Web formsThe Lead Nobody Has to Retype: Website Forms That Arrive in ServiceTitan WholeSend estimate, callback, contact and emergency forms to ServiceTitan as bookings with the source attached. Field map, spam filtering, retries, prices.
- The developer programBefore Any Website Touches the ServiceTitan API, Someone in Your Office Clicks AllowHow the ServiceTitan API works for contractors: access and approval, the data families a website touches, no webhooks yet, and what a custom build takes.
- Custom site, server-side linkIf a Visitor Can Read Your API Secret, So Can Everyone: Custom Next.js Sites That Book Into ServiceTitan From the ServerA custom Next.js site that sends bookings to ServiceTitan from its own server: credentials hidden, click IDs kept, pages fast. How it works, limits, prices.
- Pre-launch checklistLaunch Day Is a Bad Time to Learn the Book Now Button Goes NowhereWhat to test before a contractor website that feeds ServiceTitan goes live: booking, forms, calls, click IDs, reviews, memberships, portal, speed, SEO.
- Google Ads and ServiceTitanWhy Google Ads Keeps Buying Phone Taps, and How ServiceTitan Revenue Changes Its MindSend booked jobs and invoice revenue from ServiceTitan back to Google Ads: the exact conversion actions, click IDs, enhanced conversions and setup steps.
- Calls, matched to revenueOne Number per Source, One Campaign per Number, One Invoice at the End of the LineHow tracked numbers, ServiceTitan DNI and CallRail tie each call to a campaign, a booked job and its invoice, and what your website has to get right.
- Everything in ServiceTitan IntegrationSee the section
Put booking on your site without upsetting dispatch
Tell us how customers book today and how your board runs. We will recommend Scheduling Pro, a custom flow or both, and price the work.
Which of these sounds like you? (pick any)
Rather talk now? Call (210) 346-0848.