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

{
  "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

{
  "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

{
  "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
}