ReferenceAvailability and Rates API

Request

The Availability and Rates request message (AR RQ) allows you to send Expedia updates on availability and rates for up to two years into the future. Specifically, the request can

  • Update inventory availability
  • Update rates or restrictions

Expedia Group expects to receive per day, on average, approximately 180 updates per product, per property. Typical properties connected through the API, with about 10 room type/rate plan combinations on average, can send up to 5,000 updates per property, per day. Requests and responses are sent in XML.

Expedia Group has specific rules around message bundling specifically related to how many updates are included in any single message. Each message can contain no more than 5000 updates.

The Availability and Rates API is RESTful and all requests and responses must be sent over a secure connection. All request and response bodies, including errors are encoded in XML. The Availability and Rates API is part of the Expedia Group XML schema definition, so be sure to download the latest version and use it to validate your responses.

For anyone wanting to experiment with the API, the following requests can be posted directly to the EQC interface at https://services.expediapartnercentral.com/eqc/ar. Make sure to include content type= text/xml in your HTTP header.

Availability and Rates request schema overview

ar lps api documentation mapping image2

AvailRateUpdateRQ element

This is the root container for fields passed from you to Expedia Group to send availability and rates updates. The <AvailRateUpdateRQ> 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 namespaces for requests are:

  • http://www.expediaconnect.com/EQC/AR/2007/02
  • http://www.expediaconnect.com/EQC/AR/2011/06

On average, you can expect to send about 1800 messages per day, and may send up to 5000 updates per message. Transaction times may vary depending on system load at the time the message is sent.

Syntax

1<?xml version="1.0" encoding="UTF-8"?>
2<AvailRateUpdateRQ xmlns="namespace">
3 <Authentication username="username" password="password"/>
4 <Hotel id="id"/>
5 <AvailRateUpdate>
6 <DateRange from="date" to="date"/>
7 <RoomType id="id" closed="boolean">
8 <Inventory totalInventoryAvailable="{integer}"/>
9 <RatePlan id="id" closed="boolean">
10 <Rate currency="currencycode">
11 <PerOccupancy rate="price" occupancy="{integer}"/>
12 </Rate>
13 <Restrictions closedToArrival="boolean" closedToDeparture="boolean" minLOS="{integer}" maxLOS="{integer}"/>
14 </RatePlan>
15 </RoomType>
16 </AvailRateUpdate>
17</AvailRateUpdateRQ>

Child elements

Name

Description

<Authentication>

Information used to validate and grant access to the API interface.

Attributes:

  • username- Username for Availability and Rates API login (case sensitive), provided by Expedia Group. Data type: string, between 4-30 characters.
  • password- Password for Availability and Rates API login (case sensitive), provided by Expedia Group. Data type: string, between 16-30 characters.

<Hotel>

Information about the property.

Attributes:

  • id- Property ID defined by Expedia Group and uniquely identifies a property in the Expedia Group system. It is mapped by supplier to code in the supplier's system and is assigned to the credentials provided in the Authentication node. Data type: integer, up to 14 digits.

<AvailRateUpdate>

This is a container element for a grouping of updates for one or more room type(s) and rate plan(s), for one or a list of date ranges.

Note: This element can be omitted in the request and everything brought back one level down if you don't need to send multiple updates within the same message, but also helps ensure backward compatibility.

<DateRange>

This element specifies dates on which availability and rate information provided in this message apply.

Data type:<DateRange> element

<RoomType>

Data type: <RoomType> element

DateRange element

This is a container element for a grouping of updates for one or more room type(s) and rate plan(s), for one or a list of date ranges. This element can be omitted in the request and everything brought back one level down if you don't need to send multiple updates within the same message, but also helps ensure backward compatibility.

This element specifies dates on which availability and rate information provided in this message apply. A 'from' and a 'to' date must be specified. They can be equal if you want to update only one date. This element can be repeated more than once if you want to update non-consecutive dates or date ranges. The from attribute refers to the start date of the interval and must be greater than or equal to (today - 1), while the to attribute refers to the end date of the interval. This attribute must be less than or equal to (today + 2 years + 1 day).

Data type: date, as defined in ISO 8601 format. Will always be in the following format: YYYY-MM-DD. "from date" less than or equal to "to date".

Note: The day of the week attributes are used to indicate on which day of the week, from the date range specified in the "from"-"to" attributes, the updates should be applied. If none of the seven attributes are specified, updates will apply to each day of the week.

As soon as one attribute is specified, the updates will only apply to the days where the attribute value is set to true. If you need to use this feature, Expedia recommends specifying all seven attributes, indicating on which day the updates should be applied (attribute value=true) and on which day the updates should not be applied (attribute value=false).

Child elements

Name

Description

@sun

Optional. If set to true, apply update for each Sunday in the specified date interval. Data type: Boolean, returned as “true” or “false”

@mon

Optional. If set to true, apply update for each Monday in the specified date interval. Data type: Boolean, returned as “true” or “false”

@tue

Optional. If set to true, apply update for each Tuesday in the specified date interval. Data type: Boolean, returned as “true” or “false”

@wed

Optional. If set to true, apply update for each Wednesday in the specified date interval. Data type: Boolean, returned as “true” or “false”

@thu

Optional. If set to true, apply update for each Thursday in the specified date interval. Data type: Boolean, returned as “true” or “false”

@fri

Optional. If set to true, apply update for each Friday in the specified date interval. Data type: Boolean, returned as “true” or “false”

@sat

Optional. If set to true, apply update for each Saturday in the specified date interval. Data type: Boolean, returned as “true” or “false”

RoomType element

This element indicates the room type to be updated with this message. This element can be repeated more than once if the property wants to update multiple room types for the same set of dates.

Syntax

1<RoomType id="id" closed="boolean">
2 <Inventory totalInventoryAvailable="{integer}"/>
3 <RatePlan id="id" closed="boolean">
4 <Rate currency="currencycode">
5 <PerOccupancy rate="price" occupancy="{integer}"/>
6 </Rate>
7 <Restrictions closedToArrival="boolean" closedToDeparture="boolean" minLOS="{integer}" maxLOS="{integer}"/>
8 </RatePlan>
9</RoomType>

Attributes and child elements

Name

Description

@id

Room type ID (defined by Expedia Group). Note: you have to map Expedia Group room type IDs to the property's room type codes. Room type should be active. If it isn't, the update will still work but a warning will be returned to indicate that this room type is inactive. Data Type: string, between 1-50 characters

@closed

closed - Optional. If true, the room type is no longer available on Expedia Group points of sale for the dates specified in the request. If false, the room type is reopened if it had been previously closed, or stays open if already open. Note: A close request will be refused if the room is enabled for base allocation and has base allocation left. Data type: Boolean, values returned as “true” or “false”

<Inventory>

Number of rooms being made available for sale on Expedia. Either @flexibleAllocation or @totalInventoryAvailable, but not both, must be sent in availability update messages. Note: only applies to a single room type.

Attributes:

  • flexibleAllocation-Optional.In the case of a property using base allocation: number of additional rooms available for this room type, for each day specified by "DateRange" element. Data type: Integer, values from 0-4999
  • totalInventoryAvailable-Optional.The total number of rooms made available via Expedia Group for this room type, for each day specified by the “DateRange” element, inclusive of base and flexible allocation.Note:In the case of a property using base allocation: if the value sent is lower than the current base allocation room count, it will be rejected with warning code 7013. Data type: Integer, values from 0-4999

<RatePlan>

Optional. Information about a rate plan. This element can be repeated more than once if a property wants to update multiple rate plans under this room type for the same set of dates.

Note: Expedia Group rate plan IDs must be unique for each room type, and rate plans should be active. If it isn't, the update will still work but a warning will be returned to indicate that this rate plan is inactive.

Attributes:

  • id- Rate plan ID (assigned by Expedia Group). Unique throughout the Expedia Group system, so the same rate plan ID cannot be associated with more than one room type. Rate plan ID is valid only if the specified property has the corresponding rate plan defined for it in Partner Central. Data type: string, between 1-50 characters
  • closed-Optional. If true, the rate plan is no longer available on Expedia Group for dates specified under the room type. If false, the rate plan is reopened if previously closed, or stays open if already open.

For properties with base allocation contracts, if this is the last rate plan opened, and a close request is received, it will be rejected with warning code 7014.

Data type: Boolean, values returned as “true” or “false”

<Rate>

Optional. Room rates. The type of rate (sell, net, lowest available rate (LAR)) to include depends on the configuration for this property. Up to 28 rate elements can be specified when updating per day and per length of stay rates. Otherwise only one rate element should be defined.

Use only one pricing model, which needs to be in sync with the property's configuration on Partner Central, Product API, and the Property API interface.

Attributes:

  • rateChangeIndicator-Optional.To be used with rate plans enabled for day-of-arrival pricing only. The message will be rejected if this attribute is used in conjunction with a rate plan that is not enabled for day-of-arrival pricing. The attribute indicates that regardless of the applicable rate on the arrival date, the rate will change on this date. If the rate plan is not enabled for day-of-arrival pricing, the update is rejected with error code 3125. Data type: Boolean, values returned as “true” or “false”
  • currency-Optional.The currency attribute is the 3-letter currency code assigned to the property in Partner Central, based on the ISO-4217 specification. Optional only when the message is for rate change indicator updates, without any rate modification. Data type: string
  • lengthOfStay-Optional.For properties managing per day and per length of stay rates. This attribute contains the length of stay for which this rate applies. Rates from length of stay 1 up to 28 can be defined by arrival date. Data type: integer, values from 1-28

<PerDay>

Optional. To be used when property is configured with per day pricing on Partner Central. This rate is for base occupancy of the room.

Attributes:

  • rate- This attribute represents the rate for base occupancy, per day. When used in conjunction with length of stay pricing attribute, the rate defined is the rate per day. If the rate is for $100 for LOS=7, then the total of this stay's rate would be 7x100=700. Data type: decimal, rate has to be greater than 0.000 and less than 16 digits long
  • rate- This attribute represents the rate for one person, based on double occupancy. Single person supplement and additional person fees are configured when rate plan is created and cannot be modified in this interface. Data type: decimal, rate has to be greater than 0.000 and less than 16 digits long

<Restrictions>

Optional.

Attributes:

  • minLOS-Optional. Specifies the minimum length of stay required to qualify for this rate. The guest has to stay at least this number of nights to benefit from the rate. If not specified, the minimum length of stay will be set to a default value configured in Expedia Group systems (1 is the default, but it can be changed). Note: Attempting to set MinLOS greater than Expedia Group's configured value for the property will result in the update being refused with error code 3135.

Refer to Minimum and maximum length of stay for more details. Data type: integer, values from 1-28

  • maxLOS-Optional. Specifies the maximum length of stay allowed for this product and day. If not specified, the maximum length of stay value will be set to a default value configured in Expedia systems (28 is the default, but it can be changed). Refer to Minimum and maximum length of stay for more details. Data type: integer, values from 1-28
  • closedToArrival-Optional. Designates the rate plan as unavailable for check-in by customers. A customer's stay must start on an earlier or later date in order to access this rate plan. Data type: Boolean, values returned as “true” or “false”
  • closedToDeparture-Optional. Designates the rate plan as unavailable for check-out by customers. A customer's stay must end on an earlier or later date in order to access this rate plan. Data type: Boolean, values returned as “true” or “false”
Examples

This section contains sample messages illustrating how to interact with the Availability and Rates API.

Update a room type’s flexible allocation

Expedia Group stores a number of rooms available by room type, so any update to flexible allocations must be attributed to a specific room type. The following is a sample Availability and Rates (AR) request message to update flexible allocation for a single room type every day of the month of August 2019. It sets flexible allocation available for Expedia Group to sell at 10.

1<?xml version="1.0" encoding="UTF-8"?>
2<!--Sample AR request message: updating flexible allocation for every day of the month of August 2012-->
3<AvailRateUpdateRQ xmlns="http://www.expediaconnect.com/EQC/AR/2011/06">
4 <Authentication username="testuser" password="testpass"/>
5 <Hotel id="3546"/>
6 <AvailRateUpdate>
7 <DateRange from="2019-08-01" to="2019-08-31"/>
8 <RoomType id="558945">
9 <Inventory flexibleAllocation="10"/>
10 </RoomType>
11 </AvailRateUpdate>
12</AvailRateUpdateRQ>

Assuming the update for the flexible allocation wouldn’t be the same throughout the month, another way to send the update would be to bundle <AvailRateUpdate> elements into one request. The following is a sample Availability and Rates (AR) request message to set flexible allocation made available for Expedia Group to sell at 10 for August 1st to August 15th, and 20 for August 16th to August 31st.

1<?xml version="1.0" encoding="UTF-8"?>
2<!--Sample AR request message: updating inventory with 1 value for the first half of August 2012, and another value for the 2nd half-->
3<AvailRateUpdateRQ xmlns="http://www.expediaconnect.com/EQC/AR/2011/06">
4 <Authentication username="testuser" password="testpass"/>
5 <Hotel id="3546"/>
6 <AvailRateUpdate>
7 <DateRange from="2019-08-01" to="2019-08-15"/>
8 <RoomType id="558945">
9 <Inventory flexibleAllocation="10"/>
10 </RoomType>
11 </AvailRateUpdate>
12 <AvailRateUpdate>
13 <DateRange from="2019-08-16" to="2019-08-31"/>
14 <RoomType id="558945">
15 <Inventory flexibleAllocation="20"/>
16 </RoomType>
17 </AvailRateUpdate>
18</AvailRateUpdateRQ>
Note: Flexible allocation represents total room allocation (for properties without a base allocation contract) OR additional room allocation (for properties with a base allocation contract). To update total room allocation inclusive of base allocation, see the example below.
Update a room type’s total allocation

Room allocation updates may reflect the total number of rooms made available to Expedia Group for a given room type, inclusive of any contractual base allocation. The following is a sample Availability and Rates request message to update the total allocation for a single room type. The @totalInventoryAvailable attribute includes any remaining base allocation as well as additional, flexible allocation.

1<?xml version="1.0" encoding="UTF-8"?>
2<!--Sample AR request message: updating total allocation of a room type-->
3<AvailRateUpdateRQ xmlns="http://www.expediaconnect.com/EQC/AR/2011/06">
4 <Authentication username=" testuser" password=" testpass "/>
5 <Hotel id="526101"/>
6 <AvailRateUpdate>
7 <DateRange from="2019-09-26" to="2019-09-26"/>
8 <RoomType id="16818">
9 <Inventory totalInventoryAvailable="3"/>
10 </RoomType>
11 </AvailRateUpdate>
12</AvailRateUpdateRQ>

If different values for @totalInventoryAvailable for different dates need to be communicated at the same time, the following sample Availability and Rates message can be used.

1<?xml version="1.0" encoding="UTF-8"?>
2<!--Sample AR request message: updating total allocation of a room type with different values on different days-->
3<AvailRateUpdateRQ xmlns="http://www.expediaconnect.com/EQC/AR/2011/06">
4 <Authentication username=" testuser" password=" testpass "/>
5 <Hotel id="526101"/>
6 <AvailRateUpdate>
7 <DateRange from="2019-09-26" to="2019-09-26"/>
8 <RoomType id="16818">
9 <Inventory totalInventoryAvailable="3"/>
10 </RoomType>
11 </AvailRateUpdate>
12 <AvailRateUpdate>
13 <DateRange from="2019-09-27" to="2019-09-27"/>
14 <RoomType id="16818">
15 <Inventory totalInventoryAvailable="2"/>
16 </RoomType>
17 </AvailRateUpdate>
18 <AvailRateUpdate>
19 <DateRange from="2019-09-28" to="2019-09-28"/>
20 <RoomType id="16818">
21 <Inventory totalInventoryAvailable="1"/>
22 </RoomType>
23 </AvailRateUpdate>
24</AvailRateUpdateRQ>

If different room types need to be updated for the same date, the following sample Availability and Rates message can be used.

1<?xml version="1.0" encoding="UTF-8"?>
2<!--Sample AR request message: updating total allocations for different room types-->
3<AvailRateUpdateRQ xmlns="http://www.expediaconnect.com/EQC/AR/2011/06">
4 <Authentication username=" testuser " password=" testpass "/>
5 <Hotel id="526101"/>
6 <AvailRateUpdate>
7 <DateRange from="2019-09-26" to="2019-09-26"/>
8 <RoomType id="16818">
9 <Inventory totalInventoryAvailable="3"/>
10 </RoomType>
11 <RoomType id="43223">
12 <Inventory totalInventoryAvailable="4"/>
13 </RoomType>
14 <RoomType id="65223">
15 <Inventory totalInventoryAvailable="2"/>
16 </RoomType>
17 </AvailRateUpdate>
18</AvailRateUpdateRQ>

Notes:

  • If there is unsold base allocation remaining for the specified room type and @totalInventoryAvailable is set lower than this current base amount, Expedia Group’s system will reject the update and warning code 7013 will be returned.
  • If a property does not have a base allocation contract with Expedia Group, there is no functional difference between specifying an update as "@flexibleAllocation" or "@totalInventoryAvailable".
Update daily rates

The following is a sample Availability and Rates request message to update the daily rate for a rate plan for the month of August 2019 (for a property using the occupancy-based pricing model).

1<?xml version="1.0" encoding="UTF-8"?>
2<!--Sample AR request message: updating rates for 1 room type and 1 rate plan every day of the month of August 2012-->
3<AvailRateUpdateRQ xmlns="http://www.expediaconnect.com/EQC/AR/2011/06">
4 <Authentication username="testuser" password="testpass"/>
5 <Hotel id="3547"/>
6 <AvailRateUpdate>
7 <DateRange from="2019-08-01" to="2019-08-31"/>
8 <RoomType id="558025">
9 <RatePlan id="556895" closed="false">
10 <Rate currency="EUR">
11 <PerOccupancy rate="60.00" occupancy="1"/>
12 <PerOccupancy rate="100.00" occupancy="2"/>
13 <PerOccupancy rate="135.00" occupancy="3"/>
14 <PerOccupancy rate="160.00" occupancy="4"/>
15 </Rate>
16 </RatePlan>
17 </RoomType>
18 </AvailRateUpdate>
19</AvailRateUpdateRQ>

The following is a sample Availability and Rates request message to update the daily rate for a rate plan for five non-consecutive dates in August 2019 (for a property using the occupancy-based pricing model).

1<?xml version="1.0" encoding="UTF-8"?>
2<!--Sample AR request message: updating rates for 1 room type and 1 rate plan for 5 inconsecutive dates in August 2012-->
3<AvailRateUpdateRQ xmlns="http://www.expediaconnect.com/EQC/AR/2011/06">
4 <Authentication username="testuser" password="testpass"/>
5 <Hotel id="3547"/>
6 <AvailRateUpdate>
7 <DateRange from="2019-08-01" to="2019-08-01"/>
8 <DateRange from="2019-08-03" to="2019-08-03"/>
9 <DateRange from="2019-08-12" to="2019-08-12"/>
10 <DateRange from="2019-08-18" to="2019-08-18"/>
11 <DateRange from="2019-08-22" to="2019-08-22"/>
12 <RoomType id="558025">
13 <RatePlan id="556895" closed="false">
14 <Rate currency="EUR">
15 <PerOccupancy rate="60.00" occupancy="1"/>
16 <PerOccupancy rate="100.00" occupancy="2"/>
17 <PerOccupancy rate="135.00" occupancy="3"/>
18 <PerOccupancy rate="160.00" occupancy="4"/>
19 </Rate>
20 </RatePlan>
21 </RoomType>
22 </AvailRateUpdate>
23</AvailRateUpdateRQ>
Update a rate plan’s restrictions

The following is a sample Availability and Rates request message to update minimum and maximum length of stay restriction for a rate plan for the month of August 2019.

1<?xml version="1.0" encoding="UTF-8"?>
2<!--Sample AR request message: updating minimum and maximum length of stay restriction for 1 Room Type and 1 Rate Plan for the month of August 2012-->
3<AvailRateUpdateRQ xmlns="http://www.expediaconnect.com/EQC/AR/2011/06">
4 <Authentication username="testuser" password="testpass"/>
5 <Hotel id="3546"/>
6 <AvailRateUpdate>
7 <DateRange from="2019-08-01" to="2019-08-31"/>
8 <RoomType id="558945">
9 <RatePlan id="556887" closed="false">
10 <Restrictions minLOS="2" maxLOS="14"/>
11 </RatePlan>
12 </RoomType>
13 </AvailRateUpdate>
14</AvailRateUpdateRQ>

In this sample, the Availability and Rates request message sets four rate plans to be closed to departure on December 31st, 2019.

1<?xml version="1.0" encoding="UTF-8"?>
2<!--Sample AR request message: set closed to departure restriction to 4 Rate Plans on December 31, 2012-->
3<AvailRateUpdateRQ xmlns="http://www.expediaconnect.com/EQC/AR/2011/06">
4 <Authentication username="testuser" password="testpass"/>
5 <Hotel id="35499"/>
6 <AvailRateUpdate>
7 <DateRange from="2019-12-31" to="2019-12-31"/>
8 <RoomType id="9989">
9 <RatePlan id="556895">
10 <Restrictions closedToDeparture="true"/>
11 </RatePlan>
12 <RatePlan id="434534">
13 <Restrictions closedToDeparture="true"/>
14 </RatePlan>
15 </RoomType>
16 <RoomType id="87655">
17 <RatePlan id="543334">
18 <Restrictions closedToDeparture="true"/>
19 </RatePlan>
20 <RatePlan id="224454">
21 <Restrictions closedToDeparture="true"/>
22 </RatePlan>
23 </RoomType>
24 </AvailRateUpdate>
25</AvailRateUpdateRQ>

In this sample, the Availability and Rates request message sets a rate plan to be closed to arrival on December 25th, 2019, and opened to arrival on December 26th.

1<?xml version="1.0" encoding="UTF-8"?>
2<!--Sample AR request message: set closed and opened to arrival restriction to a Rate Plan-->
3<AvailRateUpdateRQ xmlns="http://www.expediaconnect.com/EQC/AR/2011/06">
4 <Authentication username="testuser" password="testpass"/>
5 <Hotel id="3546"/>
6 <AvailRateUpdate>
7 <DateRange from="2019-12-25" to="2019-12-25"/>
8 <RoomType id="558945">
9 <RatePlan id="556895 ">
10 <Restrictions closedToArrival="true"/>
11 </RatePlan>
12 </RoomType>
13 </AvailRateUpdate>
14 <AvailRateUpdate>
15 <DateRange from="2019-12-26" to="2019-12-26"/>
16 <RoomType id="558945">
17 <RatePlan id="556895 ">
18 <Restrictions closedToArrival="false"/>
19 </RatePlan>
20 </RoomType>
21 </AvailRateUpdate>
22</AvailRateUpdateRQ>
Update a room type’s weekend allocation and per-occupancy rate plan’s restrictions and rates

The following is a sample Availability and Rates request message to update a room type’s allocation and its rates and restrictions for a rate plan on a per-occupancy pricing model for the weekends of August 2019. Occupancy-based rates are always specified as a rate for the total occupancy specified.

1<?xml version="1.0" encoding="UTF-8"?>
2<!--Sample AR request message: updating allocation, rates and restrictions for 1 room type and 1 rate plan on a per-occupancy pricing model for the weekends of August 2012-->
3<AvailRateUpdateRQ xmlns="http://www.expediaconnect.com/EQC/AR/2011/06">
4 <Authentication username="testuser" password="testpass"/>
5 <Hotel id="35499"/>
6 <AvailRateUpdate>
7 <DateRange from="2019-08-01" to="2019-08-31" sun="true" mon="false" tue="false" wed="false" thu="false" fri="true" sat="true"/>
8 <RoomType id="9989" closed="false">
9 <Inventory totalInventoryAvailable="10"/>
10 <RatePlan id="556895" closed="false">
11 <Rate currency="EUR">
12 <PerOccupancy rate="60.00" occupancy="1"/>
13 <PerOccupancy rate="100.00" occupancy="2"/>
14 <PerOccupancy rate="135.00" occupancy="3"/>
15 <PerOccupancy rate="160.00" occupancy="4"/>
16 </Rate>
17 <Restrictions minLOS="2" maxLOS="14" closedToArrival="false" closedToDeparture="true"/>
18 </RatePlan>
19 </RoomType>
20 </AvailRateUpdate>
21</AvailRateUpdateRQ>

So, based on the rates in the example above, a room booked on Sunday for 4 people represents a total rate of $160.

Update a room type’s weekend allocation and per-day rate plan’s rates and restrictions

The following is a sample Availability and Rates request message to update room allocation and per-day rate plan rates and restrictions for 2 room types for the weekends of August 2019.

1<?xml version="1.0" encoding="UTF-8"?>
2<!--Sample AR request message: updating allocation, rates and restrictions for 2 room types and 2 per-day rate plans for the weekends of August 2012-->
3<AvailRateUpdateRQ xmlns="http://www.expediaconnect.com/EQC/AR/2011/06">
4 <Authentication username="testuser" password="testpass"/>
5 <Hotel id="35499"/>
6 <AvailRateUpdate>
7 <DateRange from="2019-08-01" to="2019-08-31" sun="true" mon="false" tue="false" wed="false" thu="false" fri="true" sat="true"/>
8 <RoomType id="9989" closed="false">
9 <Inventory totalInventoryAvailable="50"/>
10 <RatePlan id="556895" closed="false">
11 <Rate currency="EUR">
12 <PerDay rate="55.00"/>
13 </Rate>
14 <Restrictions minLOS="2" maxLOS="14" closedToArrival="false" closedToDeparture="false"/>
15 </RatePlan>
16 </RoomType>
17 <RoomType id="87655" closed="false">
18 <Inventory totalInventoryAvailable="40"/>
19 <RatePlan id="543334" closed="false">
20 <Rate currency="EUR">
21 <PerDay rate="59.00"/>
22 </Rate>
23 <Restrictions minLOS="2" maxLOS="7" closedToArrival="true" closedToDeparture="false"/>
24 </RatePlan>
25 </RoomType>
26 </AvailRateUpdate>
27</AvailRateUpdateRQ>
Update rates and rate change indicator for day of arrival pricing-enabled rate plans

The following is a sample Availability and Rates request message to request a rate change on specific dates, along with a rate update, for 2 different rate plans under one room type.

1<?xml version="1.0" encoding="UTF-8"?>
2<!--Sample AR request message:updating rate change indicator and rate values for 2 rate plans, in August 2012-->
3<AvailRateUpdateRQ xmlns="http://www.expediaconnect.com/EQC/AR/2011/06">
4 <Authentication username="testuser" password="testpass"/>
5 <Hotel id="4223"/>
6 <AvailRateUpdate>
7 <DateRange from="2019-08-01" to="2019-08-02"/>
8 <RoomType id="32241">
9 <RatePlan id="23123">
10 <Rate currency="EUR" rateChangeIndicator="true">
11 <PerDay rate="75.00"/>
12 </Rate>
13 </RatePlan>
14 <RatePlan id="52333">
15 <Rate currency="EUR" rateChangeIndicator="true">
16 <PerDay rate="65.00"/>
17 </Rate>
18 </RatePlan>
19 </RoomType>
20 </AvailRateUpdate>
21 <AvailRateUpdate>
22 <DateRange from="2019-08-07" to="2019-08-09"/>
23 <RoomType id="32241">
24 <RatePlan id="23123">
25 <Rate currency="EUR" rateChangeIndicator="true">
26 <PerDay rate="71.00"/>
27 </Rate>
28 </RatePlan>
29 <RatePlan id="52333">
30 <Rate currency="EUR" rateChangeIndicator="true">
31 <PerDay rate="61.00"/>
32 </Rate>
33 </RatePlan>
34 </RoomType>
35 </AvailRateUpdate>
36</AvailRateUpdateRQ>
Close a rate plan

The following is a sample Availability and Rates message to close out a rate plan for the month of August:

1<?xml version="1.0" encoding="UTF-8"?>
2<!-- Sample AR request message: closing rate plan for the month of August 2012-->
3<AvailRateUpdateRQ xmlns="http://www.expediaconnect.com/EQC/AR/2011/06">
4 <Authentication username="testuser" password="testpass"/>
5 <Hotel id="3546"/>
6 <AvailRateUpdate>
7 <DateRange from="2019-08-01" to="2019-08-31"/>
8 <RoomType id="558875">
9 <RatePlan id="556895" closed="true"/>
10 </RoomType>
11 </AvailRateUpdate>
12</AvailRateUpdateRQ>
Close a room type

The following is a sample Availability and Rates message to close out a room type for the month of August:

1<?xml version="1.0" encoding="UTF-8"?>
2<!-- Sample AR request message: closing room type for the month of August 2012-->
3<AvailRateUpdateRQ xmlns="http://www.expediaconnect.com/EQC/AR/2011/06">
4 <Authentication username="testuser" password="testpass"/>
5 <Hotel id="3546"/>
6 <AvailRateUpdate>
7 <DateRange from="2019-08-01" to="2019-08-31"/>
8 <RoomType id="558875" closed="true"/>
9 </AvailRateUpdate>
10</AvailRateUpdateRQ>
Apply different types of updates to different date ranges and products

The following is a sample Availability and Rates message demonstrating how many different updates can now be bundled into one single Availability and Rates request. The following updates are made with this request: modification of room allocation for a few days, modification of rates for another set of dates, modifications of restrictions for different non-consecutive dates, modification of room type status for another set of days (overlapping with dates already specified for the modification of rates).

1<?xml version="1.0" encoding="UTF-8"?>
2<!-- Sample AR request message: contains many different updates-->
3<AvailRateUpdateRQ xmlns="http://www.expediaconnect.com/EQC/AR/2011/06">
4 <Authentication username="testuser" password="testpass"/>
5 <Hotel id="3546"/>
6 <AvailRateUpdate>
7 <DateRange from="2019-08-01" to="2019-08-04"/>
8 <RoomType id="558875">
9 <Inventory totalInventoryAvailable="10"/>
10 </RoomType>
11 </AvailRateUpdate>
12 <AvailRateUpdate>
13 <DateRange from="2019-08-05" to="2019-08-09"/>
14 <RoomType id="558875">
15 <RatePlan id="556895">
16 <Rate currency="EUR">
17 <PerOccupancy occupancy="1" rate="80.50"/>
18 <PerOccupancy occupancy="2" rate="101.50"/>
19 <PerOccupancy occupancy="3" rate="140"/>
20 <PerOccupancy occupancy="4" rate="160"/>
21 </Rate>
22 </RatePlan>
23 </RoomType>
24 </AvailRateUpdate>
25 <AvailRateUpdate>
26 <DateRange from="2019-08-10" to="2019-08-11"/>
27 <DateRange from="2019-08-15" to="2019-08-16"/>
28 <DateRange from="2019-08-20" to="2019-08-20"/>
29 <RoomType id="558875">
30 <RatePlan id="556895">
31 <Restrictions closedToArrival="false" closedToDeparture="false" minLOS="2" maxLOS="7"/>
32 </RatePlan>
33 </RoomType>
34 </AvailRateUpdate>
35 <AvailRateUpdate>
36 <DateRange from="2019-08-01" to="2019-08-20"/>
37 <RoomType id="558875" closed="false">
38 <RatePlan id="556895" closed="false"/>
39 <RatePlan id="644891" closed="false"/>
40 </RoomType>
41 </AvailRateUpdate>
42</AvailRateUpdateRQ>
Send rate updates for per-day length-of-stay pricing

The following is a sample request meant to update per-day rates per length of stay. 28 rates (maximum allowed by Expedia interface) will be defined for length of stay 1 to 28, for each arrival date contained in the date range.

1<?xml version="1.0" encoding="UTF-8"?>
2<!--Sample AR request message:updating rates and restrictions, triggering warnings in the response, for August 2012-->
3<AvailRateUpdateRQ xmlns="http://www.expediaconnect.com/EQC/AR/2011/06">
4 <Authentication username="testuser" password="testpass"/>
5 <Hotel id="4223"/>
6 <AvailRateUpdate>
7 <DateRange from="2019-08-01" to="2019-08-05"/>
8 <RoomType id="32241">
9 <RatePlan id="23123">
10 <Rate lengthOfStay="1" currency="EUR">
11 <PerDay rate="100.00"/>
12 </Rate>
13 <Rate lengthOfStay="2" currency="EUR">
14 <PerDay rate="100.00"/>
15 </Rate>
16 <Rate lengthOfStay="3" currency="EUR">
17 <PerDay rate="100.00"/>
18 </Rate>
19 <Rate lengthOfStay="4" currency="EUR">
20 <PerDay rate="100.00"/>
21 </Rate>
22 <Rate lengthOfStay="5" currency="EUR">
23 <PerDay rate="95.00"/>
24 </Rate>
25 <Rate lengthOfStay="6" currency="EUR">
26 <PerDay rate="95.00"/>
27 </Rate>
28 <Rate lengthOfStay="7" currency="EUR">
29 <PerDay rate="95.00"/>
30 </Rate>
31 <Rate lengthOfStay="8" currency="EUR">
32 <PerDay rate="95.00"/>
33 </Rate>
34 <Rate lengthOfStay="9" currency="EUR">
35 <PerDay rate="95.00"/>
36 </Rate>
37 <Rate lengthOfStay="10" currency="EUR">
38 <PerDay rate="95.00"/>
39 </Rate>
40 <Rate lengthOfStay="11" currency="EUR">
41 <PerDay rate="95.00"/>
42 </Rate>
43 <Rate lengthOfStay="12" currency="EUR">
44 <PerDay rate="95.00"/>
45 </Rate>
46 <Rate lengthOfStay="13" currency="EUR">
47 <PerDay rate="95.00"/>
48 </Rate>
49 <Rate lengthOfStay="14" currency="EUR">
50 <PerDay rate="95.00"/>
51 </Rate>
52 <Rate lengthOfStay="15" currency="EUR">
53 <PerDay rate="90.00"/>
54 </Rate>
55 <Rate lengthOfStay="16" currency="EUR">
56 <PerDay rate="90.00"/>
57 </Rate>
58 <Rate lengthOfStay="17" currency="EUR">
59 <PerDay rate="90.00"/>
60 </Rate>
61 <Rate lengthOfStay="18" currency="EUR">
62 <PerDay rate="90.00"/>
63 </Rate>
64 <Rate lengthOfStay="19" currency="EUR">
65 <PerDay rate="90.00"/>
66 </Rate>
67 <Rate lengthOfStay="20" currency="EUR">
68 <PerDay rate="90.00"/>
69 </Rate>
70 <Rate lengthOfStay="21" currency="EUR">
71 <PerDay rate="90.00"/>
72 </Rate>
73 <Rate lengthOfStay="22" currency="EUR">
74 <PerDay rate="90.00"/>
75 </Rate>
76 <Rate lengthOfStay="23" currency="EUR">
77 <PerDay rate="90.00"/>
78 </Rate>
79 <Rate lengthOfStay="24" currency="EUR">
80 <PerDay rate="90.00"/>
81 </Rate>
82 <Rate lengthOfStay="25" currency="EUR">
83 <PerDay rate="90.00"/>
84 </Rate>
85 <Rate lengthOfStay="26" currency="EUR">
86 <PerDay rate="90.00"/>
87 </Rate>
88 <Rate lengthOfStay="27" currency="EUR">
89 <PerDay rate="90.00"/>
90 </Rate>
91 <Rate lengthOfStay="28" currency="EUR">
92 <PerDay rate="90.00"/>
93 </Rate>
94 <Restrictions closedToArrival="false" closedToDeparture="true"/>
95 </RatePlan>
96 </RoomType>
97 </AvailRateUpdate>
98</AvailRateUpdateRQ>

A subsequent update for this product and dates could only be meant to update length of stay 1 to 4 for example:

1<AvailRateUpdateRQ xmlns="http://www.expediaconnect.com/EQC/AR/2011/06">
2 <Authentication username="testuser" password="testpass"/>
3 <Hotel id="4223"/>
4 <AvailRateUpdate>
5 <DateRange from="2019-08-01" to="2019-08-05"/>
6 <RoomType id="32241">
7 <RatePlan id="23123">
8 <Rate lengthOfStay="1" currency="EUR">
9 <PerDay rate="111.00"/>
10 </Rate>
11 <Rate lengthOfStay="2" currency="EUR">
12 <PerDay rate="111.00"/>
13 </Rate>
14 <Rate lengthOfStay="3" currency="EUR">
15 <PerDay rate="111.00"/>
16 </Rate>
17 <Rate lengthOfStay="4" currency="EUR">
18 <PerDay rate="120.00"/>
19 </Rate>
20 </RatePlan>
21 </RoomType>
22 </AvailRateUpdate>
23</AvailRateUpdateRQ>

After this message is processed, length of stay 1 to 4 would have new rate values, and previously defined length of stay 5 to 28 would remain with the values originally defined.