A booking widget that quotes your prices, not a guess
The booking widget is a five step form you put on your own website with one script tag. It reads your price list as the visitor answers, so the number on screen is the number you would have quoted. It offers only times your calendar can actually take, holds the chosen slot for ten minutes, and on submit creates the customer, the property, the recurring job and the first visit. It does not collect a payment: the job lands on your calendar and the invoice follows the completed visit.
Copy the snippet
Settings, Widgets shows one script tag with your public key. Paste it where the widget belongs. If your page builder strips scripts, the same page is offered as a plain iframe.
Add your domain
A new widget starts in test mode, which allows localhost and nothing else. Add your live domain before you publish. Every request behind the widget is checked against that list, not only the frame.
A visitor walks five steps
Service, home details and add-ons, how often, a real time from your calendar, then their name and address. Prices come from your price list as they choose, not from a form you filled in once.
The job lands on your calendar
One submit creates the customer, the property, the recurring job and the first visit, records what the visitor agreed to, and stamps where the booking came from. The confirmation message goes out through your normal automations, so consent and quiet hours still apply to it.
The visitor sees a price and a real Friday, not a callback form
The widget carries a step meter, the running price for the service and add-ons chosen so far, and the recurring price alongside the first clean when a frequency is picked. Going back a step keeps every field, and the slot hold survives the move to the details step.
The frame draws on a transparent background and reports its height as the steps change, so your page color shows through and there is no inner scrollbar.
Pick a time
The flow
- Five steps: choose a service, about your home, how often, pick a time, your details
- Add-ons priced and timed on the home details step, each one shown with its price and minutes
- Frequency step prices every option side by side: one time, weekly, and every two, three or four weeks
- Times come from your workday windows, member availability, existing visits, your buffer and your minimum notice
- The chosen slot is held for ten minutes while the visitor finishes typing
- A retried submit returns the booking the visitor already has instead of buying a second one
What a booking writes
- Customer, matched to an existing one by email or phone rather than duplicated
- Property with the address the visitor typed
- Recurring job when they picked a frequency, plus the first visit on the calendar
- Consent record for appointment texts, and a separate one only if they ticked the marketing box themselves
- Lead source, so the widget shows up in your reporting as the thing that produced the job
The four widgets
- Booking: the full five step flow
- Price calculator: live pricing, shown freely or released after contact details so it captures a lead
- Lead form: a short form for visitors who would rather be called back
- Reviews: the reviews you approved, with your average, marked up for search engines
Control and measurement
- Domain allowlist covering prices, open times, bookings and leads, not just where the frame draws
- Per key rate limits by visitor, so a copied snippet cannot flood your inbox
- Accent color, corner radius and light or dark set in your widget settings, with a live preview
- Funnel counted per widget: views, starts, steps, completions and the revenue attributed to a completion
- A broomdesk:booked event on your page, so a completed booking can reach your own analytics
It has a phone number on it and a contact form nobody fills in. The widget turns that page into a booking page without rebuilding it.
How much for a three bed deep clean. The calculator widget answers it from your price list while you are inside somebody's kitchen.
The funnel counts views, starts, completions and attributed revenue per widget, so the page stops being a guess.
Does the widget take a deposit?
Not today. The widget finishes at a confirmation screen: the booking creates the job on your calendar, and the invoice follows from the completed visit the way it does for any other job. Deposit collection inside the widget is on the build list and is not shipped, so nothing on this page promises it.
Will it show a time I cannot actually work?
No. Openings are computed from your workday windows, each member's availability, the visits already booked, the buffer between jobs and your minimum notice. A visitor cannot pick a slot that is not open, and the slot is held for ten minutes so two visitors cannot take the same one.
What if someone copies my snippet onto another site?
It stops at the allowlist. The key alone is not enough: the server checks the requesting domain on every call behind the widget, so a copy on another site cannot pull your prices, read your openings, or put a booking on your calendar.
Does it work on WordPress, Wix and Squarespace?
Yes, and on hand written HTML. Builders that strip script tags get the plain iframe instead. The install docs cover both, including what to check when the frame looks cut off.
Try everything free for 14 days.
Import your clients tonight, drop the widget on your site tomorrow, and watch the calendar fill itself. Full Pro features for 14 days, no card at signup, no charge when the trial ends, and a 30-day money-back guarantee on your first payment whenever you decide to make one.