Certification

Here you can find information about the certification process for new partners using the Mews Channel Manager API, including the list of standard tests.

Pre-Certification

The process is as follows:

  1. Email partnersuccess@mews.com to request a Client Token and for a test property to be created in the Mews Test Environment.

  2. Create the following HTTPS endpoint URLs on the Channel Manager side Test Environment

  3. Email the endpoint details to partnersuccess@mews.com.

  4. Use your test property username and Get properties API operation to fetch the connectionToken for the Test Property.

  5. Pull property information, space type mapping and rate mapping information using the Get configuration API operation.

  6. Map all the rate plan and space category combinations in the user interface of the channel manager system using the data received from the Get configuration request.

Note: Multi-property enterprises (vacation rentals, apartments, villas, etc.) are often set up in Mews as spaces belonging to a single Mews property i.e. the 'property' is the Mews enterprise customer and the 'spaces' are the individual rental properties. These spaces (i.e. properties) can be sent to the channel manager as multiple connections, with one Connection Token per space (i.e. property), or as a single connection for the entire enterprise.

Certification Tests

These tests will be conducted during a 90-minute call between the Mews Marketplace team and a representative of the channel manager.

Inventory Push Tests

TestRequirementScenarioExpected ResultNotes

Receive multi-space, multi-rate availability push

Required

5+ Spaces (3 Rooms, 1 Dorm and 1 Bed) and 5+ Rates are mapped from the Get configuration response and data is pushed to the Update availability endpoint.

The channel manager returns { "success": true} and data is updated in the channel manager extranet.

Mapping bed and dorm space types is recommended, not required.

Receive multi-space, multi-rate gross rate push

Required

5+ Spaces (3 Rooms, 1 Dorm and 1 Bed) and 5+ Rates are mapped and pushed to the Update prices endpoint.

The channel manager returns { "success": true} and data is updated in the channel manager extranet.

Mapping bed and dorm space types is recommended, not required.

Receive multi-space, multi-rate net rate push

Required

5+ Spaces (3 Rooms, 1 Dorm and 1 Bed) and 5+ Rates are mapped and pushed to the Update prices endpoint.

The channel manager returns { "success": true} and data is updated in the channel manager extranet.

Mapping bed and dorm space types is recommended, not required.

Receive multi-space, multi-rate restriction push

Required

5+ Spaces (3 Rooms, 1 Dorm and 1 Bed) and 5+ Rates are mapped and pushed to the Update restrictions endpoint.

The channel manager returns { "success": true} and data is updated in the channel manager extranet.

Mapping bed and dorm space types is recommended, not required.

Receive product (package) rates

Required

Package Rate and Breakfast product are manually mapped in the test property. Then, a rate push with a package Rate plan code is sent to the Update prices endpoint.

The channel manager returns { "success": true} and data is updated in the channel manager extranet.

The per night or per person per night price of the product is added to the grossAmountor netAmount of each ratePrice collection in the push. Product prices are not itemized separately.

Receive a full inventory push from Mews

Required

The connection is enabled and Mews sends the maximum update to the Update availability, Update prices and Update restrictions endpoints. A minimum full inventory push is 365 days.

The channel manager returns { "success": true} and data is updated in the channel manager extranet.

Being able to accept this data is required but push size or frequency can be decreased if necessary.

Reservation Tests

TestRequirementScenarioExpected ResultNotes

Send a single gross priced reservation

Required

A reservation push with Test Credit Card information in the paymentCard object, an adultCount of 2, a childCount of 1, and a companion in the guests property of the booking and a booked channel code is sent to the Process group endpoint.

The channel manager receives a { "clientToken":"[Mews Client Token]", "connectionToken":"[Token of a concrete connection]", "channelManagerId":"[Id sent in the reservation push]", "reservations":[ {"code":"[Code sent in the reservation push]", "confirmationNumber":"[Mews confirmation number]"}]} push to the Confirm booking endpoint.

The paymentCard object is required for all reservation pushes in the live environment.

Modify the single gross priced reservation

Required

A modification push with the same channelManagerId, the same Reservation code for each booking and at least 1 change to the reservations collection is sent to the Process group endpoint.

The channel manager receives a { "clientToken":"[Mews Client Token]", "connectionToken":"[Token of a concrete connection]", "channelManagerId":"[Same id as the original push]", "reservations":[ {"code":"[Same code as the original push]", "confirmationNumber":"[Same confirmation number as the original push]"}]} push to the Confirm booking endpoint.

Cancel the single gross priced reservation

Required

An cancellation push with the same channelManagerId as the original reservation and no additional data is sent to the Process group endpoint.

The channel manager receives a { "clientToken":"[Mews Client Token]", "connectionToken":"[Token of a concrete connection]", "channelManagerId":"[Same id as the original push]", "reservations":[ {"code":"[Same code as the original push]", "confirmationNumber":"[Same confirmation number as the original push]"}]} push to the Confirm booking endpoint.

Send a single net priced reservation

Required

A reservation push with Test Credit Card information in the paymentCard object, an adultCount of 2, a childCount of 1, and a companion in the guests property of the booking is sent to the Process group endpoint.

The channel manager receives a { "clientToken":"[Mews Client Token]", "connectionToken":"[Token of a concrete connection]", "channelManagerId":"[Id sent in the reservation push]", "reservations":[ {"code":"[Code sent in the reservation push]", "confirmationNumber":"[Mews confirmation number]"}]} push to the Confirm booking endpoint.

The paymentCard object is required for all reservation pushes in the live environment.

Modify the single net priced reservation

Required

A modification push with the same channelManagerId, the same Reservation code for each booking and at least 1 change to the reservations collection is sent to the Process group endpoint.

The channel manager receives a { "clientToken":"[Mews Client Token]", "connectionToken":"[Token of a concrete connection]", "channelManagerId":"[Same id as the original push]", "reservations":[ {"code":"[Same code as the original push]", "confirmationNumber":"[Same confirmation number as the original push]"}]} push to the Confirm booking endpoint.

Cancel the single net priced reservation

Required

An cancellation push with the same channelManagerId as the original reservation and no additional data is sent to the Process group endpoint.

The channel manager receives a { "clientToken":"[Mews Client Token]", "connectionToken":"[Token of a concrete connection]", "channelManagerId":"[Same id as the original push]", "reservations":[ {"code":"[Same code as the original push]", "confirmationNumber":"[Same confirmation number as the original push]"}]} push to the Confirm booking endpoint.

Send a gross priced reservation with 3 spaces on 2 rate plans and varied daily rates

Required

A reservation push with three bookings in the reservations collection, unique ratePlanCode properties and different daily rates for each date is sent to the Process group endpoint.

The channel manager receives a { "clientToken":"[Mews Client Token]", "connectionToken":"[Token of a concrete connection]", "channelManagerId":"[Id sent in the reservation push]", "reservations":[ {"code":"[Code sent in the reservation push]", "confirmationNumber":"[Mews confirmation number]"}]} push to the Confirm booking endpoint.

Multi-booking reservations must be sent as 1 reservation collection in all cases.

Add/remove a space and add/remove dates from the multi-room gross priced reservation

Required

A modification push with the same channelManagerId and Reservation codes as the original reservation, and changes to 2 of the 3 bookings in the reservations collection.

The channel manager receives a { "clientToken":"[Mews Client Token]", "connectionToken":"[Token of a concrete connection]", "channelManagerId":"[Same id as the original push]", "reservations":[ {"code":"[Same code as the original push]", "confirmationNumber":"[Same confirmation number as the original push]"}]} push to the Confirm booking endpoint.

Cancel the multi-room gross priced reservation

Required

An cancellation push with the same channelManagerId as the original reservation and no additional data is sent to the Process group endpoint.

The channel manager receives a { "clientToken":"[Mews Client Token]", "connectionToken":"[Token of a concrete connection]", "channelManagerId":"[Same id as the original push]", "reservations":[ {"code":"[Same code as the original push]", "confirmationNumber":"[Same confirmation number as the original push]"}]} push to the Confirm booking endpoint.

Send a net priced reservation with 3 spaces on 2 rate plans and varied daily rates

Required

A reservation push with three bookings in the reservations collection, unique ratePlanCode properties and different daily rates for each date is sent to the Process Group endpoint.

The channel manager receives a { "clientToken":"[Mews Client Token]", "connectionToken":"[Token of a concrete connection]", "channelManagerId":"[Id sent in the reservation push]", "reservations":[ {"code":"[Code sent in the reservation push]", "confirmationNumber":"[Mews confirmation number]"}]} push to the Confirm booking endpoint.

Multi-booking reservations must be sent as 1 reservation collection in all cases.

Add/remove a space and add/remove dates from the multi-room net priced reservation

Required

A modification push with the same channelManagerId and Reservation codes as the original reservation, and changes to 2 of the 3 bookings in the reservations collection.

The channel manager receives a { "clientToken":"[Mews Client Token]", "connectionToken":"[Token of a concrete connection]", "channelManagerId":"[Same id as the original push]", "reservations":[ {"code":"[Same code as the original push]", "confirmationNumber":"[Same confirmation number as the original push]"}]} push to the Confirm booking endpoint.

Cancel the multi-room net priced reservation

Required

An cancellation push with the same channelManagerId as the original reservation and no additional data is sent to the Process group endpoint.

The channel manager receives a { "clientToken":"[Mews Client Token]", "connectionToken":"[Token of a concrete connection]", "channelManagerId":"[Same id as the original push]", "reservations":[ {"code":"[Same code as the original push]", "confirmationNumber":"[Same confirmation number as the original push]"}]} push to the Confirm booking endpoint.

Send a reservation with a product attached

Optional

A reservation push with a least 1 mapped product in the Extra collection is sent to the Process group endpoint.

The channel manager receives a { "clientToken":"[Mews Client Token]", "connectionToken":"[Token of a concrete connection]", "channelManagerId":"[Id sent in the reservation push]", "reservations":[ {"code":"[Code sent in the reservation push]", "confirmationNumber":"[Mews confirmation number]"}]} push to the Confirm booking endpoint.

These products must be manually mapped before certification. This test can be combined with the single reservation test. If supported, needs to be tested with gross and net prices.

Error Tests

All error messages from the channel manager to Mews must use the error codes listed in the Channel Manager API documentation in the synchronous simple response section and clearly state in the error message what the issue is. Ideally, advice on how to solve the error will also be included as these messages are forwarded to the property via email.

TestRequirementScenarioExpected ResultNotes

System errors

Required

A list of the error response codes and messages for all potential system errors, including timeout errors, maintenance errors, and general downtime errors.

These must comply with the synchronous simple response requirements including the correct error code and a clear error message.

Unknown reservation error

Required

Mews will push an invalid reservation and send a confirmation to the channel manager.

The channel manager returns { "success": false, "error": { "code": 2, "message": "Reservation {mewsConfirmationNumber} is not recorded in the channel manager." }}.

These must comply with the synchronous simple response requirements including the correct error code and a clear error message.

Unmapped Space code error

Required

An availability push with an unmapped Space type code is sent from the test hotel to the Update availability endpoint.

The channel manager returns { "success": false, "error": { "code": 4, "message": "e.g. Unknown space type mapping code 'ABC'." }} as per synchronous simple response.

The response must have the unmapped Space code and comply with the synchronous simple response requirements including the correct error code and a clear error message.

Unmapped Rate code error

Required

A rate push with an unmapped Rate plan code is sent from the test hotel to the Update prices endpoint.

The channel manager returns { "success": false, "error": { "code": 5, "message": "e.g. Unknown rate type mapping code 'ABC'." }} as per synchronous simple response

The response must have the unmapped Rate code and comply with the synchronous simple response requirements including the correct error code and a clear error message.

Connection inactive or not set up error

Required

The channel manager connection is deactivated from the channel manager extranet and then an full inventory push is sent from the test hotel to the channel manager's endpoints.

The channel manager returns { "success": false, "error": { "code": 3, "message": "e.g. The connection is missing or inactive." }}

These must comply with the synchronous simple response requirements including the correct error code, either 3 or 8, and a clear error message.

API errors

Required

The channel manager sends an invalid format reservation.

Mews returns an API error, which explains why the reservation cannot be created in Mews.

The channel manager logs the error and does not re-push the invalid reservation. If possible, the channel manager fixes the error on its own and re-pushes the reservation.

Evaluation

If the required tests cannot be completed successfully, Mews will not allow the channel manager to advance to the production environment. Once any issues are resolved, certification will start over.

If there are no critical issues discovered during certification, the channel manager will be advanced to the production environment.

  • Mews will require unique HTTPS production endpoint URLs for the Channel Manager side

  • Mews will issue a new Client Token for the channel manager to use in the live environment

  • The channel manager will issue documentation of their set-up process for approval

Last updated