Skip to content

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.

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.

CreateBooking: POST /public/v1/reservations, which needs the bookings.create capability.