CORNERSTONE PLAYBOOK

A booking agent that respects every constraint — not just open slots.

Calendar-aware booking agent that respects every constraint you have — travel time, service duration, technician skill match, service-area boundaries. Off-the-shelf schedulers see 'free time' on a calendar and book it. A real booking agent knows your tech can't be in two zip codes 20 minutes apart, your $1,200 install needs a 4-hour block, and your Saturday morning is…

The problem, precisely

Every service business that adopts a calendar-link product (Calendly, Cal.com, Acuity, Square Appointments) hits the same three problems within 30 days. First, the link books slots without context — a customer needing a 3-hour repair gets dropped into a 30-minute slot because the form let them. Second, it double-books across multiple resources (tech, room, vehicle, equipment) because the link only knows about one calendar. Third, and worst, it ignores travel time — your tech finishes a job in Mesa at 2:00pm and is booked in Surprise at 2:15pm, a logistical impossibility. The workaround everyone adopts is brittle: layer rule after rule into the booking form, block buffer time everywhere, manually move appointments after they're booked.

How we build it

The booking agent runs as a dedicated reasoning loop on Anthropic's API (Claude 3.5 Sonnet for the reasoner, Haiku for the fast pre-checks) with structured tools: read_calendar(date, resource_id), check_travel_time(from_address, to_address, eta), match_technician(job_type, skills), validate_service_area(zip), lookup_customer(phone_or_email), and book_appointment(start, end, resource, customer, job_type). Every booking request — whether it comes from the voice agent, the web chat widget, a Twilio SMS, or an embedded form — flows through this loop. The agent doesn't see the customer's request as 'book a slot,' it sees it as 'figure out the best available slot that satisfies all of: customer's preferred window, technician availability, technician skill match, travel time, service area, and any business rules I'm given (Saturday is owner-only, no installs after 3pm Friday, etc.).' The calendar source of truth stays in whatever you already use — Jobber, Housecall Pro, ServiceTitan, Google Calendar, Acuity. We integrate via the official API for each, with webhook callbacks so a booking made elsewhere updates our cache within 2 seconds.

What you get

Plumbing operator: 6.4 wasted dispatches/week eliminated × $180 truck-roll cost = $1,150/week saved.

A worked example

A 4-tech plumbing shop in Austin cut wasted truck-rolls from 9% to 1.8% in the first 30 days. Net savings: $4,400/mo on truck-roll costs alone, before counting the additional jobs the freed-up tech capacity absorbed.

Cost and timeline

Starts at $4,000 build. Ongoing: $399/mo + API pass-through (~$80/mo for typical 4-tech shop). Ships in 21 days. Delivered as Intelligent Booking Software, available across United States, Canada, UK.

Does it work with my existing calendar?

If your calendar has an API, yes. Production integrations: Jobber, Housecall Pro, ServiceTitan, FieldEdge, Acuity, Cal.com, Google Calendar, Microsoft 365 Calendar, Salesforce, HubSpot. Anything else we wire via n8n in 1–2 days. We do not replace your calendar — your calendar stays the source of truth.

How does the travel-time check actually work?

We call Google Distance Matrix at booking time with the previous appointment's address and the candidate appointment's address, using time-of-day-aware traffic estimates. If the gap is insufficient (with your configured buffer — default 15 min), the slot is rejected and the next viable one is offered. The check adds ~400ms to the booking flow, which is invisible inside a 30-second conversation.

What if I want a human to approve bookings before they go live?

Optional approval gate — agent stages the booking as a 'pending' hold with a 4-hour timeout, sends you the details by SMS, you reply Y/N. Useful for high-ticket installs ($2K+). Default mode for routine repairs is auto-book, because the latency kills your conversion rate otherwise.