Reservations
Message Exchange Workflow
OTA_HotelResNotifRQ
- request made by the Booking Channel to SiteConnect endpoint.OTA_HotelResNotifRS
- response sent by SiteConnect.
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
@ResStatus
Enumeration
1
Specifies the booking status:
Commit
Modify
Cancel
@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
.
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
Channel code. The ID used will be agreed by trading partners and remain consistent across messages.
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.
CompanyName
Element
1
Name of the booking channel.
@Code
String
0..1
Code of the booking channel.
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
.
@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
Unique identifier of the reservation in the system which sent the message.
@Type
Integer
1
Must be set to 14
(Reservation).
@ID
String
1
Actual confirmation number.
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).
RoomTypes
RoomTypes
Element
0..1
Provides more information about the room type for this room stay.
RoomType
Element
1
Contains specific information about the room type.
@RoomTypeCode
String
1
Code of the room booked.
RoomDescription
Element
1
Description of the room.
@Name
String
1
Name of the room.
RatePlans
RatePlans
Element
0..1
Provides more information about the rate plan for this room stay.
RatePlan
Element
1
Contains details about the specific rate plan.
@RatePlanCode
String
1
Code of the rate booked.
RatePlanDescription
Element
1
Description of the rate plan.
Commission
Element
0..1
Commission amount associated with the rate plan.
CommissionPayableAmount
Element
1
Amount of commission to be paid.
@Amount
Decimal
1
Commission amount.
MealsIncluded
Element
0..n
Used to identify the types of meals included with a rate plan.
RoomRates
RoomRates
Element
1
Contains details of the rates applied to the room stay.
RoomRate
Element
1
One RoomRate per RoomStay. Multiple rates are listed under the RoomRate.
@RoomTypeCode
String
1
Code of the room booked.
@RatePlanCode
String
0..1
Code of the rate plan booked. Must be included if RoomStay / RatePlans is present.
@NumberOfUnits
Integer
1
Must be set to 1
. If there are multiple RoomStays for the same RoomTypeCode and RatePlanCode, multiple RoomStay elements should be sent.
Rates
Element
0..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.
Rate
Element
1
Contains the specific rate information.
@UnitMultiplier
Integer
1
Must be set to 1
.
@RateTimeUnit
String
1
Must be set to Day
.
@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.
Taxes
Element
0..1
Contains details of the taxes applied.
Tax
Element
0..n
Contains specific tax information.
@Type
Enumeration
0..1
Indicates whether the tax is:
inclusive
exclusive
cumulative
@Code
String
0..1
Indicates the specific tax or fee that is being transferred. Refer to Fee Tax Type (FTT).
@Amount
Decimal
0..1
Tax amount applied.
Total
Element
0..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.
Taxes
Element
0..1
Contains details of the taxes applied.
Tax
Element
0..n
Contains specific tax information.
@Type
Enumeration
0..1
Indicates whether the tax is:
inclusive
exclusive
cumulative
@Code
String
0..1
Indicates the specific tax or fee that is being transferred. Refer to Fee Tax Type (FTT).
@Amount
Decimal
0..1
Tax amount applied.
@CurrencyCode
String
0..1
Use ISO 4217 currency codes.
ServiceRPHs
Element
0..1
Container for the ServiceRPH
elements.
ServiceRPH
Element
0..n
Links a service to the Service information at the HotelReservation level (if applicable).
Service at the RoomRate
level.
@RPH
Integer
1
Reference to the ServiceRPH at the HotelReservation level.
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.
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.
RoomStayTotal
Total
Element
1
Container for the total amount elements.
@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.
Tax
Element
1..n
Contains specific tax information.
@Type
Enumeration
0..1
Indicates whether the tax is:
inclusive
exclusive
cumulative
@Code
String
0..1
Indicates the specific tax or fee that is being transferred. Refer to Fee Tax Type (FTT).
@Amount
Decimal
0..1
Amount of the tax/fee transferred.
@CurrencyCode
String
0..1
Use ISO 4217 currency codes.
BasicPropertyInfo
BasicPropertyInfo
Element
1
Contains basic identification details for the hotel associated with the reservation.
@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.
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.
SpecialRequests
SpecialRequests
Element
1
Contains special requests for the RoomStay
.
SpecialRequest
Element
1..n
Holds the actual special request.
@Name
String
1
Special request type (e.g., bedding configuration, smoking, cot, extra bed).
Text
Element
1
Special request text.
Services
Services
Element
0..1
Contains service details provided to guests.
Service
Element
1..n
Represents a non-room product provided to guests.
@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 RoomRate
. 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.
Price
Element
0..1
Container for pricing details of the service.
Base
Element
1
Base amount 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.
Tax
Element
1
Contains specific tax information.
@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.
Tax
Element
1
Contains specific tax information.
@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
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.
@PrimaryIndicator
Boolean
0..1
Indicates the primary guest on a reservation:
1
primary guest
0
secondary guests
@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.
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
Element
0..1
Title of the guest (e.g., Mr., Mrs., Dr.).
GivenName
Element
1
First name of the guest.
Surname
Element
1
Last name of the guest.
Telephone
Element
0..1
Contains telephone information related to the guest.
@PhoneNumber
String
1
Contains the actual number (maximum 32 characters).
Email
Element
0..1
Contact email address.
Address
Element
0..1
Address information of the guest.
AddressLine
Element
0..2
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).
CustLoyalty
Element
0..n
Contains loyalty information for the guest.
@ProgramID
String
1
Defined membership program name or ID applicable to the program.
@MembershipID
String
1
Account identification number for this particular member in this particular program.
@ExpireDate
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.
@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
DocHolderName
Element
0..1
The name of the document holder in unformatted text (Mr. Sam Jones). If no DocHolderName
is included, the guest name fields will be assumed as the holder name.
ArrivalTransport
ArrivalTransport
Element
0..1
Details about transport to the destination.
TransportInfo
Element
1
Contains transport mode details used by the guest for arrival.
@Type
String
0..1
Type of transport used for arrival, provided by the booking channel.
@ID
String
0..1
Transport provider's ID for the mode of transportation (e.g., Flight Number QF123).
@Time
DateTime
0..1
Arrival time at the destination.
DepartureTransport
DepartureTransport
Element
0..1
Details about transport from the destination.
TransportInfo
Element
1
Contains transport mode details used by the guest for departure.
@Type
String
0..1
Type of transport used for departure, provided by the booking channel.
@ID
String
0..1
Transport provider's ID for the mode of transportation (e.g., Flight Number QF123).
@Time
DateTime
0..1
Departure time from the destination.
ResGlobalInfo
ResGlobalInfo
Element
1
Contains global information about the reservation.
HotelReservationIDs
Element
0..1
Contains the HotelReservationID
.
HotelReservationID
Element
1
Reference number/string or PNR as supplied by the booking channel.
@ResID_Type
String
1
Must be set to 14
(Travel Agent PNR).
@ResID_Value
String
1
Actual reference number/string supplied by the booking channel (maximum 64 characters).
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.
Tax
Element
1
Contains specific tax information.
@Type
String
0..1
Indicates whether the tax is:
inclusive
exclusive
cumulative
@Code
String
0..1
Indicates the specific tax or fee that is being transferred. Refer to Fee Tax Type (FTT).
@Amount
Decimal
0..1
Tax amount applied.
@CurrencyCode
String
0..1
Use ISO 4217 currency codes.
TPA_Extensions
Element
0..1
Indicates if the reservation is using the Net
amount or Gross
amount. Required if the booking channel uses the Commission Percentage
feature.
Total
Element
1
Contains the includesCommission
information.
@includesCommission
Boolean
1
false
uses Net Amount.
true
uses Gross Amount.
When includesCommission
is set, all RoomRate and RoomStay level totals will be considered as Net or Gross amounts based on this value.
Guarantee
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).
@CardNumber
String
0..1
Actual credit card number.
@SeriesCode
String
0..1
Security number of the card. Only passed through if the booking channel uses Reservation Notification Email. Not stored for PCI compliance.
@ExpireDate
String
0..1
Expiry date of the credit card (format MMyy
).
CardHolderName
Element
0..1
Name of the cardholder.
ThreeDomainSecurity
Element
0..1
Contains 3DS (Three Domain Security) transaction details.
Results
Element
1
Transaction results.
@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
1
Cardholder Authentication Verification Value (CAVV); Authentication Verification Value (AVV); Universal Cardholder Authentication Field (UCAF)
TPA_Extensions
Element
0..1
Additional elements for the transaction.
VirtualCreditCard
Element
1
Denotes that the payment card is a virtual credit card.
@isVCC
Boolean
1
Must be set to true
.
@VCCActivationDate
Date
0..1
Date from when the card can be charged.
@VCCDeactivationDate
Date
0..1
Date from when the card is no longer chargeable.
@VCCCurrentBalance
Decimal
0..1
Total amount that can be charged to the card. If the reservation is modified or canceled, an updated balance should be sent indicating the new total amount that can be charged to the card. If the amount changes to 0
as a result of cancellation, the cancellation should be sent with a 0
balance.
@VCCCurrencyCode
String
0..1
Must be included if there is @VCCCurrentBalance
. Use ISO 4217 currency codes.
DepositPayments
DepositPayments
Element
0..1
Deposit provided with the reservation.
GuaranteePayment
Element
1
Contains details of the payment guarantee for the reservation.
AcceptedPayments
Element
0..1
Contains the accepted payment methods.
AcceptedPayment
Element
1
Specific payment method accepted.
PaymentCard
Element
1
Details of the payment card used for the guarantee.
@CardType
String
0..1
Must be set to 1
(Credit Card).
@CardNumber
String
0..1
Actual credit card number.
@SeriesCode
String
0..1
Security number of the card. Only passed through if the booking channel uses Reservation Notification Email. Not stored for PCI compliance.
@ExpireDate
String
0..1
Expiry date of the credit card (format MMyy
).
CardHolderName
Element
0..1
Name of the cardholder.
ThreeDomainSecurity
Element
0..1
Contains 3DS (Three Domain Security) transaction details.
Results
Element
1
Transaction results.
@ThreeDSVersion
Element
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)
TPA_Extensions
Element
0..1
Additional elements for the transaction.
VirtualCreditCard
Element
1
Denotes that the payment card is a virtual credit card.
@isVCC
Boolean
1
Must be set to true
.
@VCCActivationDate