Appearance
List Orders
Returns the orders of the organization, newest pickup first. Without filters it returns today's pending orders across every establishment, which is what a kitchen screen or a daily sync usually wants.
GET https://api.canteenweb.com/api/v1/admin/ordersQuery parameters
| Parameter | Type | Description |
|---|---|---|
status | string | One of pending, completed, canceled, archived. Defaults to pending. |
establishment | UUID | Only orders for this establishment. Defaults to all. |
start_date | YYYY-MM-DD | Orders with a pickup date on or after this day. Defaults to today. Cannot be in the future. |
end_date | YYYY-MM-DD | Orders with a pickup date on or before this day. Defaults to today. Must be on or after start_date. |
payment_method_type | string | One of cash, card, credit (Canteen credit), qr (in person QR payment). |
page | integer | See Pagination. |
Dates are interpreted in the organization time zone. The filter applies to the pickup date, not to when the order was placed.
Examples
Today's pending orders:
bash
curl "https://api.canteenweb.com/api/v1/admin/orders" \
-H "Authorization: Bearer your-access-token" \
-H "X-CANTEEN-ORGANIZATION: your-org-uuid"Completed orders of one establishment:
bash
curl "https://api.canteenweb.com/api/v1/admin/orders?status=completed&establishment=9e11ee05-32a4-4898-8735-5a7f88003409" \
-H "Authorization: Bearer your-access-token" \
-H "X-CANTEEN-ORGANIZATION: your-org-uuid"Pending orders for a date range:
bash
curl "https://api.canteenweb.com/api/v1/admin/orders?start_date=2025-02-01&end_date=2025-02-12" \
-H "Authorization: Bearer your-access-token" \
-H "X-CANTEEN-ORGANIZATION: your-org-uuid"Orders paid in cash:
bash
curl "https://api.canteenweb.com/api/v1/admin/orders?payment_method_type=cash" \
-H "Authorization: Bearer your-access-token" \
-H "X-CANTEEN-ORGANIZATION: your-org-uuid"Response
json
{
"data": [
{
"uuid": "9e31eadd-b0ad-4ec4-866f-8b3418028922",
"currency": "ARS",
"reference": "SO-34BE51LA2T",
"subtotal": { "amount": "7006", "currency": "ARS", "formatted": "$ 70,06" },
"total": { "amount": "7006", "currency": "ARS", "formatted": "$ 70,06" },
"pickup_at": "2025-02-12",
"canceled_at": null,
"completed_at": null,
"notes": null,
"created_at": "2025-02-12T14:58:29.000000Z",
"updated_at": "2025-02-12T14:58:29.000000Z",
"can_be_cancelled": false,
"status": { "label": "Pendiente", "value": "pending" },
"payment_method_type": { "label": "Efectivo", "value": "cash" },
"customer": {
"uuid": "9e11ee05-37b3-42db-b2b1-9fa2d6e017bc",
"full_name": "Juana Pérez",
"class": "3er grado A",
"parent": {
"uuid": "3d11ee05-37b3-42db-b2b1-9fa2d6e017be",
"full_name": "María Pérez",
"email": "maria.perez@example.com",
"phone": "+5491123456789",
"credit": { "amount": "10000", "currency": "ARS", "formatted": "$ 100,00" }
}
},
"establishment": {
"uuid": "9e11ee05-32a4-4898-8735-5a7f88003409",
"name": "Sede 1"
},
"items": [
{
"uuid": "9e31eadd-b3ee-47b6-a332-1d5318ba9bb0",
"name": "Milanesa con puré",
"description": null,
"price": { "amount": "7006", "currency": "ARS", "formatted": "$ 70,06" },
"quantity": 1,
"total": { "amount": "7006", "currency": "ARS", "formatted": "$ 70,06" },
"image": "",
"notes": null,
"fulfilled_quantity": 0,
"fulfillment_status": "unfulfilled",
"sku": "MIL-PURE",
"is_menu": true,
"status": { "label": "Pendiente", "value": "pending" },
"created_at": "2025-02-12T14:58:29.000000Z"
}
]
}
],
"links": {
"first": "https://api.canteenweb.com/api/v1/admin/orders?page=1",
"last": "https://api.canteenweb.com/api/v1/admin/orders?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "https://api.canteenweb.com/api/v1/admin/orders",
"per_page": 25,
"to": 1,
"total": 1
},
"success": true,
"message": "Request was successful."
}Fields
Order
| Field | Type | Description |
|---|---|---|
uuid | string | Identifier of the order. |
reference | string | Human readable reference printed on receipts, for example SO-34BE51LA2T. |
currency | string | ISO currency code. |
subtotal, total | money | See money objects. |
pickup_at | YYYY-MM-DD | Day the order is picked up, in the organization time zone. |
canceled_at, completed_at | timestamp or null | When the order reached that state. |
notes | string or null | Free text entered by the parent when ordering. |
can_be_cancelled | boolean | Whether the backoffice would still allow cancelling it. |
status | enum | pending, completed, canceled, archived. |
payment_method_type | enum | cash, card, credit, qr. |
created_at, updated_at | timestamp | ISO 8601. |
Customer
The diner the order is for, with the parent account that pays for it.
| Field | Type | Description |
|---|---|---|
uuid | string | Identifier of the diner. |
full_name | string | Diner name. |
class | string or null | Class or group name, for schools. |
parent.uuid, parent.full_name | string | Parent account. |
parent.email, parent.phone | string or null | Parent contact. |
parent.credit | money | Current balance of the parent account at the time of the request. |
When the order was placed at the point of sale for a walk in customer, class is null and the parent fields describe the generic customer of the establishment.
Establishment
| Field | Type | Description |
|---|---|---|
uuid | string | Identifier of the establishment. |
name | string | Establishment name. |
Item
| Field | Type | Description |
|---|---|---|
uuid | string | Identifier of the line. |
name, description | string | Product name and description at the time of the order. |
sku | string or null | SKU of the product, when set. |
price, total | money | Unit price and line total. |
quantity | integer | Units ordered. |
fulfilled_quantity | integer | Units already delivered. |
fulfillment_status | string | unfulfilled, partially_fulfilled or fulfilled. |
is_menu | boolean | true when the line is a menu with a chosen option rather than a plain product. |
image | string | URL of the product image, or an empty string. |
notes | string or null | Line level note from the parent. |
status | enum | Line status, same values as the order status. |

