Restaurant POS API
Last updated: Mar 10, 2026
Restaurant POS - Orders API
# Restaurant POS - Orders API
Manage restaurant orders through the API.
## List Orders
Get a list of all orders.
**Endpoint**: `GET /v1/restaurant/orders`
**Query Parameters**:
- `status` (optional): Filter by order status (pending, completed, cancelled)
- `date_from` (optional): Start date (YYYY-MM-DD)
- `date_to` (optional): End date (YYYY-MM-DD)
- `limit` (optional): Number of results (default: 50, max: 100)
- `offset` (optional): Pagination offset
**Response**:
```json
{
"count": 150,
"next": "/v1/restaurant/orders?offset=50",
"previous": null,
"results": [
{
"id": 12345,
"order_number": "ORD-2026-001",
"table_number": "5",
"customer_name": "John Doe",
"items": [
{
"product_id": 101,
"name": "Burger",
"quantity": 2,
"price": 12.99
}
],
"subtotal": 25.98,
"tax": 2.08,
"total": 28.06,
"status": "pending",
"created_at": "2026-03-10T15:30:00Z"
}
]
}
```
## Create Order
Create a new order.
**Endpoint**: `POST /v1/restaurant/orders`
**Request Body**:
```json
{
"table_number": "5",
"customer_name": "John Doe",
"items": [
{
"product_id": 101,
"quantity": 2,
"notes": "No onions"
},
{
"product_id": 205,
"quantity": 1
}
],
"notes": "Customer has allergy to nuts"
}
```
**Response**: `201 Created`
```json
{
"id": 12346,
"order_number": "ORD-2026-002",
"status": "pending",
"total": 28.06,
"created_at": "2026-03-10T16:00:00Z"
}
```
## Update Order Status
Update the status of an order.
**Endpoint**: `PATCH /v1/restaurant/orders/{order_id}`
**Request Body**:
```json
{
"status": "completed"
}
```
Valid statuses: `pending`, `preparing`, `ready`, `completed`, `cancelled`
## Get Order Details
Retrieve details of a specific order.
**Endpoint**: `GET /v1/restaurant/orders/{order_id}`
## Webhooks
Subscribe to order events:
- `order.created` - New order placed
- `order.updated` - Order status changed
- `order.completed` - Order completed
- `order.cancelled` - Order cancelled