⁉️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

Name
Value

Content-Type

application/json

Authorization

Bearer <token>

Property

<your_property_id>

Query params

Name
Type
Description

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

Name
Value

Content-Type

application/json

Authorization

Bearer <token>

Property

<your_property_id>

Query params

Name
Type
Description

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

Name
Value

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

Name
Description

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