ποΈ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
Content-Type
application/json
Authorization
Bearer <token>
Property
<your_property_id>
Query params
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
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
Content-Type
application/json
Authorization
Bearer <token>
Property
<your_property_id>
Body
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
Content-Type
application/json
Authorization
Bearer <token>
Property
<your_property_id>
Body
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
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
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
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