Online Booking
Status: Concept · Last Updated: 2026-05-15
Online booking removes the phone call from the equation for new leads and repeat customers alike. A prospect can visit the contractor's website at midnight, check available slots, and book an inspection — without anyone picking up the phone. The booking lands in the CRM, a contact record is created or matched, and the AI receptionist is standing by to answer any questions about the upcoming visit.
Two surfaces, one calendar. A public booking page for new prospects and an in-portal booking flow for existing customers both draw from the same live availability. No double-booking, no manual sync required.
Two Booking Surfaces
| Surface | Who It's For | Key Trait |
|---|---|---|
| Public Booking Page | New leads & prospects | Lives on contractor's website. No login required. Converts website visitors into booked appointments. |
| Customer Portal Booking | Existing customers | Available inside the portal after login. Contact info and address pre-fill automatically. Linked to account and project history. |
Public Booking Page
The public booking page is embeddable on any website or can be linked directly. It's fully branded to the contractor's business and shows only real available slots — no phantom availability, no callbacks required to confirm a time.
- Service selector — dropdown or visual cards for each service the business offers (e.g., Roof Inspection, Gutter Cleaning, Roof Repair Estimate)
- Service area check — customer enters their zip code; page confirms "We service your area" or shows the nearest available date if they're near the boundary
- Date/time picker — calendar shows only available dates; time slots for the selected date show in real time. Booked-out times are grayed and unselectable
- Contact info form — name, phone, email, service address. Pre-filled if the person has booked before and returns to the page
- Job description — free text field for the customer to describe what they need. Feeds into the project record and is visible to the crew before arrival
- Photo upload — optional. Customer can attach photos of the problem area (roof damage, gutters, etc.) before the visit. Stored on the project timeline
- Confirmation — after submission: confirmation page + immediate SMS and email confirmation with appointment details and a calendar invite
Booking Widget — Calendar & Slot Picker
The slot picker is driven by the live schedule, not a manually managed availability calendar.
Example widget:
- Service: Roof Inspection (dropdown)
- Service area check: zip 98105 — "We service this area" (green checkmark)
- Calendar: May 2026 — May 20 selected (available dates shown, booked dates struck through)
- Time slots for May 20: 9:00 AM (open), 11:00 AM (open), 2:00 PM (booked), 4:00 PM (selected)
Availability Logic
If a time slot is already booked or a technician is unavailable, it simply doesn't show up. The business owner controls a set of configuration rules that shape what's visible.
| Setting | Description | Example |
|---|---|---|
| Service hours | Days and hours when bookings can be scheduled | Mon–Sat, 8 AM – 5 PM |
| Buffer time | Gap between back-to-back appointments | 30 min between jobs |
| Max jobs per day | Prevents overbooking when crew capacity is limited | 5 jobs/day max |
| Advance booking window | How far out customers can book | Up to 30 days out |
| Minimum notice | Shortest lead time allowed for same/next-day bookings | Minimum 24 hours notice |
| Blackout dates | Dates where no bookings are accepted (holidays, vacations) | May 26, July 4 |
Customer Portal Booking
Existing customers see a "Schedule New Work" option inside their customer portal. The form skips the contact info step because all of that is already on file. The customer selects a service, picks a date, and submits. The booking is linked to their contact record automatically.
Example portal booking form (pre-filled):
- Name: Sarah Johnson (pre-filled, confirmed)
- Phone: (206) 555-0142 (pre-filled, confirmed)
- Service Address: 123 Oak St, Seattle WA (pre-filled, confirmed)
- Previous Service: Roof Repair (March 2026) (shown for context)
- Service Needed: Annual Inspection (dropdown)
- Button: [Select Date & Time →]
Because previous job types are shown, customers can easily request the same service again (e.g., "my annual gutter cleaning") without having to explain what they need. The AI receptionist is also notified so it can answer any questions about the upcoming visit from any channel.
Booking → CRM Record
When a booking is submitted, a chain of automatic steps fires. Nothing sits in a queue waiting for a human to process it.
Contact Created/Matched → Project Started → Appointment Added → AI Notified → Confirmations Sent
-
Contact record created or matched — The system checks for an existing contact with the same phone number or email. If found, the booking is attached to their existing record. If not, a new contact is created with the info submitted in the form.
-
Project record opened — A new project is created under the contact. Service type, address, and job description are pre-populated. Any photos uploaded during booking appear on the project timeline immediately.
-
Appointment added to the live schedule — The selected date and time slot is blocked in the schedule. The time is now unavailable on the public booking page. If a crew is assigned, their availability updates immediately.
-
AI receptionist briefed — The digital receptionist receives the booking details so it can answer any questions the customer asks (by call, SMS, or chat) about their upcoming appointment — arrival time, what to expect, how to prepare.
-
Confirmations sent — Customer receives: SMS confirmation with date/time, email with appointment details and calendar invite (.ics file). Owner/dispatcher receives: new booking alert via their preferred notification channel.
Business Configuration
Services
| Service | Duration | Status |
|---|---|---|
| Roof Inspection | 2 hrs | Active |
| Gutter Cleaning | 1.5 hrs | Active |
| Repair Estimate | 1 hr | Active |
| Emergency Repair | 3 hrs | Hidden |
Schedule Rules
| Setting | Value |
|---|---|
| Service hours | Mon–Sat 8 AM–5 PM |
| Buffer between jobs | 30 minutes |
| Max jobs / day | 5 |
| Booking window | 1–30 days out |
Service Area
| Setting | Value |
|---|---|
| Mode | Radius from business |
| Radius | 25 miles |
| Center | 98101 Seattle, WA |
| Excluded zips | None |
Notifications
| Setting | Value |
|---|---|
| New booking alert | SMS + Email · Immediate |
| Send to | Owner + Dispatcher |
| Customer confirmation | SMS + Email · Immediate |
| Reminder (24h before) | SMS to customer |
No phone tag, no scheduling back-and-forth. A prospect decides they want an inspection, books it in 90 seconds from your website, and receives a confirmation before they close the tab. The owner gets an alert. The AI is briefed. The slot is blocked. All without anyone lifting a finger.