Skip to content

Booking API Reference ​

Interactive API documentation for the Munu Booking API.

Place bookings in available time slots.

Gives the ability to list venues and their scenarios, view their available time slots, and place bookings for the specified time slots.

Contact​


List Bookings by External Reference​

GET
/bookings

Lists bookings that contain either the extReferenceId and/or extReferenceNumber. Used for searching for specific bookings made by external systems.

Authorizations​

OAuth2
clientCredentials Flow
Token URL"https://login.microsoftonline.com/{issuer}/oauth2/v2.0/token"
Scopes:
or
X-API-KEY

Is made available as part of the onboading/integration process.

Type
API Key (header: X-API-KEY)

Parameters​

Header Parameters

X-API-KEY*

Client-specific key.

Type
string
Required

Query Parameters

extReferenceId

Filter by bookings containing this external identification.

Type
string
Example"fa8aa66d-680c-4da3-9fd1-f31d46fb336c"
extReferenceNumber

Filter by bookings containing this external reference.

Type
string
Example"1262"

Responses​

Success

application/json
JSON
{
"data": [
{
"id": "20230221081212-2db89a3f-766a-421e-922a-dbb77fe011d3",
"status": "string",
"timeSlotId": "trlY5s1zestnjauIG8YcqMAyIEys7AQimt+n9CKG+67RbWHLHy952+PU5LUDHQWD",
"venueId": 149,
"timeFrom": "2023-01-11T17:00:00Z",
"timeTo": "2023-01-11T19:00:00Z",
"guest": {
"firstName": "John",
"lastName": "Doe",
"phone": "4790090090",
"email": "john@doe.com"
},
"guestCount": 2,
"comment": "We might arrive 10 minutes late.",
"extReferenceId": "6ecfc7e7-7b31-4b4c-97a3-a3888d2ade94",
"extReferenceNumber": "123",
"extProperties": {
"additionalProperties": "string"
},
"scenarioName": "Breakfast",
"noShowFee": {
"amountPreAuthorized": 500,
"amountToCapture": 250
},
"tags": [
"string"
],
"types": [
"string"
]
}
]
}

Playground​

Authorization
Headers
Variables
Key
Value

Samples​


Create Booking​

POST
/venues/{venueId}/bookings

Reserves the capacity required to create this booking and returns a reference to it.

Authorizations​

OAuth2
clientCredentials Flow
Token URL"https://login.microsoftonline.com/{issuer}/oauth2/v2.0/token"
Scopes:
or
X-API-KEY

Is made available as part of the onboading/integration process.

Type
API Key (header: X-API-KEY)

Parameters​

Header Parameters

X-API-KEY*

Client-specific key.

Type
string
Required

Request Body​

application/json
JSON
{
"id": "20230221081212-2db89a3f-766a-421e-922a-dbb77fe011d3",
"status": "string",
"timeSlotId": "trlY5s1zestnjauIG8YcqMAyIEys7AQimt+n9CKG+67RbWHLHy952+PU5LUDHQWD",
"venueId": 149,
"timeFrom": "2023-01-11T17:00:00Z",
"timeTo": "2023-01-11T19:00:00Z",
"guest": {
"firstName": "John",
"lastName": "Doe",
"phone": "4790090090",
"email": "john@doe.com"
},
"guestCount": 2,
"comment": "We might arrive 10 minutes late.",
"extReferenceId": "6ecfc7e7-7b31-4b4c-97a3-a3888d2ade94",
"extReferenceNumber": "123",
"extProperties": {
"additionalProperties": "string"
},
"scenarioName": "Breakfast",
"noShowFee": {
"amountPreAuthorized": 500,
"amountToCapture": 250
},
"tags": [
"string"
],
"types": [
"string"
]
}

Responses​

Success

application/json
JSON
{
"data": {
"id": "20230221081212-2db89a3f-766a-421e-922a-dbb77fe011d3",
"status": "string",
"timeSlotId": "trlY5s1zestnjauIG8YcqMAyIEys7AQimt+n9CKG+67RbWHLHy952+PU5LUDHQWD",
"venueId": 149,
"timeFrom": "2023-01-11T17:00:00Z",
"timeTo": "2023-01-11T19:00:00Z",
"guest": {
"firstName": "John",
"lastName": "Doe",
"phone": "4790090090",
"email": "john@doe.com"
},
"guestCount": 2,
"comment": "We might arrive 10 minutes late.",
"extReferenceId": "6ecfc7e7-7b31-4b4c-97a3-a3888d2ade94",
"extReferenceNumber": "123",
"extProperties": {
"additionalProperties": "string"
},
"scenarioName": "Breakfast",
"noShowFee": {
"amountPreAuthorized": 500,
"amountToCapture": 250
},
"tags": [
"string"
],
"types": [
"string"
]
}
}

Playground​

Authorization
Headers
Body

Samples​


Get Booking​

GET
/venues/{venueId}/bookings/{bookingId}

Returns Booking for the specified bookingId.

Authorizations​

OAuth2
clientCredentials Flow
Token URL"https://login.microsoftonline.com/{issuer}/oauth2/v2.0/token"
Scopes:
or
X-API-KEY

Is made available as part of the onboading/integration process.

Type
API Key (header: X-API-KEY)

Parameters​

Header Parameters

X-API-KEY*

Client-specific key.

Type
string
Required

Responses​

Success

application/json
JSON
{
"data": {
"id": "20230221081212-2db89a3f-766a-421e-922a-dbb77fe011d3",
"status": "string",
"timeSlotId": "trlY5s1zestnjauIG8YcqMAyIEys7AQimt+n9CKG+67RbWHLHy952+PU5LUDHQWD",
"venueId": 149,
"timeFrom": "2023-01-11T17:00:00Z",
"timeTo": "2023-01-11T19:00:00Z",
"guest": {
"firstName": "John",
"lastName": "Doe",
"phone": "4790090090",
"email": "john@doe.com"
},
"guestCount": 2,
"comment": "We might arrive 10 minutes late.",
"extReferenceId": "6ecfc7e7-7b31-4b4c-97a3-a3888d2ade94",
"extReferenceNumber": "123",
"extProperties": {
"additionalProperties": "string"
},
"scenarioName": "Breakfast",
"noShowFee": {
"amountPreAuthorized": 500,
"amountToCapture": 250
},
"tags": [
"string"
],
"types": [
"string"
]
}
}

Playground​

Authorization
Headers

Samples​


Update Booking​

PUT
/venues/{venueId}/bookings/{bookingId}

Ability to update details about the booking. Partial update is not supported so a booking should be fetched using bookingId path parameter first before performing the update. Please note that the booking state can only be manipulated through a separate method.

Important

status changes are not supported using PUT but are instead modified using PATCH. See the Update Booking State endpoint.

*State LEVEL ACCESS Description
REGISTERED 0 Default state for a newly created Booking.
UNCONFIRMED 1 External External state for when integrator has sent confirmation message to the guest, but have not got the response yet.
CONFIRMED 2 External External state for when the integrator has got a positive confirmation response from the guest. If the response is negative then the Booking should get the CANCELLED state.
WAITING 3 Internal, Read-Only Internal state, cannot be set through API. The Booking is active and cannot be updated by the API.
SEATED 4 Internal, Read-Only Internal state, cannot be set through API. The Booking is active and cannot be updated by the API.
BILL_PRINTED 5 Internal, Read-Only Internal state, cannot be set through API. The Booking is active and cannot be updated by the API.
CLOSED 6 Internal Internal state, cannot be set through API.
NO_SHOW 6 Internal Internal state, cannot be set through API.
CANCELLED 6 Internal, External The Booking has been cancelled.

Authorizations​

OAuth2
clientCredentials Flow
Token URL"https://login.microsoftonline.com/{issuer}/oauth2/v2.0/token"
Scopes:
or
X-API-KEY

Is made available as part of the onboading/integration process.

Type
API Key (header: X-API-KEY)

Parameters​

Header Parameters

X-API-KEY*

Client-specific key.

Type
string
Required

Request Body​

application/json
JSON
{
"id": "20230221081212-2db89a3f-766a-421e-922a-dbb77fe011d3",
"status": "string",
"timeSlotId": "trlY5s1zestnjauIG8YcqMAyIEys7AQimt+n9CKG+67RbWHLHy952+PU5LUDHQWD",
"venueId": 149,
"timeFrom": "2023-01-11T17:00:00Z",
"timeTo": "2023-01-11T19:00:00Z",
"guest": {
"firstName": "John",
"lastName": "Doe",
"phone": "4790090090",
"email": "john@doe.com"
},
"guestCount": 2,
"comment": "We might arrive 10 minutes late.",
"extReferenceId": "6ecfc7e7-7b31-4b4c-97a3-a3888d2ade94",
"extReferenceNumber": "123",
"extProperties": {
"additionalProperties": "string"
},
"scenarioName": "Breakfast",
"noShowFee": {
"amountPreAuthorized": 500,
"amountToCapture": 250
},
"tags": [
"string"
],
"types": [
"string"
]
}

Responses​

Success

application/json
JSON
{
"data": {
"id": "20230221081212-2db89a3f-766a-421e-922a-dbb77fe011d3",
"status": "string",
"timeSlotId": "trlY5s1zestnjauIG8YcqMAyIEys7AQimt+n9CKG+67RbWHLHy952+PU5LUDHQWD",
"venueId": 149,
"timeFrom": "2023-01-11T17:00:00Z",
"timeTo": "2023-01-11T19:00:00Z",
"guest": {
"firstName": "John",
"lastName": "Doe",
"phone": "4790090090",
"email": "john@doe.com"
},
"guestCount": 2,
"comment": "We might arrive 10 minutes late.",
"extReferenceId": "6ecfc7e7-7b31-4b4c-97a3-a3888d2ade94",
"extReferenceNumber": "123",
"extProperties": {
"additionalProperties": "string"
},
"scenarioName": "Breakfast",
"noShowFee": {
"amountPreAuthorized": 500,
"amountToCapture": 250
},
"tags": [
"string"
],
"types": [
"string"
]
}
}

Playground​

Authorization
Headers
Body

Samples​


Delete Booking​

DELETE
/venues/{venueId}/bookings/{bookingId}

Endpoint only ment to delete temporary bookings, not reservations.

Authorizations​

OAuth2
clientCredentials Flow
Token URL"https://login.microsoftonline.com/{issuer}/oauth2/v2.0/token"
Scopes:
or
X-API-KEY

Is made available as part of the onboading/integration process.

Type
API Key (header: X-API-KEY)

Parameters​

Header Parameters

X-API-KEY*

Client-specific key.

Type
string
Required

Responses​

OK

application/json

Playground​

Authorization
Headers

Samples​


Update Booking Status​

PATCH
/venues/{venueId}/bookings/{bookingId}

Changes the state of a Booking. Only a few of the states are available to be set through the API. The others are set through other processes.

State Flow

States can only increase in level.

State LEVEL SET BY ACCESS Description
REGISTERED 0 Default state for a newly created Booking.
UNCONFIRMED 1 External State set externally for when integrator has sent confirmation message to the guest, but have not got the response yet.
CONFIRMED 2 External State set externally for when the integrator has got a positive confirmation response from the guest. If the response is negative then the Booking should get the CANCELLED state.
WAITING 3 Internal BLOCKED Set internally, the Booking is blocked from changes through the API.
SEATED 4 Internal BLOCKED Set internally, the Booking is blocked from changes through the API.
BILL_PRINTED 5 Internal BLOCKED Set internally, the Booking is blocked from changes through the API.
CLOSED 6 Internal READ-ONLY Set internally, the Booking has been finalized and can no longer be changed.
NO_SHOW 6 Internal READ-ONLY Set internally, the Booking has been finalized and can no longer be changed.
CANCELLED 6 Internal, External READ-ONLY Set internally or by the API. The Booking has been finalized and can no longer be changed.

Authorizations​

OAuth2
clientCredentials Flow
Token URL"https://login.microsoftonline.com/{issuer}/oauth2/v2.0/token"
Scopes:
or
X-API-KEY

Is made available as part of the onboading/integration process.

Type
API Key (header: X-API-KEY)

Request Body​

application/json
JSON
{
"state": "string"
}

Responses​

OK

application/json
JSON
{
"data": {
"id": "20230221081212-2db89a3f-766a-421e-922a-dbb77fe011d3",
"status": "string",
"timeSlotId": "trlY5s1zestnjauIG8YcqMAyIEys7AQimt+n9CKG+67RbWHLHy952+PU5LUDHQWD",
"venueId": 149,
"timeFrom": "2023-01-11T17:00:00Z",
"timeTo": "2023-01-11T19:00:00Z",
"guest": {
"firstName": "John",
"lastName": "Doe",
"phone": "4790090090",
"email": "john@doe.com"
},
"guestCount": 2,
"comment": "We might arrive 10 minutes late.",
"extReferenceId": "6ecfc7e7-7b31-4b4c-97a3-a3888d2ade94",
"extReferenceNumber": "123",
"extProperties": {
"additionalProperties": "string"
},
"scenarioName": "Breakfast",
"noShowFee": {
"amountPreAuthorized": 500,
"amountToCapture": 250
},
"tags": [
"string"
],
"types": [
"string"
]
}
}

Playground​

Authorization
Body

Samples​


Update Booking Timeslot​

PATCH
/venues/{venueId}/bookings/{bookingId}/timeslot

This endpoint gives the ability to change the timeslot for the booking.

Authorizations​

OAuth2
clientCredentials Flow
Token URL"https://login.microsoftonline.com/{issuer}/oauth2/v2.0/token"
Scopes:
or
X-API-KEY

Is made available as part of the onboading/integration process.

Type
API Key (header: X-API-KEY)

Parameters​

Query Parameters

Type
string

Request Body​

application/json
JSON
{
"timeslotId": "20260221081212-2db89a3f-766a-421e-922a-dbb77fe011d3"
}

Responses​

OK

application/json
JSON
{
"id": "20230221081212-2db89a3f-766a-421e-922a-dbb77fe011d3",
"status": "string",
"timeSlotId": "trlY5s1zestnjauIG8YcqMAyIEys7AQimt+n9CKG+67RbWHLHy952+PU5LUDHQWD",
"venueId": 149,
"timeFrom": "2023-01-11T17:00:00Z",
"timeTo": "2023-01-11T19:00:00Z",
"guest": {
"firstName": "John",
"lastName": "Doe",
"phone": "4790090090",
"email": "john@doe.com"
},
"guestCount": 2,
"comment": "We might arrive 10 minutes late.",
"extReferenceId": "6ecfc7e7-7b31-4b4c-97a3-a3888d2ade94",
"extReferenceNumber": "123",
"extProperties": {
"additionalProperties": "string"
},
"scenarioName": "Breakfast",
"noShowFee": {
"amountPreAuthorized": 500,
"amountToCapture": 250
},
"tags": [
"string"
],
"types": [
"string"
]
}

Playground​

Authorization
Variables
Key
Value
Body

Samples​


Create Waitlist​

POST
/venues/{venueId}/waitlists

Authorizations​

OAuth2
clientCredentials Flow
Token URL"https://login.microsoftonline.com/{issuer}/oauth2/v2.0/token"
Scopes:
or
X-API-KEY

Is made available as part of the onboading/integration process.

Type
API Key (header: X-API-KEY)

Request Body​

application/json
JSON
{
"id": "20230221081212-2db89a3f-766a-421e-922a-dbb77fe011d3",
"status": "string",
"timeSlotId": "trlY5s1zestnjauIG8YcqMAyIEys7AQimt+n9CKG+67RbWHLHy952+PU5LUDHQWD",
"venueId": 149,
"timeFrom": "2023-01-11T17:00:00Z",
"timeTo": "2023-01-11T19:00:00Z",
"guest": {
"firstName": "John",
"lastName": "Doe",
"phone": "4790090090",
"email": "john@doe.com"
},
"guestCount": 2,
"comment": "We might arrive 10 minutes late.",
"extReferenceId": "6ecfc7e7-7b31-4b4c-97a3-a3888d2ade94",
"extReferenceNumber": "123",
"extProperties": {
"additionalProperties": "string"
},
"scenarioName": "Breakfast",
"noShowFee": {
"amountPreAuthorized": 500,
"amountToCapture": 250
},
"tags": [
"string"
],
"types": [
"string"
]
}

Responses​

Created

application/json
JSON
{
"id": "20230221081212-2db89a3f-766a-421e-922a-dbb77fe011d3",
"status": "string",
"timeSlotId": "trlY5s1zestnjauIG8YcqMAyIEys7AQimt+n9CKG+67RbWHLHy952+PU5LUDHQWD",
"venueId": 149,
"timeFrom": "2023-01-11T17:00:00Z",
"timeTo": "2023-01-11T19:00:00Z",
"guest": {
"firstName": "John",
"lastName": "Doe",
"phone": "4790090090",
"email": "john@doe.com"
},
"guestCount": 2,
"comment": "We might arrive 10 minutes late.",
"extReferenceId": "6ecfc7e7-7b31-4b4c-97a3-a3888d2ade94",
"extReferenceNumber": "123",
"extProperties": {
"additionalProperties": "string"
},
"scenarioName": "Breakfast",
"noShowFee": {
"amountPreAuthorized": 500,
"amountToCapture": 250
},
"tags": [
"string"
],
"types": [
"string"
]
}

Playground​

Authorization
Body

Samples​


Update Waitlist Status​

PATCH
/venues/{venueId}/waitlists/{waitlistId}

Changes the state of a Waitlist. Only state CANCELLED is available.

Authorizations​

OAuth2
clientCredentials Flow
Token URL"https://login.microsoftonline.com/{issuer}/oauth2/v2.0/token"
Scopes:
or
X-API-KEY

Is made available as part of the onboading/integration process.

Type
API Key (header: X-API-KEY)

Request Body​

application/json
JSON
{
"state": "string"
}

Responses​

OK

application/json
JSON
{
"id": "20230221081212-2db89a3f-766a-421e-922a-dbb77fe011d3",
"status": "string",
"timeSlotId": "trlY5s1zestnjauIG8YcqMAyIEys7AQimt+n9CKG+67RbWHLHy952+PU5LUDHQWD",
"venueId": 149,
"timeFrom": "2023-01-11T17:00:00Z",
"timeTo": "2023-01-11T19:00:00Z",
"guest": {
"firstName": "John",
"lastName": "Doe",
"phone": "4790090090",
"email": "john@doe.com"
},
"guestCount": 2,
"comment": "We might arrive 10 minutes late.",
"extReferenceId": "6ecfc7e7-7b31-4b4c-97a3-a3888d2ade94",
"extReferenceNumber": "123",
"extProperties": {
"additionalProperties": "string"
},
"scenarioName": "Breakfast",
"noShowFee": {
"amountPreAuthorized": 500,
"amountToCapture": 250
},
"tags": [
"string"
],
"types": [
"string"
]
}

Playground​

Authorization
Body

Samples​


List Venues​

GET
/venues

Lists all available venues.

Authorizations​

OAuth2
clientCredentials Flow
Token URL"https://login.microsoftonline.com/{issuer}/oauth2/v2.0/token"
Scopes:
or
X-API-KEY

Is made available as part of the onboading/integration process.

Type
API Key (header: X-API-KEY)

Parameters​

Header Parameters

X-API-KEY*

Client-specific key.

Type
string
Required

Responses​

Success

application/json
JSON
{
"data": [
{
"id": 149,
"name": "Seaside Restaurant",
"scenarioNames": [
"Breakfast"
],
"scenarios": [
{
"id": 0,
"name": "Lunch",
"types": [
],
"description": "string",
"distributionUrl": "string"
}
]
}
]
}

Playground​

Authorization
Headers

Samples​


List Time Slots​

GET
/venues/{venueId}/timeslots

Generates a list of possible time slots for the given guestCount and date. This list represents TimeSlots for which it might be possible to create a Booking.

Important

TimeSlots are not static, but rather generated based on Venue configuration. If the configuration changes then the list can look completely different. Treat it as a realtime result for which a Booking can be placed right now. Once a Booking has been placed it is holding capacity at the Venue, it is not reserving a TimeSlot.

Authorizations​

OAuth2
clientCredentials Flow
Token URL"https://login.microsoftonline.com/{issuer}/oauth2/v2.0/token"
Scopes:
or
X-API-KEY

Is made available as part of the onboading/integration process.

Type
API Key (header: X-API-KEY)

Parameters​

Header Parameters

X-API-KEY*

Client-specific key.

Type
string
Required

Query Parameters

date*

Date in ISO-8601 format YYYY-MM-DD.

Type
string
Required
Example"2023-01-15"
Format
"date"
guestCount*

Number of guests.

Type
integer
Required
Example2
timeFrom

Filters result from a specific time of day.

Type
string
Example"07:15:00"
Format
"time"
timeTo

Filters result to a specific time of day.

Type
string
Example"14:45:00"
Format
"time"
scenarioId

Filter response by scenarioId.

Type
string

Responses​

Success

application/json
JSON
{
"data": [
{
"id": "RB8lCkhd0wpemL8+R5RhynjQq1VuNS3eDkdmUEaK3h26pm+Z0I1tIJQi9SHtVm+Y",
"scenarioId": 0,
"scenarioName": "Breakfast",
"timeFrom": "2022-12-31T10:30:00Z",
"timeTo": "2022-12-31T12:30:00Z",
"available": true,
"waitlistAvailable": true
}
]
}

Playground​

Authorization
Headers
Variables
Key
Value

Samples​


List Availability​

GET
/venues/{venueId}/availability

Lists availability for the Venue for the specified numberOfDays starting with fromDate. The availability for a Venue are described on two levels; venueStatus and reservableState. The former describes if a venue is open for business, while the latter describes if it is possible to create any bookings on at least one scenario right now.

A maximum of 31 days are returned with 1 being the default if nothing is specified. If no fromDate is specified it will default to the current date.

venueStatus

State Description
OPEN The Venue is open for business. This does not however mean that there are available scenarios to book from.
CLOSED The Venue is closed, either because of planned opening hours or because an opening hour deviation has occured (temporary closed).

reservableState

State Description
AVAILABLE The Venue has one or more scenarios which are open and have available TimeSlots.
NOT_AVAILABLE All of the scenarios for the Venue are NOT_AVAILABLE.
FULLY_BOOKED One or more scenarios are FULLY_BOOKED and there are no AVAILABLE scenarios.

scenarios[].status

State Description
AVAILABLE The Scenario has available capacity.
NOT_AVAILABLE The bookable capacity is either set to 0, no tables have been defined, or the Scenario is temporarily blocked for booking.
FULLY_BOOKED The Scenario has no available capacity.

Authorizations​

OAuth2
clientCredentials Flow
Token URL"https://login.microsoftonline.com/{issuer}/oauth2/v2.0/token"
Scopes:
or
X-API-KEY

Is made available as part of the onboading/integration process.

Type
API Key (header: X-API-KEY)

Parameters​

Query Parameters

fromDate

Date in ISO-8601 format YYYY-MM-DD. Defaults to todays date if nothing else is specified.

Type
string
Example"2023-01-01"
Format
"date"
days

Number of days to return.

Type
integer
Example14
Format
"date"
Minimum
1
Maximum
31
Default
1
guestCount

Number of guests.

Type
integer
Default
1
reservableState

Filter response by reservableState value.

Type
string
Valid values
"AVAILABLE""NOT_AVAILABLE""FULLY_BOOKED"
venueStatus

Filter response by venueStatus value.

Type
string
Valid values
"OPEN""CLOSED"
scenarioId

Filter response by scenarioId.

Type
string

Responses​

application/json
JSON
{
"data": [
{
"date": "2024-07-28",
"venueStatus": "string",
"reservableState": "string",
"scenarios": [
{
"id": 0,
"displayName": "string",
"status": "string"
}
]
}
]
}

Playground​

Authorization
Variables
Key
Value

Samples​


List DayTimeSlots​

GET
/venues/{venueId}/daytimeslots

Authorizations​

OAuth2
clientCredentials Flow
Token URL"https://login.microsoftonline.com/{issuer}/oauth2/v2.0/token"
Scopes:
or
X-API-KEY

Is made available as part of the onboading/integration process.

Type
API Key (header: X-API-KEY)

Responses​

OK

application/json
JSON
{
"data": [
{
"id": "RB8lCkhd0wpemL8+R5RhynjQq1VuNS3eDkdmUEaK3h26pm+Z0I1tIJQi9SHtVm+Y",
"scenarioId": 0,
"availableForGuests": [
2
],
"unavailableForGuests": [
100
],
"scenarioName": "Valentine Dinner",
"timeFrom": "2022-12-31T10:30:00Z",
"timeTo": "2022-12-31T12:30:00Z",
"waitlistAvailableForGuests": [
2
],
"waitlistUnavailableForGuests": [
3
]
}
]
}

Playground​

Authorization

Samples​


Powered by VitePress OpenAPI

Technical documentation for partners and integrators