Skip to content

Bookings

Table reservation and booking data.

Fields

FieldTypeRequiredVersionDescription
idguidYes1.1Unique GUID for reservation
customer_idintegerYes1.1Reference to Customer
terminal_idintegerNo1.1Reference to Terminal
statusenumYes1.1Booking status (see values below)
table_idsarrayNo1.1Array of table IDs assigned to booking
order_idsarrayNo1.1Array of associated Sales Order GUIDs
venue_idintegerNo1.1Reference to BookingVenue
venue_namestringNo1.1Venue name (denormalized)
capacity_plan_idintegerNo1.1Reference to BookingCapacityPlan
capacity_plan_namestringNo1.1Capacity plan name (denormalized)
scenario_idintegerNo1.1Reference to BookingScenario
scenario_namestringNo1.1Booking scenario name (denormalized)
booking_channelstringNo1.1Source channel for booking
booking_channel_identifierstringNo1.1Channel details (email, phone, API name)
booked_fromdatetimeNo1.1Booking start time
booked_todatetimeNo1.1Booking end time
org_booked_fromdatetimeNo1.1Original booking start time (before changes)
org_booked_todatetimeNo1.1Original booking end time (before changes)
created_atdatetimeNo1.1Booking creation timestamp
guest_countintegerNo1.1Number of adult guests
guest_count_kidsintegerNo1.1Number of child guests
guest_idguidNo1.1Guest/customer GUID
guest_namestringNo1.1Guest name
guest_emailstringNo1.1Guest email address
guest_phonestringNo1.1Guest phone number
guest_company_idstringNo1.1Company ID for B2B bookings
guest_company_namestringNo1.1Company name for B2B bookings
guest_groupsarrayNo1.1Guest group memberships
guest_typesarrayNo1.1Guest type identifiers
guest_tagsarrayNo1.1Guest tags
sourcestringNo1.1Booking source (see values below)
short_keyintegerNo1.1Short key identifier
business_unit_idintegerNo1.1Reference to BusinessUnit
first_order_atdatetimeNo1.2First item added timestamp
seated_atdatetimeNo1.2Guest seated timestamp
waitListOriginbooleanNo1.2Was on waitlist before booking
lastOrderAtdatetimeNo1.2Last item added timestamp
billPrintedAtdatetimeNo1.2Guest bill printed timestamp

Status Values

StatusDescription
not_registeredBooking not yet registered
waitlistGuest on waitlist
registeredBooking registered
confirmation_requestedConfirmation requested from guest
confirmedGuest confirmed booking
waitingGuest arrived, waiting for table
seatedGuest seated at table
guest_bill_printedBill printed for guest
closedBooking completed
no_showGuest did not arrive
cancelledBooking cancelled

Booking Channels

ChannelDescription
booking_appMobile booking app
apiExternal API integration
posCreated at POS terminal
widgetWebsite booking widget

Booking Sources

SourceDescription
reservationAdvance reservation
self_serviceGuest self-service booking
walk_inWalk-in guest

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"],
  "source": "reservation",
  "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": [],
  "source": "walk_in",
  "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": [],
  "source": "self_service",
  "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
}
  • 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

Technical documentation for partners and integrators