API Reference (Transaction Record)
Message Exchange Workflow
SM_HotelResPaymentReadRQ
- request sent by PMS to pull undelivered payment transactions for a hotel.SM_HotelResPaymentReadRS
- response sent by SiteMinder with a list of undelivered payment transactions.SM_HotelResPaymentResultRQ
- request sent by PMS to confirm after processing and storing the payment transaction in the PMS.SM_HotelResPaymentResultRS
- response sent by SiteMinder.
SM_HotelResPaymentReadRQ
The PMS should retrieve payment transactions every 2 to 5 minutes for each hotel. You can opt for a less frequent pull if preferred.
Example
Specification
SM_HotelResPaymentReadRQ
Element
1
Root element for the request.
@xmlns
String
1
Defines the XML namespace for the request. Will be set to http://www.opentravel.org/OTA/2003/05
@EchoToken
String
1
Unique identifier for the request, used to match requests and responses.
@TimeStamp
DateTime
1
Time when the request was generated.
@Version
Decimal
1
Specifies the API version. Must be set to 1.0
.
POS / Source / RequestorID
1
This identifies the system which is sending the reservation. This element must appear in the first Source element.
@Type
1
Fixed at 22
(ESRP)
@ID
1
The ID used will be agreed by the trading partners and remain the same throughout the messages
SelectionCriteria
1
@HotelCode
0..1
As recognised by pmsXchange.
@SelectionType
1
Must be "Undelivered
"
SM_HotelResPaymentReadRS
The PMS receives this response from SiteMinder containing a list of undelivered Payment transactions. The PMS must push these payment transactions to a queue or event stream for offline processing.
Examples
Specification
SM_HotelResPaymentReadRS
Element
1
Root element for the request.
@xmlns
String
1
Defines the XML namespace for the request. Will be set to http://www.opentravel.org/OTA/2003/05
@EchoToken
String
1
Unique identifier for the request, used to match requests and responses.
@TimeStamp
DateTime
1
Time when the request was generated.
@Version
Decimal
1
Specifies the API version. Must be set to 1.0
.
HotelResPaymentList
1
List of HotelResPayments
HotelResPayment
0..n
HotelResPayment data
@HotelCode
1
as recognised by pmsXchange
@TransactionID
1
Transaction Identifier
@CreateDateTime
1
Transaction Create timestamp
HotelResPayment/UniqueID
2
@ID
String
1
Reservation Identifier
@Type
Integer
1
14
and 34
HotelResPayment/PaymentInfo
1
@PaymentTransactionTypeCode
1
@PaymentType
1
Identifies the payment type
5
- Credit Card6
- Debit Card46
- Online Payment
@Remark
0..1
Card Based: Open Notes/Remarks
Non-Card Based: Will include the payment provider used.
@PaymentRef
0..1
Payment reference (ie Paypal reference)
@ChargeTypeCode
1
Code
Description
RM
Room
FD
Food/Beverage
OT
Other
EX
Stay Extras
PaymentInfo/PaymentCard
0..1
Card Based Payment
@CardCode
1
OTA Payment Card Provider Code
@CardType
1
OTA Card Type
1
- Credit
2
- Debit
@ExpireDate
1
MMYY format card expire date
@Mask
1
Masked CC number
@CardHolderName
1
Name of card holder
PaymentInfo\PaymentAmount
1
Payment Amount container
@Amount
1
Transaction amount
@CurrencyCode
1
Currency Code
@Due
0..1
Amount outstanding
SM_HotelResPaymentResultRQ
Due to the way payments are processed in SiteMinder, you'll now need to track an additional UniqueID to link payments to reservations.
A new UniqueID of Type="34" has been introduced. This ID contains the payment context ID, which serves as the booking identifier for the transactions.
UniqueID of Type="34" is unique to the reservation itself, not the reservation message. Therefore, if a single reservation is split into two messages, both will share the same master reference ID.
There’s no change to the existing UniqueID of Type="14", which holds the unique reservation ID known as the SiteMinder ID (e.g., 'BDC-79860526').
Grouping Transactions: The SM_HotelResPaymentReadRS can support multiple payment transactions. However, if payments are processed in a batch rather than individually, it’s important to note that each SM_HotelResPaymentResultRQ must include either a Success or an Errors element.
If multiple transactions are processed and both success and error messages need to be returned, you will need to send two separate SM_HotelResPaymentResultRQ requests: one for the Success element with the IDs of the successfully processed transactions, and another for the Errors element with the IDs of the transactions that failed.
Examples
Specification
SM_HotelResPaymentResultRQ
Element
1
Root element for the request.
@xmlns
String
1
Defines the XML namespace for the request. Will be set to http://www.opentravel.org/OTA/2003/05
@EchoToken
String
1
Unique identifier for the request, used to match requests and responses.
@TimeStamp
DateTime
1
Time when the request was generated.
@Version
Decimal
1
Specifies the API version. Must be set to 1.0
.
HotelResPaymentResult
0..n
@HotelCode
1
As recognised by pmsXchange
@TransactionID
1
Transaction Identifier
HotelResPaymentResult/UniqueID
2..3
@ID
1
Reservation Identifier
@Type
1
14
and 34
40
if Success
Success
0..1
Present if successfully stored and processed
Errors
0..1
Present If unsuccessfully processed
Error
1
Mandatory if Error present. Text can contain a human readable description of the error
SM_HotelResPaymentResultRS
SiteMinder will respond with a Success message and will internally mark the payment transaction as either successfully delivered or delivered with an error. In both scenarios, the transaction will not be included in future requests for undelivered payment transactions.
Example
Specification
SM_HotelResPaymentResultRS
Element
1
Root element for the request.
@EchoToken
String
1
Unique identifier for the request, used to match requests and responses.
@TimeStamp
DateTime
1
Time when the request was generated.
@Version
Decimal
1
Specifies the API version. Must be set to 1.0
.
Success
0..1
Present if successfully stored and processed
Errors
0..1
Present If unsuccessfully processed
Error
1
Mandatory if Error present. Text can contain a human readable description of the error
Last updated