Sample XML
Reservation IDs
Because a reservation in Siteminder can be delivered to a PMS as multiple notifications but payments are taken at the master reservation level. You now need to keep track of an extra reservation ID.
So in addition to the exisiting type=14 reservation ID of the reservation notification that was delivered.
This additional type=34 this ID is for the master reservation (this is where payments were taken). This master reservation may have been broken into multiple reservation notifications. IE in the case of a multi room booking. For example one 3 room booking could be split into three 1 room bookings.
The last id is the pms confirmation Id (this is assigned by the PMS and is the unique Id of the transaction in the PMS). This is optional.
<UniqueID ID="BDC-79860526" Type="14" /> <!-- Reservation Id--> <UniqueID ID="74a63a92-d988-46b8-8476-3319285af8ac" Type="34" /> <!-- Master Res id --> <UniqueID ID="077887-200098" Type="40" /> <!-- Delivery Confirmation Id -->
Grouping transactions
While SM_HotelResPaymentResultRQ supports the ability to contain multiple payment transactions. If payment transactions are processed in a batch rather than one by one. Please be aware that a SM_HotelResPaymentResultRQ must contain either a Success or an Errors element. If multiple payment transactions are processed and both a success and an error message need to be returned then two SM_HotelResPaymentResultRQ messages need to be sent. One request containing the Success element and ids for the successfully processed payment transactions and the other request containing the Errors and ids for the payment transactions that failed to process.
SM_HotelResPaymentResultRQ
Element | Number | Description |
SM_HotelResPaymentResultRQ | 1 | Root element |
@Version | 1 | Current Version 1.0 |
@EchoToken | 1 | Globally unique identifier for the request, value will be returned as an EchoToken in the response. |
@TimeStamp | 1 | Time of the transaction in xml schema dateTime format |
SM_HotelResPaymentResultRQ/HotelResPaymentResult | 0..n | HotelResPaymentResult data |
@HotelCode | 1 | Hotel code as recognised by pmsXchange |
@TransactionId | 1 | Transaction Identifier |
SM_HotelResPaymentReadRS/HotelResPaymentList/HotelResPayment/UniqueID | 2..3 | Container for the Reservation Identifiers and Confirmation id. See Unique ID |
@ID | 1 | Reservation Identifier or confirm id |
@Type | 1 | 14, 34 & if success 40 - See UniqueId@Type |
SM_HotelResPaymentResultRQ/Success | 0..1 | Present If successfully stored and processed |
SM_HotelResPaymentResultRQ/Errors | 0..1 | Present If unsuccessfully processed See Error Handling |
SM_HotelResPaymentResultRQ/Errors/Error | 1 | Mandatory if Error present. Text can contain a human readable description of the error |
@Code | 1 | Mandatory if Error present. Any type from the OTA code table for 'Error Warning Type (EWT)' can be used. |
@Type | 1 | Mandatory if Error present. Any code from the OTA code table for 'Error Codes (ERR)' can be used. |
SM_HotelResPaymentResultRS
Element | Number | Description |
SM_HotelResPaymentResultRS | 1 | Root element |
@Version | 1 | Current Version 1.0 |
@EchoToken | 1 | Globally unique identifier for the request, value will be returned as an EchoToken in the response. |
@TimeStamp | 1 | Time of the transaction in xml schema dateTime format |
SM_HotelResPaymentResultRS/Success | 0..1 | Present If successfully stored and processed |
SM_HotelResPaymentResultRS/Errors | 0..1 | Present If unsuccessfully processed See Error Handling |
SM_HotelResPaymentResultRS/Errors/Error | 1 | Mandatory if Error present. Text can contain a human readable description of the error |
@Code | 1 | Mandatory if Error present. Any type from the OTA code table for 'Error Warning Type (EWT)' can be used. |
@Type | 1 | Mandatory if Error present. Any code from the OTA code table for 'Error Codes (ERR)' can be used. |