πŸ—’οΈGet orders!

APIs for managing orders, including creating, updating, and retrieving order details.

ℹ️ OctoTable enables the creation of digital menus for takeaway, delivery, or table orders. Through the API, you can directly retrieve orders and the individual items selected by customers

βš™οΈ Use the base resource URL for the following examples, or see the complete collection

https://api.octorate.com/octotable-pms/api/v2

πŸ” Find all orders

GET /orders

Retrieves a list of all orders for the specified property (e.g., restaurant) using the property ID 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

Start day of search

end_date

date time

End day of search

status[]

[UNREAD, WAITING, PREPARING, READY, DELIVERED]

The list of order status

delivery_mode

[ROOM,TAKEAWAY,DELIVERY,]

The delivery mode

service_ids[]

[int]

The id list of services

room_ids[]

[int]

The id list of rooms

text_search

text

A generic text to search in orders

Response

{
  "data": [
    {
      "channel": "OCTOTABLE_BOOK",
      "create_time": "2025-07-24T17:20:26",
      "customer": {
        "id": 34112273,
        "first_name": "Elsie",
        "last_name": "Dillon",
        "email": "howe.weeks@gmail.nexus",
        "phone": "+443125450222"
      },
      "id": 33319904,
      "mode": "ROOM",
      "order": [
        {
          "id": 451917,
          "reservation": 33319904,
          "insert_date": "2025-07-25T15:48:54",
          "status": "UNREAD",
          "article": {
            "id": 313080,
            "name": "Sandwich",
            "price": 3,
            "image": "1000173/1753370761583.jpg",
            "allergens": [],
            "category_id": 65614,
            "characteristics": [],
            "tax": 0,
            "translated_texts": {},
            "variations": []
          },
          "currency": "EUR",
          "quantity": 1,
          "total": 3
        },
        {
          "id": 451919,
          "reservation": 33319904,
          "insert_date": "2025-07-25T15:58:49",
          "status": "UNREAD",
          "article": {
            "id": 313078,
            "name": "Pizza",
            "price": 10,
            "image": "1000173/1753370698219.jpg",
            "allergens": [],
            "category_id": 65614,
            "characteristics": [],
            "tax": 0,
            "translated_texts": {},
            "variations": []
          },
          "currency": "EUR",
          "quantity": 2,
          "total": 20
        }
      ],
      "order_cost": 23,
      "room": {
        "id": 23694,
        "name": "Garden",
        "tables": [
          {
            "id": 204838,
            "name": "1",
            "online": true,
            "out_of_order": false
          }
        ]
      },
      "service": {
        "id": 34567,
        "name": "Dinner",
        "card_guarantee": false
      },
      "start_date": "2025-07-25T19:00:00",
      "total_cost": 23,
      "total_paid": 0
    }
  ]
}

πŸ” Find orders by reservation ID

GET /reservations/{reservation_id}

Retrieves an order by the reservation ID see more

Headers

Name
Value

Content-Type

application/json

Authorization

Bearer <token>

Property

<your_property_id>

Response

{
  "data": [
    {
      "channel": "OCTOTABLE_BOOK",
      "create_time": "2025-07-24T17:20:26",
      "customer": {
        "id": 34112273,
        "first_name": "Elsie",
        "last_name": "Dillon",
        "email": "howe.weeks@gmail.nexus",
        "phone": "+443125450222"
      },
      "id": 33319904,
      "mode": "ROOM",
      "order": [
        {
          "id": 451917,
          "reservation": 33319904,
          "insert_date": "2025-07-25T15:48:54",
          "status": "UNREAD",
          "article": {
            "id": 313080,
            "name": "Sandwich",
            "price": 3,
            "image": "1000173/1753370761583.jpg",
            "allergens": [],
            "category_id": 65614,
            "characteristics": [],
            "tax": 0,
            "translated_texts": {},
            "variations": []
          },
          "currency": "EUR",
          "quantity": 1,
          "total": 3
        },
        {
          "id": 451919,
          "reservation": 33319904,
          "insert_date": "2025-07-25T15:58:49",
          "status": "UNREAD",
          "article": {
            "id": 313078,
            "name": "Pizza",
            "price": 10,
            "image": "1000173/1753370698219.jpg",
            "allergens": [],
            "category_id": 65614,
            "characteristics": [],
            "tax": 0,
            "translated_texts": {},
            "variations": []
          },
          "currency": "EUR",
          "quantity": 2,
          "total": 20
        }
      ],
      "order_cost": 23,
      "room": {
        "id": 23694,
        "name": "Garden",
        "tables": [
          {
            "id": 204838,
            "name": "1",
            "online": true,
            "out_of_order": false
          }
        ]
      },
      "service": {
        "id": 34567,
        "name": "Dinner",
        "card_guarantee": false
      },
      "start_date": "2025-07-25T19:00:00",
      "total_cost": 23,
      "total_paid": 0
    }
  ]
}

πŸ†• Create a new order

POST /orders

Creates a new order for the specified property see more

Headers

Name
Value

Content-Type

application/json

Authorization

Bearer <token>

Property

<your_property_id>

Body

Name
Type
Description

id

int

ID of the article (Dish)

reservation_id

int

ID of the reservation

name

string

Nome of the article

price

number

Price of the article

variations

array

List of selected variations (such as extra cheddar or extra bacon)

quantity

int

Ordered quantity of the item

notes

string

Additional notes for the order (no onion, no spicy)

Response

[
    {
        "id": 453449,
        "reservation": 33435641,
        "insert_date": "2025-08-12T16:37:58.062",
        "status": "UNREAD",
        "article": {
            "id": 302829,
            "name": "Pizza Margherita",
            "price": 0,
            "image": "44477/1746202972857.jpg",
            "allergens": [],
            "category_id": 63534,
            "characteristics": [],
            "tax": 0,
            "translated_texts": {}
        },
        "currency": "EUR",
        "quantity": 1,
        "total": 6
    }
]

πŸ”„ Update an order

PUT /orders/{order_id}

Update the quantity order of a specific article see more

Headers

Name
Value

Content-Type

application/json

Authorization

Bearer <token>

Property

<your_property_id>

Body

Name
Type
Description

id

int

ID of the article (Dish)

reservation_id

int

ID of the reservation

name

string

Nome of the article

price

number

Price of the article

variations

array

List of selected variations (such as extra cheddar or extra bacon)

quantity

int

Ordered quantity of the item

notes

string

Additional notes for the order (no onion, no spicy)

Response

[
    {
        "id": 453449,
        "reservation": 33435641,
        "insert_date": "2025-08-12T16:37:58.062",
        "status": "UNREAD",
        "article": {
            "id": 302829,
            "name": "Pizza Margherita",
            "price": 0,
            "image": "44477/1746202972857.jpg",
            "allergens": [],
            "category_id": 63534,
            "characteristics": [],
            "tax": 0,
            "translated_texts": {}
        },
        "currency": "EUR",
        "quantity": 1,
        "total": 6
    }
]

πŸ”„ Update order status

PATCH /orders/{{order_id}}/WAITING

Update the status of an existing article (dish) see more. Headers

Name
Value

Content-Type

application/json

Authorization

Bearer <token>

Property

<your_property_id>

Response

{
  "data": [
    {
      "id": 452190,
      "reservation": 33319904,
      "insert_date": "2025-07-29T14:51:16",
      "status": "WAITING",
      "article": {
        "id": 313078,
        "name": "Pizza",
        "price": 0,
        "image": "1000173/1753370698219.jpg",
        "allergens": [],
        "category_id": 65614,
        "characteristics": [],
        "tax": 0,
        "translated_texts": {}
      },
      "currency": "EUR",
      "quantity": 4,
      "total": 40
    }
  ]
}

πŸ”„ Update reservation order status

PATCH /orders/reservation/{{reservation_id}}/WAITING

Bulk update the status of all articles (dishes) belonging to the order associated with the specified reservation to WAITING, which is one of the possible order statuses see more.

Headers

Name
Value

Content-Type

application/json

Authorization

Bearer <token>

Property

<your_property_id>

Response

{
  "data": [
    {
      "channel": "OCTOTABLE_BOOK",
      "create_time": "2025-07-24T17:20:26",
      "customer": {
        "id": 34112273,
        "first_name": "Elsie",
        "last_name": "Dillon",
        "email": "howe.weeks@gmail.nexus",
        "phone": "+393125450222"
      },
      "id": 33319904,
      "mode": "ROOM",
      "order": [
        {
          "id": 451917,
          "reservation": 33319904,
          "insert_date": "2025-07-25T15:48:54",
          "status": "WAITING",
          "article": {
            "id": 313080,
            "name": "Sanwich",
            "price": 3,
            "image": "1000173/1753370761583.jpg",
            "allergens": [],
            "category_id": 65614,
            "characteristics": [],
            "tax": 0,
            "translated_texts": {},
            "variations": []
          },
          "currency": "EUR",
          "quantity": 1,
          "total": 3
        },
        {
          "id": 452190,
          "reservation": 33319904,
          "insert_date": "2025-07-29T14:51:16",
          "status": "WAITING",
          "article": {
            "id": 313078,
            "name": "Pizza",
            "price": 10,
            "image": "1000173/1753370698219.jpg",
            "allergens": [],
            "category_id": 65614,
            "characteristics": [],
            "tax": 0,
            "translated_texts": {},
            "variations": []
          },
          "currency": "EUR",
          "quantity": 4,
          "total": 40
        }
      ],
      "order_cost": 43,
      "room": {
        "id": 23694,
        "name": "Garden",
        "tables": [
          {
            "id": 204838,
            "name": "1",
            "online": true,
            "out_of_order": false
          }
        ]
      },
      "service": {
        "id": 34567,
        "name": "Dinner",
        "card_guarantee": false
      },
      "start_date": "2025-07-25T19:00:00",
      "total_cost": 43,
      "total_paid": 0
    }
  ]
}

πŸ—‘οΈ Delete an order

DELETE /orders/{{order_id}}/reservation/{{reservation_id}}

Delete a single article (order_id) from the order linked to the specified reservation (reservation_id). This does not delete the entire order, only the selected article see more.

Headers

Name
Value

Content-Type

application/json

Authorization

Bearer <token>

Property

<your_property_id>

Response

{
  "data": [
    452190
  ]
}

πŸ“• ADDITIONAL NOTES

In OctoTable, the term order always refers to a single article (menu item) linked to a specific reservation.

  • The order_id identifies an individual article (dish) connected to that reservation.

  • A complete customer order is therefore the set of all orders (articles) associated with the same reservation_id.

delivery_mode : This parameter defines how the order will be fulfilled: takeaway (customer picks up at the restaurant), delivery (order is delivered to a specified address within configured limits), or table order (customer orders directly from their table using a QR code).

status[] :

  • UNREAD – The order has been added to the reservation but has not yet been sent to the kitchen. No action is triggered at this stage. This is the initial status of an order.

  • WAITING – The order has been sent to the kitchen and can be printed from the kitchen printer. This status marks the order as official and ready to be prepared exactly as submitted.

  • PREPARING – The kitchen is currently preparing the order. This status can be used to notify waiters of progress or inform the customer (for takeaway and delivery) that preparation has started.

  • READY – The order has been prepared and is ready for pickup by the waiter, the delivery rider, or the customer (for takeaway).

  • DELIVERED – The order has been delivered to the customer.

category_id :

ID of the category the article belongs to (e.g., Starter, First Dish, Dessert).

allergens :

List of allergens contained in the article.

characteristics :

Specific characteristics of the dish, such as lactose-free, gluten-free, vegan, etc.

tax :

VAT rate associated with the product.

translated_texts :

Translated names of the article in the languages available in the system.

variations :

Options that define the format or quantity of a dish or beverage.

  • Example: For fries, you could have Small portion and Large portion.

  • Extra ingredients – Optional additions such as cheese, sauces, toppings, etc., that can increase the base price of the product.

total :

Total amount of the ordered articles only (unit price Γ— quantity, plus any extras).

total_cost :

Total amount including additional costs, such as delivery fees.

Last updated