SiteMinder APIs
Help CentrePartner ContactsTest Extranet LoginBecome a SiteMinder Partner
  • Hub
  • Quickstart
  • Integration Process
  • CHANNELS
    • Introduction
      • SiteConnect
        • Getting Started
        • Developer Guide
          • Integration Requirements
          • Message Structure
          • Error Handling
        • API Reference
          • Rooms and Rates
          • Availability and Restrictions
          • Rates
          • Reservations
            • Reservation XML Sample
        • Testing and Certification
        • Changelog
        • FAQ
      • Channels Plus
        • Getting Started
        • Developer Guide
          • Partner Portal
          • Deals
          • Invoicing: Gross vs. Net
        • API Reference
          • Properties
          • Property
          • Lock Reservation
          • Confirm Reservation
          • Modify Reservation
          • Cancel Reservation
        • Testing and Certification
        • Swagger
        • Changelog
        • FAQ
  • PMS / RMS
    • Introduction
      • pmsXchange
        • Getting Started
        • Developer Guide
          • Integration Requirements
          • Message Structure
          • Error Handling
        • API Reference
          • Rooms and Rates
          • Availability and Restrictions
          • Rates
          • Reservations
            • Reservations PULL
            • Reservations Import
            • Reservations Upload
              • Reservation Types
            • Payment Transaction Record
            • Credit Card Tokenization
            • Reservations XML Samples
              • Reservations PULL Samples
              • Reservations Upload Samples
        • Testing and Certification
        • Changelog
        • FAQ
  • APPS
    • Introduction
      • SiteMinder Exchange
        • Getting Started
        • Developer Guide
          • Integration Requirements
          • Message Structure
          • Error Handling
        • API Reference
          • Availability and Rates
            • Publishers
            • Hotels
            • RoomTypes
            • RatePlans
            • Availability
            • Rates
            • Models
            • Response Samples
              • Publishers Sample
              • Hotels Sample
              • RoomTypes Samples
              • RatePlans Samples
              • Availability Samples
              • Rates Sample
            • ARI 1-Way Guidelines
          • Reservations
            • Maximum Content Sample
            • Minimum Content Sample
        • Testing and Certification
        • Activation & Deactivation Process for Hotels
          • Activation Process for Hotels
          • Activation Form Parameterisation
          • Deactivation Process for Hotels
        • Changelog
          • Reservations API Changelog
          • ARI API Changelog
        • FAQ
  • Additional Resources
    • Reference Tables
      • Booking Agent Codes
      • Document Type Code (DOC)
      • Error Codes (ERR)
      • Error Warning Types (EWT)
      • Fee Tax Type (FTT)
      • Handling HTTP 500
      • Meal Plan Type (MPT)
      • OpenTravel Codes List
      • Payment Card Provider Codes
      • Service and Extra Charge
      • Strong Customer Authentication Codes
      • Test Credit Cards
    • Glossary
    • FAQ
Powered by GitBook
On this page
  • SM_HotelResPaymentReadRQ
  • Example
  • Specification
  • SM_HotelResPaymentReadRS
  • Examples
  • Specification
  • SM_HotelResPaymentResultRQ
  • Examples
  • Specification
  • SM_HotelResPaymentResultRS
  • Example
  • Specification

Was this helpful?

  1. PMS / RMS
  2. Introduction
  3. pmsXchange
  4. API Reference
  5. Reservations

Payment 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

<SM_HotelResPaymentReadRQ EchoToken="123e4567-e89b-12d3-a456-426614174000" TimeStamp="2025-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>

Specification

Element / @Attribute
Type
M
Description

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 SiteMinder.

@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

<SM_HotelResPaymentReadRS EchoToken="123e4567-e89b-12d3-a456-426614174000"  TimeStamp="2025-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" CreateDateTime="2021-08-01T08:49:34.000+0000" HotelCode="ABCD13245">
			<!-- Payment Transaction Details-->
		</HotelResPayment>
	</HotelResPaymentList>
</SM_HotelResPaymentReadRS>
<SM_HotelResPaymentReadRS EchoToken="123e4567-e89b-12d3-a456-426614174000"  TimeStamp="2025-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="46" Remark="alipay" ChargeTypeCode="RM">
				<PaymentAmount Amount="200.20" CurrencyCode="AUD" />
			</PaymentInfo>
		</HotelResPayment>
		<!-- Additional Payment Transactions -->
		<HotelResPayment TransactionID="200099" CreateDateTime="2021-08-01T08:49:34.000+0000" HotelCode="ABCD13245">
			<!-- Payment Transaction Details-->
		</HotelResPayment>
	</HotelResPaymentList>
</SM_HotelResPaymentReadRS>

Specification

Element / @Attribute
Type
M
Description

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 SiteMinder

@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

charge refund reserve

@PaymentType

1

Identifies the payment type

  • 5 - Credit Card

  • 6 - Debit Card

  • 46 - 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

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

<SM_HotelResPaymentResultRQ EchoToken="123e4567-e89b-12d3-a456-426614174000" TimeStamp="2025-08-01T09:30:47+08:00" Version="1.0">
	<HotelResPaymentResult TransactionID="200098" HotelCode="ABDGFC9899">
		<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 -->
	</HotelResPaymentResult>
	<Success/>
</SM_HotelResPaymentResultRQ>
<SM_HotelResPaymentResultRQ EchoToken="123e4567-e89b-12d3-a456-426614174000" TimeStamp="2025-08-01T09:30:47+08:00" Version="1.0">
   <HotelResPaymentResult TransactionID="200098" HotelCode="ABDGFC9899">
        <UniqueID ID="BDC-79860526" Type="14" />
        <UniqueID ID="74a63a92-d988-46b8-8476-3319285af8ac" Type="34" />
    </HotelResPaymentResult>
    <Errors>
           <Error Type="12" Code="385">Booking reference not found</Error>
    </Errors>
</SM_HotelResPaymentResultRQ>

Specification

Element / @Attribute
Type
M
Description

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 SiteMinder

@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

@Code

1

@Type

1

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

<SM_HotelResPaymentResultRS EchoToken="123e4567-e89b-12d3-a456-426614174000"  TimeStamp="2025-08-01T09:30:47+08:00" Version="1.0">
    <Success/>
</SM_HotelResPaymentResultRS>

Specification

Element / @Attribute
Type
M
Description

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

@Code

1

@Type

1

Last updated 2 months ago

Was this helpful?

Any code from

Any type from

Any code from

Any type from

Code

Description

RM

Room

FD

Food/Beverage

OT

Other

EX

Stay Extras

Error Codes (ERR)
Error Warning Types (EWT)
Error Codes (ERR)
Error Warning Types (EWT)