[- {
- "id": "73e3649bdde2-43b3-bd7c-19d2e9a45de3",
- "name": "string",
- "restaurantId": "84e512c6252d-486c-a7f7-ece30781445b",
- "sortIndex": 0,
- "tables": {
- "tableId": {
- "id": "f3cbe69e50de-48ad-a416-83f7daa05cc0",
- "minPartySize": 2,
- "maxPartySize": 4,
- "name": "45",
- "priorityIndex": 0,
- "reservable": true,
- "rotation": 90,
- "tableCategoryIds": [
- "61ff2c50ee0a-463e-8b33-2ad31a1972f5"
], - "type": "rect_one",
- "x": 100,
- "y": 250
}
}, - "combinations": {
- "tableId": {
- "id": "string",
- "maxPartySize": 0,
- "minPartySize": 0,
- "priorityIndex": 0,
- "tableIds": [
- "string"
]
}
}, - "elements": {
- "elementId": {
- "height": 0,
- "rotation": 0,
- "width": 0,
- "x": 0,
- "y": 0,
- "type": null,
- "backgroundColor": "string"
}
}
}
]
name required | string |
sortIndex required | number |
required | object A map of available tables in this floor plan. The keys of the map are the ids of the table |
required | object A map of available table combinations in this floor plan. The keys of the map are the ids of the table combination |
required | object A map of visible elements in this floor plan |
{- "name": "string",
- "sortIndex": 0,
- "tables": {
- "tableId": {
- "id": "f3cbe69e50de-48ad-a416-83f7daa05cc0",
- "minPartySize": 2,
- "maxPartySize": 4,
- "name": "45",
- "priorityIndex": 0,
- "reservable": true,
- "rotation": 90,
- "tableCategoryIds": [
- "61ff2c50ee0a-463e-8b33-2ad31a1972f5"
], - "type": "rect_one",
- "x": 100,
- "y": 250
}
}, - "combinations": {
- "tableId": {
- "id": "string",
- "maxPartySize": 0,
- "minPartySize": 0,
- "priorityIndex": 0,
- "tableIds": [
- "string"
]
}
}, - "elements": {
- "elementId": {
- "height": 0,
- "rotation": 0,
- "width": 0,
- "x": 0,
- "y": 0,
- "type": null,
- "backgroundColor": "string"
}
}
}
[- {
- "id": "73e3649bdde2-43b3-bd7c-19d2e9a45de3",
- "name": "string",
- "restaurantId": "84e512c6252d-486c-a7f7-ece30781445b",
- "sortIndex": 0,
- "tables": {
- "tableId": {
- "id": "f3cbe69e50de-48ad-a416-83f7daa05cc0",
- "minPartySize": 2,
- "maxPartySize": 4,
- "name": "45",
- "priorityIndex": 0,
- "reservable": true,
- "rotation": 90,
- "tableCategoryIds": [
- "61ff2c50ee0a-463e-8b33-2ad31a1972f5"
], - "type": "rect_one",
- "x": 100,
- "y": 250
}
}, - "combinations": {
- "tableId": {
- "id": "string",
- "maxPartySize": 0,
- "minPartySize": 0,
- "priorityIndex": 0,
- "tableIds": [
- "string"
]
}
}, - "elements": {
- "elementId": {
- "height": 0,
- "rotation": 0,
- "width": 0,
- "x": 0,
- "y": 0,
- "type": null,
- "backgroundColor": "string"
}
}
}
]
floorPlanId required | string |
name | string |
sortIndex | number |
object A map of available tables in this floor plan. The keys of the map are the ids of the table | |
object A map of available table combinations in this floor plan. The keys of the map are the ids of the table combination | |
object A map of visible elements in this floor plan |
{- "name": "string",
- "sortIndex": 0,
- "tables": {
- "tableId": {
- "id": "f3cbe69e50de-48ad-a416-83f7daa05cc0",
- "minPartySize": 2,
- "maxPartySize": 4,
- "name": "45",
- "priorityIndex": 0,
- "reservable": true,
- "rotation": 90,
- "tableCategoryIds": [
- "61ff2c50ee0a-463e-8b33-2ad31a1972f5"
], - "type": "rect_one",
- "x": 100,
- "y": 250
}
}, - "combinations": {
- "tableId": {
- "id": "string",
- "maxPartySize": 0,
- "minPartySize": 0,
- "priorityIndex": 0,
- "tableIds": [
- "string"
]
}
}, - "elements": {
- "elementId": {
- "height": 0,
- "rotation": 0,
- "width": 0,
- "x": 0,
- "y": 0,
- "type": null,
- "backgroundColor": "string"
}
}
}
[- {
- "id": "73e3649bdde2-43b3-bd7c-19d2e9a45de3",
- "name": "string",
- "restaurantId": "84e512c6252d-486c-a7f7-ece30781445b",
- "sortIndex": 0,
- "tables": {
- "tableId": {
- "id": "f3cbe69e50de-48ad-a416-83f7daa05cc0",
- "minPartySize": 2,
- "maxPartySize": 4,
- "name": "45",
- "priorityIndex": 0,
- "reservable": true,
- "rotation": 90,
- "tableCategoryIds": [
- "61ff2c50ee0a-463e-8b33-2ad31a1972f5"
], - "type": "rect_one",
- "x": 100,
- "y": 250
}
}, - "combinations": {
- "tableId": {
- "id": "string",
- "maxPartySize": 0,
- "minPartySize": 0,
- "priorityIndex": 0,
- "tableIds": [
- "string"
]
}
}, - "elements": {
- "elementId": {
- "height": 0,
- "rotation": 0,
- "width": 0,
- "x": 0,
- "y": 0,
- "type": null,
- "backgroundColor": "string"
}
}
}
]
[- {
- "id": "string",
- "name": {
- "de": "string",
- "en": "string"
}, - "shortDescription": {
- "de": "string",
- "en": "string"
}, - "descriptionHtml": {
- "de": "string",
- "en": "string"
}, - "image": {
- "path": "string",
- "url": "string"
}, - "orderSettings": { },
- "isDefault": true
}
]
attendees required | number Example: attendees=2 Number of attendees |
day required | string Example: day=2024-06-10 The day to query time slots |
experienceId required | string Example: experienceId=1487dee62999-46c2-9926-a4b3b77cc284 |
reservationId | string Example: reservationId=d73d26e09dc2-4810-b80d-b8119c8f537d When updating a reservation send the id of the reservation to exclude it from the availability calculation |
{- "slots": [
- {
- "restaurantId": "84e512c6252d-486c-a7f7-ece30781445b",
- "experienceId": "1487dee62999-46c2-9926-a4b3b77cc284",
- "day": "2024-01-02",
- "minutes": 600,
- "duration": 120,
- "attendees": 4,
- "spotsTotal": 10,
- "spotsOpen": 5,
- "seated": 45,
- "seatedLimit": 50,
- "starting": 15,
- "startingLimit": 20,
- "availableAssignments": [
- {
- "floorPlanId": "string",
- "maxPartySize": 0,
- "minPartySize": 0,
- "reservable": true,
- "score": 0.122,
- "tableCategoryIds": [
- "string"
], - "tableIds": [
- "string"
]
}
], - "exclusionReasons": [
- "no_tables_found"
], - "availableFloorPlanIds": [
- "string"
], - "assignmentsAvailableIn": [
- "string"
], - "confirmationMode": "instant",
- "showEndTime": true,
- "paymentSettings": {
- "payment": {
- "pricing": {
- "pricePerPax": 0,
- "displayPricePerPax": 0,
- "type": null
}, - "requiredFromPax": 0
}, - "pendingMinutes": 0,
- "refundMinutes": 0,
- "type": "none"
}
}
]
}
from required | string Example: from=2023-01-01 |
to required | string Example: to=2023-01-31 |
status | Array of any Example: status=seated&status=booked |
[- {
- "id": "string",
- "number": "string",
- "attendees": 0,
- "experience": {
- "id": "string",
- "name": {
- "en": "A lá carte",
- "de": "A lá carte"
}, - "shorthand": "string"
}, - "startTime": "2019-08-24T14:15:22Z",
- "endTime": "2019-08-24T14:15:22Z",
- "checkinTime": "2019-08-24T14:15:22Z",
- "checkoutTime": "2019-08-24T14:15:22Z",
- "status": "requested",
- "source": "app",
- "restaurantId": "string",
- "guest": {
- "id": "815277057c97-4d78-90a0-e1817d0f0e48",
- "firstName": "John",
- "lastName": "Doe",
- "company": "BestCorp Inc.",
- "locale": "de",
- "phone": "+436605512234",
- "email": "john.doe@example.com",
- "notes": "Likes to drink red wine"
}, - "pinnedTables": [
- {
- "id": "f3cbe69e50de-48ad-a416-83f7daa05cc0",
- "minPartySize": 2,
- "maxPartySize": 4,
- "name": "45",
- "priorityIndex": 0,
- "reservable": true,
- "rotation": 90,
- "tableCategoryIds": [
- "61ff2c50ee0a-463e-8b33-2ad31a1972f5"
], - "type": "rect_one",
- "x": 100,
- "y": 250
}
], - "labels": [
- {
- "id": "82cdafdcf5df-495b-a3ee-b5b465ae7695",
- "name": "VIP",
- "icon": "star",
- "type": "guestbook"
}
], - "specialRequestNotes": "string",
- "internalNotes": "string",
- "payment": {
- "type": null,
- "amount": 0,
- "paymentIntentId": "string",
- "invoiceUrl": { },
- "refundMinutes": 0,
- "state": "paid"
}
}
]
attendees required | number The number of attendees for this reservation |
day required | string <yyyy-mm-dd> The day of the reservation |
string | |
experienceId required | string |
firstName | string |
lastName required | string |
locale required | string Enum: "en" "de" |
minutes required | number Minutes since the start of the day based in the restaurants configured timezone. 600 = 10:00 |
notes | string or null |
phone | string |
pinnedTableIds | Array of strings Set the table ids of this reservation. When omitted, the tables will be selected automatically. |
{- "attendees": 2,
- "day": "2024-01-02",
- "email": "john.doe@example.com",
- "experienceId": "1487dee62999-46c2-9926-a4b3b77cc284",
- "firstName": "John",
- "lastName": "Doe",
- "locale": "en",
- "minutes": 600,
- "notes": "Comes with a dog",
- "phone": "+436605512234",
- "pinnedTableIds": [
- "f3cbe69e50de-48ad-a416-83f7daa05cc0"
]
}
{- "id": "string",
- "number": "string",
- "attendees": 0,
- "experience": {
- "id": "string",
- "name": {
- "en": "A lá carte",
- "de": "A lá carte"
}, - "shorthand": "string"
}, - "startTime": "2019-08-24T14:15:22Z",
- "endTime": "2019-08-24T14:15:22Z",
- "checkinTime": "2019-08-24T14:15:22Z",
- "checkoutTime": "2019-08-24T14:15:22Z",
- "status": "requested",
- "source": "app",
- "restaurantId": "string",
- "guest": {
- "id": "815277057c97-4d78-90a0-e1817d0f0e48",
- "firstName": "John",
- "lastName": "Doe",
- "company": "BestCorp Inc.",
- "locale": "de",
- "phone": "+436605512234",
- "email": "john.doe@example.com",
- "notes": "Likes to drink red wine"
}, - "pinnedTables": [
- {
- "id": "f3cbe69e50de-48ad-a416-83f7daa05cc0",
- "minPartySize": 2,
- "maxPartySize": 4,
- "name": "45",
- "priorityIndex": 0,
- "reservable": true,
- "rotation": 90,
- "tableCategoryIds": [
- "61ff2c50ee0a-463e-8b33-2ad31a1972f5"
], - "type": "rect_one",
- "x": 100,
- "y": 250
}
], - "labels": [
- {
- "id": "82cdafdcf5df-495b-a3ee-b5b465ae7695",
- "name": "VIP",
- "icon": "star",
- "type": "guestbook"
}
], - "specialRequestNotes": "string",
- "internalNotes": "string",
- "payment": {
- "type": null,
- "amount": 0,
- "paymentIntentId": "string",
- "invoiceUrl": { },
- "refundMinutes": 0,
- "state": "paid"
}
}
{- "id": "string",
- "number": "string",
- "attendees": 0,
- "experience": {
- "id": "string",
- "name": {
- "en": "A lá carte",
- "de": "A lá carte"
}, - "shorthand": "string"
}, - "startTime": "2019-08-24T14:15:22Z",
- "endTime": "2019-08-24T14:15:22Z",
- "checkinTime": "2019-08-24T14:15:22Z",
- "checkoutTime": "2019-08-24T14:15:22Z",
- "status": "requested",
- "source": "app",
- "restaurantId": "string",
- "guest": {
- "id": "815277057c97-4d78-90a0-e1817d0f0e48",
- "firstName": "John",
- "lastName": "Doe",
- "company": "BestCorp Inc.",
- "locale": "de",
- "phone": "+436605512234",
- "email": "john.doe@example.com",
- "notes": "Likes to drink red wine"
}, - "pinnedTables": [
- {
- "id": "f3cbe69e50de-48ad-a416-83f7daa05cc0",
- "minPartySize": 2,
- "maxPartySize": 4,
- "name": "45",
- "priorityIndex": 0,
- "reservable": true,
- "rotation": 90,
- "tableCategoryIds": [
- "61ff2c50ee0a-463e-8b33-2ad31a1972f5"
], - "type": "rect_one",
- "x": 100,
- "y": 250
}
], - "labels": [
- {
- "id": "82cdafdcf5df-495b-a3ee-b5b465ae7695",
- "name": "VIP",
- "icon": "star",
- "type": "guestbook"
}
], - "specialRequestNotes": "string",
- "internalNotes": "string",
- "payment": {
- "type": null,
- "amount": 0,
- "paymentIntentId": "string",
- "invoiceUrl": { },
- "refundMinutes": 0,
- "state": "paid"
}
}
Currently only status updates are allowed
reservationId required | string |
status | string Enum: "requested" "unconfirmed" "payment_pending" "booked" "reconfirmed" "arrived" "seated" "ordered" "paid" "declined" "finished" "cancelled" "no_show" "voided" |
day | string |
minutes | number |
attendees | number |
{- "status": "requested",
- "day": "string",
- "minutes": 0,
- "attendees": 0
}
{- "id": "string",
- "number": "string",
- "attendees": 0,
- "experience": {
- "id": "string",
- "name": {
- "en": "A lá carte",
- "de": "A lá carte"
}, - "shorthand": "string"
}, - "startTime": "2019-08-24T14:15:22Z",
- "endTime": "2019-08-24T14:15:22Z",
- "checkinTime": "2019-08-24T14:15:22Z",
- "checkoutTime": "2019-08-24T14:15:22Z",
- "status": "requested",
- "source": "app",
- "restaurantId": "string",
- "guest": {
- "id": "815277057c97-4d78-90a0-e1817d0f0e48",
- "firstName": "John",
- "lastName": "Doe",
- "company": "BestCorp Inc.",
- "locale": "de",
- "phone": "+436605512234",
- "email": "john.doe@example.com",
- "notes": "Likes to drink red wine"
}, - "pinnedTables": [
- {
- "id": "f3cbe69e50de-48ad-a416-83f7daa05cc0",
- "minPartySize": 2,
- "maxPartySize": 4,
- "name": "45",
- "priorityIndex": 0,
- "reservable": true,
- "rotation": 90,
- "tableCategoryIds": [
- "61ff2c50ee0a-463e-8b33-2ad31a1972f5"
], - "type": "rect_one",
- "x": 100,
- "y": 250
}
], - "labels": [
- {
- "id": "82cdafdcf5df-495b-a3ee-b5b465ae7695",
- "name": "VIP",
- "icon": "star",
- "type": "guestbook"
}
], - "specialRequestNotes": "string",
- "internalNotes": "string",
- "payment": {
- "type": null,
- "amount": 0,
- "paymentIntentId": "string",
- "invoiceUrl": { },
- "refundMinutes": 0,
- "state": "paid"
}
}
Searches a booked reservation currently starting (+/- 15 minutes) for the given table. If one is found the reservation will be checked in. If no reservation is found a new Walk-In will be created
tableName required | string |
{- "tableName": "string"
}
{- "id": "string",
- "number": "string",
- "attendees": 0,
- "experience": {
- "id": "string",
- "name": {
- "en": "A lá carte",
- "de": "A lá carte"
}, - "shorthand": "string"
}, - "startTime": "2019-08-24T14:15:22Z",
- "endTime": "2019-08-24T14:15:22Z",
- "checkinTime": "2019-08-24T14:15:22Z",
- "checkoutTime": "2019-08-24T14:15:22Z",
- "status": "requested",
- "source": "app",
- "restaurantId": "string",
- "guest": {
- "id": "815277057c97-4d78-90a0-e1817d0f0e48",
- "firstName": "John",
- "lastName": "Doe",
- "company": "BestCorp Inc.",
- "locale": "de",
- "phone": "+436605512234",
- "email": "john.doe@example.com",
- "notes": "Likes to drink red wine"
}, - "pinnedTables": [
- {
- "id": "f3cbe69e50de-48ad-a416-83f7daa05cc0",
- "minPartySize": 2,
- "maxPartySize": 4,
- "name": "45",
- "priorityIndex": 0,
- "reservable": true,
- "rotation": 90,
- "tableCategoryIds": [
- "61ff2c50ee0a-463e-8b33-2ad31a1972f5"
], - "type": "rect_one",
- "x": 100,
- "y": 250
}
], - "labels": [
- {
- "id": "82cdafdcf5df-495b-a3ee-b5b465ae7695",
- "name": "VIP",
- "icon": "star",
- "type": "guestbook"
}
], - "specialRequestNotes": "string",
- "internalNotes": "string",
- "payment": {
- "type": null,
- "amount": 0,
- "paymentIntentId": "string",
- "invoiceUrl": { },
- "refundMinutes": 0,
- "state": "paid"
}
}
Searches an active reservation on the current day for the given table. If one is found, the reservation will be set to paid and automatically finished after a few minutes.
tableName required | string |
{- "tableName": "string"
}
{- "id": "string",
- "number": "string",
- "attendees": 0,
- "experience": {
- "id": "string",
- "name": {
- "en": "A lá carte",
- "de": "A lá carte"
}, - "shorthand": "string"
}, - "startTime": "2019-08-24T14:15:22Z",
- "endTime": "2019-08-24T14:15:22Z",
- "checkinTime": "2019-08-24T14:15:22Z",
- "checkoutTime": "2019-08-24T14:15:22Z",
- "status": "requested",
- "source": "app",
- "restaurantId": "string",
- "guest": {
- "id": "815277057c97-4d78-90a0-e1817d0f0e48",
- "firstName": "John",
- "lastName": "Doe",
- "company": "BestCorp Inc.",
- "locale": "de",
- "phone": "+436605512234",
- "email": "john.doe@example.com",
- "notes": "Likes to drink red wine"
}, - "pinnedTables": [
- {
- "id": "f3cbe69e50de-48ad-a416-83f7daa05cc0",
- "minPartySize": 2,
- "maxPartySize": 4,
- "name": "45",
- "priorityIndex": 0,
- "reservable": true,
- "rotation": 90,
- "tableCategoryIds": [
- "61ff2c50ee0a-463e-8b33-2ad31a1972f5"
], - "type": "rect_one",
- "x": 100,
- "y": 250
}
], - "labels": [
- {
- "id": "82cdafdcf5df-495b-a3ee-b5b465ae7695",
- "name": "VIP",
- "icon": "star",
- "type": "guestbook"
}
], - "specialRequestNotes": "string",
- "internalNotes": "string",
- "payment": {
- "type": null,
- "amount": 0,
- "paymentIntentId": "string",
- "invoiceUrl": { },
- "refundMinutes": 0,
- "state": "paid"
}
}
Report an status update regarding an incoming call
id required | string An unique UUID that identifies the call in the external phone system |
phoneNumber required | string An E.164 formatted phone number |
status required | string Enum: "ringing" "picked_up" "hung_up" "abandoned" The current status of the call |
{- "id": "90e4020a-a9d1-4a06-8906-fec2126cc007",
- "phoneNumber": "+436601123345",
- "status": "ringing"
}
restaurantId required | string |
experienceId | any |
{- "restaurantId": "string",
- "experiences": [
- {
- "id": "string",
- "name": {
- "de": "string",
- "en": "string"
}, - "shortDescription": {
- "de": "string",
- "en": "string"
}, - "descriptionHtml": {
- "de": "string",
- "en": "string"
}, - "image": {
- "path": "string",
- "url": "string"
}, - "minPartySize": 0,
- "maxPartySize": 0,
- "availableDays": [
- {
- "day": "string",
- "allowCategorySelection": true,
- "floorPlanIds": [
- "string"
], - "isAvailable": true,
- "message": {
- "customMessage": {
- "de": "string",
- "en": "string"
}, - "messageType": null
}
}
], - "isSingleDayEvent": true,
- "orderSettings": { }
}
], - "experienceGroups": [
- {
- "id": "string",
- "name": {
- "de": "string",
- "en": "string"
}, - "shortDescription": {
- "de": "string",
- "en": "string"
}, - "image": {
- "path": "string",
- "url": "string"
}, - "experienceIds": [
- "string"
], - "sortIndex": 0
}
], - "minPartySize": 0,
- "maxPartySize": 0,
- "formalLanguage": true,
- "newsletterSignupEnabled": true,
- "address": [
- { }
], - "tableCategories": [
- {
- "id": "string",
- "name": {
- "de": "string",
- "en": "string"
}, - "description": {
- "de": "string",
- "en": "string"
}
}
], - "branding": { },
- "email": "string",
- "restaurantName": "string",
- "countryCode": "string",
- "phone": "string",
- "restaurantTimezone": "string",
- "products": [
- "string"
], - "description": {
- "de": "string",
- "en": "string"
}, - "websiteUrl": "string",
- "stepOrder": "partysize_experience_date",
- "buttonLabel": "reserve"
}
restaurantId required | string |
experienceId required | any |
day required | any |
attendees required | any |
{- "slots": [
- {
- "minutes": 0,
- "day": "string",
- "duration": 0,
- "available": true,
- "availableCategoryIds": [
- "string"
], - "autoConfirm": true,
- "isSingleSlotExperience": true,
- "isSqueezeDuration": true
}
]
}
restaurantId required | string |
experienceId required | string |
attendees required | number |
day required | string |
minutes required | number |
firstName required | string |
lastName required | string |
phone required | string |
email required | string |
notes required | object |
locale required | string Enum: "en" "de" |
newsletterSignup required | boolean |
tableCategoryId | string |
originUrl required | string |
{- "experienceId": "string",
- "attendees": 0,
- "day": "string",
- "minutes": 0,
- "firstName": "string",
- "lastName": "string",
- "phone": "string",
- "email": "string",
- "notes": { },
- "locale": "en",
- "newsletterSignup": true,
- "tableCategoryId": "string",
- "originUrl": "string"
}
{- "type": "success",
- "redirectUrl": "string",
- "reservation": {
- "id": "string",
- "number": "string",
- "attendees": 0,
- "experienceId": "string",
- "startTime": "string",
- "endTime": "string",
- "status": "requested",
- "needsSpecialRequestConfirmation": true
}
}
restaurantId required | string |
reservationId required | string |
{- "id": "string",
- "number": "string",
- "attendees": 0,
- "experienceId": "string",
- "startTime": "string",
- "endTime": "string",
- "status": "requested",
- "needsSpecialRequestConfirmation": true
}
restaurantId required | string |
reservationId required | string |
{- "id": "string",
- "number": "string",
- "attendees": 0,
- "experienceId": "string",
- "startTime": "string",
- "endTime": "string",
- "status": "requested",
- "needsSpecialRequestConfirmation": true
}
restaurantId required | string |
reservationId required | string |
{- "id": "string",
- "number": "string",
- "attendees": 0,
- "experienceId": "string",
- "startTime": "string",
- "endTime": "string",
- "status": "requested",
- "needsSpecialRequestConfirmation": true
}