Integration Requirements Guidelines
In accordance with the API Services Terms of Use Agreement signed by the PMS partner before development has commenced, these guidelines are in place to ensure efficient and proper use of the SMX for PMS API.
The following Integration Requirements must be adhered to by all PMS' that have or wish to have an interface to SiteMinder Exchange for Publishers.
Failure to follow these guidelines could jeopardise the PMS interface and, if no action is taken by the PMS provider to rectify non-compliance within 3 months from notification, SiteMinder reserves the right to disable the interface till such corrections have taken place.
Please note, however, that if the non-compliance of the PMS puts the performance to the whole SiteMinder production environment at risk, SiteMinder reserves the right to disable the interface immediately.
...
EchoTokens
EchoTokens are essential for all requests made over SiteMinder Exchange as per the following link - EchoToken, Timestamp and POS.
NOTE: Please ensure that you implement EchoTokens that are as 'unique' as possible to ensure that log trawling for troubleshooting purposes on either side is quick and efficient. Implementing GUIDs are recommended and more information about GUID can be found - http://en.wikipedia.org/wiki/Globally_unique_identifier.
File Upload Size
Uploaded messages must not be larger than 2MB (uncompressed)
Error Handling / Hotelier Error Awareness
It is expected that your PMS has a robust error handling process whereby errors can be queued and resent.
GDPR - General Data Protection Regulation
We require you to implement the elements @ShareAllMarketInd and @ShareAllOptOutInd in the guest information you send under ResGuest Profiles and ResGlobalInfo Profiles. The SMX Applications can use the above fields to identify guests who do not wish to receive any communication and also take necessary guest data anonymization action on their side.
Reservation Upload - Minimum Recommended Content
The minimum Recommended content reflects the minimum amount of data that needs to be provided in order to meet the critical data required by all types of applications (Minimum Recommended Content XML Sample).
Element | Attribute | Occurrence | Comments |
---|---|---|---|
OTA_HotelResNotifRQ | Mandatory | ||
@Version | Mandatory | ||
@EchoToken | Mandatory | ||
@TimeStamp | Mandatory | ||
OTA_HotelResNotifRQ / HotelReservations / HotelReservation | Recommended | ||
@ResStatus | Mandatory | ||
@CreateDateTime | Mandatory | ||
@LastModifyDateTime | Mandatory | Mandatory if a message relating to this reservation has already been uploaded. | |
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / POS / Source / RequestorID | Mandatory | ||
@ID | Mandatory | ||
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / POS / Source / BookingChannel | Recommended | ||
@Type | Recommended | ||
@Primary | Recommended | ||
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / POS / Source / CompanyName | Recommended | ||
@Code | Recommended | ||
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / UniqueID | Mandatory | ||
@ID | Mandatory | ||
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays | Mandatory | ||
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay | Recommended | ||
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay / RoomTypes / RoomType | Recommended | ||
@RoomType | Recommended | ||
@RoomTypeCode | Recommended | ||
@RoomID | Recommended | ||
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay / RatePlans / RatePlan | Recommended | ||
@RatePlanCode | Recommended | ||
@EffectiveDate | Recommended | ||
@ExpireDate | Recommended | ||
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay / RoomRates / RoomRate | Recommended | ||
@RoomID | Recommended | ||
@RoomTypeCode | Recommended | ||
@RatePlanCode | Recommended | ||
@EffectiveDate | Recommended | ||
@ExpireDate | Recommended | ||
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay / RoomRates / RoomRate / Rates / Rate | Recommended | ||
@EffectiveDate | Recommended | ||
@ExpireDate | Recommended | ||
@UnitMultiplier | Recommended | ||
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay / RoomRates / RoomRate / Rates / Rate / Total | Recommended | ||
@AmountBeforeTax | Recommended | ||
@AmountAfterTax | Recommended | ||
@CurrencyCode | Recommended | ||
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay / GuestCounts / GuestCount | Recommended | ||
@AgeQualifyingCode | Recommended | ||
@Count | Recommended | ||
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay / TimeSpan | Mandatory | ||
@Start | Mandatory | ||
@End | Mandatory | ||
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay / Total | Recommended | ||
@AmountBeforeTax | Recommended | May be AmountAfterTax | |
@AmountAfterTax | Recommended | May be AmountBeforeTax | |
@CurrencyCode | Recommended | ||
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay / ResGuestRPHs / ResGuestRPH | Recommended | ||
@RPH | Recommended | ||
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest | Recommended | ||
@ResGuestRPH | Recommended | ||
@AgeQualifyingCode | Recommended | ||
@PrimaryIndicator | Recommended | ||
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile | Recommended | ResGuest / Profiles refers to the guest details. The person who is staying in the room. | |
@ShareAllOptOutInd | Recommended | Mandatory for GDPR compliance | |
@ShareAllMarketInd | Recommended | Mandatory for GDPR compliance | |
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile / Customer / PersonName | Recommended | ||
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile / Customer / PersonName / GivenName | Recommended | ||
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile / Customer / PersonName / Surname | Recommended | ||
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile / Customer / Email | Recommended | ||
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGlobalInfo | Recommended | ||
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGlobalInfo / GuestCounts / GuestCount | Mandatory | ||
@AgeQualifyingCode | Recommended | ||
@Count | Recommended | ||
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGlobalInfo / TimeSpan | Mandatory | ||
@Start | Mandatory | ||
@End | Mandatory | ||
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGlobalInfo / Total | Mandatory | ||
@AmountBeforeTax | Mandatory | May be AmountAfterTax | |
@AmountAfterTax | Mandatory | May be AmountBeforeTax | |
@CurrencyCode | Recommended | ||
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGlobalInfo / HotelReservationIDs / HotelReservationID | Recommended | ||
@ResID_Value | Recommended | ||
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGlobalInfo / Profiles / ProfileInfo / Profile | Recommended | ResGlobalInfo / Profiles refers to the customer details. The person, company or travel agent who has made the reservation. | |
@ShareAllOptOutInd | Recommended | Mandatory for GDPR compliance | |
@ShareAllMarketInd | Recommended | Mandatory for GDPR compliance | |
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGlobalInfo / Profiles / ProfileInfo / Profile / Customer / PersonName | Recommended | ||
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGlobalInfo / Profiles / ProfileInfo / Profile / Customer / PersonName / GivenName | Recommended | ||
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGlobalInfo / Profiles / ProfileInfo / Profile / Customer / PersonName / Surname | Recommended | ||
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGlobalInfo / Profiles / ProfileInfo / Profile / Customer / Email | Recommended | ||
OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGlobalInfo / BasicPropertyInfo | Mandatory | ||
@HotelCode | Mandatory |