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

  1. Postman collection — Download and import the Channels Plus Postmanarrow-up-right collection.

  2. Partner Portal access — You will need access to the Partner Portal to create Deals.

  3. Deal code — Create a deal in the Partner Portal and have it approved before running scenarios.

circle-info

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.

circle-info

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)

chevron-right1. 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.hashtag
chevron-right2. 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.hashtag
chevron-right3. 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.hashtag
chevron-right4. 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.hashtag
chevron-right5. 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 Dealsarrow-up-right functionality.hashtag
chevron-right6. Invalid latitude and longitude Call the get properties endpoint with an invalid lat/long and receive an error.hashtag

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.

circle-info

Mandatory Query Parameters for the Get Property Request:

  • uuid: Unique identifier for the property

  • checkin

  • checkout

  • number of rooms and occupancy details

chevron-right1. 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.hashtag
chevron-right2. 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.hashtag
chevron-right3. 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 Dealsarrow-up-right functionality.hashtag
chevron-right4. Invalid Property Call the get property endpoint with an invalid property uuid and receive an error.hashtag

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.

chevron-right1. 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.hashtag
chevron-right2. 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 Dealsarrow-up-right funtionality.hashtag
chevron-right3. Invalid room rate Call the lock a reservation endpoint with an invalid room rate UUID and receive an error.hashtag
chevron-right4. 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.hashtag

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.

chevron-right1. 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.hashtag
chevron-right2. 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.hashtag
chevron-right3. Expired Reservation Call the confirm reservation endpoint with a valid reservation UUID that has now timed out to receive error.hashtag

Note: The timeout window is 15 minutes

Sample Request:

Sample Body:

Error:

View Sample Request & Response:

https://www.postman.com/siteminder-apis/channels-plus/example/31209038-31a8940c-74b0-4549-a7e7-185ae0700f61arrow-up-right

chevron-right4. Non-existing Reservation Call the confirm reservation endpoint with an invalid reservation UUID.hashtag

Modify reservation

The purpose of this endpoint is to allow the partner to modify the guest details on a confirmed reservation.

chevron-right1. Valid modify guest details Call the modify reservation endpoint with a valid reservation UUID and valid guest details.hashtag
chevron-right2. 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.hashtag

Sample Request:

Sample Body:

Error:

chevron-right3. Non-existing reservation Call the modify reservation endpoint with an invalid reservation UUID.hashtag

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.

chevron-right1. Cancelled Reservation Call the cancel reservation endpoint with a valid reservation UUIDhashtag
chevron-right2. Reservation does not exist Call the cancel a reservation endpoint with an invalid reservation UUID.hashtag
chevron-right3. 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.hashtag

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.

sparkles

Still have questions?

Last updated

Was this helpful?