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