Bookings
Table reservation and booking data.
Fields
| Field | Type | Required | Version | Description |
|---|---|---|---|---|
id | guid | Yes | 1.1 | Unique GUID for reservation |
status | enum | Yes | 1.1 | Booking status (see values below) |
table_ids | array | No | 1.1 | Array of table IDs assigned to booking |
order_ids | array | No | 1.1.1 | Array of associated Sales Order IDs |
scenario_name | string | No | 1.1 | Booking scenario name |
booking_channel | string | No | 1.1 | Source channel for booking |
booking_channel_identifier | string | No | 1.1 | Channel details (email, phone, API name) |
booked_from | date | No | 1.1 | Booking start time |
guest_count | integer | No | 1.1 | Number of adult guests |
guest_count_kids | integer | No | 1.1 | Number of child guests |
guest_name | string | No | 1.1 | Guest name |
guest_email | string | No | 1.1.1 | Guest email address |
guest_phone | string | No | 1.1.1 | Guest phone number |
guest_groups | array | No | 1.1.1 | Guest group memberships |
guest_types | array | No | 1.1.1 | Guest type identifiers |
guest_tags | array | No | 1.1.1 | Guest tags |
short_key | integer | No | 1.1 | Short key identifier |
first_order_at | date | No | 1.2 | First item added timestamp |
seated_at | date | No | 1.2 | Guest seated timestamp |
waitListOrigin | boolean | No | 1.2 | Was on waitlist before booking |
lastOrderAt | date | No | 1.2 | Last item added timestamp |
billPrintedAt | date | No | 1.2 | Guest bill printed timestamp |
customer_id | integer | Yes | 1.1 | Reference to Customer |
business_unit_id | integer | No | 1.1 | Reference to BusinessUnit |
Status Values
| Status | Description |
|---|---|
not_registered | Booking not yet registered |
waitlist | Guest on waitlist |
registered | Booking registered |
confirmation_requested | Confirmation requested from guest |
confirmed | Guest confirmed booking |
waiting | Guest arrived, waiting for table |
seated | Guest seated at table |
guest_bill_printed | Bill printed for guest |
closed | Booking completed |
no_show | Guest did not arrive |
cancelled | Booking cancelled |
Booking Channels
| Channel | Description |
|---|---|
booking_app | Mobile booking app |
api | External API integration |
pos | Created at POS terminal |
widget | Website booking widget |
Example - Standard Reservation
json
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"status": "confirmed",
"table_ids": [5, 6],
"order_ids": [],
"scenario_name": "Dinner Service",
"booking_channel": "widget",
"booking_channel_identifier": "guest@email.com",
"booked_from": "2024-12-03T19:00:00Z",
"guest_count": 4,
"guest_count_kids": 2,
"guest_name": "John Smith",
"guest_email": "john.smith@email.com",
"guest_phone": "+47 123 45 678",
"guest_groups": ["VIP"],
"guest_types": ["regular"],
"guest_tags": ["birthday"],
"short_key": 1234,
"first_order_at": null,
"seated_at": null,
"waitListOrigin": false,
"lastOrderAt": null,
"billPrintedAt": null,
"customer_id": 12345,
"business_unit_id": 10
}Example - Completed Booking
json
{
"id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
"status": "closed",
"table_ids": [12],
"order_ids": ["order-guid-001", "order-guid-002"],
"scenario_name": "Lunch Service",
"booking_channel": "pos",
"booking_channel_identifier": "terminal-3",
"booked_from": "2024-12-03T12:00:00Z",
"guest_count": 2,
"guest_count_kids": 0,
"guest_name": "Walk-in",
"guest_email": null,
"guest_phone": null,
"guest_groups": [],
"guest_types": [],
"guest_tags": [],
"short_key": 1235,
"first_order_at": "2024-12-03T12:05:00Z",
"seated_at": "2024-12-03T12:00:00Z",
"waitListOrigin": false,
"lastOrderAt": "2024-12-03T12:45:00Z",
"billPrintedAt": "2024-12-03T13:00:00Z",
"customer_id": 12345,
"business_unit_id": 10
}Example - Waitlist to Seated
json
{
"id": "c3d4e5f6-a7b8-9012-cdef-123456789012",
"status": "seated",
"table_ids": [8],
"order_ids": ["order-guid-003"],
"scenario_name": "Dinner Service",
"booking_channel": "booking_app",
"booking_channel_identifier": "+47 987 65 432",
"booked_from": "2024-12-03T18:30:00Z",
"guest_count": 3,
"guest_count_kids": 1,
"guest_name": "Maria Johnson",
"guest_email": "maria.j@email.com",
"guest_phone": "+47 987 65 432",
"guest_groups": [],
"guest_types": ["new"],
"guest_tags": [],
"short_key": 1236,
"first_order_at": "2024-12-03T18:45:00Z",
"seated_at": "2024-12-03T18:40:00Z",
"waitListOrigin": true,
"lastOrderAt": null,
"billPrintedAt": null,
"customer_id": 12345,
"business_unit_id": 10
}Related Entities
- Customer - Parent customer/tenant (masterdata)
- BusinessUnit - Location reference (masterdata)
- Table - Table references (masterdata)
- BookingVenue - Venue configuration (masterdata)
- BookingScenario - Scenario configuration (masterdata)
- Orders - Associated sales orders