Reservations PULL
Message Exchange Workflow
OTA_ReadRQ
- request sent by PMS to pull undelivered reservations, modifications and cancellations.OTA_ResRetrieveRS
- response sent by SiteMinder with a list of reservations, modifications and cancellations.OTA_NotifReportRQ
- request sent by PMS to confirm after processing the reservations.OTA_NotifReportRS
- response sent by SiteMinder to acknowledge receipt.
OTA_ReadRQ
The PMS should pull reservations every 2 to 5 minutes. This means that reservations, modifications, and cancellations should not be requested more frequently than every 2 minutes (e.g., not every 1 minute) and should not be requested less frequently than every 5 minutes (e.g., not every 10 minutes).
This message will return all undelivered reservations, modifications and cancellations for the hotel with HotelCode ABC
OTA_ReadRQ
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
Element
1
PMS Code assigned by SiteMinder and remains the same throughout the messages
@Type
Integer
1
Fixed at 22
(ESRP)
@ID
String
1
ReadRequests
Element
1
ReadRequests / HotelReadRequest
Element
1
@HotelCode
String
0..1
Hotel code as recognised by SiteMinder. If omitted, all reservations for the PMS will be returned. Note: This attribute is only optional for central property management systems. It is mandatory for on-site systems.
SelectionCriteria
Element
1
@SelectionType
String
1
Must be "Undelivered
"
@ResStatus
Enumeration
0..1
Specifies the booking status:
Commit
Modify
Cancel
OTA_ResRetrieveRS
The message consists of a list of HotelReservation elements. The content may vary since SiteMinder delivers reservations from multiple upstream sources (Booking Channels), many of which have significantly different reservation formats and data structures.
In general, the following applies to HotelReservations:
A HotelReservation represents a single reservation made with an upstream system.
A HotelReservation can include one or more RoomStays, one for each booked room type.
A RoomStay signifies a stay in a specific room type over a continuous timespan; non-continuous stays (split stays) will result in multiple RoomStays.
A HotelReservation may have zero, one, or multiple ResGuests associated with either the RoomStay they occupy or the reservation itself.
The <Success/>
element indicates a successful response. In this example, two new reservations are returned. The SiteMinder reservation identifiers are WTF-12345
and HTL-67890
, with the corresponding message IDs being isuokfr1pyc2ntest7
and pbp6s5j08test9n0zi
.
HotelReservation
ReservationsList
Element
0..1
Contains a list of retrieved reservations.
HotelReservation
Element
1..n
Contains the specific reservation information.
@CreateDateTime
DateTime
1
Date and time when the reservation was first made. Must be set when ResStatus
is Book
.
@LastModifyDateTime
DateTime
0..1
Date and time when the reservation was last modified. Must be set when ResStatus
is Modify
or Cancel
.
UniqueID
Element
1..2
Unique identifier of the reservation in SiteMinder.
- The first UniqueID Type="14"
is the unique identifier for the entire reservation and through any subsequent modifications or cancellations.
The second UniqueID Type="16"
with ID_Context="MESSAGE_UNIQUE_ID" is the unique id for this message. This identifier should be used to confirm the message once processed.
@Type
Integer
1
Type="14":
Identifier for the reservation in Siteminder.
Type="16":
Identifier for the message transferring the reservation.
@ID
String
1
SiteMinder reservation ID.
Refer to the HotelReservationID
attribute for the booking source/channel reservation ID.
@ID_Context
String
0..1
Present for the second UniqueID and always will be "MESSAGE_UNIQUE_ID
"
Source
POS
Element
1
Contains source details.
Source
Element
1..2
Contains BookingChannel details.
RequestorID
Element
1
Only present in the first Source element. Identifies the system sending the reservation.
@Type
Integer
1
Must be set to 22
(ESRP).
@ID
String
1
Value is always 'SITEMINDER
'
BookingChannel
Element
1
Contains booking channel information.
@Primary
Boolean
1
true
for the primary booking channel in the first Source element.
false
in the second Source element, if present.
@Type
Integer
1
Always '7
' for 'Internet'
CompanyName
Element
1
Name of the booking channel.
@Code
String
0..1
RoomStays
RoomStays
Element
1
Contains details of all room stays.
RoomStay
Element
1..n
One instance of RoomStay
per room type booked.
@PromotionCode
String
0..1
If configured, this is the promotion code indicating, for instance, a specific marketing campaign (not the rate code).
@MarketCode
String
0..1
A code to match a market segment for the booking.
@SourceOfBusiness
String
0..1
Specifies where the business came from e.g. radio, newspaper ad, etc.
RoomTypes
RoomTypes
Element
0..1
Provides more information about the room type for this room stay.
RoomType
Element
0..1
Contains specific information about the room type.
@RoomTypeCode
String
0..1
Code of the room booked.
@NonSmoking
Boolean
0..1
Provided by the source channel
@Configuration
String
0..1
Information about the bedding configuration
RoomDescription
Element
1
Description of the room.
@Text
String
1
Name of the room.
AdditionalDetails
Element
0..n
Additional room information provided by the source channel.
AdditionalDetail
Element
0..n
@Type
Integer
1
43: Meal plan information 15: Promotion information
@Code
String
0..1
Reference code provided by the source channel
DetailDescription
Element
0..1
@Text
String
1
Details provided by the source channel
RatePlans
RatePlans
Element
0..1
Provides more information about the rate plan for this room stay.
RatePlan
Element
0..n
Contains details about the specific rate plan.
@RatePlanCode
String
0..1
Code of the rate booked.
@RatePlanName
String
0..1
@EffectiveDate
1
The effective date of the RatePlan
@ExpireDate
Date
1
The expire date for a RatePlan, this should be considered an exclusive date, the date for which the current rate plan information is no longer valid.
RatePlanDescription
Element
0..1
Description of the rate plan.
@Text
String
0..1
AdditionalDetails
Element
0..n
Additional rate plan information provided by the source channel.
AdditionalDetail
Element
0..n
@Type
Integer
1
43: Meal plan information 15: Promotion information
@Code
String
0..1
Reference code provided by the source channel
DetailDescription
Element
0..1
@Text
String
1
Details provided by the source channel
RoomRates
RoomRates
Element
1
A RoomStay
can include multiple RoomRate
, each containing several rates. This occurs when a single room is booked, but different rate plans apply across the duration of the stay.
RoomRate
Element
1..n
One RoomRate per RoomStay. Multiple rates are listed under the RoomRate.
@RoomTypeCode
String
1
Code of the room booked.
@RatePlanCode
String
1
Code of the rate plan booked.
@NumberOfUnits
Integer
1
Always 1
. Each room will be listed in it's own RoomStay element.
Rates
Element
0..1
Rate will contain a timespan for which a rate will apply for a room type. Multiple instances of Rate will be sent if rate changes apply.
Rate
Element
1..n
Contains the daily rate information which matches the entire date range specified in the RoomStay/TimeSpan
element.
@UnitMultiplier
Integer
1
Equal to the number of days between EffectiveDate
and ExpireDate
. Multiply with the UnitMultiplier
to get the total cost for the date span.
@RateTimeUnit
String
1
Always Day
.
@EffectiveDate
Date
1
Starting date of the rate. This date is inclusive.
@ExpireDate
Date
1
First day after the applicable period. This date is exclusive.
Base
Element
0..1
Base/Gross per-day amount charged for the room.
@AmountBeforeTax
Decimal
0..1
The unit amount before tax
@AmountAfterTax
Decimal
0..1
The unit amount after tax
@CurrencyCode
String
0..1
Use ISO 4217 currency codes.
Taxes
Element
0..1
Contains details of the taxes applied.
@Amount
0..1
The unit tax amount
Tax
Element
0..n
Contains specific tax information.
@Code
String
1
@Amount
Decimal
0..1
Tax amount applied.
@Percentage
0..1
Tax percentage
TaxDescription
0..1
Text description of the tax
@Text
String
1
Total
Element
0..1
Base Rate + any additional occupants and fees/extras. If empty, assume the Base amount equals the Total amount.
NOTE: It is possible that some OTAs do not provide any form of Rate information and as such a RoomRate / Rate / Total cannot be provided in such cases. Currently Hotelbeds (HBD) is a known channel that does not always provide Rate information.
NOTE: Any extras that are to be included in the RoomRate total will be linked through the ServiceRPH node.
@AmountBeforeTax
Decimal
0..1
The total amount before tax
@AmountAfterTax
Decimal
0..1
The total amount after tax
@CurrencyCode
String
1
Use ISO 4217 currency codes.
Taxes
Element
0..1
Contains details of the total taxes applied.
@Amount
Decimal
0..1
The total tax amount
Tax
Element
0..n
Contains specific tax information.
@Code
String
0..1
@Amount
Decimal
0..1
Tax amount applied.
@Percentage
0..1
Tax percentage
TaxDescription
0..1
Text description of the tax
@Text
String
1
ServiceRPHs
Element
0..1
Container for the ServiceRPH
elements.
ServiceRPH
Element
0..n
Links a service to the Service information at the RoomRate
level.
@RPH
Integer
1..n
Links a Service
to the Service information provided at the HotelReservation level (if applicable) to this RoomRate
GuestCounts
GuestCounts
Element
1
Total guest counts for adult, child, and infant. Adult count must always be sent.
GuestCount
Element
0..3
@AgeQualifyingCode
Integer
1
10
= Adult (mandatory)
8
= Child (optional)
7
= Infant (optional)
@Count
Integer
1
Number of guests for this age group.
TimeSpan
TimeSpan
Element
1
Contains the timespan for the RoomStay.
@Start
Date
1
Check-in date.
@End
Date
1
Check-out date. Must be after Start.
RoomStay Total
Total
Element
0..1
The total amount of the RoomStay
.
@AmountBeforeTax
Decimal
0..1
The total amount before tax
@AmountAfterTax
Decimal
0..1
The total amount after tax
@CurrencyCode
String
0..1
Use ISO 4217 currency codes.
Taxes
Element
0..1
Contains details of the taxes applied.
@Amount
Decimal
0..1
The total tax amount
Tax
Element
0..n
Contains specific tax information.
@Code
String
1
@Amount
Decimal
0..1
Amount of the tax/fee transferred.
@Percentage
0..1
Tax percentage
TaxDescription
Element
0..1
Text description of the tax
@Text
String
1
BasicPropertyInfo
BasicPropertyInfo
Element
0..1
@HotelCode
String
1
Identifier for the hotel.
@HotelName
String
0..1
Name of the hotel.
ServiceRPHs
ServiceRPHs
Element
0..1
Container for the ServiceRPH
elements.
ServiceRPH
Element
1..n
Service at the RoomStay
level.
@RPH
Integer
1
Links a Service
to the Service information provided at the HotelReservation level (if applicable).
ResGuestRPHs
ResGuestRPHs
Element
0..1
Container for the ResGuestRPH
elements.
ResGuestRPH
Element
1..n
Container for the RPH
attribute.
@RPH
Integer
1
Comments
Comments
Element
0..1
Contains comment for the RoomStay
.
Comment
Element
1
Holds the actual comment.
Text
Element
1
The content of the comment.
PCI sensitive data is prohibited.
Services
Services
Element
0..1
Contains service details provided to guests.
Service
Element
1..n
Represents a non-room product provided to guests.
@ServiceInventoryCode
String
1
@ID
String
0..1
Reference ID for the extra/service provided by the source booking channel.
@ServiceRPH
Integer
0..1
Links the Service
to a RoomStay
or RatePlan
. ServiceRPH
absence indicates a HotelReservation-level charge.
@Inclusive
Boolean
1
Must be set to TRUE
, as SiteConnect reports totals as inclusive of charges and extras.
@Quantity
Integer
1
Number of units included in the charge. This value does not affect the total amount.
@ID_Context
String
0..1
Always "CHANNEL
"
@Type
Integer
1
Always "18
"
Price
Element
1
Container for pricing details of the service.
Base
Element
0..1
Base amount per unit charged for the service.
@CurrencyCode
String
0..1
Use ISO 4217 currency codes.
@AmountAfterTax
Decimal
0..1
At least one of AmountAfterTax
or AmountBeforeTax
must be set.
@AmountBeforeTax
Decimal
0..1
At least one of AmountAfterTax
or AmountBeforeTax
must be set.
Taxes
Element
0..1
Contains details of the taxes applied.
@Amount
Decimal
0..1
Total taxes amount
Tax
Element
1
Contains specific tax information.
@Code
1
@Percentage
Decimal
0..1
Percentage rate of the applied tax.
@Amount
Decimal
0..1
Tax amount applied.
TaxDescription
Element
0..1
Container for a detailed description of the tax.
Text
Element
1
Text description of the tax.
Total
Element
1
Container for the total amount of the service.
@CurrencyCode
0..1
Use ISO 4217 currency codes.
@AmountAfterTax
Decimal
0..1
At least one of AmountAfterTax
or AmountBeforeTax
must be set.
@AmountBeforeTax
Decimal
0..1
At least one of AmountAfterTax
or AmountBeforeTax
must be set.
Taxes
Element
0..1
Contains details of the taxes applied.
@Amount
Decimal
0..1
Total taxes amount
Tax
Element
1
Contains specific tax information.
@Code
1
@Percentage
Decimal
0..1
Percentage rate of the applied tax.
@Amount
Decimal
0..1
Tax amount applied.
TaxDescription
Element
0..1
Container for a detailed description of the tax.
Text
Element
1
Text description of the tax.
RateDescription
Element
0..1
Container for a description of the rate applied to the service.
Text
Element
1
A text description of the service/extra.
ServiceDetails
Element
0..1
Container for additional service details.
TimeSpan
Element
0..1
Contains the time span for which the service is provided.
@Start
Date
0..1
Start date of service.
@End
Date
0..1
Last date of service.
ResGuests
ResGuests
Element
1
Contains the guests for the reservation.
ResGuest
Element
1..n
Contains the specific guest details.
@ResGuestRPH
Integer
0..1
@PrimaryIndicator
Boolean
0..1
Indicates the primary guest on a reservation:
1
primary guest
0
secondary guests
@Age
Integer
0..1
The age of the guest
@ArrivalTime
Time
0..1
Arrival time of the guest.
Profiles
Element
1
Contains the guest profile information.
ProfileInfo
Element
1
Contains the profile information for the guest.
UniqueID
Element
0..n
Contains profile ids provided by the source channel.
@Type
Integer
1
Always "16
"
@ID
1
The reference identifier for the profile as provided by the source channel
@ID_Context
String
1
CHANNEL
: To specify that this is a channel reference id
Profile
Element
1
Contains detailed customer profile information.
@ProfileType
Integer
1
Must be set to 1
(Customer).
Customer
Element
1
Contains detailed guest information.
PersonName
Element
1
Contains the name information for the guest.
@NamePrefix
String
0..1
Title of the guest. Mr. Mrs. Ms. Miss Dr.
@GivenName
String
1
First name of the guest.
@MiddleName
String
0..1
Middle name of the guest.
@Surname
String
1
Last name of the guest.
Telephone
Element
0..4
Contains telephone information related to the guest.
@PhoneNumber
String
1
Contains the actual number (maximum 32 characters).
@PhoneUseType
Integer
0..1
The type of phone use for example daytime, nighttime, work. If this field is blank this is the primary phone, otherwise PhoneUseType="4" denotes a secondary or nighttime phone
@PhoneTechType
Integer
0..1
The type of phone technology. If not provided it should be assumed as a landline
5
: Mobile
3
: Fax
Email
Element
0..1
Contact email address.
Address
Element
0..1
Address information of the guest.
@AddressLine
String
0..n
Address lines for the guest.
@CityName
String
0..1
City of residence.
@PostalCode
String
0..1
Postal code.
@StateProv
String
0..1
State or province name.
@CountryName
String
0..1
Country name (maximum 64 characters).
CustLoyalty
Element
0..1
Contains loyalty information for the customer.
@ProgramID
String
0..1
Defined membership program name or ID applicable to the program.
@MembershipID
String
0..1
Account identification number for this particular member in this particular program.
@ExpiryDate
Date
0..1
Expiry date for this particular membership record in this particular program.
Document
Element
0..1
Detailed document information for the guest.
@BirthCountry
String
0..1
Birth country of the document holder. Use ISO 3166 A-2 country codes.
@BirthDate
Date
0..1
Indicates the date of birth as indicated in the document. Use ISO 8601 date format.
@BirthPlace
String
0..1
Specifies the birth place of the document holder (e.g., city, state, county, province).
@DocHolderNationality
String
0..1
Country of nationality of the document holder. Use ISO 3166 A-2 country codes.
@DocID
String
1
Unique number assigned by authorities to the document.
@DocIssueAuthority
String
0..1
Indicates the group or association that granted the document.
@DocIssueCountry
String
0..1
Country where the document was issued. Use ISO 3166 A-2 country codes.
@DocIssueLocation
String
0..1
Indicates the location where the document was issued.
@DocIssueStateProv
String
0..1
State or Province where the document was issued.
@DocType
String
1
@EffectiveDate
Date
0..1
Indicates the starting date.
@ExpireDate
Date
0..1
Indicates the ending date.
@Gender
String
0..1
Identifies the gender:
Female
Male
Unknown
DocumentHolderName
Element
0..1
The name of the document holder in unformatted text (Mr. Sam Jones). If no DocumentHolderName
is included, the guest name fields will be assumed as the holder name.
Comments
Element
0..1
Container for extra information about the guest.
Comment
Element
0..1
@Name
String
0..1
Identifier for the comment. Current supported names are:
ArrivalDetails
: Details about the guest's mode of arrival
DepartureDetails
: Details about the guest's mode of departure
Text
Element
1
Guest extra information
ResGlobalInfo
ResGlobalInfo
Element
1
Contains global information about the reservation.
HotelReservationIDs
Element
0..1
Contains the HotelReservationID
.
HotelReservationID
Element
0..3
Reference number/string or PNR as supplied by the booking channel.
If this reservation is linked under an itinerary, the itinerary ID will be supplied as a second HotelReservationID
.
@ResID_Type
String
1
Will be one of the following values:
14
: OTA code for 'Travel Agent PNR'.
26
: OTA code for 'Associated itinerary reservation'.
34
: OTA code for “Master Reference”.
@ResID_Value
String
1
For @ResID_Type 14 this is the actual reference number/string supplied by the booking channel (maximum 64 characters).
For @ResID_Type 26 will be the itinerary identifier for one or more bookings in an itinerary as provided by the source booking channel.
For @ResID_Type 34 this is the reference number/string used as identifier for payment transaction.
ResID_Value could potentially contain special characters such as '/'.
ResComments
Comments
Element
0..1
Contains comment for the reservation.
Comment
Element
1..n
Holds the actual comment.
Text
String
1
Content of the comment.
PCI sensitive data is prohibited.
ReservationTotal
Total
Element
1
Total amount for the reservation. This includes all RoomStays
and any additional fees or charges that apply.
@CurrencyCode
String
1
Use ISO 4217 currency codes.
@AmountBeforeTax
Decimal
0..1
At least one of AmountAfterTax
or AmountBeforeTax
must be set.
@AmountAfterTax
Decimal
0..1
At least one of AmountAfterTax
or AmountBeforeTax
must be set.
Taxes
Element
0..1
Contains details of the taxes applied.
@Amount
Decimal
0..1
Total tax amount
Tax
Element
1
Contains specific tax information.
@Code
String
0..1
@Amount
Decimal
0..1
Tax amount applied.
@Percent
0..1
Tax percentage applied.
@CurrencyCode
String
0..1
Use ISO 4217 currency codes.
Fees
Fees
Element
0..1
Container for added fees/commission
Fee
Element
1..n
@TaxInclusive
String
1
Content of the comment.
PCI sensitive data is prohibited.
@Type
Integer
1
Always 'Inclusive
'
@Code
Integer
1
@Amount
Decimal
0..1
Commission amount
Taxes
Element
0..1
Taxes amount
@Amount
Decimal
0..1
Description
Element
0..1
@Name
String
0..1
Commission
: Commission against the total of the reservation.
Text
Element
0..1
A description of the fee
Guarantee
If the PMS is not PCI compliant, it will not receive credit card information directly. However, you can choose to work with a proxy service provider for credit card tokenization.
Guarantee
Element
0..1
Guarantee provided with the reservation. Used if no deposit is paid for the reservation.
GuaranteesAccepted
Element
1
Contains the details of accepted guarantees.
GuaranteeAccepted
Element
1
Specific details of the accepted guarantee.
PaymentCard
Element
1
Details of the payment card used for the guarantee.
@CardType
String
0..1
Must be set to 1
(Credit Card) or 2
(Debit Card).
@CardCode
String
1
@CardNumber
String
0..1
Actual credit card number.
@ExpireDate
String
0..1
Expiry date of the credit card (format MMyy
).
@MaskedCardNumber
String
0..1
May be used to send a concealed or partial credit card number (e.g. "xxxxxxxxxxxx4444" or "4444").
CardHolderName
Element
0..1
Name of the cardholder.
ThreeDomainSecurity
Element
0..1
Contains 3DS (Three Domain Security) transaction details.
Results
Element
1
Transaction results. IMPORTANT NOTE: SCA / 3DS details will only be provided if received from an SCA / 3DS compatible booking agent.
@ThreeDSVersion
String
1
3DS version used for authentication.
@XID
String
0..1
Transaction identifier resulting from authentication processing.
When ThreeDSVersion
= 1.x.x the transaction identifier MUST be provided in the @XID
attribute.
@DSTransactionID
String
0..1
Unique transaction identifier assigned by the Directory Server (DS) to identify a single transaction.
When ThreeDSVersion
= 2.x.x the transaction identifier MUST be provided in the @DSTransactionID
attribute.
@CAVV
String
0..1
Cardholder Authentication Verification Value (CAVV); Authentication Verification Value (AVV); Universal Cardholder Authentication Field (UCAF)
@ECI
String
1
@PAResStatus
String
0..1
@SignatureVerification
String
0..1
@Enrolled
String
0..1
Comments
Element
0..1
The actual information related to the payment.
Comment
Element
0..1
Text
Element
1
GuaranteeDescription
Element
0..1
Information about the form of guarantee.
Text
Element
1
DepositPayments
DepositPayments
Element
0..1
Deposit provided with the reservation.
GuaranteePayment
Element
1
Contains details of the payment guarantee for the reservation.
AmountPercent
Element
1
Contains the accepted payment methods.
@Amount
Decimal
0..1
The deposit as a currency amount. At least @Amount
or @Percent
will be populated.
@CurrencyCode
String
0..1
Use ISO 4217 currency codes.
@Percent
Integer
0..1
Represents the percentage of the total charge allocated for the deposit, rounded to three decimal places.
If Total/AmountAfterTax
is provided, the percentage will be based on that value. Otherwise, if only AmountBeforeTax
is provided, the percentage will be calculated based on that value.
@TaxInclusive
0..1
Indicates if tax is included in @Amount
Description
Element
0..1
A text description of the deposit
Text
Element
1
Customer / Company / TravelAgent
Profiles
Element
1
Contains the profile information.
ProfileInfo
Element
1
UniqueID
Element
0..n
Contains profile ids provided by the source channel. Available for ProfileType 3
(Corporate) and ProfileType 4
(Travel Agent)
@Type
Integer
1
Always "16
"
@ID
1
The reference identifier for the profile as provided by the source channel
@ID_Context
String
1
CHANNEL
: To specify that this is a channel reference id
IATA
: To specify that this is an IATA identifier for a travel agent
Profile
Element
1
Contains detailed customer profile information.
@ProfileType
Integer
1
Defines the type of profile:
1
Customer (mandatory)
2
GDS (optional)
3
Corporate (optional)
4
Travel Agent (optional)
5
Wholesaler (optional)
21
Arranger (optional)
Customer
Element
1
Contains detailed guest information.
PersonName
Element
1
Contains the name information for the guest.
NamePrefix
Element
0..1
Title of the guest.
GivenName
Element
1
First name of the guest.
MiddleName
Element
0..1
Middle name of the guest.
Surname
Element
1
Last name of the guest.
Telephone
Element
0..4
Contains telephone information related to the guest.
@PhoneNumber
String
1
Contains the actual number (maximum 32 characters).
@PhoneUseType
Integer
0..1
The type of phone use for example daytime, nighttime, work. If this field is blank this is the primary phone, otherwise PhoneUseType="4" denotes a secondary or nighttime phone
@PhoneTechType
Integer
0..1
The type of phone technology. If not provided it should be assumed as a landline
5
: Mobile
3
: Fax
Email
Element
0..1
Contact email address.
Address
Element
0..1
Address information of the guest.
AddressLine
Element
0..n
Address lines for the guest.
CityName
Element
0..1
City of residence.
PostalCode
Element
0..1
Postal code.
StateProv
Element
0..1
State or province name.
CountryName
Element
0..1
Country name (maximum 64 characters).
CompanyName
Element
1
Name of the company. Used for ProfileType 3
(Corporate) and ProfileType 4
(Travel Agent) only.
CustLoyalty
Element
0..1
Contains loyalty information for the customer.
@ProgramID
String
0..1
Defined membership program name or ID applicable to the program.
@MembershipID
String
0..1
Account identification number for this particular member in this particular program.
@ExpiryDate
Date
0..1
Expiry date for this particular membership record in this particular program.
Document
Element
0..1
Detailed document information for the guest.
@BirthCountry
String
0..1
Birth country of the document holder. Use ISO 3166 A-2 country codes.
@BirthDate
Date
0..1
Indicates the date of birth as indicated in the document. Use ISO 8601 date format.
@BirthPlace
String
0..1
Specifies the birth place of the document holder (e.g., city, state, county, province).
@DocHolderNationality
String
0..1
Country of nationality of the document holder. Use ISO 3166 A-2 country codes.
@DocID
String
1
Unique number assigned by authorities to the document.
@DocIssueAuthority
String
0..1
Indicates the group or association that granted the document.
@DocIssueCountry
String
0..1
Country where the document was issued. Use ISO 3166 A-2 country codes.
@DocIssueLocation
String
0..1
Indicates the location where the document was issued.
@DocIssueStateProv
String
0..1
State or Province where the document was issued.
@DocType
String
1
@EffectiveDate
Date
0..1
Indicates the starting date.
@ExpireDate
Date
0..1
Indicates the ending date.
@Gender
String
0..1
Identifies the gender:
Female
Male
Unknown
DocumentHolderName
Element
0..1
The name of the document holder in unformatted text (Mr. Sam Jones). If no DocumentHolderName
is included, the guest name fields will be assumed as the holder name.
OTA_NotifReportRQ
The PMS sends a confirmation message to SiteMinder for the delivery of reservations, modifications, or cancellations. If not confirmed, the information will be resent in response to the OTA_ReadRQ message. Confirmation of delivery does not guarantee that the reservation was successfully created in the PMS. The OTA_NotifReportRQ message can be used to confirm any erroneous deliveries.
The structure of the OTA_NotifReportRQ does not permit a mix of successfully processed and erroneous reservations in the same message. Successfully processed reservations must be confirmed in separate OTA_NotifReportRQ messages from those that could not be processed.
SiteMinder will automatically mark a reservation as 'Error' (fail) under the following conditions:
20 Delivery Attempts: The reservation has been requested (OTA_ReadRQ) at least 20 times without receiving a valid OTA_NotifReportRQ.
14-Day Timeout: No delivery attempts have been made for 14 days.
1-Hour Timeout: At least one delivery attempt has been made, and it has been 1 hour since the first attempt.
Important: This mechanism is a fail-safe feature; we expect to receive either a 'Success' or 'Error' OTA_NotifReportRQ. It should not be relied upon for handling reservations that cannot be processed.
The presence of the <Success/> element indicates that the reservation was created in the PMS
The UniqueID Type 16 element informs SiteMinder which reservation message is being confirmed
The HotelReservationID holds the ID of the newly created reservation in the PMS
Reservation
Modification
Cancellation
OTA_NotifReportRQ
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
.
Success
Element
0..1
Either Success or Error element present
Errors
Element
0..1
Contains a list of errors if the reservation, modification or cancellation failed to process
Error
Element
1..n
Should be at least one node if there is an Errors Node
@Type
Integer
1
Mandatory if Error present. Any type from the OTA code table for 'Error Warning Type (EWT)' can be used. In particular, the following types are used.
@Code
Integer
0..1
Any code from the OTA code table for 'Error Codes (ERR)' can be used.
NotifDetails / HotelNotifReport
Element
1
HotelReservations / HotelReservation
Element
1..n
One for each reservation being confirmed
@CreateDateTime
dateTime
0..1
The time the reservation was created in the PMS. Mandatory if ResStatus is "Book".
@LastModifyDateTime
dateTime
0..1
The time the reservation was updated in the PMS. Mandatory if ResStatus is Modify or Cancel.
@ResStatus
String
0..1
Specifies the booking status:
Commit
Modify
Cancel
UniqueID
Element
1
The identifier of the reservation message as known to SiteMinder.
@Type
Integer
1
Value of '16
'
@ID
String
1
UniqueID of Type 16 from the OTA_ResRetrieveRS
ResGlobalInfo
Element
0..1
Mandatory if the reservation is part of a successful delivery batch
HotelReservationIDs / HotelReservationID
Element
1
PMS reservation identifier
@ResID_Type
Integer
1
Value of '14
'
@ResID_Value
String
1
The identifier of the reservation created by the PMS. This is the reservation ID in the PMS.
OTA_NotifReportRS
This message is sent to the PMS as a response to the OTA_NotifReportRQ message, confirming that SiteMinder successfully processed the request.
Last updated
Was this helpful?