Help us improve the Developer Guide! Share your feedback using the “Was this helpful?” option on the right of each page.

API Reference

Review the components of the pmsXchange API and learn how each one is used to support your integration with SiteMinder.

The pmsXchange API suite consists of seven API components:

Rooms and Rates

REST/JSON - This API enables a Property Management System (PMS) to request a list of Room Rates and mapping codes from SiteMinder for a specific hotel.

Availability and Restrictions

SOAP/XML - Each OTA_HotelAvailNotifRQ message contains a single AvailStatusMessages element which indicates the hotel to update using the AvailStatusMessages / HotelCode attribute. The AvailStatusMessages / AvailStatusMessage elements will contain the updates to process over a date range. There can be several AvailStatusMessage updates per request.

  • Availability *

  • Stop Sell

  • Minimum Stay on Arrival

  • Maximum Stay on Arrival

  • Close to Arrival (CTA)

  • Close to Departure (CTD)

Rates

SOAP/XML - Each OTA_HotelRateAmountNotifRQ message contains a single RateAmountMessages element which indicates the hotel to update using the RateAmountMessages / HotelCode attribute. The RateAmountMessages / RateAmountMessage elements will contain the updates to process over a date range. There can be several RateAmountMessage updates per request, but it should only target one hotel per message.

SiteMinder supports two pricing models, Per Day Pricing (PDP) and Occupancy Based Pricing (OBP). Both are a PMS/RMS level feature, the pricing model configured will apply to all properties connected to the PMS/RMS. The Rates XML for all properties must be either PDP or OBP model.

Per Day Pricing

PDP refers to a pricing model where base rates are set for each individual day. Under this model, the rate for a room type is determined on a daily basis, allowing for different prices on different days. The Rate API updates for PDP will specify rates for each date within the defined range, allowing for precise daily rate management. The below functionalities are supported:

  • Rates *

Occupancy Based Pricing

OBP is a pricing model where rates vary based on the number of occupants in the room. Under this model, the rate changes depending on the number of guests staying in the room. The Rate updates for OBP will include rates for various occupancy levels, providing detailed pricing based on the number of guests. The below functionalities are supported:

  • Rates *

  • Extra Adult Rate

  • Extra Child Rate

Included Occupancy: Included Occupancy value must be set by the property in their SiteMinder Platform.

Maximum Occupancy: The maximum occupancy allowed is 5.

Migrate from PDP to OBP

Existing partners transitioning from Per Day Pricing to Occupancy Based Pricing:

Only adult occupancy rates are supported, indicated by @AgeQualifyingCode="10". Child occupancy rates are not supported.

New Message Structure: All OTA_HotelRateAmountNotifRQ sent to SiteMinder going forward will need to follow the Occupancy-Base Pricing message structure, as laid out in the Rates section of this API, including NumberOfGuests.

Included Occupancy: Included Occupancy value must be set by the property, for all room rates, in their SiteMinder Platform.

Reservations

Reservations PULL

SOAP/XML - Allows the PMS to pull reservations, modifications and cancellations from the SiteMinder Platform. These reservations are from the hotel's connected booking channels through the SiteMinder Platform.

  • Reservation (Initial Delivery) *

  • Reservation Multi-Rooms *

  • Reservation Modifications

  • Reservation Cancellations

When mapping extras / services received in the reservation XML, you can use the below suggestions:

  1. Map the ID attribute if present. If not present, find and map the ServiceInventoryCode attribute which will always be present. You can combine this with Point 3.

  2. If mapping ServiceInventoryCode, you can refer to the list here for the most common used codes or ask the hotelier to provide the specific ones that each of their connected channels are using.

  3. You can also create a logic to detect keywords such as Parking, Breakfast, etc... from the <RateDescription><Text>. So if the OTA's/channels are sending the same extra under different codes (EXTRA, MEAL, OTHER, etc...), it should still be matched in your PMS.

Reservations Import

REST/JSON - Allows a PMS to request a flush of all future reservations/modifications for a hotel under that PMS.

  • Reservations with future check-in dates only.

  • Past (historical) reservations already checked-out are not supported.

  • Cancelled reservations are not supported.

Reservations Upload

SOAP/XML - Allows the PMS to push reservations, modifications and cancellations to SiteMinder.

When a reservation is created, modified, or canceled in the PMS, the PMS must push these reservation messages to SiteMinder's reservation web service endpoint. SiteMinder stores these reservations in pre-allocated areas specific to the PMS partner and hotel. These reservations then become available for delivery to application partners via the Apps API, enabling them to offer value-added solutions.

Scenarios for Reservation Delivery from PMS Applications:

  1. Successful Delivery

    • If the OTA_HotelResNotifRQ message is successfully delivered by the PMS, the SiteMinder web service endpoint will respond with an OTA_HotelResNotifRS Success message.

    • This success message includes the Hotel System Confirmation ID.

  2. Error in Delivery

    • If the OTA_HotelResNotifRQ message encounters an error, the SiteMinder web service endpoint will respond with an OTA_HotelResNotifRS Error message.

    • This message includes an error string describing the issue.

    • The reservation must be retained in the PMS's retry cycle and resent after resolving the error.

    • If the retry cycle expires, the resend process may need to be triggered manually.

  3. Connectivity Issues

    • If the OTA_HotelResNotifRQ message cannot be delivered due to network outages or similar connectivity problems, the reservation must be retained in the PMS's retry cycle.

    • The message should be resent once connectivity is restored.

    • If the retry cycle expires, the resend process may need to be triggered manually.

Payment Transaction Record

SOAP/XML - A one-way API that allows a PMS to retrieve reservation payment transaction data. These payment transactions are payments taken against a reservation via SiteMinder's Pay product.

Last updated

Was this helpful?