Skip to main content

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

FieldTypeRequiredDescription
customer_namestringYesGuest name
customer_phonestringYesContact phone number
party_sizeintegerYesNumber of guests
reservation_timestring (ISO 8601)YesReservation date and time
customer_idstring (UUID)NoExisting customer UUID
notesstringNoSpecial 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

FieldTypeDescription
statusstringNew status
party_sizeintegerUpdated party size
reservation_timestring (ISO 8601)New time
table_idstring (UUID)Assign a table
notesstringUpdated 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

StatusDescription
pendingAwaiting confirmation
confirmedReservation confirmed
seatedGuest has arrived and been seated
cancelledReservation cancelled
no_showGuest did not arrive