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

PropertyTypeDescription
timeSlotstringThe time of the booking (in HH:mm format).
dateDateThe date of the booking.
urlstringThe URL for booking. The user can visit this url to make the booking directly with the booking provider.
maxDurationnumberThe maximum duration of the booking in seconds (optional).
minDurationnumberThe minimum duration of the booking (optional).
tagstringA specific tag associated with the booking (e.g., "Garden") (optional).
metaDataBookingTimeSlotMetaDataMetadata specific to the time slot (optional).
providerdesignMyNight, openTable, resy, sevenRooms, resDiary, theFork, quandoo, tock, or mock_booking_providerThe provider type for the booking.
bookingFormActionwebsite, booking_injection, or request_bookingThe 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.
requiredDepositRequiredDeposit objectDetails about the required deposit for the booking (optional).
dobRequiredbooleanIndicates 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

PropertyTypeDescription
dmn?.bookingTypeIdstringThe booking type ID for DMN (optional).
dmn?.durationMinutesnumberThe duration of the booking in minutes for DMN (optional).
resDiary?.serviceIdnumberThe service ID for ResDiary (optional).
resDiary?.reference?stringThe reference for ResDiary booking (optional).
resDiary?.areaId?stringThe area ID for ResDiary booking (optional).
resDiary?.token?stringThe token for ResDiary booking (optional).
resy?.token?stringThe token for Resy booking (optional).
resy?.locationCodestringThe location code for Resy booking.
resy?.urlSlugstringThe URL slug for Resy booking.
resy?.coversnumberThe number of covers for the booking on Resy.
tock?.seatingAreaId?stringThe seating area ID for Tock (optional).
quandoo?.reservation.idnumberThe reservation ID for Quandoo (optional).
quandoo?.reservation.uuidstringThe UUID of the reservation for Quandoo (optional).
quandoo?.reservation.statusstringThe status of the reservation for Quandoo (optional).
quandoo?.reservation.customerTokenstringThe customer token for the reservation on Quandoo (optional).
quandoo?.customer.idnumberThe customer ID for Quandoo booking (optional).
quandoo?.customer.publicIdstringThe public ID of the customer for Quandoo (optional).
quandoo?.customer.newsletterRequestedbooleanWhether the customer has requested newsletters (optional).
quandoo?.customer.loginExistingbooleanWhether the customer is logging into an existing account (optional).
quandoo?.customer.reservationCountnumberThe number of reservations made by the customer on Quandoo (optional).
openTable?.hashnumberThe hash for the time slot in OpenTable.
openTable?.availabilityTokenstringThe availability token for OpenTable bookings.
openTable?.corrid?stringThe corridor identifier (optional).
openTable?.st?stringThe type of slot, e.g., Standard (optional).
openTable?.rid?numberThe restaurant ID for OpenTable booking (optional).
openTable?.confirmationNumber?numberThe confirmation number for OpenTable booking (optional).
openTable?.securityToken?stringThe security token for the OpenTable booking (optional).
openTable?.gpid?numberThe global partner ID for OpenTable (optional).
openTable?.reservationStateId?numberThe reservation state ID for OpenTable booking (optional).
openTable?.reservationHash?stringThe 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?numberThe dining area ID for OpenTable (optional).
openTable?.creditCardRequired?booleanWhether a credit card is required for the reservation (optional).
sevenRooms?.access_persistent_id?stringThe persistent access ID for SevenRooms booking (optional).
sevenRooms?.type?'request'The type of booking request for SevenRooms (optional).
theFork?.urlSlugstringThe 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.

PropertyTypeDescription
amountUnitsnumberThe 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.
currencyCurrencyThe currency in which the deposit is required.
terms?stringThe terms and conditions associated with the deposit (optional).