Overview
Creates a booking for either an appointment with a staff member or registration for a group event.
Relationship to appointments and events
A booking is the lifecycle/action interface for scheduled items:
- For an appointment booking, this endpoint creates the appointment on the business calendar and returns it as a
bookingobject. - For an event registration, this endpoint creates a registration (attendance) for the event instance and returns it as a
bookingobject.
When to use
If you are looking for an endpoint to create appointments or register clients to events, this is the endpoint to use.
Authentication
Available for Client and Staff tokens. The endpoint also accepts unauthenticated requests, which is how anonymous client-portal / LiveSite bookings are created: when no token is supplied, the client is resolved (or created) from the email in form_data.fields.
Supply a Client token together with client_id to book on behalf of an existing, known client.
Required fields
business_id is always required. For an appointment booking, service_id, staff_id, start_time and form_data are required as well. For an event registration, supply event_instance_id and form_data instead of service_id / staff_id / start_time.
A missing top-level parameter fails with 400 PARAMETER_MISSING; a missing scheduling-form field fails with 422 FORM_VALIDATION_ERROR.
Prerequisites
service_idand the staff uids that may provide it (providers_staff) come fromGET /platform/v1/services.- A bookable
start_timecomes fromGET /platform/v1/staff/availability. Availability slots are returned at a fixed granularity (10 minutes) regardless of the service duration - you must verify that the full service duration fits in a contiguous run of returned slots, otherwise the booking fails with422 TIMESLOT_UNAVAILABLE. - The
form_data.fieldsuids come fromGET /platform/v1/scheduling/scheduling_forms/get_form.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
