Testing and Certification
Test your Channels Plus integration and confirm readiness before going live with SiteMinder.
Use this guide to verify that all required integration capabilities are working correctly. Work through the scenarios independently, and when you're confident in your results, notify the Partner Integrations team. We'll review your readiness, prepare your account, and confirm when you can proceed to certification.
Instructions
This guide provides a series of scenarios to test all required integration capabilities for this API. Some capabilities may be optional — if a scenario does not apply to your integration, skip it and proceed to the next one. Work through each scenario using the resources provided in the Initial Setup section, and use the results to verify your integration is working correctly before requesting certification.
Once all scenarios pass, notify the Partner Integrations team. We will review your results, and if everything looks good, confirm when you can proceed to the formal certification process.
Initial Setup
Before working through the test scenarios, make sure the following are in place:
Postman collection — Download and import the Channels Plus Postman collection.
Partner Portal access — You will need access to the Partner Portal to create Deals.
Deal code — Create a deal in the Partner Portal and have it approved before running scenarios.
Your API ID and API Key for testing are available in the Partner Portal. Make sure to replace all variables in the Postman collection before running the scenarios.
Test Scenarios
This outlines the use cases that a partner must successfully complete in order to achieve certification for the Channels Plus Channel API.
Get Properties
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 occupancy 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.
Sample Request:
View Sample Request and Response:
2. Mandatory fields with more than 1 night with pagination 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. Request for the second page of this response.
Sample Request:
View Sample Request & 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.
Sample Request:
View Sample Request & Response:
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.
Sample Request:
View Sample Request & Response:
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. Skip if you will not use the Deals functionality.
Sample Request:
View Sample Request & Response:
6. Invalid latitude and longitude Call the get properties endpoint with an invalid lat/long and receive an error.
Sample Request:
Error:
View Sample Request & Response:
Get Property
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.
Sample Request:
View Sample Request & Response:
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.
Sample Request:
View Sample Request & Response:
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. Skip if you will not use the Deals functionality.
Sample Request:
View Sample Request & Response:
4. Invalid Property Call the get property endpoint with an invalid property uuid and receive an error.
Sample Request:
Error:
View Sample Request & Response:
Lock reservation
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.
Sample Request:
Sample Body:
View Sample Request & Response:
2. Valid room rate with deal code Call the lock a reservation endpoint with a valid array of room rate bookings. Set the deal code and deal flag, if you choose to use the Deals funtionality.
Sample Request:
Sample Body:
View Sample Request & Response:
3. Invalid room rate Call the lock a reservation endpoint with an invalid room rate UUID and receive an error.
Sample Request:
Sample Body:
Error:
View Sample Request & Response:
4. Valid room rate with netInvoicing Note: 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.
Sample Request:
Sample Body:
View Sample Request & Response:
Confirm reservation
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.
Sample Request:
Sample Body:
View Sample Request & Response:
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.
Sample Request:
Sample Body:
View Sample Request & Response:
3. Expired Reservation Call the confirm reservation endpoint with a valid reservation UUID that has now timed out to receive error.
Note: The timeout window is 15 minutes
Sample Request:
Sample Body:
Error:
View Sample Request & Response:
4. Non-existing Reservation Call the confirm reservation endpoint with an invalid reservation UUID.
Sample Request:
Sample Body:
Error:
View Sample Request & Response:
Modify reservation
The purpose of this endpoint is to allow the partner to modify the guest details on a confirmed reservation.
1. Valid modify guest details Call the modify reservation endpoint with a valid reservation UUID and valid guest details.
Sample Request:
Sample Body:
View Sample Request & Response:
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.
Sample Request:
Sample Body:
Error:
3. Non-existing reservation Call the modify reservation endpoint with an invalid reservation UUID.
Sample Request:
Sample Body:
Error:
Cancel reservation
The purpose of this endpoint is to allow the partner to cancel a confirmed reservation within the cancellable period.
1. Cancelled Reservation Call the cancel reservation endpoint with a valid reservation UUID
Sample Request:
View Sample Request & Response:
2. Reservation does not exist Call the cancel a reservation endpoint with an invalid reservation UUID.
Sample Request:
Error:
View Sample Request & Response:
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.
Sample Request:
Error:
View Sample Request & Response:
Final Steps
Once all scenarios have passed, notify the Partner Integrations team. We will review your results and confirm when you can proceed to certification. If any issues are identified during the review, we will reach out to you directly to resolve them before moving forward.
Still have questions?
Use the Ask button at the top of the page to chat with our AI assistant — it can help you navigate the guide, understand requirements, and troubleshoot issues.
If you need more support, visit Integration Support.
Last updated
Was this helpful?