Self-Service API
The Self-Service API provides endpoints for managing table assignments and retrieving availability information.
Tips
All API endpoints can be explored interactively in the OpenAPI documentation.
Authentication
All endpoints require authentication. A token can be obtained in the app by navigating to Settings -> Connections and selecting the appropriate connection type.
Important
The token will be shown only once after it was generated, so make sure to store it.
Configuration
When creating an API token, you must select a specific occasion to which the connection will be restricted. This selection can be made during token creation or configured later. Additionally, you can restrict access to certain table categories. This ensures that external systems using the API can only manage seatings for guests within the chosen occasion and table categories.
Available Endpoints
Get Available Tables
Retrieves a list of available tables for a specific date and time based on guest count.
GET /api/self-service/available-tables
Query Parameters
Parameter | Type | Required | Description |
---|---|---|---|
date | string | Yes | Date in format YYYY-MM-DD |
time | string | Yes | Time in format HH:MM |
guests | integer | Yes | Number of guests |
Response
{
"availableTables": [
{
"id": "string",
"number": "string",
"name": "string",
"capacity": "integer",
"location": "string",
"available": true,
"availableTimeSlots": [
{
"date": "string",
"time": "string"
}
]
}
]
}
Assign Table
Creates a new table assignment for a guest or group of guests.
POST /api/self-service/assign-table
Request Body
{
"roomNumber": "string",
"reservationId": "string",
"guestIds": ["string"],
"tableNumber": "string",
"date": "string",
"time": "string"
}
Response
{
"confirmation": {
"id": "string",
"status": "confirmed",
"table": {
"id": "string",
"number": "string",
"name": "string"
},
"date": "string",
"time": "string"
}
}
Unassign Table
Cancels an existing table assignment.
DELETE /api/self-service/assign-table
Request Body
{
"roomNumber": "string",
"reservationId": "string",
"guestIds": ["string"],
"tableNumber": "string",
"date": "string",
"time": "string"
}
Response
{
"confirmation": {
"status": "cancelled",
"message": "Table assignment has been successfully cancelled"
}
}
Get Assigned Tables
Retrieves information about the assigned tables for a specific guest and day.
GET /api/self-service/assigned-tables
Query Parameters
Parameter | Type | Required | Description |
---|---|---|---|
roomNumber | string | Yes | Room number of the guest |
reservationId | string | Yes | Reservation ID |
guestId | string | Yes | Guest ID |
date | string | Yes | Date in format YYYY-MM-DD |
Response
{
"assignments": [
{
"id": "string",
"table": {
"id": "string",
"number": "string",
"name": "string",
"location": "string"
},
"date": "string",
"time": "string",
"guests": [
{
"id": "string",
"name": "string"
}
]
}
]
}
Error Responses
All endpoints may return the following error codes:
Status Code | Description |
---|---|
400 | Bad Request - The request was invalid |
401 | Unauthorized - Authentication is required |
500 | Internal Server Error - Something went wrong on the server |