Availability slots for a venue represents slots of time for which a booking can be placed.
Availability slots are returned for a specific number of covers, date and time. An availability contains all the information required to make a booking for a user, such as the time that a booking can be placed and if the booking can be instantly confirmed or requested.
Venues can have multiple availability slots for the same time, or availability slots belonging to multiple booking providers.
Example Availability Slot
The below example is an availability slot for a venue which is linked to the SevenRooms booking provider. The slot is for 18:00 (6pm) local time. The date
is presented in UTC
. The slot must be passed in it's entirety when placing a booking. Alternatively, the booking can be fulfilled by the user by visiting the url. The value of bookingFormAction
indicates the booking must be fulfilled by visiting the URL.
{
"provider": "sevenRooms",
"timeSlot": "18:00",
"date": "2024-10-04T17:00:00.000Z",
"url": "https://www.sevenrooms.com/explore/casafofo/reservations/create/search?date=2024-10-04&party_size=2&start_time=18:00",
"maxDuration": 150,
"metaData": {
"sevenRooms": {
"type": "request",
"access_persistent_id": "ahNzfnNldmVucm9vbXMtc2VjdXJlchwLEg9uaWdodGxvb3BfVmVudWUYgID2rdOtoAgM-1720795994.624218-0.5917197656369396"
}
},
"dobRequired": false,
"bookingFormAction": "website"
}
Availability Slot Object
Property | Type | Description |
---|---|---|
timeSlot | string | The time of the booking (in HH:mm format). |
date | Date | The date of the booking. |
url | string | The URL for booking. The user can visit this url to make the booking directly with the booking provider. |
maxDuration | number | The maximum duration of the booking in seconds (optional). |
minDuration | number | The minimum duration of the booking (optional). |
tag | string | A specific tag associated with the booking (e.g., "Garden") (optional). |
metaData | BookingTimeSlotMetaData | Metadata specific to the time slot (optional). |
provider | designMyNight , openTable , resy , sevenRooms , resDiary , theFork , quandoo , tock , or mock_booking_provider | The provider type for the booking. |
bookingFormAction | website , booking_injection , or request_booking | The type of booking form action. Booking actions of booking_injection or request_booking indicate the booking can be place via the AllTheTables booking API. Slots with the website action indicate the booking must be placed by the user visiting the url specified for this slot. |
requiredDeposit | RequiredDeposit object | Details about the required deposit for the booking (optional). |
dobRequired | boolean | Indicates if a date of birth is required for the booking. |
The metadata within a availability slot contains information required for AllTheTables to place the booking with the third party booking provider. Each booking provider typically contains different sets of metadata. Metadata must be passed with a slot when creating a booking.
Availability Slot MetaData Object
Property | Type | Description | |
---|---|---|---|
dmn?.bookingTypeId | string | The booking type ID for DMN (optional). | |
dmn?.durationMinutes | number | The duration of the booking in minutes for DMN (optional). | |
resDiary?.serviceId | number | The service ID for ResDiary (optional). | |
resDiary?.reference? | string | The reference for ResDiary booking (optional). | |
resDiary?.areaId? | string | The area ID for ResDiary booking (optional). | |
resDiary?.token? | string | The token for ResDiary booking (optional). | |
resy?.token? | string | The token for Resy booking (optional). | |
resy?.locationCode | string | The location code for Resy booking. | |
resy?.urlSlug | string | The URL slug for Resy booking. | |
resy?.covers | number | The number of covers for the booking on Resy. | |
tock?.seatingAreaId? | string | The seating area ID for Tock (optional). | |
quandoo?.reservation.id | number | The reservation ID for Quandoo (optional). | |
quandoo?.reservation.uuid | string | The UUID of the reservation for Quandoo (optional). | |
quandoo?.reservation.status | string | The status of the reservation for Quandoo (optional). | |
quandoo?.reservation.customerToken | string | The customer token for the reservation on Quandoo (optional). | |
quandoo?.customer.id | number | The customer ID for Quandoo booking (optional). | |
quandoo?.customer.publicId | string | The public ID of the customer for Quandoo (optional). | |
quandoo?.customer.newsletterRequested | boolean | Whether the customer has requested newsletters (optional). | |
quandoo?.customer.loginExisting | boolean | Whether the customer is logging into an existing account (optional). | |
quandoo?.customer.reservationCount | number | The number of reservations made by the customer on Quandoo (optional). | |
openTable?.hash | number | The hash for the time slot in OpenTable. | |
openTable?.availabilityToken | string | The availability token for OpenTable bookings. | |
openTable?.corrid? | string | The corridor identifier (optional). | |
openTable?.st? | string | The type of slot, e.g., Standard (optional). | |
openTable?.rid? | number | The restaurant ID for OpenTable booking (optional). | |
openTable?.confirmationNumber? | number | The confirmation number for OpenTable booking (optional). | |
openTable?.securityToken? | string | The security token for the OpenTable booking (optional). | |
openTable?.gpid? | number | The global partner ID for OpenTable (optional). | |
openTable?.reservationStateId? | number | The reservation state ID for OpenTable booking (optional). | |
openTable?.reservationHash? | string | The reservation hash for OpenTable booking (optional). | |
openTable?.reservationType? | `string | 'Standard'` | The type of reservation (optional). |
openTable?.reservationSource? | `string | 'Online'` | The source of the reservation (optional). |
openTable?.diningAreaId? | number | The dining area ID for OpenTable (optional). | |
openTable?.creditCardRequired? | boolean | Whether a credit card is required for the reservation (optional). | |
sevenRooms?.access_persistent_id? | string | The persistent access ID for SevenRooms booking (optional). | |
sevenRooms?.type? | 'request' | The type of booking request for SevenRooms (optional). | |
theFork?.urlSlug | string | The URL slug for TheFork booking. |
RequiredDeposit Object
The Required Deposit Object is contained in an Availability Slot when a deposit is required for a booking.
Property | Type | Description |
---|---|---|
amountUnits | number | The amount of the required deposit in units (e.g., minor currency units like cents). |
amountPer | 'guest' | Indicates that the deposit amount is applied per guest. |
currency | Currency | The currency in which the deposit is required. |
terms? | string | The terms and conditions associated with the deposit (optional). |