ReferenceBooking Notification API

Modified reservations

Bookings made on Expedia Group points of sale can evolve over time before the traveler checks in at the property - or in rare cases, even after the check-in date. For example, the booking could be changed to add or remove a day for the stay. The booking can also be cancelled by the traveler or by Expedia Group Customer Support.

The <OTA_HotelResModifyNotifRQ/RS> message pair is used to send notifications for reservation modifications from Expedia Group to your system. There are two categories of reservation modifications:

  • The first type involves changing all information except the property (for example dates, room types, or other details of a stay at a particular property). This type of change will employ the use of a modification message pair.
  • The second type involves changing from staying at one property to staying at a different property. This type of change will be handled asa cancellation of the original reservation and a brand new booking at the new property.

The OTA 2005B spec <OTA_HotelResModifyNotifRQ/RS> message set will handle the full overlay of the reservation. This message resembles the <OTA_HotelResNotifRQ/RS>. The existing message structures are extended with new fields to identify that this is a modification to a committed reservation and to verify that the change is being done on the appropriate reservation. In this message, the reservation content is the bulk of the message. Both the Expedia Group internal booking item ID (@ResID_Value) and the property’s confirmation ID will be placed in the HotelReservationID element in the <OTA_HotelResModifyNotifRQ> message.

Request

Since the <OTA_HotelResModifyNotifRQ> message is a full overlay of the reservation, it has the exact same XML structure as the <OTA_HotelResNotifRQ> message. Refer to New reservations for details.

The main difference is in the <HotelReservationID> element within the XML structure. There will be two instances of the <HotelReservationID> element in the Modify message as opposed to a single instance in the original Reservation message.

Furthermore, the free-form text special request (RequestCode="4") in a reservation modification is sent only if a new special request is entered for the current modification. In other words, by default, the modification notification request will not contain the special request entered previously for the same reservation.

Note: You should add any new free-form text special requests to the existing special requests saved in your system for the same reservation.

OTA_HotelResModifNotifRQ element

The <OTA_HotelResModifNotifRQ> element is the root element for modified 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.

Most of the XML structure is the same as described for new reservations, <OTA_HotelResNotifRQ>.

Syntax
1<soap-env:Body>
2<OTA_HotelResModifNotifRQxmlns=" http://www.opentravel.org/OTA/2003/05 " EchoToken="******token1234******" PrimaryLangID="en-us" ResStatus="Commit" Target="Production" TimeStamp="ISO 8601 timestamp" Version="current version">
3<POS>
4<Source>
5<RequestorID ID="pointofsale" Type="OTA code type" />
6<BookingChannel Primary="Boolean" Type="2">
7<CompanyName>Expedia</CompanyName>
8</BookingChannel>
9</Source>
10</POS>
11<HotelResModifies>
12<HotelResModify RoomStayReservation="Boolean" CreateDateTime="datetime" CreatorID="Expedia">
13<UniqueID ID="BookingID" Type="14"/>
14<RoomStays>
15<RoomStay>
16<RoomTypes>
17<RoomType IsRoom="true" RoomTypeCode="RoomTypeID"/>
18</RoomTypes>
19<RatePlans>
20<RatePlan EffectiveDate="date" ExpireDate="date" RatePlanCode="RatePlanID"/>
21</RatePlans>
22<RoomRates>
23<RoomRate EffectiveDate="date" ExpireDate="date" NumberOfUnits="{integer}" PromotionCode="DRR Name" RatePlanCode="RatePlanID" RoomTypeCode="RoomTypeID">
24<Rates>
25<Rate EffectiveDate=""date" ExpireDate="date" RateTimeUnit="Day" UnitMultiplier="1">
26<Base AmountBeforeTax="{integer}" CurrencyCode="Currency"/>
27<Fees>
28<Fee Amount="Amount" Code="1" CurrencyCode="Currency" TaxInclusive="false" Type="Exclusive"/>
29</Fees>
30</Rate>
31</Rates>
32</RoomRate>
33</RoomRates>
34<GuestCounts IsPerRoom="Boolean">
35<GuestCount AgeQualifyingCode="Numeric (10 or 8 only)" Count="{integer}"/>
36</GuestCounts>
37<TimeSpan End="date" Start="date"/>
38<Guarantee>
39<GuaranteesAccepted>
40<GuaranteeAccepted>
41<PaymentCard CardCode="Card Code" CardNumber="card number" CardType="1" ExpireDate="MMYY">
42<CardHolderName>name</CardHolderName>
43<Address FormattedInd="false">
44<AddressLine>1111 Expedia Group Way W</AddressLine>
45<CityName>Seattle</CityName>
46<PostalCode>98119</PostalCode>
47<StateProv StateCode="WA"/>
48<CountryName Code="US"/>
49</Address>
50</PaymentCard>
51</GuaranteeAccepted>
52</GuaranteesAccepted>
53</Guarantee>
54<Total AmountAfterTax="{decimal}" CurrencyCode="Currency">
55<Taxes Amount="{decimal}" CurrencyCode="Currency">
56<Tax Amount="{decimal}" Code="27" CurrencyCode="Currency" Type="Exclusive"/>
57</Taxes>
58</Total>
59<BasicPropertyInfo BrandCode="code" ChainCode="code" HotelCode="Expedia Hotel ID"/>
60<ResGuestRPHs>
61<ResGuestRPH RPH="1"/>
62</ResGuestRPHs>
63<SpecialRequests>
64<SpecialRequest Language="en-us" RequestCode="{integer}">
65<Text Formatted="false" Language="en-us">String</Text>
66</SpecialRequest>
67<SpecialRequest Language="en-us" RequestCode="5">
68<Text Formatted="true" Language="en-us">request text</Text>
69</SpecialRequest>
70</SpecialRequests>
71</RoomStay>
72</RoomStays>
73<ResGuests>
74<ResGuest AgeQualifyingCode="Numeric (10 or 8 only)" ResGuestRPH="1">
75<Profiles>
76<ProfileInfo>
77<Profile ProfileType="1">
78<Customer>
79<PersonName>
80<GivenName>firstname</GivenName>
81<Surname>lastname</Surname>
82</PersonName>
83<Telephone AreaCityCode="code" CountryAccessCode="code" PhoneNumber="phone"/>
84<Email>email address</Email>
85</Customer>
86</Profile>
87</ProfileInfo>
88</Profiles>
89</ResGuest>
90</ResGuests>
91<ResGlobalInfo>
92<HotelReservationIDs>
93<HotelReservationID ResID_Date="date" ResID_Source="Expedia" ResID_Type="8" ResID_Value="BookingId"/>
94</HotelReservationIDs>
95</ResGlobalInfo>
96</HotelResModify>
97</HotelResModifies>
98</OTA_HotelResModifNotifRQ>

HotelResModifies element

This is a container element that represents a collection of Hotel Reservation Modifications. The <HotelResModifies> element replaces the <HotelReservations> element in booking modification request messages.

It includes the <HotelResModify> element, which is the container element that represents a single reservation modification.

Syntax
1<soap-env:Body>
2<OTA_HotelResModifNotifRQxmlns=" http://www.opentravel.org/OTA/2003/05 " EchoToken="******token1234******" PrimaryLangID="en-us" ResStatus="Commit" Target="Production" TimeStamp="ISO 8601 timestamp" Version="current version">
3<HotelResModifies>
4<HotelResModify RoomStayReservation="Boolean" CreateDateTime="datetime" CreatorID="Expedia">
5<UniqueID ID="BookingID" Type="14"/>
6</HotelResModify>
7</HotelResModifies>
8</OTA_HotelResModifNotifRQ>
9</soap-env:Body>
Hierarchy
1<soap-env:Body>
2<OTA_HotelResModifNotifRQ>
3<HotelResModifies>
Child elements

Name

Description

<HotelResModify> element

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

This element replaces the <HotelReservation> element in modified booking request messages.

Attributes and #### Child elements

  • RoomStayReservation- This attribute indicates whether the reservation is reserving rooms. Data type: Boolean, true/false. Value will always be “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 <HotelResModifies> element.

It is the unique identifier of the reservation to be modified and occurs twice per message, one to contain the original Expedia Group booking ID, and another for the property's confirmation number.

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

Response

The OTA_HotelResModifyNotifRQ/RS message pair is used to send notifications for reservation modifications from Expedia Group to your system. There are two categories of reservation modifications:

  • The first type involves changing all information except the property(for example dates, room types, or other details of a stay at a particular property). This type of change will employ the use of a modification message pair.
  • The second type involves changing from staying at one property to staying at a different property. This type of change will be handled asa cancellation of the original reservation and a brand new booking at the new property.

The OTA 2005B spec OTA_HotelResModifyNotifRQ/RS message set will handle the full overlay of the reservation. This message resembles the OTA_HotelResNotifRQ/RS. The existing message structures are extended with new fields to identify that this is a modification to a committed reservation and to verify that the change is being done on the appropriate reservation. In this message, the reservation content is the bulk of the message. Both the Expedia Group internal Booking item ID (@ResID_Value) and the Hotel confirmation ID will be placed in the HotelReservationID element in the OTA_HotelResModifyNotifRQ message.

OTA_HotelResModifyNotifRS element

This element returns a confirmation that the booking modification has been successfully received, or it includes errors if the request did not succeed. The <OTA_HotelResModifyNotifRS> message has the exact same XML structure as the <OTA_HotelResNotifRS> message.

Expedia Group receives a confirmation number from success responses. Like success response messages for new reservations, the presence of the <Success> element in modified reservation responses indicates that the transaction was processed successfully. The <Success> element occurs once per success response message.

The same common payload attributes are repeated as described for the <OTA_HotelResNotifRS> message. The only difference in the header is that the attribute @ResResponseType will have a different value ("Modified" for responses for modified reservations instead of "Committed" for responses to new reservations) in success responses.

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

HotelResModifies element

In modified reservation success messages, the <HotelReservations> element from new booking notification responses is replaced with the <HotelResModifies> element.

The <HotelResModifies> element is a container element that represents a collection of modified reservations. Each response message represents a single reservation. It includes the <HotelResModify> element, which is the container element that represents a single modified booking.

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

Name

Description

<HotelResModify> element

This is a child element of the <HotelResModifies> element and is the container element for a single modified 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 for a modified booking is the same as the <OTA_HotelResNotifRS> message, except the root tag will be "<OTA_HotelResModifyNotifRS>" instead of "<OTA_HotelResNotifRS>".

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_HotelResModifyNotifRS 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 for modifying reservations.

Modified booking removing one night

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="22922936" RequestorId="Expedia.com" ResponderId="EQCSpecTest" ExpirationDateTime="2016-05-17T21:57: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_HotelResModifyNotifRQ" Version="2003A">
9 <PayloadReference SupplierHotelCode="1154286" DistributorHotelId="1154286"/>
10 </PayloadDescriptor>
11 </PayloadInfo>
12 </Interface>
13 </soap-env:Header>
14 <soap-env:Body>
15 <OTA_HotelResModifyNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="22922936" TimeStamp="2016-05-17T12:27: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 <HotelResModifies>
25 <HotelResModify RoomStayReservation="true" CreateDateTime="2016-05-17T12:27: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-06-01" ExpireDate="2016-06-02"/>
34 <RatePlan RatePlanCode="113712" EffectiveDate="2016-06-02" ExpireDate="2016-06-03"/>
35 <RatePlan RatePlanCode="113712" EffectiveDate="2016-06-03" ExpireDate="2016-06-04"/>
36 </RatePlans>
37 <RoomRates>
38 <RoomRate EffectiveDate="2016-06-01" ExpireDate="2016-06-02" RoomTypeCode="50292" NumberOfUnits="1" RatePlanCode="113712" PromotionCode="Early Bird Summer 25 3 nights a">
39 <Rates>
40 <Rate EffectiveDate="2016-06-01" ExpireDate="2016-06-02" RateTimeUnit="Day" UnitMultiplier="1">
41 <Base AmountBeforeTax="191.40" CurrencyCode="CAD"/>
42 <AdditionalGuestAmounts>
43 <AdditionalGuestAmount AgeQualifyingCode="8">
44 <Amount AmountBeforeTax="10.00" CurrencyCode="CAD"/>
45 </AdditionalGuestAmount>
46 <AdditionalGuestAmount AgeQualifyingCode="7">
47 <Amount AmountBeforeTax="5.00" CurrencyCode="CAD"/>
48 </AdditionalGuestAmount>
49 <AdditionalGuestAmount AgeQualifyingCode="7">
50 <Amount AmountBeforeTax="5.00" CurrencyCode="CAD"/>
51 </AdditionalGuestAmount>
52 </AdditionalGuestAmounts>
53 <Fees>
54 <Fee TaxInclusive="false" Type="Exclusive" Code="1" Amount="0.00" CurrencyCode="CAD"/>
55 </Fees>
56 </Rate>
57 </Rates>
58 </RoomRate>
59 <RoomRate EffectiveDate="2016-06-02" ExpireDate="2016-06-03" RoomTypeCode="50292" NumberOfUnits="1" RatePlanCode="113712" PromotionCode="Early Bird Summer 25 3 nights a">
60 <Rates>
61 <Rate EffectiveDate="2016-06-02" ExpireDate="2016-06-03" RateTimeUnit="Day" UnitMultiplier="1">
62 <Base AmountBeforeTax="191.40" CurrencyCode="CAD"/>
63 <AdditionalGuestAmounts>
64 <AdditionalGuestAmount AgeQualifyingCode="8">
65 <Amount AmountBeforeTax="10.00" CurrencyCode="CAD"/>
66 </AdditionalGuestAmount>
67 <AdditionalGuestAmount AgeQualifyingCode="7">
68 <Amount AmountBeforeTax="5.00" CurrencyCode="CAD"/>
69 </AdditionalGuestAmount>
70 <AdditionalGuestAmount AgeQualifyingCode="7">
71 <Amount AmountBeforeTax="5.00" CurrencyCode="CAD"/>
72 </AdditionalGuestAmount>
73 </AdditionalGuestAmounts>
74 <Fees>
75 <Fee TaxInclusive="false" Type="Exclusive" Code="1" Amount="0.00" CurrencyCode="CAD"/>
76 </Fees>
77 </Rate>
78 </Rates>
79 </RoomRate>
80 <RoomRate EffectiveDate="2016-06-03" ExpireDate="2016-06-04" RoomTypeCode="50292" NumberOfUnits="1" RatePlanCode="113712" PromotionCode="Early Bird Summer 25 3 nights a">
81 <Rates>
82 <Rate EffectiveDate="2016-06-03" ExpireDate="2016-06-04" RateTimeUnit="Day" UnitMultiplier="1">
83 <Base AmountBeforeTax="201.00" CurrencyCode="CAD"/>
84 <AdditionalGuestAmounts>
85 <AdditionalGuestAmount AgeQualifyingCode="8">
86 <Amount AmountBeforeTax="10.00" CurrencyCode="CAD"/>
87 </AdditionalGuestAmount>
88 <AdditionalGuestAmount AgeQualifyingCode="7">
89 <Amount AmountBeforeTax="5.00" CurrencyCode="CAD"/>
90 </AdditionalGuestAmount>
91 <AdditionalGuestAmount AgeQualifyingCode="7">
92 <Amount AmountBeforeTax="5.00" CurrencyCode="CAD"/>
93 </AdditionalGuestAmount>
94 </AdditionalGuestAmounts>
95 <Fees>
96 <Fee TaxInclusive="false" Type="Exclusive" Code="1" Amount="0.00" CurrencyCode="CAD"/>
97 </Fees>
98 </Rate>
99 </Rates>
100 </RoomRate>
101 </RoomRates>
102 <GuestCounts IsPerRoom="true">
103 <GuestCount AgeQualifyingCode="10" Count="2"/>
104 <GuestCount AgeQualifyingCode="8" Count="1" Age="4"/>
105 <GuestCount AgeQualifyingCode="8" Count="1" Age="9"/>
106 <GuestCount AgeQualifyingCode="8" Count="1" Age="17"/>
107 </GuestCounts>
108 <TimeSpan Start="2016-06-01" End="2016-06-04"/>
109 <Guarantee>
110 <GuaranteesAccepted>
111 <GuaranteeAccepted>
112 <PaymentCard CardType="1" CardCode="MC" CardNumber="5191111111111111" ExpireDate="0619" SeriesCode="981">
113 <CardHolderName>Expedia VirtualCard</CardHolderName>
114 <Address FormattedInd="false">
115 <AddressLine>1111 Expedia Group Way W</AddressLine>
116 <CityName>Seattle</CityName>
117 <PostalCode>98119</PostalCode>
118 <StateProv StateCode="WA"/>
119 <CountryName Code="US"/>
120 </Address>
121 </PaymentCard>
122 </GuaranteeAccepted>
123 </GuaranteesAccepted>
124 </Guarantee>
125 <Total AmountAfterTax="762.45" CurrencyCode="CAD">
126 <Taxes Amount="118.65" CurrencyCode="CAD">
127 <Tax Type="Exclusive" Code="27" Amount="118.65" CurrencyCode="CAD"/>
128 </Taxes>
129 </Total>
130 <BasicPropertyInfo HotelCode="1154286"/>
131 <ResGuestRPHs>
132 <ResGuestRPH RPH="1"/>
133 </ResGuestRPHs>
134 <SpecialRequests>
135 <SpecialRequest Language="en-us" RequestCode="1.14">
136 <Text Formatted="false" Language="en-us">1 king bed</Text>
137 </SpecialRequest>
138 <SpecialRequest Language="en-us" RequestCode="2.1">
139 <Text Formatted="false" Language="en-us">Non-Smoking</Text>
140 </SpecialRequest>
141 <SpecialRequest Language="en-us" RequestCode="5">
142 <Text Formatted="true" Language="en-us">Bill only nghts bkd by Expedia to cc# @ ck-in gst pays incid</Text>
143 </SpecialRequest>
144 </SpecialRequests>
145 </RoomStay>
146 </RoomStays>
147 <ResGuests>
148 <ResGuest ResGuestRPH="1" AgeQualifyingCode="10">
149 <Profiles>
150 <ProfileInfo>
151 <Profile ProfileType="1">
152 <Customer>
153 <PersonName>
154 <GivenName>Etienne</GivenName>
155 <Surname>Beaulne-Dury</Surname>
156 </PersonName>
157 <Telephone CountryAccessCode="1" AreaCityCode="321" PhoneNumber="3331112"/>
158 <Email>customer@email.com</Email>
159 </Customer>
160 </Profile>
161 </ProfileInfo>
162 </Profiles>
163 </ResGuest>
164 </ResGuests>
165 <ResGlobalInfo>
166 <HotelReservationIDs>
167 <HotelReservationID ResID_Type="8" ResID_Value="13357395" ResID_Source="Expedia" ResID_Date="2016-05-17T12:27:00-07:00"/>
168 <HotelReservationID ResID_Type="3" ResID_Value="ConfNumber123" ResID_Source="EQCSpecTest" ResID_Date="2016-05-17T12:23:00-07:00"/>
169 </HotelReservationIDs>
170 </ResGlobalInfo>
171 </HotelResModify>
172 </HotelResModifies>
173 </OTA_HotelResModifyNotifRQ>
174 </soap-env:Body>
175</soap-env:Envelope>

Modified booking with Expedia Virtual Card details

The following is a sample Booking Notification request and response pair for a modified booking. One modified booking is returned, which removes one night from the original reservation, payable to the property via Expedia Virtual Card.

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="22922936" RequestorId="Expedia.com" ResponderId="EQCSpecTest" ExpirationDateTime="2016-05-17T21:57: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_HotelResModifyNotifRQ" Version="2003A">
9 <PayloadReference SupplierHotelCode="1154286" DistributorHotelId="1154286"/>
10 </PayloadDescriptor>
11 </PayloadInfo>
12 </Interface>
13 </soap-env:Header>
14 <soap-env:Body>
15 <OTA_HotelResModifyNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="22922936" TimeStamp="2016-05-17T12:27: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 <HotelResModifies>
25 <HotelResModify RoomStayReservation="true" CreateDateTime="2016-05-17T12:27: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-06-01" ExpireDate="2016-06-02"/>
34 <RatePlan RatePlanCode="113712" EffectiveDate="2016-06-02" ExpireDate="2016-06-03"/>
35 <RatePlan RatePlanCode="113712" EffectiveDate="2016-06-03" ExpireDate="2016-06-04"/>
36 </RatePlans>
37 <RoomRates>
38 <RoomRate EffectiveDate="2016-06-01" ExpireDate="2016-06-02" RoomTypeCode="50292" NumberOfUnits="1" RatePlanCode="113712" PromotionCode="Early Bird Summer 25 3 nights a">
39 <Rates>
40 <Rate EffectiveDate="2016-06-01" ExpireDate="2016-06-02" RateTimeUnit="Day" UnitMultiplier="1">
41 <Base AmountBeforeTax="191.40" CurrencyCode="CAD"/>
42 <AdditionalGuestAmounts>
43 <AdditionalGuestAmount AgeQualifyingCode="8">
44 <Amount AmountBeforeTax="10.00" CurrencyCode="CAD"/>
45 </AdditionalGuestAmount>
46 <AdditionalGuestAmount AgeQualifyingCode="7">
47 <Amount AmountBeforeTax="5.00" CurrencyCode="CAD"/>
48 </AdditionalGuestAmount>
49 <AdditionalGuestAmount AgeQualifyingCode="7">
50 <Amount AmountBeforeTax="5.00" CurrencyCode="CAD"/>
51 </AdditionalGuestAmount>
52 </AdditionalGuestAmounts>
53 <Fees>
54 <Fee TaxInclusive="false" Type="Exclusive" Code="1" Amount="0.00" CurrencyCode="CAD"/>
55 </Fees>
56 </Rate>
57 </Rates>
58 </RoomRate>
59 <RoomRate EffectiveDate="2016-06-02" ExpireDate="2016-06-03" RoomTypeCode="50292" NumberOfUnits="1" RatePlanCode="113712" PromotionCode="Early Bird Summer 25 3 nights a">
60 <Rates>
61 <Rate EffectiveDate="2016-06-02" ExpireDate="2016-06-03" RateTimeUnit="Day" UnitMultiplier="1">
62 <Base AmountBeforeTax="191.40" CurrencyCode="CAD"/>
63 <AdditionalGuestAmounts>
64 <AdditionalGuestAmount AgeQualifyingCode="8">
65 <Amount AmountBeforeTax="10.00" CurrencyCode="CAD"/>
66 </AdditionalGuestAmount>
67 <AdditionalGuestAmount AgeQualifyingCode="7">
68 <Amount AmountBeforeTax="5.00" CurrencyCode="CAD"/>
69 </AdditionalGuestAmount>
70 <AdditionalGuestAmount AgeQualifyingCode="7">
71 <Amount AmountBeforeTax="5.00" CurrencyCode="CAD"/>
72 </AdditionalGuestAmount>
73 </AdditionalGuestAmounts>
74 <Fees>
75 <Fee TaxInclusive="false" Type="Exclusive" Code="1" Amount="0.00" CurrencyCode="CAD"/>
76 </Fees>
77 </Rate>
78 </Rates>
79 </RoomRate>
80 <RoomRate EffectiveDate="2016-06-03" ExpireDate="2016-06-04" RoomTypeCode="50292" NumberOfUnits="1" RatePlanCode="113712" PromotionCode="Early Bird Summer 25 3 nights a">
81 <Rates>
82 <Rate EffectiveDate="2016-06-03" ExpireDate="2016-06-04" RateTimeUnit="Day" UnitMultiplier="1">
83 <Base AmountBeforeTax="201.00" CurrencyCode="CAD"/>
84 <AdditionalGuestAmounts>
85 <AdditionalGuestAmount AgeQualifyingCode="8">
86 <Amount AmountBeforeTax="10.00" CurrencyCode="CAD"/>
87 </AdditionalGuestAmount>
88 <AdditionalGuestAmount AgeQualifyingCode="7">
89 <Amount AmountBeforeTax="5.00" CurrencyCode="CAD"/>
90 </AdditionalGuestAmount>
91 <AdditionalGuestAmount AgeQualifyingCode="7">
92 <Amount AmountBeforeTax="5.00" CurrencyCode="CAD"/>
93 </AdditionalGuestAmount>
94 </AdditionalGuestAmounts>
95 <Fees>
96 <Fee TaxInclusive="false" Type="Exclusive" Code="1" Amount="0.00" CurrencyCode="CAD"/>
97 </Fees>
98 </Rate>
99 </Rates>
100 </RoomRate>
101 </RoomRates>
102 <GuestCounts IsPerRoom="true">
103 <GuestCount AgeQualifyingCode="10" Count="2"/>
104 <GuestCount AgeQualifyingCode="8" Count="1" Age="4"/>
105 <GuestCount AgeQualifyingCode="8" Count="1" Age="9"/>
106 <GuestCount AgeQualifyingCode="8" Count="1" Age="17"/>
107 </GuestCounts>
108 <TimeSpan Start="2016-06-01" End="2016-06-04"/>
109 <Guarantee>
110 <GuaranteesAccepted>
111 <GuaranteeAccepted>
112 <PaymentCard CardType="1" CardCode="MC" CardNumber="5191111111111111" ExpireDate="0619" SeriesCode="981">
113 <CardHolderName>Expedia VirtualCard</CardHolderName>
114 <Address FormattedInd="false">
115 <AddressLine>1111 Expedia Group Way W</AddressLine>
116 <CityName>Seattle</CityName>
117 <PostalCode>98119</PostalCode>
118 <StateProv StateCode="WA"/>
119 <CountryName Code="US"/>
120 </Address>
121 </PaymentCard>
122 </GuaranteeAccepted>
123 </GuaranteesAccepted>
124 </Guarantee>
125 <Total AmountAfterTax="762.45" CurrencyCode="CAD">
126 <Taxes Amount="118.65" CurrencyCode="CAD">
127 <Tax Type="Exclusive" Code="27" Amount="118.65" CurrencyCode="CAD"/>
128 </Taxes>
129 </Total>
130 <BasicPropertyInfo HotelCode="1154286"/>
131 <ResGuestRPHs>
132 <ResGuestRPH RPH="1"/>
133 </ResGuestRPHs>
134 <SpecialRequests>
135 <SpecialRequest Language="en-us" RequestCode="1.14">
136 <Text Formatted="false" Language="en-us">1 king bed</Text>
137 </SpecialRequest>
138 <SpecialRequest Language="en-us" RequestCode="2.1">
139 <Text Formatted="false" Language="en-us">Non-Smoking</Text>
140 </SpecialRequest>
141 <SpecialRequest Language="en-us" RequestCode="5">
142 <Text Formatted="true" Language="en-us">Bill only nghts bkd by Expedia to cc# @ ck-in gst pays incid</Text>
143 </SpecialRequest>
144 </SpecialRequests>
145 </RoomStay>
146 </RoomStays>
147 <ResGuests>
148 <ResGuest ResGuestRPH="1" AgeQualifyingCode="10">
149 <Profiles>
150 <ProfileInfo>
151 <Profile ProfileType="1">
152 <Customer>
153 <PersonName>
154 <GivenName>Etienne</GivenName>
155 <Surname>Beaulne-Dury</Surname>
156 </PersonName>
157 <Telephone CountryAccessCode="1" AreaCityCode="321" PhoneNumber="3331112"/>
158 <Email>customer@email.com</Email>
159 </Customer>
160 </Profile>
161 </ProfileInfo>
162 </Profiles>
163 </ResGuest>
164 </ResGuests>
165 <ResGlobalInfo>
166 <HotelReservationIDs>
167 <HotelReservationID ResID_Type="8" ResID_Value="13357395" ResID_Source="Expedia" ResID_Date="2016-05-17T12:27:00-07:00"/>
168 <HotelReservationID ResID_Type="3" ResID_Value="ConfNumber123" ResID_Source="EQCSpecTest" ResID_Date="2016-05-17T12:23:00-07:00"/>
169 </HotelReservationIDs>
170 </ResGlobalInfo>
171 </HotelResModify>
172 </HotelResModifies>
173 </OTA_HotelResModifyNotifRQ>
174 </soap-env:Body>
175</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 Location="Body" RequestId="22922936" RequestorId="Expedia.com" ResponderId="EQCSpecTest">
5 <CommDescriptor DestinationId="ExpediaDC" SourceId="EQCSpecTest" RetryIndicator="false"/>
6 <PayloadDescriptor Name="OTA_HotelResModifyNotifRS" Version="2003A"/>
7 </PayloadInfo>
8 </Interface>
9 </soap-env:Header>
10 <soap-env:Body>
11 <OTA_HotelResModifyNotifRS xmlns="http://www.opentravel.org/OTA/2003/05" PrimaryLangID="en-us" ResResponseType="Modified" Target="Production" TimeStamp="2016-05-17T12:56:52.597-07:00" Version="1.000">
12 <Success/>
13 <HotelResModifies>
14 <HotelResModify>
15 <ResGlobalInfo>
16 <HotelReservationIDs>
17 <HotelReservationID ResID_Date="2016-05-17T12:56:52.597-07:00" ResID_Source="Expedia" ResID_Type="8" ResID_Value="13357395"/>
18 <HotelReservationID ResID_Date="2016-05-17T12:56:52.597-07:00" ResID_Source="EQCSpecTest" ResID_Type="3" ResID_Value="ModifyConf123"/>
19 </HotelReservationIDs>
20 </ResGlobalInfo>
21 </HotelResModify>
22 </HotelResModifies>
23 </OTA_HotelResModifyNotifRS>
24 </soap-env:Body>
25</soap-env:Envelope>