Create Reservation

Create a new reservation. Match the Reservations UI: pick a slot from

GET
/reservation-available-slots and send its start_datetime (end time is derived server-side from the service duration).

Endpoint

POST
/reservations

Request

Body fields

FieldTypeRequiredDescription
organization_idNumberYesOrganization ID.
service_idNumberYesReservation service ID.
contact_idNumberYesContact ID.
party_sizeNumberYesParty size (must respect service max_party_size).
start_datetimeStringYesISO 8601 UTC datetime; should match an available slot.
sourceStringNoOrigin label (the app uses "manual" for staff-created reservations).
customer_notesString | nullNoNotes visible to the customer where applicable.
internal_notesString | nullNoInternal staff notes.
deal_idNumber | nullNoRelated deal.
company_idNumber | nullNoRelated company.
preferred_resource_idNumber | nullNoPreferred bookable resource when the service has linked resources.
custom_fields_by_keyObjectNoReservation custom field values keyed by field key.

Response

Returns the created reservation object (same shape as Get Reservation), including computed end_datetime and initial status (e.g. pending or confirmed depending on service auto-confirm rules).

Report an issue with this documentation

Please log in to report issues with our documentation.