NAV
shell
Current API version:
v1 (1.9.0)
Last update:
2024-02-19 08:45 UTC

Introduction

This documentation provides all necessary information to communicate with Mozrest Partner API:

  1. Use the Partner API to manage the following content:
    1. Booking Channels
    2. Companies
    3. Brands
    4. Venues
    5. Areas
    6. Availability (only for RwG)
    7. Bookings
    8. Reports
  2. Expose a Booking services API based on Mozrest requirements, i.e. the following endpoints must be available:
    1. Healthcheck
    2. Get venue availability
    3. Find a booking
    4. Create a booking
    5. Update a booking
    6. Cancel a booking
  3. Export availability feed with a fresh snapshot of your availability (only for RwG).
  4. Webhook to easily notify updates.

Find here the guidelines, rules, formats and environments info to develop and go live with our system.

Partner API

Authentication

Partner API allows you to manage content, such as booking channels, venues, bookings, availability, etc.

To authorize, use this code:
EXAMPLE REQUEST:

# With shell, you can just pass the correct header with each request
curl "api-sandbox.mozrest.com/v1/rms" \
  -H "Authorization: Bearer {api_key}"

Make sure to replace {api_key} with your API key.

You must provide your API key to authenticate to the Mozrest API. Your API key carries many privileges, so be sure to keep it secret! You do not need to provide a password.
All API requests must be made over HTTPS. Calls made over plain HTTP will fail. You must authenticate for all requests.

Your API key will be provided by the Mozrest team.

Errors

Mozrest uses conventional HTTP response codes to indicate success or failure of an API request. In general, codes in the 2xx range indicate success, codes in the 4xx range indicate an error that resulted from the provided information, and codes in the 5xx range indicate an error coming from Mozrest's servers. However, all errors are not cleanly mapped to HTTP response codes. When a method call is not allowed, we return a 403 error code.

HTTP Status Code Summary

Code State Description
200 OK Everything worked as expected
400 Bad request Missing a required parameter
401 Unauthorized API key not valid
402 Request Failed Parameters were valid but request failed
403 Forbidden Access forbidden
404 Not Found The requested item does not exist
5xx Server errors Something went wrong on Mozrest's server

Versioning

When Mozrest makes backwards-incompatible changes to the Mozrest Partner API, a new dated version is released.
The current version is v1.

Translations

Mozrest allows translation on certain entities. Those entities will indicate explicitly on the Object definition and at the field level which ones allow translation.

Default locale

The default locale can be defined at 2 levels:

Providing translation

OBJECT JSON EXAMPLE:

{
  "name": "English translation as a default locale",
  "translations": [
    {
      "locale": "de",
      "data": [
        {
          "field": "name",
          "content": "German translation for the field 'name'"
        }
      ]
    },
    {
      "locale": "es",
      "data": [
        {
          "field": "name",
          "content": "Spanish translation for the field 'name'"
        }
      ]
    }
  ]
}

When providing translation on a creation or update, a translations property must be provided with the following structure:

Key Type Description
locale String Locate to translate in ISO2 format
data[field] String The field to translate.
Example: name, description
data[content] String The translation in the desired locale

Get localized data

EXAMPLE REQUEST:

curl GET "https://api-sandbox.mozrest.com/v1/rms/venues/{venueId}/areas/{areaId}" \
  -H "Authorization: Bearer {{api_key}}" \
  -H "x-locale: es"

In order to get the data localized, x-locale the parameter must be provided on the request Headers.

The x-locale parameter must be provided in ISO2 format.

Pagination

Mozrest utilizes offset-limit pagination, using the parameter offset and limit.

Key Constraints Default Description
offset 0 to ... 0 The first requested element
limit 0 to 50 10 The requested number of elements

Environments

Production:
https://api.mozrest.com/v1/rms

Sandbox:
https://api-sandbox.mozrest.com/v1/rms

Booking Channels

A Booking Channel is a booking platform where customers can reserve or book a service online.

Find here the object definition.

Get Booking Channels

This endpoint retrieves a list of Booking Channels available to use.

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 JSON:

{
  "total": 4,
  "data": [
      {
        "id": "60e5a3ed409541da3650bd90",
        "name": "Booking Channel Name",
        "logo": "https://url-to-logo.com"
      },
      { ... }
  ]
}

HTTP Request

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

Query Parameters

Parameter Status Description
filters[criteria] Optional Filter by Booking Channel name Like %criteria% format

Enable Venues on a Booking Channel

This endpoint enables venues to be bookable on a Booking Channel.

EXAMPLE REQUEST:

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

EXAMPLE JSON:

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

HTTP Request

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

URL Parameters

Parameter Status Description
bookingChannelId Mandatory Booking Channel id to enable venues to be bookable through

Body Parameters

Parameter Status Description
venues Mandatory Array with the id of the venues you want to be bookable through a specific Booking Channel

Disable Venues from a Booking Channel

This endpoint allows you to disable venues from being bookable through a specific 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 JSON:

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

HTTP Request

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

URL Parameters

Parameter Status Description
bookingChannelId Mandatory Booking Channel id to disable venues to be bookable through

Body Parameters

Parameter Status Description
venues Mandatory Array with the id of the venues you want to disable from being bookable through a specific Booking Channel /

Companies

A Company is a legal entity that owns Venues, and can own from one single Venue to multiple.

When creating a Venue, a new Company is automatically generated with the exact Venue details if the Company is not explicitly defined.

If you want to create multiple Venues related to a single Company, you must create a Company and then create the different Venues indicating the Company.

Find here the object definition.

Get Available Companies

This endpoint retrieves a list of Companies.

EXAMPLE REQUEST:

curl --location 'https://api-sandbox.mozrest.com/v1/rms/company' \
--header 'Authorization: Bearer adcce721fdf62d1e32ce2ab2d4d0d38ceee5cbcafee40043ae0488922c3d6bd1443ab9b7aafb0472'

EXAMPLE JSON:

{
   "total": 10,
   "data": [
      {
         "id": "6400e7bd72a4c82d20561517",
         "name": "Proident",
         "legalName": "Proident Ltd",
         "address": "29 Corringham Road",
         "postalCode": "HA9 9PX",
         "city": "Wembley",
         "countryCode": "GB",
         "description": "Mozrest Demo Company",
         "minAdvanceBooking": 3600,
         "minAdvanceBookingCancelling": 3600,
         "includeSourceInNotes": true,
         "sdkKey": "02C9846B4E1F43B1B3D747FFC0AC992C",
         "fbInstallLink": "https://facebook.com/dialog/oauth?client_id=1181690592254979&display=page&redirect_uri=https%3A%2F%2Fapp-pre.mozrest.com%2Fauth%2Ffacebook%2Fcallback&response_type=token&scope=manage_business_extension&extras=%7B%22setup%22%3A%7B%22external_business_id%22%3A%226400e7bd72a4c82d20561517%22%2C%22timezone%22%3A%22Europe%5C%2FParis%22%2C%22currency%22%3A%22EUR%22%2C%22business_vertical%22%3A%22RESERVATIONS%22%7D%2C%22business_config%22%3A%7B%22business%22%3A%7B%22name%22%3A%22Proident%22%7D%2C%22page_cta%22%3A%7B%22enabled%22%3Atrue%2C%22cta_button_text%22%3A%22Reserve%22%2C%22cta_button_url%22%3A%22https%3A%5C%2F%5C%2Fwidget-pre.mozrest.com%3Fkey%3D61afa0d0b5fb12d27dfa89e3%26mzId%3D6400e7bd72a4c82d20561517%26display%3Dcompany%22%2C%22below_button_text%22%3A%22In+partnership+with+Mozrest%22%7D%2C%22ig_cta%22%3A%7B%22enabled%22%3Atrue%2C%22cta_button_text%22%3A%22Reserve%22%2C%22cta_button_url%22%3A%22https%3A%5C%2F%5C%2Fwidget-pre.mozrest.com%3Fkey%3D6218f06a64bc4c2b2d0ea118%26mzId%3D6400e7bd72a4c82d20561517%26display%3Dcompany%22%7D%7D%2C%22repeat%22%3Afalse%7D"
      },
      { ... }
   ]
}

HTTP Request

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

Get a Specific Company

EXAMPLE REQUEST:

curl --location 'https://api-sandbox.mozrest.com/v1/rms/company/{companyId}' \
--header 'Authorization: Bearer adcce721fdf62d1e32ce2ab2d4d0d38ceee5cbcafee40043ae0488922c3d6bd1443ab9b7aafb0472'

EXAMPLE JSON:

{
   "id": "6400e7bd72a4c82d20561517",
   "name": "Proident",
   "legalName": "Proident Ltd",
   "address": "29 Corringham Road",
   "postalCode": "HA9 9PX",
   "city": "Wembley",
   "countryCode": "GB",
   "description": "Mozrest Demo Company",
   "minAdvanceBooking": 3600,
   "minAdvanceBookingCancelling": 3600,
   "includeSourceInNotes": true,
   "sdkKey": "02C9846B4E1F43B1B3D747FFC0AC992C",
   "fbInstallLink": "https://facebook.com/dialog/oauth?client_id=1181690592254979&display=page&redirect_uri=https%3A%2F%2Fapp-pre.mozrest.com%2Fauth%2Ffacebook%2Fcallback&response_type=token&scope=manage_business_extension&extras=%7B%22setup%22%3A%7B%22external_business_id%22%3A%226400e7bd72a4c82d20561517%22%2C%22timezone%22%3A%22Europe%5C%2FParis%22%2C%22currency%22%3A%22EUR%22%2C%22business_vertical%22%3A%22RESERVATIONS%22%7D%2C%22business_config%22%3A%7B%22business%22%3A%7B%22name%22%3A%22Proident%22%7D%2C%22page_cta%22%3A%7B%22enabled%22%3Atrue%2C%22cta_button_text%22%3A%22Reserve%22%2C%22cta_button_url%22%3A%22https%3A%5C%2F%5C%2Fwidget-pre.mozrest.com%3Fkey%3D61afa0d0b5fb12d27dfa89e3%26mzId%3D6400e7bd72a4c82d20561517%26display%3Dcompany%22%2C%22below_button_text%22%3A%22In+partnership+with+Mozrest%22%7D%2C%22ig_cta%22%3A%7B%22enabled%22%3Atrue%2C%22cta_button_text%22%3A%22Reserve%22%2C%22cta_button_url%22%3A%22https%3A%5C%2F%5C%2Fwidget-pre.mozrest.com%3Fkey%3D6218f06a64bc4c2b2d0ea118%26mzId%3D6400e7bd72a4c82d20561517%26display%3Dcompany%22%7D%7D%2C%22repeat%22%3Afalse%7D"
}

This endpoint retrieves a specific Company.

HTTP Request

GET https://api-sandbox.mozrest.com/v1/rms/company/{companyId}

URL Parameters

Parameter Status Description
companyId Mandatory Id of the Company to retrieve.

Create Company

This endpoint allows you to create a Company.

EXAMPLE REQUEST:

curl --location 'https://api-sandbox.mozrest.com/v1/rms/company' \
--header 'Authorization: Bearer adcce721fdf62d1e32ce2ab2d4d0d38ceee5cbcafee40043ae0488922c3d6bd1443ab9b7aafb0472' \
--header 'Content-Type: application/json' \
--data '{
    "name": "Proident",
    "legalName": "Proident Ltd",
    "address": "29 Corringham Road",
    "postalCode": "HA9 9PX",
    "city": "Wembley",
    "countryCode": "GB",
    "description": "Mozrest Demo Company",
    "minAdvanceBooking": 3600,
    "minAdvanceBookingCancelling": null,
    "includeSourceInNotes": "true"
}'

EXAMPLE JSON:

{
   "id": "6400e7bd72a4c82d20561517",
   "name": "Proident",
   "legalName": "Proident Ltd",
   "address": "29 Corringham Road",
   "postalCode": "HA9 9PX",
   "city": "Wembley",
   "countryCode": "GB",
   "description": "Mozrest Demo Company",
   "minAdvanceBooking": 3600,
   "minAdvanceBookingCancelling": 3600,
   "includeSourceInNotes": true,
   "sdkKey": "02C9846B4E1F43B1B3D747FFC0AC992C",
   "fbInstallLink": "https://facebook.com/dialog/oauth?client_id=1181690592254979&display=page&redirect_uri=https%3A%2F%2Fapp-pre.mozrest.com%2Fauth%2Ffacebook%2Fcallback&response_type=token&scope=manage_business_extension&extras=%7B%22setup%22%3A%7B%22external_business_id%22%3A%226400e7bd72a4c82d20561517%22%2C%22timezone%22%3A%22Europe%5C%2FParis%22%2C%22currency%22%3A%22EUR%22%2C%22business_vertical%22%3A%22RESERVATIONS%22%7D%2C%22business_config%22%3A%7B%22business%22%3A%7B%22name%22%3A%22Proident%22%7D%2C%22page_cta%22%3A%7B%22enabled%22%3Atrue%2C%22cta_button_text%22%3A%22Reserve%22%2C%22cta_button_url%22%3A%22https%3A%5C%2F%5C%2Fwidget-pre.mozrest.com%3Fkey%3D61afa0d0b5fb12d27dfa89e3%26mzId%3D6400e7bd72a4c82d20561517%26display%3Dcompany%22%2C%22below_button_text%22%3A%22In+partnership+with+Mozrest%22%7D%2C%22ig_cta%22%3A%7B%22enabled%22%3Atrue%2C%22cta_button_text%22%3A%22Reserve%22%2C%22cta_button_url%22%3A%22https%3A%5C%2F%5C%2Fwidget-pre.mozrest.com%3Fkey%3D6218f06a64bc4c2b2d0ea118%26mzId%3D6400e7bd72a4c82d20561517%26display%3Dcompany%22%7D%7D%2C%22repeat%22%3Afalse%7D"
}

HTTP Request

POST https://api-sandbox.mozrest.com/v1/rms/company

Body Parameters

Parameter Status Description
name Mandatory Company's name.
legalName Optional Company's legal name.
address Optional Company's address.
postalCode Optional Company's postal code.
city Mandatory Company's city.
countryCode Mandatory Company's country code.
description Optional Company's description.
minAdvanceBooking Optional The duration (in seconds) from when the last booking can be made to when the availability slot starts.
minAdvanceBookingCancelling Optional The minimum advance notice in seconds required to cancel a booking.
includeSourceInNotes Optional If you want to include the origin of the booking in the booking notes.
sdkKey Optional L&R product access key.
bookingMessage Optional The booking message.

Update Company

This endpoint allows you to update a Company.

EXAMPLE REQUEST:

url --location --request PUT 'https://api-sandbox.mozrest.com/v1/rms/company/{companyId}' \
--header 'Authorization: Bearer adcce721fdf62d1e32ce2ab2d4d0d38ceee5cbcafee40043ae0488922c3d6bd1443ab9b7aafb0472' \
--header 'Content-Type: application/json' \
--data '{
    "name": "Proident",
    "legalName": "Proident Ltd",
    "address": "29 Corringham Road",
    "postalCode": "HA9 9PX",
    "city": "Wembley",
    "countryCode": "GB",
    "description": "Mozrest Demo Company",
    "minAdvanceBooking": 3600,
    "minAdvanceBookingCancelling": null,
    "includeSourceInNotes": "true"
}'

EXAMPLE JSON:

[
   true
]

HTTP Request

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

URL Parameters

Parameter Status Description
companyId Mandatory Id of the Company to update.

Body Parameters

Parameter Status Description
name Optional Company's name.
legalName Optional Company's legal name.
address Optional Company's address.
postalCode Optional Company's postal code.
city Optional Company's city.
countryCode Optional Company's country code (ISO2 format).
description Optional Company's description.
minAdvanceBooking Optional The duration (in seconds) from when the last booking can be made to when the availability slot starts.
minAdvanceBookingCancelling Optional The minimum advance notice in seconds required to cancel a booking.
includeSourceInNotes Optional If you want to include the origin of the booking in the booking notes.
sdkKey Optional L&R product access key.

Brands

A Brand is a group of Venues within a Company.

Find here the object definition.

Get Available Brands

This endpoint retrieves a list of Brands.

EXAMPLE REQUEST:

curl --location 'https://api-sandbox.mozrest.com/v1/rms/brands' \
--header 'Authorization: Bearer ebda68797d69a4780fa73c33e7418e71646e614ade27aa3bd0fc45315b74c1babf481771de1f7bda'

EXAMPLE JSON:

{
  "total": 2,
  "data": [
    {
      "id": "619f9c3de5f97823ea767gs4",
      "name": "Delicatessen",
      "company": {
        "id": "619dd442ca4b1064fcd99b08",
        "name": "Mozrest Sandbox"
      },
      "logo": null,
      "fbInstalled": false,
      "igInstalled": false,
      "fbInstallLink": "https://facebook.com/dialog/oauth?client_id=1181690592254979&display=page&redirect_uri=https%3A%2F%2Fapp-pre.mozrest.com%2Fauth%2Ffacebook%2Fcallback&response_type=token&scope=manage_business_extension&extras=%7B%22setup%22%3A%7B%22external_business_id%22%3A%22619f9c3de5f97823ea767gs4%22%2C%22timezone%22%3A%22Europe%5C%2FLondon%22%2C%22currency%22%3A%22GBP%22%2C%22business_vertical%22%3A%22RESERVATIONS%22%7D%2C%22business_config%22%3A%7B%22business%22%3A%7B%22name%22%3A%22Delicatessen%22%7D%2C%22page_cta%22%3A%7B%22enabled%22%3Atrue%2C%22cta_button_text%22%3A%22Reserve%22%2C%22cta_button_url%22%3A%22https%3A%5C%2F%5C%2Fwidget-pre.mozrest.com%3Fkey%3D61afa0d0b5fb12d27dfa89e3%26mzId%3D619f9c3de5f97823ea767gs4%26display%3Dbrand%22%2C%22below_button_text%22%3A%22In+partnership+with+Mozrest%22%7D%2C%22ig_cta%22%3A%7B%22enabled%22%3Atrue%2C%22cta_button_text%22%3A%22Reserve%22%2C%22cta_button_url%22%3A%22https%3A%5C%2F%5C%2Fwidget-pre.mozrest.com%3Fkey%3D6218f06a64bc4c2b2d0ea118%26mzId%3D619f9c3de5f97823ea767gs4%26display%3Dbrand%22%7D%7D%2C%22repeat%22%3Afalse%7D"
    },
    { ... }
  ]
}

HTTP Request

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

Get a Specific Brand

EXAMPLE REQUEST:

curl --location 'https://api-sandbox.mozrest.com/v1/rms/brands/{brandId}' \
--header 'Authorization: Bearer ebda68797d69a4780fa73c33e7418e71646e614ade27aa3bd0fc45315b74c1babf481771de1f7bda'

EXAMPLE JSON:

{
  "id": "619f9c3de5f97823ea767gs4",
  "name": "Delicatessen",
  "company": {
    "id": "619dd442ca4b1064fcd99b08",
    "name": "Mozrest Sandbox"
  },
  "logo": null,
  "fbInstalled": false,
  "igInstalled": false,
  "fbInstallLink": "https://facebook.com/dialog/oauth?client_id=1181690592254979&display=page&redirect_uri=https%3A%2F%2Fapp-pre.mozrest.com%2Fauth%2Ffacebook%2Fcallback&response_type=token&scope=manage_business_extension&extras=%7B%22setup%22%3A%7B%22external_business_id%22%3A%22619f9c3de5f97823ea767gs4%22%2C%22timezone%22%3A%22Europe%5C%2FLondon%22%2C%22currency%22%3A%22GBP%22%2C%22business_vertical%22%3A%22RESERVATIONS%22%7D%2C%22business_config%22%3A%7B%22business%22%3A%7B%22name%22%3A%22Delicatessen%22%7D%2C%22page_cta%22%3A%7B%22enabled%22%3Atrue%2C%22cta_button_text%22%3A%22Reserve%22%2C%22cta_button_url%22%3A%22https%3A%5C%2F%5C%2Fwidget-pre.mozrest.com%3Fkey%3D61afa0d0b5fb12d27dfa89e3%26mzId%3D619f9c3de5f97823ea767gs4%26display%3Dbrand%22%2C%22below_button_text%22%3A%22In+partnership+with+Mozrest%22%7D%2C%22ig_cta%22%3A%7B%22enabled%22%3Atrue%2C%22cta_button_text%22%3A%22Reserve%22%2C%22cta_button_url%22%3A%22https%3A%5C%2F%5C%2Fwidget-pre.mozrest.com%3Fkey%3D6218f06a64bc4c2b2d0ea118%26mzId%3D619f9c3de5f97823ea767gs4%26display%3Dbrand%22%7D%7D%2C%22repeat%22%3Afalse%7D"
}

This endpoint retrieves a specific brand.

HTTP Request

GET https://api-sandbox.mozrest.com/v1/rms/brands/{brandId}

URL Parameters

Parameter Status Description
brandId Mandatory Id of the Brand to retrieve.

Create Brand

This endpoint allows you to create a Brand.

EXAMPLE REQUEST:

curl --location 'https://api-sandbox.mozrest.com/v1/rms/brands' \
--header 'Authorization: Bearer ebda68797d69a4780fa73c33e7418e71646e614ade27aa3bd0fc45315b74c1babf481771de1f7bda' \
--header 'Content-Type: application/json' \
--data '{
    "name": "Delicatessen",
    "company": "619dd442ca4b1064fcd99b08",
    "logo": "https://my-logo-url.com"
}'

EXAMPLE JSON:

{
  "id": "6401acd07e03aba11dc6ec71",
  "name": "Delicatessen",
  "company": {
    "id": "619dd442ca4b1064fcd99b08",
    "name": "Mozrest Sandbox"
  },
  "logo": "https://my-logo-url.com",
  "fbInstalled": null,
  "igInstalled": null,
  "fbInstallLink": "https://facebook.com/dialog/oauth?client_id=1181690592254979&display=page&redirect_uri=https%3A%2F%2Fapp-pre.mozrest.com%2Fauth%2Ffacebook%2Fcallback&response_type=token&scope=manage_business_extension&extras=%7B%22setup%22%3A%7B%22external_business_id%22%3A%226401acd07e03aba11dc6ec71%22%2C%22timezone%22%3A%22Europe%5C%2FParis%22%2C%22currency%22%3A%22EUR%22%2C%22business_vertical%22%3A%22RESERVATIONS%22%7D%2C%22business_config%22%3A%7B%22business%22%3A%7B%22name%22%3A%22Delicatessen%22%7D%2C%22page_cta%22%3A%7B%22enabled%22%3Atrue%2C%22cta_button_text%22%3A%22Reserve%22%2C%22cta_button_url%22%3A%22https%3A%5C%2F%5C%2Fwidget-pre.mozrest.com%3Fkey%3D61afa0d0b5fb12d27dfa89e3%26mzId%3D6401acd07e03aba11dc6ec71%26display%3Dbrand%22%2C%22below_button_text%22%3A%22In+partnership+with+Mozrest%22%7D%2C%22ig_cta%22%3A%7B%22enabled%22%3Atrue%2C%22cta_button_text%22%3A%22Reserve%22%2C%22cta_button_url%22%3A%22https%3A%5C%2F%5C%2Fwidget-pre.mozrest.com%3Fkey%3D6218f06a64bc4c2b2d0ea118%26mzId%3D6401acd07e03aba11dc6ec71%26display%3Dbrand%22%7D%7D%2C%22repeat%22%3Afalse%7D"
}

HTTP Request

POST https://api-sandbox.mozrest.com/v1/rms/brands

Body Parameters

Parameter Status Description
name Mandatory Brand's name.
company Mandatory Company to which the Brand belongs.
logo Optional Brand's logo.
widgetLegalText Optional Brand's widget legal text.
bookingApproach Optional

Update Brand

This endpoint allows you to update a Brand.

EXAMPLE REQUEST:

curl --location --request PUT 'https://api-sandbox.mozrest.com/v1/rms/brands/{brandId}' \
--header 'Authorization: Bearer ebda68797d69a4780fa73c33e7418e71646e614ade27aa3bd0fc45315b74c1babf481771de1f7bda' \
--header 'Content-Type: application/json' \
--data '{
    "name": "Delicatessen",
    "logo": "https://my-logo-url.com",
}'

EXAMPLE JSON:

{
  "id": "6401acd07e03aba11dc6ec71",
  "name": "Delicatessen",
  "company": {
    "id": "619dd442ca4b1064fcd99b08",
    "name": "Mozrest Sandbox"
  },
  "logo": "https://my-logo-url.com",
  "fbInstalled": null,
  "igInstalled": null,
  "fbInstallLink": "https://facebook.com/dialog/oauth?client_id=1181690592254979&display=page&redirect_uri=https%3A%2F%2Fapp-pre.mozrest.com%2Fauth%2Ffacebook%2Fcallback&response_type=token&scope=manage_business_extension&extras=%7B%22setup%22%3A%7B%22external_business_id%22%3A%226401acd07e03aba11dc6ec71%22%2C%22timezone%22%3A%22Europe%5C%2FParis%22%2C%22currency%22%3A%22EUR%22%2C%22business_vertical%22%3A%22RESERVATIONS%22%7D%2C%22business_config%22%3A%7B%22business%22%3A%7B%22name%22%3A%22Delicatessen%22%7D%2C%22page_cta%22%3A%7B%22enabled%22%3Atrue%2C%22cta_button_text%22%3A%22Reserve%22%2C%22cta_button_url%22%3A%22https%3A%5C%2F%5C%2Fwidget-pre.mozrest.com%3Fkey%3D61afa0d0b5fb12d27dfa89e3%26mzId%3D6401acd07e03aba11dc6ec71%26display%3Dbrand%22%2C%22below_button_text%22%3A%22In+partnership+with+Mozrest%22%7D%2C%22ig_cta%22%3A%7B%22enabled%22%3Atrue%2C%22cta_button_text%22%3A%22Reserve%22%2C%22cta_button_url%22%3A%22https%3A%5C%2F%5C%2Fwidget-pre.mozrest.com%3Fkey%3D6218f06a64bc4c2b2d0ea118%26mzId%3D6401acd07e03aba11dc6ec71%26display%3Dbrand%22%7D%7D%2C%22repeat%22%3Afalse%7D"
}

HTTP Request

PUT https://api-sandbox.mozrest.com/v1/rms/brands/{brandId}

URL Parameters

Parameter Status Description
brandId Mandatory Id of the brand to update.

Body Parameters

Parameter Status Description
name Mandatory Brand's name.
logo Optional Brand's logo.

This endpoint allows you to link multiple venues to a brand.

EXAMPLE REQUEST:

curl --location --request PUT 'https://api-sandbox.mozrest.com/v1/rms/brands/{brandId}/link-venues' \
--header 'Authorization: Bearer ebda68797d69a4780fa73c33e7418e71646e614ade27aa3bd0fc45315b74c1babf481771de1f7bda' \
--header 'Content-Type: application/json' \
--data '{
    "venues": [
        "62d7e0af5fb4549ab70ff7e7",
        "62d7fbc8398919fe7f3d2a16"
    ]
}'

EXAMPLE JSON:

{
  "id": "6401acd07e03aba11dc6ec71",
  "name": "Delicatessen",
  "company": {
    "id": "619dd442ca4b1064fcd99b08",
    "name": "Mozrest Sandbox"
  },
  "logo": "https://my-logo-url.com",
  "fbInstalled": null,
  "igInstalled": null,
  "fbInstallLink": "https://facebook.com/dialog/oauth?client_id=1181690592254979&display=page&redirect_uri=https%3A%2F%2Fapp-pre.mozrest.com%2Fauth%2Ffacebook%2Fcallback&response_type=token&scope=manage_business_extension&extras=%7B%22setup%22%3A%7B%22external_business_id%22%3A%226401acd07e03aba11dc6ec71%22%2C%22timezone%22%3A%22Europe%5C%2FParis%22%2C%22currency%22%3A%22EUR%22%2C%22business_vertical%22%3A%22RESERVATIONS%22%7D%2C%22business_config%22%3A%7B%22business%22%3A%7B%22name%22%3A%22Delicatessen%22%7D%2C%22page_cta%22%3A%7B%22enabled%22%3Atrue%2C%22cta_button_text%22%3A%22Reserve%22%2C%22cta_button_url%22%3A%22https%3A%5C%2F%5C%2Fwidget-pre.mozrest.com%3Fkey%3D61afa0d0b5fb12d27dfa89e3%26mzId%3D6401acd07e03aba11dc6ec71%26display%3Dbrand%22%2C%22below_button_text%22%3A%22In+partnership+with+Mozrest%22%7D%2C%22ig_cta%22%3A%7B%22enabled%22%3Atrue%2C%22cta_button_text%22%3A%22Reserve%22%2C%22cta_button_url%22%3A%22https%3A%5C%2F%5C%2Fwidget-pre.mozrest.com%3Fkey%3D6218f06a64bc4c2b2d0ea118%26mzId%3D6401acd07e03aba11dc6ec71%26display%3Dbrand%22%7D%7D%2C%22repeat%22%3Afalse%7D"
}

HTTP Request

PUT https://api-sandbox.mozrest.com/v1/rms/brands/{brandId}/link-venues

URL Parameters

Parameter Status Description
brandId Mandatory Id of the brand to link venues.

Body Parameters

Parameter Status Description
venues Mandatory An array with the ids of the venues to link to.

This endpoint allows multiple venues to be unlinked from one brand.

EXAMPLE REQUEST:

curl --location --request PUT 'https://api-sandbox.mozrest.com/v1/rms/brands/{brandId}/unlink-venues' \
--header 'Authorization: Bearer ebda68797d69a4780fa73c33e7418e71646e614ade27aa3bd0fc45315b74c1babf481771de1f7bda' \
--header 'Content-Type: application/json' \
--data '{
    "venues": [
        "62d7e0af5fb4549ab70ff7e7",
        "62d7fbc8398919fe7f3d2a16"
    ]
}'

EXAMPLE JSON:

{
  "id": "6401acd07e03aba11dc6ec71",
  "name": "Delicatessen",
  "company": {
    "id": "619dd442ca4b1064fcd99b08",
    "name": "Mozrest Sandbox"
  },
  "logo": "https://my-logo-url.com",
  "fbInstalled": null,
  "igInstalled": null,
  "fbInstallLink": "https://facebook.com/dialog/oauth?client_id=1181690592254979&display=page&redirect_uri=https%3A%2F%2Fapp-pre.mozrest.com%2Fauth%2Ffacebook%2Fcallback&response_type=token&scope=manage_business_extension&extras=%7B%22setup%22%3A%7B%22external_business_id%22%3A%226401acd07e03aba11dc6ec71%22%2C%22timezone%22%3A%22Europe%5C%2FParis%22%2C%22currency%22%3A%22EUR%22%2C%22business_vertical%22%3A%22RESERVATIONS%22%7D%2C%22business_config%22%3A%7B%22business%22%3A%7B%22name%22%3A%22Delicatessen%22%7D%2C%22page_cta%22%3A%7B%22enabled%22%3Atrue%2C%22cta_button_text%22%3A%22Reserve%22%2C%22cta_button_url%22%3A%22https%3A%5C%2F%5C%2Fwidget-pre.mozrest.com%3Fkey%3D61afa0d0b5fb12d27dfa89e3%26mzId%3D6401acd07e03aba11dc6ec71%26display%3Dbrand%22%2C%22below_button_text%22%3A%22In+partnership+with+Mozrest%22%7D%2C%22ig_cta%22%3A%7B%22enabled%22%3Atrue%2C%22cta_button_text%22%3A%22Reserve%22%2C%22cta_button_url%22%3A%22https%3A%5C%2F%5C%2Fwidget-pre.mozrest.com%3Fkey%3D6218f06a64bc4c2b2d0ea118%26mzId%3D6401acd07e03aba11dc6ec71%26display%3Dbrand%22%7D%7D%2C%22repeat%22%3Afalse%7D"
}

HTTP Request

PUT https://api-sandbox.mozrest.com/v1/rms/brands/{brandId}/unlink-venues

URL Parameters

Parameter Status Description
brandId Mandatory Id of the brand to link venues.

Body Parameters

Parameter Status Description
venues Mandatory An array with the ids of the venues to unlink to.

Venues

A Venue is a business location that offers online booking services.

Find here the object definition.

Get Available Venues

This endpoint retrieves a list of available Venues.

EXAMPLE REQUEST:

curl GET "https://api-sandbox.mozrest.com/v1/rms/venues" \
  -H "Authorization: Bearer {{api_key}}" \
  -d "offset=0" \
  -d "limit=10" \
  -d "filters[criteria]=par" \
  -d "filters[city]=Par" \
  -d "filters[countryCode]=FR" \
  -d "filters[bookingChannel]=60e5a3cab8e5c33agh870101" \
  -d "filters[notBookingChannel]=60e5a3cab8e5c33agh870101"
  -d "filters[fbInstalled]=1"
  -d "filters[igInstalled]=1"

EXAMPLE JSON:

{
  "total": 4,
  "data": [
      {
        "id": "60e5a3ed409541da3650bd90",
        "externalId": "123456789",
        "company": {
          "id": "60e5a3ed409541da3650bd90",
          "name": "Company Name"
        },
        "brand": {
          "id": "60e5a3ed409541da3650bd90",
          "name": "Brand Name"
        },
        "name": "Restaurant Name",
        "countryCode": "GB",
        "address": "The Address 24, Picadilly",
        "city": "London",
        "postalCode": "W1J 9LL",
        "phoneNumber": "442072343456",
        "latitude": null,
        "longitude": null,
        "capacity": 20,
        "url": null,
        "minAdvanceBooking": 1,
        "minAdvanceOnlineCancelling": 24,
        "minCovers": 1,
        "maxCovers": 12,
        "currency": "GBP",
        "paymentDefinition": {
          "requireCreditCard": true,
          "deposit": {
            "type": "fixed_price",
            "amount": 2000
          },
          "noShowFee": {
            "type": "fixed_price",
            "amount": 2000
          }
        },
        "paymentGateway": {
          "gateway": "stripe",
          "sdkVersion": null,
          "publishKey": "pk_test_2343823823823",
          "merchantId": null,
        },

        "fbInstalled": false,
        "igInstalled": false,
        "fbInstallLink": "https://facebook.com/dialog/oauth?client_id=1181690592254979&display=page&redirect_uri=https%3A%2F%2Fapp.mozrest.com%2Fauth%2Ffacebook%2Fcallback&response_type=token&scope=manage_business_extension&extras=%7B%22setup%22%3A%7B%22external_business_id%22%3A%22621e5ba1a5f7c4fbb87ecd9b%22%2C%22timezone%22%3A%22America%5C%2FNew_York%22%2C%22currency%22%3A%22USD%22%2C%22business_vertical%22%3A%22RESERVATIONS%22%7D%2C%22business_config%22%3A%7B%22business%22%3A%7B%22name%22%3A%22Docs+NY%22%7D%2C%22page_cta%22%3A%7B%22enabled%22%3Atrue%2C%22cta_button_text%22%3A%22Reserve%22%2C%22cta_button_url%22%3A%22https%3A%5C%2F%5C%2Fwidget-pre.mozrest.com%3Fkey%3D61a45e24757d22026a87f369%26mzId%3D621e5ba1a5f7c4fbb87ecd9b%26display%3Dvenue%22%2C%22below_button_text%22%3A%22In+partnership+with+Mozrest%22%7D%2C%22ig_cta%22%3A%7B%22enabled%22%3Atrue%2C%22cta_button_text%22%3A%22Reserve%22%2C%22cta_button_url%22%3A%22https%3A%5C%2F%5C%2Fwidget-pre.mozrest.com%3Fkey%3D61afa0d0b5fb12d27dfa47c4%26mzId%3D621e5ba1a5f7c4fbb87ecd9b%26display%3Dvenue%22%7D%7D%2C%22repeat%22%3Afalse%7D",
        "bookableAreas": "true",
        "bookingMessage": "It is obligatory to wear a mask when you are not seating at the table.",
        "paymentPolicy": "Dinner Cancellation Policy: We ask that any cancellation to your reservation be made no less than 24 hours prior. For no shows, you will be subject to fee of $25 per person that will be applied to the credit card on file.",
        "confirmationMessage": "Thank you for choosing Scampi! We look forward to you dining with us.<b>Please note, there is a 15 minutes grace period for late arrivals and we only seat complete parties.<b> If your party completes later than 15 minutes after your reservation time, you are subject to waiting for the next available table.<br>If we can do anything to better accommodate your dining experience, please email [email protected] or call us at 212.888.2171 between 12pm - 5pm, Monday - Friday. <br>"
      },
      { ... }
  ]
}

HTTP Request

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

Query Parameters

Parameter Status Description
filters[criteria] Optional Filter by Venue name Like %criteria% format
filters[city] Optional Filter by Venue city Like %city% format
filters[brand] Optional Filter by Brand Id
filters[countryCode] Optional Filter by Country code (ISO2 format)
filters[bookingChannel] Optional Filter by Booking Channel
filters[notBookingChannel] Optional Filter by Not Related with this Booking Channel
filters[fbInstalled] Optional Filter Venues with Facebook installed Values: 0 (not installed), 1 (installed)
filters[igInstalled] Optional Filter Venues with Instagram installed Values: 0 (not installed), 1 (installed)

Get a Specific Venue

EXAMPLE REQUEST:

curl GET "https://api-sandbox.mozrest.com/v1/rms/venues/{venueId}" \
  -H "Authorization: Bearer {{api_key}}" \

EXAMPLE JSON:

{
  "id": "60e5a3ed409541da3650bd90",
  "externalId": "123456789",
  "company": {
    "id": "60e5a3ed409541da3650bd90",
    "name": "Company Name"
  },
  "brand": {
    "id": "60e5a3ed409541da3650bd90",
    "name": "Brand Name"
  },
  "name": "Restaurant Name",
  "countryCode": "GB",
  "address": "The Address 24, Picadilly",
  "city": "London",
  "postalCode": "W1J 9LL",
  "phoneNumber": "442072343456",
  "latitude": null,
  "longitude": null,
  "capacity": 20,
  "url": null,
  "minAdvanceBooking": 1,
  "minAdvanceOnlineCancelling": 24,
  "minCovers": 1,
  "maxCovers": 12,
  "currency": "GBP",
  "paymentDefinition": {
    "requireCreditCard": true,
    "deposit": {
      "type": "fixed_price",
      "amount": 2000
    },
    "noShowFee": {
      "type": "fixed_price",
      "amount": 2000
    }
  },
  "paymentGateway": {
    "gateway": "stripe",
    "sdkVersion": null,
    "publishKey": "pk_test_2343823823823",
    "merchantId": null,
  },

  "fbInstalled": false,
  "igInstalled": false,
  "fbInstallLink": "https://facebook.com/dialog/oauth?client_id=1181690592254979&display=page&redirect_uri=https%3A%2F%2Fapp.mozrest.com%2Fauth%2Ffacebook%2Fcallback&response_type=token&scope=manage_business_extension&extras=%7B%22setup%22%3A%7B%22external_business_id%22%3A%22621e5ba1a5f7c4fbb87ecd9b%22%2C%22timezone%22%3A%22America%5C%2FNew_York%22%2C%22currency%22%3A%22USD%22%2C%22business_vertical%22%3A%22RESERVATIONS%22%7D%2C%22business_config%22%3A%7B%22business%22%3A%7B%22name%22%3A%22Docs+NY%22%7D%2C%22page_cta%22%3A%7B%22enabled%22%3Atrue%2C%22cta_button_text%22%3A%22Reserve%22%2C%22cta_button_url%22%3A%22https%3A%5C%2F%5C%2Fwidget-pre.mozrest.com%3Fkey%3D61a45e24757d22026a87f369%26mzId%3D621e5ba1a5f7c4fbb87ecd9b%26display%3Dvenue%22%2C%22below_button_text%22%3A%22In+partnership+with+Mozrest%22%7D%2C%22ig_cta%22%3A%7B%22enabled%22%3Atrue%2C%22cta_button_text%22%3A%22Reserve%22%2C%22cta_button_url%22%3A%22https%3A%5C%2F%5C%2Fwidget-pre.mozrest.com%3Fkey%3D61afa0d0b5fb12d27dfa47c4%26mzId%3D621e5ba1a5f7c4fbb87ecd9b%26display%3Dvenue%22%7D%7D%2C%22repeat%22%3Afalse%7D",
  "bookableAreas": "true",
  "bookingMessage": "It is obligatory to wear a mask when you are not seating at the table.",
  "paymentPolicy": "Dinner Cancellation Policy: We ask that any cancellation to your reservation be made no less than 24 hours prior. For no shows, you will be subject to fee of $25 per person that will be applied to the credit card on file.",
  "confirmationMessage": "Thank you for choosing Scampi! We look forward to you dining with us.<b>Please note, there is a 15 minutes grace period for late arrivals and we only seat complete parties.<b> If your party completes later than 15 minutes after your reservation time, you are subject to waiting for the next available table.<br>If we can do anything to better accommodate your dining experience, please email [email protected] or call us at 212.888.2171 between 12pm - 5pm, Monday - Friday. <br>"
}

This endpoint retrieves a specific Venue.

HTTP Request

GET https://api-sandbox.mozrest.com/v1/rms/venues/{id}

URL Parameters

Parameter Status Description
id Mandatory Venue id to retrieve. Accepts Mozrest id or Partner's id

Get Venue Credentials

EXAMPLE REQUEST:

curl GET "https://api-sandbox.mozrest.com/v1/rms/venues/{venueId}/credential" \
  -H "Authorization: Bearer {{api_key}}" \

EXAMPLE JSON:

{
  "email": "[email protected]",
  "password": "k9iIB6zPoG6F"
}

This endpoint retrieves the credentials for a specific Venue to login during the Meta Onboarding.

HTTP Request

GET https://api-sandbox.mozrest.com/v1/rms/venues/{id}/credential

URL Parameters

Parameter Status Description
id Mandatory Venue id to retrieve. Accepts Mozrest id or Partner's id

Create Venue

This endpoint allows you to create a Venue.

EXAMPLE REQUEST:

curl POST "https://api-sandbox.mozrest.com/v1/rms/venues" \
  -H "Authorization: Bearer {{api_key}}" \ 
  --data-raw '{
      "name": "Venue Name",
      "externalId": "123456789",
      "company": "60e5a3ed409541da3650bd90",
      "brand": "60e5a3ed409541da3650bd90",
      "country": "GB",
      "address": "The Address 24, Picadilly",
      "city": "London",
      "postalCode": "W1J 9LL",
      "phoneNumber": "442072343456",
      "email": "[email protected]",
      "url": "http://your-url.com",
      "latitude": "51.56797",
      "longitude": "-0.28122",
      "timezone": "Europe/London",
      "capacity": 100,
      "minAdvanceBooking": 1,
      "minAdvanceOnlineCanceling": 24,
      "paymentDefinition[requireCreditCard]": "true",
      "paymentDefinition[deposit][type]": "fixed_price",
      "paymentDefinition[deposit][amount]": 2000,
      "paymentDefinition[noShowFee][type]": "fixed_price",
      "paymentDefinition[noShowFee][amount]": 2000,
      "paymentGateway[gateway]": "stripe",
      "paymentGateway[publishKey]": "pk_test_2343823823823",
      "paymentGateway[merchantId]": "123456",
      "currency": "GBP",
      "bookableAreas": "true",
      "bookingMessage": "It is obligatory to wear a mask when you are not seating at the table.",
      "paymentPolicy": "Dinner Cancellation Policy: We ask that any cancellation to your reservation be made no less than 24 hours prior. For no shows, you will be subject to fee of $25 per person that will be applied to the credit card on file.",
      "confirmationMessage": "Thank you for choosing Scampi! We look forward to you dining with us.<b>Please note, there is a 15 minutes grace period for late arrivals and we only seat complete parties.<b> If your party completes later than 15 minutes after your reservation time, you are subject to waiting for the next available table.<br>If we can do anything to better accommodate your dining experience, please email [email protected] or call us at 212.888.2171 between 12pm - 5pm, Monday - Friday. <br>"
    },
  }'

EXAMPLE JSON:

{
  "id": "60e5a3ed409541da3650bd90",
  "externalId": "123456789",
  "company": {
    "id": "60e5a3ed409541da3650bd90",
    "name": "Company Name"
  },
  "brand": {
    "id": "60e5a3ed409541da3650bd90",
    "name": "Brand Name"
  },
  "name": "Restaurant Name",
  "countryCode": "GB",
  "address": "The Address 24, Picadilly",
  "city": "London",
  "postalCode": "W1J 9LL",
  "phoneNumber": "442072343456",
  "latitude": null,
  "longitude": null,
  "capacity": 20,
  "url": null,
  "minAdvanceBooking": 1,
  "minAdvanceOnlineCancelling": 24,
  "minCovers": 1,
  "maxCovers": 12,
  "currency": "GBP",
  "paymentDefinition": {
    "requireCreditCard": true,
    "deposit": {
      "type": "fixed_price",
      "amount": 2000
    },
    "noShowFee": {
      "type": "fixed_price",
      "amount": 2000
    }
  },
  "paymentGateway": {
    "gateway": "stripe",
    "publishKey": "pk_test_2343823823823",
    "merchantId": null
  },
  "fbInstalled": false,
  "igInstalled": false,
  "fbInstallLink": "https://facebook.com/dialog/oauth?client_id=1181690592254979&display=page&redirect_uri=https%3A%2F%2Fapp.mozrest.com%2Fauth%2Ffacebook%2Fcallback&response_type=token&scope=manage_business_extension&extras=%7B%22setup%22%3A%7B%22external_business_id%22%3A%22621e5ba1a5f7c4fbb87ecd9b%22%2C%22timezone%22%3A%22America%5C%2FNew_York%22%2C%22currency%22%3A%22USD%22%2C%22business_vertical%22%3A%22RESERVATIONS%22%7D%2C%22business_config%22%3A%7B%22business%22%3A%7B%22name%22%3A%22Docs+NY%22%7D%2C%22page_cta%22%3A%7B%22enabled%22%3Atrue%2C%22cta_button_text%22%3A%22Reserve%22%2C%22cta_button_url%22%3A%22https%3A%5C%2F%5C%2Fwidget-pre.mozrest.com%3Fkey%3D61a45e24757d22026a87f369%26mzId%3D621e5ba1a5f7c4fbb87ecd9b%26display%3Dvenue%22%2C%22below_button_text%22%3A%22In+partnership+with+Mozrest%22%7D%2C%22ig_cta%22%3A%7B%22enabled%22%3Atrue%2C%22cta_button_text%22%3A%22Reserve%22%2C%22cta_button_url%22%3A%22https%3A%5C%2F%5C%2Fwidget-pre.mozrest.com%3Fkey%3D61afa0d0b5fb12d27dfa47c4%26mzId%3D621e5ba1a5f7c4fbb87ecd9b%26display%3Dvenue%22%7D%7D%2C%22repeat%22%3Afalse%7D",
  "bookableAreas": "true",
  "bookingMessage": "It is obligatory to wear a mask when you are not seating at the table.",
  "paymentPolicy": "Dinner Cancellation Policy: We ask that any cancellation to your reservation be made no less than 24 hours prior. For no shows, you will be subject to fee of $25 per person that will be applied to the credit card on file.",
  "confirmationMessage": "Thank you for choosing Scampi! We look forward to you dining with us.<b>Please note, there is a 15 minutes grace period for late arrivals and we only seat complete parties.<b> If your party completes later than 15 minutes after your reservation time, you are subject to waiting for the next available table.<br>If we can do anything to better accommodate your dining experience, please email [email protected] or call us at 212.888.2171 between 12pm - 5pm, Monday - Friday. <br>"
}

HTTP Request

POST https://api-sandbox.mozrest.com/v1/rms/venues

Body Parameters

Parameter Status Description
name Mandatory Venue name
externalId Mandatory Venue id in Partner System
company Optional Company id where the venue belongs. If blank, a new company will automatically be generated
brand Optional Brand id
country Mandatory Country code where the venue is located (ISO2 format)
address Mandatory Address where the venue is located
city Mandatory City where the venue is located
postalCode Mandatory Postcode where the venue is located
phoneNumber Optional Venue's phone number
email Optional Venue's email
url Optional Venue's website URL
latitude Optional Venue's latitude
longitude Optional Venue's longitude
timezone Mandatory Time zone where the Venue is located (see possible time zone values)
minAdvanceBooking Optional Minimum hours in advance a booking has to be placed
minAdvanceOnlineCancelling Optional Minimum hours in advance a booking can be canceled
minCovers Optional Minimum covers allowed per reservation
maxCovers Optional Maximum covers allowed per reservation
currency Mandatory Currency code used for payments (ISO 4217 format)
paymentDefinition[requireCreditCard] Optional Does the booking require a Credit Card Guarantee? [true, false]
paymentDefinition[deposit][type] Optional What type of deposit is? ["fixed_price", "per_person"]
paymentDefinition[deposit][amount] Optional Deposit amount. Integer multiply per 100. Ie. 20,00€: 2000
paymentDefinition[noShowFee][type] Optional What type of no show fee is? ["fixed_price", "per_person"]
paymentDefinition[noShowFee][amount] Optional No show fee amount. Integer multiply per 100. Ie. 20,00€: 2000
paymentGateway[gateway] Optional Payment gateway used [ stripe, braintree, adyen ]
paymentGateway[publishKey] Optional Publishable key for the payment gateway
paymentGateway[merchantId] Optional Your Merchant Id for the payment gateway
bookableAreas Optional Does the booking require to select an are? ["true", "false"]
bookingMessage Optional Message from the venue to be displayed before to place a reservation
paymentPolicy Optional Message from the venue related to payments/deposits in case credit card is required
confirmationMessage Optional Message from the venue to be displayed after placing a reservation

Update Venue

This endpoint allows you to update a Venue.

EXAMPLE REQUEST:

curl PUT "https://api-sandbox.mozrest.com/v1/rms/venues/{venueId}" \
  -H "Authorization: Bearer {{api_key}}" \ 
--data-raw '{
    "id": "60e5a3ed409541da3650bd90",
    "externalId": "123456789",
    "name": "Restaurant Name",
    "countryCode": "GB",
    "address": "The Address 24, Picadilly",
    "city": "London",
    "postalCode": "W1J 9LL",
    "phoneNumber": "442072343456",
    "latitude": null,
    "longitude": null,
    "capacity": 20,
    "url": null,
    "minAdvanceBooking": 1,
    "minAdvanceOnlineCancelling": 24,
    "minCovers": 1,
    "maxCovers": 12,
    "currency": "GBP",
    "paymentDefinition": {
      "requireCreditCard": true,
      "deposit": {
        "type": "fixed_price",
        "amount": 2000
      },
      "noShowFee": {
        "type": "fixed_price",
        "amount": 2000
      }
    },
    "paymentGateway": {
      "gateway": "stripe",
      "publishKey": "pk_test_2343823823823",
      "merchantId": null,
    },
    "bookableAreas": "true",
    "bookingMessage": "It is obligatory to wear a mask when you are not seating at the table.",
    "paymentPolicy": "Dinner Cancellation Policy: We ask that any cancellation to your reservation be made no less than 24 hours prior. For no shows, you will be subject to fee of $25 per person that will be applied to the credit card on file.",
    "confirmationMessage": "Thank you for choosing Scampi! We look forward to you dining with us.<b>Please note, there is a 15 minutes grace period for late arrivals and we only seat complete parties.<b> If your party completes later than 15 minutes after your reservation time, you are subject to waiting for the next available table.<br>If we can do anything to better accommodate your dining experience, please email [email protected] or call us at 212.888.2171 between 12pm - 5pm, Monday - Friday. <br>"
  }' 

EXAMPLE JSON:

{
  "id": "60e5a3ed409541da3650bd90",
  "externalId": "123456789",
  "company": {
    "id": "60e5a3ed409541da3650bd90",
    "name": "Company Name"
  },
  "brand": {
    "id": "60e5a3ed409541da3650bd90",
    "name": "Brand Name"
  },
  "name": "Restaurant Name",
  "countryCode": "GB",
  "address": "The Address 24, Picadilly",
  "city": "London",
  "postalCode": "W1J 9LL",
  "phoneNumber": "442072343456",
  "latitude": null,
  "longitude": null,
  "capacity": 20,
  "url": null,
  "minAdvanceBooking": 1,
  "minAdvanceOnlineCancelling": 24,
  "minCovers": 1,
  "maxCovers": 12,
  "currency": "GBP",
  "paymentDefinition": {
    "requireCreditCard": true,
    "deposit": {
      "type": "fixed_price",
      "amount": 2000
    },
    "noShowFee": {
      "type": "fixed_price",
      "amount": 2000
    }
  },
  "paymentGateway": {
    "gateway": "stripe",
    "publishKey": "pk_test_2343823823823",
    "merchantId": null
  },
  "fbInstalled": false,
  "igInstalled": false,
  "fbInstallLink": "https://facebook.com/dialog/oauth?client_id=1181690592254979&display=page&redirect_uri=https%3A%2F%2Fapp.mozrest.com%2Fauth%2Ffacebook%2Fcallback&response_type=token&scope=manage_business_extension&extras=%7B%22setup%22%3A%7B%22external_business_id%22%3A%22621e5ba1a5f7c4fbb87ecd9b%22%2C%22timezone%22%3A%22America%5C%2FNew_York%22%2C%22currency%22%3A%22USD%22%2C%22business_vertical%22%3A%22RESERVATIONS%22%7D%2C%22business_config%22%3A%7B%22business%22%3A%7B%22name%22%3A%22Docs+NY%22%7D%2C%22page_cta%22%3A%7B%22enabled%22%3Atrue%2C%22cta_button_text%22%3A%22Reserve%22%2C%22cta_button_url%22%3A%22https%3A%5C%2F%5C%2Fwidget-pre.mozrest.com%3Fkey%3D61a45e24757d22026a87f369%26mzId%3D621e5ba1a5f7c4fbb87ecd9b%26display%3Dvenue%22%2C%22below_button_text%22%3A%22In+partnership+with+Mozrest%22%7D%2C%22ig_cta%22%3A%7B%22enabled%22%3Atrue%2C%22cta_button_text%22%3A%22Reserve%22%2C%22cta_button_url%22%3A%22https%3A%5C%2F%5C%2Fwidget-pre.mozrest.com%3Fkey%3D61afa0d0b5fb12d27dfa47c4%26mzId%3D621e5ba1a5f7c4fbb87ecd9b%26display%3Dvenue%22%7D%7D%2C%22repeat%22%3Afalse%7D",
  "bookableAreas": "true",
  "bookingMessage": "It is obligatory to wear a mask when you are not seating at the table.",
  "paymentPolicy": "Dinner Cancellation Policy: We ask that any cancellation to your reservation be made no less than 24 hours prior. For no shows, you will be subject to fee of $25 per person that will be applied to the credit card on file.",
  "confirmationMessage": "Thank you for choosing Scampi! We look forward to you dining with us.<b>Please note, there is a 15 minutes grace period for late arrivals and we only seat complete parties.<b> If your party completes later than 15 minutes after your reservation time, you are subject to waiting for the next available table.<br>If we can do anything to better accommodate your dining experience, please email [email protected] or call us at 212.888.2171 between 12pm - 5pm, Monday - Friday. <br>"
}

HTTP Request

PUT https://api-sandbox.mozrest.com/v1/rms/venues/{venueId}

URL Parameters

Parameter Status Description
venueId Mandatory Id of the Venue to update. Accepts Mozrest id or Partner's id

Body Parameters

Parameter Status Description
name Optional Venue name
code Optional Venue id in Partner System To be deprecated on Dec 1st, 2022 New property: externalId
externalId Optional Venue id in Partner System
country Optional Country code where the venue is located (ISO2 format)
address Optional Address where the venue is located
city Optional City where the venue is located
postalCode Optional Postcode where the venue is located
phoneNumber Optional Venue's phone number
email Optional Venue's email
emails Optional Venue's emails
url Optional Venue's website URL
latitude Optional Venue's latitude
longitude Optional Venue's longitude
minAdvanceBooking Optional Minimum hours in advance a booking have to be placed
minAdvanceOnlineCancelling Optional Minimum hours in advance a booking can be canceled
minCovers Optional Minimum covers allowed per reservation
maxCovers Optional Maximum covers allowed per reservation
currency Optional Currency code used for payments (ISO 4217 format)
paymentDefinition[requireCreditCard] Optional Does the booking require a Credit Card Guarantee? [true, false]
paymentDefinition[deposit][type] Optional What type of deposit is? ["fixed_price", "per_person"]
paymentDefinition[deposit][amount] Optional Deposit amount. Integer multiply per 100. Ie. 20,00€: 2000
paymentDefinition[noShowFee][type] Optional What type of no show fee is? ["fixed_price", "per_person"]
paymentDefinition[noShowFee][amount] Optional No show fee amount. Integer multiply per 100. Ie. 20,00€: 2000
paymentGateway[gateway] Optional Payment gateway used [ stripe, braintree, adyen ]
paymentGateway[publishKey] Optional Publishable key for the payment gateway
paymentGateway[merchantId] Optional Your Merchant Id for the payment gateway
timezone Optional Time zone where the Venue is located (see possible time zone values)
bookableAreas Optional Does the booking require to select an are? ["true", "false"]
bookingMessage Optional Message from the venue to be displayed before to place a reservation
paymentPolicy Optional Message from the venue related to payments/deposits in case credit card is required
confirmationMessage Optional Message from the venue to be displayed after placing a reservation

Delete Venue

This endpoint allows you to delete a Venue.

EXAMPLE REQUEST:

curl DELETE "https://api-sandbox.mozrest.com/v1/rms/venues/{venueId}" \
  -H "Authorization: Bearer {{api_key}}" ' 

EXAMPLE RESPONSE:

{
  removed: true
}

HTTP Request

DELETE https://api-sandbox.mozrest.com/v1/rms/venues/{venueId}

URL Parameters

Parameter Status Description
venueId Mandatory Id of the Venue to deleted. Accepts Mozrest id or Partner's id

Manage license

This endpoint allows you to manage the license for the available Mozrest features.

Activate license

EXAMPLE REQUEST:

curl POST "https://api-sandbox.mozrest.com/v1/rms/venues/{venueId}/activate-license" \
  -H "Authorization: Bearer {{api_key}}" \ 
  --data-raw '{
    "feature": "listing"
  }'  
HTTP Request

POST https://api-sandbox.mozrest.com/v1/rms/venues/{venueId}/activate-license

URL Parameters
Parameter Status Description
venueId Mandatory Id of the Venue to deleted. Accepts Mozrest id or Partner's id
Body Parameters
Parameter Status Description
feature Mandatory Available features ['listing']

Deactivate license

EXAMPLE REQUEST:

curl POST "https://api-sandbox.mozrest.com/v1/rms/venues/{venueId}/deactivate-license" \
  -H "Authorization: Bearer {{api_key}}" \ 
  --data-raw '{
    "feature": "listing"
  }'  
HTTP Request

POST https://api-sandbox.mozrest.com/v1/rms/venues/{venueId}/deactivate-license

URL Parameters
Parameter Status Description
venueId Mandatory Id of the Venue to deleted. Accepts Mozrest id or Partner's id
Body Parameters
Parameter Status Description
feature Mandatory Available features ['listing']

Areas

An Area is a space within the venue where customers can choose to book.

Find here the object definition.

Get Available Areas

This endpoint retrieves a list of available areas for a Venue.

The area entity allows translations.

EXAMPLE REQUEST:

curl GET "https://api-sandbox.mozrest.com/v1/rms/{venueId}/areas" \
  -H "Authorization: Bearer {{api_key}}" \
  -H "x-locale: en" \

EXAMPLE JSON:

{
  "total": 2,
  "data": [
    {
      "id": "624fbc403cfd9a529ea17f36",
      "venue": {
        "id": "624fba8a5fb36da5ae6e73bf",
        "name": "TapasTapas"
      },
      "name": "Dinning room",
      "description": "Main dinning room in the restaurant",
      "externalId": "0001",
      "rwgDefault": true,
      "byDefault": false,
      "translations": [
        {
          "id": "624fbc414a3b895d7d00efb3",
          "parentId": "624fbc403cfd9a529ea17f36",
          "locale": "es",
          "field": "name",
          "content": "Salón pricipal",
          "createdAt": "2022-04-08T04:38:25+00:00",
          "updatedAt": "2022-04-08T04:38:25+00:00"
        },
        {
          "id": "624fbc41924ab9a37e938247",
          "parentId": "624fbc403cfd9a529ea17f36",
          "locale": "en",
          "field": "description",
          "content": "Main dinning room in the restaurant",
          "createdAt": "2022-04-08T04:38:25+00:00",
          "updatedAt": "2022-04-08T04:38:25+00:00"
        },
        {
          "id": "624fbc41c910729de305be29",
          "parentId": "624fbc403cfd9a529ea17f36",
          "locale": "es",
          "field": "description",
          "content": "Salón principal del restaurante",
          "createdAt": "2022-04-08T04:38:25+00:00",
          "updatedAt": "2022-04-08T04:38:25+00:00"
        },
        {
          "id": "624fbc41fa21017434e24af7",
          "parentId": "624fbc403cfd9a529ea17f36",
          "locale": "en",
          "field": "name",
          "content": "Dinning room",
          "createdAt": "2022-04-08T04:38:25+00:00",
          "updatedAt": "2022-04-08T04:38:25+00:00"
        }
      ],
      "createdAt": "2022-04-08T04:38:24+00:00",
      "updatedAt": "2022-04-08T04:38:24+00:00"
    },
    { ... }
  ]
}

HTTP Request

GET https://api-sandbox.mozrest.com/v1/rms/venues/{venueId}/areas

URL Parameters

Parameter Status Description
venueId Mandatory Id of the Venue's Areas to retrive. Accepts Mozrest id or Partner's id

Get a Specific Area

EXAMPLE REQUEST:

curl GET "https://api-sandbox.mozrest.com/v1/rms/{venueId}/areas/{area_id}" \
  -H "Authorization: Bearer {{api_key}}" \
  -H "x-locale: en" \

EXAMPLE JSON:

{
  "id": "624fbc403cfd9a529ea17f36",
  "venue": {
    "id": "624fba8a5fb36da5ae6e73bf",
    "name": "TapasTapas"
  },
  "name": "Dinning room",
  "description": "Main dinning room in the restaurant",
  "externalId": "0001",
  "rwgDefault": true,
  "byDefault": false,
  "translations": [
    {
      "id": "624fbc414a3b895d7d00efb3",
      "parentId": "624fbc403cfd9a529ea17f36",
      "locale": "es",
      "field": "name",
      "content": "Salón pricipal",
      "createdAt": "2022-04-08T04:38:25+00:00",
      "updatedAt": "2022-04-08T04:38:25+00:00"
    },
    {
      "id": "624fbc41924ab9a37e938247",
      "parentId": "624fbc403cfd9a529ea17f36",
      "locale": "en",
      "field": "description",
      "content": "Main dinning room in the restaurant",
      "createdAt": "2022-04-08T04:38:25+00:00",
      "updatedAt": "2022-04-08T04:38:25+00:00"
    },
    {
      "id": "624fbc41c910729de305be29",
      "parentId": "624fbc403cfd9a529ea17f36",
      "locale": "es",
      "field": "description",
      "content": "Salón principal del restaurante",
      "createdAt": "2022-04-08T04:38:25+00:00",
      "updatedAt": "2022-04-08T04:38:25+00:00"
    },
    {
      "id": "624fbc41fa21017434e24af7",
      "parentId": "624fbc403cfd9a529ea17f36",
      "locale": "en",
      "field": "name",
      "content": "Dinning room",
      "createdAt": "2022-04-08T04:38:25+00:00",
      "updatedAt": "2022-04-08T04:38:25+00:00"
    }
  ],
  "createdAt": "2022-04-08T04:38:24+00:00",
  "updatedAt": "2022-04-08T04:38:24+00:00"
}

This endpoint retrieves a specific Area for a Venue.

HTTP Request

GET https://api-sandbox.mozrest.com/v1/rms/venues/{venueId}/areas/{area_id}

URL Parameters

Parameter Status Description
venueId Mandatory Id of the Venue's Area to retrive. Accepts Mozrest id or Partner's id
areaId Mandatory Id of the Area to retrieve. Accepts Mozrest id or Partner's id

Create Area

This endpoint allows you to create an Area for a Venue.

EXAMPLE REQUEST:

curl POST "https://api-sandbox.mozrest.com/v1/rms/venues/{venueId}/areas" \
  -H "Authorization: Bearer {{api_key}}" \ 
  --data-raw '{
    "name": "Terrace",
    "externalId": "0002",
    "description": "Terrace with view to the Rhein river",
    "rwgDefault": "true",
    "byDefault": false,
    "translations": [
        {
            "locale": "en",
            "data": [
                {
                    "field": "name",
                    "content": "Terrace"
                },
                {
                    "field": "description",
                    "content": "Terrace with view to the Rhein river"
                }
            ]
        },
        {
            "locale": "es",
            "data": [
                {
                    "field": "name",
                    "content": "Terraza"
                },
                {
                    "field": "description",
                    "content": "Terraza con vistas al rio Rhein"
                }
            ]
        }
    ]
}'

EXAMPLE JSON:

{
  "id": "624fbc8e4ac61a6a88bf1e75",
  "venue": {
    "id": "624fba8a5fb36da5ae6e73bf",
    "name": "TapasTapas"
  },
  "name": "Terrace",
  "description": "Terrace with view to the Rhein river",
  "externalId": "0002",
  "rwgDefault": true,
  "byDefault": false,
  "translations": [],
  "createdAt": "2022-04-08T04:39:42+00:00",
  "updatedAt": "2022-04-08T04:39:42+00:00"
}

HTTP Request

POST https://api-sandbox.mozrest.com/v1/rms/venues/{venueId}/areas

URL Parameters

Parameter Status Description
venueId Mandatory Id of the Venue where the Area belongs. Accepts Mozrest id or Partner's id

Body Parameters

Parameter Status Description
name Mandatory Area's name.
Allows translation
externalId Mandatory Area id in Partner system
description Optional Area's description.
Allows translation
rwgDefault Optional Use always for Reserve with Google bookings. Just applies to venues with RwG channel active.
byDefault Optional Use as a default area in case on no area selected
translations[locale] Optional Locale to translate in ISO2 format
translations[data][field] Optional Field to translate
translations[data][content] Optional Translation for the field

Update Area

This endpoint allows you to update an Area of a Venue.

EXAMPLE REQUEST:

curl PUT "https://api-sandbox.mozrest.com/v1/rms/venues/{venueId}/areas/{area_id}" \
  -H "Authorization: Bearer {{api_key}}" \ 
  --data-raw '{
    "name": "Terrace",
    "description": "Terrace with view to the Rhein river",
    "rwgDefault": "true",
    "translations": [
        {
            "locale": "en",
            "data": [
                {
                    "field": "name",
                    "content": "Terrace"
                },
                {
                    "field": "description",
                    "content": "Terrace with view to the Rhein river"
                }
            ]
        },
        {
            "locale": "es",
            "data": [
                {
                    "field": "name",
                    "content": "Terraza"
                },
                {
                    "field": "description",
                    "content": "Terraza con vistas al rio Rhein"
                }
            ]
        }
    ]
}'

EXAMPLE JSON:

{
  "id": "624fbc8e4ac61a6a88bf1e75",
  "venue": {
    "id": "624fba8a5fb36da5ae6e73bf",
    "name": "TapasTapas"
  },
  "name": "Terrace",
  "description": "Terrace with view to the Rhein river",
  "externalId": "0002",
  "rwgDefault": true,
  "byDefault": false,
  "translations": [
    {
      "id": "624fbc8e3a167594c79ab7be",
      "parentId": "624fbc8e4ac61a6a88bf1e75",
      "locale": "es",
      "field": "description",
      "content": "Terraza con vistas al rio Rhein",
      "createdAt": "2022-04-08T04:39:42+00:00",
      "updatedAt": "2022-04-08T04:39:42+00:00"
    },
    {
      "id": "624fbc8e821586ddaf9e8ae5",
      "parentId": "624fbc8e4ac61a6a88bf1e75",
      "locale": "en",
      "field": "description",
      "content": "Terrace with view to the Rhein river",
      "createdAt": "2022-04-08T04:39:42+00:00",
      "updatedAt": "2022-04-08T04:39:42+00:00"
    },
    {
      "id": "624fbc8ee610240b8ef7cee3",
      "parentId": "624fbc8e4ac61a6a88bf1e75",
      "locale": "es",
      "field": "name",
      "content": "Terraza",
      "createdAt": "2022-04-08T04:39:42+00:00",
      "updatedAt": "2022-04-08T04:39:42+00:00"
    },
    {
      "id": "624fbc8ee85a913105a161eb",
      "parentId": "624fbc8e4ac61a6a88bf1e75",
      "locale": "en",
      "field": "name",
      "content": "Terrace",
      "createdAt": "2022-04-08T04:39:42+00:00",
      "updatedAt": "2022-04-08T04:39:42+00:00"
    }
  ],
  "createdAt": "2022-04-08T04:39:42+00:00",
  "updatedAt": "2022-04-08T04:39:42+00:00"
}

HTTP Request

PUT https://api-sandbox.mozrest.com/v1/rms/venues/{venueId}/areas/{area_id}

URL Parameters

Parameter Status Description
venueId Mandatory Id of the Venue's Area to update. Accepts Mozrest id or Partner's id
areaId Mandatory Id of the Area to update. Accepts Mozrest id or Partner's id

Body Parameters

Parameter Status Description
name Mandatory Area's name.
Allows translation
description Optional Area's description.
Allows translation
rwgDefault Optional Use always for Reserve with Google bookings. Just applies to venues with RwG channel active.
byDefault Optional Use as a default area in case on no area selected
translations[locale] Optional Locale to translate in ISO2 format
translations[data][field] Optional Field to translate
translations[data][content] Optional Translation for the field

Availability (only for RwG)

This set of endpoints are only required for those venues connected to Reserve with Google.

The purpose of this endpoints is to keep Mozrest availability cache in sync with you system, allowing Mozrest to rely on its internal availability cache to provide information to RwG each time they request availability without having any impact on your API.

Find here the availability object definition.

Real-Time Update

This endpoint allows you to update the availability of a specific venue in real-time in.

EXAMPLE REQUEST:

curl PUT "https://api-sandbox.mozrest.com/v1/rms/venue/{venueId}/availability" \
  -H "Authorization: Bearer {{api_key}}" \ 
  --data-raw '{
    "availabilities": [
     {
            "date": "2022-03-20",
            "partySize": 4,
            "duration": 3600,
            "totalSpot": 100,
            "openSpot": 100,
            "session": "lunch",
            "slotData": [
                {
                    "startSec": 1639558800,
                    "totalSpot": 100,
                    "openSpot": 75,
                    "deposit": true,
                    "depositAmount": 10000,
                    "requireCc": false
                },
                {
                    "startSec": 1639558800,
                    "totalSpot": 100,
                    "openSpot": 75,
                    "deposit": true,
                    "depositAmount": 10000,
                    "requireCc": false
                },
                {
                    ...
                },
                {
                    "startSec": 1639558800,
                    "totalSpot": 100,
                    "openSpot": 75,
                    "deposit": true,
                    "depositAmount": 10000,
                    "requireCc": false
                },
            ]
        },
        {
                ...
        }
    ]
    }'

EXAMPLE JSON:

{
  "availabilities": [
    {
      "date": "2022-03-20",
      "partySize": 4,
      "duration": 3600,
      "totalSpot": 100,
      "openSpot": 100,
      "session": "lunch",
      "slotData": [
        {
          "startSec": 1639558800,
          "totalSpot": 100,
          "openSpot": 75,
          "deposit": true,
          "depositAmount": 10000,
          "requireCc": false
        },
        {
          ...
        },
        {
          "startSec": 1639558800,
          "totalSpot": 100,
          "openSpot": 75,
          "deposit": true,
          "depositAmount": 10000,
          "requireCc": false
        }
      ]
    }
  ]
}

RESPONSE:

{
  "availabilitiesUpdated": 6
}

HTTP Request

PUT https://api-sandbox.mozrest.com/v1/rms/venue/{venueId}/availability

URL Parameters

Parameter Status Description
venueId Mandatory Venue id to update. Accepts Mozrest id or Partner's id

Body Parameters

Parameter Status Description
date Mandatory Date requested for availability (format: YYYY-MM-DD)
partySize Mandatory Number of people
duration Optional Duration of the booking slot
totalSpot Optional Total spots for the session
openSpot Optional Total available spots for the session
session Optional Session when the booking is taking place (ie. dinner)
slotData Optional List of available slots
slotData[startSec] Mandatory Slot time on timestamp
slotData[totalSpot] Optional Available and unavailable spots for this time slot. Optional if spots are defined globally
slotData[openSpot] Optional Available spots for this time slot. Optional if spots are defined globally
slotData[deposit] Optional Is a deposit required for this slot?
slotData[depositAmount] Optional Deposit amount
slotData[requireCc] Optional Does the booking require a Credit Card Guarantee? (If a deposit has already been asked = true not allowed.)

Batch Real-Time Cancelation

This endpoint allows you to cancel in real-time the availability of a specific venue between the dates defined.

EXAMPLE REQUEST:

curl PUT "https://api-sandbox.mozrest.com/v1/rms/venue/{venueId}/availability/cancel" \
  -H "Authorization: Bearer {{api_key}}" \ 
  --data-raw '{
        "from": "2022-03-20",
        "till": "2022-03-29"
    }'

EXAMPLE JSON:

{
  "from": "2022-03-20",
  "till": "2022-03-29"
}

RESPONSE:

{
  "availabilitiesCancelled": 6
}

HTTP Request

PUT https://api-sandbox.mozrest.com/v1/rms/venue/{venueId}/availability/cancel

URL Parameters

Parameter Status Description
venueId Mandatory Venue id to update. Accepts Mozrest id or Partner's id

Body Parameters

Parameter Status Description
from Mandatory Start date you want to cancel (format: YYYY-MM-DD)
till Mandatory End date you want to cancel (format: YYYY-MM-DD)

Bookings

This is how the booking object structure looks like. The booking owner is presented as an array named "Contact".

Find here the object definition.

Update Booking

This endpoint allows to amend a pending status booking.

EXAMPLE REQUEST:

curl PUT "https://api-sandbox.mozrest.com/v1/rms/booking/{id}" \
  -H "Authorization: Bearer {{api_token}}" \
  --data-raw '{
    "partySize": 4,
    "date": 1634401800
  }'

EXAMPLE JSON:

{
  "id": "60e890aca5f07b6ee5b950b1",
  "venueId": "60e890aca5f07b6ee5b950b1",
  "partySize": 4,
  "status": "confirmed",
  "date": "2021-11-07T12:00:00+02:00",
  "notes": "I'm alergic to peanuts and broccoli",
  "paymentGatewayToken":null,
  "optInConsent": true
}

HTTP Request

PUT https://api-sandbox.mozrest.com/v1/rms/booking/{id}

URL Parameters

Parameter Status Description
id Mandatory Booking id in Partner system

Body Parameters

Parameter Status Description
partySize Optional Number of persons
date Optional Date time in Timestamp UTC format (ie. Saturday, 16 October 2021 14:30 is 1634387400 on timestamp)

Cancel Booking

This endpoint allows you to cancel a booking.

EXAMPLE REQUEST:

curl PUT "https://api-sandbox.mozrest.com/v1/rms/booking/{dd}/cancel" \
  -H "Authorization: Bearer {{api_key}}" \ 
  --data-raw '{
        "cancelActor": "venue",
        "cancelReason": "Overbooking"
    }'

EXAMPLE JSON:

{
  "cancelActor": "venue",
  "cancelReason": "Overbooking"
}

RESPONSE:

{
  "id": "60e890aca5f07b6ee5b950b1",
  "venueId": "60e890aca5f07b6ee5b950b1",
  "partySize": 4,
  "status": "canceled",
  "date": "2021-11-07T12:00:00+02:00",
  "notes": "I'm alergic to peanuts and broccoli",
  "paymentGatewayToken":null,
  "cancelActor": "user",
  "cancelReason": "I can't finally attend",
  "canceledAt": "2021-10-20T12:00:00+02:00",
  "optInConsent": true
}

HTTP Request

PUT https://api-sandbox.mozrest.com/v1/rms/booking/{id}/cancel

URL Parameters

Parameter Status Description
id Mandatory Booking id in Partner system

Body Parameters

Parameter Status Description
cancelActor Mandatory Who had canceled the booking
cancelReason Optional Why the booking has been canceled

Reports

Mozrest provides a set of endpoint to get reports.

Booking Report

This endpoint provides a bookings report for a specific venue and day.

Find here the booking report object definition.

EXAMPLE REQUEST:

curl GET "https://api-sandbox.mozrest.com/v1/rms/reports/booking?venueId=b62be154-a301-49bb-9f00-edcee8a6fe9f&date=2022-04-01'" \
  -H "Authorization: Bearer {{api_key}}" 

RESPONSE:

[
  {
    "id": "688f95fc-6196-4819-a754-439d7ea065cd",
    "venue": "b62be154-a301-49bb-9f00-edcee8a6fe9f",
    "channel": "RWG",
    "bookingDate": "2022-04-01 09:16:49",
    "mealDate": "2022-03-31 20:30:00",
    "covers": "4",
    "status": "confirmed",
    "optIn": true,
    "parentId": null
  },
  {
    "id": "ce21494a-1c4f-433a-86f3-b93296b5598c",
    "venue": "b62be154-a301-49bb-9f00-edcee8a6fe9f",
    "channel": "RWG",
    "bookingDate": "2022-04-01 09:21:12",
    "mealDate": "2022-03-31 14:30:00",
    "covers": "4",
    "status": "confirmed",
    "optIn": true,
    "parentId": null
  },
  {
    "id": "f93e6ff1-e4af-4dcb-9fa3-7874f4a8922d",
    "venue": "b62be154-a301-49bb-9f00-edcee8a6fe9f",
    "channel": "RWG",
    "bookingDate": "2022-04-01 09:23:12",
    "mealDate": "2022-03-31 15:30:00",
    "covers": "4",
    "status": "canceled",
    "optIn": true,
    "parentId": "ce21494a-1c4f-433a-86f3-b93296b5598c"
  },
  {
    "id": "410d5ed9-b205-4517-b2d7-620caae41103",
    "venue": "b62be154-a301-49bb-9f00-edcee8a6fe9f",
    "channel": "RWG",
    "bookingDate": "2022-04-01 14:37:06",
    "mealDate": "2022-03-31 15:30:00",
    "covers": "4",
    "status": "canceled",
    "optIn": true,
    "parentId": null
  }
]

HTTP Request

GET https://api-sandbox.mozrest.com/v1/rms/reports/booking?venueId=b62be154-a301-49bb-9f00-edcee8a6fe9f&date=2022-04-01

URL Parameters

Parameter Status Description
venueId Mandatory Venue id in Partner system
date Mandatory The date you want the bookings for. Format: YYYY-MM-DD

Booking Services API

Authentication

All API requests must be make over HTTPS. You have to provide an API key for Mozrest Partner API to access the Booking Services API you expose.

All requests made to the Booking Service API are relative to the URL provided by you. For example, if you provide the URL “api.example.com”, then all HealthCheck requests will be sent to “api.example.com/mozrest/healthcheck”.

Healthcheck

This endpoint is used to check periodically the health status of the Booking Services API.

EXAMPLE REQUEST:

curl GET "https://partner-domain.com/v1/mozrest/healthcheck" \

HTTP Request

GET https://partner-domain.com/v1/mozrest/healthcheck

Response

Empty payload with Http status Code 200

Get Venue Availability

This endpoint retrieves a list of slots available for a specific Venue on a specific date, session and party size.

EXAMPLE REQUEST:

curl GET "https://partner-domain.com/v1/mozrest/availability" \
  -H "Authorization: Bearer {{api_key}}" \
  -d "venueId='60e5a3ed409541da3650bd90'" \
  -d "date=2022-02-14" \
  -d "partySize=4",
  -d "areaId=60e5a3ed409541da3650b2d3"

EXAMPLE JSON:

{
  "venueId": "60e5a3ed409541da3650bd90",
  "date": "2022-02-14",
  "partySize": 4,
  "duration": 3600,
  "totalSpot": 100,
  "openSpot": 100,
  "session": "lunch",
  "slotData": [
    {
      "startSec": 1644847200,
      "totalSpot": 100,
      "openSpot": 75,
      "deposit": true,
      "depositAmount": 10000,
      "requireCc": false
    },
    {
      "startSec": 1644849000,
      "totalSpot": 100,
      "openSpot": 75,
      "deposit": true,
      "depositAmount": 10000,
      "requireCc": false
    },
    {...},
  ],
  "nextAvailability": 1639558800
}

HTTP Request

GET https://partner-domain.com/v1/mozrest/availability

Query Parameters

Parameter Status Description
venueId Mandatory Venue id in Partner system. Accepts Mozrest id or Partner's id
date Mandatory Date requested for availability (format: YYYY-MM-DD)
partySize Mandatory Number of people (ie. 4)
areaId Optional The Area id to search availability

Find a booking

This endpoint allows you to access a specific booking.

EXAMPLE REQUEST:

curl GET "https://partner-domain.com/v1/mozrest/booking/{bookingId}" \
  -H "Authorization: Bearer {{api_key}}" 

RESPONSE:

{
  "id": "60e890aca5f07b6ee5b950b1",
  "bookingChannelId": "60e890aca5f07b6ee5b950b3",
  "bookingChannel": {
    "id": "60e890aca5f07b6ee5b950b3",
    "name": "Channel Name"
  },
  "venueId": "60e890aca5f07b6ee5b950b1",
  "partySize": 4,
  "status": "confirmed",
  "date": "2021-11-07T12:00:00+02:00",
  "notes": "I'm alergic to peanuts and broccoli",
  "paymentGatewayToken":null,
  "contact": {
    "id": "60e890aca5f07b6ee5b950b1",
    "firstname": "John",
    "lastname": "Doe",
    "email": "[email protected]",
    "telephone": "44344223322",
    "locale": "en",
    "address": {
        "country": "GB",
        "city": "London",
        "region": "London",
        "street": "Picadilly Sq. 15",
        "postalCode": "W1J 9LL"
    },
    "optInConsent": true
  }
}

HTTP Request

GET https://api-sandbox.mozrest.com/v1/rms/booking/{id}

URL Parameters

Parameter Status Description
bookingId Mandatory Booking id to retrieve

Create a booking

This endpoint allows you to create a booking.

EXAMPLE REQUEST:

curl POST "https://partner-domain.com/v1/mozrest/booking" \
  -H "Authorization: Bearer {{api_key}}" \ 
  --data-raw '{
        "venueId": "60e890aca5f07b6ee5b950b1",
        "bookingChannelId": "60e890aca5f07b6ee5b950b3",
        "bookingChannel": {
          "id": "60e890aca5f07b6ee5b950b3",
          "name": "Channel Name"
        },  
        "partySize": 4,
        "areaId": "60e5a3ed409541da3650b2d3",
        "date": 1639578600,
        "notes": "I am allergic to peanuts",
        "paymentGatewayToken": "pm_1JkkRzAY52ufXkvaHWKbasua",
        "contact": {
            "firstname": "John",
            "lastname": "Doe",
            "email": "[email protected]",
            "telephone": "44344223322",
            "locale": "en",
            "address": {
                "country": "GB",
                "city": "London",
                "region": "London",
                "street": "Picadilly Sq. 15",
                "postalCode": "W1J 9LL"
            },
            "optInConsent": true
        }
    }'

EXAMPLE JSON:

{
  "venueId": "60e890aca5f07b6ee5b950b1",
  "venueExternalId": "123456789",
  "bookingChannelId": "60e890aca5f07b6ee5b950b3",
  "bookingChannel": {
    "id": "60e890aca5f07b6ee5b950b3",
    "name": "Channel Name"
  },
  "partySize": 4,
  "areaId": "60e5a3ed409541da3650b2d3",
  "date": 1639578600,
  "notes": "I am allergic to peanuts",
  "paymentGatewayToken": "pm_1JkkRzAY52ufXkvaHWKbasua",
  "contact": {
    "firstname": "John",
    "lastname": "Doe",
    "email": "[email protected]",
    "telephone": "44344223322",
    "locale": "en",
    "address": {
      "country": "GB",
      "city": "London",
      "region": "London",
      "street": "Picadilly Sq. 15",
      "postalCode": "W1J 9LL"
    },
    "optInConsent": true
  }
}

Response:

{
  "id": "60e890aca5f07b6ee5b950b1",
  "status": "pending_confirmation"
}

HTTP Request

POST https://partner-domain.com/v1/mozrest/booking

Body Parameters

Parameter Status Description
venueId Mandatory Venue id in Partner system
bookingChannelId Mandatory Booking channel id where the customer placed the booking Deprecated
bookingChannel[id] Mandatory Booking channel id where the customer placed the booking
bookingChannel[name] Mandatory Booking channel name where the customer placed the booking
partySize Mandatory Number of people
areaId Optional Area where the reservation is made for
date Mandatory Date time in Timestamp UTC format (ie. Saturday, 16 October 2021 14:30 is 1634387400 on timestamp)
notes Optional User notes
paymentGatewayToken Optional Payment gateway token for customers credit card
contact[firstname] Mandatory Customer's first name
contact[lastname] Mandatory Customer's last name
contact[email] Mandatory Customer's email
contact[telephone] Optional Customer's phone number (including country code but NO sign)
contact[locale] Mandatory Customer's language (ISO2 format)
contact[address][country] Mandatory Customer's country (ISO2 format)
contact[address][city] Optional Customer's city
contact[address][region] Optional Customer's region
contact[address][street] Optional Customer's address
contact[address][postalCode] Optional Customer's postcode
contact[optInConsent] Optional Allow to receive booking reminders and marketing emails from the Venue and the Partner (default: false)

Update a booking

This endpoint allows you to create a booking.

EXAMPLE REQUEST:

curl PUT "https://partner-domain.com/v1/mozrest/booking/{bookingId}" \
  -H "Authorization: Bearer {{api_key}}" \ 
  --data-raw '{
        "partySize": 2,
        "areaId": "60e5a3ed409541da3650b2d3",
        "date": 1639665000,
        "contact": {
            "firstname": "john",
            "lastname": "Doe",
            "email": "[email protected]",
            "telephone": "34655040452",
            "locale": "en",
            "address": {
                "country": "GB",
                "city": "London",
                "region": "London",
                "street": "Picadilly Sq. 15",
                "postalCode": "W1J 9LL"
            },
            "optInConsent": true
        }
    }'

EXAMPLE JSON:

{
  "partySize": 2,
  "areaId": "60e5a3ed409541da3650b2d3",
  "date": 1639665000,
  "contact": {
    "firstname": "john",
    "lastname": "Doe",
    "email": "[email protected]",
    "telephone": "34655040452",
    "locale": "en",
    "address": {
      "country": "GB",
      "city": "London",
      "region": "London",
      "street": "Picadilly Sq. 15",
      "postalCode": "W1J 9LL"
    },
    "optInConsent": true
  }
}

Response:

{
  "id": "60e890aca5f07b6ee5b950b1",
  "status": "confirmed"
}

HTTP Request

https://partner-domain.com/v1/mozrest/booking/{bookingId}

URL Parameters

Parameter Status Description
bookingId Mandatory Booking id in Partner system

Body Parameters

Parameter Status Description
partySize Mandatory Number of people
areaId Optional Area where the reservation is made for
date Mandatory Date time in Timestamp UTC format (ie. Saturday, 16 October 2021 14:30 is 1634387400 on timestamp)
contact[firstname] Mandatory Customer's first name
contact[lastname] Mandatory Customer's last name
contact[email] Mandatory Customer's email
contact[telephone] Optional Customer's phone number (including country code but NO sign)
contact[locale] Mandatory Customer's language (ISO2 format)
contact[address][country] Mandatory Customer's country (ISO2 format)
contact[address][city] Optional Customer's city
contact[address][region] Optional Customer's region
contact[address][street] Optional Customer's address
contact[address][postalCode] Optional Customer's postcode
contact[optInConsent] Optional Allow to receive marketing emails from the Venue and the Partner (default: false)

Cancel a Booking

This endpoint allows you to cancel a booking.

EXAMPLE REQUEST:

curl PUT "https://partner-domain.com/v1/mozrest/booking/{bookingId}/cancel" \
  -H "Authorization: Bearer {{api_key}}" \ 
  --data-raw '{
        "cancelActor": "owner",
        "cancelReason": "Can't attend the appointment"
    }'

EXAMPLE JSON:

{
  "cancelActor": "owner",
  "cancelReason": "Can't attend the appointment"
}

RESPONSE:

{
  "id": "60e890aca5f07b6ee5b950b1"
}

HTTP Request

PUT https://partner-domain.com/v1/mozrest/booking/{venueId}/cancel

URL Parameters

Parameter Status Description
bookingId Mandatory Booking id in Partner system

Body Parameters

Parameter Status Description
cancelActor Mandatory Who had canceled the booking
cancelReason Optional Why the booking has been canceled

Export Availability Feed

The availability feed contains information about the availability of the venues you want to connect to Reserve with Google.

For Mozrest to have every day the fresher snapshot of availability for the number of days you want to expose availability on Reserve with Google (RwG), you must send a daily feed (JSON) with the required format for Mozrest to process the information, update its internal cache and provide the information to RwG.

Format

EXAMPLE JSON:

{
  "metadata": {
    "total_shards": 2,
    "shard_number": 0,
    "nonce": null,
    "date": 1649294100
  },
  "availabilities": [
    {
      "venueId": "123456",
      "date": "2022-04-15",
      "partySize": 4,
      "duration": 3600,
      "totalSpots": null,
      "openSpots": null,
      "slotData": [
        {
          "startSec": 1639558800, // Slot = 14:30
          "totalSpot": 30,
          "openSpots": 12,
          "deposit": true,
          "depositAmount": 10050, //100,50 in your currency
          "requiresCc": false
        },
        {
          "startSec": 1650034800, // Slot = 15:00
          "totalSpots": 30,
          "openSpots": 8,
          "deposit": true,
          "depositAmount": 10050, //100,50 in your currency
          "requiresCc": false
        }
      ]
    },
    {
      "venueId": "123456",
      "date": "2022-04-15",
      "partySize": 2,
      "duration": 3600,
      "totalSpots": null,
      "openSpots": null,
      "slotData": [
        {
          "startSec": 1639558800, // Slot = 14:30
          "totalSpots": 15,
          "openSpots": 7,
          "deposit": true,
          "depositAmount": 10050, //100,50 in your currency
          "requiresCc": false
        },
        {
          "startSec": 1650034800, // Slot = 15:00
          "totalSpots": 15,
          "openSpots": 0,
          "deposit": true,
          "depositAmount": 10050, //100,50 in your currency
          "requiresCc": false
        }
      ]
    }
  ]
}

The feed must include metadata that instructs Mozrest on how to interpret it.

Metadata

Key Value example Description
total_shards 2 Total number of shards for this feed.
Shards do not need to be transferred in order, and they may not be processed in order.
shard_number 0 Current shards number for this feed.
Shard number is assumed to be zero-based.
nonce null Id to identify the lot number of the file is being send. If just one file, send null.
date 1649294100 send date on timestamp

Availability

Key Mandatory Value example Description
venueId Yes 123456 The id on your system
date Yes 2022-03-20 Date for the availability
partySize Yes 4 Id to identify the lot number of the file is being send. If just one file, send null.
areaId No 123456 The id of the area on your system
duration No 3600 turn time in seconds
totalSpots No 100 Number of total spots of this availability.
Optional if totalSpot are defined at the slot level
openSpots No 75 Number of open spots of this availability.
Optional if openSpot are defined at the slot level
slotData[startSec] Yes 1650033000 Start time of this slot, using epoch time in seconds in UTC
slotData[totalSpots] Yes 30 Number of total spots for this slot.
Optional if totalSpots are defined at the availability level
slotData[openSpots] Yes 12 Number of open spots for this slot.
Optional if openSpots are defined at the availability level
slotData[deposit] No true Is a deposit required to place a booking?
slotData[depositAmount] No 10050 Amount to pay for a deposit.
Format: Integer.
Example: 100,50€ -> 10050
slotData[requiresCc] No true Credit Card Guarantee. Not allowed if deposit is true.

JSON sample feed

Feed Samples Availability Coverage
Dining sample feed 30 days

File sizes and upload frequency

To determine the size of the feeds and frequency of delivery, use the following guidelines (a feed can be constituted of multiple files called "shards"):

We recommend that you give the files you upload unique names. For instance, it can be helpful to append each filename with a timestamp. This helps to troubleshoot issues and query for feed status.

Example: availability_feed_1649294100.01.json.gz

Credentials

Mozrest will provide you with the following information:

Webhook

The webhook allows you to easily notify updates to Mozrest.

UPDATE JSON:

{
  "entity": "booking",
  "entityId": "123456",
  "action": "update",
  "data": {
    "date": 1639558800,
    "partySize": 4
  }
}

CANCEL JSON:

{
  "entity": "booking",
  "entityId": "123456",
  "action": "cancel",
  "data": {
    "cancelReason": "Overbooked"
  }
}

LISTING UPDATE JSON:

{
  "entity": "listing",
  "entityId": "123456",
  "action": "update",
  "data": {
    "description": "The new description for my listing"
  }
}

Parameters

Parameter Type Description
entity Mandatory Type of data to updade. ["booking", "venue", "listing"]
entityId Mandatory Id in Partner's system to update
action Mandatory Action to take. ["update", "cancel"]
data Mandatory Array with the properties to be updated.

Allowed parameters per entity and action

Entity Action Allowed parameters
booking update date, partySize
booking cancel cancelReason
listing update To be agreed with each partner

Objects definition

The Booking Channel Object

EXAMPLE JSON:

{
    "id": "60e5a3ed409541da3650bd90",
    "name": "Booking Channel Name",
    "logo": "https://url-to-logo.com/logo.png"
}
Key Type Description
id String Booking Channel id
name String Booking Channel name
logo String Booking Channel logo

The Company Object

EXAMPLE JSON:

{
  "id": "6400e7bd72a4c82d20561517",
  "name": "Proident",
  "legalName": "Proident Ltd",
  "address": "29 Corringham Road",
  "postalCode": "HA9 9PX",
  "city": "Wembley",
  "countryCode": "GB",
  "description": "Mozrest Demo Company",
  "minAdvanceBooking": 3600,
  "minAdvanceBookingCancelling": 3600,
  "includeSourceInNotes": true,
  "sdkKey": "02C9846B4E1F43B1B3D747FFC0AC992C",
  "fbInstallLink": "https://facebook.com/dialog/oauth?client_id=1181690592254979&display=page&redirect_uri=https%3A%2F%2Fapp-pre.mozrest.com%2Fauth%2Ffacebook%2Fcallback&response_type=token&scope=manage_business_extension&extras=%7B%22setup%22%3A%7B%22external_business_id%22%3A%226400e7bd72a4c82d20561517%22%2C%22timezone%22%3A%22Europe%5C%2FParis%22%2C%22currency%22%3A%22EUR%22%2C%22business_vertical%22%3A%22RESERVATIONS%22%7D%2C%22business_config%22%3A%7B%22business%22%3A%7B%22name%22%3A%22Proident%22%7D%2C%22page_cta%22%3A%7B%22enabled%22%3Atrue%2C%22cta_button_text%22%3A%22Reserve%22%2C%22cta_button_url%22%3A%22https%3A%5C%2F%5C%2Fwidget-pre.mozrest.com%3Fkey%3D61afa0d0b5fb12d27dfa89e3%26mzId%3D6400e7bd72a4c82d20561517%26display%3Dcompany%22%2C%22below_button_text%22%3A%22In+partnership+with+Mozrest%22%7D%2C%22ig_cta%22%3A%7B%22enabled%22%3Atrue%2C%22cta_button_text%22%3A%22Reserve%22%2C%22cta_button_url%22%3A%22https%3A%5C%2F%5C%2Fwidget-pre.mozrest.com%3Fkey%3D6218f06a64bc4c2b2d0ea118%26mzId%3D6400e7bd72a4c82d20561517%26display%3Dcompany%22%7D%7D%2C%22repeat%22%3Afalse%7D"
}
Key Type Description
id String Company id.
name String Company's name.
legalName String Company's legal name.
address String Company's address.
postalCode String Company's postal code.
city String Company's city.
countryCode String Company's country code (ISO2 format).
description String Description
minAdvanceBooking Integer The duration (in seconds) from when the last booking can be made to when the availability slot starts.
minAdvanceBookingCancelling Integer The minimum advance notice in seconds required to cancel a booking.
includeSourceInNotes Bool If you want to include the origin of the booking in the booking notes.
sdkKey String L&R product access key.
fbInstallLink String URL ready to install the Meta Business Extension for Facebook and Instagram Open a Link in a New Tab

The Brand Object

EXAMPLE JSON:

{
  "id": "619f9c3de5f97823ea767gs4",
  "name": "Delicatessen",
  "company": {
    "id": "619dd442ca4b1064fcd99b08",
    "name": "Mozrest Sandbox"
  },
  "logo": null,
  "fbInstalled": false,
  "igInstalled": false,
  "fbInstallLink": "https://facebook.com/dialog/oauth?client_id=1181690592254979&display=page&redirect_uri=https%3A%2F%2Fapp-pre.mozrest.com%2Fauth%2Ffacebook%2Fcallback&response_type=token&scope=manage_business_extension&extras=%7B%22setup%22%3A%7B%22external_business_id%22%3A%22619f9c3de5f97823ea767gs4%22%2C%22timezone%22%3A%22Europe%5C%2FLondon%22%2C%22currency%22%3A%22GBP%22%2C%22business_vertical%22%3A%22RESERVATIONS%22%7D%2C%22business_config%22%3A%7B%22business%22%3A%7B%22name%22%3A%22Delicatessen%22%7D%2C%22page_cta%22%3A%7B%22enabled%22%3Atrue%2C%22cta_button_text%22%3A%22Reserve%22%2C%22cta_button_url%22%3A%22https%3A%5C%2F%5C%2Fwidget-pre.mozrest.com%3Fkey%3D61afa0d0b5fb12d27dfa89e3%26mzId%3D619f9c3de5f97823ea767gs4%26display%3Dbrand%22%2C%22below_button_text%22%3A%22In+partnership+with+Mozrest%22%7D%2C%22ig_cta%22%3A%7B%22enabled%22%3Atrue%2C%22cta_button_text%22%3A%22Reserve%22%2C%22cta_button_url%22%3A%22https%3A%5C%2F%5C%2Fwidget-pre.mozrest.com%3Fkey%3D6218f06a64bc4c2b2d0ea118%26mzId%3D619f9c3de5f97823ea767gs4%26display%3Dbrand%22%7D%7D%2C%22repeat%22%3Afalse%7D"
}
Key Type Description
id String Brand id.
name String Brand's name.
company Array Company to which the Brand belongs.
company[id] String Company's id.
company[name] String Company's name.
logo String Brand's logo.
fbInstalled Bool If the facebook widget is installed at company level.
igInstalled Bool If the instagram widget is installed at company level.
fbInstallLink String URL ready to install the Meta Business Extension for Facebook and Instagram Open a Link in a New Tab

The Venue Object

EXAMPLE JSON:

{
  "name": "Venue Name",
  "externalId": "123456789",
  "company": {
    "id": "60e5a3ed409541da3650bd90",
    "name": "Company Name"
  },
  "brand": {
    "id": "60e5a3ed409541da3650bd90",
    "name": "Brand Name"
  },
  "country": "GB",
  "address": "The Address 24, Picadilly",
  "city": "London",
  "postalCode": "W1J 9LL",
  "phoneNumber": "442072343456",
  "email": "[email protected]",
  "emails": ["[email protected]","[email protected]"],
  "url": "http://your-url.com",
  "latitude": "51.56797",
  "longitude": "-0.28122",
  "capacity": 100,
  "minAdvanceBooking": 1,
  "minAdvanceOnlineCanceling": 24,
  "paymentDefinition": {
    "requireCreditCard": "true",
    "deposit": {
      "type": "fixed_price",
      "amount": 2000
    },
    "noShowFee": {
      "type": "fixed_price",
      "amount": 2000
    }
  },
  "paymentGateway": {
    "gateway": "stripe",
    "publishKey": "pk_test_2343823823823",
    "merchantId": null,
  },
  "currency": "GBP",
  "timezone": "Europe/London",
  "fbInstalled": false,
  "igInstalled": false,
  "fbInstallLink": "https://facebook.com/dialog/oauth?client_id=1181690592254979&display=page&redirect_uri=https%3A%2F%2Fapp.mozrest.com%2Fauth%2Ffacebook%2Fcallback&response_type=token&scope=manage_business_extension&extras=%7B%22setup%22%3A%7B%22external_business_id%22%3A%22621e5ba1a5f7c4fbb87ecd9b%22%2C%22timezone%22%3A%22America%5C%2FNew_York%22%2C%22currency%22%3A%22USD%22%2C%22business_vertical%22%3A%22RESERVATIONS%22%7D%2C%22business_config%22%3A%7B%22business%22%3A%7B%22name%22%3A%22Docs+NY%22%7D%2C%22page_cta%22%3A%7B%22enabled%22%3Atrue%2C%22cta_button_text%22%3A%22Reserve%22%2C%22cta_button_url%22%3A%22https%3A%5C%2F%5C%2Fwidget-pre.mozrest.com%3Fkey%3D61a45e24757d22026a87f369%26mzId%3D621e5ba1a5f7c4fbb87ecd9b%26display%3Dvenue%22%2C%22below_button_text%22%3A%22In+partnership+with+Mozrest%22%7D%2C%22ig_cta%22%3A%7B%22enabled%22%3Atrue%2C%22cta_button_text%22%3A%22Reserve%22%2C%22cta_button_url%22%3A%22https%3A%5C%2F%5C%2Fwidget-pre.mozrest.com%3Fkey%3D61afa0d0b5fb12d27dfa47c4%26mzId%3D621e5ba1a5f7c4fbb87ecd9b%26display%3Dvenue%22%7D%7D%2C%22repeat%22%3Afalse%7D",
  "bookableAreas": "true",
  "bookingMessage": "It is obligatory to wear a mask when you are not seating at the table.",
  "paymentPolicy": "Dinner Cancellation Policy: We ask that any cancellation to your reservation be made no less than 24 hours prior. For no shows, you will be subject to fee of $25 per person that will be applied to the credit card on file.",
  "confirmationMessage": "Thank you for choosing Scampi! We look forward to you dining with us.<b>Please note, there is a 15 minutes grace period for late arrivals and we only seat complete parties.<b> If your party completes later than 15 minutes after your reservation time, you are subject to waiting for the next available table.<br>If we can do anything to better accommodate your dining experience, please email [email protected] or call us at 212.888.2171 between 12pm - 5pm, Monday - Friday. <br>"
}
Key Type Description
id String Venue id
name String Venue name
externalId String Venue id in Partner system
company[id] String Company id where the venue belongs. If blank, a new company will automatically be generated
company[name] String Company name where the venue belongs. If blank, a new company will automatically be generated
brand[id] String Brand name
brand[name] String Brand id
country String Country code where the venue is located (ISO2 format)
address String Address where the venue is located
city String City where the venue is located
postalCode String Postcode where the venue is located
phoneNumber String Venue's phone number
email String Venue's email
emails Array Venue's emails
url String Venue's website URL
latitude String Venue's latitude
longitude String Venue's longitude
minAdvanceBooking Int Minimum hours in advance a booking have to be placed
minAdvanceOnlineCancelling Int Minimum hours in advance a booking can be canceled
minCovers Int Minimum covers allowed per booking
maxCovers Int Maximum covers allowed per booking
currency String Currency code used for payments (ISO 4217 format)
paymentDefinition[requireCreditCard] String Does the booking require a Credit Card Guarantee? ["true", "false"]
paymentDefinition[deposit][type] String What type of deposit is? ["fixed_price", "per_person"]
paymentDefinition[deposit][amount] Int Deposit amount. Integer multiply per 100. Ie. 20,00€: 2000
paymentDefinition[noShowFee][type] String What type of no show fee is? ["fixed_price", "per_person"]
paymentDefinition[noShowFee][amount] Int No show fee amount. Integer multiply per 100. Ie. 20,00€: 2000
paymentGateway[gateway] String Payment gateway used [ stripe, braintree, adyen ]
paymentGateway[publishKey] String Publishable key for the payment gateway
paymentGateway[merchantId] Optional Your Merchant Id for the payment gateway
timezone String Time zone where the Venue is located (see possible time zone values)
fbInstalled Boolean Shows if the Venue has installed the Meta Business Extension for Facebook Values: false (not installed), true (installed)
igInstalled Boolean Shows if the Venue has installed the Meta Business Extension for Instagram Values: false (not installed), true (installed)
fbInstallLink String URL ready to install the Meta Business Extension for Facebook and Instagram Open a Link in a New Tab
bookableAreas String Does the venue requires to choose an area? ["true", "false"]
bookingMessage String Message to show to the user after a booking has been placed.
paymentPolicy String Message from the venue related to payments/deposits in case credit card is required
confirmationMessage String Message from the venue to be displayed after placing a reservation

The Area Object

EXAMPLE JSON:

{
  "id": "624fbc403cfd9a529ea17f36",
  "venue": {
    "id": "624fba8a5fb36da5ae6e73bf",
    "name": "TapasTapas"
  },
  "name": "Dinning room",
  "description": "Main dinning room in the restaurant",
  "externalId": "0001",
  "rwgDefault": true,
  "byDefault": false,
  "translations": [
    {
      "id": "624fbc414a3b895d7d00efb3",
      "parentId": "624fbc403cfd9a529ea17f36",
      "locale": "es",
      "field": "name",
      "content": "Salón pricipal",
      "createdAt": "2022-04-08T04:38:25+00:00",
      "updatedAt": "2022-04-08T04:38:25+00:00"
    },
    {
      "id": "624fbc41924ab9a37e938247",
      "parentId": "624fbc403cfd9a529ea17f36",
      "locale": "en",
      "field": "description",
      "content": "Main dinning room in the restaurant",
      "createdAt": "2022-04-08T04:38:25+00:00",
      "updatedAt": "2022-04-08T04:38:25+00:00"
    },
    {
      "id": "624fbc41c910729de305be29",
      "parentId": "624fbc403cfd9a529ea17f36",
      "locale": "es",
      "field": "description",
      "content": "Salón principal del restaurante",
      "createdAt": "2022-04-08T04:38:25+00:00",
      "updatedAt": "2022-04-08T04:38:25+00:00"
    },
    {
      "id": "624fbc41fa21017434e24af7",
      "parentId": "624fbc403cfd9a529ea17f36",
      "locale": "en",
      "field": "name",
      "content": "Dinning room",
      "createdAt": "2022-04-08T04:38:25+00:00",
      "updatedAt": "2022-04-08T04:38:25+00:00"
    }
  ],
  "createdAt": "2022-04-08T04:38:24+00:00",
  "updatedAt": "2022-04-08T04:38:24+00:00"
}
Key Type Description
id String Area id
name String Area's name.
Allows translation
externalId String Area id in Partner system
description String Area's description.
Allows translation
rwgDefault Bool Use always for Reserve with Google bookings. Just applies to venues with RwG channel active.
byDefault Bool Use as a default area in case on no area selected
translations[locale] String Locale to translate in ISO2 format
translations[data][field] String Field to translate
translations[data][content] String Translation for the field

The Availability Object

EXAMPLE JSON:

{
  "venueId": "60e5a3ed409541da3650bd90",
  "date": "2020-03-20",
  "partySize": 4,
  "duration": 3600,
  "totalSpot": 100,
  "openSpot": 100,
  "session": "lunch",
  "slotData": [
    {
      "startSec": 1639558800,
      "totalSpot": 100,
      "openSpot": 75,
      "deposit": true,
      "depositAmount": 10000,
      "requireCc": false
    },
    {
      "startSec": 1639558800,
      "totalSpot": 100,
      "openSpot": 75,
      "deposit": true,
      "depositAmount": 10000,
      "requireCc": false
    },
    {...},
  ],
  "nextAvailability": 1639558800
}
Key Type Description
venueId String Venue id
date String Date requested for availability (format: YYYY-MM-DD)
partySize Int Number of people
duration Int Duration of the booking slot
totalSpot Int Total spots for the session
openSpot Int Total available spots for the session
session String Session when the booking is taking place (ie. dinner)
slotData Array List of available slots
slotData[startSec] Int Slot time in Timestamp UTC format (ie. Saturday, 16 October 2021 14:30 is 1634387400 on timestamp)
slotData[totalSpot] Int Optional if spots are defined globally
slotData[openSpot] Int Optional if spots are defined globally
slotData[deposit] Boolean Is a deposit required for this slot?
slotData[depositAmount] Int Deposit amount
slotData[requireCc] Boolean Does the booking require a Credit Card Guarantee? (If a deposit has already been asked = true not allowed.)
nextAvailability Int In case of no availability, the next available slot can be provided to inform the user. Timestamp UTC format (ie. Saturday, 16 October 2021 14:30 is 1634387400 on timestamp

The Booking Object

EXAMPLE JSON:

{
  "id": "60e890aca5f07b6ee5b950b1",
  "venueId": "60e890aca5f07b6ee5b950b1",
  "venueExternalId": "123456789",
  "bookingChannelId": "60e890aca5f07b6ee5b950b3",
  "bookingChannel": {
    "id": "60e890aca5f07b6ee5b950b3",
    "name": "Channel Name"
  },
  "partySize": 4,
  "session": "lunch",
  "status": "confirmed",
  "date": "2021-11-06T12:00:00+02:00",
  "notes": "I'm alergic to peanuts",
  "cancelActor": null,
  "cancelReason": null,
  "canceledAt": null,
  "contact": {
    "id": "60e890aca5f07b6ee5b950b1",
    "firstname": "John",
    "lastname": "Doe",
    "email": "[email protected]",
    "telephone": "44344223322",
    "locale": "en",
    "address": {
        "country": "GB",
        "city": "London",
        "region": "London",
        "address": "Picadilly Sq. 15",
        "postalCode": "W1J 9LL"
    },
    "optInConsent": true
  }
}
Key Type Description
id String Booking id
venueId String Venue id for booking
venueExternalId String Venue id on Partner system for the booking
bookingChannelId String Booking channel id where the customer placed the booking Deprecated
bookingChannel[id] String Booking channel id where the customer placed the booking
bookingChannel[name] String Booking channel name where the customer placed the booking
status String Booking status [pending, pending_confirmation, requires_payment, confirmed, canceled, faked, honored]
partySize Int Number of people
session String Booking session
date Datetime Booking date and time in Timestamp UTC format (ie. Saturday, 16 October 2021 14:30 is 1634387400 on timestamp)
notes Text User notes
cancelActor String Who had canceled the booking
cancelReason Text Why the booking has been canceled
canceledAt Datetime When the booking has been canceled (UTC)
paymentGatewayToken String Payment gateway token for customers credit card
contact[firstname] Text Customer's first name
contact[lastname] Text Customer's last name
contact[email] Text Customer's email (ie. [email protected])
contact[telephone] Int Customer's telephone including country code but NO sign (ie. +44 20 7234 3456 -> 442072343456 )
contact[locale] Text Customer's language (ISO2 format)
contact[address][country] Text Customer's country (ISO2 format)
contact[address][city] Text Customer's city
contact[address][region] Text Customer's region
contact[address][street] Text Customer's address
contact[address][postalCode] Text Customer's postal code
contact[optInConsent] Boolean Allow to receive marketing emails from the Venue and the Partner (default: false)

The Booking Report Object

EXAMPLE JSON:

{
  "id": "410d5ed9-b205-4517-b2d7-620caae41103",
  "venue": "b62be154-a301-49bb-9f00-edcee8a6fe9f",
  "channel": "RWG",
  "bookingDate": "2022-04-01 14:37:06",
  "mealDate": "2022-03-31 15:30:00",
  "covers": "4",
  "status": "canceled",
  "optIn": true,
  "parentId": null
}
Key Type Description
id String Booking id on the Partner system
venue String Venue id on the Partner system for booking
channel String Booking channel code that originated the booking
bookingDate Datetime Datetime where the booking was placed
mealDate Datetime Datetime where the booking will be consumed
covers Int Number of people
status String Booking status [confirmed, cancelled]
optIn Bool Did the user gave consent for marketing communications?
parentId String or null When a booking is cancelled due a modification on the channel, the new booking will be the parentId of the cancelled one.