create_booking
Make a booking. Book a time for a guest after check_availability shows it free. Needs the guest’s name and phone number. The summary, including the booking reference, can be read to the guest. If the venue asks for a deposit, the booking is held and a payment link is texted (and emailed) to the guest automatically: tell them. outcome unavailable means the time has gone and alternatives are offered; needs_venue means the party is too large to book online. Calling again with the same details within 10 minutes returns the same booking rather than making another.
It changes data. Calling it again with the same input has no further effect.
Parameters
Section titled “Parameters”| Name | Type | Required | Description |
|---|---|---|---|
date |
string | Yes | Venue-local date as yyyy-MM-dd. |
time |
string | Yes | Venue-local time as HH:mm. |
partySize |
integer | Yes | Number of guests. |
guestName |
string | Yes | The guest’s full name. |
guestPhone |
string | Yes | The guest’s phone number; UK numbers can be written as the guest says them. |
guestEmail |
string | No | The guest’s email, if they gave one. |
venueId |
string (uuid) | No | The venue’s id from list_venues. Leave it out when this key is for one venue only. |
bookingTypeId |
string (uuid) | No | The booking type from check_availability. Leave it out for the first that fits. |
notes |
string | No | Anything the venue should know, such as an occasion or access needs. |
idempotencyKey |
string | No | Optional: your own key for this request, to make retries safe beyond 10 minutes. |
REST equivalent
Section titled “REST equivalent”CreateBooking: POST /public/v1/reservations, which needs the bookings.create capability.