Get booking configuration
API reference
Get booking configuration
Services, their questions, branding, and the tenant timezone.
GET
Get booking configuration
Everything needed to render the form. Call it once when the page loads.
Questions live inside each service
form_fields is a property of a service, not of the tenant, and there is deliberately
no top-level mirror — a mirror is how the two lists drift and the form starts asking the
wrong thing. If the customer switches service, re-render from the new service’s list.
See Questions in the guide for the per-type validation rules and a
client-side normalizer that matches the server.
Things that will catch you out
price_centscan benulland carries no currency.nullmeans the tenant doesn’t publish a price for that service — render nothing, not “$0”.sms_consent_enabledis a tenant-level capability, not a prompt. It istrueonly when the tenant has an active phone source. Show the consent checkbox only when it istrueand the customer has entered a phone number.- Only active services appear. Combined with the 5-minute shared cache, a service
deactivated moments ago can still be listed here and then fail the submit with
400 invalid_service. Treat that error as “reload the config”, not as a bug. - A question that was soft-deleted while still attached is silently skipped, not an error. The booking page stays up; the missing question is only visible in our logs.