This guide helps you test and certify that all required integration features are working. You can use it on your own for testing, and once you are confident in the results, the Partner Integrations team will review your readiness.
Instructions
To use this guide, make sure you have access to the Partner Portal. The Deals feature is required, so create a deal using the portal. After the deal is approved by a test property, use the deal code to send requests. This guide includes a series of scenarios to test all Channels Plus API features.
Test Scenarios
This outlines the use cases that a partner must successfully complete in order to achieve certification for the Channels Plus Channel API.
The purpose of this endpoint is to allow the partner to retrieve a list of properties on Channels Plus within a certain lat, long & radius boundary that matches their search criteria.
The following are mandatory query parameters for the "Get Properties" request:
latitude
longitude
checkin
checkout
number of rooms and occupancy details. There are two options. You can only use one of the following options in the request, not both:
totalRooms, totalAdults, and totalChildren
rooms (see sample in scenario 3)
1. Mandatory fields with 1-night room stay for total occupancyCall the get properties endpoint with mandatory elements only to retrieve a list of properties within the default radius of a lat/long boundary for a stay of more than 1 night. For this scenario use just the total adults and children for the entire reservation.
2. Mandatory fields with more than 1 night with paginationCall the get properties endpoint with mandatory elements only to retrieve a list of properties within the default radius of a lat/long boundary for a stay of more than 1 night. For this scenario use just the total adults and children for the entire reservation. Request for the second page of this response.
3. Mandatory fields with 2 room stay
Call the get properties endpoint with mandatory elements only to retrieve a list of properties within the default radius of a lat/long boundary for a stay of more than 1 night. For this scenario provide a breakdown of adult & child occupancy for a 2 room stay.
4. Mandatory fields within a set radius
Call the get properties endpoint with mandatory elements only to retrieve a list of properties within a specified radius of a lat/long boundary for a stay of more than 1 night. For this scenario use just the total adults and children for the entire reservation.
5. Mandatory fields and specific deals only
Call the get properties endpoint with mandatory elements only to retrieve a list of properties within the default radius of a lat/long boundary for a stay of more than 1 night. For this scenario use just the total adults and children for the entire reservation. Additionally specify a deal code and set the deal only flag to receive rates that are part of a deal only.
{"errors":[{"code":"InvalidInputError","message":"should be number","meta":{"type":"number","params":{"type":"number"},"keyword":"type","dataPath":".query.latitude","schemaPath":"#/properties/query/properties/latitude/type"}},{"code":"InvalidInputError","message":"should be number","meta":{"type":"number","params":{"type":"number"},"keyword":"type","dataPath":".query.longitude","schemaPath":"#/properties/query/properties/longitude/type"}}]}
The purpose of this endpoint is to allow the partner to retrieve detailed information and room rates on Channels Plus for a specific property.
Mandatory Query Parameters for the Get Property Request:
uuid: Unique identifier for the property
checkin
checkout
number of rooms and occupancy details
1. Mandatory fields with total occupancy set
Call the get property endpoint with mandatory elements only to retrieve a list of room rates at the property for a stay of more than 1 night. For this scenario, use the entire reservation's total number of adults and children.
2. Mandatory fields with room occupancy set
Call the get property endpoint with mandatory elements only to retrieve a list of room rates at the property for a stay of more than 1 night. For this scenario, provide a breakdown of adult & child occupancy for a 2-room stay.
3. Mandatory fields with deal only
Call the get property endpoint with mandatory elements only to retrieve a list of room rates at the property for a stay of more than 1 night. For this scenario, use the entire reservation's total number of adults and children. Additionally, specify a deal code to receive rates that are part of the deal only.
{"errors":[{"code":"PropertyNotFoundError","message":"property with spid=invalid not found"}]}
The purpose of this endpoint is to allow the partner to temporarily lock a reservation for a 15-minute window, so the inventory is not booked by another Channels Plus Channel.
1. Valid room rate
Call the lock a reservation endpoint with a valid array of room rate bookings. Do not set the deal code and deal flag.
{"errors":[{"code":"RoomRateNotFoundError","message":"Some room rates in roomRateUuids=[invalid] not found"}]}
4. Valid room rate with netInvoicingNote: This is available to partners with a Net Invoicing agreement only, not available to partners operating under a Gross Invoicing model.
Call the lock a reservation endpoint with a valid array of room rate bookings. Set the netInvoicing to true
The purpose of this endpoint is to allow the partner to confirm a temporarily locked reservation so the inventory is not booked by another non-Channels Plus Channel.
1. Confirm reservation using credit card information
Call the confirm reservation endpoint with a credit card payment type with valid card type, card metadata and guest information.
2. Confirm reservation with a Virtual Credit Card
Call the confirm reservation endpoint with a virtual credit card payment type with valid card type, card metadata and guest information.
2. Modify guest details whilst guest checked-in
Call the modify reservation endpoint with a valid reservation UUID for a reservation that has already been checked in.
3. Cancelling outside the cancellation period
Call the cancel a reservation endpoint with a valid reservation UUID for a reservation that is no longer in a free cancellation period.
If you are using this guide as a testing checklist and are now ready to begin certification, please contact the Partner Integrations team to confirm your readiness. If you are already in the certification process, complete the form provided via email, ensuring that all required information is accurately included for final review.