Skip to main content

Booking Channels

A Booking Channel refers to an external booking platform where customers can make reservations or book services online. Managing these channels effectively ensures that your venues are exposed on the right platforms, giving customers the ability to book through the systems they trust.

Object Definition​

KeyTypeMandatoryDescription
idStringYesBooking Channel id
nameStringYesBooking Channel name
logoStringNoBooking Channel logo

Get Booking Channels​

This endpoint allows you to retrieve a list of available Booking Channels. You can use this data to view which channels are available for integration and decide where to publish your venues.

Endpoint​

GET https://api-sandbox.mozrest.com/v1/rms/booking-channels

Query Parameters​

ParameterStatusDescription
filters[criteria]OptionalFilter by Booking Channel name in Like %criteria% format

Example Request:​

curl GET "https://api-sandbox.mozrest.com/v1/rms/booking-channels" \
-H "Authorization: Bearer {{api_key}}" \
-d "offset=0" \
-d "limit=10" \
-d "filters[criteria]=name"

Example Response:​

{
"total": 2,
"data": [
{
"id": "60e5a3edfc8747ddfe1c10da",
"name": "The MICHELIN Guide",
"logo": "https://mozrest-statics.s3.eu-west-1.amazonaws.com/rp/michelin-guide.png",
},
{
"id": "60e5a3edfc8747ddfe1c10da",
"name": "Tripadvisor",
"logo": "https://mozrest-statics.s3.eu-west-1.amazonaws.com/rp/tripadvisor.svg",
}
]
}

Enable a Venue on a Booking Channel​

Linking a venue to a Booking Channel is what makes it bookable on that channel. It is also what produces the venue's widget link for that channel — a URL where you can open the booking widget for the venue and try the guest-facing flow. Widget links for every linked venue are surfaced in the Partner Portal under Integration → Venues.

If the Booking Channel requires a specific onboarding or action from the venue, the response includes a connectUrl or subscribeUrl — open it to complete that channel's onboarding for the venue.

For Facebook and Instagram the Reserve button can also be installed for a whole Company or Brand: those endpoints return the install link of that level. See the Meta Integration Guide.

Sandbox: availability slots on the widget

On sandbox, widget links render the venue and the booking user interface, but availability slots do not yet populate on the widget for self-service integrations. Verify your availability endpoint through the connection tester and the contract test in the Partner Portal — on-widget slot display for self-service integrations will arrive with a later platform update.

Endpoint​

PUT https://api-sandbox.mozrest.com/v1/rms/booking-channels/{bookingChannelId}/link-venue/{venueId}

Query Parameters​

ParameterStatusDescription
bookingChannelIdMandatoryThe Booking Channel ID to link the venues to
venueIdMandatoryThe Venue ID to be linked

Example Request:​

curl PUT "https://api-sandbox.mozrest.com/v1/rms/booking-channels/{bookingChannelId}/link-venue/{venueId}" \
-H "Authorization: Bearer {{api_key}}"

Example Responses:​

{
"venueId": "60e5a3edfc8747ddfe1c10da",
"connectUrl": "https://connect.mozrest.com/?hash=zZDkwOTc0NjYyZTVjZTQ3YzNjMjg0MzJiNGU2N2I3MDVhZDJjMjYzODE4MzM=&venueId=637ef98c1982876e4ce7sd2e&platform=apple"
}
{
"venueId": "60e5a3edfc8747ddfe1c10da",
"subscribeUrl": "http://subscribe.mozrest.com/rwg-data-processing-agreement?vid=63804517e1687a838bae143x&hash=opctetbrzlnvkwtqpylnpdgycedhuddda&uid=638047b2570528516a35q3ax"
}

Disable a Venue from a Booking Channel​

This endpoint allows you to disable a specific venue from being bookable through a Booking Channel.

Endpoint​

PUT https://api-sandbox.mozrest.com/v1/rms/booking-channels/{bookingChannelId}/unlink-venue/{venueId}

URL Parameters​

ParameterStatusDescription
bookingChannelIdMandatoryThe Booking Channel ID to unlink the venues from
venueIdMandatoryThe Venue ID to be unlinked

Example Request:​

curl PUT "https://api-sandbox.mozrest.com/v1/rms/booking-channels/{bookingChannelId}/unlink-venue/{venueId}" \
-H "Authorization: Bearer {{api_key}}"

Example Response:​

{
"venueId": "60e5a3edfc8747ddfe1c10da"
}

Enable a Company on a Booking Channel​

Facebook and Instagram only. Returns the Meta install link of the Company, the same fbInstallLink the Company object carries. Open it (or hand it to the Company) to install the Reserve button on the Company's Facebook Page or Instagram profile. Once installed, every Venue of the Company is enabled on the channel, and the Booking Widget shows a Venue selector.

Endpoint​

PUT https://api-sandbox.mozrest.com/v1/rms/booking-channels/{bookingChannelId}/link-company/{companyId}

URL Parameters​

ParameterStatusDescription
bookingChannelIdMandatoryThe Facebook or Instagram Booking Channel ID
companyIdMandatoryThe Company ID

Example Request:​

curl PUT "https://api-sandbox.mozrest.com/v1/rms/booking-channels/{bookingChannelId}/link-company/{companyId}" \
-H "Authorization: Bearer {{api_key}}"

Example Response:​

{
"companyId": "619dd442ca4b1064fcd99b08",
"connectUrl": "https://facebook.com/dialog/oauth?client_id=1181690592254979..."
}

Error Responses​

StatusCodeWhen
400 Bad RequestOnly Facebook and Instagram can be linked at Company or Brand level.The Booking Channel is not Facebook or Instagram.
403 ForbiddenERROR_MESSAGE_CUSTOMER_NOT_ALLOW_TO_PERFORM_THIS_ACTIONThe Company does not belong to your reservation system.
404 Not FoundCompany with id {companyId} not foundNo Company found for the given ID.

Enable a Brand on a Booking Channel​

Facebook and Instagram only. Returns the Meta install link of the Brand, the same fbInstallLink the Brand object carries. Once the Reserve button is installed through it, every Venue of the Brand is enabled on the channel, and the Booking Widget shows a Venue selector.

Endpoint​

PUT https://api-sandbox.mozrest.com/v1/rms/booking-channels/{bookingChannelId}/link-brand/{brandId}

URL Parameters​

ParameterStatusDescription
bookingChannelIdMandatoryThe Facebook or Instagram Booking Channel ID
brandIdMandatoryThe Brand ID

Example Request:​

curl PUT "https://api-sandbox.mozrest.com/v1/rms/booking-channels/{bookingChannelId}/link-brand/{brandId}" \
-H "Authorization: Bearer {{api_key}}"

Example Response:​

{
"brandId": "619f9c3de5f97823ea767gs4",
"connectUrl": "https://facebook.com/dialog/oauth?client_id=1181690592254979..."
}

Error Responses​

StatusCodeWhen
400 Bad RequestOnly Facebook and Instagram can be linked at Company or Brand level.The Booking Channel is not Facebook or Instagram.
403 ForbiddenERROR_MESSAGE_CUSTOMER_NOT_ALLOW_TO_PERFORM_THIS_ACTIONThe Brand's Company does not belong to your reservation system.
404 Not FoundERROR_MESSAGE_BRAND_NOT_FOUNDNo Brand found for the given ID.

Disable a Company from a Booking Channel​

Facebook and Instagram only. Removes the Reserve button installation made with the Company's install link, and disables every Venue of the Company on the channel: same effect as Disable a Venue from a Booking Channel on each of them.

Endpoint​

PUT https://api-sandbox.mozrest.com/v1/rms/booking-channels/{bookingChannelId}/unlink-company/{companyId}

URL Parameters​

ParameterStatusDescription
bookingChannelIdMandatoryThe Facebook or Instagram Booking Channel ID
companyIdMandatoryThe Company ID

Example Request:​

curl PUT "https://api-sandbox.mozrest.com/v1/rms/booking-channels/{bookingChannelId}/unlink-company/{companyId}" \
-H "Authorization: Bearer {{api_key}}"

Example Response:​

{
"companyId": "619dd442ca4b1064fcd99b08",
"removed": true
}

Error Responses​

StatusCodeWhen
400 Bad RequestOnly Facebook and Instagram can be linked at Company or Brand level.The Booking Channel is not Facebook or Instagram.
403 ForbiddenERROR_MESSAGE_CUSTOMER_NOT_ALLOW_TO_PERFORM_THIS_ACTIONThe Company does not belong to your reservation system.
404 Not FoundCompany with id {companyId} not foundNo Company found for the given ID.

Disable a Brand from a Booking Channel​

Facebook and Instagram only. Removes the Reserve button installation made with the Brand's install link, disables every Venue of the Brand on the channel and resets the Brand's fbInstalled and igInstalled.

Endpoint​

PUT https://api-sandbox.mozrest.com/v1/rms/booking-channels/{bookingChannelId}/unlink-brand/{brandId}

URL Parameters​

ParameterStatusDescription
bookingChannelIdMandatoryThe Facebook or Instagram Booking Channel ID
brandIdMandatoryThe Brand ID

Example Request:​

curl PUT "https://api-sandbox.mozrest.com/v1/rms/booking-channels/{bookingChannelId}/unlink-brand/{brandId}" \
-H "Authorization: Bearer {{api_key}}"

Example Response:​

{
"brandId": "619f9c3de5f97823ea767gs4",
"removed": true
}

Error Responses​

StatusCodeWhen
400 Bad RequestOnly Facebook and Instagram can be linked at Company or Brand level.The Booking Channel is not Facebook or Instagram.
403 ForbiddenERROR_MESSAGE_CUSTOMER_NOT_ALLOW_TO_PERFORM_THIS_ACTIONThe Brand's Company does not belong to your reservation system.
404 Not FoundERROR_MESSAGE_BRAND_NOT_FOUNDNo Brand found for the given ID.

Enable Venues on a Booking Channel (deprecated)​

To make a venue bookable through a specific Booking Channel, you need to link the venue to that channel using this endpoint. This enables your venue to accept bookings from customers using that particular channel.

Endpoint​

PUT https://api-sandbox.mozrest.com/v1/rms/booking-channels/{bookingChannelId}/link-venues

Query Parameters​

ParameterStatusDescription
bookingChannelIdMandatoryThe Booking Channel ID to link the venues to

Body Parameters​

ParameterStatusDescription
venuesMandatoryArray of venue IDs to be linked to the specified Booking Channel

Example Request:​

curl PUT "https://api-sandbox.mozrest.com/v1/rms/booking-channels/{bookingChannelId}/link-venues" \
-H "Authorization: Bearer {{api_key}}" \
--data-raw '{
"venues": [
"60e5a3edfc8747ddfe1c10da",
"60e5a3ed45f889c669110306",
"60e5a3ed2db1dd4b81db45d4"
]
}'

Example Response:​

{
"venues": [
"60e5a3edfc8747ddfe1c10da",
"60e5a3ed45f889c669110306",
"60e5a3ed2db1dd4b81db45d4"
]
}

Disable Venues from a Booking Channel (deprecated)​

This endpoint allows you to disable specific venues from being bookable through a Booking Channel. Use this when you want to remove venues from the booking options available to customers on a particular channel.

Endpoint​

PUT https://api-sandbox.mozrest.com/v1/rms/booking-channels/{bookingChannelId}/unlink-venues

URL Parameters​

ParameterStatusDescription
bookingChannelIdMandatoryThe Booking Channel ID to unlink the venues from

Body Parameters​

ParameterStatusDescription
venuesMandatoryArray of venue IDs to be unlinked from the specified Booking Channel

Example Request:​

curl PUT "https://api-sandbox.mozrest.com/v1/rms/booking-channels/{bookingChannelId}/unlink-venues" \
-H "Authorization: Bearer {{api_key}}" \
--data-raw '{
"venues": [
"60e5a3edfc8747ddfe1c10da",
"60e5a3ed45f889c669110306",
"60e5a3ed2db1dd4b81db45d4"
]
}'

Example Response:​

{
"venues": [
"60e5a3edfc8747ddfe1c10da",
"60e5a3ed45f889c669110306",
"60e5a3ed2db1dd4b81db45d4"
]
}