⁉️Where are my slots?
APIs for managing booking slots and available rooms
ℹ️ You have to follow the strict order of actions to get available slots: create at least one room, create at least one table and at least one service. To verify if you already have it just use the GET method to retrieve available resources. Example: GET /rooms, GET /tables, GET /services.
⚙️ Use the base resource URL for the following examples, or see the complete collection
https://api.octorate.com/octotable-pms/api/v2
🔍 Find available slots
GET
/bookings/slots
Returns all time slots for this property from a start day and other filters see more
Headers
Content-Type
application/json
Authorization
Bearer <token>
Property
<your_property_id>
Query params
start_date
date time
The start day of search
pax
int
The number of persons
service_id
int
The id of the selected service
out_of_order
int
In the out_of_service
parameter, when set to true
, the system will mark time slots as disabled: true
only if all rooms and all tables are closed for that specific time slot.
Response
{
"data": [
{
"day": "2024-11-19",
"available_services": [
{
"id": 30601,
"title": "Lunch",
"available_slots": [
"12:00:00",
"12:30:00",
"13:00:00",
"13:30:00",
"14:00:00"
]
},
{
"id": 30602,
"title": "Dinner",
"available_slots": [
"19:00:00",
"19:30:00",
"20:00:00",
"20:30:00",
"21:00:00",
"21:30:00",
"22:00:00"
]
}
]
}
]
}
🔍 Find available rooms
GET
/bookings/rooms
Retrieves available rooms and tables for a certain service see more
Headers
Content-Type
application/json
Authorization
Bearer <token>
Property
<your_property_id>
Query params
start_date
date [YYYY-MM-DD]
The start date of search
start_hour
time [HH:mm:ss]
The start time of search
pax
int
The number of persons
service_id
int
The id of the selected service
Response
{
"data": [
[
{
"id": 21344,
"property_id": 999643,
"name": "Secondary dining room",
"bookable": true,
"tables": [
{
"id": 172246,
"name": "T8",
"bookable": true,
"free": true,
"group": false,
"guests_max": 10,
"guests_min": 1,
"room_id": 21344
}
]
}
]
]
}
Booking Engine
GET
/bookings/list
Retrieves booking engine redirect links see more This endpoint returns the main redirect links of the restaurant’s booking interface
Headers
Content-Type
application/json
Authorization
Bearer <token>
Property
<your_property_id>
Response
{
"data": [
{
"name": "BOOKING_ENGINE_PAGE",
"link": "http://localhost:4200/restaurant/999652/booking/new"
},
{
"name": "SERVICES_PAGE",
"link": "http://localhost:4200/restaurant/999652/booking/home"
},
{
"name": "WELCOME_PAGE",
"link": "http://localhost:4200/restaurant/999652/welcome"
}
]
}
📕 ADDITIONAL NOTES 🧩 Description of Each Link
BOOKING_ENGINE_PAGE
This link opens the main booking interface, where users can select a date and time, view available services, and complete a reservation.
SERVICES_PAGE
This link brings users to the services section. They’ll see a photo carousel and a list of all available services for reservation.
WELCOME_PAGE
This link takes users to the welcome screen, which displays the restaurant’s logo and welcome message (customizable in Configuration > Reservation Page).
out_of_order:
This is an optional parameter.
When set to true
, the system will mark time slots as disabled: true
only if all rooms and tables are closed for that specific time slot.
If at least one table is available in any room, disabled
will remain false
, as the slot is still considered available.
⚠️ Important:
If this parameter is not included in the query params, the system will ignore the out-of-service configuration.
This means that even if a customer has closed all time slots, rooms, and tables for a given date, the API will still show those slots as available ( disabled: false
) unless out_of_service=true
is explicitly passed.
Last updated