- An owner or an admin sees every booking.
- Other members see their own bookings, the bookings of their people, and the bookings of the conversations they see.
- Only an owner or an admin can create, change or archive a service. Other members get a
403withOwners and admins change what customers can book.
2026-11-03T09:00:00+04:00. A time without an offset
returns 400.
Read free times
The reply has
slots, app, duration_minutes and zone. Each slot has start, end, host (id and name),
host_time and customer_time.
Make a booking
201.
starts_at (required), host_id, service_id, duration_minutes, title, location, notes,
customer_name, customer_phone, customer_email, contact_id, case_id and key. With no host_id, a service
that belongs to the business has no host and any other booking is hosted by the caller. The booking goes through the
same checks as a booking by an agent. When the time is not free, the call returns 400 with a detail sentence.
Send the same key again to book once: a retry makes the same booking.
The list is
{"bookings": [...]}, ordered by start time. A booking that ended more than an hour ago is left out
unless you send from. A new starts_at in a PATCH moves the booking and checks the time again. status takes
booked, done, cancelled or no_show. A change to cancelled tells the host. PATCH also takes title,
location, notes, customer_name, customer_phone, customer_email and archived: true.
Services
A service is something a customer can book: its length, its place, its notice, its hosts and its own page.currency is a three-letter code. send_confirmations switches the booking confirmation workflow on or off.
Hours and time off
Each time off is
{id?, starts_at, ends_at, reason?, cover_id?}. The list replaces the current and later ones. A time
off ends after it starts. Empty hours means the business hours apply. A member who is not a manager gets 403 on
the members list.
The public booking page
A service with aslug has a public page. It needs no token. The page uses these two calls. You can call them from
your own site.
GET reply has slug, name, description, minutes, location_type, business, zone and slots. Each
slot has start, end, host_id and time. Free times start on a quarter hour, and the page looks ahead at most
21 days.
The POST takes start, name and email (all required), and phone, host_id, zone and b. It returns
ok set to true and a booking object with starts_at, ends_at, title and location.
The person is found or made from the email. The booking goes into the calendar of the business, and the booking
confirmation workflow tells the customer when it is on. A link that came from a broadcast email carries
b, and the
booking then adds the person to that broadcast campaign.