Reservations Upload
The Reservation Upload
endpoint allows a PMS to push reservations, modifications and cancellations to the SiteMinder Ecosystem.
It is important that you adhere to our specifications to identify the origin and type of uploaded reservations. Please refer to the Reservation Types page for more details.
Message Exchange Workflow
OTA_HotelResNotifRQ
- the request made by the PMS to the SiteMinder endpoint.OTA_HotelResNotifRS
- the response sent by SiteMinder.
The Minimum Recommended Content reflects the minimum amount of data that needs to be provided to meet the critical data required by all types of applications. The Minimum Recommended Content is for reference only and the PMS publisher must send always its Maximum Content.
The Maximum Content is the maximum amount of data that the PMS publisher can provide to connect to all types of applications. The publisher must always send in each OTA_HotelResNotifRQ, the maximum amount of data available on each reservation.
See Reservations Upload Samples.
Request
OTA_HotelResNotifRQ
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
@Version
Decimal
1
Specifies the API version. Must be set to 1.0
.
@EchoToken
String
1
Unique identifier for the request, used to match requests and responses.
@TimeStamp
DateTime
1
Time when the request was generated.
Reservation
HotelReservations
Element
1
Contains the reservation details.
HotelReservation
Element
1
Contains the specific reservation information.
@CreateDateTime
DateTime
1
Date and time when the reservation was first made. Must be set when ResStatus
is Commit
.
@ResStatus
Enumeration
0..1
Specifies the booking status:
Commit
Modify
Cancel
@LastModifyDateTime
DateTime
0..1
Date and time when the reservation was last modified. Must be set when ResStatus
is Modify
or Cancel
.
@CreatorID
String
0..1
ID of creator. The creator could be a software system identifier or an identifier of an employee responsible for the creation.
@LastModifierID
String
0..1
Identifies the last software system or person to modify a record.
@WalkInIndicator
Boolean
0..1
Used to identify if the reservation is a walk-in reservation
Source
For details of how to populate POS elements for different types of reservations please refer to Reservation Types page.
POS
Element
1
Contains source details.
Source
Element
1..10
Contains BookingChannel details.
RequestorID
Element
1
Only present in the first Source element. Identifies the system sending the reservation.
@ID
String
1
Channel code. The ID used will be agreed by trading partners and remain consistent across messages.
BookingChannel
Element
0..2
Contains booking channel information.
@Type
Integer
1
@Primary
Boolean
0..1
true
for the primary booking channel in the first Source element.
false
in the second Source element, if present.
CompanyName
Element
1
Name of the booking channel.
@Code
String
0..1
Code of the booking channel.
UniqueID
UniqueID
Element
1
Used to provide PMS and/or CRS identifiers. An identifier used to uniquely reference an object in a system (e.g. an airline reservation reference, customer profile reference, booking confirmation number, or a reference to a previous availability quote).
@ID
String
1
A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.
RoomStays
RoomStays
Element
1
Contains details of all room stays.
RoomStay
Element
1..n
One instance of RoomStay
per room type booked.
@MarketCode
String
0..1
The code that relates to the market being sold to (e.g., the corporate market, packages).
@SourceOfBusiness
String
0..1
To specify where the business came from e.g. radio, newspaper ad, etc.
@PromotionCode
String
0..1
If configured, this is the promotion code indicating, for instance, a specific marketing campaign (not the rate code).
RoomTypes
RoomTypes
Element
0..1
Provides more information about the room type for this room stay.
RoomType
Element
0..1
Provides details regarding rooms, usually guest rooms. It can be sent to give more information on the room type for this room stay.
@RoomType
String
0..1
A code value that indicates the type of room for which this request is made, e.g.: double, king, etc. Values may use the Hotel Descriptive Content table or codes specific to the property or hotel brand.
@RoomTypeCode
String
0..1
Specific system room type code, ex: A1K, A1Q etc.
@RoomCategory
Integer
0..1
Indicates the category of the room. Typical values would be Moderate, Standard, or Deluxe. Refer to OpenTravel Code List Segment Category Code (SEG)
@RoomID
Integer
0..1
A string value representing the unique identification of a room if the request is looking for a specific room.
@NonSmoking
Boolean
0..1
Non-smoking indicator.
@Configuration
String
0..1
Textual description of room configuration.
RoomDescription
Element
0..1
Description of the room.
@Text
Element
0..n
A text description of the room
AdditionalDetails
Element
0..1
Container for additional information about this room.
AdditionalDetail
Element
1..n
@Type
Integer
0..1
@Code
String
0..1
Trading partner code associated to AdditionalDetailType.
DetailDescription
Element
0..1
Textual description of AdditionalDetail information.
Text
Element
0..n
A text description of AdditionalDetail
RatePlans
RatePlans
Element
0..1
Provides more information about the rate plan for this room stay.
RatePlan
Element
0..1
Contains details about the specific rate plan.
@RatePlanCode
String
0..1
Code of the rate booked.
@EffectiveDate
0..1
The effective date of the RatePlan
@ExpireDate
0..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.
@RatePlanName
0..1
Provides the name of the rate plan or group. Typically used with RatePlanType to further describe the rate plan.
RatePlanDescription
Element
0..1
Textual description of the RatePlan.
Text
Element
0..n
A text description of the RatePlan.
RatePlanInclusions
Element
0..1
Defines charges that are included in this rate plan.
@TaxInclusive
0..1
Indicates that service fees are included in the rate.
@ServiceFeeInclusive
0..1
Indicates that tax is included in the rate.
RatePlanInclusionDescription
Element
0..1
Textual description of what is included in the rate plan.
Text
Element
0..1
Textual description of what is included in the rate plan.
MealsIncluded
Element
0..1
@MealPlanIndicator
0..1
When true, a meal plan is included in this rate plan. When false, a meal plan is not included in this rate plan.
@MealPlanCodes
0..1
AdditionalDetails
Element
0..1
Textual description of AdditionalDetail information.
AdditionalDetail
Element
0..1
A text description of AdditionalDetail
@Type
0..1
@Code
0..1
Trading partner code associated to AdditionalDetailType.
DetailDescription
Element
0..1
Textual description of AdditionalDetail information.
Text
Element
0..n
A text description of AdditionalDetail
RoomRates
RoomRates
Element
0..1
Contains details of the rates applied to the room stay.
RoomRate
Element
1..n
One RoomRate per RoomStay. Multiple rates are listed under the RoomRate.
@InvBlockCode
String
0..1
Code that identifies an inventory block.
@RoomID
String
0..1
A string value representing the unique identification of a room.
@NumberOfUnits
Integer
0..1
Must be set to 1
. If there are multiple RoomStays for the same RoomTypeCode and RatePlanCode, multiple RoomStay elements should be sent.
@RoomTypeCode
String
0..1
Code of the room booked.
@RatePlanCode
String
0..1
Code of the rate plan booked. Must be included if RoomStay / RatePlans is present.
@RatePlanCategory
String
0..1
Hotel systems often group multiple rate plans into a single category. This refers to that category that is specific to the hotel CRS/ PMS and should not be confused with a GDS rate category.
@EffectiveDate
1
Indicates the starting date.
@ExpireDate
1
ExpireDate is the first day after the applicable period (e.g. when expire date is 2012-04-03 the last date of the period is 2012-04-02). Format yyyy-MM-dd. This date is exclusive.
Rates
Element
0..1
Container that will contain instances of Rates.
Rate
Element
1..n
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.
@UnitMultiplier
Integer
1
Must be set to 1
.
@EffectiveDate
Date
1
Starting date of the rate. This date is inclusive.
@ExpireDate
Date
1
Expire date is the first day after the applicable period. This date is not inclusive.
Base
Element
1
Base amount charged for the accommodation.
@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.
@CurrencyCode
String
1
Use ISO 4217 currency codes.
Taxes
Element
0..1
Contains details of the taxes applied.
@CurrencyCode
String
0..1
An ISO 4217 (3) alpha character code that specifies a monetary unit.
@Amount
Decimal
0..1
A monetary amount of tax.
Tax
Element
0..n
Contains specific tax information.
@Code
String
0..1
@Amount
Decimal
0..1
Tax amount applied.
@CurrencyCode
String
0..1
Use ISO 4217 currency codes.
@Percent
Integer
0..1
Tax percentage; if zero, assume use of the Amount attribute (Amount or Percent must be a zero value).
TaxDescription
Element
0..5
Text description of the taxes.
Text
Element
0..n
Textual description of the tax
Total
Element
1
Total amount charged, including additional occupants and fees. If empty, assume the Base amount equals the Total amount.
@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.
@CurrencyCode
String
0..1
Use ISO 4217 currency codes.
Taxes
Element
0..1
Contains details of the taxes applied.
@Amount
Decimal
0..1
Tax amount applied.
@CurrencyCode
String
0..1
Use ISO 4217 currency codes.
Tax
Element
0..99
An individual tax per tax element. This element allows for both percentages and flat amounts. If one field is used, the other should be zero since logically, taxes should be calculated in only one of the two ways.
@Code
Integer
0..1
@Amount
Integer
0..1
A monetary amount of tax. if zero, assume use of the Percent attribute (Amount or Percent must be a zero value).
@CurrencyCode
String
0..1
An ISO 4217 (3) alpha character code that specifies a monetary unit.
@Percent
Integer
0..1
Tax percentage; if zero, assume use of the Amount attribute (Amount or Percent must be a zero value).
TaxDescription
Element
0..5
Text description of the taxes.
Text
String
0..n
Textual description of the tax
ServiceRPHs
Element
0..1
A collection of unsigned integers that reference the RPH (Reference Place holder) attribute in the Service object. The ServiceRPH attribute in the Service object is an indexing attribute that identifies the services attached this RoomRate.
ServiceRPH
Element
1..n
This is a reference placeholder used as an index for a service to be associated with this stay
@RPH
Integer
1
Provides a unique reference to the service.
GuestCounts
GuestCounts
Element
1
Total guest counts, divided by age group (adult, child, infant). Adult count must always be sent.
GuestCount
Element
1..n
Represents the count for a specific age group.
@AgeQualifyingCode
Integer
1
10
= Adult (mandatory)
8
= Child (optional)
7
= Infant (optional)
@Count
Integer
1
Number of guests for this age group.
@Age
Integer
0..1
Age of the guest, required only for children and infants.
@AgeBucket
String
0..1
Defines the age range category or bucket a guest can be booked into. This is typically used in conjunction with the age qualifying code to further define the applicable age range.
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.
Guarantee
Guarantee
Element
0..1
Guarantee provided with the reservation. Used if no deposit is paid for the reservation.
@GuaranteeCode
String
0..1
Contains the details of accepted Guarantee Code.
@GuaranteeType
Enumeration
0..1
An enumerated type defining the guarantee to be applied to this reservation.
Value: CC/DC/Voucher Deposit DepositRequired GuaranteeRequired None PrePay Profile
GuaranteesAccepted
Element
0.1
The guarantee information associated to the Room Stay. A maximum of 5 occurrences are available for use depending on the context.
GuaranteeAccepted
Element
1..n
Guarantee Detail.
One of PaymentCard, Voucher, DirectBill elements must be included within GuranteeAccepted.
@PaymentTransactionTypeCode
String
0..1
This is used to indicate either a charge, reserve (deposit) or refund.
charge: This indicates that an actual payment has been made.
refund: This indicates that the payment amount of this PaymentDetail element is for a refund.
reserve: This indicates that a hold for the indicated amount has been placed on a credit card or that a cash amount has been taken from the customer to guarantee final payment.
PaymentCard
Element
0..1
Specific payment card information. Details of a debit or credit card.
@CardCode
String
1
@EffectiveDate
String
0..1
Indicates the starting date. format MMyy
).
@ExpireDate
String
0..1
Expiry date of the credit card (format MMyy
).
CardHolderName
Element
0..1
Card Holder Name
CardNumber
String
0..1
Secure information that supports PCI tokens, data masking and other encryption methods.
@Mask
String
0..1
Masked data.
@Token
Integer
0..1
Tokenized information.
@TokenProviderID
String
0..1
Provider ID.
Voucher
Element
0..1
Identification of a series of coupons or vouchers identified by serial number(s).
@SeriesCode
String
0..1
Identification of a series of coupons or vouchers identified by serial number(s).
DirectBill
Element
0..1
Details of a direct billing arrangement.
@DirectBill_ID
Integer
0..1
Identifier for the organization to be billed directly for travel services.
GuaranteeDescription
Element
0..1
Text description relating to the Guarantee.
Text
Sting
0..n
Textual information relating to the Guarantee.
DepositPayments
DepositPayments
Element
0..1
A collection of required payments.
GuaranteePayment
Element
1..n
Used to define the deposit policy, guarantees policy, and/or accepted forms of payment.
AcceptedPayments
Element
0..1
Collection of forms of payment accepted for payment. Used to define the types of payments accepted.
AcceptedPayment
Element
0..1
An acceptable form of payment.
@PaymentTransactionTypeCode
String
0..1
This is used to indicate either a charge, reserve (deposit) or refund.
charge: This indicates that an actual payment has been made.
refund: This indicates that the payment amount of this PaymentDetail element is for a refund.
reserve: This indicates that a hold for the indicated amount has been placed on a credit card or that a cash amount has been taken from the customer to guarantee final payment.
PaymentCard
Element
0..1
Specific payment card information. Details of a debit or credit card.
NOTE: PCI-sensitive payment card information should not be included in the message. Please do not attempt to send any payment card data for there isn't a specific element or attribute in the API.
@CardCode
String
0..1
@EffectiveDate
Date
0..1
Indicates the starting date.
@ExpireDate
Date
0..1
Indicates the ending date.
CardHolderName
Element
0..1
Card holder name.
CardNumber
Element
0..1
Secure information that supports PCI tokens, data masking and other encryption methods.
@Mask
String
0..1
Masked data.
@Token
Integer
0..1
Tokenized information.
@TokenProviderID
String
0..1
Provider ID.
Voucher
Element
0..1
Details of a paper or electronic document indicating prepayment.
@SeriesCode
Integer
0..1
Identification of a series of coupons or vouchers identified by serial number(s).
DirectBill
Element
0..1
Details of a direct billing arrangement.
@DirectBill_ID
Integer
0..1
Identifier for the organization to be billed directly for travel services.
AmountPercent
Element
0..1
Payment expressed as a fixed amount, or a percentage of/or room nights. If the the Total.amountAfterTax is provided, it will be a percentage of this value. If only the amountBeforeTax is provided it will be the percentage of this value. At least @Amount or @Percent will be populated.
@Percent
Integer
0..1
The percentage used to calculate the amount.
@CurrencyCode
String
0..1
An ISO 4217 (3) alpha character code that specifies a monetary unit.
@Amount
Decimal