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
Element / @Attribute | Type | M | Description |
---|---|---|---|
| Element | 1 | Root element for the request. |
| String | 1 | Defines the XML namespace for the request. Will be set to |
| String | 1 | Unique identifier for the request, used to match requests and responses. |
| DateTime | 1 | Time when the request was generated. |
| Decimal | 1 | Specifies the API version. Must be set to |
| 1 | This identifies the system which is sending the reservation. This element must appear in the first Source element. | |
| 1 | Fixed at | |
| 1 | The ID used will be agreed by the trading partners and remain the same throughout the messages | |
| 1 | ||
| 0..1 | As recognised by pmsXchange. | |
| 1 | Must be " |
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
Element / @Attribute | Type | M | Description |
---|---|---|---|
| Element | 1 | Root element for the request. |
| String | 1 | Defines the XML namespace for the request. Will be set to |
| String | 1 | Unique identifier for the request, used to match requests and responses. |
| DateTime | 1 | Time when the request was generated. |
| Decimal | 1 | Specifies the API version. Must be set to |
| 1 | List of HotelResPayments | |
| 0..n | HotelResPayment data | |
| 1 | as recognised by pmsXchange | |
| 1 | Transaction Identifier | |
| 1 | Transaction Create timestamp | |
| 2 | ||
| 1 | Reservation Identifier | |
| 1 |
| |
| 1 | ||
| 1 | ||
| 1 | Identifies the payment type
| |
| 0..1 | Card Based: Open Notes/Remarks Non-Card Based: Will include the payment provider used. | |
| 0..1 | Payment reference (ie Paypal reference) | |
| 1 | ||
Code | Description | ||
RM | Room | ||
FD | Food/Beverage | ||
OT | Other | ||
EX | Stay Extras | ||
| 0..1 | Card Based Payment | |
| 1 | OTA Payment Card Provider Code | |
| 1 | OTA Card Type
| |
| 1 | MMYY format card expire date | |
| 1 | Masked CC number | |
| 1 | Name of card holder | |
| 1 | Payment Amount container | |
| 1 | Transaction amount | |
| 1 | Currency Code | |
| 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
Element / @Attribute | Type | M | Description |
---|---|---|---|
| Element | 1 | Root element for the request. |
| String | 1 | Defines the XML namespace for the request. Will be set to |
| String | 1 | Unique identifier for the request, used to match requests and responses. |
| DateTime | 1 | Time when the request was generated. |
| Decimal | 1 | Specifies the API version. Must be set to |
| 0..n | ||
| 1 | As recognised by pmsXchange | |
| 1 | Transaction Identifier | |
| 2..3 | ||
| 1 | Reservation Identifier | |
| 1 |
| |
| 0..1 | Present if successfully stored and processed | |
| 0..1 | Present If unsuccessfully processed | |
| 1 | Mandatory if Error present. Text can contain a human readable description of the error | |
| 1 | Any code from Error Codes (ERR) | |
| 1 | Any type from Error Warning Types (EWT) |
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
Element / @Attribute | Type | M | Description |
---|---|---|---|
| Element | 1 | Root element for the request. |
| String | 1 | Unique identifier for the request, used to match requests and responses. |
| DateTime | 1 | Time when the request was generated. |
| Decimal | 1 | Specifies the API version. Must be set to |
| 0..1 | Present if successfully stored and processed | |
| 0..1 | Present If unsuccessfully processed | |
| 1 | Mandatory if Error present. Text can contain a human readable description of the error | |
| 1 | Any code from Error Codes (ERR) | |
| 1 | Any type from Error Warning Types (EWT) |
Last updated