Reservations
Authenticated API
Reservation endpoints require a valid JWT Bearer token with manager roles. Accessible via the API gateway at /v1/commerce/reservations/*.
Create Reservation
POST /v1/commerce/reservations
Request
| Field | Type | Required | Description |
|---|---|---|---|
customer_name | string | Yes | Guest name |
customer_phone | string | Yes | Contact phone number |
party_size | integer | Yes | Number of guests |
reservation_time | string (ISO 8601) | Yes | Reservation date and time |
customer_id | string (UUID) | No | Existing customer UUID |
notes | string | No | Special requests (e.g., "Window seat preferred") |
Example
curl -X POST https://dev.api.olympuscloud.ai/v1/commerce/reservations \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-d '{
"customer_name": "Jane Smith",
"customer_phone": "+1-555-0100",
"party_size": 4,
"reservation_time": "2026-02-20T19:00:00Z",
"notes": "Anniversary dinner, window seat preferred"
}'
Response
{
"id": "res-uuid",
"tenant_id": "550e8400-e29b-41d4-a716-446655449100",
"customer_name": "Jane Smith",
"customer_phone": "+1-555-0100",
"party_size": 4,
"reservation_time": "2026-02-20T19:00:00Z",
"status": "pending",
"table_id": null,
"notes": "Anniversary dinner, window seat preferred",
"created_at": "2026-02-19T15:30:00Z",
"updated_at": "2026-02-19T15:30:00Z"
}
List Reservations
GET /v1/commerce/reservations
curl "https://dev.api.olympuscloud.ai/v1/commerce/reservations?date=2026-02-20" \
-H "Authorization: Bearer $TOKEN"
Get Reservation
GET /v1/commerce/reservations/:id
curl https://dev.api.olympuscloud.ai/v1/commerce/reservations/RES_ID \
-H "Authorization: Bearer $TOKEN"
Update Reservation
PUT /v1/commerce/reservations/:id
| Field | Type | Description |
|---|---|---|
status | string | New status |
party_size | integer | Updated party size |
reservation_time | string (ISO 8601) | New time |
table_id | string (UUID) | Assign a table |
notes | string | Updated notes |
Confirm a Reservation
curl -X PUT https://dev.api.olympuscloud.ai/v1/commerce/reservations/RES_ID \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-d '{"status": "confirmed"}'
Seat the Party
curl -X PUT https://dev.api.olympuscloud.ai/v1/commerce/reservations/RES_ID \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-d '{"status": "seated", "table_id": "TABLE_UUID"}'
Reservation Status Values
| Status | Description |
|---|---|
pending | Awaiting confirmation |
confirmed | Reservation confirmed |
seated | Guest has arrived and been seated |
cancelled | Reservation cancelled |
no_show | Guest did not arrive |