Reservations Upload
Last updated
Last updated
The Reservation Upload
endpoint allows a PMS to push reservations, modifications and cancellations to SiteMinder Exchange (SMX), where certified Apps can collect this data.
The PMS will use their existing pmsXchange web service endpoint to post the OTA_HotelResNotifRQ
message.
The Maximum Content is the maximum amount of data that the PMS publisher can provide in order to connect to all types of applications. It is important that the publisher always sends in each OTA_HotelResNotifRQ, the maximum amount of data available on each reservation. See Maximum Content XML Sample.
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. See Minimum Recommended Content XML Sample.
OTA_HotelResNotifRQ
- the request made by the PMS to the pmsXchange endpoint.
OTA_HotelResNotifRS
- the response sent by SiteMinder.
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.
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.
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
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
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
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
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
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
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
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
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
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
0..1
A monetary amount taken for the deposit.
@NmbrOfNights
Integer
0..1
The number of nights of the hotel stay that are used to calculate the fee amount.
Taxes
Element
0..1
A collection of taxes relating to the deposit.
@CurrencyCode
String
0..1
@Amount
Integer
0..1
Tax
Element
0..99
An individual tax. 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
String
0..1
@Amount
Decimal
0..1
A monetary amount of tax.
@CurrencyCode
String
0..1
An ISO 4217 (3) alpha character code that specifies a monetary unit.
@Percent
Integer
0..1
Fee 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
Deadline
Element
0..2
Payment deadline, absolute or relative.
@AbsoluteDeadline
DateTime
0..1
Defines the absolute deadline. Either this or the offset attributes may be used.
@OffsetTimeUnit
String
0..1
The units of time, e.g.: days, hours, etc., that apply to the deadline.
@OffsetUnitMultiplier
Integer
0..1
The number of units of DeadlineTimeUnit.
@OffsetDropTime
String
0..1
An enumerated type indicating when the deadline drop time goes into effect.
Description
Element
0..5
Text description of the Payment in a given language.
Text
String
0..n
Textual information information relating to the payment.
Address
String
0..1
The address to which a deposit may be sent.
@Type
Integer
0..1
AddressLine
Element
0..5
Address including any relevant street number.
CityName
Element
0..1
City (e.g., Dublin), town, or postal station (
PostalCode
Element
0..1
PostCode
StateProv
Element
0..1
State, province, or region name or code needed to identify location.
@StateCode
Integer
0..1
The standard code or abbreviation for the state, province, or region.
CountryName
Element
0..1
The name or code of a country (as used in an address).
@Code
Integer
0..1
ISO 3166 code for a country.
Discount
Element
0..1
Discount percentage and/or Amount, code and textual reason for discount.
@TaxInclusive
Boolean
0..1
Is Discount tax inclusive.
@Percent
Integer
0..1
Percentage value of the discount.
@DiscountCode
String
0..1
Specifies the type of discount (e.g., No condition, LOS, Deposit or Total amount spent).
@AmountBeforeTax
Decimal
0..1
The total amount not including any associated tax (e.g., sales tax, VAT, GST or any associated tax).
@AmountAfterTax
Decimal
0..1
The total amount including all associated taxes (e.g., sales tax, VAT, GST or any associated tax).
@CurrencyCode
String
0..1
An ISO 4217 (3) alpha character code that specifies a monetary unit.
Taxes
Element
0..1
A collection of taxes relating to Discount
@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..1
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
Decimal
0..1
A monetary amount of tax.
@CurrencyCode
String
0..1
An ISO 4217 (3) alpha character code that specifies a monetary unit.
@Percent
Integer
0..1
Fee percentage; if zero, assume use of the Amount attribute (Amount or Percent must be a zero value).
TaxDescription
Element
0..1
Text description of the taxes.
Text
Element
0..1
Textual description of the tax
DiscountReason
Element
1
Text description of Discount Reason.
Text
Element
1
Textual description of Discount Reason.
Total
Element
0..1
The total amount charged for the service including additional amounts and fees.
@AmountBeforeTax
Decimal
0..1
The total amount not including any associated tax (e.g., sales tax, VAT, GST or any associated tax).
@AmountAfterTax
Decimal
0..1
The total amount including all associated taxes (e.g., sales tax, VAT, GST or any associated tax).
@CurrencyCode
String
0..1
An ISO 4217 (3) alpha character code that specifies a monetary unit.
Taxes
Element
0..1
A collection of taxes relating to Discount
@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..1
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
String
0..1
@Amount
Decimal
0..1
A monetary amount of tax.
@CurrencyCode
String
0..1
An ISO 4217 (3) alpha character code that specifies a monetary unit.
@Percent
Integer
0..1
Fee 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 Discount Reason.
ResGuestRPHs
Element
0..1
Container for the ResGuestRPH
elements.
ResGuestRPH
Element
1..n
Container for the RPH
attribute.
@RPH
Integer
1
Memberships
Element
0..1
A collection of Membership objects. Memberships provides a list of reward programs which may be credited with points accrued from the guest's activity. Which memberships are to be applied to which part is determined by each object's SelectedMembershipRPHs collection.
Membership
Element
1..n
The SelectedMembership object identifies the frequent customer reward program and (optionally) indicates points awarded for stay activity.
@ProgramCode
String
0..1
The code or name of the membership program ('Hertz', 'AAdvantage', etc.).
@AccountID
String
0..1
The account identification number for this particular member in this particular program.
Comments
Element
0..1
Contains comment for the RoomStay
.
Comment
Element
1
Holds the actual comment.
@GuestViewable
Boolean
0..1
When true, the comment may be shown to the consumer. When false, the comment may not be shown to the consumer.
Text
Element
1
The content of the comment.
PCI sensitive data is prohibited.
SpecialRequests
Element
0..1
Contains special requests for the RoomStay
.
SpecialRequest
Element
1..n
The SpecialRequests related to the RoomStay.
@RequestCode
String
0..1
This identifies a special request for this reservation and is typically hotel-specific.
@CodeContext
String
0..1
Identifies the source authority for the RequestCode.
Text
Element
0..n
Textual information relating to the SpecialRequest.
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).
Services
Element
0..1
This is the collection of all services associated with any part of this reservation (the reservation in its entirety, one or more guests, or one or more room stays).
Service
Element
1..n
A Service object represents a non-room product provided to guests. Service products may have associated inventory and charges.
@ServicePricingType
String
0..1
An enumerated type that defines how a service is priced. Values: Per stay, Per person, Per night, Per person per night, Per use.
@ServiceInventoryCode
String
0..1
@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.
@ServiceRPH
Integer
0..1