SiteMinder APIs
Help CentrePartner ContactsTest Extranet LoginBecome a SiteMinder Partner
  • Hub
  • Quickstart
  • Integration Process
  • CHANNELS
    • Introduction
      • SiteConnect
        • Getting Started
        • Developer Guide
          • Integration Requirements
          • Message Structure
          • Error Handling
        • API Reference
          • Rooms and Rates
          • Availability and Restrictions
          • Rates
          • Reservations
            • Reservation XML Sample
        • Testing and Certification
        • Changelog
        • FAQ
      • Channels Plus
        • Getting Started
        • Developer Guide
          • Partner Portal
          • Deals
          • Invoicing: Gross vs. Net
        • API Reference
          • Properties
          • Property
          • Lock Reservation
          • Confirm Reservation
          • Modify Reservation
          • Cancel Reservation
        • Testing and Certification
        • Swagger
        • Changelog
        • FAQ
  • PMS / RMS
    • Introduction
      • pmsXchange
        • Getting Started
        • Developer Guide
          • Integration Requirements
          • Message Structure
          • Error Handling
        • API Reference
          • Rooms and Rates
          • Availability and Restrictions
          • Rates
          • Reservations
            • Reservations PULL
            • Reservations Import
            • Reservations Upload
              • Reservation Types
            • Payment Transaction Record
            • Credit Card Tokenization
            • Reservations XML Samples
              • Reservations PULL Samples
              • Reservations Upload Samples
        • Testing and Certification
        • Changelog
        • FAQ
  • APPS
    • Introduction
      • SiteMinder Exchange
        • Getting Started
        • Developer Guide
          • Integration Requirements
          • Message Structure
          • Error Handling
        • API Reference
          • Availability and Rates
            • Publishers
            • Hotels
            • RoomTypes
            • RatePlans
            • Availability
            • Rates
            • Models
            • Response Samples
              • Publishers Sample
              • Hotels Sample
              • RoomTypes Samples
              • RatePlans Samples
              • Availability Samples
              • Rates Sample
            • ARI 1-Way Guidelines
          • Reservations
            • Maximum Content Sample
            • Minimum Content Sample
        • Testing and Certification
        • Activation & Deactivation Process for Hotels
          • Activation Process for Hotels
          • Activation Form Parameterisation
          • Deactivation Process for Hotels
        • Changelog
          • Reservations API Changelog
          • ARI API Changelog
        • FAQ
  • Additional Resources
    • Reference Tables
      • Booking Agent Codes
      • Document Type Code (DOC)
      • Error Codes (ERR)
      • Error Warning Types (EWT)
      • Fee Tax Type (FTT)
      • Handling HTTP 500
      • Meal Plan Type (MPT)
      • OpenTravel Codes List
      • Payment Card Provider Codes
      • Service and Extra Charge
      • Strong Customer Authentication Codes
      • Test Credit Cards
    • Glossary
    • FAQ
Powered by GitBook
On this page
  • Guidelines
  • Application General
  • SOAP Message
  • Content-Type
  • File Upload Size
  • SSL/TLS
  • API General
  • EchoTokens
  • TimeStamp
  • Line Spacing

Was this helpful?

  1. PMS / RMS
  2. Introduction
  3. pmsXchange
  4. Developer Guide

Integration Requirements

Guidelines

As outlined in the API Services Terms of Use Agreement, these guidelines ensure the efficient and proper use of the pmsXchange API.

All PMS/RMS/CRS that integrate with SiteMinder must adhere to the following requirements. PMS/RMS/CRS with existing integrations may need to update their setup to comply. Due to the growing number of PMS/RMS/CRS installations, SiteMinder can no longer accommodate exceptions.

Failure to comply with these guidelines may result in the deactivation of the PMS interface. If non-compliance is not resolved within three months of notification, SiteMinder reserves the right to disable the interface until corrections are made. In cases where non-compliance poses a risk to SiteMinder's production environment, the interface may be disabled immediately.

Application General

SOAP Message

All SOAP messages communication between SiteMinder and the PMS/RMS/CRS must be transmitted over secure HTTP (HTTPS). These messages include a SOAP Security header for authentication and a SOAP Body containing the OTA message. The communication operates through synchronous request/response pairs, where each message is considered atomic—processed entirely or not at all by the Web Service.

Content-Type

All SOAP XML requests to SiteMinder must have a Content-Type of 'text/xml; charset=utf-8'. Other Content-Types will not be accepted.

File Upload Size

Uploaded messages must not be larger than 2MB (uncompressed). Messages received that are greater than this size will not be processed and a soap fault will be returned. Messages larger than 2MB will need to be broken down into smaller messages or the updates bundled more effectively.

SSL/TLS

pmsXchange API supports TLSv1.2


API General

EchoTokens

EchoTokens are crucial for all requests made over pmsXchange. Each EchoToken must be unique per request to ensure that every request can be individually identified for troubleshooting in both testing and production environments. This token will be returned in the response.

TimeStamp

The TimeStamp format must follow ISO 8601 Date and Time standards. There are two ways to handle time zone offsets:

  • UTC time is indicated by a "Z" at the end (e.g., 2021-11-05T13:15:30Z for UTC time).

  • Local time includes a time zone offset (e.g., 2021-11-05T08:15:30-05:00 for US Eastern Standard Time, which is 5 hours behind UTC).

Line Spacing

All SOAP XML requests to SiteMinder must be minified, containing no line spacing or newline characters. Keeping the XML on a single line helps our support teams extract messages from logs more efficiently.

<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="ed8835ff-6198-4f38-b589-3058397f677c" TimeStamp="2024-07-06T15:27:41+00:00" Version="1.0"><POS><Source><RequestorID Type="22" ID="PMSCODE"/></Source></POS><RateAmountMessages HotelCode="ABC"><RateAmountMessage><StatusApplicationControl InvTypeCode="A1K" RatePlanCode="BAR"/><Rates><Rate CurrencyCode="AUD" Start="2025-03-01" End="2025-03-14" Mon="0" Tue="0" Weds="0" Thur="0" Fri="1" Sat="1" Sun="1"><BaseByGuestAmts><BaseByGuestAmt AmountAfterTax="123.00"/></BaseByGuestAmts></Rate></Rates></RateAmountMessage><RateAmountMessage><StatusApplicationControl InvTypeCode="A1K" RatePlanCode="BAR"/><Rates><Rate CurrencyCode="AUD" Start="2025-03-15" End="2025-03-31" Mon="0" Tue="0" Weds="0" Thur="0" Fri="1" Sat="1" Sun="1"><BaseByGuestAmts><BaseByGuestAmt AmountAfterTax="175.00"/></BaseByGuestAmts></Rate></Rates></RateAmountMessage></RateAmountMessages></OTA_HotelRateAmountNotifRQ>
<OTA_HotelRateAmountNotifRQ
	xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="ed8835ff-6198-4f38-b589-3058397f677c" TimeStamp="2024-07-06T15:27:41+00:00" Version="1.0">
	<POS>
		<Source>
			<RequestorID Type="22" ID="PMSCODE"/>
		</Source>
	</POS>
	<RateAmountMessages HotelCode="ABC">
		<RateAmountMessage>
			<StatusApplicationControl InvTypeCode="A1K" RatePlanCode="BAR"/>
			<Rates>
				<Rate CurrencyCode="AUD" Start="2025-03-01" End="2025-03-14" Mon="0" Tue="0" Weds="0" Thur="0" Fri="1" Sat="1" Sun="1">
					<BaseByGuestAmts>
						<BaseByGuestAmt AmountAfterTax="123.00"/>
					</BaseByGuestAmts>
				</Rate>
			</Rates>
		</RateAmountMessage>
		<RateAmountMessage>
			<StatusApplicationControl InvTypeCode="A1K" RatePlanCode="BAR"/>
			<Rates>
				<Rate CurrencyCode="AUD" Start="2025-03-15" End="2025-03-31" Mon="0" Tue="0" Weds="0" Thur="0" Fri="1" Sat="1" Sun="1">
					<BaseByGuestAmts>
						<BaseByGuestAmt AmountAfterTax="175.00"/>
					</BaseByGuestAmts>
				</Rate>
			</Rates>
		</RateAmountMessage>
	</RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

Last updated 2 months ago

Was this helpful?

Ensure that your EchoTokens are highly unique to facilitate quick and efficient log searching for troubleshooting. Using GUIDs (Globally Unique Identifiers) is recommended. For more information, refer to the guidelines.

Universally Unique Identifier