Example Message Flow

Step 1: Pull undelivered payment transactions for a hotel. 

PMS Sends SM the following request. See SM_HotelResPaymentReadRQ for more details. 

<SM_HotelResPaymentReadRQ EchoToken="123e4567-e89b-12d3-a456-426614174000" TimeStamp="2021-08-01T09:30:47+08:00" Version="1.0"> <POS> <Source> <RequestorID Type="22" ID="PMS1"/> </Source> </POS> <SelectionCriteria HotelCode="ABCD13245" SelectionType="Undelivered"/> </SM_HotelResPaymentReadRQ>

 

PMS Receives the following response from SM containing a list of undelivered Payment transactions. See PaymentInfo Detail for more details. 

<SM_HotelResPaymentReadRS EchoToken="123e4567-e89b-12d3-a456-426614174000" TimeStamp="2021-08-01T09:30:47+08:00" Version="1.0"> <HotelResPaymentList> <HotelResPayment TransactionID="200098" HotelCode="ABCD13245"> <UniqueID ID="BDC-79860526" Type="14"/> <UniqueID ID="7223a92-d988-46b8-8476-3319285af8a2" Type="34"/> <PaymentInfo PaymentTransactionTypeCode="charge" PaymentType="5" Remark="" ChargeTypeCode="RM"> <PaymentCard CardCode="VI" CardType="1" ExpireDate="1020" Mask="xxxxxxxx2257" CardHolderName="Visa Card HolderName"/> <PaymentAmount Amount="200.20" CurrencyCode="AUD"/> </PaymentInfo> </HotelResPayment> <!-- Additional Payment Transactions --> <HotelResPayment TransactionID="200099" HotelCode="ABCD13245"> <!-- Payment Transaction Details--> </HotelResPayment> <HotelResPayment TransactionID="200100" HotelCode="ABCD13245"> <!-- Payment Transaction Details--> </HotelResPayment> </HotelResPaymentList> </SM_HotelResPaymentReadRS>


Step 2: The PMS needs to push these payment transactions on to a queue or event stream of some sort to be processed offline by the PMS. 

Step 3: Once a payment transaction has been processed and stored by the PMS. The PMS will send a confirmation request to SM. Using the TransactionID and UniqueID elements from the transaction to identify which transaction and reservation you are confirming delivery for. 

See SM_HotelResPaymentResultRQ for more details 

<SM_HotelResPaymentResultRQ EchoToken="123e4567-e89b-12d3-a456-426614174000" TimeStamp="2021-08-01T09:30:47+08:00" Version="1.0"> <HotelResPaymentResult TransactionID="200098" HotelCode="ABDGFC9899"> <UniqueID ID="BDC-79860526" Type="14"/> <!-- Reservation Id--> <UniqueID ID="7223a92-d988-46b8-8476-3319285af8a2" Type="34"/> <!-- Master Res id --> <UniqueID ID="077887-200098" Type="40"/> <!-- Delivery Confirmation Id --> </HotelResPaymentResult> <Success/> </SM_HotelResPaymentResultRQ>

Or in the case of an error (such as the reservation not being found in the PMS)

SM will then respond with a simple success message and internally mark the payment transaction as either successfully delivered or delivered with error. In both cases the transaction will not be included in further requests for undelivered payment transactions. See SM_HotelResPaymentResultRS