GenHTNG - Reservations

Overview

The Hotel Reservation Notification provides a request/response pair of messages to support the functionality of updating the receiving system with reservation data.

The business model assumes that the sending system either has the authority to take a reservation or is passing along a message from such a system. The message is a notification of the creation, modification, or cancellation before that reservation has been ended and does not require the receiving system to confirm the booking, only to acknowledge receipt of the message. The responding system may add its own data (such as its own confirmation ID) and include that data in the response message. 

Supported Operations

  • The CRS uses this message to update the PMS for reservation creation, modification and cancellation.

  • The PMS uses this message to update the CRS for reservation creation, modification and cancellation. 

Business Rules

  • For both reservation creation and modification, the OTA_HotelResNotifRQ must contain complete reservation data.  The modification message is a full overlay of the creation message.

  • The referenced rate plan, room type, guarantee code and payment method in the message need to exist on the target system, which should not reject the message if any of those entities is not found on the target system.  Instead, the target system should use a default value to replace a missing entity.

  • The CRS system generates and accepts one reservation per message and one message per reservation.

  • If the reservation has more than one room, then the occupancy specified by the GuestCounts element applies to each room.

  • For messages sent from the CRS to the PMS, the POS.Source.RequestID.Type is always 14.

  • The GuaranteeCode typically has the following values “6P”, “CC”, “DP”. The value in this field needs to be supported by both systems. [“6P” (6.00 PM) is a time of day, local hotel time, variable by which a reservation must be guaranteed to continue holding a reservation beyond that time].

  • Currently, the CRS supports only one room type and rate plan per reservation.

OTA_HotelResNotifRQ Elements & Attributes

Element | @Attribute

Num

Description/Contents

Origin | Value

OTA_HotelResNotifRQ

1

Root element of the message.

 

@EchoToken

0..1

As per OTA Specifications.

 

@ResStatus

1

Of all the enumerations listed by OpenTravel Alliance, the one recommended by HTNG for this message should be: “Commit”

 

@Version

1

Version is a mandatory attribute in OTA; therefore, it must remain Mandatory in HTNG to be able to use the same message.

1.00

@TimeStamp

1

Time of the transaction.

Date and time of message creation

OTA_HotelResNotifRQ / POS / Source / RequestorID

1

This identifies the system which is the reservation.

 

 

@Type

 

1

Type attribute uses the OpenTravel Alliance code list UIT and ID is used for the name or ID of the requestor. For example, type 22 – ERSP (Electronic reservation service provider) and ID: TrustCRS.

From CRS: “22”

To CRS: Not mapped

@ID

1

The ID used will be agreed by the partners and remain the same the messages.

From CRS: “CRS”

To CRS: Not mapped

OTA_HotelResNotifRQ / POS / Source / BookingChannel

1..2

This element is used to pass the booking source for the reservation.

To send secondary booking channel information, an additional Source element needs to be sent.

From PMS: 1 element

To PMS: Process primary element only.

See below

@Type

1

Type is mandatory in OTA and indicates the type of booking channel. Refers to OTA code list BCT (Booking C )

  1. Global distribution system (GDS) (GDS)

  2. Alternative distribution system (ADS)

  3. Sales and catering system (SCS)

  4. Property management system (PMS)

  5. Central reservation system (CRS)

  6. Tour operator system (TOS) Internet

 

@Primary 

1

Primary attribute would be set to “true” if only one booking channel is transferred. Only one source should be marked “true” if multiple sources are sent. 

Map only the Primary 

OTA_HotelResNotifRQ/ POS / Source / BookingChannel /Company Name 

0

The name of the booking source. 

 

@Code 

0..1 

Code is optional and can be used to transfer the code of the Booking such code is a recognized industry standard – the name, however, should always be sent as well as the code. 

 

OTA_HotelResNotifRQ / HotelReservations / HotelReservation 

1

Must be sent for the message to have meaning. 

 

@CreatorID 

1

The CreatorID is the identifier of the Reservation Clerk or, in its absence, the office that created the reservation. 

 

 

 

 

 

 

 

 

 

@CreateDateTime 

1

This is the date when the reservation was first made. 

Reservation Date, Time 

@ResStatus 

0..1 

Indicates the status of the reservation. 

Valid values are dependent on the roles: 

Reservation Server

  • Reserved 

  • Waitlisted 

Reservation Bk 

  • Reserved 

  • Waitlisted 

  • In-house 

From PMS: If transaction subtype is “CANCEL” or “DELETE”, send “Cancelled”, if subtype is “NOSHOW”, send “No- show”, ifsubtype is “CHKIN”, send “In-house”, if subtype is “CHKOUT” send “Checked-out”, if subtype is for modification, send “Modify”, otherwise send “Reserved”. 

To PMS: Ignored because “Cancelled” – duplicates the previous Cancellation status given by the ResStatus attribute in the first element of the document, and “Reserved” – is Anything that is not cancelled 

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / UniqueID 

1

The unique ID is the product of the which sent the messages. For the message is generated by the this field would contain the PMS confirmation number; if the system is a CRS, the CRS confirmation number. 

 

@Type 

1

Type is assigned codes from the UIT (Unique ID Type) code list. If the originator is a CRS, the recommended value for this message is 14 – Reservation.
If the originator is a PMS, the recommended value for this message would be 10 – Hotel.

From PMS: “10” for PMS 

To PMS: Expect “14” for CRS 

@ID  

 1  

ID is the actual confirmation number.  

To PMS: Source Res Number , 10-14 characters

From PMS: Source Reservation Number, 14 characters max.

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay

 1..n  

One instance of RoomStay per Room booked.  

   

@MarketCode  

 0..1  

This is the code that relates to the being sold and may be needed by the PMS for tracking purposes.

Market Segment  

@SourceOfBusiness  

 0..1  

Used to specify where the business from; e.g., radio, newspaper ad, or it be a referring property.  

Source of Business  

@PromotionCode  

 0..1  

This is the promotion code indicating, instance, a specific marketing not the rate code

Not mapped  

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay / RatePlans  

 0..1  

The RatePlans element is not required can be sent to give further details on rates booked in this reservation.

   

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay / RatePlans / RatePlan

 1..n  

The RatePlan to be booked  

   

@RatePlanCode  

 1  

This is the code of the rate booked.  

   

OTA_HotelResNotifRQ / HotelReservations / HotelReservation /
RoomStays / RoomStay / RatePlans / RatePlan / RatePlanInclusions

 1  

Defines charges that are included in rate plan.

Not mapped  

@TaxInclusive  

 1  

Boolean. Defines if the rate booked is tax inclusive or not.  

Not mapped  

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay / RoomRates / RoomRate

 1..n  

One instance of RoomRate per room/rate booked. If more than one Rate plan can be booked in one reservation the entire “RoomRate” element must be repeated for each room/rate combination.  In addition, all RoomRate elements MUST share the same   

From CRS: At least 1.  

To CRS: Must have at least 1. 

@RatePlanCategory  

 0..1  

This is the category or segment to the rate being booked belongs

 Not mapped  

@RoomTypeCode  

 1  

This is the room type code booked in reservation.

   

@InvBlockCode  

 0..1  

If the room booked is part of a block block code or suitable default string by the implementing partners should transferred in this field.

 Group number if group reservation  

@NumberOfUnits  

 1  

This is the number of rooms booked for room type code listed in the RoomTypeCode attribute. In the case of shared reservations, value will always be "1".

   

@RatePlanCode  

 1  

This is the rate booked for the room code listed in the RoomTypeCode attribute.

   

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomRates / RoomRate / Rates / Rate

 1..n  

At least one instance of Rate per Rate plan. Multiple instances of the Rate element must be sent if rate changes to the booking.

 1 or more, depending on number of Rate elements.

@RateTimeUnit  

 1  

The RateTimeUnit is an enumeration of time units upon which the rate amount is based (e.g., daily, weekly, single rate for full stay)  

 Must be “DAY”  

@EffectiveDate  

 1  

The Effective date attribute indicates  starting date of when a specific rate is applied. This is needed when during stay there are some rate changes and therefore, one instance of the Base element applies to part of the stay and
another instance of the Base element
applies to another part of the stay. The
effective date here refers to the
Base that is passed in this instance of
element.

 Start Date  

@ExpireDate  

 1  

The Expire date indicates the day the specific value of the rate is changed another value.  

 End Date  

@UnitMultiplier  

 1  

UnitMultiplier is the number of RateTimeUnits that the rate amount is based upon (e.g., rate for one day in case of nightly rates).  

 Ignored  

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomRates / RoomRate / Rates / Rate / Base  

 1  

Mandatory in both Open Travel Alliance and HTNG if an instance of RoomRate is passed.  

   

@CurrencyCode  

 1  

CurrencyCode used ISO 4217 codes indicate the currency of the rate that is being booked.

   

@AmountBeforeTax  

 1  

AmountBeforeTax if available can be for each @NumberOfGuests.

   

@AmountAfterTax  

 0..1  

AmountAfterTax is Mandatory for each @NumberOfGuests.

 Not mapped 

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay / RoomRates / RoomRate / Rates / Rate / Base / Taxes

 0..1  

   

 Not mapped 

@Amount  

 0..1  

Total Amount of Taxes applied to the booking.

   

@CurrencyCode  

 0..1  

Currency of the total Amount of Taxes  

   

OTA_HotelResNotifRQ /  HotelReservations / HotelReservation / RoomStays / RoomStay / RoomRates / RoomRate Rates / Rate / Base / Taxes / Tax

 0..99  

   

 Not mapped 

@Type  

 0..1  

The Type attribute is an enumeration indicate whether the tax is “inclusive”, “exclusive”, or “cumulative”.

   

@Code  

 0..1  

The Code attribute refers to OTA list (fee tax type) and is used to indicate specific tax or fee that is being transferred.

   

@Amount  

 0..1  

Amount of the specific tax/fee transferred.  

   

@CurrencyCode  

 0..1  

Currency for the amount of the tax/fee transferred.

   

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay / GuestCounts

 1  

Contains the guest counts of the booking.  

   

@IsPerRoom  

 0..1  

Indicates that the guest count on a per room basis.  

 Always send “true” 

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay / GuestCounts / GuestCount  

 1..n  

Contains the type and number of guests included in the reservation.

   

@AgeQualifyingCode  

 1  

The two codes used from the OTA code list are:

8-Child, 10-Adult.

“8” = Child  

“10” = Adult

@Count  

 1  

Count will include the number and will repeated for each Type of guest.

   

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay / TimeSpan

 1  

These are the in and out date of the booking.

   

@Start  

 1  

Check in date.  

 Arrival Date  

@End  

 1  

Check out date.  

 Departure Date  

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay / Guarantee

0..5

Guarantee provided with the reservation.

 

@GuaranteeType  

 1  

This is the attribute that indicates what guarantee is provided with the The enumerated values can be:

"GuaranteeRequired"

"None"

"CC / DC / Voucher"

"Profile"

"Deposit"

"PrePay"

   

@GuaranteeCode  

 0..1  

 This is the guarantee code used in the CRS.

   

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay / Guarantee / GuaranteesAccepted / GuaranteeAccepted / PaymentCard

 1  

   

   

@CardType  

 0..1  

Optional field. However, if it is used, the sub-elements and attributes listed below will also need to be sent. This is code of the card used as guarantee for booking. CardType uses an OTA list. Only item of the CDT list to be used is:

 – Credit to indicate we are passing a card.

   

@CardCode  

 0..1  

The Card code is the 2-letter code indicative of the card (VS, MC, AX, etc.).

 

@SecureInd

0..1

 

 

@CardNumber  

 0..1  

Mandatory if credit card guarantee info passed. This is the actual number of passed. This is the actual number of credit card used as guarantee.

 

@SeriesCode  

 0..1  

The SeriesCode attribute is used (Optionally) for the security number of the card.

 Not mapped  

@ExpireDate  

 0..1  

Mandatory if credit card guarantee info passed. This is the expiry date of the card used as guarantee.

   

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay / Guarantee / GuaranteesAccepted / GuaranteeAccepted / PaymentCard / CardHolderName

 0..1  

Mandatory if credit card guarantee info passed. This is the name of the card holder. If the system transmitting the does not hold the cc holder name, it not be passed rather than passing incorrect details.

 Card Holder, if this and CC Number field populated.

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay / Guarantee / GuaranteeDescription / Text

 0..1  

Optional. This can be used to pass details of the guarantee if the used is not cc or deposit.

 Not mapped 

@Name  

 0..1  

Used in conjunction with Text element above. Name could be used to Voucher and the Text could be used indicate the voucher number, for instance

   

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay / DepositPayments / GuaranteePayment / AcceptedPayments / Accepted Payment

 0..n  

Used if deposit or prepayment is transferred with the booking. All below this path are only Mandatory IF element is used at all.

   

@PaymentTransactionTypeCode

 1  

Mandatory if anything is passed in the AcceptedPayment element. This is an enumeration that indicates whether we are talking about a deposit or a charge.

The two options are: charge or reserve (deposit). Would be Optional in the schema.

   

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay / DepositPayments / GuaranteePayment / AcceptedPayments / AcceptedPayment / PaymentCard

 1  

 Mandatory if an instance of AcceptedPayment is passed and no sub-element is used. This is the card which the deposit or prepayment for booking must be charged.

   

@CardType  

 0..1  

 Optional field. However, if it is used, the sub-elements and attributes listed below will also need to be sent. This is code of the card used as guarantee for booking. CardType uses an OTA list. Only item of the CDT list to be used is:

– Credit to indicate we are passing a card.

   

@CardCode  

 0..1  

The Card Code is the 2-letter code indicative of the card (VS, MC, AX, etc.).  

   

@CardNumber  

 0..1  

This is the actual number of the credit card used for the deposit/prepayment

   

@SeriesCode  

 0..1  

The SeriesCode attribute is used  (Optionally) for the security number of the card.

 Not mapped 

@ExpireDate  

 0..1  

This is the expiry date of the credit used for deposit/prepayment.

   

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay / DepositPayments / GuaranteePayment / AmountPercent

 1  

Mandatory if something is passed in DepositPayment element. In this case, the amount must be specified.

   

@Amount  

 0..1  

This is the amount charged as a for the booking. At least one between Amount, Percent, and must be transferred.

   

@CurrencyCode  

 0..1  

Currency used. Should be sent in conjunction with Amount.

   

@Percent  

 0..1  

This is the percentage charged as adeposit for the booking. At least one between Amount, Percent, and NumberOfNights must be transferred.

   

@NumberOfNights  

 0..1  

This is the Number of nights charged deposit for the booking. At least one between Amount, Percent, and NumberOfNights must be transferred.  

   

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay / DepositPayments / GuaranteePayment / Deadline

 0..1  

Indicates when the deposit is due if not the time of booking.  

   

@AbsoluteDeadline  

 0..1  

Used as per OTA schema.  

   

@OffsetTimeUnit  

 0..1  

Used as per OTA schema.  

   

@OffsetUnitMultiplier  

 0..1  

Used as per OTA schema.  

   

@OffsetDropTime  

 0..1  

Used as per OTA schema.  

   

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay / DepositPayments / GuaranteePayment / AcceptedPayments / AcceptedPayment / DirectBill

 1  

Mandatory if an instance of AcceptedPayment is passed and no sub-element is used. This is the direct information for the booking.

Not mapped  

@DirectBillID  

 0..1  

Identifier for the organization to be directly for travel services.

   

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay / DepositPayments / GuaranteePayment / AcceptedPayments / AcceptedPayment / Voucher

 1  

Mandatory if an instance of AcceptedPayment is passed and no sub-element is used. This is the information for the booking.

 Not mapped  

@SeriesCode  

 0..1  

Identification of a series of coupons or vouchers identified by serial number(s).

   

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay / Total

 0..1  

This is the total amount for the stay.  

 1 element  

@CurrencyCode  

 1  

CurrencyCode uses ISO 4217 codes to indicate the currency of the total rate.

   

@AmountBeforeTax OR @AmountAfterTax

 1  

Either @AmountBeforeTax or AmountAfterTax is Mandatory for each @NumberOfGuests. Partners must select whether to send either the @AmountBeforeTax or @AmountAfterTax (or both) attributes.

 @AmountBeforeTax required 

 OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay / Total / Taxes  

 0..1  

Optional. Can be used for Total Pricing  

 Not mapped  

 @Amount  

 0..1  

Total Amount of Taxes applied in the  booking.

   

 @CurrencyCode  

 0..1  

Currency for the total Amount of Taxes  

   

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay / Total / Taxes / Tax

 0..99  

Optional. Can be used for Total Pricing.  

 Not mapped  

@Type  

 0..1  

The Type attribute is an enumberation indicate whether the tax is “inclusive”, “exclusive”, or “cumulative”.  

   

@Code  

 0..1  

The Code attribute refers to the OTA FTT (fee tax type) and is used to the specific tax or fee that is being transferred.

   

@Amount  

 0..1  

Amount of the specific tax/fee transferred.  

   

@CurrencyCode  

 0..1  

Currency for the amount of the tax/fee transferred.

   

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay / BasicPropertyInfo

 1  

   

   

@HotelCode  

 1  

This is the property for which the reservations are being transferred.

   

@ChainCode  

 0..1  

ChainCode indicates the chain to which the property belongs.

   

@BrandCode  

 0..1  

BrandCode indicates the Brand within Chain to which the property belongs.

Not mapped  

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay / ResGuestRPHs / ResGuestRPH /

 1..n  

   

   

@RPH  

 1  

This is used to link the various profiles the reservation.

One record with a unique number, starting at one, should be sent for each guest whose profile is sent.  

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay / Memberships / Membership

 0..n  

The element Membership is Optional both attributes would need to be Mandatory.

   

@ProgramCode  

 1  

The loyalty program to which the ID belongs to.

Frequent Traveler ProgramCode  

@AccountID  

 1  

The account that needs to be credited points for the stay booked.

Frequent Traveler Program Number  

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay / Comments / Comment  

 1  

   

   

@Name  

 0..1  

Allows types of Comments to be differentiated. Valid values would be determined by Trader-Partners

 “GUEST” expected.  

@GuestViewable  

 0  

This indicates that the comment can actually be seen by the guest, and is necessary when two different types of comments are passed: one which is viewable and one that isn’t. The value is of Boolean nature.  

   

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay / Comments / Comment / Text

 1  

Comment text

   

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay / SpecialRequests / SpecialRequest /

 0..n  

   

Guest Preferences are saved as Special Requests

@RequestCode  

 1  

Indicates the special requests to the reservation. If a special request passed it must be passed with the RequestCode attribute, which is conditionally Mandatory. If no code is available the partners should agree on code to be transferred in conjunction the TEXT element below.

Special Request Code  

@CodeContext  

 0..1  

If the system sending the information differentiates the request codes in groups (for instance, room features special requests, etc.), the context of code should be sent to indicate the request sent is indeed a room or a special request or belongs to any other grouping – must be agreed upon implementing partners based on the functionality of the systems involved.

Not mapped  

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / RoomStays / RoomStay / SpecialRequests / SpecialRequest / Text

 0..1  

Provides more information about the request code or provides description requests that are yet uncoded.

Not mapped 

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / BillingInstructionCode  

 0..n  

Billing codes that apply to a set of instructions for a set of transactions that are routed to a designated folio.  

Not mapped 

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / BillingInstructionCode / BillingCode  

 1  

The individual billing code that applies to a set of instructions that are routed to a designated folio.  

   

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / BillingInstructionCode / BillingType  

 0..1  

Used to define the type of the BillingCode, such as group, corporate and casino. Refer to OpenTravel Code List Reservation Billing Type (RBT).  

   

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / BillingInstructionCode / AuthorizationCode  

 0..1  

The authorization code associated with the billing code.  

   

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / BillingInstructionCode / Description  

 0..1  

A short description of the billing code or instructions.  

   

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / BilliingInstructionCode / Start  

 0..1  

The starting value of the time span.  

   

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / BilliingInstructionCode / End  

 0..1  

The ending value of the time span.  

   

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / BilliingInstructionCode / AccountNumber  

 0..1  

Identifies the account number where the charges will be routed.  

   

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / BilliingInstructionCode / ResGuestRPH  

 0..n  

A reference to a guest ID object that may be defined in ResGuests/ResGuest  

 

@RPH  

 1  

A unique reference to the guest ID.  

 

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest /

 1..n  

   

 

@ResGuestRPH  

 1  

For simple reservations: If profiles for guest, travel agency, and company available, they would all be linked to a single ResGuestRPH. A comment has been entered with OTA for phase 2 to accomodate more complex scenarios.

 

@PrimaryIndicator  

 0..1  

New attribute in OTA 2007A. This indicates the primary guest on a reservation. In the case of multiple on a reservation, the guest responsible payment, etc. will be marked true. Currently Optional in OTA schema but needs to be Mandatory to support of multiple guests on a reservation (Additional Profile).

 

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / UniqueID

 0..9  

Used to allow additional ids for reporting purposes  

 

@ Type  

 1  

The Type attribute refers to OTA code type UIT and the choices recommended by HTNG should be:

1 – Customer

4 – Company

5 –Travel Agency  

 

@ID  

1  

The actual ID.  

 

@ID_Context  

0..1  

ID_Context is Optional and would be used to identify the source of the ID (forinstance, for a Travel agency ID we could have IATA or ABTA, etc.).  

 

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / UniqueID / CompanyName

0..1

Further identifier

 

@CodeContext  

 1  

   

   

@Code  

 1  

   

   

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile

 1..n  

   

   

@ProfileType  

 1  

This is used to pass the profile info for guest, the Company, and the Travel agency. For the individual guest the used in ProfileType is the OTA PRT -[Customer], For a company it is PRT Code – 3 [Corporation]. For a travel agency it is PRT code 4 – [Travel agent].

Upload: 1 for guest of ProfileType=”1”

@ShareAllOptOutInd  

 0..1  

When yes, a customer has explicitly opted out of marketing communication. This is used in combination with the ShareAllMarketInd and only one of these attributes should have a value of yes.  

Not mapped  

@ShareAllMarketInd  

 0..1  

Permission for sharing all data in profile for marketing purposes. A yes value indicates that the customer has chosen to opt-in to marketing communication. This is used in combination with the ShareAllOptOutInd and only one of these attributes should have a value of yes.  

Not mapped  

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile / Customer

 1  

Customer  

   

@VIP_Indicator  

 0..1  

If true, indicates a very important person.  

Not mapped  

@Birthdate  

 0..1  

The customer’s birthday information  

   

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile / Customer / PersonName / NamePrefix

 0..1  

Optional, but should be highly recommended by HTNG that partners it if possible. This path is used to the Customer details. Details of the company or Travel agency use a path. This field would be used to pass guest’s name, Prefix.

For ProfileType=“1”

Guest #1 Title

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile / Customer / PersonName / GivenName

 0..1  

Optional. This path is used to transmit Customer details. Details of the or Travel agency use a different path. This field would be used to pass the Name, First name.

For ProfileType=“1”

Guest #1 First Name

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile / Customer / PersonName / MiddleName

 0..1  

Optional. This path is used to transmit Customer details. Details of the or Travel agency use a different path. This field would be used to pass the Name, Middle name.

For ProfileType=“1”  

Guest #1 Middle Name  

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile / Customer / PersonName / Surname

 1  

Mandatory if a guest profile is passed. This path is used to transmit the Customer details. Details of the company or agency use a different path. This field would be used to pass the guest’s Surname.

For ProfileType=“1”  

Guest #1 Last Name

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile / Customer / PersonName / NameSuffix  

 0..1  

Optional. This field would be used to the guest’s suffix.

Not mapped.  

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile / Customer / Telephone  

 1..n  

Mandatory if a guest profile is passed. This path is used to transmit the Customer details. Details of the company or agency use a different path. This field would be used to pass the guest’s numbers and fax number.

For ProfileType=“1”

1 element each for Telephone Number and 1 for Fax Number, if present.

Note that this is mandatory but the phone number is not mandatory in the CRS.  

@PhoneLocationType  

 0..1  

The PhoneLocationType attribute refers the OTA PLT code list and indicates where the phone number is based –  values to be used by HTNG are: 6 – Home, 7 – Office, 8 – Other (e.g. cell phone).

   

@PhoneTechType  

 0..1  

The PhoneTechType attribute refers to  OTA PTT code list and indicates type of number is transmitted (phone versus fax). The codes to be used by HTNG are:
Code 1 – Voice
Code 3 – Fax
Code 5 – Mobile

“1” (Voice)  or “3” (Fax)

@PhoneNumber  

 1  

PhoneNumber contains the actual number as a string of max 32 characters and it is Mandatory.

Telephone Number, or “0” if not present (Attribute is mandatory) or Fax Number

@CountryAccessCode  

 0..1  

Code assigned by telecommunications authorities for international country identifier.

   

@AreaCityCode  

 0..1  

Code assigned for telephones in a region, city, or area.

   

@FormattedInd  

 1  

FormattedInd is Mandatory. If the can use Country and Area codes then it should be set to NO. If country code and area code are then they should not appear again in the PhoneNumber field. If the partner cannot use country and code then entire number is passed in PhoneNumber field and FormattedInd. It should be set to YES if the number to be parsed as there is a separation of different parts or set to NO to indicate the PhoneNumber field contains the phone number without a specific format.

Always false  

@DefaultInd  

 0..1  

DefaultInd is Optional and would whether the phone number is the phone number for the profile.

True for Voice Phone number of Primary guest

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile / Customer / Email

 0..5  

This path is used to transmit the details. Details of the company or agency use a different path. This field would be used to pass the guest’s address.

   

@EmailType  

 0..1  

The Email Type attribute uses the code list EAT and indicates the type of email address provided (personal – 1, versus business – code 2, in the Guest details) and must be passed more than one email address is only one email address is passed, it be Optional.

Not mapped  

@DefaultInd

 0..1  

DefaultInd is Optional and would whether the email is the primary email the profile.

True for Primary guest  

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile / Customer / Address  

 0..5  

This path is used to transmit the details. Details of the company or agency use a different path. This field would be used to pass the guest’s address.

   

@Type  

 1  

The Type attribute uses the OTA code CLT and indicates the type of address provided (Home – code 1 versus  – code 2 or Other – code 3, in the the Guest details) and must be passed when an address is passed.  

“3”  

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile / Customer / Address / AddressLine

 0..5  

This path is used to transmit the details. Details of the company or agency use a different path. This field would be used to pass the guest’s address. More than one line can be passed.

   

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile / Customer / Address / CityName

 0..1  

This path is used to transmit the details. Details of the company or agency use a different path. This field would be used to pass the guest’s city.

   

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile / Customer / Address / StateProv

 0..1  

This path is used to transmit the details. Details of the company or agency use a different path. This field would be used to pass the guest’s State or Provence.

   

@StateCode  

 0..1  

State expressed in the Standard 2-8 characters code.

   

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile / Customer / Address / PostalCode

 0..1  

This path is used to transmit the details. Details of the company or agency use a different path. This field would be used to pass the guest’s ZIP code.

   

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile / Customer / Address / CountryName

 0..1  

This path is used to transmit the details. Details of the company or agency use a different path. This field would be used to pass the guest’s Country.

Not mapped 

@Code  

 0..1  

Country expressed in the Standard 3166 code.

Country Code  

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile / Customer / CustLoyalty  

 0..5  

Optional. This path enables the user pass specific IDs linked to the guest profile.

   

@ProgramID  

 0..1  

The ProgramID attribute can be used indicate the program that is being For instance, we could use it to pass:

Frequent Guest, Frequent Traveller, Company ID.

   

@MembershipID  

 0..1  

The membershipID attribute will the actual number.

   

@LoyalLevel  

 0..1  

Indicates special privileges in program assigned to individual.

Not mapped  

@EffectiveDate  

 0..1  

Indicates the starting date of the program  

   

@ExpireDate  

 0..1  

Indicates the expiration date of the program  

Not mapped  

 

 

 

 

@SignupDate  

 0..1  

Indicates the customer’s sign up date  

Not mapped  

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile / Customer / RelatedTraveler  

 0..9  

Optional. This path is used to transmit Accompanying Guest details.

   

@Relation  

 0..1  

Indicates the type of relationship with person in the profile, such as Spouse, Child, Family, Business Associate, Group, Medical, Security, Other, etc.  

Not mapped  

@Birthdate  

 0..1  

The related traveler’s birthday information  

Not mapped  

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile / Customer /
RelatedTraveler / PersonName / NamePrefix

 0..1  

Optional. This path is used to transmit Accompanying Guest details. This would be used to pass the guest’s Prefix.

Guest #2 Title, etc. 

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile / Customer / PersonName / RelatedTraveler / GivenName  

 0..1  

Optional. This path is used to transmit Accompanying Guest details. This would be used to pass the guest’s name.

Guest #2 First Name, if present, etc  

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile / Customer / PersonName / RelatedTraveler / MiddleName  

 0..1  

Optional. This path is used to transmit Accompanying Guest details. This would be used to pass the guest’s Name.

Guest #2 Middle Name, if present, etc  

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile / Customer / PersonName / RelatedTraveler / Surname

 1  

Mandatory if an accompanying profile is passed. This path is used to transmit the Accompanying Guest details. This would be used to pass the guest’s Surname.

Guest #2 Last Name, etc  

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile / Customer / PersonName / RelatedTraveler / NameSuffix

 0..1  

Optional. This field would be used to the accompanying traveler’s suffix.

Not mapped  

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile / CompanyInfo

 0..1  

Mandatory if a company or travel profile is passed

1 for the Company profile, if provided, or Travel Agent Profiles, if provided, only for agents having a phone number, except the agent and/or sub-agent identified in as the primary or sub-agent, which should either be sent in any case, even if no phone number is present, or not sent and logged  

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile / CompanyInfo / CompanyName

 1  

   

If ProfileType=”3”, Company Name  

If ProfileType=”4”, Travel Agent Name

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile / CompanyInfo / AddressInfo / AddressLine  

 0..5  

Mandatory if a company or travel agency profile is passed. Address line is repeatable up to 5 times. This path is used to transmit the details for a Company or Travel agency profile.

This element is used to pass the Company or Travel Agency’s address.  Type attribute is not needed here as it is clearly a business address.  

If ProfileType=”3” Company Address Line 1, if present, Company Address Line 2, if present If ProfileType=”4”, Address Line 1, if present, Address Line 2, if present  

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile / CompanyInfo / AddressInfo / CityName

 0..1  

This path is used to transmit the details a Company or Travel agency profile. This element is used to pass the or Travel Agency’s City.

If ProfileType=”3”, Company City, if present

If ProfileType=”4”, City, if present

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile / CompanyInfo / AddressInfo / StateProv

 0..1  

This path is used to transmit the details a Company or Travel agency profile. This element is used to pass the or Travel Agency’s State.

If ProfileType=”3”, Element present if Company State is present

If ProfileType=”4”, Element present if Agent State is present

 @StateCode  

 0..1  

State expressed in the Standard 2-8 characters code.  

If ProfileType=”3”, Company State

If ProfileType=”4”, State  

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile / CompanyInfo / AddressInfo / PostalCode

 0..1  

This path is used to transmit the details a Company or Travel agency profile. This element is used to pass the Company or Travel Agency’s postal or ZIP code.

If ProfileType=”3”, Company Postal Code, if present

If ProfileType=”4”, Travel Agency Postal Code, if present

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile / CompanyInfo / AddressInfo / CountryName

 0..1  

Optional. This path is used to transmit details for a Company or Travel profile. This element is used to pass the or Travel Agency’s Country.

If ProfileType=”3”, Element provided if Company Country Code is present

If ProfileType=”4”, Element provided if Agent Country Code is present

@Code  

 0..1  

Country expressed in the Standard 3166 codes.

If ProfileType=”3”, Company Country Code

If ProfileType=”4”, Country Code

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile / CompanyInfo / TelephoneInfo  

 1..n  

Mandatory if a company or travel profile is passed. This element is used pass the Company or Travel Agency’s phone and numbers. PhoneLocationType is not needed here as this is an office telephone.

If ProfileType=”3”, 1 element for Company PhoneNumber 1 element for Company Fax Number, if present

If ProfileType=”4”, 1 element for Agent Phone number, if present 1 element for Agent Fax number, if present  

@PhoneTechType  

 0..1  

The PhoneTechType attribute refers to OTA PTT code list and indicates type of number is transmitted (phone versus fax). The codes to be used by HTNG are:

Code 1 –Voice

Code 3 –Fax

Code 5- Mobile  

If ProfileType=”3”, “1” (Voice) for Phone Number “3” (Fax) for Fax number

If ProfileType=”4”, Same rules  

@Phone Number  

 1  

PhoneNumber contains the actual as a string of max 32 characters and it is Mandatory.

If ProfileType=”3”, Company Phone Number or Company Fax number

If ProfileType=”4”, Phone Number or Fax Number

@CountryAccessCode  

 0..1  

Code assigned by telecommunications authroities for international country identifier.

   

@AreaCityCode  

 0..1  

Code assigned for telephones in a region, city, or area.

   

@FormattedInd  

 1  

FormattedInd is Mandatory. If the can use Country and Area codes then should be set to NO. If country code and area code are then they should not appear again in PhoneNumber field. If the partner cannot use country and code then the entire number is passed the PhoneNumber field and It should be set to YES if the number needs to be parsed as there is a separation of the different parts or set NO to indicate that the PhoneNumber contains the entire phone number a specific format.  

false  

@DefaultInd  

 0..1  

DefaultInd would indicate whether the phone number is the primary phone number for the profile.

false  

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile / CompanyInfo / Email  

 0..1  

This path is used to transmit the details a Company or Travel agency profile. This element is used to pass the or Travel Agency’s email. EmailType attribute is not needed here it is clearly a business address.

If ProfileType=”3”, Company Email, if present 

If ProfileType=”4”, Email address, if present

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / Profiles / ProfileInfo / Profile / TPA_Extensions

 0..n  

Could be used to pass additional data upon agreement between (specific Keys or codes, for instance).

   

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / ArrivalTransport / TransportInfo

 0..1  

The 3 attributes below are used to the arrival details for the guests to the booking pertains.

Not mapped  

@Type  

 0..1  

Type is used to indicate the method of conveyance of this guest. Values: Air, Bus, Boat, Private Auto, Other.

   

@ID  

 0..1  

ID is the actual identifier of this transportation method (e.g., flight number).

   

@Time  

 0..1  

Time is the estimated arrival time.  

   

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGuests / ResGuest / DepartureTransport / TransportInfo

 0..1  

The 3 attributes are used to indicate departure details for the guests to the booking pertains.

Not mapped  

@Type  

 0..1  

Type is used to indicate the method of departure of this guest. Values: Air, Bus, Boat, Private Auto, Other.

   

@ID  

 0..1  

ID is the actual identifier of this transportation method (e.g., flight number).

   

@Time  

 0..1  

 Time is the expected departure time.  

   

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / ResGlobalInfo / HotelReservationIDs / HotelReservationID

 0..n  

The HotelReservationID element can repeated multiple types to transfer:

  1. The PNR number for the reservation assigned by the GDS

  2. The reservation number for reservations that are linked to this reservation as associated reservation either for guests travelling together, sharing a room, or as part of an Itinerary

   

@ResID_Type  

 1  

 ResID_Type is assigned values from the UIT code list. 10 – Reservation Server 13 – Internet Broker 14 – Reservation Broker 24 – Travel Agent PNR 25- Associated reservation (travelling with) 26- Associated itinerary reservation 27- Associated shared reservation 34 – Master Itinerary For any other type of system, the implementing partners should agree on the appropriate code from the OTA UIT d lit  

   

@ResID_Value  

 1  

If HotelReservationID is passed to transfer the PNR, ResID_Value is the PNR passed by the GDS. If HotelReservationID is passed to transfer the associated reservations, ResID_Value would be the confirmation number of the reservation which is associated to the one that is being transferred.

   

@ResID_Source  

 0..1  

A unique identifier to indicate the source system which generated the ResID_Value

   

  

@ForGuest  

 0  

When 1 the confirmation number given to the guest. This number should be searchable by the destination.  

Not mapped 

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / Services  

 0..n  

   

   

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / Services / Service

 1  

A Service object represents a non-room product provided to guests. Service products have associated inventory and charges.

 

@ServicePricingType  

 1  

An enumerated type that defines how a service is priced:

  1. Per Stay

  2. Per Night

  3. Per Guest Per Night

  4. Per Item

Following are mapped:

  1. Per Night sends “Per night”

  2. All others send “Per stay”

@ServiceInventoryCode  

 1  

The representation of the specific service being reserved.

   

@Inclusive  

 1  

Whether the price for this service is included in the room rate

“True” in case of package booking where cost of items is expected to already be included in roomAmount.

“False” in case of additional addon service items selected on the booking.

@Quantity  

 0..1  

The number of tickets, rounds of golf, etc.  Also serves as the number of persons when pricing class is per person or per person per night.

   

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / Services / Service / Price

 0..99  

The selling price of this service.  

   

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / Services / Service / Price / Total  

 0..1  

This is the total amount for the stay.  

   

@CurrencyCode  

 1  

CurrencyCode uses ISO 4217 codes to indicate the currency of the total amount  

   

@AmountBeforeTax OR @AmountAfterTax 

 1  

Either AmountBeforeTax or AmountAfterTax. Partners must select which they will send to each other.

   

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / Services / Service / Price / Total / Taxes

 0..1  

Optional. Can be used for Total Pricing  

Not mapped  

@Amount  

 0..1  

Total Amount of Taxes applied to the service  

   

@CurrencyCode  

 0..1  

Currency of the total Amount of Taxes  

   

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / Services / Service / Price / Total / Taxes / Tax  

 0..99  

Optional. Can be used for Total Pricing  

Not mapped  

@Type  

 0..1  

The Type attribute is an enumeration to indicate whether the tax is “inclusive”, “exclusive”, or “cumulative”

   

@Code  

 0..1  

The Code attribute refers to OTA list FTT (fee tax type) and is used to indicate the specific tax or fee that is being transferred.

   

@Amount  

 0..1  

Amount of the specific tax/fee transferred  

 

@CurrencyCode  

 0..1  

Currency for the amount of the specific tax/fee transferred.

  

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / Services / Service / ServiceDetails

 0..99  

Details on the Service including Guest Counts, Time Span of this Service, pointers to Res Guests, guest Memberships, Comments and Special Requests pertaining to this particular Service and finally financial information related to the Service, including Guarantee, Deposit and Payment, and Cancellation Penalties.

   

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / Services / Service / ServiceDetails / GuestCounts / GuestCount

 0..1  

Contains the type and number of guests included in the service request.

Not mapped 

@AgeQualifyingCode  

 1  

The 2 codes used from the OTA AQC code list are:

8-Child, 10-Adult.

   

@Count  

 1  

Count will include the number and will be repeated for each Type of guest.

   

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / Services / Service / ServiceDetails / TimeSpan

 0..99  

   

   

@Start  

 1  

Service Start Date  

   

@End  

 1  

Service End Date  

   

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / Services / Service / ServiceDetails / Comments / Comment

 1  

   

   

@Name  

 0..1  

Allows types of Comments to be differentiated

   

@GuestViewable  

 1  

This indicates that the comment can actually be seen by the guest and is necessary when two different types of comments are passed: one which is guest viewable and one that isn’t. The attribute is of Boolean nature.

   

OTA_HotelResNotifRQ / HotelReservations / HotelReservation / Services / Service / ServiceDetails / Comments / Comment / Text

 1  

Comments  

   

OTA_HotelResNotifRQ Sample Reservation New/Add Message

<OTA_HotelResNotifRQ xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" EchoToken="WTST20170322212320" TimeStamp="2017-03-22T21:23:20.5081898-06:00" Version="3.002" ResStatus="Commit" PrimaryLangID="en- us" xmlns="http://www.opentravel.org/OTA/2003/05"> <POS> <Source> <RequestorID Type="22" ID="CRS" ID_Context="CRS"/> <BookingChannel Type="5" Primary="true"> <CompanyName Code="IBE"/> </BookingChannel> </Source> </POS> <HotelReservations> <HotelReservation RoomStayReservation="true" CreateDateTime="2017-03- 22T21:23:20.5081898-06:00" CreatorID="Whiteboard" ResStatus="Reserved"> <UniqueID Type="14" ID="RXV7523MU"/> <RoomStays> <RoomStay MarketCode="BAR" SourceOfBusiness="IBE"> <RatePlans> <RatePlan RatePlanCode="RACK" EffectiveDate="2017-04-19" ExpireDate="2017-04-21">TaxInclusive="false"/> <RatePlanInclusions</RatePlan> </RatePlans> <RoomRates> <RoomRate EffectiveDate="2017-04-19" ExpireDate="2017-04-21" RoomTypeCode="OQNS" NumberOfUnits="1" RatePlanCode="RACK"> <Rates> <Rate EffectiveDate="2017-04-19" ExpireDate="2017-04-21" RateTimeUnit="Day" UnitMultiplier="1"> <BaseAmountBeforeTax="300" CurrencyCode="USD"/> </Rate> </Rates> </RoomRate> </RoomRates> <GuestCounts IsPerRoom="true"> <GuestCount AgeQualifyingCode="10" Count="1"/> </GuestCounts> <TimeSpan Start="2017-04-19" Duration="P2N" End="2017-04-21"/> <Guarantee GuaranteeCode="GX" GuaranteeType="GuaranteeRequired"> <GuaranteesAccepted> <GuaranteeAccepted PaymentTransactionTypeCode="charge"> <PaymentCard CardType="1" CardCode="VI" CardNumber="4444333322221111" ExpireDate="0123"> <CardHolderName>Bond</CardHolderName> </PaymentCard> </GuaranteeAccepted> </GuaranteesAccepted> </Guarantee> <Total AmountBeforeTax="600" AmountAfterTax="660" CurrencyCode="USD"> <Taxes Amount="60"/> </Total> <BasicPropertyInfo ChainCode="WSD" HotelCode="WTST"/> <ResGuestRPHs> <ResGuestRPH RPH="0"/> </ResGuestRPHs> <Comments> <Comment CommentOriginatorCode="GUEST" GuestViewable="true"> <Text>Will be Travelling with Mrs Bardot.</Text> </Comment> </Comments> </RoomStay> </RoomStays> <Services> <Service Type="1" ID="DN" ServicePricingType="Per stay" ServiceInventoryCode="Dinner" Inclusive="false" Quantity="1"> <Price> <Total AmountBeforeTax="15" CurrencyCode="USD"/> </Price> <ServiceDetails> <TimeSpan Start="2017-04-19T12:00:00" End="2017-04-19T12:00:00"/> <Comments> <Comment> <Text>Dinner</Text> </Comment> </Comments> </ServiceDetails> </Service> </Services> <ResGuests> <ResGuest ResGuestRPH="0" AgeQualifyingCode="10" PrimaryIndicator="true"> <Profiles> <ProfileInfo> <UniqueID Type="1" ID="12091943" ID_Context="CRS"/> <Profile ProfileType="1"> <Customer Gender="Male" BirthDate="1974-03-10"> <PersonName> <NamePrefix>Mr.</NamePrefix> <GivenName>James</GivenName> <Surname>Bond</Surname> </PersonName> <Telephone PhoneTechType="1" PhoneUseType="3" PhoneNumber="446966564101" FormattedInd="false"/> <Email ShareMarketInd="Yes" DefaultInd="true">james.bond@shr.global</Email> <AddressLine>Claretta House</AddressLine> <Address> <AddressLine>Tower Bridge Close</AddressLine> <CityName>London</CityName> <PostalCode>EC1 2PG</PostalCode> <StateProv StateCode="ENG"/> <CountryName Code="GB"/> </Address> </Customer> </Profile> </ProfileInfo> </Profiles> <InHouseTimeSpan Start="2017-04-19" Duration="P2N" End="2017-04-21"/> </ResGuest> </ResGuests> <ResGlobalInfo> <HotelReservationIDs> <HotelReservationID ResID_Type="14" ResID_Value="RXV7523MU" ResID_Source="CRS" ResID_SourceContext="CrsConfirmNumber" ResID_Date="2017-03-22T21:21:18.4399842-06:00"/> </HotelReservationIDs> </ResGlobalInfo> <TPA_Extensions> <Success/> </TPA_Extensions> </HotelReservation> </HotelReservations> </OTA_HotelResNotifRQ>

Additional OTA_HotelResNotifRQ Sample Reservation New/Add Message w/ Add-On

<OTA_HotelResNotifRQ xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="HOTKEY20210624053322" TimeStamp="2021-06-24T05:33:22.0752066-06:00" Version="3.002" ResStatus="Commit" PrimaryLangID="en-us"> <POS> <Source> <RequestorID Type="22" ID="CRS" ID_Context="CRS"/> <BookingChannel Type="5" Primary="true"> <CompanyName Code=""/> </BookingChannel> </Source> </POS> <HotelReservations> <HotelReservation RoomStayReservation="true" CreateDateTime="2021-06-24T05:33:22.0752066-06:00" CreatorID="Whiteboard" ResStatus="Reserved"> <UniqueID Type="14" ID="RWZ7465ZG"/> <RoomStays> <RoomStay MarketCode="" SourceOfBusiness=""> <RatePlans> <RatePlan RatePlanCode="AAA" EffectiveDate="2021-06-24" ExpireDate="2021-06-25"> <RatePlanInclusions TaxInclusive="false"/> </RatePlan> </RatePlans> <RoomRates> <RoomRate EffectiveDate="2021-06-24" ExpireDate="2021-06-25" RoomTypeCode="KING" NumberOfUnits="1" RatePlanCode="AAA"> <Rates> <Rate EffectiveDate="2021-06-24" ExpireDate="2021-06-25" RateTimeUnit="Day" UnitMultiplier="1"> <Base AmountBeforeTax="200" CurrencyCode="USD"/> </Rate> </Rates> </RoomRate> </RoomRates> <GuestCounts IsPerRoom="true"> <GuestCount AgeQualifyingCode="10" Count="1"/> </GuestCounts> <TimeSpan Start="2021-06-24" Duration="P1N" End="2021-06-25"/> <Guarantee GuaranteeCode="XX" GuaranteeType="None"> <GuaranteesAccepted> <GuaranteeAccepted PaymentTransactionTypeCode="charge"> <PaymentCard CardType="1" CardCode="" CardNumber="****4242" ExpireDate="0123"> <CardHolderName>Test</CardHolderName> </PaymentCard> </GuaranteeAccepted> </GuaranteesAccepted> </Guarantee> <Total AmountBeforeTax="200" AmountAfterTax="224" CurrencyCode="USD"> <Taxes Amount="24"/> </Total> <BasicPropertyInfo ChainCode="WSD" HotelCode="HOTKEY"/> <ResGuestRPHs> <ResGuestRPH RPH="0"/> </ResGuestRPHs> </RoomStay> </RoomStays> <Services> <Service Type="1" ID="CHOCOLATE" ServicePricingType="Per stay" ServiceInventoryCode="Chocolate and Strawberries" Inclusive="false" Quantity="1"> <Price> <Total AmountBeforeTax="10" CurrencyCode="USD"/> </Price> <ServiceDetails> <TimeSpan/> <Comments> <Comment> <Text>Chocolate and Strawberries</Text> </Comment> </Comments> </ServiceDetails> </Service> </Services> <ResGuests> <ResGuest ResGuestRPH="0" AgeQualifyingCode="10" PrimaryIndicator="true"> <Profiles> <ProfileInfo> <UniqueID Type="1" ID="12588050" ID_Context="CRS"/> <Profile ProfileType="1"> <Customer> <PersonName> <GivenName>Andrew</GivenName> <Surname>Sample</Surname> </PersonName> <Telephone PhoneTechType="1" PhoneUseType="3" PhoneNumber="3214564567" FormattedInd="false"/> <Email ShareMarketInd="No" DefaultInd="true">sampleemail@gmail.com</Email> <Email ShareMarketInd="No">andrew.sample@pmsvendor.com</Email> <Address> <AddressLine>5268 Electric Ave</AddressLine> <CityName>Los Angeles</CityName> <PostalCode>91651</PostalCode> <StateProv StateCode="CA"/> <CountryName Code="US"/> </Address> </Customer> </Profile> </ProfileInfo> </Profiles> <InHouseTimeSpan Start="2021-06-24" Duration="P1N" End="2021-06-25"/> </ResGuest> </ResGuests> <ResGlobalInfo> <HotelReservationIDs> <HotelReservationID ResID_Type="14" ResID_Value="RWZ7465ZG" ResID_Source="CRS" ResID_SourceContext="CrsConfirmNumber" ResID_Date="2021-06-24T05:32:47.1283939-06:00"/> </HotelReservationIDs> </ResGlobalInfo> <TPA_Extensions> <Success/> </TPA_Extensions> </HotelReservation> </HotelReservations> </OTA_HotelResNotifRQ>

OTA_HotelResNotifRQ Sample Reservation New (Masked Card Number)

<OTA_HotelResNotifRQ xmlns:xsi="http://www.w3.org/2001/MXMLSchema-instance" Version="1.0" xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="5e58fefd-937c-4622-bec9-4215a56cae73" TimeStamp="2022-09-28T14:45:25.1903724+05:30" ResStatus="Book" PrimaryLangID=""> <HotelReservations> <HotelReservation ResStatus="Reserved" CreateDateTime="2022-09-28T14:45:25.1903724+05:30"> <RoomStays> <RoomStay MarketCode="COM" SourceOfBusiness="CPM"> <RoomTypes> <RoomType RoomTypeCode="Room1" NumberOfUnits="1" IsRoom="true" InvBlockCode="" /> </RoomTypes> <RatePlans> <RatePlan RatePlanCode="RGWEB" /> </RatePlans> <RoomRates> <RoomRate EffectiveDate="2022-09-28" ExpireDate="2022-09-29" RoomTypeCode="Room1" RatePlanCode="RGWEB" NumberOfUnits="1"> <Rates> <Rate RateTimeUnit="Day" UnitMultiplier="1" EffectiveDate="2022-09-28" ExpireDate="2022-09-29"> <Base AmountBeforeTax="61.00" CurrencyCode="USD" DecimalPlaces="2" /> <Total AmountBeforeTax="61.00" CurrencyCode="USD" DecimalPlaces="2" /> </Rate> </Rates> </RoomRate> </RoomRates> <GuestCounts IsPerRoom="true"> <GuestCount AgeQualifyingCode="10" Count="1" /> <GuestCount AgeQualifyingCode="8" Count="0" /> </GuestCounts> <TimeSpan Start="2022-09-28" End="2022-09-29" Duration="P1N" /> <Total AmountBeforeTax="61.00" AmountAfterTax="61.00" CurrencyCode="USD"> <Taxes Amount="0" /> </Total> <BasicPropertyInfo ChainCode="WSD" HotelCode="EXAMPLE" /> </RoomStay> </RoomStays> <ResGuests> <ResGuest> <Profiles> <ProfileInfo> <Profile ProfileType="1"> <Customer BirthDate="0001-01-01"> <PersonName> <GivenName>John</GivenName> <Surname>Test</Surname> </PersonName> <Telephone FormattedInd="false" PhoneTechType="1" PhoneNumber="602-870-4200" PhoneUseType="3" /> <Email></Email> <Address CompanyName="NCORP037" FormattedInd="false" DefaultInd="false"> <AddressLine>123 Main st</AddressLine> <AddressLine></AddressLine> <CityName>Phoenix</CityName> <PostalCode>85020</PostalCode> <StateProv StateCode="AZ" /> <CountryName Code="US" /> </Address> </Customer> </Profile> </ProfileInfo> </Profiles> </ResGuest> </ResGuests> <ResGlobalInfo> <Guarantee GuaranteeCode="PP"> <GuaranteesAccepted> <GuaranteeAccepted PaymentransactionTypeCode="charge"> <!-- <PaymentCard CardType="1" CardCode="" CardNumber="" ExpireDate="2019-05-11" SeriesCode="123"><CardHolderName></CardHolderName></PaymentCard> --> <PaymentCard CardType="1" CardCode="VI" ExpireDate="0123" SecureInd="true"> <CardHolderName>TEST TESTSE</CardHolderName> <CardNumber MaskedCardNumber="xxxxxxxxxxxx1111" Token="4432819799961111" TokenProvider="ElavonFusebox" /> </PaymentCard> </GuaranteeAccepted> </GuaranteesAccepted> </Guarantee> <Total AmountBeforeTax="60" AmountAfterTax="60" CurrencyCode="USD" DecimalPlaces="2" /> <HotelReservationIDs> <HotelReservationID ResID_Type="14" ResID_Value="987654321" ResID_Source="PMS" ResID_SourceContext="PmsConfirmNumber" /> </HotelReservationIDs> <Profiles> <ProfileInfo> <UniqueID ID_Context="CompanyID" ID="NCORP037" Type="4" /> <Profile ProfileType="3"> <CompanyInfo> <CompanyName CompanyShortName="NCORP037" TravelSector="3" Code="NCORP037" CodeContext="CRS" /> <AddressInfo> <AddressLine>Suite 1800</AddressLine> <AddressLine>1900 West Loop South</AddressLine> <CityName>Houston11</CityName> <PostalCode>77027</PostalCode> <StateProv StateCode="TX" /> <CountryName Code="US" /> </AddressInfo> <TelephoneInfo PhoneTechType="1" PhoneUseType="3" PhoneLocationType="4" PhoneNumber="333-222-3344" FormattedInd="false" /> <Email>integ@shrgroup.com</Email> </CompanyInfo> </Profile> </ProfileInfo> </Profiles> </ResGlobalInfo> </HotelReservation> </HotelReservations> </OTA_HotelResNotifRQ>

OTA_HotelResNotifRS Elements & Attributes

Element | @Attribute

Num

Description/Contents

Origin | Value

OTA_HotelResNotifRS

 1  

Root element of the message.  

   

@EchoToken  

 0..1  

As per OTA Specifications.  

   

@Version  

 1  

Version is a mandatory attribute in OTA; therefore, it must remain Mandatory in HTNG to be able to use the same message.  

 1.00  

@TimeStamp  

 1  

Time of the transaction.  

   

@ResResponseType  

 1  

Given that the OTA_HotelResNotifRQ message is used for additions, modifications, and cancellations, this attribute is used to replicate whether the original message was an addition, a modification, or a cancellation and does not refer to the status of the transaction itself but rather to the nature of the original message. The only three enumerations allowed will therefore be: Committed, Modified, and Cancelled. In this case Committed would be used.

“ADD” -> “Committed”

“CHANGE” -> “Modified”

“CANCEL” -> “Cancelled” 

OTA_HotelResNotifRS / Errors / Error

 1..99  

Mandatory ONLY if Success element is not sent. Only needed if RQ message was unsuccessful.

 

@Type  

 1  

Mandatory in OTA. Refers to OTA EWT list (error warning type).

   

@Code  

 0..1  

Refers to OTA list ERR. Should be used whenever possible.

   

@RecordID  

 0..1  

If the receiving system can identify within a batch of reservations which reservation failed, the uniqueID of the rejected reservation should be reported here.

Not mapped  

OTA_HotelResNotifRS / Success  

 1  

Mandatory if no Errors were sent. This is the annotation that the reservation batch was received successfully. It could be combined with warning messages if some of the reservations in the batch had issues.

   

OTA_HotelResNotifRS / Warnings / Warning

 0..99  

Can be used in conjunction with Success message.

   

@Type  

 1  

Refers to OTA EWT list (error warning type).

   

@Code  

 0..1  

Refers to OTA list ERR. Should be used wherever possible.

   

@RecordID  

 0..1  

If the receiving system can identify within a batch of reservations which reservation has a warning, the uniqueID of that reservation should be reported here.

   

OTA_HotelResNotifRS / HotelReservations / HotelReservation  

   

   

1 for each reservation detail record

@ResStatus  

   

Indicates the status of the reservation. Valid values are dependant on the roles:

Reservation Broker > Reservation Server

• Reserved

• Waitlisted

Reservation Server > Reservation Broker

• Reserved

• Waitlisted

 “Reserved”  

OTA_HotelResNotifRS / HotelReservations / HotelReservation / UniqueID

 1  

This is the confirmation number for the originator of the booking (i.e., the system which sent the OTA_HotelResNotifRQ message for which the OTA_HotelresNotifRS message is sent).

   

@Type

 1  

Type is assigned values from the UIT code list. If the original system was a CRS:

Type = 14 – Reservation

ID is the actual confirmation number

If it was a PMS: Type = 10 - Hotel

“14” (CRS) 

“10” (PMS)

@ID

 1  

ID is the CRS confirmation number (or PMS number if the reservation was originated in the PMS).

   

OTA_HotelResNotifRS /  HotelReservations / HotelReservation / ResGlobalInfo / HotelReservationIDs / HotelReservationID

 1..n  

This is the confirmation number associated by the system which received the booking.

   

@ResID_Type

 1  

ResID_Type is assigned values from the
UIT code list:

10 – Reservation Server
13 – Internet Broker
14 – Reservation Broker
24 – Travel Agent PNR
25- Associated reservation (travelling with)
26- Associated itinerary reservation
27- Associated shared reservation
34 – Master Itinerary


For any other type of system, the implementing partners should agree on the appropriate code from the OTA UIT code list.

   

@ResID_Value

 1  

ResID_Value is the actual confirmation number.

 See above  

@ResID_Source  

 0..1  

A unique identifier to indicate the source system which generated the ResID_Value  

In the descriptions above these are hardcoded as “CRS” and “PMS”. In fact, they are configurable: Use
Info.ResID_Source.Crs and Info.ResID_Source.Pms in code.

 @ForGuest  

 0..1  

When 1 the confirmation number given to the guest. This number should be searchable by the destination.

 Always true  

OTA_HotelResRS Sample Response Message