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_HotelResRQ 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 )
|
|
@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
Reservation Bk
| 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”, 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. | From PMS: “10” for PMS To PMS: Expect “14” for CRS |
@ID | 1 | ID is the actual confirmation number. | To PMS: Source Res Number From PMS: Source Reservation Number, which is 7 digits or less for e4W, 8 digits for HMS OR by option e4W/e4N long number, which is 11 digits long. |
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 / | 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 | 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.). | |
@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. |
|
OTA_HotelResRQ Message Sample
<?xml version="1.0" encoding="utf-8"?> <OTA_HotelResRQ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ResStatus="Book" EchoToken="20160508175004" xmlns="http://www.opentravel.org/OTA/2003/05"> <POS> <Source> <RequestorID Type="1" ID="VISIT" ID_Context="Booking Channel"/> <BookingChannel Type="ADS"> <CompanyName CompanyShortName="ABC" Code="ABC"/> </BookingChannel> </Source> </POS> <HotelReservations> <HotelReservation RoomStayReservation="true"> <RoomStays> <RoomStay> <RoomTypes> <RoomType RoomID="64338" InvBlockCode="" RoomTypeCode="STD0001K" IsRoom="true"/> </RoomTypes> <RatePlans> <RatePlan RatePlanID="UDB02APR" RatePlanCode="UDB02APR"/> </RatePlans> <RoomRates> <RoomRate NumberOfUnits="1" RatePlanCode="UDB02APR" EffectiveDate="2016-06-17" ExpireDate="2016-06-19" RoomTypeCode="STD0001K"> <Rates> <Rate EffectiveDate="2016-06-17" ExpireDate="2016-06-17"> <Base CurrencyCode="USD" AmountAfterTax="167.13" AmountBeforeTax="148.58"> <Taxes Amount="18.55"/> </Base> </Rate> <Rate EffectiveDate="2016-06-18" ExpireDate="2016-06-18"> <Base CurrencyCode="USD" AmountAfterTax="167.13" AmountBeforeTax="148.58"> <Taxes Amount="18.55"/> </Base> </Rate> </Rates> <Total CurrencyCode="USD" AmountAfterTax="334.27" AmountBeforeTax="297.16"> <Taxes Amount="37.11"/> </Total> </RoomRate> </RoomRates> <GuestCounts> <GuestCount AgeQualifyingCode="10" Count="2"/> </GuestCounts> <TimeSpan Start="2016-06-17" End="2016-06-19"/> <Guarantee GuaranteeCode="DX"> <GuaranteesAccepted> <GuaranteeAccepted> <PaymentCard ExpireDate="0420" CardCode="VISA" CardNumber="****************"> <CardHolderName>CC Holder</CardHolderName> </PaymentCard> </GuaranteeAccepted> </GuaranteesAccepted> </Guarantee> <Total CurrencyCode="USD" AmountAfterTax="334.27" AmountBeforeTax="297.16"> <Taxes Amount="37.11"/> </Total> <BasicPropertyInfo HotelCode="AAABBBCCC01" ChainCode="ABC"/> <Comments> <Comment Name="" CommentOriginatorCode="Guest" GuestViewable="true"> <Text>5% Loyalty discount USD17.59 applied</Text> </Comment> </Comments> </RoomStay> </RoomStays> <Services/> <ResGuests> <ResGuest> <Profiles> <ProfileInfo> <Profile ProfileType="1"> <Customer> <PersonName> <GivenName>Test</GivenName> <Surname>Test</Surname> </PersonName> <Telephone PhoneNumber="832-863-1111" FormattedInd="false"/> <Email ShareMarketInd="No">sam@whiteboardlabs.com</Email> <Address> <AddressLine>12431 Test Dr</AddressLine> <CityName>Houston</CityName> <PostalCode>77082</PostalCode> <StateProv StateCode="TX"/> <CountryName Code="USA"/> </Address> <CustLoyalty MembershipID="123"/> </Customer> </Profile> </ProfileInfo> <ProfileInfo> <Profile ProfileType="3"> <CompanyInfo> <CompanyName CompanyShortName="ZODI2014" Code="ZODI2014" CodeContext="CRS"/> </CompanyInfo> </Profile> </ProfileInfo> </Profiles> </ResGuest> </ResGuests> </HotelReservation> </HotelReservations> </OTA_HotelResRQ>
OTA_HotelResNotifRS Elements & Attributes
Level | Occurrence | Type | Element Name Attribute Name | Mandatory (M) Optional (O) | Data Type | “Sample Value” Usage |
0 | 1 | E | OTA_HotelResNotifRS |
|
|
|
|
| A | ResStatus | O | Codes | "Book", "Modify", "Cancel" |
|
| A | EchoToken | O | String (128) | The same EchoToken in the request message |
|
| A | TimeStamp | M | Datetime | Indicates the creation date and time of the message in UTC using the following format specified by ISO 8601: YYYYMMDDThh:mm:ssZ with time values using the 24 hour clock (e.g. 20 November 2009, 1:59:38 pm UTC becomes 20091120T13:59:38Z). |
|
| A | Version | M | Decimal | “1.00” |
1 | 1 | E | HotelReservations | M |
| A collection of hotel reservations. |
2 | 1 | E | HotelReservation | M |
| The Reservation class contains the current reservation being created or altered. |
3 | 1 | E | ResGlobalInfo | O |
| A container for information that affects the Reservation as a whole, including global comments, counts, reservation IDs, loyalty programs, and payment methods. |
4 | 1 | E | HotelReservationIDs | O |
| A collection of HotelReservationID objects for a given reservation. The collection of all ReservationIDs can include Passenger Name Record (PNR), Guest Name Record (GNR) and Guest Folio numbers. A confirmation number which is usually given to the guest can be associated with each. |
5 | 1.. n | E | HotelReservationID | M |
| Contains various unique (ReservationID) and non unique (ConfirmationID, CancellationID) identifiers that the trading partners associate with a given reservation. |
|
| A | ResID_Type | O | Codes | Defines the type of Reservation ID i.e., reservation number, cancellation number). Refer to OTA Code List Unique ID Type (UIT). |
|
| A | ResID_Value | O | String (64) | The actual value associated with ResID_Type as generated by the system that is the source of the ResID_Type. |
|
| A | ResID_Date | O | Datetime | Date of the creation of this reservation. |
|
| A | ResGuestRPH | O | String (1,8) [09] | A reference placeholder used as an index for this guest in this reservation. In the ResGuest object, it is used like all other RPH attributes to send the delta of a reservation and used by the RoomStay and Service objects to indicate which guests are associated with that room stay or service. It is also used to link a guest with a ReservationID |
|
| A | CancelOriginatorCode | O | String (64) | Identifying code of the system that initiated the cancel of this reservation. |
|
| A | CancellationDate | O | Datetime | Date this reservation was cancelled. |
1 | 1 | E | Success | O |
| The presence of the empty Success element explicitly indicates that the OTA versioned message succeeded. |
1 | 1 | E | Warnings | O |
| Used in conjunction with the Success element to define one or more business errors. |
2 | 1..9 9 | E | Warning | M | String | Standard way to indicate successful processing of an OTA message, but one in which warnings are generated |
|
| A | Type | M | Codes | The Warning element MUST contain the Type attribute that uses a recommended set of values to indicate the warning type. The validating XSD can expect to accept values that it has NOT been explicitly coded for and process them by using Type ="Unknown". Refer to OTA Code List Error Warning Type (EWT). |
|
| A | Code | O | Codes | If present, this refers to a table of coded values exchanged between applications to identify errors or warnings. Refer to OTA Code List Error Codes (ERR). |
1 | 1 | E | Errors | O |
| Errors are returned if the request was unable to be processed. |
2 | 1..9 9 | E | Error | M | String | Standard way to indicate that an error occurred during the processing of an OTA message |
|
| A | Type | M | Codes | The Warning element MUST contain the Type attribute that uses a recommended set of values to indicate the warning type. The validating XSD can expect to accept values that it has NOT been explicitly coded for and process them by using Type ="Unknown". Refer to OTA Code List Error Warning Type (EWT). |
|
| A | Code | O | Codes | If present, this refers to a table of coded values exchanged between applications to identify errors or warnings. Refer to OTA Code List Error Codes (ERR). |
OTA_HotelResRS Message Sample
<?xml version="1.0" encoding="utf-8"?> <OTA_HotelResRS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" EchoToken="20160508175004" TimeStamp="2016-05- 08T11:58:40.59375-06:00" xmlns="http://www.opentravel.org/OTA/2003/05"> <POS> <Source> <RequestorID Type="1" ID="VISIT" ID_Context="Booking Channel"/> <BookingChannel Type="ADS"> <CompanyName CompanyShortName="ABC" Code="ABC"/> </BookingChannel> </Source> </POS> <HotelReservations> <HotelReservation RoomStayReservation="true"> <RoomStays> <RoomStay> <RoomTypes> <RoomType RoomID="64338" InvBlockCode="" RoomTypeCode="STD0001K" IsRoom="true"/> </RoomTypes> <RatePlans> <RatePlan RatePlanID="UDB02APR" RatePlanCode="UDB02APR"/> </RatePlans> <RoomRates> <RoomRate NumberOfUnits="1" RatePlanCode="UDB02APR" EffectiveDate="2016-06-17" ExpireDate="2016-06- 19" RoomTypeCode="STD0001K"> <Rates> <Rate EffectiveDate="2016-06-17" ExpireDate="2016-06-17"> <Base CurrencyCode="USD" AmountAfterTax="167.13" AmountBeforeTax="148.58"> <Taxes Amount="18.55"/> </Base> </Rate> <Rate EffectiveDate="2016-06-18" ExpireDate="2016-06-18"> <Base CurrencyCode="USD" AmountAfterTax="167.13" AmountBeforeTax="148.58"> <Taxes Amount="18.55"/> </Base> </Rate> </Rates> <Total CurrencyCode="USD" AmountAfterTax="334.27" AmountBeforeTax="297.16"> <Taxes Amount="37.11"/> </Total> </RoomRate> </RoomRates> <GuestCounts> <GuestCount AgeQualifyingCode="10" Count="2"/> </GuestCounts> <TimeSpan Start="2016-06-17" End="2016-06-19"/> <Guarantee GuaranteeCode="DX"> <GuaranteesAccepted> <GuaranteeAccepted> <PaymentCard ExpireDate="0420" CardCode="VISA" CardNumber="************2945"> <CardHolderName>CC Holder</CardHolderName> </PaymentCard> </GuaranteeAccepted> </GuaranteesAccepted> </Guarantee> <Total CurrencyCode="USD" AmountAfterTax="334.27" AmountBeforeTax="297.16"> <Taxes Amount="37.11"/> </Total> <BasicPropertyInfo HotelCode="AAABBBCCC01" ChainCode="ABC"/> <Comments> <Comment Name="" CommentOriginatorCode="Guest" GuestViewable="true"> <Text>5% Loyalty discount USD17.59 applied</Text> </Comment> </Comments> </RoomStay> </RoomStays> <Services/> <ResGuests> <ResGuest> <Profiles> <ProfileInfo> <Profile ProfileType="1"> <Customer> <PersonName> <GivenName>First</GivenName> <Surname>Last</Surname> </PersonName> <Telephone PhoneNumber="3104157019" FormattedInd="false"/> <Email ShareMarketInd="No">abc@gmail.com</Email> <Address> <AddressLine>123 Anywhere</AddressLine> <CityName>New York</CityName> <PostalCode>10009</PostalCode> <StateProv>NY</StateProv> <CountryName Code="US">United States</CountryName> </Address> <CustLoyalty ProgramID="" MembershipID="000000000000017"/> </Customer> </Profile> </ProfileInfo> </Profiles> </ResGuest> </ResGuests> <ResGlobalInfo> <HotelReservationIDs> <HotelReservationID ResID_Type="14" ResID_Value="418ZAGP54"/> </HotelReservationIDs> </ResGlobalInfo> </HotelReservation> </HotelReservations> <Success/> </OTA_HotelResRS>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Header> <HTNGHeader xmlns="http://htng.org/2009B"> <From> </From> </HTNGHeader> </soap:Header> <soap:Body> <Credential> <userName>TestShopping</userName> <password>2MFfdaLGEr</password> </Credential> <GetHotelReservation xmlns="http://htng.org/2009B"> <OTA_HotelGetMsgRQ Version="0" xmlns="http://www.opentravel.org/OTA/2003/05"> <Messages> <Message HotelCodeContext="WEB" ReasonForRequest="Get Reservation" ConfirmationID="4V87526FA"/> </Messages> </OTA_HotelGetMsgRQ> </GetHotelReservation> </soap:Body> </soap:Envelope>
<?xml version="1.0" encoding="utf-8"?> <OTA_HotelGetMsgRS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" TimeStamp="2016-06-17T10:45:33.0981435-05:00" Version="0"> <Messages xmlns="http://www.opentravel.org/OTA/2003/05"> <Message> <MessageContent> <OTA_HotelResRS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" EchoToken="1347620160617094533" TimeStamp="2016-06- 17T09:45:33.0981435-06:00" xmlns="http://www.opentravel.org/OTA/2003/05"> <HotelReservations> <HotelReservation CreatorID="CRS" CreateDateTime="2016-06- 09T12:45:18.7150736-06:00" RoomStayReservation="true"> <UniqueID Type="14" ID="4V87526FA" ID_Context="CRSConfirmationID"/> <UniqueID Type="15" ID="179588714.955259" ID_Context="IDSConfirmationID"/> <UniqueID Type="16" ID="4V87526FA" ID_Context="CRSCancelID"/> <RoomStays> <RoomStay> <RoomTypes> <RoomType RoomTypeCode="STD0001S" NumberOfUnits="1" IsRoom="true"/> </RoomTypes> <RatePlans> <RatePlan RatePlanCode="UDB1323R" EffectiveDate="2016-06-10" ExpireDate="2016-06-11"/> </RatePlans> <RoomRates> <RoomRate NumberOfUnits="1" RatePlanCode="UDB1323R" EffectiveDate="2016-06-10" ExpireDate="2016-06-11" RoomTypeCode="STD0001S"> <Rates/> <Rate UnitMultiplier="1" EffectiveDate="2016-06-10" ExpireDate="2016-06-11" RateTimeUnit="Day"/> <Base CurrencyCode="GBP" AmountBeforeTax="100"/> <Total CurrencyCode="GBP" AmountBeforeTax="100"/> </RoomRate> </RoomRates> <GuestCounts IsPerRoom="true"> <GuestCount AgeQualifyingCode="10" Count="1"/> </GuestCounts> <TimeSpan Start="2016-06-10" Duration="P1N" End="2016-06-11"/> <Total CurrencyCode="GBP" AmountAfterTax="120" AmountBeforeTax="100"/> <BasicPropertyInfo HotelCode="MAYMIL01" ChainCode="MM"/> </RoomStay> </RoomStays> <ResGuests> <ResGuest> <Profiles> <ProfileInfo> <Profile ProfileType="1"> <Customer> <PersonName> <GivenName>Test</GivenName> <Surname>Test</Surname> </PersonName> <Telephone PhoneTechType="1" PhoneUseType="3" PhoneNumber="832-863-1111" FormattedInd="false"/> <Email ShareMarketInd="No" DefaultInd="true">sam@whiteboardlabs.com</Email> <Address> <AddressLine>12431 Test Dr</AddressLine> <CityName>Houston</CityName> <PostalCode>77082</PostalCode> <StateProv StateCode="TX"/> <CountryName Code="USA"/> </Address> </Customer> </Profile> </ProfileInfo> </Profiles> </ResGuest> </ResGuests> <ResGlobalInfo> <Guarantee> <GuaranteesAccepted> <GuaranteeAccepted PaymentTransactionTypeCode="charge"> <PaymentCard ExpireDate="0618" CardType="1" CardCode="145" CardNumber="4444333322221111"> <CardHolderName>SHR Test</CardHolderName> </PaymentCard> </GuaranteeAccepted> </GuaranteesAccepted> </Guarantee> <Total CurrencyCode="GBP" AmountAfterTax="120" AmountBeforeTax="100"/> <HotelReservationIDs> <HotelReservationID ResID_Type="14" ResID_Value="4V87526FA" ResID_Source="CRS" ResID_SourceContext="CrsConfirmNumber"/> <HotelReservationID ResID_Type="15" ResID_Value="1812996" ResID_Source="CRS" ResID_SourceContext="CrsCancellationNumber"/> </HotelReservationIDs> <Profiles> <ProfileInfo> <UniqueID Type="5" ID="ZODI2014" ID_Context="IATA"/> <Profile ProfileType="4"> <CompanyInfo> <CompanyName CompanyShortName="ZODI2014" Code="ZODI2014" CodeContext="IATA"/> <TelephoneInfo PhoneTechType="1" PhoneUseType="3" PhoneNumber=" " FormattedInd="false"/> </CompanyInfo> </Profile> </ProfileInfo> </Profiles> </ResGlobalInfo> </HotelReservation> </HotelReservations> </OTA_HotelResRS> </MessageContent> </Message> </Messages> </OTA_HotelGetMsgRS>