Molzait API (1)

Download OpenAPI specification:Download

Floor plan

Interfaces for creating, updating and deleting floor plans

List floor plans

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new floor plans

Request Body schema: application/json
required
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

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "sortIndex": 0,
  • "tables": {
    },
  • "combinations": {
    },
  • "elements": {
    }
}

Response samples

Content type
application/json
[
  • {
    }
]

Update a floor plans

path Parameters
floorPlanId
required
string
Request Body schema: application/json
required
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

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "sortIndex": 0,
  • "tables": {
    },
  • "combinations": {
    },
  • "elements": {
    }
}

Response samples

Content type
application/json
[
  • {
    }
]

Delete a floor plans

path Parameters
floorPlanId
required
string

Responses

Availability

Interfaces for requesting currently available slots

Listing experiences

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Listing available slots

query Parameters
reservationId
required
any
Example: reservationId=c9f00b536e72-405a-b0e5-d2cf2169a239

When updating a reservation send the id of the reservation to exclude it from the availability calculation

experienceId
required
any
Example: experienceId=6e1925cb1806-4e9e-aa60-55c8ec929a38
day
required
any
Example: day=2024-01-02
attendees
required
any
Example: attendees=2

Responses

Response samples

Content type
application/json
{
  • "slots": [
    ]
}

Reservations

Interfaces for interacting with restaurant reservations

List reservations

query Parameters
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

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a reservation

Request Body schema: application/json
required
attendees
required
number
day
required
string
email
string
experienceId
required
string
firstName
string
lastName
required
string
locale
required
string
Enum: "en" "de"
minutes
required
number
newsletterSignup
boolean
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.

Responses

Request samples

Content type
application/json
{
  • "attendees": 2,
  • "day": "2024-01-02",
  • "email": "john.doe@example.com",
  • "experienceId": "6e1925cb1806-4e9e-aa60-55c8ec929a38",
  • "firstName": "John",
  • "lastName": "Doe",
  • "locale": "en",
  • "minutes": 600,
  • "newsletterSignup": true,
  • "notes": "Comes with a dog",
  • "phone": "+436605512234",
  • "pinnedTableIds": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "attendees": 0,
  • "experience": {
    },
  • "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": {
    },
  • "pinnedTables": [
    ],
  • "labels": [
    ],
  • "specialRequestNotes": "string",
  • "internalNotes": "string",
  • "payment": {
    }
}

Load a reservation

path Parameters
reservationId
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "attendees": 0,
  • "experience": {
    },
  • "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": {
    },
  • "pinnedTables": [
    ],
  • "labels": [
    ],
  • "specialRequestNotes": "string",
  • "internalNotes": "string",
  • "payment": {
    }
}

Update reservation

Currently only status updates are allowed

path Parameters
reservationId
required
string
Request Body schema: application/json
required
status
string
Enum: "requested" "unconfirmed" "payment_pending" "booked" "reconfirmed" "seated" "ordered" "paid" "declined" "finished" "cancelled" "no_show" "voided"
day
string
minutes
number
attendees
number

Responses

Request samples

Content type
application/json
{
  • "status": "requested",
  • "day": "string",
  • "minutes": 0,
  • "attendees": 0
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "attendees": 0,
  • "experience": {
    },
  • "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": {
    },
  • "pinnedTables": [
    ],
  • "labels": [
    ],
  • "specialRequestNotes": "string",
  • "internalNotes": "string",
  • "payment": {
    }
}

Check-In

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

Request Body schema: application/json
required
tableName
required
string

Responses

Request samples

Content type
application/json
{
  • "tableName": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "attendees": 0,
  • "experience": {
    },
  • "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": {
    },
  • "pinnedTables": [
    ],
  • "labels": [
    ],
  • "specialRequestNotes": "string",
  • "internalNotes": "string",
  • "payment": {
    }
}

Check-Out

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.

Request Body schema: application/json
required
tableName
required
string

Responses

Request samples

Content type
application/json
{
  • "tableName": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "attendees": 0,
  • "experience": {
    },
  • "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": {
    },
  • "pinnedTables": [
    ],
  • "labels": [
    ],
  • "specialRequestNotes": "string",
  • "internalNotes": "string",
  • "payment": {
    }
}

Widget

Widget bootstrap data

path Parameters
restaurantId
required
string
query Parameters
experienceId
any

Responses

Response samples

Content type
application/json
{
  • "restaurantId": "string",
  • "experiences": [
    ],
  • "minPartySize": 0,
  • "maxPartySize": 0,
  • "formalLanguage": true,
  • "newsletterSignupEnabled": true,
  • "address": [
    ],
  • "tableCategories": [
    ],
  • "branding": { },
  • "email": "string",
  • "restaurantName": "string",
  • "countryCode": "string",
  • "phone": "string",
  • "restaurantTimezone": "string",
  • "description": {
    },
  • "websiteUrl": "string"
}

Listing availability

path Parameters
restaurantId
required
string
query Parameters
experienceId
required
any
day
required
any
attendees
required
any

Responses

Response samples

Content type
application/json
{
  • "slots": [
    ]
}

Creating a reservation

path Parameters
restaurantId
required
string
Request Body schema: application/json
required
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

Responses

Request samples

Content type
application/json
{
  • "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"
}

Response samples

Content type
application/json
{
  • "type": "success",
  • "redirectUrl": "string",
  • "reservation": {
    }
}

Update a reservation

path Parameters
restaurantId
required
string
reservationId
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "number": "string",
  • "attendees": 0,
  • "experienceId": "string",
  • "startTime": "string",
  • "endTime": "string",
  • "status": "requested",
  • "needsSpecialRequestConfirmation": true
}

Reconfirm a reservation

path Parameters
restaurantId
required
string
reservationId
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "number": "string",
  • "attendees": 0,
  • "experienceId": "string",
  • "startTime": "string",
  • "endTime": "string",
  • "status": "requested",
  • "needsSpecialRequestConfirmation": true
}

Cancel a reservation

path Parameters
restaurantId
required
string
reservationId
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "number": "string",
  • "attendees": 0,
  • "experienceId": "string",
  • "startTime": "string",
  • "endTime": "string",
  • "status": "requested",
  • "needsSpecialRequestConfirmation": true
}