Native Website Booking is a separate plan entitlement. A plan may include Online Booking and the Hosted Booking Page without including this channel.
Before you start
You need:- Online Booking enabled and configured;
- the Native Website Booking entitlement in your plan;
- permission to manage Online Booking settings;
- access to your website’s DNS and source code;
- one canonical HTTPS hostname for the booking page.
example-detailer.com. Redirect alternate hostnames such as www.example-detailer.com to the canonical hostname with a permanent 301 or 308 redirect.
Connect a website
1
Add the canonical hostname
Open Settings → Website Integration → Online Booking → Native Website Booking. Enter only the hostname, without
https://, a port, path, query string, or wildcard.2
Publish the DNS challenge
Copy the TXT record name and value shown by the CRM into your DNS provider. The challenge value is shown when it is created, so store it until DNS verification succeeds. A pending challenge expires after 48 hours; if it expires, add the hostname again to generate a new one.
3
Verify and provision
After DNS propagates, select Verify domain. The CRM verifies ownership, assigns managed Turnstile protection, and marks the hostname Active when provisioning succeeds.
4
Install the shared runtime
Copy the integration declaration shown for the active domain and place it where booking should appear on your website.
5
Match your website design
Style the documented
.adc-booking* classes from your site’s stylesheet. Keep booking state, validation, pricing, availability, and submission logic in the shared runtime.6
Test the complete flow
Test service selection, date and time, contact details, CAPTCHA, submission, and the resulting CRM lead or order on desktop and mobile.
Integration declaration
The CRM generates the correct booking token for your workspace. The minimum declaration has this shape:en and es.
What each side controls
Do not copy the runtime into your repository or hard-code services, fees, the business phone, a Turnstile site key, or API behavior. Those values come from the tenant’s live CRM configuration.
Domain states
Disabling a hostname blocks new external booking requests before provider cleanup completes.
A pending, unverified hostname does not reserve that hostname. The CRM reserves it for the workspace only after ownership verification succeeds and provisioning begins.
Security boundaries
- The booking token and Turnstile site key are public browser values, not account credentials.
- Turnstile secrets and Cloudflare management credentials remain server-side.
- All public booking endpoints enforce the same exact tenant/domain origin policy.
- The submit endpoint verifies the Turnstile action and Cloudflare-reported hostname.
- The CRM recalculates prices and availability before creating a record.
- Submission retries should reuse the same
Idempotency-Key.
Online Booking
Configure the booking backend shared by hosted and native channels.
Scheduling & Availability
Configure the shared hours, capacity, resources, and booking rules.
Public Booking API
Review the advanced endpoint contract and error responses.