Booking Notification API
ReferenceBooking Notification API

New reservations

Booking Notification API uses the <OTA_HotelResNotifRQ/RS> message pair to send notifications for traveler reservations from Expedia Group to the property’s system. Requests from Expedia Group will be made using the <OTA_HotelResNotifRQ> message and responses from properties will be received in the <OTA_HotelResNotifRS> message.

The Expedia Group’s internal @ResID_Value will be placed in a <HotelReservationID> element in the <OTA_HotelResNotifRQ> message. When reservations are confirmed (positive response), you will return an <OTA_HotelResNotifRS> response message with an additional <HotelReservationID> that will contain your confirmation number. Expedia Group uses the two following @ResID_Type values:

  • 3 for Confirmation
  • 8 for Reservation

For reservation (OTA_HotelResNotifRQ), Expedia Group uses 8 to send its reservation number. For modification (OTA_HotelResModifyNotifRQ), Expedia Group uses 3 for your confirmation number and 8 for the Expedia Group reservation number.

To understand how Expedia Virtual Card impacts the booking process, see What is Expedia Virtual Card?.

The Booking Notification API uses SOAP, and all requests and responses must be sent over a secure connection. All request and response bodies, including errors, are encoded in XML. The Booking Notification API follows the Expedia Group XML schema definition, so be sure to download the latest version and use it to validate your responses.

Request

The <OTA_HotelResNotifRQ> element is the root element for new reservations, and it requires the xmlns attribute, which is the namespace to which this message belongs. Current namespace for requests is http://www.opentravel.org/OTA/2003/05. The message also requires additional attributes for the request to be recognized by your system.

Syntax
1<soap-env:Body>
2 <OTA_HotelResNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="******token1234******" PrimaryLangID="{id}" ResStatus="{status}" Target="target" TimeStamp="{ISO 8601 timestamp}" Version="{version}">
3 <POS>{point_of_sale}</POS>
4 <HotelReservations>{reservations}</HotelReservations>
5 </OTA_HotelResNotifRQ>
6</soap-env:Body>
Root attributes

Name

Description

@EchoToken

A sequence number for additional message identification, assigned by the requesting host system. It must be echoed back in the corresponding response message. In the booking notification request generated by Expedia Group, EchoToken has the same value as the RequestId in the Header. Occurs once; Data type: string, 1-20 characters

@TimeStamp

Date and time when the request message was sent by Expedia Group. Data type: date, time; Timestamp as defined in ISO 8601 extended format.

Will always be in the following format: YYYY-MM-DDThh:mm:ssZ

@Target

Indicates the message is a production message. Data type: String, value is always “Production”

@Version

Version of the OTA message. Data type: decimal, n.nnn Value 1.000

@PrimaryLanguageID

Primary language code. Data type: string, value is always “en-us”

@ResStatus

An enumeration that indicates the action to be taken on the request. Data type: string, value: only “Commit” is supported.

POS element

This is a child of <OTA_HotelResNotifRQ>, and it is the container element for point of sale information. The POS element is used to identify the point of sale, or the source of the booking. This element is mandatory in all booking notification requests, except for the ping request.

Up to 2 POS <Source> child elements can be included within the POS element. The <Source> element is the booking notification source. There can be up to 2 sources, for partners who adhere to the group reconciliation process known as Partner Pay, for Hotel Collect commission reconciliation. For most partners, only one source will be sent.

The current POS ID values for Expedia Collect bookings are listed under Booking source (Expedia Group points of sale) list.

Syntax
1<POS>
2<Source>
3<RequestorID ID="pointofsale" Type="value" />
4<BookingChannel Primary="Boolean" Type="2">
5<CompanyName>Expedia</CompanyName>
6</BookingChannel>
7</Source>
8</POS>
Hierarchy
1<soap-env:Body>
2<OTA_HotelResNotifRQ>
3<POS>
Child elements

Name

Description

<RequestorID> element

This is a child element of the <POS> element.

Identifier of the notification requestor. For Booking Notification messages, the requestor is Expedia Group. Occurs once per message.

Attributes:

  • Type- This attribute refers to the type of requestor. Data type: String 16, fixed value either 18=Other (used by all bookings) or 5=Travel Agency (used by Hotel Collect booking only).
  • ID- This attribute identifies the requestor. For @Type=18, the ID value is within the value set provided under the Point of Sale Brand List. For @Type=5, when applicable, the ID value is equal to the TIDS ID defined for the property. Occurs once per message. Data type: string, 1-32 characters

<BookingChannel> element

This is a child element of the <POS> element.

Optional. This is sent only for @Type=18. Omitted for @Type=5.

Attributes:

  • Type- This attribute represents the type of booking channel. Data type: numeric, fixed value 2= CRO (Customer Reservations Office).
  • Primary- The attribute indicates whether the enumerated booking channel is the primary means of connectivity used by the source. Data type: Boolean, fixed value = true

The <CompanyName> element is a child element of the <BookingChannel> element.

This element identifies the company that is associated with the source ID. Data type: string, 1-64 characters. For Booking Notification, the supported value is "Expedia".

Additional POS ID values are sent in the e-notification message for Hotel Collect bookings. The values are the same for the respective points of sales, but prefixed with the letter "A-" in front of the current values.

The additional POS ID 5 is used to return a TIDS for properties participating in Expedia Group Reconciliation process. TIDS are issued and managed by the IATA group. They are used to identify the Expedia Group contracting entities and compensation payment currencies. Note that TIDS ID is not related to POS ID. Possible values are driven by points of supply.

To help better understand the <POS> element, a few examples are provided here for bookings with different points of sale.

Note: You can contact your Expedia Group Technical Relationship Manager for more details about this feature.

Expedia Collect bookings sourced from Expedia Group points of sale:

1<POS>
2<Source>
3<RequestorID Type="18" ID="Expedia"/>
4<BookingChannel Type="2" Primary="true">
5<CompanyName>Expedia</CompanyName>
6</BookingChannel>
7</Source>
8</POS>

Expedia Collect bookings sourced from Hotels.com points of sale:

1<POS>
2<Source>
3<RequestorID Type="18" ID="Hotels.com"/>
4<BookingChannel Type="2">
5<CompanyName>Expedia</CompanyName>
6</BookingChannel>
7</Source>
8</POS>

Expedia Collect bookings sourced from American Express points of sale ('American Express Travel' in this case):

1<POS>
2<Source>
3<RequestorID Type="18" ID="American Express Travel"/>
4<BookingChannel Type="2">
5<CompanyName>Expedia</CompanyName>
6</BookingChannel>
7</Source>
8</POS>

Hotel Collect bookings sourced from Expedia Group points of sale:

1<POS>
2<Source>
3<RequestorID Type="18" ID="A-Expedia"/>
4<BookingChannel Type="2" Primary="true">
5<CompanyName>Expedia</CompanyName>
6</BookingChannel>
7</Source>
8<Source>
9<RequestorID Type="5" ID="12345678"/>
10</Source>
11</POS>

Hotel Collect bookings sourced from Hotels.com points of sale:

1<POS>
2<Source>
3<RequestorID Type="18" ID="A-Hotels.com"/>
4<BookingChannel Type="2">
5<CompanyName>Expedia</CompanyName>
6</BookingChannel>
7</Source>
8</POS>

Hotel Collect bookings sourced from Travelocity points of sale:

1<POS>
2<Source>
3<RequestorID Type="18" ID="A-Travelocity"/>
4<BookingChannel Type="2">
5<CompanyName>Expedia</CompanyName>
6</BookingChannel>
7</Source>
8<Source>
9<RequestorID Type="5" ID="12345678"/>
10</Source>
11</POS>

HotelReservations element

This is a container element that represents a collection of Hotel Reservations. Only 1 reservation will be sent per request message. It includes the <HotelReservation> element, which is the container element that represents a single booking.

Syntax
1<HotelReservations>
2<HotelReservation CreateDateTime="datetime" CreatorID="Expedia" RoomStayReservation="Boolean">
3<UniqueID ID="BookingID" Type="14"/>
4...
5</HotelReservation>
6</HotelReservations>
Hierarchy
1<soap-env:Body>
2<OTA_HotelResNotifRQ>
3<HotelReservations>
Child elements

Name

Description

<Hotel Reservation> element

This is a child element of the <HotelReservations> element and is the container element for a single booking. Occurs once per message.

Attributes:

  • RoomStayReservation- Data type: Boolean, always set to “true”
  • CreateDateTime- This attribute is the date and time stamp of when the reservation was created. Data type: datetime, ISO 8601 extended format YYYY-MM-DDThh:mm:ss[+/-]hh:mm
  • CreatorID- Data type: string, 1-7 characters. Value is always “Expedia”

<UniqueID> element

This element is a child element of the <HotelReservation> element.

It is the unique identifier of the reservation and occurs once per message.

Attributes:

  • Type- Occurs once. Data type: numeric, two digits. The value is always set to 14=Reservation
  • ID- This attribute is a unique identifying value assigned by the creating system to the reservation. This attribute occurs once per message and will be the Expedia Group booking ID. Data type: numeric, 1-10 digits

<RoomStays> element

This element is a child element of the <HotelReservation> element.

It is the container element for a collection of room stays, often referred to as segments. Occurs once per message.

Type: <RoomStays> element

<ResGuests> element

This element is a child element of the <HotelReservations> element.

This element is a container element for a collection of reservation guests.

Type: <ResGuests> element

<ResGlobalInfo> element

This element is a child element of the <HotelReservations> element.

The <ResGlobalInfo> element is the container element for a collection of objects which are common to the entire reservation.

Type:<ResGlobalInfo> element

RoomStays element

This element is a child element of the <HotelReservation> element. It is the container element for a collection of room stays, often referred to as segments. Occurs once per message. Each segment is represented by a separate<RoomStay> child element within the <RoomStays> element.

Syntax
1<RoomStays>
2<RoomStay>
3<RoomTypes>
4<RoomType IsRoom="true" RoomTypeCode="RoomTypeID"/>
5</RoomTypes>
6<RoomRates>
7</RoomRates>
8<RatePlans>
9<RatePlan EffectiveDate="date" ExpireDate="date" RatePlanCode="RatePlanID"/>
10</RatePlans>
11<RoomRates>
12</RoomRates>
13<GuestCounts IsPerRoom="Boolean">
14<GuestCount AgeQualifyingCode="Numeric (10 or 8 only)" Count="{integer}"/>
15</GuestCounts>
16<TimeSpan End="date" Start="date"/>
17<Guarantee>
18</Guarantee>
19<Total AmountAfterTax="{decimal}" CurrencyCode="Currency">
20</Total>
21<BasicPropertyInfo BrandCode="code" ChainCode="code" HotelCode="Expedia Hotel ID"/>
22<ResGuestRPHs>
23</ResGuestRPHs>
24<SpecialRequests>
25<SpecialRequest Language="en-us" RequestCode="{integer}">
26<Text Formatted="false" Language="en-us">String</Text>
27</SpecialRequest>
28<SpecialRequest Language="en-us" RequestCode="5">
29<Text Formatted="true" Language="en-us">request text</Text>
30</SpecialRequest>
31</SpecialRequests>
32</RoomStay>
33</RoomStays>
Hierarchy
1<soap-env:Body>
2<OTA_HotelResNotifRQ>
3<HotelReservations>
4<HotelReservation>
5<RoomStays>
Child elements

These elements reside in the<RoomStays>child element. <RoomStays> element is a child element of the <HotelReservation> element.

Name

Description

<RoomStay> element

This is a child element of the <RoomStays> element.

This element is a container for information about a single instance of a room stay. Single occurrence

<RoomTypes> element

This is a child element of the <RoomStay> element.

The <RoomTypes> element is a container element that represents a collection of room types. Room types serve as a list of rooms used in the room stay. Single occurrence.

Child element:

  • <RoomType>- This element is the container for an individual room type. Single occurrence.
  • IsRoom- Required attribute. Data type: string, 1-4 characters. Always set to “true”
  • RoomTypeCode- This attribute is the room type code. The attribute's value will be the Expedia Group room type ID. Data type: string, 1-16 characters

<RatePlans> element

This is a child element of the <RoomStay> element.

The <RatePlans> element is a container element that represents a collection of rate plans. Single occurrence.

Child element:

  • <RatePlan>element - This is the child element of the <RatePlans> element. It is the container for an individual rate plan. Will be repeated once per stay date.
  • RatePlanCode- This attribute contains the Expedia Group rate plan ID. Data type: string, 1-20 characters.
  • EffectiveDate- This attribute is the effective date. Will be repeated for each stay date covered by the booking. Single occurrence, can be ignored.Data type: YYYY-MM-DD
  • ExpireDate- This attribute represents the expiry date, which will be set to stay date+1. Singleoccurrence,can be ignored. Data type: YYYY-MM-DD
  • <Commission>element - This is a child element of the <RatePlan> element. This is a container element with the commission information for Hotel Collect bookings, though it can also be sent for Updated Expedia Collect bookings as described here. Single occurrence.
  • Percent- This attribute represents the applicable commission percentage for this stay date. This attribute is only returned for Hotel Collect bookings, though it can also be sent for Updated Expedia Collect bookings as described here. The percentage will be expressed as a value between 0.0000 and 1.0000. If discounts or Accelerators apply, they will be accounted for in the percentage specified. Single occurrence. Data type: float, value will be between 0.0000 and 1.0000.

<RoomRates> element

This is a child element of the <RoomStay> element.

The <RoomRates> element is a container element that represents a collection of room rates. Single occurrence.

Type: <RoomRates> element

<GuestCounts> elements

This is a child element of the <RoomStay> element.

The <GuestCounts> element is a container element that represents a collection of guest counts by age categories. Single occurrence.

Uses the @IsPerRoom attribute to indicate that the guest counts are per room. Expedia Group sends the guest counts by age category for a room and each reservation will be for a single room. Data type: Boolean, value always set to “true”.

#### Child elements

  • <GuestCount>element - This element represents the guest count for a given guest type. Occurs one to three times.
  • AgeQualifyingCode- The attribute refers to age category. Expedia Group uses the following OTA codes: 8 for Child and 10 for Adults. In this element, infants are categorized as children (unlike additional guest amounts, where infants are differentiated with a distinct code). Data type: numeric, values always either 8=Child or 10=Adults
  • Count- The attribute conveys the number of guests for the given age category. Single occurrence. Data type: numeric, up to two digits
  • Age-Optional.This attribute represents the age of each child. Only set when the Children age category is present. Data type: numeric

<TimeSpan> element

This is a child element of the <RoomStay> element.

The <TimeSpan> element covers the entire room stay. Single occurrence.

Attributes:

  • Start- This attribute is the start date for the entire room stay (aka check-in date). Single occurrence. Data type: YYYY-MM-DD
  • End- The end date for the entire room stay (aka check-out date). The maximum length of stay cannot exceed 28 nights. Data type: YYYY-MM-DD

<PaymentMethod> element

This is a child element of the <RoomStay> element.

The <PaymentMethod> element defines the method of payment. Values include VirtualCard, BankTransfer, CustomerCreditCard, Cash, and None.

<Payment> element

This is a child element of the <RoomStay> element.

The <Payment> element is a container element that holds details about the amount that can be charged and the payment model.

Attributes:

  • Amount- Amount that can be charged on the VirtualCard, or requested in Partner Central. Data type: Money
  • CurrencyCode- Currency of total payment amount. Data type: ISO 4216
  • Model- What the amount paid includes. See Hotel Collect, and Expedia Collect for additional details. Data type: String 6

<Guarantee> element

This is a child element of the <RoomStay> element.

The <Guarantee> element is the container for the guarantee and/or payment information. Single occurrence. Optional. The element is only sent for Expedia Collect bookings paid by Expedia Virtual Card or for Hotel Collect bookings paid by the customer.

Type: <Guarantee> element

<Total> element

This is a child element of the <RoomStay> element.

The <Total> element represents the total charge for the entire room stay.

Attributes:

  • AmountAfterTax- This attribute conveys the total charge, which could either be a net or sell value. Specifics on what is included in the amount can be found in the Learn section. Data type: money
  • CurrencyCode- The currency of the total charge. The attribute is the 3-letter currency code assigned to the property in Partner Central, based on theISO-4217specification. Data type: string

The <Total> element also contains the child element, <Taxes>, which contains the total taxes charged for the entire room stay.

Attributes:

  • Amount- This attribute is provides the total taxes, which could either be a net or gross value. Specifications on what is included in the amount can be found here. This will be the sum of all amounts in the child elements. With the current implementation Expedia only sends one child element for, but this could change in the future.. Data type: money
  • Currency- The currency of the total tax amount. The attribute is the 3-letter currency code assigned to the property in Partner Central, based on the ISO-4217 specification. Data type: string, 3 characters
  • <Tax> element- This is the child element of the <Taxes> element. It represents the individual tax breakdown. At least one occurrence.
  • Type- This attribute is an enumerated type that defines the way taxes are applied to a rate. Expedia Group sends the taxes separate from the rate, unless a property is configured as tax-inclusive, in which case taxes might appear as 0. Data type: string, 0-9 characters. Value is “Exclusive”.
  • Code- The code identifying the tax. Taxes will be combined into a single total. Data type: numeric, fixed value. 27=Miscellaneous.
  • Amount- The amount of the tax. Single occurrence. Data type: money
  • CurrencyCode- The currency of the tax amount. The attribute is the 3-letter currency code assigned to the property in Partner Central, based on the ISO-4217 specification. Data type: string, 3 characters

<BaseRateType> element

This is a child element of the <RoomStay> element.

This element defines whether the value sent in the base amountBeforeTax field is net or sell. Additional details on when this field is present, and how it is determined can be found in the What's New section. Data type: String 6

<BasicPropertyInfo> element

This is a child element of the <RoomStay> element.

The <BasicPropertyInfo> element represents the property associated with the room stay. The property reference identifies a specific property by using the Chain Code, the Brand Code, and the Hotel Code. Single occurrence.

Attributes:

  • HotelCode- This attribute is code that uniquely identifies a single property. Contains the Expedia Hotel ID. Data type: string, 1-16 characters

<ResGuestRPHs> element

This is a child element of the <RoomStay> element.

<ResGuestRPHs> is a container element that represents a collection of pointers (Reference Place Holders a.k.a. foreign keys) to establish a link between reservation guests and a given room stay. Optional, but when present, only one occurrence.

Child element:

  • <ResGuestRPH>-Optional. This element represents an individual guest RPH (pointer). This element is required only when the <ResGuestRPHs> element is used. Single occurrence.
  • RPH-Optional. The @RPH attribute is used to link the reservation guest to the room stay. Required when the <ResGuestRPH> element is used. Fixed value=1, as there is only one room stay per reservation and a single guest name. Data type: numeric, fixed value=1

<SpecialRequests> element

This is a child element of the <RoomStay> element.

<SpecialRequests> is a container element that represents a collection of special requests associated with the room stay. Optional.

Child elements and attributes:

  • <SpecialRequest> element - Optional but must be present when the <SpecialRequests> element is used. This element represents an individual special request:
  • Bed type
  • Smoking/non-smoking preference
  • Multi-room indicator
  • Customer's free-form text request
  • Payment instructions
  • Value Add Promotions
  • Language- This attribute is the primary language code.Optional, but must be present when the <SpecialRequest> element is used. Single occurrence for each <SpecialRequest> element. Data type: string, 1-5 characters; value is always “en-us”.
  • RequestCode- This attribute represents the coded special request.Optional, but must be present when the <SpecialRequest> element is used. Single occurrence for each <SpecialRequest> element. The special request codes are defined by Expedia Group. The complete list is provided under Enumerations in theSpecial request codes section. Data type: decimal, n.nn
  • <Text> element- This is a child element of <SpecialRequest> element. It contains the textual description of a special request.Optional, but must be present when the <SpecialRequest> element is used.

In the case of RequestCode=4, this element will contain the freeform text entered by the consumer (guest).

For RequestCode=5, this element will contain a special instruction for payment by credit card depending on Expedia Collect Expedia Virtual Card or Hotel Collect.

  • Text for Expedia Virtual Card: "Expedia Virtual Card will be activated from the day of Check-in."
  • Text for Hotel Collect: "Hotel Collect Booking - Collect Payment From Guest".
  • Text for No Credit Card bookings: "This guest booked without a credit card and will pay upon arrival. Be sure to reconcile this reservation and waive the cancellation fee to avoid paying unnecessary compensation if the guest cancels or doesn't show up."

For RequestCode=6, this element will contain the details of the Value Add Promotion, and should be stored in your system.

  • Formatted- This attribute indicates whether or not the text in the <Text> element is formatted or not.Optional, but must be present when the <Text> element is used. Data type: Boolean, true/false
  • Language- This attribute is the language in the <Text> element.Optional, but must be present when the <Text> element is used. Data type: string, 1-5 characters

RoomRates element

This element is a child element of the <RoomStay> element. It is the container element for a collection of room rates. Room rates contain the actual amounts charged for a room. Occurs once per message. Each rate is represented by a separate<RoomRate> child element within the <RoomRates> element.

Syntax
1<RoomRates>
2<RoomRate EffectiveDate="date" ExpireDate="date" NumberOfUnits="{integer}" PromotionCode="Promo Name" RatePlanCode="RatePlanID" RoomTypeCode="RoomTypeID">
3<Rates>
4<Rate EffectiveDate=""date" ExpireDate="date" RateTimeUnit="Day" UnitMultiplier="1">
5<Base AmountBeforeTax="{integer}" CurrencyCode="Currency"/>
6<Fees>
7<Fee Amount="Amount" Code="1" CurrencyCode="Currency" TaxInclusive="false" Type="Exclusive"/>
8</Fees>
9</Rate>
10</Rates>
11</RoomRate>
12<RoomRates>
Hierarchy
1<soap-env:Body>
2<OTA_HotelResNotifRQ>
3<HotelReservations>
4<HotelReservation>
5<RoomStays>
6<RoomStay>
7<RoomRates>
Child elements

These elements reside in the<RoomRates> child element.<RoomRates> element is a child element of the <RoomStay> element.

Name

Description

<RoomRate> element

This is a child element of the <RoomRates> element.

Each occurrence of the <RoomRate> element represents an individual room rate.

Attributes:

  • EffectiveDate- Represents the start date for room and rate combination. Occurs once within each <RoomRate> element. Data type: YYYY-MM-DD
  • ExpireDate- Represents the end date for room and rate combination. Occurs once within each <RoomRate> element. Data type: YYYY-MM-DD
  • RoomTypeCode- This attribute is the room type code, which contains the Expedia Group room type ID. Single occurrence per <RoomRate> element. Data type: string, 1-40 characters.
  • NumberOfUnits- The attribute refers to the number of rooms in the reservation. Expedia Group reservations are always for a single room. Single occurrence per <RoomRate> element. Data type: numeric, value is always “1”
  • RatePlanCode- This attribute contains the rate plan code, which contains the Expedia Group rate plan ID. Single occurrence per <RoomRate> element. Data type: string, 1-20 characters
  • PromotionCode-Optional.This attribute represents a code that identifies a special promotion. It is only used when guests take advantage of a promotion when booking.

Promotions can be set with Partner Central to offer special discounts to Expedia Group customers. Another type of promotion is called an Accelerator. The string will show "EFR" when an Accelerator is applied to a stay date. The presence of an Accelerator will signify a rate change.

Note: If both a promotion and Accelerator apply to the stay date, the promotion code will begin with "EFR*" and the code that follows is truncated to 28 characters.

Data type: string, 1-32 characters

<Rates> element

This is a child element of the <RoomRate> element.

The <Rates> element is a container for a collection of rates for a given room and rate combination. Rates can vary by date range and by age. Single occurrence.

<Rate> element

This is a child element of the <Rates> element.

This element is a container element. Each instance of the <Rate> element represents an individual rate, which includes the room rates, fees and extra person charges are as defined by the supplier.

Child elements and attributes:

  • EffectiveDate- Represents the start date for the rate. Occurs once within each <Rate> element. Data type: YYYY-MM-DD
  • ExpireDate- Represents the end date for room and rate combination. Occurs once within each <Rate> element. Data type: YYYY-MM-DD
  • RateTimeUnit- This attribute represents the rate time unit. Occurs once within each <Rate> element. Data type: string, 1-3 characters. Value is always set to “Day”
  • UnitMultiplier- Indicates the number of rate time units such as "3 Days". Occurs once within each <Rate> element. Data type: numeric, 1 to 2 digits

<Base> element

This is a child element of the <Rate> element.

The <Base> element contains the base rate and occurs at least once per <Rate> element.

Attributes:

  • AmountBeforeTax- This attribute represents the daily rate excluding taxes by default. For some suppliers it is possible that this rate would include taxes, based on how they are configured in Expedia Group's system. Values can be net or sell. Details on when each is sent can be found in the Learn section.
  • CurrencyCode- The currency of the rate. The attribute is the 3-letter currency code assigned to the property in Partner Central, based on the ISO-4217 specification. Data type: string, 3 characters

<AdditionalGuestAmounts> element

This is a child element of the <Rate> element.

The <AdditionalGuestAmounts> element is a container element for additional guest amounts. Optional. Only specified when additional guests amounts need to be charged.

Child elements and attributes:

  • <AdditionalGuestAmount> element- This element contains the incremental amount charged for additional occupants per qualifying age group. Occurs 1-14 times per <AdditionalGuestAmounts> element.
  • AgeQualifyingCode- The attribute for age category. Expedia Group uses the following OTA codes: 7 for Infant, 8 for Child and 10 for Adult. Data type: numeric, 1 to 2 digits. Values will be either 7, 8, or 10
  • <Amount> element- This is a child element of the <AdditionalGuestAmount> element. It contains the amount of additional guest fees.Optional.When the <AdditionalGuestAmount> element is present, it is required.
  • AmountBeforeTax- This attribute refers to the additional guest fees excluding taxes. Occurs once per <Amount> element. Data type: money
  • CurrencyCode- The currency of the additional guest fees. The attribute is the 3-letter currency code assigned to the property in Partner Central, based on the ISO-4217 specification. Data type: string, 3 characters

<Fees> element

This is a child element of the <Rate> element.

The <Fees> element is a container element for fees associated with a booking. Optional. This element is used only when a reservation includes fees. For those that do, the full structure will be sent. The Expedia Group booking engine calculates the daily fees, based on the service charges data entered by the Expedia Group Market Manager from information provided by the property.

The <Fee> element is the child element that sends the per day fees added on top of the base daily rate. These per day fees do not include the per stay fees, which are included in the <Total> element. Optional. Required when the <Fees> element is present. Single occurrence.

Attributes:

  • TaxInclusive- This attribute indicates whether taxes are included when figuring the fees. Expedia Group will always send fee amounts excluding taxes.Optional.Required when the <Fee> element is present. Single occurrence. Data type: string, 1-5 characters. Value will always be “false”
  • Type- The attribute is an enumerated type that defines the type of fees applied to a rate.Optional.Required when the <Fee> element is present. Single occurrence. Data type: string, 1-9 characters. Value is always “Exclusive”
  • Code- Attribute is the code identifying the fee.Optional.Required when the <Fee> element is present. Single occurrence. Expedia Group uses the following OTA code: 1 for Other fee. Data type: numeric, 1 digit. Value is always “1”
  • Amount- The attribute represents the fee amount.Optional.Required when the <Fee> element is present. Single occurrence. Data type: money
  • CurrencyCode- The currency of the fee amount. The attribute is the 3-letter currency code assigned to the property in Partner Central, based on the ISO-4217 specification. Data type: string, 3 characters

Guarantee element

This element is a child element of the <RoomStay> element. It is the container element for guarantee and/or payment information. Optional. It is sent only for Expedia Collect bookings paid by Expedia Virtual Card, or for Hotel Collect bookings paid by the customer. When present, the element occurs once per message.

Syntax
1<Guarantee>
2<GuaranteesAccepted>
3<GuaranteeAccepted>
4<PaymentCard CardCode="Card Code" CardNumber="card number" CardType="1" ExpireDate="MMYY"SeriesCode="code">
5<CardHolderName>name</CardHolderName>
6<Address FormattedInd="false">
7<AddressLine>1111 Expedia Group Way W</AddressLine>
8<CityName>Seattle</CityName>
9<PostalCode>98119</PostalCode>
10<StateProv StateCode="WA"/>
11<CountryName Code="US"/>
12</Address>
13</PaymentCard>
14</GuaranteeAccepted>
15</GuaranteesAccepted>
16</Guarantee>
Hierarchy
1<soap-env:Body>
2<OTA_HotelResNotifRQ>
3<HotelReservations>
4<HotelReservation>
5<RoomStays>
6<RoomStay>
7<Guarantee>
Child elements

These elements reside in the <Guarantee> child element. The <Guarantee> element is a child element of the <RoomStay> element.

Name

Description

<GuaranteesAccepted> element

This is a child element of the <Guarantee> element.

This element is a container element for further information about the guarantee and/or payment information. Single occurrence.

<GuaranteeAccepted> element

This is a child element of the <GuaranteesAccepted> element.

This element is a container element for further information about the guarantee and/or payment information. Single occurrence.

<PaymentCard> element

This is a child element of the <GuaranteeAccepted> element.

This element is a container element that holds the actual credit card information. Single occurrence.

Child elements and attributes:

  • CardType- This attribute is the card type. Occurs once. Data type: String 16, value is always “1” for Credit Card
  • CardCode- 2-letter code for the type of credit card. Occurs once. See theCredit card codestable in Enumerations for full details of the allowable values and their meanings. Data type: PaymentCardType, values will be AX, DN, DS, JC, MC, VI, UP, or CB
  • CardNumber- This attribute conveys the 16-digit card number. Occurs once. Data type: numeric string, 1 to 19 digits
  • ExpireDate- Expiration date of the credit card. Occurs once. Data type: MMYY
  • EffectiveDate- This attribute represents the start date for the credit card.Optional. If present,occursonce within the <PaymentCard> element. This attribute isnotused by Expedia Virtual Card. May be used for Hotel Collect bookings but only by certain card types. Data type: MMYY
  • SeriesCode- This attribute is the CSV or CVV info guest credit card (or EVC card).Optional.Used for Expedia Virtual Card.Data type: numeric string, 1-8 digits
  • CardActivation- This attribute is sent only if the PaymentMethod is VirtualCard. It represents when the virtual card can be charged.Optional.Data type: ISO 8601, extended format: YYYY-MM-DDThh:mm:ss[+/-]hh:mm
  • <CardHolderName> element- This is a child element of the <PaymentCard> element.

This is a container element that holds the card holder name. Optional. When present, occurs only once. For Expedia Virtual Card bookings, value will be set to "Expedia Virtual Card". For Hotel Collect bookings, value will be set to the actual card holder name. Data type: string, 1 to 64 characters in length

  • <Address> element- This is a child element of the <PaymentCard> element.

This is a container element that holds the billing address. Optional. When present, only occurs once. For Expedia Virtual Card bookings, address will be set to a static value, and may change in the future. Omitted for Hotel Collect reservations, as Expedia Group no longer collects this information.

  • FormattedInd-Optional.Occurs once when the <Address> element is used. Data type: Boolean, true/false. Value is always set to “false”
  • <AddressLine> element- This is a child element of the <Address> element. It contains the street number and street name. Occurs once. Only used for Expedia Virtual Card bookings. Data type: string, 1 to 64 characters. Value should always be set to: “1111 Expedia Group Way W”
  • <CityName> element- This is a child element of the <Address> element. It holds the city name. Occurs once. Only used for Expedia Virtual Card bookings. Data type: string, 1 to 64 characters. Value should always be set to: “Seattle”
  • <PostalCode> element- This is a child element of the <Address> element. It holds the zip or postal code. Occurs once. Only used for Expedia Virtual Card bookings. Data type: string, 1 to 16 characters. Value should always be set to: “98119”
  • <StateProv> element- This is a child element of the <Address> element. It holds the state or province name. Occurs once. Only used for Expedia Virtual Card bookings. Data type: string, 0 to 64 characters
  • StateCode- This attribute is the state or province code. Occurs once. Only used for Expedia Virtual Card bookings. Data type: string, 1 to 8 characters. Value always set to “WA”
  • <CountryName> element- This is a child element of the <Address> element. It is thecountry name. Data type: string, 0 to 64 characters
  • CountryCode- This attribute is a two letter country code from the ISO 3166 code list. Data type: string, length = 2 characters. Value should always be set to “US”

ResGuests element

This element is a child element of the <HotelReservation> element. It is the container element for a collection of guests included in a single reservation. Occurs once per message. An individual reservation guest is represented by the<ResGuest> child element.

Syntax
1<ResGuests>
2<ResGuest AgeQualifyingCode="Numeric (10 or 8 only)" ResGuestRPH="1">
3<Profiles>
4<ProfileInfo>
5<Profile ProfileType="1">
6<Customer>
7<PersonName>
8<GivenName>firstname</GivenName>
9<Surname>lastname</Surname>
10</PersonName>
11<Telephone AreaCityCode="code" CountryAccessCode="code" PhoneNumber="phone"/>
12<Email>email address</Email>
13</Customer>
14</Profile>
15</ProfileInfo>
16</Profiles>
17</ResGuest>
18</ResGuests>
Hierarchy
1<soap-env:Body>
2<OTA_HotelResNotifRQ>
3<HotelReservations>
4<HotelReservation>
5<RoomStays>
6<RoomStay>
7<ResGuests>
Child elements

These elements reside in the <ResGuests> child element. The <ResGuests> element is a child element of the <HotelReservation> element.

Name

Description

<ResGuest> element

This is a child element of the <ResGuests> element.

This element is a container element for further information about an individual reservation guest. Single occurrence. Only one guest name will be included with a reservation.

Attributes:

  • ResGuestRPH- This attribute refers to the reservation guest ReferencePlace Holder(RPH). The RPH is used to link the reservation guest to the room stay. Data type: numeric, 1 digit. Value will always be 1 because there is only one room stay per reservation and only one guest name is included.
  • AgeQualifyingCode- Age category is represented with this attribute. Expedia Group only collects information about the primary guest. Data type: numeric. Value will always be 10 (adult=10)

<Profiles> element

This is a child element of the <ResGuest> element.

This element is a container element for profiles (only one is collected). Single occurrence.

Child element:

  • <ProfileInfo> element- This is a child element of the <Profiles> element and is a container element for profile elements.

<Profile> element

This is a child element of the <ProfileInfo> element.

This is a container element for an individual profile. Single occurrence as each <ResGuest> element will only have one associated profile.

Child elements and attributes:

  • ProfileType- This attribute indicates the profile type. Data type: numeric, one digit. Fixed value 1=Customer
  • <Customer> element- This is a child element of the <Profile> element and is a container for specific information about a customer. Single occurrence.
  • <PersonName> element- This is a child element of the <Customer> element and is a container for the guest's full name. Single occurrence.
  • <GivenName> element- This is a child element of the <PersonName> element and contains the guest's first name. Single occurrence. Data type: string, 0-60 characters.
  • <MiddleName> element- This is a child element of the <PersonName> element and contains the guest's middle name.Optional, single occurrence when present.Data type: string, 0-60 characters.
  • <Surname> element- This is a child element of the <PersonName> element and contains the guest's surname or last name. Single occurrence. Data type: string, 0-60 characters.
  • <Telephone> element- This is a child element of the <Customer> element and is a container for the guest's full name.Optional, single occurrence when present.
  • CountryAccessCode- This attribute is the country code.Optional, single occurrence when present.Data type: string, 1-10 characters, supports numbers, letters and the following special chars: '+', '-', '.', ' ', '(' and ')'
  • AreaCityCode- This attribute is the area/city code.Optional, single occurrence when present. Data type: string, 1-10 characters, supports numbers, letters and the following special chars: '+', '-', '.', ' ', '(' and ')'
  • PhoneNumber- The telephone number.Optional, single occurrence when present. Data type: string, 1-32 characters
  • Extension- The phone extension to reach a specific party at the phone number.Optional, single occurrence when present. Data type: numeric, 1-5 digits
  • <Email> element- This is a child element of the <Customer> element and contains email information for contacting the customer.Optional, this information is not included by default. Single occurrence when present. Properties that need to provide special check-in instructions to their guests should discuss enabling emailaddresswith their Market Manager. Maximum length: 128 characters

ResGlobalInfo element

This element is a child element of the <HotelReservation> element. It is the container element for a collection of objects which are common to the entire reservation. Occurs once per message.

Syntax
1<HotelReservations>
2<HotelReservation CreateDateTime="datetime" CreatorID="Expedia" RoomStayReservation="Boolean">
3<ResGlobalInfo>
4<Memberships>
5<Membership ProgramCode="code" AccountID="identifnumber" TravelSector="number" />
6</Memberships>
7<HotelReservationIDs>
8<HotelReservationID ResID_Date="date" ResID_Source="Expedia" ResID_Type="8" ResID_Value="BookingId"/>
9</HotelReservationIDs>
10</ResGlobalInfo>
11</HotelReservation>
12</HotelReservations>
Hierarchy
1<soap-env:Body>
2<OTA_HotelResNotifRQ>
3<HotelReservations>
4<HotelReservation>
5<ResGlobalInfo>
6<Memberships>
7<Membership>
8<HotelReservationIDs>
9<HotelReservationID>
Child elements

These elements reside in the<ResGlobalInfo>child element. The <ResGlobalInfo> element is a child element of the <HotelReservation> element.

Name

Description

<Membership> element

This is a child element of the <ResGlobalInfo> element.

Optional. This element is a container element for membership objects. These objects include accounts that can be credited with points accrued from the guest's activity. Single occurrence when present. The element is optional because only corporate reservations will include membership information.

Child elements and attributes:

  • <Membership> element- This is the child element of the <Memberships> element. The Membership object identifies the frequent customer reward program and (optionally) indicates points awarded for stay activity. Expedia Group usually uses up to 2 occurrences: one for the hotel loyalty membership program and another for the frequent flyer membership number.
  • ProgramCode- The attribute representing the code or name of the membership program. Single occurrence. Data type: string, 1-6 characters
  • AccountID- The account identification number for this particular member in this particular program. Single occurrence. Data type: string, 1-32 characters
  • TravelSector- This attribute represents the kind of reward program. Expedia Group uses the following OTA codes for travel sector: 1 for Air, 3 for Hotel. Data type: numeric, 1 digit. Values will always be either 1=Air or 3=Hotel

<HotelReservationIDs> element

This is a child element of the <ResGlobalInfo> element.

This element is a container element for a collection of property reservation and confirmation IDs. Single occurrence.

Child elements and attributes:

  • <HotelReservationID> element- This is a child element of the <HotelReservationIDs> element. For new reservations, <OTA_HotelResNotifRQ>, there will be a single occurrence of the HotelReservationID element and it will contain the information on the Expedia Group reservation number. For reservation modifications, <OTA_HotelResModifyNotifRQ>, there will be 2 occurrences, one for the Expedia Group booking number and another for the property's system confirmation number.
  • ResID_Type- This attribute is the Reservation ID Type. Single occurrence. Expedia Group uses the following two values: 3 for Confirmation, 8 for Reservation. For new reservations, <OTA_HotelResNotifRQ>, Expedia Group uses "8" to send its reservation number. For reservation modifications, <OTA_HotelResModifyNotifRQ>, Expedia Group uses "3" for the property's confirmation number and "8" for the Expedia Group reservation number.
    Data type: numeric, 1 digit. Values will always be either “3” for the property's confirmation number (in modified reservations) or “8” for the Expedia Group reservation number.
  • ResID_Value- The actual value associated with the @ResID_Type. For new reservations, <OTA_HotelResNotifRQ>, this will be the actual Expedia Group reservation number. For reservation modifications, <OTA_HotelResModifyNotifRQ>, it will be the original Expedia Group reservation number or the property's confirmation number. The Expedia Group reservation number is associated with ResID_Type="8" and the property's confirmation number is associated with ResID_Type="3". Data type: string, 1-64 characters.

Note: The property confirmation number can be alphanumeric and should not exceed 50 characters.

  • ResID_Source- This attribute is a unique identifier to indicate the source system that generated the ResID_Value. For Expedia Group reservation numbers, this value will be set to "Expedia". For the property's confirmation number, you and Expedia Group will determine what identifier should be used for your system. Data type: string, 1-64 characters. Value should be the same as the ResponderId.
  • ResID_Date- The creation date and time of this reservation ID as the local date and time. Data type: dateTime, ISO 8601 extended format YYYY-MM-DDThh:mm:ss[+/-]hh:mm

Response

The Booking Notification response is initiated by the partner and uses the SOAP method to send the request to the endpoint. The <OTA_HotelResNotifRS> element is the root element, and it requires the xmlns attribute, which is the namespace to which this message belongs. This namespace is used to validate the version of the schema the message is based on. Current namespace for requests is http://www.opentravel.org/OTA/2003/05.

There are two types of responses that you can return in response to new booking requests.

  • A success response is returned when the notification is processed successfully by your system. Expedia Group receives a confirmation number from success responses.
  • An error response is returned when the notification fails to be processed by your system. In this case, you return an explicit error code and a detailed error message must be included in the error response. The list of error codes can be found in the Error Codes for Response Messages table.

OTA_HotelResNotifRS element

The <OTA_HotelResNotifRS> element is the root element for response messages regarding new reservations. The response message indicates the status of processing the <OTA_HotelResNotifRQ> message.

The <OTA_HotelResNotifRS> element requires the xmlns attribute, which is the namespace to which this message belongs. Current namespace for requests is http://www.opentravel.org/OTA/2003/05. The message also requires additional attributes for the request to be recognized by Expedia Group’s system.

A success response is returned when the notification is processed successfully by your system. Expedia Group receives a confirmation number from success responses. The presence of the <Success> element indicates that the transaction was processed successfully. The <Success> element occurs once per success response message.

Syntax
1<soap-env:Body>
2<OTA_HotelResNotifRS xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="tokennumber" Version="current version" ResResponseType="Committed" TimeStamp="datetime" Target="Production" PrimaryLangID="en-us">
3<Success/>
4<HotelReservations>
5<HotelReservation>
6<ResGlobalInfo>
7<HotelReservationIDs>
8<HotelReservationID ResID_Type="3" ResID_Value="ConfNumber123" ResID_Date="datetime" ResID_Source="EQCSpecTest"/>
9<HotelReservationID ResID_Type="8" ResID_Value="number" ResID_Source="Expedia" ResID_Date="datetime"/>
10</HotelReservationIDs>
11</ResGlobalInfo>
12</HotelReservation>
13</HotelReservations>
14</OTA_HotelResNotifRS>
15</soap-env:Body>
Root attributes

Name

Description

@EchoToken

A sequence number for additional message identification, assigned by the requesting host system. It must be echoed back in the corresponding response message. In the booking notification request generated by Expedia Group, EchoToken has the same value as the RequestId in the Header. Occurs once; Data type: string, 1-20 characters

@TimeStamp

Date and time when the request message was sent by Expedia Group. Data type: date, time; Timestamp as defined in ISO 8601 extended format.

  • Will always be in the following format:
  • YYYY-MM-DDThh:mm:ssZ

@Target

Indicates the message is a production message. Data type: String, value is always “Production”

@Version

Version of the OTA message. Data type: decimal, n.nnn. Value 2.000

@PrimaryLanguageID

Primary language code. Data type: string, value is always “en-us”

@ResResponseType

The attribute that indicates the status of the response. For success messages, this will be “Committed”. Data type: string, 9 characters allowed. Value: “Committed” used for success response.

HotelReservations element

This is a container element that represents a collection of Hotel Reservations. Each response message represents a single reservation. It includes the <HotelReservation> element, which is the container element that represents a single booking.

Syntax
1<soap-env:Body>
2<OTA_HotelResNotifRS xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="tokennumber" Version="current version" ResResponseType="Committed" TimeStamp="datetime" Target="Production" PrimaryLangID="en-us">
3<Success/>
4<HotelReservations>
5</HotelReservations>
6</OTA_HotelResNotifRS>
7</soap-env:Body>
Hierarchy
1<soap-env:Body>
2<OTA_HotelResNotifRS xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="tokennumber" Version="current version" ResResponseType="Committed" TimeStamp="datetime" Target="Production" PrimaryLangID="en-us">
3<Success/>
4<HotelReservations>
Child elements

Name

Description

<HotelReservation> element

This is a child element of the <HotelReservations> element and is the container element for a single booking. Occurs once per message.

Success response messages include the element, but no attributes are included in the message.

Child elements and attributes:

  • <ResGlobalInfo> element- This element is a child element of the <HotelReservation> element.

The <ResGlobalInfo> element is the container element for a collection of objects which are common to the entire reservation.

  • <HotelReservationsIDs> element- This is a child element of the <ResGlobalInfo> element.
  • <HotelReservationID> element- There will be 2 occurrences, one for the Expedia Group booking number and another for the property's system confirmation number.
  • ResID_Value- The actual value associated with the @ResID_Type. The Expedia Group reservation number is echoed back with ResID_Type="8" and the property's confirmation number is associated with ResID_Type="3". Data type: string, 1-64 characters.
  • ResID_Value- The actual value associated with the @ResID_Type. The Expedia Group reservation number is associated with ResID_Type=8 and the Hotelier's confirmation number is associated with ResID_Type=3.

Note: The property confirmation number can be alphanumeric and should not exceed 50 characters.

  • ResID_Source- This attribute is a unique identifier to indicate the source system that generated the ResID_Value. For Expedia Group reservation numbers, this value will be set to "Expedia". For the property's confirmation number, you and Expedia Group will determine what identifier should be for your system. Data type: string, 1-64 characters.
  • ResID_Date- The creation date and time of this reservation ID as the local date and time. Data type: dateTime, ISO 8601 extended format YYYY-MM-DDThh:mm:ss[+/-]hh:mm

Errors element

The presence of the <Errors> element indicates that the transaction failed to process correctly. The <Errors> element is the container element for a collection of error messages. Occurs once per error response message.

An error response is returned when the notification fails to be processed by your system. In this case, you return an explicit error code and a detailed error message must be included in the error response. The list of error codes can be found in the Error Codes for Response Messages table.

Syntax
1<soap-env:Body>
2<OTA_HotelResNotifRS xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="tokennumber" Version="current version" ResResponseType="Committed" TimeStamp="datetime" Target="Production" PrimaryLangID="en-us">
3<Errors>
4<Error Language="en-us" Type="3" ShortText="ErrorCode" Code="450">text of error code description</Error>
5</Errors>
6</OTA_HotelResNotifRS>
7</soap-env:Body>
Child elements

Name

Description

<Error> element

This element is a child element of the <Errors> element.

The <Error> element is the container element for the error message structure. Occurs at least once per error response message, up to 99 times within each <Errors> element.

Detailed error description is placed directly under this element. Data type: string, up to 512 characters.

Attributes:

  • Language- This attribute represents the language of the textual error message. Single occurrence. Value for this attribute is always “en-us”
  • Type- This attribute is the OTA error type. The DC interface uses a generic error type for all errors. Data type: String 16. Value is always Type 3 = Business error
  • Code- This is the OTA error code. The DC interface uses a generic code for all errors. Data type: String 16. Value is always Code 450 = Unable to process
  • ShortText - This attribute is the 4-digit error code defined by the Direct Connect API. SeeError codes for response messagesfor all supported error codes that can be specified here. Data type: string, 64 characters

Examples

Here are request and response examples.

New Hotel Collect booking with children and extra charges

The following is a sample booking notification request and response for a new Hotel Collect booking made at the Expedia.com point of sale. The booking includes children and extra charges.

Request:

1<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
2 <soap-env:Header>
3 <Interface xmlns="http://www.newtrade.com/expedia/R14/header" Name="ExpediaDirectConnect" Version="4.0">
4 <PayloadInfo RequestId="22922694" RequestorId="Expedia.com" ResponderId="EQCSpecTest" ExpirationDateTime="2016-05-17T20:55:00+00:00" Location="Body">
5 <CommDescriptor SourceId="ExpediaDC" DestinationId="EQCSpecTest" RetryIndicator="false">
6 <Authentication Username="Expedia" Password="Password"/>
7 </CommDescriptor>
8 <PayloadDescriptor Name="OTA_HotelResNotifRQ" Version="2003A">
9 <PayloadReference SupplierHotelCode="1154286" DistributorHotelId="1154286"/>
10 </PayloadDescriptor>
11 </PayloadInfo>
12 </Interface>
13 </soap-env:Header>
14 <soap-env:Body>
15 <OTA_HotelResNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="22922694" PrimaryLangID="en-us" ResStatus="Commit" Target="Production" TimeStamp="2016-05-17T11:25:00-07:00" Version="1.000">
16 <POS>
17 <Source>
18 <RequestorID ID="A-Expedia" Type="18"/>
19 <BookingChannel Primary="true" Type="2">
20 <CompanyName>Expedia</CompanyName>
21 </BookingChannel>
22 </Source>
23 </POS>
24 <HotelReservations>
25 <HotelReservation CreateDateTime="2016-05-17T11:25:00-07:00" CreatorID="Expedia" RoomStayReservation="true">
26 <UniqueID ID="13357309" Type="14"/>
27 <RoomStays>
28 <RoomStay>
29 <RoomTypes>
30 <RoomType IsRoom="true" RoomTypeCode="50287"/>
31 </RoomTypes>
32 <RatePlans>
33 <RatePlan EffectiveDate="2016-05-29" ExpireDate="2016-05-30" RatePlanCode="113702A">
34 <CommissionPercent="0.2000"/>
35 </RatePlan>
36 <RatePlan EffectiveDate="2016-05-30" ExpireDate="2016-05-31" RatePlanCode="113702A">
37 <Commission Percent="0.2000"/>
38 </RatePlan>
39 <RatePlan EffectiveDate="2016-05-31" ExpireDate="2016-06-01" RatePlanCode="113702A">
40 <Commission Percent="0.2000"/>
41 </RatePlan>
42 <RatePlan EffectiveDate="2016-06-01" ExpireDate="2016-06-02" RatePlanCode="113702A">
43 <Commission Percent="0.2000"/>
44 </RatePlan>
45 <RatePlan EffectiveDate="2016-06-02" ExpireDate="2016-06-03" RatePlanCode="113702A">
46 <Commission Percent="0.2000"/>
47 </RatePlan>
48 </RatePlans>
49 <RoomRates>
50 <RoomRate EffectiveDate="2016-05-29" ExpireDate="2016-05-30" NumberOfUnits="1" PromotionCode="Early Bird Summer 30 4 nights a" RatePlanCode="113702A" RoomTypeCode="50287">
51 <Rates>
52 <Rate EffectiveDate="2016-05-29" ExpireDate="2016-05-30" RateTimeUnit="Day" UnitMultiplier="1">
53 <Base AmountBeforeTax="139.30" CurrencyCode="CAD"/>
54 <AdditionalGuestAmounts>
55 <AdditionalGuestAmount AgeQualifyingCode="8">
56 <Amount AmountBeforeTax="10.00" CurrencyCode="CAD"/>
57 </AdditionalGuestAmount>
58 <AdditionalGuestAmount AgeQualifyingCode="7">
59 <Amount AmountBeforeTax="8.00" CurrencyCode="CAD"/>
60 </AdditionalGuestAmount>
61 </AdditionalGuestAmounts>
62 <Fees>
63 <Fee Amount="0.00" Code="1" CurrencyCode="CAD" TaxInclusive="false" Type="Exclusive"/>
64 </Fees>
65 </Rate>
66 </Rates>
67 </RoomRate>
68 <RoomRate EffectiveDate="2016-05-30" ExpireDate="2016-05-31" NumberOfUnits="1" PromotionCode="Early Bird Summer 30 4 nights a" RatePlanCode="113702A" RoomTypeCode="50287">
69 <Rates>
70 <Rate EffectiveDate="2016-05-30" ExpireDate="2016-05-31" RateTimeUnit="Day" UnitMultiplier="1">
71 <Base AmountBeforeTax="131.25" CurrencyCode="CAD"/>
72 <AdditionalGuestAmounts>
73 <AdditionalGuestAmount AgeQualifyingCode="8">
74 <Amount AmountBeforeTax="10.00" CurrencyCode="CAD"/>
75 </AdditionalGuestAmount>
76 <AdditionalGuestAmount AgeQualifyingCode="7">
77 <Amount AmountBeforeTax="8.00" CurrencyCode="CAD"/>
78 </AdditionalGuestAmount>
79 </AdditionalGuestAmounts>
80 <Fees>
81 <Fee Amount="0.00" Code="1" CurrencyCode="CAD" TaxInclusive="false" Type="Exclusive"/>
82 </Fees>
83 </Rate>
84 </Rates>
85 </RoomRate>
86 <RoomRate EffectiveDate="2016-05-31" ExpireDate="2016-06-01" NumberOfUnits="1" PromotionCode="Early Bird Summer 30 4 nights a" RatePlanCode="113702A" RoomTypeCode="50287">
87 <Rates>
88 <Rate EffectiveDate="2016-05-31" ExpireDate="2016-06-01" RateTimeUnit="Day" UnitMultiplier="1">
89 <Base AmountBeforeTax="140.00" CurrencyCode="CAD"/>
90 <AdditionalGuestAmounts>
91 <AdditionalGuestAmount AgeQualifyingCode="8">
92 <Amount AmountBeforeTax="10.00" CurrencyCode="CAD"/>
93 </AdditionalGuestAmount>
94 <AdditionalGuestAmount AgeQualifyingCode="7">
95 <Amount AmountBeforeTax="8.00" CurrencyCode="CAD"/>
96 </AdditionalGuestAmount>
97 </AdditionalGuestAmounts>
98 <Fees>
99 <Fee Amount="0.00" Code="1" CurrencyCode="CAD" TaxInclusive="false" Type="Exclusive"/>
100 </Fees>
101 </Rate>
102 </Rates>
103 </RoomRate>
104 <RoomRate EffectiveDate="2016-06-01" ExpireDate="2016-06-02" NumberOfUnits="1" PromotionCode="Early Bird Summer 30 4 nights a" RatePlanCode="113702A" RoomTypeCode="50287">
105 <Rates>
106 <Rate EffectiveDate="2016-06-01" ExpireDate="2016-06-02" RateTimeUnit="Day" UnitMultiplier="1">
107 <Base AmountBeforeTax="148.75" CurrencyCode="CAD"/>
108 <AdditionalGuestAmounts>
109 <AdditionalGuestAmount AgeQualifyingCode="8">
110 <Amount AmountBeforeTax="10.00" CurrencyCode="CAD"/>
111 </AdditionalGuestAmount>
112 <AdditionalGuestAmount AgeQualifyingCode="7">
113 <Amount AmountBeforeTax="8.00" CurrencyCode="CAD"/>
114 </AdditionalGuestAmount>
115 </AdditionalGuestAmounts>
116 <Fees>
117 <Fee Amount="0.00" Code="1" CurrencyCode="CAD" TaxInclusive="false" Type="Exclusive"/>
118 </Fees>
119 </Rate>
120 </Rates>
121 </RoomRate>
122 <RoomRate EffectiveDate="2016-06-02" ExpireDate="2016-06-03" NumberOfUnits="1" PromotionCode="Early Bird Summer 30 4 nights a" RatePlanCode="113702A" RoomTypeCode="50287">
123 <Rates>
124 <Rate EffectiveDate="2016-06-02" ExpireDate="2016-06-03" RateTimeUnit="Day" UnitMultiplier="1">
125 <Base AmountBeforeTax="157.50" CurrencyCode="CAD"/>
126 <AdditionalGuestAmounts>
127 <AdditionalGuestAmount AgeQualifyingCode="8">
128 <Amount AmountBeforeTax="10.00" CurrencyCode="CAD"/>
129 </AdditionalGuestAmount>
130 <AdditionalGuestAmount AgeQualifyingCode="7">
131 <Amount AmountBeforeTax="8.00" CurrencyCode="CAD"/>
132 </AdditionalGuestAmount>
133 </AdditionalGuestAmounts>
134 <Fees>
135 <Fee Amount="0.00" Code="1" CurrencyCode="CAD" TaxInclusive="false" Type="Exclusive"/>
136 </Fees>
137 </Rate>
138 </Rates>
139 </RoomRate>
140 </RoomRates>
141 <GuestCounts IsPerRoom="true">
142 <GuestCount AgeQualifyingCode="10" Count="2"/>
143 <GuestCount Age="9" AgeQualifyingCode="8" Count="1"/>
144 <GuestCount Age="17" AgeQualifyingCode="8" Count="1"/>
145 </GuestCounts>
146 <TimeSpan End="2016-06-03" Start="2016-05-29"/>
147 <Guarantee>
148 <GuaranteesAccepted>
149 <GuaranteeAccepted>
150 <PaymentCard CardCode="VI" CardNumber="4111111111111111" CardType="1" ExpireDate="0420" SeriesCode="123">
151 <CardHolderName>Etienne Tester</CardHolderName>
152 </PaymentCard>
153 </GuaranteeAccepted>
154 </GuaranteesAccepted>
155 </Guarantee>
156 <Total AmountAfterTax="955.49" CurrencyCode="CAD">
157 <Taxes Amount="148.69" CurrencyCode="CAD">
158 <Tax Amount="148.69" Code="27" CurrencyCode="CAD" Type="Exclusive"/>
159 </Taxes>
160 </Total>
161 <BasicPropertyInfo HotelCode="1154286"/>
162 <ResGuestRPHs>
163 <ResGuestRPH RPH="1"/>
164 </ResGuestRPHs>
165 <SpecialRequests>
166 <SpecialRequest Language="en-us" RequestCode="1.14">
167 <Text Formatted="false" Language="en-us">1 king bed</Text>
168 </SpecialRequest>
169 <SpecialRequest Language="en-us" RequestCode="2.1">
170 <Text Formatted="false" Language="en-us">Non-Smoking</Text>
171 </SpecialRequest>
172 <SpecialRequest Language="en-us" RequestCode="5">
173 <Text Formatted="true" Language="en-us">Hotel Collect Booking Collect Payment From Guest</Text>
174 </SpecialRequest>
175 </SpecialRequests>
176 </RoomStay>
177 </RoomStays>
178 <ResGuests>
179 <ResGuest AgeQualifyingCode="10" ResGuestRPH="1">
180 <Profiles>
181 <ProfileInfo>
182 <Profile ProfileType="1">
183 <Customer>
184 <PersonName>
185 <GivenName>Etienne</GivenName>
186 <Surname>Tester</Surname>
187 </PersonName>
188 <Telephone AreaCityCode="321" CountryAccessCode="1" PhoneNumber="3331111"/>
189 <Email>customer@email.com</Email>
190 </Customer>
191 </Profile>
192 </ProfileInfo>
193 </Profiles>
194 </ResGuest>
195 </ResGuests>
196 <ResGlobalInfo>
197 <HotelReservationIDs>
198 <HotelReservationID ResID_Date="2016-05-17T11:25:00-07:00" ResID_Source="Expedia" ResID_Type="8" ResID_Value="13357309"/>
199 </HotelReservationIDs>
200 </ResGlobalInfo>
201 </HotelReservation>
202 </HotelReservations>
203 </OTA_HotelResNotifRQ>
204 </soap-env:Body>
205</soap-env:Envelope>

Response:

1<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
2 <soap-env:Header>
3 <Interface xmlns="http://www.newtrade.com/expedia/R14/header" Name="ExpediaDirectConnect" Version="4.0">
4 <PayloadInfo RequestId="22922694" RequestorId="Expedia.com" ResponderId="EQCSpecTest" Location="Body">
5 <CommDescriptor SourceId="EQCSpecTest" DestinationId="ExpediaDC" RetryIndicator="false"/>
6 <PayloadDescriptor Name="OTA_HotelResNotifRS" Version="2003A">
7 <PayloadReference SupplierHotelCode="1154286"/>
8 </PayloadDescriptor>
9 </PayloadInfo>
10 </Interface>
11 </soap-env:Header>
12 <soap-env:Body>
13 <OTA_HotelResNotifRS xmlns="http://www.opentravel.org/OTA/2003/05" Version="2.000" ResResponseType="Committed" EchoToken="22922694" TimeStamp="2016-05-17T12:56:52.597-07:00" Target="Production" PrimaryLangID="en-us">
14 <Success/>
15 <HotelReservations>
16 <HotelReservation>
17 <ResGlobalInfo>
18 <HotelReservationIDs>
19 <HotelReservationID ResID_Type="3" ResID_Value="TESTCONF" ResID_Date="2016-05-17T12:56:52.597-07:00" ResID_Source="EQCSpecTest"/>
20 <HotelReservationID ResID_Type="8" ResID_Value="13357309" ResID_Source="Expedia" ResID_Date="2016-05-17T12:57:00-07:00"/>
21 </HotelReservationIDs>
22 </ResGlobalInfo>
23 </HotelReservation>
24 </HotelReservations>
25 </OTA_HotelResNotifRS>
26 </soap-env:Body>
27</soap-env:Envelope>

New booking with Expedia Virtual Card details

The following is a sample Booking Notification request and response pair for a new booking. One new booking is returned, payable to the property via Expedia Virtual Card.

Request:

1<?xml version="1.0" encoding="UTF-8"?>
2<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
3 <soap-env:Header>
4 <Interface xmlns="http://www.newtrade.com/expedia/R14/header" Name="ExpediaDirectConnect" Version="4.0">
5 <PayloadInfo ExpirationDateTime="2021-10-29T10:37:00-07:00" Location="Body" RequestId="1624705939" RequestorId="Expedia.com" ResponderId="EQCRate23">
6 <CommDescriptor DestinationId="EQCRateGAIN" RetryIndicator="false" SourceId="ExpediaDC">
7 <Authentication Password="*****" Username="Expedia" />
8 </CommDescriptor>
9 <PayloadDescriptor Name="OTA_HotelResNotifRQ" Version="2003A">
10 <PayloadReference DistributorHotelId="21313461" SupplierHotelCode="21313461" />
11 </PayloadDescriptor>
12 </PayloadInfo>
13 </Interface>
14 </soap-env:Header>
15 <soap-env:Body>
16 <OTA_HotelResNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="1624705993" PrimaryLangID="en-us" ResStatus="Commit" Target="Production" TimeStamp="2021-10-29T08:07:00-07:00" Version="1.000">
17 <POS>
18 <Source>
19 <RequestorID ID="Expedia Affiliate Network" Type="18" />
20 <BookingChannel Primary="true" Type="2">
21 <CompanyName>Expedia</CompanyName>
22 </BookingChannel>
23 </Source>
24 </POS>
25 <HotelReservations>
26 <HotelReservation CreateDateTime="2021-10-29T08:07:00-07:00" CreatorID="Expedia" RoomStayReservation="true">
27 <UniqueID ID="1850476701" Type="14" />
28 <RoomStays>
29 <RoomStay>
30 <RoomTypes>
31 <RoomType IsRoom="true" RoomTypeCode="201260468" />
32 </RoomTypes>
33 <RatePlans>
34 <RatePlan EffectiveDate="2021-10-29" ExpireDate="2021-10-30" RatePlanCode="383895006" />
35 </RatePlans>
36 <RoomRates>
37 <RoomRate EffectiveDate="2021-10-29" ExpireDate="2021-10-30" NumberOfUnits="1" RatePlanCode="383895006" RoomTypeCode="201260468">
38 <Rates>
39 <Rate EffectiveDate="2021-10-29" ExpireDate="2021-10-30" RateTimeUnit="Day" UnitMultiplier="1">
40 <Base AmountBeforeTax="636.99" CurrencyCode="AED" />
41 <Fees>
42 <Fee Amount="0.00" Code="1" CurrencyCode="AED" TaxInclusive="false" Type="Exclusive" />
43 </Fees>
44 </Rate>
45 </Rates>
46 </RoomRate>
47 </RoomRates>
48 <GuestCounts IsPerRoom="true">
49 <GuestCount AgeQualifyingCode="10" Count="2" />
50 </GuestCounts>
51 <TimeSpan End="2021-10-30" Start="2021-10-29" />
52 <PaymentMethod>VirtualCard</PaymentMethod>
53 <Payment Amount="735.72" CurrencyCode="AED" Model="Gross" />
54 <Guarantee>
55 <GuaranteesAccepted>
56 <GuaranteeAccepted>
57 <PaymentCard CardActivation="2021-10-28T17:00:00-07:00" CardCode="MC" CardNumber="*****" CardType="1" ExpireDate="1026" SeriesCode="*****">
58 <CardHolderName>*****</CardHolderName>
59 <Address FormattedInd="false">
60 <AddressLine>*****</AddressLine>
61 <CityName>Seattle</CityName>
62 <PostalCode>98119</PostalCode>
63 <StateProv StateCode="WA" />
64 <CountryName Code="US" />
65 </Address>
66 </PaymentCard>
67 </GuaranteeAccepted>
68 </GuaranteesAccepted>
69 </Guarantee>
70 <Total AmountAfterTax="735.72" CurrencyCode="AED">
71 <Taxes Amount="98.73" CurrencyCode="AED">
72 <Tax Amount="98.73" Code="27" CurrencyCode="AED" Type="Exclusive" />
73 </Taxes>
74 </Total>
75 <BaseRateType>Sell</BaseRateType>
76 <BasicPropertyInfo HotelCode="21313461" />
77 <ResGuestRPHs>
78 <ResGuestRPH RPH="1" />
79 </ResGuestRPHs>
80 <SpecialRequests>
81 <SpecialRequest Language="en-us" RequestCode="1.14">
82 <Text Formatted="false" Language="en-us">1 King Bed</Text>
83 </SpecialRequest>
84 <SpecialRequest Language="en-us" RequestCode="2.1">
85 <Text Formatted="false" Language="en-us">Non-Smoking</Text>
86 </SpecialRequest>
87 <SpecialRequest Language="en-us" RequestCode="5">
88 <Text Formatted="true" Language="en-us">Remittance amount: 735.72, Expedia Virtual Card will be activated from the day of Check-in.</Text>
89 </SpecialRequest>
90 </SpecialRequests>
91 </RoomStay>
92 </RoomStays>
93 <ResGuests>
94 <ResGuest AgeQualifyingCode="10" ResGuestRPH="1">
95 <Profiles>
96 <ProfileInfo>
97 <Profile ProfileType="1">
98 <Customer>
99 <PersonName>
100 <GivenName>*****</GivenName>
101 <Surname>*****</Surname>
102 </PersonName>
103 <Telephone CountryAccessCode="86" PhoneNumber="*****" />
104 <Email>*****</Email>
105 </Customer>
106 </Profile>
107 </ProfileInfo>
108 </Profiles>
109 </ResGuest>
110 </ResGuests>
111 <ResGlobalInfo>
112 <HotelReservationIDs>
113 <HotelReservationID ResID_Date="2021-10-29T08:07:00-07:00" ResID_Source="Expedia" ResID_Type="8" ResID_Value="1850476701" />
114 </HotelReservationIDs>
115 </ResGlobalInfo>
116 </HotelReservation>
117 </HotelReservations>
118 </OTA_HotelResNotifRQ>
119 </soap-env:Body>
120</soap-env:Envelope>

Response:

1<?xml version="1.0" encoding="UTF-8"?>
2<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
3 <soap-env:Header>
4 <Interface xmlns="http://www.newtrade.com/expedia/R14/header" Name="ExpediaDirectConnect" Version="4.0">
5 <PayloadInfo RequestId="1624705993" RequestorId="Expedia.com" ResponderId="EQCRate23" Location="Body">
6 <CommDescriptor SourceId="EQCRateGAIN" DestinationId="ExpediaDC" RetryIndicator="false" />
7 <PayloadDescriptor Name="OTA_HotelResNotifRS" Version="2003A">
8 <PayloadReference SupplierHotelCode="21313461" DistributorHotelId="21313461" />
9 </PayloadDescriptor>
10 </PayloadInfo>
11 </Interface>
12 </soap-env:Header>
13 <soap-env:Body>
14 <OTA_HotelResNotifRS xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="1624705993" TimeStamp="2021-10-29T15:07:23.5348921Z" Target="Production" Version="1.000" ResResponseType="Committed" PrimaryLangID="en-us">
15 <Success />
16 <HotelReservations>
17 <HotelReservation>
18 <ResGlobalInfo>
19 <HotelReservationIDs>
20 <HotelReservationID ResID_Type="8" ResID_Value="1850476701" ResID_Source="Expedia" ResID_Date="2021-10-29T10:07:00-05:00" />
21 <HotelReservationID ResID_Type="3" ResID_Value="RZ-1850476701" ResID_Source="EQCRateGAIN" ResID_Date="2021-10-29T10:07:23.5348921-05:00" />
22 </HotelReservationIDs>
23 </ResGlobalInfo>
24 </HotelReservation>
25 </HotelReservations>
26 </OTA_HotelResNotifRS>
27 </soap-env:Body>
28</soap-env:Envelope>

New reservation without a credit card

The following is a sample Booking Notification request for a booking sent with no credit card, but with the Special Request code to identify it as payable to the property upon arrival.

1<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
2 <soap-env:Header>
3 <Interface xmlns="http://www.newtrade.com/expedia/R14/header" Name="ExpediaDirectConnect" Version="4.0">
4 <PayloadInfo RequestId="22922694" RequestorId="Expedia.com" ResponderId="EQCSpecTest" ExpirationDateTime="2016-05-17T20:55:00+00:00" Location="Body">
5 <CommDescriptor SourceId="ExpediaDC" DestinationId="EQCSpecTest" RetryIndicator="false">
6 <Authentication Username="Expedia" Password="Password"/>
7 </CommDescriptor>
8 <PayloadDescriptor Name="OTA_HotelResNotifRQ" Version="2003A">
9 <PayloadReference SupplierHotelCode="1154286" DistributorHotelId="1154286"/>
10 </PayloadDescriptor>
11 </PayloadInfo>
12 </Interface>
13 </soap-env:Header>
14 <soap-env:Body>
15 <OTA_HotelResNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="22922694" PrimaryLangID="en-us" ResStatus="Commit" Target="Production" TimeStamp="2016-05-17T11:25:00-07:00" Version="1.000">
16 <POS>
17 <Source>
18 <RequestorID ID="A-Expedia" Type="18"/>
19 <BookingChannel Primary="true" Type="2">
20 <CompanyName>Expedia</CompanyName>
21 </BookingChannel>
22 </Source>
23 </POS>
24 <HotelReservations>
25 <HotelReservation CreateDateTime="2016-05-17T11:25:00-07:00" CreatorID="Expedia" RoomStayReservation="true">
26 <UniqueID ID="13357309" Type="14"/>
27 <RoomStays>
28 <RoomStay>
29 <RoomTypes>
30 <RoomType IsRoom="true" RoomTypeCode="50287"/>
31 </RoomTypes>
32 <RatePlans>
33 <RatePlan EffectiveDate="2016-05-29" ExpireDate="2016-05-30" RatePlanCode="113702A">
34 <Commission Percent="0.2000"/>
35 </RatePlan>
36 <RatePlan EffectiveDate="2016-05-30" ExpireDate="2016-05-31" RatePlanCode="113702A">
37 <Commission Percent="0.2000"/>
38 </RatePlan>
39 <RatePlan EffectiveDate="2016-05-31" ExpireDate="2016-06-01" RatePlanCode="113702A">
40 <Commission Percent="0.2000"/>
41 </RatePlan>
42 <RatePlan EffectiveDate="2016-06-01" ExpireDate="2016-06-02" RatePlanCode="113702A">
43 <Commission Percent="0.2000"/>
44 </RatePlan>
45 <RatePlan EffectiveDate="2016-06-02" ExpireDate="2016-06-03" RatePlanCode="113702A">
46 <Commission Percent="0.2000"/>
47 </RatePlan>
48 </RatePlans>
49 <RoomRates>
50 <RoomRate EffectiveDate="2016-05-29" ExpireDate="2016-05-30" NumberOfUnits="1" PromotionCode="Early Bird Summer 30 4 nights a" RatePlanCode="113702A" RoomTypeCode="50287">
51 <Rates>
52 <Rate EffectiveDate="2016-05-29" ExpireDate="2016-05-30" RateTimeUnit="Day" UnitMultiplier="1">
53 <Base AmountBeforeTax="139.30" CurrencyCode="CAD"/>
54 <AdditionalGuestAmounts>
55 <AdditionalGuestAmount AgeQualifyingCode="8">
56 <Amount AmountBeforeTax="10.00" CurrencyCode="CAD"/>
57 </AdditionalGuestAmount>
58 <AdditionalGuestAmount AgeQualifyingCode="7">
59 <Amount AmountBeforeTax="8.00" CurrencyCode="CAD"/>
60 </AdditionalGuestAmount>
61 </AdditionalGuestAmounts>
62 <Fees>
63 <Fee Amount="0.00" Code="1" CurrencyCode="CAD" TaxInclusive="false" Type="Exclusive"/>
64 </Fees>
65 </Rate>
66 </Rates>
67 </RoomRate>
68 <RoomRate EffectiveDate="2016-05-30" ExpireDate="2016-05-31" NumberOfUnits="1" PromotionCode="Early Bird Summer 30 4 nights a" RatePlanCode="113702A" RoomTypeCode="50287">
69 <Rates>
70 <Rate EffectiveDate="2016-05-30" ExpireDate="2016-05-31" RateTimeUnit="Day" UnitMultiplier="1">
71 <Base AmountBeforeTax="131.25" CurrencyCode="CAD"/>
72 <AdditionalGuestAmounts>
73 <AdditionalGuestAmount AgeQualifyingCode="8">
74 <Amount AmountBeforeTax="10.00" CurrencyCode="CAD"/>
75 </AdditionalGuestAmount>
76 <AdditionalGuestAmount AgeQualifyingCode="7">
77 <Amount AmountBeforeTax="8.00" CurrencyCode="CAD"/>
78 </AdditionalGuestAmount>
79 </AdditionalGuestAmounts>
80 <Fees>
81 <Fee Amount="0.00" Code="1" CurrencyCode="CAD" TaxInclusive="false" Type="Exclusive"/>
82 </Fees>
83 </Rate>
84 </Rates>
85 </RoomRate>
86 <RoomRate EffectiveDate="2016-05-31" ExpireDate="2016-06-01" NumberOfUnits="1" PromotionCode="Early Bird Summer 30 4 nights a" RatePlanCode="113702A" RoomTypeCode="50287">
87 <Rates>
88 <Rate EffectiveDate="2016-05-31" ExpireDate="2016-06-01" RateTimeUnit="Day" UnitMultiplier="1">
89 <Base AmountBeforeTax="140.00" CurrencyCode="CAD"/>
90 <AdditionalGuestAmounts>
91 <AdditionalGuestAmount AgeQualifyingCode="8">
92 <Amount AmountBeforeTax="10.00" CurrencyCode="CAD"/>
93 </AdditionalGuestAmount>
94 <AdditionalGuestAmount AgeQualifyingCode="7">
95 <Amount AmountBeforeTax="8.00" CurrencyCode="CAD"/>
96 </AdditionalGuestAmount>
97 </AdditionalGuestAmounts>
98 <Fees>
99 <Fee Amount="0.00" Code="1" CurrencyCode="CAD" TaxInclusive="false" Type="Exclusive"/>
100 </Fees>
101 </Rate>
102 </Rates>
103 </RoomRate>
104 <RoomRate EffectiveDate="2016-06-01" ExpireDate="2016-06-02" NumberOfUnits="1" PromotionCode="Early Bird Summer 30 4 nights a" RatePlanCode="113702A" RoomTypeCode="50287">
105 <Rates>
106 <Rate EffectiveDate="2016-06-01" ExpireDate="2016-06-02" RateTimeUnit="Day" UnitMultiplier="1">
107 <Base AmountBeforeTax="148.75" CurrencyCode="CAD"/>
108 <AdditionalGuestAmounts>
109 <AdditionalGuestAmount AgeQualifyingCode="8">
110 <Amount AmountBeforeTax="10.00" CurrencyCode="CAD"/>
111 </AdditionalGuestAmount>
112 <AdditionalGuestAmount AgeQualifyingCode="7">
113 <Amount AmountBeforeTax="8.00" CurrencyCode="CAD"/>
114 </AdditionalGuestAmount>
115 </AdditionalGuestAmounts>
116 <Fees>
117 <Fee Amount="0.00" Code="1" CurrencyCode="CAD" TaxInclusive="false" Type="Exclusive"/>
118 </Fees>
119 </Rate>
120 </Rates>
121 </RoomRate>
122 <RoomRate EffectiveDate="2016-06-02" ExpireDate="2016-06-03" NumberOfUnits="1" PromotionCode="Early Bird Summer 30 4 nights a" RatePlanCode="113702A" RoomTypeCode="50287">
123 <Rates>
124 <Rate EffectiveDate="2016-06-02" ExpireDate="2016-06-03" RateTimeUnit="Day" UnitMultiplier="1">
125 <Base AmountBeforeTax="157.50" CurrencyCode="CAD"/>
126 <AdditionalGuestAmounts>
127 <AdditionalGuestAmount AgeQualifyingCode="8">
128 <Amount AmountBeforeTax="10.00" CurrencyCode="CAD"/>
129 </AdditionalGuestAmount>
130 <AdditionalGuestAmount AgeQualifyingCode="7">
131 <Amount AmountBeforeTax="8.00" CurrencyCode="CAD"/>
132 </AdditionalGuestAmount>
133 </AdditionalGuestAmounts>
134 <Fees>
135 <Fee Amount="0.00" Code="1" CurrencyCode="CAD" TaxInclusive="false" Type="Exclusive"/>
136 </Fees>
137 </Rate>
138 </Rates>
139 </RoomRate>
140 </RoomRates>
141 <GuestCounts IsPerRoom="true">
142 <GuestCount AgeQualifyingCode="10" Count="2"/>
143 <GuestCount Age="9" AgeQualifyingCode="8" Count="1"/>
144 <GuestCount Age="17" AgeQualifyingCode="8" Count="1"/>
145 </GuestCounts>
146 <TimeSpan End="2016-06-03" Start="2016-05-29"/>
147 <Total AmountAfterTax="955.49" CurrencyCode="CAD">
148 <Taxes Amount="148.69" CurrencyCode="CAD">
149 <Tax Amount="148.69" Code="27" CurrencyCode="CAD" Type="Exclusive"/>
150 </Taxes>
151 </Total>
152 <BasicPropertyInfo HotelCode="1154286"/>
153 <ResGuestRPHs>
154 <ResGuestRPH RPH="1"/>
155 </ResGuestRPHs>
156 <SpecialRequests>
157 <SpecialRequest Language="en-us" RequestCode="1.14">
158 <Text Formatted="false" Language="en-us">1 king bed</Text>
159 </SpecialRequest>
160 <SpecialRequest Language="en-us" RequestCode="2.1">
161 <Text Formatted="false" Language="en-us">Non-Smoking</Text>
162 </SpecialRequest>
163 <SpecialRequest Language="en-us" RequestCode="5">
164 <Text Formatted="true" Language="en-us">This guest booked without a credit card and will pay upon arrival. Be sure to reconcile this reservation and waive the cancellation fee to avoid paying unnecessary compensation if the guest cancels or doesn’t show up.</Text>
165 </SpecialRequest>
166 </SpecialRequests>
167 </RoomStay>
168 </RoomStays>
169 <ResGuests>
170 <ResGuest AgeQualifyingCode="10" ResGuestRPH="1">
171 <Profiles>
172 <ProfileInfo>
173 <Profile ProfileType="1">
174 <Customer>
175 <PersonName>
176 <GivenName>Etienne</GivenName>
177 <Surname>Tester</Surname>
178 </PersonName>
179 <Telephone AreaCityCode="321" CountryAccessCode="1" PhoneNumber="3331111"/>
180 <Email>customer@email.com</Email>
181 </Customer>
182 </Profile>
183 </ProfileInfo>
184 </Profiles>
185 </ResGuest>
186 </ResGuests>
187 <ResGlobalInfo>
188 <HotelReservationIDs>
189 <HotelReservationID ResID_Date="2016-05-17T11:25:00-07:00" ResID_Source="Expedia" ResID_Type="8" ResID_Value="13357309"/>
190 </HotelReservationIDs>
191 </ResGlobalInfo>
192 </HotelReservation>
193 </HotelReservations>
194 </OTA_HotelResNotifRQ>
195 </soap-env:Body>
196</soap-env:Envelope>

New reservation with Expedia Group alias

The following is a sample Booking Notification request sent with the Expedia Group email alias that replaces the customer email address.

1<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
2 <soap-env:Header>
3 <Interface xmlns="http://www.newtrade.com/expedia/R14/header" Name="ExpediaDirectConnect" Version="4.0">
4 <PayloadInfo ExpirationDateTime="2018-12-18T17:05:00-08:00" Location="Body" RequestId="1167803021" RequestorId="Expedia.com" ResponderId="EQCPartnerA">
5 <CommDescriptor DestinationId="EQCPartnerA" RetryIndicator="false" SourceId="ExpediaDC">
6 <Authentication Password="Pass1" Username="EQCUser1" />
7 </CommDescriptor>
8 <PayloadDescriptor Name="OTA_HotelResNotifRQ" Version="2003A">
9 <PayloadReference DistributorHotelId="12696123" SupplierHotelCode="12696123" />
10 </PayloadDescriptor>
11 </PayloadInfo>
12 </Interface>
13 </soap-env:Header>
14 <soap-env:Body>
15 <OTA_HotelResNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="1167803021" PrimaryLangID="en-us" ResStatus="Commit" Target="Production" TimeStamp="2018-12-18T14:35:00-08:00" Version="1.000">
16 <POS>
17 <Source>
18 <RequestorID ID="Hotels.com" Type="18" />
19 <BookingChannel Primary="true" Type="2">
20 <CompanyName>Expedia</CompanyName>
21 </BookingChannel>
22 </Source>
23 </POS>
24 <HotelReservations>
25 <HotelReservation CreateDateTime="2018-12-18T14:35:00-08:00" CreatorID="Expedia" RoomStayReservation="true">
26 <UniqueID ID="1165515678" Type="14" />
27 <RoomStays>
28 <RoomStay>
29 <RoomTypes>
30 <RoomType IsRoom="true" RoomTypeCode="201379456" />
31 </RoomTypes>
32 <RatePlans>
33 <RatePlan EffectiveDate="2018-12-21" ExpireDate="2018-12-22" RatePlanCode="206807911" />
34 </RatePlans>
35 <RoomRates>
36 <RoomRate EffectiveDate="2018-12-21" ExpireDate="2018-12-22" NumberOfUnits="1" PromotionCode="Basic 55% (18)" RatePlanCode="206807911" RoomTypeCode="201379456">
37 <Rates>
38 <Rate EffectiveDate="2018-12-21" ExpireDate="2018-12-22" RateTimeUnit="Day" UnitMultiplier="1">
39 <Base AmountBeforeTax="84870" CurrencyCode="KRW" />
40 <Fees>
41 <Fee Amount="0" Code="1" CurrencyCode="KRW" TaxInclusive="false" Type="Exclusive" />
42 </Fees>
43 </Rate>
44 </Rates>
45 </RoomRate>
46 </RoomRates>
47 <GuestCounts IsPerRoom="true">
48 <GuestCount AgeQualifyingCode="10" Count="1" />
49 </GuestCounts>
50 <TimeSpan End="2018-12-22" Start="2018-12-21" />
51 <Total AmountAfterTax="93357" CurrencyCode="KRW">
52 <Taxes Amount="8487" CurrencyCode="KRW">
53 <Tax Amount="8487" Code="27" CurrencyCode="KRW" Type="Exclusive" />
54 </Taxes>
55 </Total>
56 <BasicPropertyInfo HotelCode="12696123" />
57 <ResGuestRPHs>
58 <ResGuestRPH RPH="1" />
59 </ResGuestRPHs>
60 <SpecialRequests>
61 <SpecialRequest Language="en-us" RequestCode="1.13">
62 <Text Formatted="false" Language="en-us">1 double bed</Text>
63 </SpecialRequest>
64 <SpecialRequest Language="en-us" RequestCode="2.1">
65 <Text Formatted="false" Language="en-us">Non-Smoking</Text>
66 </SpecialRequest>
67 </SpecialRequests>
68 </RoomStay>
69 </RoomStays>
70 <ResGuests>
71 <ResGuest AgeQualifyingCode="10" ResGuestRPH="1">
72 <Profiles>
73 <ProfileInfo>
74 <Profile ProfileType="1">
75 <Customer>
76 <PersonName>
77 <GivenName>Anna</GivenName>
78 <Surname>Lin</Surname>
79 </PersonName>
80 <Telephone AreaCityCode="514" CountryAccessCode="1" PhoneNumber="3214567" />
81 <Email>45983018ca284823b2f893f27e4f93d8@m.expediapartnercentral.com</Email>
82 </Customer>
83 </Profile>
84 </ProfileInfo>
85 </Profiles>
86 </ResGuest>
87 </ResGuests>
88 <ResGlobalInfo>
89 <HotelReservationIDs>
90 <HotelReservationID ResID_Date="2018-12-18T14:35:00-08:00" ResID_Source="Expedia" ResID_Type="8" ResID_Value="1165515678" />
91 </HotelReservationIDs>
92 </ResGlobalInfo>
93 </HotelReservation>
94 </HotelReservations>
95 </OTA_HotelResNotifRQ>
96 </soap-env:Body>
97</soap-env:Envelope>

New reservation with guest names and requests in Unicode

Properties using this feature can receive guest names and special requests in a locally relevant language. Below is a sample Booking Notification request where guest names and special requests are specified in Chinese. More details in What’s New?.

1<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
2 <soap-env:Header>
3 <Interface xmlns="http://www.newtrade.com/expedia/R14/header" Name="ExpediaDirectConnect" Version="4.0">
4 <PayloadInfo RequestId="22922909" RequestorId="Expedia.com" ResponderId="EQCSpecTest" ExpirationDateTime="2016-05-17T21:51:00+00:00" Location="Body">
5 <CommDescriptor SourceId="ExpediaDC" DestinationId="EQCSpecTest" RetryIndicator="false">
6 <Authentication Username="Expedia" Password="Password"/>
7 </CommDescriptor>
8 <PayloadDescriptor Name="OTA_HotelResNotifRQ" Version="2003A">
9 <PayloadReference SupplierHotelCode="1154286" DistributorHotelId="1154286"/>
10 </PayloadDescriptor>
11 </PayloadInfo>
12 </Interface>
13 </soap-env:Header>
14 <soap-env:Body>
15 <OTA_HotelResNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="22922909" TimeStamp="2016-05-17T12:21:00-07:00" Target="Production" Version="1.000" PrimaryLangID="en-us" ResStatus="Commit">
16 <POS>
17 <Source>
18 <RequestorID Type="18" ID="Expedia"/>
19 <BookingChannel Type="2" Primary="true">
20 <CompanyName>Expedia</CompanyName>
21 </BookingChannel>
22 </Source>
23 </POS>
24 <HotelReservations>
25 <HotelReservation RoomStayReservation="true" CreateDateTime="2016-05-17T12:21:00-07:00" CreatorID="Expedia">
26 <UniqueID Type="14" ID="13357395"/>
27 <RoomStays>
28 <RoomStay>
29 <RoomTypes>
30 <RoomType RoomTypeCode="50292" IsRoom="true"/>
31 </RoomTypes>
32 <RatePlans>
33 <RatePlan RatePlanCode="113712" EffectiveDate="2016-05-31" ExpireDate="2016-06-01"/>
34 <RatePlan RatePlanCode="113712" EffectiveDate="2016-06-01" ExpireDate="2016-06-02"/>
35 <RatePlan RatePlanCode="113712" EffectiveDate="2016-06-02" ExpireDate="2016-06-03"/>
36 <RatePlan RatePlanCode="113712" EffectiveDate="2016-06-03" ExpireDate="2016-06-04"/>
37 </RatePlans>
38 <RoomRates>
39 <RoomRate EffectiveDate="2016-05-31" ExpireDate="2016-06-01" RoomTypeCode="50292" NumberOfUnits="1" RatePlanCode="113712" PromotionCode="Early Bird Summer 30 4 nights a">
40 <Rates>
41 <Rate EffectiveDate="2016-05-31" ExpireDate="2016-06-01" RateTimeUnit="Day" UnitMultiplier="1">
42 <Base AmountBeforeTax="178.64" CurrencyCode="CAD"/>
43 <AdditionalGuestAmounts>
44 <AdditionalGuestAmount AgeQualifyingCode="8">
45 <Amount AmountBeforeTax="10.00" CurrencyCode="CAD"/>
46 </AdditionalGuestAmount>
47 <AdditionalGuestAmount AgeQualifyingCode="7">
48 <Amount AmountBeforeTax="5.00" CurrencyCode="CAD"/>
49 </AdditionalGuestAmount>
50 <AdditionalGuestAmount AgeQualifyingCode="7">
51 <Amount AmountBeforeTax="5.00" CurrencyCode="CAD"/>
52 </AdditionalGuestAmount>
53 </AdditionalGuestAmounts>
54 <Fees>
55 <Fee TaxInclusive="false" Type="Exclusive" Code="1" Amount="0.00" CurrencyCode="CAD"/>
56 </Fees>
57 </Rate>
58 </Rates>
59 </RoomRate>
60 <RoomRate EffectiveDate="2016-06-01" ExpireDate="2016-06-02" RoomTypeCode="50292" NumberOfUnits="1" RatePlanCode="113712" PromotionCode="Early Bird Summer 30 4 nights a">
61 <Rates>
62 <Rate EffectiveDate="2016-06-01" ExpireDate="2016-06-02" RateTimeUnit="Day" UnitMultiplier="1">
63 <Base AmountBeforeTax="178.64" CurrencyCode="CAD"/>
64 <AdditionalGuestAmounts>
65 <AdditionalGuestAmount AgeQualifyingCode="8">
66 <Amount AmountBeforeTax="10.00" CurrencyCode="CAD"/>
67 </AdditionalGuestAmount>
68 <AdditionalGuestAmount AgeQualifyingCode="7">
69 <Amount AmountBeforeTax="5.00" CurrencyCode="CAD"/>
70 </AdditionalGuestAmount>
71 <AdditionalGuestAmount AgeQualifyingCode="7">
72 <Amount AmountBeforeTax="5.00" CurrencyCode="CAD"/>
73 </AdditionalGuestAmount>
74 </AdditionalGuestAmounts>
75 <Fees>
76 <Fee TaxInclusive="false" Type="Exclusive" Code="1" Amount="0.00" CurrencyCode="CAD"/>
77 </Fees>
78 </Rate>
79 </Rates>
80 </RoomRate>
81 <RoomRate EffectiveDate="2016-06-02" ExpireDate="2016-06-03" RoomTypeCode="50292" NumberOfUnits="1" RatePlanCode="113712" PromotionCode="Early Bird Summer 30 4 nights a">
82 <Rates>
83 <Rate EffectiveDate="2016-06-02" ExpireDate="2016-06-03" RateTimeUnit="Day" UnitMultiplier="1">
84 <Base AmountBeforeTax="178.64" CurrencyCode="CAD"/>
85 <AdditionalGuestAmounts>
86 <AdditionalGuestAmount AgeQualifyingCode="8">
87 <Amount AmountBeforeTax="10.00" CurrencyCode="CAD"/>
88 </AdditionalGuestAmount>
89 <AdditionalGuestAmount AgeQualifyingCode="7">
90 <Amount AmountBeforeTax="5.00" CurrencyCode="CAD"/>
91 </AdditionalGuestAmount>
92 <AdditionalGuestAmount AgeQualifyingCode="7">
93 <Amount AmountBeforeTax="5.00" CurrencyCode="CAD"/>
94 </AdditionalGuestAmount>
95 </AdditionalGuestAmounts>
96 <Fees>
97 <Fee TaxInclusive="false" Type="Exclusive" Code="1" Amount="0.00" CurrencyCode="CAD"/>
98 </Fees>
99 </Rate>
100 </Rates>
101 </RoomRate>
102 <RoomRate EffectiveDate="2016-06-03" ExpireDate="2016-06-04" RoomTypeCode="50292" NumberOfUnits="1" RatePlanCode="113712" PromotionCode="Early Bird Summer 30 4 nights a">
103 <Rates>
104 <Rate EffectiveDate="2016-06-03" ExpireDate="2016-06-04" RateTimeUnit="Day" UnitMultiplier="1">
105 <Base AmountBeforeTax="187.60" CurrencyCode="CAD"/>
106 <AdditionalGuestAmounts>
107 <AdditionalGuestAmount AgeQualifyingCode="8">
108 <Amount AmountBeforeTax="10.00" CurrencyCode="CAD"/>
109 </AdditionalGuestAmount>
110 <AdditionalGuestAmount AgeQualifyingCode="7">
111 <Amount AmountBeforeTax="5.00" CurrencyCode="CAD"/>
112 </AdditionalGuestAmount>
113 <AdditionalGuestAmount AgeQualifyingCode="7">
114 <Amount AmountBeforeTax="5.00" CurrencyCode="CAD"/>
115 </AdditionalGuestAmount>
116 </AdditionalGuestAmounts>
117 <Fees>
118 <Fee TaxInclusive="false" Type="Exclusive" Code="1" Amount="0.00" CurrencyCode="CAD"/>
119 </Fees>
120 </Rate>
121 </Rates>
122 </RoomRate>
123 </RoomRates>
124 <GuestCounts IsPerRoom="true">
125 <GuestCount AgeQualifyingCode="10" Count="2"/>
126 <GuestCount AgeQualifyingCode="8" Count="1" Age="4"/>
127 <GuestCount AgeQualifyingCode="8" Count="1" Age="9"/>
128 <GuestCount AgeQualifyingCode="8" Count="1" Age="17"/>
129 </GuestCounts>
130 <TimeSpan Start="2016-05-31" End="2016-06-04"/>
131 <Guarantee>
132 <GuaranteesAccepted>
133 <GuaranteeAccepted>
134 <PaymentCard CardType="1" CardCode="MC" CardNumber="5191111111111111" ExpireDate="0619">
135 <CardHolderName>Expedia VirtualCard</CardHolderName>
136 <Address FormattedInd="false">
137 <AddressLine>1111 Expedia Group Way W</AddressLine>
138 <CityName>Seattle</CityName>
139 <PostalCode>98119</PostalCode>
140 <StateProv StateCode="WA"/>
141 <CountryName Code="US"/>
142 </Address>
143 </PaymentCard>
144 </GuaranteeAccepted>
145 </GuaranteesAccepted>
146 </Guarantee>
147 <Total AmountAfterTax="951.61" CurrencyCode="CAD">
148 <Taxes Amount="148.09" CurrencyCode="CAD">
149 <Tax Type="Exclusive" Code="27" Amount="148.09" CurrencyCode="CAD"/>
150 </Taxes>
151 </Total>
152 <BasicPropertyInfo HotelCode="1154286"/>
153 <ResGuestRPHs>
154 <ResGuestRPH RPH="1"/>
155 </ResGuestRPHs>
156 <SpecialRequests>
157 <SpecialRequest Language="en-us" RequestCode="1.14">
158 <Text Formatted="false" Language="en-us">1 king bed</Text>
159 </SpecialRequest>
160 <SpecialRequest Language="en-us" RequestCode="2.1">
161 <Text Formatted="false" Language="en-us">Non-Smoking</Text>
162 </SpecialRequest>
163 <SpecialRequest Language="en-us" RequestCode="4">
164 <Text Formatted="true" Language="en-us">需要接机,谢谢! </Text>
165 </SpecialRequest>
166 <SpecialRequest Language="en-us" RequestCode="5">
167 <Text Formatted="true" Language="en-us">, Expedia Virtual Card will be activated from the day of Check-in.</Text>
168 </SpecialRequest>
169 </SpecialRequests>
170 </RoomStay>
171 </RoomStays>
172 <ResGuests>
173 <ResGuest ResGuestRPH="1" AgeQualifyingCode="10">
174 <Profiles>
175 <ProfileInfo>
176 <Profile ProfileType="1">
177 <Customer>
178 <PersonName>
179 <GivenName>明海</GivenName>
180 <Surname></Surname>
181 </PersonName>
182 <Telephone CountryAccessCode="1" AreaCityCode="321" PhoneNumber="3331112"/>
183 <Email>customer@email.com</Email>
184 </Customer>
185 </Profile>
186 </ProfileInfo>
187 </Profiles>
188 </ResGuest>
189 </ResGuests>
190 <ResGlobalInfo>
191 <HotelReservationIDs>
192 <HotelReservationID ResID_Type="8" ResID_Value="13357395" ResID_Source="Expedia" ResID_Date="2016-05-17T12:21:00-07:00"/>
193 </HotelReservationIDs>
194 </ResGlobalInfo>
195 </HotelReservation>
196 </HotelReservations>
197 </OTA_HotelResNotifRQ>
198 </soap-env:Body>
199</soap-env:Envelope>