openapi: 3.0.1
info:
title: Expedia Group Rapid API
description: EPS Rapid V3
version: v3
servers:
- url: https://test.ean.com/v3
tags:
- name: Bookings
description: "The primary itinerary method of the Booking API creates a reservation for the selected hotel, room, rate and occupancy."
- name: Content
description: This section outlines the API calls available to you to access property content.
- name: Geography
description: The EPS Geography API provides geography content for regions around the world.
- name: Manage Booking
description: Retrieve existing itineraries or cancel existing rooms.
- name: Notifications
description: Requests test notifications and undelivered notifications.
- name: Shopping
description: The EPS shopping APIs provide you with access to live rates & availability.
paths:
/properties/content:
get:
tags:
- Content
summary: Expedia Group Property Content
description: |
Search property content for active properties in the requested language.
When searching with query parameter, `property_id`, you may request 1 to 250 properties at a time.
When searching with query parameters other than `property_id`, the response will be paginated. See the `Link`
header in the 200 response section.
The response is a JSON map where the key is the property ID and the value is the property object itself, which
can include property-level, room-level and rate-level information.
operationId: getPropertyContent
parameters:
- name: Accept
in: header
description: |
Specifies the response format that the client would like to receive back. This must be `application/json`.
required: true
schema:
type: string
example: application/json
- name: Accept-Encoding
in: header
description: |
Specifies the response encoding that the client would like to receive back. This must be `gzip`.
required: true
schema:
type: string
example: gzip
- name: User-Agent
in: header
description: |
The `User-Agent` header string from the customer's request, as captured by your integration. If you are
building an application then the `User-Agent` value should be `{app name}/{app version}`.
required: true
schema:
type: string
example: TravelNow/3.30.112
- name: Customer-Session-Id
in: header
description: |
Insert your own unique value for each user session, beginning with the first API call. Continue to pass the
same value for each subsequent API call during the user's session, using a new value for every new customer
session.
Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it
explicitly links together request paths for individual user's session.
schema:
type: string
- name: language
in: query
description: |
Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit
language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes.
See [https://www.w3.org/International/articles/language-tags/](https://www.w3.org/International/articles/language-tags/)
Language Options: [https://developers.expediagroup.com/docs/rapid/resources/reference/language-options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
required: true
schema:
type: string
examples:
English:
value: en-US
Cantonese:
value: zh-HK
- name: supply_source
in: query
description: |
Options for which supply source you would like returned in the content response. This parameter may only be
supplied once and will return all properties that match the requested supply source. An error is thrown if
the parameter is provided multiple times.
* `expedia` - Standard Expedia supply.
* `vrbo` - VRBO supply - This option is restricted to partners who have VRBO supply enabled for their
profile. See [Vacation Rentals](https://developers.expediagroup.com/docs/rapid/lodging/vacation-rentals) for
more information.
required: true
schema:
type: string
examples:
Standard:
value: expedia
VRBO:
value: vrbo
- name: all_inclusive
in: query
description: |
Search to include properties that have the requested `all_inclusive` values equal to true. If this parameter
is not supplied, all `all_inclusive` scenarios are included. This parameter can be supplied multiple times
with different values, which will include properties that match any of the requested scenarios.
* `all_rate_plans` - Return properties where `all_inclusive.all_rate_plans` is true.
* `some_rate_plans` = Return properties where `all_inclusive.some_rate_plans` is true.
schema:
type: array
items:
type: string
examples:
Optional:
value:
All:
value: all_rate_plans
- name: amenity_id
in: query
description: |
The ID of the amenity you want to search for. This parameter can be supplied multiple times with different
values, which will include properties that match any of the requested amenity IDs. This is currently only
capable of searching for property level amenities. Room and rate level amenities cannot be searched on.
schema:
type: array
items:
type: string
examples:
Optional:
value:
Elevator:
value: 8
Multiple:
value:
- 115
- 43
- name: attribute_id
in: query
description: |
The ID of the attribute you want to search for. This parameter can be supplied multiple times with different
values, which will include properties that match any of the requested attribute IDs.
schema:
type: array
items:
type: string
examples:
Optional:
value:
Pets:
value: 51
Multiple:
value:
- 5058
- 5059
- name: brand_id
in: query
description: |
The ID of the brand you want to search for. This parameter can be supplied multiple times with different
values, which will include properties that match any of the requested brand IDs.
schema:
type: array
items:
type: string
examples:
Optional:
value:
Hyatt:
value: 11210
Multiple:
value:
- 1
- 11210
- name: business_model
in: query
description: |
Search for properties with the requested business model enabled. This parameter can be supplied multiple
times with different values, which will return all properties that match any of the requested business
models. The value must be lower case.
* `expedia_collect` - Return only properties where the payment is collected by Expedia.
* `property_collect` - Return only properties where the payment is collected at the property.
schema:
type: array
items:
type: string
enum:
- expedia_collect
- property_collect
examples:
Optional:
value:
Single:
value: expedia_collect
- name: category_id
in: query
description: |
Search to include properties that have the requested
[category ID](https://developers.expediagroup.com/docs/rapid/lodging/content/content-reference-lists). If
this parameter is not supplied, all category IDs are included. This parameter can be supplied multiple times
with different values, which will include properties that match any of the requested category IDs.
schema:
type: array
items:
type: string
examples:
Optional:
value:
Single:
value: 1
Multiple:
value:
- 1
- 2
- name: category_id_exclude
in: query
description: |
Search to exclude properties that do not have the requested
[category ID](https://developers.expediagroup.com/docs/rapid/lodging/content/content-reference-lists). If
this parameter is not supplied, all category IDs are included. This parameter can be supplied multiple times
with different values, which will exclude properties that match any of the requested category IDs.
schema:
type: array
items:
type: string
examples:
Optional:
value:
Single:
value: 1
Multiple:
value:
- 1
- 2
- name: chain_id
in: query
description: |
The ID of the chain you want to search for. These chain IDs can be positive and negative numbers. This
parameter can be supplied multiple times with different values, which will include properties that match any
of the requested chain IDs.
schema:
type: array
items:
type: string
examples:
Optional:
value:
Single:
value: -6
Multiple:
value:
- 1
- 2
- name: country_code
in: query
description: |
Search for properties with the requested country code, in ISO 3166-1 alpha-2 format. This parameter can be
supplied multiple times with different values, which will include properties that match any of the requested
country codes.
schema:
type: array
items:
type: string
examples:
Optional:
value:
Single:
value: US
Multiple:
value:
- US
- CA
- name: date_added_end
in: query
description: |
Search for properties added on or before the requested UTC date, in ISO 8601 format (YYYY-MM-DD)
schema:
type: string
examples:
Optional:
value:
Recent:
value: '2023-09-21'
- name: date_added_start
in: query
description: |
Search for properties added on or after the requested UTC date, in ISO 8601 format (YYYY-MM-DD)
schema:
type: string
examples:
Optional:
value:
Recent:
value: '2023-09-20'
- name: date_updated_end
in: query
description: |
Search for properties updated on or before the requested UTC date, in ISO 8601 format (YYYY-MM-DD)
schema:
type: string
examples:
Optional:
value:
Recent:
value: '2023-09-21'
- name: date_updated_start
in: query
description: |
Search for properties updated on or after the requested UTC date, in ISO 8601 format (YYYY-MM-DD)
schema:
type: string
examples:
Optional:
value:
Recent:
value: '2023-09-20'
- name: include
in: query
description: |
Each time this parameter is specified will add to the list of fields and associated objects returned in the
response. All values and field names are lower case. The values `property_ids` and `catalog` will continue
to behave as specified below for backwards compatibility. All other top level field names will add the
specified field to the list of fields returned in the response. See the response schema for a full list of
top level field names. Additionally, the field `property_id` will always be returned regardless of what
include values are passed.
Possible values:
* `property_ids` - ***DEPRECATED*** - Please use `property_id` which matches the response field name.
* `catalog` - Include all property catalog fields. See
[Property Catalog File endpoint](https://developers.expediagroup.com/docs/rapid/resources/rapid-api#get-/files/properties/catalog)
for a list of fields.
* `property_id` - Passing in the value `property_id` and no other values will limit the response to only
`property_id`. Not necessary to include in combination with other field name values, as it will always
be returned.
* All field names found at the top level of the property content response are now valid values for
inclusion.
schema:
type: array
items:
type: string
examples:
IncludeAll:
value:
Single:
value: images
Multiple:
value:
- images
- address
- name: multi_unit
in: query
description: |
Search for multi-unit properties. If this parameter is not supplied, both single-unit and multi-unit
properties will be included.
* `true` - Include only properties that are multi-unit.
* `false` - Do not include properties that are multi-unit.
schema:
type: boolean
examples:
Optional:
value:
Single:
value: false
- name: property_id
in: query
description: |
The ID of the property you want to search for. You can provide 1 to 250 property_id parameters.
schema:
type: array
items:
type: string
examples:
Single:
value: 1337
Multiple:
value:
- 1337
- 1
- name: property_rating_max
in: query
description: |
Search for properties with a property rating less than or equal to the requested rating. The highest
property rating value is 5.0.
schema:
type: string
examples:
Optional:
value:
Single:
value: 5.0
- name: property_rating_min
in: query
description: |
Search for properties with a property rating greater than or equal to the requested rating. The lowest
property rating value is 0.0.
schema:
type: string
examples:
Optional:
value:
Single:
value: 3.5
- name: spoken_language_id
in: query
description: |
The id of the spoken language you want to search for. This parameter can be supplied multiple times with
different values, which will include properties that match any of the requested spoken languages. The
language code as a subset of BCP47 format.
schema:
type: array
items:
type: string
examples:
Optional:
value:
Single:
value: en
Multiple:
value:
- zh-yue
- vi
- name: billing_terms
in: query
description: |
This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed,
the value for this will be provided to you separately.
schema:
type: string
- name: partner_point_of_sale
in: query
description: |
This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the
value for this will be provided to you separately.
schema:
type: string
- name: payment_terms
in: query
description: |
This parameter is to specify what terms should be used when being paid for a resulting booking. If this
field is needed, the value for this will be provided to you separately.
schema:
type: string
- name: platform_name
in: query
description: |
This parameter is to specify what platform is being used to shop and book. If this field is needed, the
value for this will be provided to you separately.
schema:
type: string
responses:
"200":
description: OK
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
Link:
description: |
Contains a single link to get the immediate next page of results, and follows the
[IETF standard](https://tools.ietf.org/html/rfc5988). To get the next page of results, simply follow
the `next` URL in this header without modifying it. This header will be missing when there are no
further pages. If the link expires, there will be an `expires` link-extension that is the UTC date the
link will expire, in ISO 8601 format.
schema:
type: string
example: ; rel="next"; expires=2023-06-29T20:15:05.324083439Z
Pagination-Total-Results:
description: Contains the total number of property objects found.
schema:
type: number
example: 743
content:
application/json:
schema:
type: object
additionalProperties:
$ref: '#/components/schemas/PropertyContent'
examples:
Single Property Example:
value:
"12345":
property_id: "12345"
name: Test Property Name
address:
line_1: 123 Main St
line_2: Apt A
city: Springfield
state_province_code: MO
state_province_name: Missouri
postal_code: "65804"
country_code: US
obfuscation_required: false
localized:
links:
es-ES:
method: GET
href: https://api.ean.com/v3/properties/content?language=es-ES&include=address&property_id=12345
fr-FR:
method: GET
href: https://api.ean.com/v3/properties/content?language=fr-FR&include=address&property_id=12345
ratings:
property:
rating: "3.5"
type: Star
guest:
count: 48382
overall: "3.1"
cleanliness: "4.2"
service: "1.1"
comfort: "4.3"
condition: "1.6"
location: "4.0"
neighborhood: "3.4"
quality: "3.4"
value: "2.2"
amenities: "1.4"
recommendation_percent: 73%
location:
coordinates:
latitude: 37.158451
longitude: -93.268382
obfuscated_coordinates:
latitude: 37.159532
longitude: -93.271681
obfuscation_required: false
phone: 1-417-862-0153
fax: 1-417-863-7249
category:
id: "1"
name: Hotel
rank: 42
business_model:
expedia_collect: true
property_collect: false
checkin:
"24_hour": 24-hour check-in
begin_time: 3:00 PM
end_time: 11:00 PM
instructions: Extra-person charges may apply and vary depending on hotel policy. <br />Government-issued photo identification and a credit card or cash deposit are required at check-in for incidental charges. <br />Special requests are subject to availability upon check-in and may incur additional charges. Special requests cannot be guaranteed. <br />
special_instructions: There is no front desk at this property. To make arrangements for check-in please contact the property ahead of time using the information on the booking confirmation.
min_age: 18
checkout:
time: 11:00 AM
fees:
mandatory: "You'll be asked to pay the following charges at the hotel:
- Deposit: USD 50 per day
- Resort fee: USD 29.12 per accommodation, per night
The hotel resort fee includes:- Fitness center access
- Internet access
- Phone calls
- Additional inclusions
We have included all charges provided to us by the property. However, charges can vary, for example, based on length of stay or the room you book.
"
optional: "Fee for in-room wireless Internet: USD 15 per hour (rates may vary) Airport shuttle fee: USD 350 per vehicle (one way) Rollaway bed fee: USD 175 per night"
policies:
know_before_you_go: "Reservations are required for massage services and spa treatments. Reservations can be made by contacting the hotel prior to arrival, using the contact information on the booking confirmation. Children 11 years old and younger stay free when occupying the parent or guardian's room, using existing bedding. Only registered guests are allowed in the guestrooms. Some facilities may have restricted access. Guests can contact the property for details using the contact information on the booking confirmation. "
attributes:
general:
"3357":
id: "3357"
name: Caters to adults only
"2549":
id: "2549"
name: No elevators
pets:
"51":
id: "51"
name: Pets allowed
"2809":
id: "2809"
name: Dogs only
"3321":
id: "3321"
name: Pet maximum weight in kg is - 24
value: 24
amenities:
"9":
id: "9"
name: Fitness facilities
"2820":
id: "2820"
name: Number of indoor pools - 10
value: 10
images:
- caption: Featured Image
hero_image: true
category: 3
links:
"70px":
method: GET
href: https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg
onsite_payments:
currency: USD
types:
"171":
id: "171"
name: American Express
rooms:
"224829":
id: "224829"
name: Single Room
descriptions:
overview: "2 Twin Beds
269-sq-foot (25-sq-meter) room with mountain views
Internet - Free WiFi
Entertainment - Flat-screen TV with cable channels
Food & Drink - Refrigerator, coffee/tea maker, room service, and free bottled water
Sleep - Premium bedding
Bathroom - Private bathroom, shower, bathrobes, and free toiletries
Practical - Safe and desk; cribs/infant beds available on request
Comfort - Climate-controlled air conditioning and daily housekeeping
Non-Smoking
"
amenities:
"130":
id: "130"
name: Refrigerator
"1234":
id: "1234"
name: Test Amenity - 200
value: "200"
images:
- hero_image: true
category: 21001
links:
"70px":
method: GET
href: https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg
caption: Guestroom
bed_groups:
"37321":
id: "37321"
description: 1 King Bed
configuration:
- type: KingBed
size: King
quantity: 1
area:
square_meters: 20
square_feet: 215
views:
"4146":
id: "4146"
name: Courtyard view
occupancy:
max_allowed:
total: 5
children: 2
adults: 4
age_categories:
Adult:
name: Adult
minimum_age: 9
rates:
"333abc":
id: 333abc
amenities:
"2104":
id: "2104"
name: Full Breakfast
"1234":
id: "1234"
name: Test Amenity - 200
value: "200"
special_offer_description: "Breakfast for 2 - Rate includes the following:\r\n- Accommodations as selected
\r\n- Breakfast in hotel restaurant for up to 2 adults and children 12 years old and under registered in the same room
\r\n
Must book this rate plan to receive benefits. Details provided at check-in. Taxes and gratuity may not be included. No refunds for any unused portion of offer. Offer subject to availability. Offer is not valid with groups/conventions and may not be combined with other promotional offers. Other restrictions and blackout dates may apply.\r\n"
dates:
added: '1998-07-19T05:00:00.000Z'
updated: '2018-03-22T07:23:14.000Z'
descriptions:
amenities: "Don't miss out on the many recreational opportunities, including an outdoor pool, a sauna, and a fitness center. Additional features at this hotel include complimentary wireless Internet access, concierge services, and an arcade/game room."
dining: "Grab a bite at one of the hotel's 3 restaurants, or stay in and take advantage of 24-hour room service. Quench your thirst with your favorite drink at a bar/lounge. Buffet breakfasts are available daily for a fee."
renovations: "During renovations, the hotel will make every effort to minimize noise and disturbance. The property will be renovating from 08 May 2017 to 18 May 2017 (completion date subject to change). The following areas are affected: "
national_ratings: "For the benefit of our customers, we have provided a rating based on our rating system."
business_amenities: "Featured amenities include complimentary wired Internet access, a 24-hour business center, and limo/town car service. Event facilities at this hotel consist of a conference center and meeting rooms. Free self parking is available onsite."
rooms: "Make yourself at home in one of the 334 air-conditioned rooms featuring LCD televisions. Complimentary wired and wireless Internet access keeps you connected, and satellite programming provides entertainment. Private bathrooms with separate bathtubs and showers feature deep soaking bathtubs and complimentary toiletries. Conveniences include phones, as well as safes and desks."
attractions: "Distances are calculated in a straight line from the property's location to the point of interest or attraction, and may not reflect actual travel distance.
Distances are displayed to the nearest 0.1 mile and kilometer. Sogo Department Store - 0.7 km / 0.4 mi
National Museum of Natural Science - 1.1 km / 0.7 mi
Shr-Hwa International Tower - 1.4 km / 0.8 mi
Shinkong Mitsukoshi Department Store - 1.5 km / 0.9 mi
Taichung Metropolitan Opera House - 1.7 km / 1 mi
Tiger City Mall - 1.8 km / 1.1 mi
Maple Garden Park - 1.9 km / 1.2 mi
National Museum of Fine Arts - 2.1 km / 1.3 mi
Feng Chia University - 2.4 km / 1.5 mi
Bao An Temple - 2.5 km / 1.6 mi
Fengjia Night Market - 2.5 km / 1.6 mi
Zhonghua Night Market - 2.7 km / 1.7 mi
Chonglun Park - 2.9 km / 1.8 mi
Wan He Temple - 2.9 km / 1.8 mi
Chungyo Department Store - 3.1 km / 1.9 mi
The nearest airports are:
Taichung (RMQ) - 12 km / 7.5 mi
Taipei (TPE-Taoyuan Intl.) - 118.3 km / 73.5 mi
Taipei (TSA-Songshan) - 135.5 km / 84.2 mi
"
location: "This 4-star hotel is within close proximity of Shr-Hwa International Tower and Shinkong Mitsukoshi Department Store. A stay at Tempus Hotel Taichung places you in the heart of Taichung, convenient to Sogo Department Store and National Museum of Natural Science."
headline: Near National Museum of Natural Science
statistics:
"52":
id: "52"
name: Total number of rooms - 820
value: "820"
"54":
id: "54"
name: Number of floors - 38
value: "38"
airports:
preferred:
iata_airport_code: SGF
themes:
"2337":
id: "2337"
name: Luxury Hotel
"2341":
id: "2341"
name: Spa Hotel
all_inclusive:
all_rate_plans: true
some_rate_plans: false
details: This resort is all-inclusive. Onsite food and beverages are included in the room price (some restrictions may apply).
Activities and facilities/equipment
Land activities
Lessons/classes/games
Entertainment
- Onsite entertainment and activities
- Onsite live performances
tax_id: AB-012-987-1234-01
chain:
id: -6
name: Hyatt Hotels
brand:
id: "2209"
name: Hyatt Place
spoken_languages:
vi:
id: vi
name: Vietnamese
multi_unit: true
payment_registration_recommended: false
supply_source: expedia
Single Property VRBO Example:
value:
"4687248":
property_id: "4687248"
name: "Beautiful 6 Bedroom Home With Two Pools, Only 10 minutes To Theme Park!"
address:
city: Springfield
state_province_code: MO
state_province_name: Missouri
postal_code: "65801"
country_code: US
obfuscation_required: true
localized:
links:
en-US:
method: GET
href: https://api.ean.com/v3/properties/content?language=en-US&property_id=4687248&include=address&supply_source=vrbo
ratings:
guest:
count: 59
overall: "5.0"
cleanliness: "4.9"
recommendation_percent: "100.0"
location:
coordinates:
latitude: 38.139185
longitude: -92.823674
obfuscated_coordinates:
latitude: 38.247296
longitude: -92.912563
obfuscation_required: false
phone: 1-4175551212
category:
id: "17"
name: Private vacation home
business_model:
expedia_collect: true
property_collect: true
rank: 99999999
checkin:
begin_time: 4:00 PM
instructions: " - Extra-person charges may apply and vary depending on property policy
- Government-issued photo identification and a credit card, debit card, or cash deposit may be required at check-in for incidental charges
- Special requests are subject to availability upon check-in and may incur additional charges; special requests cannot be guaranteed
- Onsite parties or group events are strictly prohibited
- Safety features at this property include a fire extinguisher, a smoke detector, a first aid kit, and a deadbolt lock
- This property is managed through our partner, Vrbo. You will receive an email from Vrbo with a link to a Vrbo account, where you can change or cancel your reservation
"
special_instructions: You will receive an email from the host with check-in and check-out instructions. You will also receive an email from Vrbo with a link to a Vrbo account which will enable you to manage your booking.
min_age: 21
checkout:
time: 10:00 AM
fees:
traveler_service: "Your credit card statement will show two separate charges, one for the booking amount and property fees and another for the service fee. Both will be charged by Expedia partner HomeAway.com, Inc.. The traveler service fee is refundable only when your entire booking is fully refundable. Please refer to HomeAway's terms and conditions for the rules applicable to the booking facilitation services provided."
attributes:
pets:
"2050":
id: "2050"
name: Pets not allowed
general:
"2940":
id: "2940"
name: Minimum guest age is 0
value: "0"
"1073743917":
id: "1073743917"
name: Events/parties not allowed
"1073745102":
id: "1073745102"
name: Private host property
amenities:
"9":
id: "9"
name: Fitness facilities
categories:
- gym
"1073745320":
id: "1073745320"
name: Paddle boating nearby
images:
- hero_image: true
category: 21001
links:
"350px":
method: GET
href: https://i.travelapi.com/lodging/68000000/67240000/67235700/4687248/fe7cef52_b.jpg
"70px":
method: GET
href: https://i.travelapi.com/lodging/68000000/67240000/67235700/4687248/fe7cef52_t.jpg
"1000px":
method: GET
href: https://i.travelapi.com/lodging/68000000/67240000/67235700/4687248/fe7cef52_z.jpg
caption: Room
onsite_payments:
currency: USD
dates:
added: '2021-04-30T09:00:28.495Z'
updated: '2023-08-06T12:52:58.185Z'
descriptions:
amenities: "Take advantage of recreational opportunities offered, including a water park, an outdoor pool, and a fitness center. This vacation home also features an arcade/game room and barbecue grills."
business_amenities: Guests will find features like Internet access and onsite parking.
rooms: "Make yourself comfortable in this air-conditioned vacation home, which features a fireplace and a Smart TV. There's a private balcony. A kitchen is outfitted with a refrigerator, an oven, and a stovetop. Complimentary wireless Internet access keeps you connected, and a DVD player is provided for your entertainment."
attractions: "Distances are displayed to the nearest 0.1 mile and kilometer.
Super Cool Lake - 3.9 km / 2.5 mi
Gray River - 7 km / 4.4 mi
Super Cool Lake State Park - 8.5 km / 5.6 mi
State Park Marina - 7.6 km / 4.7 mi
The nearest airports are:
Springfield-Branson National Airport (SGF) - 7.3 km / 4.8 mi
Branson, MO (BKG) - 94.1 km / 60.4 mi
"
location: "When you stay at this vacation home, you'll be ready for a great vacation."
headline: Super Interesting Attractions Nearby
general: A stay in a vacation home shows a different side of Fun. Onsite parking is available during your stay.
statistics:
"52":
id: "52"
name: Total number of rooms - 1
value: "1"
"1073743378":
id: "1073743378"
name: Number of bedrooms - 6
value: "6"
"1073743379":
id: "1073743379"
name: Number of bathrooms - 4
value: "4"
"1073743380":
id: "1073743380"
name: Max occupancy - 16
value: "16"
themes:
"5019":
id: "5019"
name: Adventure sport property
"1073744357":
id: "1073744357"
name: Family
chain:
id: "0"
name: Independent
brand:
id: "0"
name: Independent
multi_unit: false
payment_registration_recommended: false
vacation_rental_details:
private_host: true
property_manager:
name: Scott Horton
house_rules:
- Children welcome
- No pets
- No smoking
- No parties or events
amenities:
"1":
id: "1"
name: Air conditioning
"1073745174":
id: "1073745174"
name: Travel crib
vrbo_srp_id: 334.3634257.3458973
listing_id: "1252577"
listing_number: "3834275"
listing_source: VRBO
listing_unit: /units/0001/429ecad2-bade-429a-a427-8adee57420ec
ipm_name: Good Company
unit_configurations:
"1":
- quantity: 1
type: KING_BED
description: 'King bed(s) - '
"2":
- quantity: 1
type: SLEEP_SOFA_FUTON
description: 'Sleep sofa/futon(s) - '
- quantity: 2
type: BUNK_BED
description: 'Bunk bed(s) - '
"3":
- quantity: 1
type: KING_BED
description: 'King bed(s) - '
"4":
- quantity: 1
type: KING_BED
description: 'King bed(s) - '
"5":
- quantity: 1
type: KING_BED
description: 'King bed(s) - '
"6":
- quantity: 1
type: KING_BED
description: 'King bed(s) - '
enhanced_house_rules:
Pets:
rule: No pets allowed
additional_information: []
CheckOut:
rule: Check out before 10:00 AM
additional_information: []
Events:
rule: No events allowed
additional_information: []
MinBookingAge:
rule: "Minimum age to rent: 21"
additional_information: []
Occupancy:
rule: "Maximum overnight guests: 16 (sleeps up to 16 adults)"
additional_information: []
CustomRules:
rule: No fireworks are permitted. Please respect our neighbors as many of them live here full time. Quiet hours are 10pm-8am.
additional_information:
- "No weapons, illegal drugs, parties, disruptive guests, or underage drinking is permitted."
CheckIn:
rule: Check in after 4:00 PM
additional_information: []
Children:
rule: "Children allowed: ages 0-17"
additional_information: []
Smoking:
rule: Smoking is not permitted
additional_information: []
free_text: "Stunning brand new 2-story home with 6 bedrooms, 4 bathrooms, brand new appliances/furniture, game room, grill, patio, and beautiful scenery all around. Minutes from Super Cool Lake. This place is the perfect getaway for a larger group whether it be a golf trip, lake trip, or time to gather with the family. Please note this property has two parking stalls, in addition to first come first serve overflow parking in the community. Celebrating something special? Birthday, Anniversary, Bachelor/Bachelorette, etc? We also offer decorating services for an extra fee. Please inquire within! This home features a fully-equipped kitchen for preparing meals, onsite washer and dryer and most importantly a private space, much larger than a hotel room for private family time away from crowds and people. We have a self-check-in and check-out system to limit your contact with people as well. THE BASICS: 6 bedrooms & 1 loft - 5 Kings, 2 Bunk beds , and 1 pull-out couch in the loft - Sleeps 16 people. 4 Bathrooms - Master (jetted tub, walk-in shower, double sinks), other 3 bathrooms (tub/shower combo & sink). Fully Equipped Kitchen. Open Main Room with plenty of seating. Dining Room table and bar stools around kitchen island area. Plenty of space to spread out and enjoy your friends/family. Free Wifi. THE EXPERIENCE IN DETAIL: -As you walk in the front door and are greeted by the open floor layout of our kitchen and great room you immediately breathe easy seeing that there is plenty of room here for you and your family. Our Kitchen is stocked with plenty of cookware and dishes so you can create a huge breakfast that will get everyone out of bed and ready for a day of fun. A potted coffee maker and a Keurig is available. You will need to bring your own coffee/pods/filters/creamer etc. Cozy up in the living room for a late night movie on our large flat-screen TV equipped for your viewing pleasure. Our luxury Master bedroom with it’s King size bed, premium bedding, and TV invite you and your spouse to relax together and feel a little spoiled. This is a vacation after all! Enjoy our Master Bath with it’s jetted tub, walk-in shower, and double sinks. Explore the Upstairs which has 4 Bedrooms - 3 furnished with a King size bed, premium bedding, 1 is the bunk room which is equipped with 4 twin size beds. This home is not handicapped accessible!!!"
supply_source: Vrbo
spoken_languages:
en:
id: en
name: English
Multiple Properties Example:
value:
"12345":
property_id: "12345"
name: Test Property Name
address:
line_1: 123 Main St
line_2: Apt A
city: Springfield
state_province_code: MO
state_province_name: Missouri
postal_code: "65804"
country_code: US
obfuscation_required: false
localized:
links:
es-ES:
method: GET
href: https://api.ean.com/v3/properties/content?language=es-ES&include=address&property_id=12345
fr-FR:
method: GET
href: https://api.ean.com/v3/properties/content?language=fr-FR&include=address&property_id=12345
ratings:
property:
rating: "3.5"
type: Star
guest:
count: 48382
overall: "3.1"
cleanliness: "4.2"
service: "1.1"
comfort: "4.3"
condition: "1.6"
location: "4.0"
neighborhood: "3.4"
quality: "3.4"
value: "2.2"
amenities: "1.4"
recommendation_percent: 73%
location:
coordinates:
latitude: 37.158451
longitude: -93.268382
obfuscated_coordinates:
latitude: 37.159532
longitude: -93.271681
obfuscation_required: false
phone: 1-417-862-0153
fax: 1-417-863-7249
category:
id: "1"
name: Hotel
rank: 42
business_model:
expedia_collect: true
property_collect: false
checkin:
"24_hour": 24-hour check-in
begin_time: 3:00 PM
end_time: 11:00 PM
instructions: Extra-person charges may apply and vary depending on hotel policy. <br />Government-issued photo identification and a credit card or cash deposit are required at check-in for incidental charges. <br />Special requests are subject to availability upon check-in and may incur additional charges. Special requests cannot be guaranteed. <br />
special_instructions: There is no front desk at this property. To make arrangements for check-in please contact the property ahead of time using the information on the booking confirmation.
min_age: 18
checkout:
time: 11:00 AM
fees:
mandatory: "You'll be asked to pay the following charges at the hotel:
- Deposit: USD 50 per day
- Resort fee: USD 29.12 per accommodation, per night
The hotel resort fee includes:- Fitness center access
- Internet access
- Phone calls
- Additional inclusions
We have included all charges provided to us by the property. However, charges can vary, for example, based on length of stay or the room you book.
"
optional: "Fee for in-room wireless Internet: USD 15 per hour (rates may vary) Airport shuttle fee: USD 350 per vehicle (one way) Rollaway bed fee: USD 175 per night"
policies:
know_before_you_go: "Reservations are required for massage services and spa treatments. Reservations can be made by contacting the hotel prior to arrival, using the contact information on the booking confirmation. Children 11 years old and younger stay free when occupying the parent or guardian's room, using existing bedding. Only registered guests are allowed in the guestrooms. Some facilities may have restricted access. Guests can contact the property for details using the contact information on the booking confirmation. "
attributes:
general:
"3357":
id: "3357"
name: Caters to adults only
"2549":
id: "2549"
name: No elevators
pets:
"51":
id: "51"
name: Pets allowed
"2809":
id: "2809"
name: Dogs only
"3321":
id: "3321"
name: Pet maximum weight in kg is - 24
value: 24
amenities:
"9":
id: "9"
name: Fitness facilities
"2820":
id: "2820"
name: Number of indoor pools - 10
value: 10
images:
- caption: Featured Image
hero_image: true
category: 3
links:
"70px":
method: GET
href: https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg
onsite_payments:
currency: USD
types:
"171":
id: "171"
name: American Express
rooms:
"224829":
id: "224829"
name: Single Room
descriptions:
overview: "2 Twin Beds
269-sq-foot (25-sq-meter) room with mountain views
Internet - Free WiFi
Entertainment - Flat-screen TV with cable channels
Food & Drink - Refrigerator, coffee/tea maker, room service, and free bottled water
Sleep - Premium bedding
Bathroom - Private bathroom, shower, bathrobes, and free toiletries
Practical - Safe and desk; cribs/infant beds available on request
Comfort - Climate-controlled air conditioning and daily housekeeping
Non-Smoking
"
amenities:
"130":
id: "130"
name: Refrigerator
"1234":
id: "1234"
name: Test Amenity - 200
value: "200"
images:
- hero_image: true
category: 21001
links:
"70px":
method: GET
href: https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg
caption: Guestroom
bed_groups:
"37321":
id: "37321"
description: 1 King Bed
configuration:
- type: KingBed
size: King
quantity: 1
area:
square_meters: 20
square_feet: 215
views:
"4146":
id: "4146"
name: Courtyard view
occupancy:
max_allowed:
total: 5
children: 2
adults: 4
age_categories:
Adult:
name: Adult
minimum_age: 9
rates:
"333abc":
id: 333abc
amenities:
"2104":
id: "2104"
name: Full Breakfast
"1234":
id: "1234"
name: Test Amenity - 200
value: "200"
special_offer_description: "Breakfast for 2 - Rate includes the following:\r\n- Accommodations as selected
\r\n- Breakfast in hotel restaurant for up to 2 adults and children 12 years old and under registered in the same room
\r\n
Must book this rate plan to receive benefits. Details provided at check-in. Taxes and gratuity may not be included. No refunds for any unused portion of offer. Offer subject to availability. Offer is not valid with groups/conventions and may not be combined with other promotional offers. Other restrictions and blackout dates may apply.\r\n"
dates:
added: '1998-07-19T05:00:00.000Z'
updated: '2018-03-22T07:23:14.000Z'
descriptions:
amenities: "Don't miss out on the many recreational opportunities, including an outdoor pool, a sauna, and a fitness center. Additional features at this hotel include complimentary wireless Internet access, concierge services, and an arcade/game room."
dining: "Grab a bite at one of the hotel's 3 restaurants, or stay in and take advantage of 24-hour room service. Quench your thirst with your favorite drink at a bar/lounge. Buffet breakfasts are available daily for a fee."
renovations: "During renovations, the hotel will make every effort to minimize noise and disturbance. The property will be renovating from 08 May 2017 to 18 May 2017 (completion date subject to change). The following areas are affected: "
national_ratings: "For the benefit of our customers, we have provided a rating based on our rating system."
business_amenities: "Featured amenities include complimentary wired Internet access, a 24-hour business center, and limo/town car service. Event facilities at this hotel consist of a conference center and meeting rooms. Free self parking is available onsite."
rooms: "Make yourself at home in one of the 334 air-conditioned rooms featuring LCD televisions. Complimentary wired and wireless Internet access keeps you connected, and satellite programming provides entertainment. Private bathrooms with separate bathtubs and showers feature deep soaking bathtubs and complimentary toiletries. Conveniences include phones, as well as safes and desks."
attractions: "Distances are calculated in a straight line from the property's location to the point of interest or attraction, and may not reflect actual travel distance.
Distances are displayed to the nearest 0.1 mile and kilometer. Sogo Department Store - 0.7 km / 0.4 mi
National Museum of Natural Science - 1.1 km / 0.7 mi
Shr-Hwa International Tower - 1.4 km / 0.8 mi
Shinkong Mitsukoshi Department Store - 1.5 km / 0.9 mi
Taichung Metropolitan Opera House - 1.7 km / 1 mi
Tiger City Mall - 1.8 km / 1.1 mi
Maple Garden Park - 1.9 km / 1.2 mi
National Museum of Fine Arts - 2.1 km / 1.3 mi
Feng Chia University - 2.4 km / 1.5 mi
Bao An Temple - 2.5 km / 1.6 mi
Fengjia Night Market - 2.5 km / 1.6 mi
Zhonghua Night Market - 2.7 km / 1.7 mi
Chonglun Park - 2.9 km / 1.8 mi
Wan He Temple - 2.9 km / 1.8 mi
Chungyo Department Store - 3.1 km / 1.9 mi
The nearest airports are:
Taichung (RMQ) - 12 km / 7.5 mi
Taipei (TPE-Taoyuan Intl.) - 118.3 km / 73.5 mi
Taipei (TSA-Songshan) - 135.5 km / 84.2 mi
"
location: "This 4-star hotel is within close proximity of Shr-Hwa International Tower and Shinkong Mitsukoshi Department Store. A stay at Tempus Hotel Taichung places you in the heart of Taichung, convenient to Sogo Department Store and National Museum of Natural Science."
headline: Near National Museum of Natural Science
statistics:
"52":
id: "52"
name: Total number of rooms - 820
value: "820"
"54":
id: "54"
name: Number of floors - 38
value: "38"
airports:
preferred:
iata_airport_code: SGF
themes:
"2337":
id: "2337"
name: Luxury Hotel
"2341":
id: "2341"
name: Spa Hotel
all_inclusive:
all_rate_plans: true
some_rate_plans: false
details: This resort is all-inclusive. Onsite food and beverages are included in the room price (some restrictions may apply).
Activities and facilities/equipment
Land activities
Lessons/classes/games Entertainment
- Onsite entertainment and activities
- Onsite live performances
tax_id: AB-012-987-1234-01
chain:
id: -6
name: Hyatt Hotels
brand:
id: "2209"
name: Hyatt Place
spoken_languages:
en:
id: en
name: English
zh-yue:
id: zh-yue
name: Chinese (Cantonese)
multi_unit: true
payment_registration_recommended: false
supply_source: expedia
"67890":
property_id: "67890"
name: Test Property Name 2
address:
line_1: 123 Main St
line_2: Apt A
city: Springfield
state_province_code: MO
state_province_name: Missouri
postal_code: "65804"
country_code: US
obfuscation_required: true
localized:
links:
es-ES:
method: GET
href: https://api.ean.com/v3/properties/content?language=es-ES&include=address&property_id=67890
de-DE:
method: GET
href: https://api.ean.com/v3/properties/content?language=de-DE&include=address&property_id=67890
ratings:
property:
rating: "3.5"
type: Star
guest:
count: 7651
overall: "4.3"
cleanliness: "4.2"
service: "1.1"
comfort: "4.3"
condition: "1.6"
location: "4.0"
neighborhood: "3.4"
quality: "3.4"
value: "2.2"
amenities: "1.4"
recommendation_percent: 80%
location:
coordinates:
latitude: 37.158451
longitude: -93.268382
obfuscated_coordinates:
latitude: 37.159532
longitude: -93.271681
obfuscation_required: false
phone: 1-417-862-0153
fax: 1-417-863-7249
category:
id: "1"
name: Hotel
rank: 42
business_model:
expedia_collect: true
property_collect: true
checkin:
"24_hour": 24-hour check-in
begin_time: 3:00 PM
end_time: 11:00 PM
instructions: Extra-person charges may apply and vary depending on hotel policy. <br />Government-issued photo identification and a credit card or cash deposit are required at check-in for incidental charges. <br />Special requests are subject to availability upon check-in and may incur additional charges. Special requests cannot be guaranteed. <br />
special_instructions: There is no front desk at this property. To make arrangements for check-in please contact the property ahead of time using the information on the booking confirmation.
min_age: 18
checkout:
time: 11:00 AM
fees:
mandatory: "You'll be asked to pay the following charges at the hotel:
- Deposit: USD 50 per day
- Resort fee: USD 29.12 per accommodation, per night
The hotel resort fee includes:- Fitness center access
- Internet access
- Phone calls
- Additional inclusions
We have included all charges provided to us by the property. However, charges can vary, for example, based on length of stay or the room you book.
"
optional: "Fee for in-room wireless Internet: USD 15 per hour (rates may vary) Airport shuttle fee: USD 350 per vehicle (one way) Rollaway bed fee: USD 175 per night"
policies:
know_before_you_go: "Reservations are required for massage services and spa treatments. Reservations can be made by contacting the hotel prior to arrival, using the contact information on the booking confirmation. Children 11 years old and younger stay free when occupying the parent or guardian's room, using existing bedding. Only registered guests are allowed in the guestrooms. Some facilities may have restricted access. Guests can contact the property for details using the contact information on the booking confirmation. "
attributes:
general:
"3357":
id: "3357"
name: Caters to adults only
"2549":
id: "2549"
name: No elevators
pets:
"51":
id: "51"
name: Pets allowed
"2809":
id: "2809"
name: Dogs only
"3321":
id: "3321"
name: Pet maximum weight in kg is - 24
value: 24
amenities:
"9":
id: "9"
name: Fitness facilities
"2820":
id: "2820"
name: Number of indoor pools - 10
value: 10
images:
- caption: Featured Image
hero_image: true
category: 3
links:
"70px":
method: GET
href: https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg
onsite_payments:
currency: USD
types:
"171":
id: "171"
name: American Express
rooms:
"224829":
id: "224829"
name: Single Room
descriptions:
overview: "2 Twin Beds
269-sq-foot (25-sq-meter) room with mountain views
Internet - Free WiFi
Entertainment - Flat-screen TV with cable channels
Food & Drink - Refrigerator, coffee/tea maker, room service, and free bottled water
Sleep - Premium bedding
Bathroom - Private bathroom, shower, bathrobes, and free toiletries
Practical - Safe and desk; cribs/infant beds available on request
Comfort - Climate-controlled air conditioning and daily housekeeping
Non-Smoking
"
amenities:
"130":
id: "130"
name: Refrigerator
"1234":
id: "1234"
name: Test Amenity - 200
value: "200"
images:
- hero_image: true
category: 21001
links:
"70px":
method: GET
href: https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg
caption: Guestroom
bed_groups:
"37321":
id: "37321"
description: 1 King Bed
configuration:
- type: KingBed
size: King
quantity: 1
area:
square_meters: 17
views:
"4134":
id: "4134"
name: City view
occupancy:
max_allowed:
total: 3
children: 2
adults: 3
age_categories:
ChildAgeA:
name: ChildAgeA
minimum_age: 3
rates:
"333abc":
id: 333abc
amenities:
"2104":
id: "2104"
name: Full Breakfast
"1234":
id: "1234"
name: Test Amenity - 200
value: "200"
special_offer_description: "Breakfast for 2 - Rate includes the following:\r\n- Accommodations as selected
\r\n- Breakfast in hotel restaurant for up to 2 adults and children 12 years old and under registered in the same room
\r\n
Must book this rate plan to receive benefits. Details provided at check-in. Taxes and gratuity may not be included. No refunds for any unused portion of offer. Offer subject to availability. Offer is not valid with groups/conventions and may not be combined with other promotional offers. Other restrictions and blackout dates may apply.\r\n"
dates:
added: '1998-07-20T05:00:00.000Z'
updated: '2018-03-22T13:33:17.000Z'
descriptions:
amenities: "Don't miss out on the many recreational opportunities, including an outdoor pool, a sauna, and a fitness center. Additional features at this hotel include complimentary wireless Internet access, concierge services, and an arcade/game room."
dining: "Grab a bite at one of the hotel's 3 restaurants, or stay in and take advantage of 24-hour room service. Quench your thirst with your favorite drink at a bar/lounge. Buffet breakfasts are available daily for a fee."
renovations: "During renovations, the hotel will make every effort to minimize noise and disturbance. The property will be renovating from 08 May 2017 to 18 May 2017 (completion date subject to change). The following areas are affected: "
national_ratings: "For the benefit of our customers, we have provided a rating based on our rating system."
business_amenities: "Featured amenities include complimentary wired Internet access, a 24-hour business center, and limo/town car service. Event facilities at this hotel consist of a conference center and meeting rooms. Free self parking is available onsite."
rooms: "Make yourself at home in one of the 334 air-conditioned rooms featuring LCD televisions. Complimentary wired and wireless Internet access keeps you connected, and satellite programming provides entertainment. Private bathrooms with separate bathtubs and showers feature deep soaking bathtubs and complimentary toiletries. Conveniences include phones, as well as safes and desks."
attractions: "Distances are calculated in a straight line from the property's location to the point of interest or attraction, and may not reflect actual travel distance.
Distances are displayed to the nearest 0.1 mile and kilometer. Sogo Department Store - 0.7 km / 0.4 mi
National Museum of Natural Science - 1.1 km / 0.7 mi
Shr-Hwa International Tower - 1.4 km / 0.8 mi
Shinkong Mitsukoshi Department Store - 1.5 km / 0.9 mi
Taichung Metropolitan Opera House - 1.7 km / 1 mi
Tiger City Mall - 1.8 km / 1.1 mi
Maple Garden Park - 1.9 km / 1.2 mi
National Museum of Fine Arts - 2.1 km / 1.3 mi
Feng Chia University - 2.4 km / 1.5 mi
Bao An Temple - 2.5 km / 1.6 mi
Fengjia Night Market - 2.5 km / 1.6 mi
Zhonghua Night Market - 2.7 km / 1.7 mi
Chonglun Park - 2.9 km / 1.8 mi
Wan He Temple - 2.9 km / 1.8 mi
Chungyo Department Store - 3.1 km / 1.9 mi
The nearest airports are:
Taichung (RMQ) - 12 km / 7.5 mi
Taipei (TPE-Taoyuan Intl.) - 118.3 km / 73.5 mi
Taipei (TSA-Songshan) - 135.5 km / 84.2 mi
"
location: "This 4-star hotel is within close proximity of Shr-Hwa International Tower and Shinkong Mitsukoshi Department Store. A stay at Tempus Hotel Taichung places you in the heart of Taichung, convenient to Sogo Department Store and National Museum of Natural Science."
headline: Near National Museum of Natural Science
statistics:
"52":
id: "52"
name: Total number of rooms - 820
value: "820"
"54":
id: "54"
name: Number of floors - 38
value: "38"
airports:
preferred:
iata_airport_code: SGF
themes:
"2337":
id: "2337"
name: Luxury Hotel
"2341":
id: "2341"
name: Spa Hotel
all_inclusive:
all_rate_plans: true
some_rate_plans: false
details: This resort is all-inclusive. Onsite food and beverages are included in the room price (some restrictions may apply).
Activities and facilities/equipment
Land activities
Lessons/classes/games Entertainment
- Onsite entertainment and activities
- Onsite live performances
tax_id: CD-012-987-1234-02
chain:
id: -5
name: Hilton Worldwide
brand:
id: "358"
name: Hampton Inn
spoken_languages:
en:
id: en
name: English
multi_unit: true
payment_registration_recommended: true
supply_source: expedia
Multiple Properties With include name, and ratings:
value:
"12345":
property_id: "12345"
name: Test property 1
ratings:
property:
rating: "3.5"
type: Star
guest:
count: 48382
overall: "3.1"
cleanliness: "4.2"
service: "1.1"
comfort: "4.3"
condition: "1.6"
location: "4.0"
neighborhood: "3.4"
quality: "3.4"
value: "2.2"
amenities: "1.4"
recommendation_percent: 73%
"67890":
property_id: "67890"
name: Test property 2
ratings:
property:
rating: "4.0"
type: Star
guest:
count: 3451
overall: "4.1"
cleanliness: "4.9"
service: "3.1"
comfort: "4.8"
condition: "3.6"
location: "4.7"
neighborhood: "4.4"
quality: "3.9"
value: "3.2"
amenities: "4.4"
recommendation_percent: 90%
No Properties Example:
value: {}
"400":
description: Invalid Input
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: invalid_input
message: "An invalid request was sent in, please check the nested errors for details."
errors:
- type: language.required
message: "A language is required. Supported languages are: [ar-SA, cs-CZ, da-DK, de-DE, el-GR, en-US, es-ES, es-MX, fi-FI, fr-CA, fr-FR, hr-HR, hu-HU, id-ID, is-IS, it-IT, ja-JP, lt-LT, ko-KR, ms-MY, nb-NO, nl-NL, pl-PL, pt-BR, pt-PT, ru-RU, sk-SK, sv-SE, th-TH, tr-TR, uk-UA, vi-VN, zh-CN, zh-TW]"
fields:
- name: language
type: querystring
- type: language.above_maximum
message: The number of languages passed in must not be greater than 1.
fields:
- name: language
type: querystring
- type: language.not_supported
message: "Language is not supported. Supported languages are: [ar-SA, cs-CZ, da-DK, de-DE, el-GR, en-US, es-ES, es-MX, fi-FI, fr-CA, fr-FR, hr-HR, hu-HU, id-ID, is-IS, it-IT, ja-JP, lt-LT, ko-KR, ms-MY, nb-NO, nl-NL, pl-PL, pt-BR, pt-PT, ru-RU, sk-SK, sv-SE, th-TH, tr-TR, uk-UA, vi-VN, zh-CN, zh-TW]"
fields:
- name: language
type: querystring
value: xXX
- type: property_id.must_be_numeric
message: "All provided property_id query parameters must be numeric (contains only digits 0-9, with no other characters)."
fields:
- name: property_id
type: querystring
value: abc
- name: property_id
type: querystring
value: 123adsf
- type: property_id.above_maximum
message: A maximum of 250 property_id query parameters may be provided to this request.
fields:
- name: property_id
type: querystring
"401":
description: Unauthorized
headers:
Region:
$ref: '#/components/headers/Region'
WWW-Authenticate:
description: Provides an example of the Authorization header.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: request_unauthenticated
message: Data required to authenticate your request is missing or inaccurate. Ensure that your request follows the guidelines in our documentation.
fields:
- name: apikey
type: header
value: jaj3982k239dka328e
- name: signature
type: header
value: 129d75332614a5bdbe0c7eb540e95a65f9d85a5b53dabb38d19b37fad6312a2bd25c12ee5a82831d55112087e1b
- name: timestamp
type: header
value: 198284729
- name: servertimestamp
type: server
value: 198284729
"403":
description: Forbidden
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: request_unauthorized
message: Your request could not be authorized.
"410":
description: Gone
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: link.expired
message: The link you followed has expired. Please build a new request to restart pagination.
"426":
description: Upgrade Required
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: upgrade_required
message: This service requires the use of TLS.
"429":
description: Too Many Requests
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: too_many_requests
message: You have reached your capacity for this type of request.
"500":
description: Unknown Internal Error
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: unknown_internal_error
message: An internal server error has occurred.
"503":
description: Service Unavailable
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: service_unavailable
message: This service is currently unavailable.
security:
- rapidAuth: []
/properties/inactive:
get:
tags:
- Content
summary: Expedia Group Inactive Properties
description: |
Request a list of properties that are inactive because they have been removed from sale since a specified
date.
When there are a large number of properties in the response, it will be paginated. See the `Link` header in the
200 response section.
operationId: getInactiveProperties
parameters:
- name: Accept
in: header
description: |
Specifies the response format that the client would like to receive back. This must be `application/json`.
required: true
schema:
type: string
example: application/json
- name: Accept-Encoding
in: header
description: |
Specifies the response encoding that the client would like to receive back. This must be `gzip`.
required: true
schema:
type: string
example: gzip
- name: User-Agent
in: header
description: "The `User-Agent` header string from the customer's request, as captured by your integration. If you are \nbuilding an application then the `User-Agent` value should be `{app name}/{app version}`.\n"
required: true
schema:
type: string
example: TravelNow/3.30.112
- name: Customer-Session-Id
in: header
description: |
Insert your own unique value for each user session, beginning with the first API call. Continue to pass the same
value for each subsequent API call during the user's session, using a new value for every new customer session.
Including this value greatly eases EPS's internal debugging process for issues with partner requests,
as it explicitly links together request paths for individual user's session.
schema:
type: string
- name: since
in: query
description: |
Required on initial call, not accepted on subsequent paging links provided in response header.
The earliest date that a property became inactive to include in the results. ISO 8601 format (YYYY-MM-DD)
schema:
type: string
example: '2023-05-01'
- name: token
in: query
description: |
Only used for requesting additional pages of data. Provided by the `next` URL in the `Link` response header.
schema:
type: string
example: MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m
- name: billing_terms
in: query
description: |
This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed,
the value for this will be provided to you separately.
schema:
type: string
- name: payment_terms
in: query
description: |
This parameter is to specify what terms should be used when being paid for a resulting booking. If this
field is needed, the value for this will be provided to you separately.
schema:
type: string
- name: partner_point_of_sale
in: query
description: |
This parameter is to specify what point of sale is being used to shop and book. If this field is needed,
the value for this will be provided to you separately.
schema:
type: string
- name: platform_name
in: query
description: |
This parameter is to specify what platform is being used to shop and book. If this field is needed, the
value for this will be provided to you separately.
schema:
type: string
responses:
"200":
description: OK
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Link:
description: |
Contains a single link to get the immediate next page of results, and follows the
[IETF standard](https://tools.ietf.org/html/rfc5988). To get the next page of results, simply follow
the `next` URL in this header without modifying it. This header will be missing when there are no
further pages. If the link expires, there will be an `expires` link-extension that is the UTC date the
link will expire, in ISO 8601 format.
schema:
type: string
example: ; rel="next"; expires=2023-06-29T20:15:05.324083439Z
Pagination-Total-Results:
description: Contains the total number of property objects found.
schema:
type: number
example: 827
content:
application/json:
schema:
type: array
description: The list of properties that became inactive and are still inactive since the requested date.
items:
$ref: '#/components/schemas/PropertyInactive'
examples:
Inactive Properties:
value:
- property_id: "12345"
- property_id: "23456"
No Results:
value: []
"400":
description: Invalid Input
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: invalid_input
message: "An invalid request was sent in, please check the nested errors for details."
errors:
- type: since.required
message: The since field is required. Please provide a date in ISO 8601 (YYYY-MM-DD) format.
fields:
- name: since
type: querystring
- type: since.invalid_date_format
message: The since field is not formatted correctly. Please provide a date in ISO 8601 (YYYY-MM-DD) format.
fields:
- name: since
type: querystring
value: 23-1-1
"401":
description: Unauthorized
headers:
WWW-Authenticate:
description: Provides an example of the Authorization header.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: request_unauthenticated
message: Data required to authenticate your request is missing or inaccurate. Ensure that your request follows the guidelines in our documentation.
fields:
- name: apikey
type: header
value: jaj3982k239dka328e
- name: signature
type: header
value: 129d75332614a5bdbe0c7eb540e95a65f9d85a5b53dabb38d19b37fad6312a2bd25c12ee5a82831d55112087e1b
- name: timestamp
type: header
value: 198284729
- name: servertimestamp
type: server
value: 198284729
"403":
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: request_unauthorized
message: Your request could not be authorized.
"410":
description: Gone
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: link.expired
message: The link you followed has expired. Please build a new request to restart pagination.
"426":
description: Upgrade Required
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: upgrade_required
message: This service requires the use of TLS.
"429":
description: Too Many Requests
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: too_many_requests
message: You have reached your capacity for this type of request.
"500":
description: Unknown Internal Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: unknown_internal_error
message: An internal server error has occurred.
"503":
description: Service Unavailable
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: service_unavailable
message: This service is currently unavailable.
security:
- rapidAuth: []
/properties/{property_id}/guest-reviews:
get:
tags:
- Content
summary: Expedia Group Property Guest Reviews
description: |
Note: Property Guest Reviews are only available if your account is configured for access and all launch requirements have been followed. Please find the launch requirements here [https://support.expediapartnersolutions.com/hc/en-us/articles/360008646799](https://support.expediapartnersolutions.com/hc/en-us/articles/360008646799) and contact your Account Manager for more details.
The response is an individual Guest Reviews object containing multiple guest reviews for the requested active property.
To ensure you always show the latest guest reviews, this call should be made whenever a customer looks at the details for a specific property.
operationId: getPropertyGuestReviews
parameters:
- name: Accept
in: header
description: |
Specifies the response format that the client would like to receive back. This must be `application/json`.
required: true
schema:
type: string
example: application/json
- name: Accept-Encoding
in: header
description: |
Specifies the response encoding that the client would like to receive back. This must be `gzip`.
required: true
schema:
type: string
example: gzip
- name: Customer-Session-Id
in: header
description: |
Insert your own unique value for each user session, beginning with the first API call.
Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session.
Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session.
schema:
type: string
- name: User-Agent
in: header
description: |
The `User-Agent` header string from the customer's request, as captured by your integration. If you are building an application then the `User-Agent` value should be `{app name}/{app version}`.
required: true
schema:
type: string
example: TravelNow/3.30.112
- name: property_id
in: path
description: |
Expedia Property ID.
required: true
schema:
type: string
example: "19248"
- name: language
in: query
description: |
Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes. See [https://www.w3.org/International/articles/language-tags/](https://www.w3.org/International/articles/language-tags/)
Language Options: [https://developers.expediagroup.com/docs/rapid/resources/reference/language-options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
required: true
schema:
type: string
example: language=en-US
- name: billing_terms
in: query
description: |
This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately.
schema:
type: string
- name: payment_terms
in: query
description: |
This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately.
schema:
type: string
- name: partner_point_of_sale
in: query
description: |
This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
schema:
type: string
- name: platform_name
in: query
description: |
This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
schema:
type: string
responses:
"200":
description: OK
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/GuestReviews'
example:
verified:
recent:
- verification_source: Expedia verified Review
title: Definitely staying again
date_submitted: '2019-02-11T18:19:40Z'
rating: "5"
reviewer_name: Bill
trip_reason: leisure
travel_companion: self
text: "Staff very helpful and friendly. Pool was 18 meters deep, very strange."
- verification_source: Expedia verified Review
title: Pool much too deep
date_submitted: '2019-02-10T11:15:01Z'
rating: "2"
reviewer_name: Gregory
trip_reason: friends_and_family
travel_companion: family_with_children
text: Bottom of the 18 meter pool was too scary. Staff were nice though.
"400":
description: Invalid Input
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: invalid_input
message: "An invalid request was sent in, please check the nested errors for details."
errors:
- type: language.required
message: "A language is required. Supported languages are: [ar-SA, cs-CZ, da-DK, de-DE, el-GR, en-US, es-ES, es-MX, fi-FI, fr-CA, fr-FR, hr-HR, hu-HU, id-ID, is-IS, it-IT, ja-JP, lt-LT, ko-KR, ms-MY, nb-NO, nl-NL, pl-PL, pt-BR, pt-PT, ru-RU, sk-SK, sv-SE, th-TH, tr-TR, uk-UA, vi-VN, zh-CN, zh-TW]"
fields:
- name: language
type: querystring
- type: language.above_maximum
message: The number of languages passed in must not be greater than 1.
fields:
- name: language
type: querystring
- type: language.not_supported
message: "Language is not supported. Supported languages are: [ar-SA, cs-CZ, da-DK, de-DE, el-GR, en-US, es-ES, es-MX, fi-FI, fr-CA, fr-FR, hr-HR, hu-HU, id-ID, is-IS, it-IT, ja-JP, lt-LT, ko-KR, ms-MY, nb-NO, nl-NL, pl-PL, pt-BR, pt-PT, ru-RU, sk-SK, sv-SE, th-TH, tr-TR, uk-UA, vi-VN, zh-CN, zh-TW]"
fields:
- name: language
type: querystring
value: xXX
"401":
description: Unauthorized
headers:
Region:
$ref: '#/components/headers/Region'
WWW-Authenticate:
description: Provides an example of the Authorization header.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: request_unauthenticated
message: Data required to authenticate your request is missing or inaccurate. Ensure that your request follows the guidelines in our documentation.
fields:
- name: apikey
type: header
value: jaj3982k239dka328e
- name: signature
type: header
value: 129d75332614a5bdbe0c7eb540e95a65f9d85a5b53dabb38d19b37fad6312a2bd25c12ee5a82831d55112087e1b
- name: timestamp
type: header
value: 198284729
- name: servertimestamp
type: server
value: 198284729
"403":
description: Forbidden
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: request_unauthorized
message: Your request could not be authorized.
"404":
description: Not Found
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: guest_reviews.not_found
message: The requested guest reviews could not be found.
"426":
description: Upgrade Required
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: upgrade_required
message: This service requires the use of TLS.
"429":
description: Too Many Requests
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: too_many_requests
message: You have reached your capacity for this type of request.
"500":
description: Unknown Internal Error
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: unknown_internal_error
message: An internal server error has occurred.
"503":
description: Service Unavailable
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: service_unavailable
message: This service is currently unavailable.
security:
- rapidAuth: []
/files/properties/catalog:
get:
tags:
- Content
summary: Expedia Group Property Catalog File
description: |
Returns a link to download the master list of EPS's active properties in the requested language. The response includes high-level details about each property.
This file is in JSONL format and is gzipped. The schema of each JSON object in the JSONL file is a subset of the schema of each JSON object from the Property Content call. The subset of fields included are:
* property_id
* name
* address
* ratings
* location
* phone
* fax
* category
* rank
* business_model
* dates
* statistics
* chain
* brand
* supply_source
Example of a JSONL file with 2 properties:
```
{"property_id":"12345","name":"Test Property Name","address":{"line_1":"123 Main St","line_2":"Apt A","city":"Springfield","state_province_code":"MO","state_province_name":"Missouri","postal_code":"65804","country_code":"US","obfuscation_required":false,"localized":{"links":{"es-ES":{"method":"GET","href":"https://api.ean.com/v3/properties/content?language=es-ES&include=address&property_id=12345"},"fr-FR":{"method":"GET","href":"https://api.ean.com/v3/properties/content?language=fr-FR&include=address&property_id=12345"}}}},"ratings":{"property":{"rating":"3.5","type":"Star"},"guest":{"count":48382,"overall":"3.1","cleanliness":"4.2","service":"1.1","comfort":"4.3","condition":"1.6","location":"4.0","neighborhood":"3.4","quality":"3.4","value":"2.2","amenities":"1.4","recommendation_percent":"73%"}},"location":{"coordinates":{"latitude":37.15845,"longitude":-93.26838}},"phone":"1-417-862-0153","fax":"1-417-863-7249","category":{"id":"1","name":"Hotel"},"rank":42,"business_model":{"expedia_collect":true,"property_collect":false},"dates":{"added":"1998-07-19T05:00:00.000Z","updated":"2018-03-22T07:23:14.000Z"},"statistics":{"52":{"id":"52","name":"Total number of rooms - 820","value":"820"},"54":{"id":"54","name":"Number of floors - 38","value":"38"}},"chain":{"id":"-6","name":"Hyatt Hotels"},"brand":{"id":"2209","name":"Hyatt Place"},"supply_source":"expedia"}
{"property_id":"67890","name":"Test Property Name 2","address":{"line_1":"123 Main St","line_2":"Apt A","city":"Springfield","state_province_code":"MO","state_province_name":"Missouri","postal_code":"65804","country_code":"US","obfuscation_required":true,"localized":{"links":{"es-ES":{"method":"GET","href":"https://api.ean.com/v3/properties/content?language=es-ES&include=address&property_id=67890"},"de-DE":{"method":"GET","href":"https://api.ean.com/v3/properties/content?language=de-DE&include=address&property_id=67890"}}}},"ratings":{"property":{"rating":"3.5","type":"Star"},"guest":{"count":7651,"overall":"4.3","cleanliness":"4.2","service":"1.1","comfort":"4.3","condition":"1.6","location":"4.0","neighborhood":"3.4","quality":"3.4","value":"2.2","amenities":"1.4","recommendation_percent":"80%"}},"location":{"coordinates":{"latitude":37.15845,"longitude":-93.26838}},"phone":"1-417-862-0153","fax":"1-417-863-7249","category":{"id":"1","name":"Hotel"},"rank":42,"business_model":{"expedia_collect":true,"property_collect":true},"dates":{"added":"1998-07-20T05:00:00.000Z","updated":"2018-03-22T13:33:17.000Z"},"statistics":{"52":{"id":"52","name":"Total number of rooms - 820","value":"820"},"54":{"id":"54","name":"Number of floors - 38","value":"38"}},"chain":{"id":"-5","name":"Hilton Worldwide"},"brand":{"id":"358","name":"Hampton Inn"},"supply_source":"expedia"}
```
operationId: getPropertyCatalogFile
parameters:
- name: Accept
in: header
description: |
Specifies the response format that the client would like to receive back. This must be `application/json`.
required: true
schema:
type: string
example: application/json
- name: Accept-Encoding
in: header
description: |
Specifies the response encoding that the client would like to receive back. This must be `gzip`.
required: true
schema:
type: string
example: gzip
- name: Customer-Session-Id
in: header
description: |
Insert your own unique value for each user session, beginning with the first API call.
Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session.
Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session.
schema:
type: string
- name: User-Agent
in: header
description: |
The `User-Agent` header string from the customer's request, as captured by your integration. If you are building an application then the `User-Agent` value should be `{app name}/{app version}`.
required: true
schema:
type: string
example: TravelNow/3.30.112
- name: language
in: query
description: |
Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes. See [https://www.w3.org/International/articles/language-tags/](https://www.w3.org/International/articles/language-tags/)
Language Options: [https://developers.expediagroup.com/docs/rapid/resources/reference/language-options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
required: true
schema:
type: string
example: language=en-US
- name: supply_source
in: query
description: |
Options for which supply source you would like returned in the content response. This parameter may only be supplied once and will return all properties that match the requested supply source. An error is thrown if the parameter is provided multiple times.
* `expedia` - Standard Expedia supply.
* `vrbo` - VRBO supply - This option is restricted to partners who have VRBO supply enabled for their profile. See [Vacation Rentals](https://developers.expediagroup.com/docs/rapid/lodging/vacation-rentals) for more information.
required: true
schema:
type: string
example: vrbo
- name: billing_terms
in: query
description: |
This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately.
schema:
type: string
- name: payment_terms
in: query
description: |
This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately.
schema:
type: string
- name: partner_point_of_sale
in: query
description: |
This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
schema:
type: string
- name: platform_name
in: query
description: |
This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
schema:
type: string
responses:
"200":
description: OK
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Link'
example:
method: GET
href: https://example.com/propertycatalog.jsonl.gz?amz-security-token=FQoDYXdzEPL%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaDD%2FiIFt2RCrdJKrkKSK3A2ncL3qC6SsXLyC3XxgRBGKykCfsfF40Jm8ud6ht6C1LB3q9X0maQCHyXV5gSl9g9hrHtOiC5fnihUQBASMAbOsepEKCfS%2B%2FWDrKAr5lTR%2FptslJxQs6v5GTO7G3R6PYIKFG%2FFgQydd8bEB2njMjynyvgXNgEPsb%2FVuiDC1K%2BMhvoRAguXo4QHQgOVVRXXmbl87j0Ih6s5ffI3yfIvEBnmEfdLdd2E5yPHuIO%2FOItXYxEc0vgipvlT41PylYtS8rhgc3MKqJO4Uw7yNPMlbphdxy6TJzQRJW15o9TaHrFBBYvWrtfcMewOlLYu6N6R1EGQhT9Ayok9J2oKzFJ%2FSbMNmVUsHReM7v1chuY7XNGld9bKeu0xFjDth%2BcEHrjkqhyxBc2pBINvk8LT9uPOCykqbuc2OWlCpNtQyahPnxpdPMW4WEbIFaWUNHWj0ui507CN2useZBYfGIST94KEtJFlpZRB0ntz%2BxmWRSnPYG3K47meFS9cthMsYH1rxIdDei2W49TQbjnVIXY2RldvO2JaTKtYPJT85ds9W71R0s4t9LSgY%2BZ9kaLjF%2BLk7PGKIhBbLowqKRBBUozOf2zAU%3D&AWSAccessKeyId=ASIAIZYRJJGNLGQGVLDA&Expires=1503512048&Signature=p7V%2BTN6rZMiVaz6MxqU%2F4YHYkw8%3D
expires: '2019-03-05T07:23:14.000Z'
"400":
description: Invalid Input
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: invalid_input
message: "An invalid request was sent in, please check the nested errors for details."
errors:
- type: language.required
message: "A language is required. Supported languages are: [ar-SA, cs-CZ, da-DK, de-DE, el-GR, en-US, es-ES, es-MX, fi-FI, fr-CA, fr-FR, hr-HR, hu-HU, id-ID, is-IS, it-IT, ja-JP, lt-LT, ko-KR, ms-MY, nb-NO, nl-NL, pl-PL, pt-BR, pt-PT, ru-RU, sk-SK, sv-SE, th-TH, tr-TR, uk-UA, vi-VN, zh-CN, zh-TW]"
fields:
- name: language
type: querystring
- type: language.above_maximum
message: The number of languages passed in must not be greater than 1.
fields:
- name: language
type: querystring
- type: language.not_supported
message: "Language is not supported. Supported languages are: [ar-SA, cs-CZ, da-DK, de-DE, el-GR, en-US, es-ES, es-MX, fi-FI, fr-CA, fr-FR, hr-HR, hu-HU, id-ID, is-IS, it-IT, ja-JP, lt-LT, ko-KR, ms-MY, nb-NO, nl-NL, pl-PL, pt-BR, pt-PT, ru-RU, sk-SK, sv-SE, th-TH, tr-TR, uk-UA, vi-VN, zh-CN, zh-TW]"
fields:
- name: language
type: querystring
value: xXX
"401":
description: Unauthorized
headers:
Region:
$ref: '#/components/headers/Region'
WWW-Authenticate:
description: Provides an example of the Authorization header.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: request_unauthenticated
message: Data required to authenticate your request is missing or inaccurate. Ensure that your request follows the guidelines in our documentation.
fields:
- name: apikey
type: header
value: jaj3982k239dka328e
- name: signature
type: header
value: 129d75332614a5bdbe0c7eb540e95a65f9d85a5b53dabb38d19b37fad6312a2bd25c12ee5a82831d55112087e1b
- name: timestamp
type: header
value: 198284729
- name: servertimestamp
type: server
value: 198284729
"403":
description: Forbidden
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: request_unauthorized
message: Your request could not be authorized.
"404":
description: Not Found
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: file.not_found
message: The requested file could not be found.
fields:
- name: filename
type: path
value: file.jsonl.gz
"426":
description: Upgrade Required
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: upgrade_required
message: This service requires the use of TLS.
"429":
description: Too Many Requests
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: too_many_requests
message: You have reached your capacity for this type of request.
"500":
description: Unknown Internal Error
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: unknown_internal_error
message: An internal server error has occurred.
"503":
description: Service Unavailable
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: service_unavailable
message: This service is currently unavailable.
security:
- rapidAuth: []
/files/properties/content:
get:
tags:
- Content
summary: Expedia Group Property Content File
description: |
Returns a link to download all content for all of EPS’s active properties in the requested language. The response includes property-level, room-level and rate-level information.
This file is in JSONL format and is gzipped. The schema of each JSON object in the JSONL file is the same as the schema of each JSON object from the Property Content call.
Example of a JSONL file with 2 properties:
```
{"property_id":"12345","name":"Test Property Name","address":{"line_1":"123 Main St","line_2":"Apt A","city":"Springfield","state_province_code":"MO","state_province_name":"Missouri","postal_code":"65804","country_code":"US","obfuscation_required":false,"localized":{"links":{"es-ES":{"method":"GET","href":"https://api.ean.com/v3/properties/content?language=es-ES&include=address&property_id=12345"},"fr-FR":{"method":"GET","href":"https://api.ean.com/v3/properties/content?language=fr-FR&include=address&property_id=12345"}}}},"ratings":{"property":{"rating":"3.5","type":"Star"},"guest":{"count":48382,"overall":"3.1","cleanliness":"4.2","service":"1.1","comfort":"4.3","condition":"1.6","location":"4.0","neighborhood":"3.4","quality":"3.4","value":"2.2","amenities":"1.4","recommendation_percent":"73%"}},"location":{"coordinates":{"latitude":37.15845,"longitude":-93.26838}},"phone":"1-417-862-0153","fax":"1-417-863-7249","category":{"id":"1","name":"Hotel"},"rank":42,"business_model":{"expedia_collect":true,"property_collect":false},"checkin":{"24_hour":"24-hour check-in","begin_time":"3:00 PM","end_time":"11:00 PM","instructions":"Extra-person charges may apply and vary depending on hotel policy. <br />Government-issued photo identification and a credit card or cash deposit are required at check-in for incidental charges. <br />Special requests are subject to availability upon check-in and may incur additional charges. Special requests cannot be guaranteed. <br />","special_instructions":"There is no front desk at this property. To make arrangements for check-in please contact the property ahead of time using the information on the booking confirmation.","min_age":18},"checkout":{"time":"11:00 AM"},"fees":{"mandatory":"You'll be asked to pay the following charges at the hotel:
- Deposit: USD 50 per day
- Resort fee: USD 29.12 per accommodation, per night
The hotel resort fee includes:- Fitness center access
- Internet access
- Phone calls
- Additional inclusions
We have included all charges provided to us by the property. However, charges can vary, for example, based on length of stay or the room you book.
","optional":"Fee for in-room wireless Internet: USD 15 per hour (rates may vary) Airport shuttle fee: USD 350 per vehicle (one way) Rollaway bed fee: USD 175 per night"},"policies":{"know_before_you_go":"Reservations are required for massage services and spa treatments. Reservations can be made by contacting the hotel prior to arrival, using the contact information on the booking confirmation. Children 11 years old and younger stay free when occupying the parent or guardian's room, using existing bedding. Only registered guests are allowed in the guestrooms. Some facilities may have restricted access. Guests can contact the property for details using the contact information on the booking confirmation. "},"attributes":{"general":{"2549":{"id":"2549","name":"No elevators"},"3357":{"id":"3357","name":"Caters to adults only"}},"pets":{"51":{"id":"51","name":"Pets allowed"},"2809":{"id":"2809","name":"Dogs only"},"3321":{"id":"3321","name":"Pet maximum weight in kg is - 24","value":24}}},"amenities":{"9":{"id":"9","name":"Fitness facilities"},"2820":{"id":"2820","name":"Number of indoor pools - 10","value":10}},"images":[{"caption":"Featured Image","hero_image":true,"category":3,"links":{"70px":{"method":"GET","href":"https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg"}}}],"onsite_payments":{"currency":"USD","types":{"171":{"id":"171","name":"American Express"}}},"rooms":{"224829":{"id":"224829","name":"Single Room","descriptions":{"overview":"2 Twin Beds
269-sq-foot (25-sq-meter) room with mountain views
Internet - Free WiFi
Entertainment - Flat-screen TV with cable channels
Food & Drink - Refrigerator, coffee/tea maker, room service, and free bottled water
Sleep - Premium bedding
Bathroom - Private bathroom, shower, bathrobes, and free toiletries
Practical - Safe and desk; cribs/infant beds available on request
Comfort - Climate-controlled air conditioning and daily housekeeping
Non-Smoking
"},"amenities":{"130":{"id":"130","name":"Refrigerator"},"1234":{"id":"1234","name":"Test Amenity - 200","value":"200"}},"images":[{"hero_image":true,"category":21001,"links":{"70px":{"method":"GET","href":"https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg"}},"caption":"Guestroom"}],"bed_groups":{"37321":{"id":"37321","description":"1 King Bed","configuration":[{"type":"KingBed","size":"King","quantity":1}]}},"area":{"square_meters":20,"square_feet":215},"views":{"4146":{"id":"4146","name":"Courtyard view"}},"occupancy":{"max_allowed":{"total":5,"children":2,"adults":4},"age_categories":{"Adult":{"name":"Adult","minimum_age":9}}}}},"rates":{"333abc":{"id":"333abc","amenities":{"1234":{"id":"1234","name":"Test Amenity - 200","value":"200"},"2104":{"id":"2104","name":"Full Breakfast"}},"special_offer_description":"Breakfast for 2 - Rate includes the following:\r\n- Accommodations as selected
\r\n- Breakfast in hotel restaurant for up to 2 adults and children 12 years old and under registered in the same room
\r\n
Must book this rate plan to receive benefits. Details provided at check-in. Taxes and gratuity may not be included. No refunds for any unused portion of offer. Offer subject to availability. Offer is not valid with groups/conventions and may not be combined with other promotional offers. Other restrictions and blackout dates may apply.\r\n"}},"dates":{"added":"1998-07-19T05:00:00.000Z","updated":"2018-03-22T07:23:14.000Z"},"descriptions":{"amenities":"Don't miss out on the many recreational opportunities, including an outdoor pool, a sauna, and a fitness center. Additional features at this hotel include complimentary wireless Internet access, concierge services, and an arcade/game room.","dining":"Grab a bite at one of the hotel's 3 restaurants, or stay in and take advantage of 24-hour room service. Quench your thirst with your favorite drink at a bar/lounge. Buffet breakfasts are available daily for a fee.","renovations":"During renovations, the hotel will make every effort to minimize noise and disturbance. The property will be renovating from 08 May 2017 to 18 May 2017 (completion date subject to change). The following areas are affected: ","national_ratings":"For the benefit of our customers, we have provided a rating based on our rating system.","business_amenities":"Featured amenities include complimentary wired Internet access, a 24-hour business center, and limo/town car service. Event facilities at this hotel consist of a conference center and meeting rooms. Free self parking is available onsite.","rooms":"Make yourself at home in one of the 334 air-conditioned rooms featuring LCD televisions. Complimentary wired and wireless Internet access keeps you connected, and satellite programming provides entertainment. Private bathrooms with separate bathtubs and showers feature deep soaking bathtubs and complimentary toiletries. Conveniences include phones, as well as safes and desks.","attractions":"Distances are calculated in a straight line from the property's location to the point of interest or attraction, and may not reflect actual travel distance.
Distances are displayed to the nearest 0.1 mile and kilometer. Sogo Department Store - 0.7 km / 0.4 mi
National Museum of Natural Science - 1.1 km / 0.7 mi
Shr-Hwa International Tower - 1.4 km / 0.8 mi
Shinkong Mitsukoshi Department Store - 1.5 km / 0.9 mi
Taichung Metropolitan Opera House - 1.7 km / 1 mi
Tiger City Mall - 1.8 km / 1.1 mi
Maple Garden Park - 1.9 km / 1.2 mi
National Museum of Fine Arts - 2.1 km / 1.3 mi
Feng Chia University - 2.4 km / 1.5 mi
Bao An Temple - 2.5 km / 1.6 mi
Fengjia Night Market - 2.5 km / 1.6 mi
Zhonghua Night Market - 2.7 km / 1.7 mi
Chonglun Park - 2.9 km / 1.8 mi
Wan He Temple - 2.9 km / 1.8 mi
Chungyo Department Store - 3.1 km / 1.9 mi
The nearest airports are:
Taichung (RMQ) - 12 km / 7.5 mi
Taipei (TPE-Taoyuan Intl.) - 118.3 km / 73.5 mi
Taipei (TSA-Songshan) - 135.5 km / 84.2 mi
","location":"This 4-star hotel is within close proximity of Shr-Hwa International Tower and Shinkong Mitsukoshi Department Store. A stay at Tempus Hotel Taichung places you in the heart of Taichung, convenient to Sogo Department Store and National Museum of Natural Science.","headline":"Near National Museum of Natural Science","general":"General description"},"statistics":{"52":{"id":"52","name":"Total number of rooms - 820","value":"820"},"54":{"id":"54","name":"Number of floors - 38","value":"38"}},"airports":{"preferred":{"iata_airport_code":"SGF"}},"themes":{"2337":{"id":"2337","name":"Luxury Hotel"},"2341":{"id":"2341","name":"Spa Hotel"}},"all_inclusive":{"all_rate_plans":true,"some_rate_plans":false,"details":"This resort is all-inclusive. Onsite food and beverages are included in the room price (some restrictions may apply).
Activities and facilities/equipment
Land activities
Lessons/classes/games Entertainment
- Onsite entertainment and activities
- Onsite live performances
"},"tax_id":"AB-012-987-1234-01","chain":{"id":"-6","name":"Hyatt Hotels"},"brand":{"id":"2209","name":"Hyatt Place"},"spoken_languages":{"vi":{"id":"vi","name":"Vietnamese"}},"multi_unit":true,"payment_registration_recommended":false,"vacation_rental_details": {"registry_number": "Property Registration Number 123456","private_host": "true","property_manager": {"name": "Victor","links": {"image": {"method": "GET","href": "https://test-image/test/test/836f1097-fbcf-43b5-bc02-c8ff6658cb90.c1.jpg"}}},"rental_agreement": {"links": {"rental_agreement": {"method": "GET","href": "https://test-link.test.amazonaws.com/rentalconditions_property_d65e7eb5-4a7c-4a80-a8a3-171999f9f444.pdf"}}},"house_rules": ["Children welcome","No pets","No smoking","No parties or events"],"amenities": {"4296": {"id": "4296","name": "Furnished balcony or patio"},"2859": {"id": "2859","name": "Private pool"}},"vrbo_srp_id": "123.1234567.5678910","listing_id": "1234567","listing_number": "5678910","listing_source": "HOMEAWAY_US","listing_unit": "/units/0000/32d82dfa-1a48-45d6-9132-49fdbf1bfc60"},"supply_source":"vrbo"}
{"property_id":"67890","name":"Test Property Name 2","address":{"line_1":"123 Main St","line_2":"Apt A","city":"Springfield","state_province_code":"MO","state_province_name":"Missouri","postal_code":"65804","country_code":"US","obfuscation_required":true,"localized":{"links":{"es-ES":{"method":"GET","href":"https://api.ean.com/v3/properties/content?language=es-ES&include=address&property_id=67890"},"de-DE":{"method":"GET","href":"https://api.ean.com/v3/properties/content?language=de-DE&include=address&property_id=67890"}}}},"ratings":{"property":{"rating":"3.5","type":"Star"},"guest":{"count":7651,"overall":"4.3","cleanliness":"4.2","service":"1.1","comfort":"4.3","condition":"1.6","location":"4.0","neighborhood":"3.4","quality":"3.4","value":"2.2","amenities":"1.4","recommendation_percent":"80%"}},"location":{"coordinates":{"latitude":37.15845,"longitude":-93.26838},"obfuscated_coordinates":{"latitude":28.339303,"longitude":-81.47791},"obfuscation_required":true},"phone":"1-417-862-0153","fax":"1-417-863-7249","category":{"id":"1","name":"Hotel"},"rank":42,"business_model":{"expedia_collect":true,"property_collect":true},"checkin":{"24_hour":"24-hour check-in","begin_time":"3:00 PM","end_time":"11:00 PM","instructions":"Extra-person charges may apply and vary depending on hotel policy. <br />Government-issued photo identification and a credit card or cash deposit are required at check-in for incidental charges. <br />Special requests are subject to availability upon check-in and may incur additional charges. Special requests cannot be guaranteed. <br />","special_instructions":"There is no front desk at this property. To make arrangements for check-in please contact the property ahead of time using the information on the booking confirmation.","min_age":18},"checkout":{"time":"11:00 AM"},"fees":{"mandatory":"You'll be asked to pay the following charges at the hotel:
- Deposit: USD 50 per day
- Resort fee: USD 29.12 per accommodation, per night
The hotel resort fee includes:- Fitness center access
- Internet access
- Phone calls
- Additional inclusions
We have included all charges provided to us by the property. However, charges can vary, for example, based on length of stay or the room you book.
","optional":"Fee for in-room wireless Internet: USD 15 per hour (rates may vary) Airport shuttle fee: USD 350 per vehicle (one way) Rollaway bed fee: USD 175 per night"},"policies":{"know_before_you_go":"Reservations are required for massage services and spa treatments. Reservations can be made by contacting the hotel prior to arrival, using the contact information on the booking confirmation. Children 11 years old and younger stay free when occupying the parent or guardian's room, using existing bedding. Only registered guests are allowed in the guestrooms. Some facilities may have restricted access. Guests can contact the property for details using the contact information on the booking confirmation. "},"attributes":{"general":{"2549":{"id":"2549","name":"No elevators"},"3357":{"id":"3357","name":"Caters to adults only"}},"pets":{"51":{"id":"51","name":"Pets allowed"},"2809":{"id":"2809","name":"Dogs only"},"3321":{"id":"3321","name":"Pet maximum weight in kg is - 24","value":24}}},"amenities":{"9":{"id":"9","name":"Fitness facilities"},"2820":{"id":"2820","name":"Number of indoor pools - 10","value":10}},"images":[{"caption":"Featured Image","hero_image":true,"category":3,"links":{"70px":{"method":"GET","href":"https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg"}}}],"onsite_payments":{"currency":"USD","types":{"171":{"id":"171","name":"American Express"}}},"rooms":{"224829":{"id":"224829","name":"Single Room","descriptions":{"overview":"2 Twin Beds
269-sq-foot (25-sq-meter) room with mountain views
Internet - Free WiFi
Entertainment - Flat-screen TV with cable channels
Food & Drink - Refrigerator, coffee/tea maker, room service, and free bottled water
Sleep - Premium bedding
Bathroom - Private bathroom, shower, bathrobes, and free toiletries
Practical - Safe and desk; cribs/infant beds available on request
Comfort - Climate-controlled air conditioning and daily housekeeping
Non-Smoking
"},"amenities":{"130":{"id":"130","name":"Refrigerator"},"1234":{"id":"1234","name":"Test Amenity - 200","value":"200"}},"images":[{"hero_image":true,"category":21001,"links":{"70px":{"method":"GET","href":"https://i.travelapi.com/hotels/1000000/20000/15300/15237/bef1b976_t.jpg"}},"caption":"Guestroom"}],"bed_groups":{"37321":{"id":"37321","description":"1 King Bed","configuration":[{"type":"KingBed","size":"King","quantity":1}]}},"area":{"square_meters":17},"views":{"4134":{"id":"4134","name":"City view"}},"occupancy":{"max_allowed":{"total":3,"children":2,"adults":3},"age_categories":{"ChildAgeA":{"name":"ChildAgeA","minimum_age":3}}}}},"rates":{"333abc":{"id":"333abc","amenities":{"1234":{"id":"1234","name":"Test Amenity - 200","value":"200"},"2104":{"id":"2104","name":"Full Breakfast"}},"special_offer_description":"Breakfast for 2 - Rate includes the following:\r\n- Accommodations as selected
\r\n- Breakfast in hotel restaurant for up to 2 adults and children 12 years old and under registered in the same room
\r\n
Must book this rate plan to receive benefits. Details provided at check-in. Taxes and gratuity may not be included. No refunds for any unused portion of offer. Offer subject to availability. Offer is not valid with groups/conventions and may not be combined with other promotional offers. Other restrictions and blackout dates may apply.\r\n"}},"dates":{"added":"1998-07-20T05:00:00.000Z","updated":"2018-03-22T13:33:17.000Z"},"descriptions":{"amenities":"Don't miss out on the many recreational opportunities, including an outdoor pool, a sauna, and a fitness center. Additional features at this hotel include complimentary wireless Internet access, concierge services, and an arcade/game room.","dining":"Grab a bite at one of the hotel's 3 restaurants, or stay in and take advantage of 24-hour room service. Quench your thirst with your favorite drink at a bar/lounge. Buffet breakfasts are available daily for a fee.","renovations":"During renovations, the hotel will make every effort to minimize noise and disturbance. The property will be renovating from 08 May 2017 to 18 May 2017 (completion date subject to change). The following areas are affected: ","national_ratings":"For the benefit of our customers, we have provided a rating based on our rating system.","business_amenities":"Featured amenities include complimentary wired Internet access, a 24-hour business center, and limo/town car service. Event facilities at this hotel consist of a conference center and meeting rooms. Free self parking is available onsite.","rooms":"Make yourself at home in one of the 334 air-conditioned rooms featuring LCD televisions. Complimentary wired and wireless Internet access keeps you connected, and satellite programming provides entertainment. Private bathrooms with separate bathtubs and showers feature deep soaking bathtubs and complimentary toiletries. Conveniences include phones, as well as safes and desks.","attractions":"Distances are calculated in a straight line from the property's location to the point of interest or attraction, and may not reflect actual travel distance.
Distances are displayed to the nearest 0.1 mile and kilometer. Sogo Department Store - 0.7 km / 0.4 mi
National Museum of Natural Science - 1.1 km / 0.7 mi
Shr-Hwa International Tower - 1.4 km / 0.8 mi
Shinkong Mitsukoshi Department Store - 1.5 km / 0.9 mi
Taichung Metropolitan Opera House - 1.7 km / 1 mi
Tiger City Mall - 1.8 km / 1.1 mi
Maple Garden Park - 1.9 km / 1.2 mi
National Museum of Fine Arts - 2.1 km / 1.3 mi
Feng Chia University - 2.4 km / 1.5 mi
Bao An Temple - 2.5 km / 1.6 mi
Fengjia Night Market - 2.5 km / 1.6 mi
Zhonghua Night Market - 2.7 km / 1.7 mi
Chonglun Park - 2.9 km / 1.8 mi
Wan He Temple - 2.9 km / 1.8 mi
Chungyo Department Store - 3.1 km / 1.9 mi
The nearest airports are:
Taichung (RMQ) - 12 km / 7.5 mi
Taipei (TPE-Taoyuan Intl.) - 118.3 km / 73.5 mi
Taipei (TSA-Songshan) - 135.5 km / 84.2 mi
","location":"This 4-star hotel is within close proximity of Shr-Hwa International Tower and Shinkong Mitsukoshi Department Store. A stay at Tempus Hotel Taichung places you in the heart of Taichung, convenient to Sogo Department Store and National Museum of Natural Science.","headline":"Near National Museum of Natural Science","general":"General description"},"statistics":{"52":{"id":"52","name":"Total number of rooms - 820","value":"820"},"54":{"id":"54","name":"Number of floors - 38","value":"38"}},"airports":{"preferred":{"iata_airport_code":"SGF"}},"themes":{"2337":{"id":"2337","name":"Luxury Hotel"},"2341":{"id":"2341","name":"Spa Hotel"}},"all_inclusive":{"all_rate_plans":true,"some_rate_plans":false,"details":"This resort is all-inclusive. Onsite food and beverages are included in the room price (some restrictions may apply).
Activities and facilities/equipment
Land activities
Lessons/classes/games Entertainment
- Onsite entertainment and activities
- Onsite live performances
"},"tax_id":"CD-012-987-1234-02","chain":{"id":"-5","name":"Hilton Worldwide"},"brand":{"id":"358","name":"Hampton Inn"},"spoken_languages":{"en":{"id":"en","name":"English"}},"multi_unit":true,"payment_registration_recommended":true,"vacation_rental_details":{"registry_number":"Property Registration Number 123456","private_host":"true","property_manager":{"name":"John Smith","links":{"image":{"method":"GET","href":"https://example.com/profile.jpg"}}},"rental_agreement":{"links":{"rental_agreement":{"method":"GET","href":"https:/example.com/rentalconditions.pdf"}}},"house_rules":["Children welcome","No pets","No smoking","No parties or events"],"amenities":{"2859":{"id":"2859","name":"Private pool"},"4296":{"id":"4296","name":"Furnished balcony or patio"}},"vrbo_srp_id":"123.1234567.5678910","listing_id":"1234567","listing_number":"5678910","listing_source":"HOMEAWAY_US","listing_unit":"/units/0000/32d82dfa-1a48-45d6-9132-49fdbf1bfc60"},"supply_source":"vrbo"}
```
operationId: getPropertyContentFile
parameters:
- name: Accept
in: header
description: |
Specifies the response format that the client would like to receive back. This must be `application/json`.
required: true
schema:
type: string
example: application/json
- name: Accept-Encoding
in: header
description: |
Specifies the response encoding that the client would like to receive back. This must be `gzip`.
required: true
schema:
type: string
example: gzip
- name: Customer-Session-Id
in: header
description: |
Insert your own unique value for each user session, beginning with the first API call.
Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session.
Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session.
schema:
type: string
- name: User-Agent
in: header
description: |
The `User-Agent` header string from the customer's request, as captured by your integration. If you are building an application then the `User-Agent` value should be `{app name}/{app version}`.
required: true
schema:
type: string
example: TravelNow/3.30.112
- name: language
in: query
description: |
Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes. See [https://www.w3.org/International/articles/language-tags/](https://www.w3.org/International/articles/language-tags/)
Language Options: [https://developers.expediagroup.com/docs/rapid/resources/reference/language-options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
required: true
schema:
type: string
example: language=en-US
- name: supply_source
in: query
description: |
Options for which supply source you would like returned in the content response. This parameter may only be supplied once and will return all properties that match the requested supply source. An error is thrown if the parameter is provided multiple times.
* `expedia` - Standard Expedia supply.
* `vrbo` - VRBO supply - This option is restricted to partners who have VRBO supply enabled for their profile. See [Vacation Rentals](https://developers.expediagroup.com/docs/rapid/lodging/vacation-rentals) for more information.
required: true
schema:
type: string
example: vrbo
- name: billing_terms
in: query
description: |
This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately.
schema:
type: string
- name: payment_terms
in: query
description: |
This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately.
schema:
type: string
- name: partner_point_of_sale
in: query
description: |
This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
schema:
type: string
- name: platform_name
in: query
description: |
This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
schema:
type: string
responses:
"200":
description: OK
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Link'
example:
method: GET
href: https://example.com/propertycontent.jsonl.gz?amz-security-token=FQoDYXdzEPL%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaDD%2FiIFt2RCrdJKrkKSK3A2ncL3qC6SsXLyC3XxgRBGKykCfsfF40Jm8ud6ht6C1LB3q9X0maQCHyXV5gSl9g9hrHtOiC5fnihUQBASMAbOsepEKCfS%2B%2FWDrKAr5lTR%2FptslJxQs6v5GTO7G3R6PYIKFG%2FFgQydd8bEB2njMjynyvgXNgEPsb%2FVuiDC1K%2BMhvoRAguXo4QHQgOVVRXXmbl87j0Ih6s5ffI3yfIvEBnmEfdLdd2E5yPHuIO%2FOItXYxEc0vgipvlT41PylYtS8rhgc3MKqJO4Uw7yNPMlbphdxy6TJzQRJW15o9TaHrFBBYvWrtfcMewOlLYu6N6R1EGQhT9Ayok9J2oKzFJ%2FSbMNmVUsHReM7v1chuY7XNGld9bKeu0xFjDth%2BcEHrjkqhyxBc2pBINvk8LT9uPOCykqbuc2OWlCpNtQyahPnxpdPMW4WEbIFaWUNHWj0ui507CN2useZBYfGIST94KEtJFlpZRB0ntz%2BxmWRSnPYG3K47meFS9cthMsYH1rxIdDei2W49TQbjnVIXY2RldvO2JaTKtYPJT85ds9W71R0s4t9LSgY%2BZ9kaLjF%2BLk7PGKIhBbLowqKRBBUozOf2zAU%3D&AWSAccessKeyId=ASIAIZYRJJGNLGQGVLDA&Expires=1503512048&Signature=p7V%2BTN6rZMiVaz6MxqU%2F4YHYkw8%3D
expires: '2019-03-05T07:23:14.000Z'
"400":
description: Invalid Input
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: invalid_input
message: "An invalid request was sent in, please check the nested errors for details."
errors:
- type: language.required
message: "A language is required. Supported languages are: [ar-SA, cs-CZ, da-DK, de-DE, el-GR, en-US, es-ES, es-MX, fi-FI, fr-CA, fr-FR, hr-HR, hu-HU, id-ID, is-IS, it-IT, ja-JP, lt-LT, ko-KR, ms-MY, nb-NO, nl-NL, pl-PL, pt-BR, pt-PT, ru-RU, sk-SK, sv-SE, th-TH, tr-TR, uk-UA, vi-VN, zh-CN, zh-TW]"
fields:
- name: language
type: querystring
- type: language.above_maximum
message: The number of languages passed in must not be greater than 1.
fields:
- name: language
type: querystring
- type: language.not_supported
message: "Language is not supported. Supported languages are: [ar-SA, cs-CZ, da-DK, de-DE, el-GR, en-US, es-ES, es-MX, fi-FI, fr-CA, fr-FR, hr-HR, hu-HU, id-ID, is-IS, it-IT, ja-JP, lt-LT, ko-KR, ms-MY, nb-NO, nl-NL, pl-PL, pt-BR, pt-PT, ru-RU, sk-SK, sv-SE, th-TH, tr-TR, uk-UA, vi-VN, zh-CN, zh-TW]"
fields:
- name: language
type: querystring
value: xXX
"401":
description: Unauthorized
headers:
Region:
$ref: '#/components/headers/Region'
WWW-Authenticate:
description: Provides an example of the Authorization header.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: request_unauthenticated
message: Data required to authenticate your request is missing or inaccurate. Ensure that your request follows the guidelines in our documentation.
fields:
- name: apikey
type: header
value: jaj3982k239dka328e
- name: signature
type: header
value: 129d75332614a5bdbe0c7eb540e95a65f9d85a5b53dabb38d19b37fad6312a2bd25c12ee5a82831d55112087e1b
- name: timestamp
type: header
value: 198284729
- name: servertimestamp
type: server
value: 198284729
"403":
description: Forbidden
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: request_unauthorized
message: Your request could not be authorized.
"404":
description: Not Found
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: file.not_found
message: The requested file could not be found.
fields:
- name: filename
type: path
value: file.jsonl.gz
"426":
description: Upgrade Required
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: upgrade_required
message: This service requires the use of TLS.
"429":
description: Too Many Requests
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: too_many_requests
message: You have reached your capacity for this type of request.
"500":
description: Unknown Internal Error
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: unknown_internal_error
message: An internal server error has occurred.
"503":
description: Service Unavailable
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: service_unavailable
message: This service is currently unavailable.
security:
- rapidAuth: []
/regions:
get:
tags:
- Geography
summary: Expedia Group Regions
description: |
Returns the geographic definition and property mappings of regions matching the specified parameters.
To request all regions in the world, omit the `ancestor` query parameter. To request all regions in a specific
continent, country or other level, specify the ID of that region as the `ancestor`. Refer to the list of
[top level regions](https://developers.expediagroup.com/docs/rapid/lodging/geography/geography-reference-lists).
The response is a paginated list of regions. See the `Link` header in the 200 response section.
operationId: getRegions
parameters:
- name: Accept
in: header
description: |
Specifies the response format that the client would like to receive back. This must be `application/json`.
required: true
schema:
type: string
example: application/json
- name: Accept-Encoding
in: header
description: |
Specifies the response encoding that the client would like to receive back. This must be `gzip`.
required: true
schema:
type: string
example: gzip
- name: User-Agent
in: header
description: |
The `User-Agent` header string from the customer's request, as captured by your integration. If you are building an application then the `User-Agent` value should be `{app name}/{app version}`.
required: true
schema:
type: string
example: TravelNow/3.30.112
- name: Customer-Session-Id
in: header
description: |
Insert your own unique value for each user session, beginning with the first API call.
Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session.
Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session.
schema:
type: string
- name: include
in: query
description: |
Options for which content to return in the response. This parameter can be supplied multiple times with different values. The standard and details options cannot be requested together. The value must be lower case.
* standard - Include the metadata and basic hierarchy of each region.
* details - Include the metadata, coordinates and full hierarchy of each region.
* property_ids - Include the list of property IDs within the bounding polygon of each region.
* property_ids_expanded - Include the list of property IDs within the bounding polygon of each region and property IDs from the surrounding area if minimal properties are within the region.
required: true
schema:
type: array
items:
type: string
enum:
- standard
- details
- property_ids
- property_ids_expanded
example:
- details
- name: language
in: query
description: |
Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes. See [https://www.w3.org/International/articles/language-tags/](https://www.w3.org/International/articles/language-tags/)
Language Options: [https://developers.expediagroup.com/docs/rapid/resources/reference/language-options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
required: true
schema:
type: string
example: en-US
- name: ancestor_id
in: query
description: |
Search for regions whose ancestors include the requested ancestor region ID. Refer to the list of [top level regions](https://developers.expediagroup.com/docs/rapid/lodging/geography/geography-reference-lists).
schema:
type: string
example: 602962
- name: area
in: query
description: |
Filter the results to regions that intersect with a specified area.
The area may be defined in one of two ways:
* radius,region_id
* radius,latitude,longitude
Radius combined with region id would search an area that extends the number of kilometers out from the boundaries of the region in all directions.
Radius combined with a single point, specified by a latitude, longitude pair would search an area in a circle with the specified radius and the point as the center.
Radius should be specified in non-negative whole kilometers, decimals will return an error. A radius of 0 is allowed.
When specifying the area parameter, there will be a limit of 100 results, which can be narrowed further by the limit parameter.
Due to the number of results, unless `point_of_interest` is specified as the only type, regions of type `point_of_interest`
will not be included in a request that filters to an area.
An example use case would be searching for the closest 3 airports within 50 kilometers of a specified point.
`&type=airport&limit=3&area=50,37.227924,-93.310036`
schema:
type: string
example: "3,602962"
- name: country_code
in: query
description: |
Filter the results to a specified ISO 3166-1 alpha-2 country code.
For more information see: [https://www.iso.org/obp/ui/#search/code/](https://www.iso.org/obp/ui/#search/code/)
schema:
type: array
items:
type: string
example:
- US
- name: country_subdivision_code
in: query
description: Filter the results down to only the ISO 3166-2 country subdivision.
schema:
type: array
items:
type: string
example:
- US-MO
- name: iata_location_code
in: query
description: |
Search for regions by the requested 3-character IATA location code, which will apply to both iata_airport_code and iata_airport_metro_code. The code must be upper case.
schema:
type: string
example: SGF
- name: limit
in: query
description: |
Limit the number of results returned.
Using the area parameter will impose a max value of 100 for this whether specified or not.
schema:
type: number
- name: supply_source
in: query
description: |
Options for which supply source you would like returned in the geography response. This parameter may only be supplied once and will return all properties that match the requested supply source. An error is thrown if the parameter is provided multiple times.
* `expedia` - Standard Expedia supply.
* `vrbo` - VRBO supply - This option is restricted to partners who have VRBO supply enabled for their profile. See [Vacation Rentals](https://developers.expediagroup.com/docs/rapid/lodging/vacation-rentals) for more information.
schema:
type: string
example: vrbo
- name: type
in: query
description: |
Filter the results to a specified region type.
schema:
type: array
items:
type: string
- name: billing_terms
in: query
description: |
This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately.
schema:
type: string
- name: partner_point_of_sale
in: query
description: |
This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
schema:
type: string
- name: payment_terms
in: query
description: |
This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately.
schema:
type: string
- name: platform_name
in: query
description: |
This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
schema:
type: string
responses:
"200":
description: OK
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
Link:
description: |
Contains a single link to get the immediate next page of results, and follows the
[IETF standard](https://tools.ietf.org/html/rfc5988). To get the next page of results, simply follow
the `next` URL in this header without modifying it. This header will be missing when there are no
further pages. If the link expires, there will be an `expires` link-extension that is the UTC date the
link will expire, in ISO 8601 format.
schema:
type: string
example: ; rel="next"; expires=2023-06-29T20:15:05.324083439Z
Pagination-Total-Results:
description: Header that returns the pagination total results.
schema:
type: string
example: "2801"
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Region'
examples:
Regions:
value:
- id: "602962"
type: multi_city_vicinity
name: Springfield
name_full: "Springfield, Missouri, United States of America"
descriptor: and vicinity
country_code: US
country_subdivision_code: US-MO
coordinates:
center_longitude: -93.310036
center_latitude: 37.227924
bounding_polygon:
type: Polygon
coordinates:
- - - -93.446782
- 37.169329
- - -93.4244
- 37.169432
- - -93.371097
- 37.168636
- - -93.376295
- 37.139236
- - -93.361419
- 37.138634
- - -93.347109
- 37.100601
- - -93.215792
- 37.095905
- - -93.215259
- 37.138013
- - -93.189332
- 37.141503
- - -93.191278
- 37.333322
- - -93.438268
- 37.339372
- - -93.446782
- 37.169329
ancestors:
- id: "227"
type: province_state
- id: "201"
type: country
- id: "500001"
type: continent
descendants:
point_of_interest:
- "6064841"
- "6064853"
- id: "6064841"
type: point_of_interest
name: American National Fish and Wildlife Museum
name_full: "American National Fish and Wildlife Museum, Springfield, Missouri, United States of America"
country_code: US
country_subdivision_code: US-MO
coordinates:
center_longitude: -93.29635
center_latitude: 37.1826
ancestors:
- id: "602962"
type: multi_city_vicinity
- id: "227"
type: province_state
- id: "201"
type: country
- id: "500001"
type: continent
- id: "4605779"
type: airport
name: "Springfield, MO (SGF-Springfield-Branson National)"
name_full: "Springfield, MO, United States (SGF-Springfield-Branson National)"
iata_airport_code: SGF
country_code: US
country_subdivision_code: US-MO
coordinates:
center_longitude: -93.382095
center_latitude: 37.24233
associations:
multi_city_vicinity:
- "6058734"
ancestors:
- id: "602962"
type: multi_city_vicinity
- id: "227"
type: province_state
- id: "201"
type: country
- id: "500001"
type: continent
No regions:
value: []
"400":
description: Bad Request
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: invalid_input
message: "An invalid request was sent in, please check the nested errors for details."
errors:
- type: include.invalid
message: "Include is invalid. Accepted include values are: [details, property_ids, property_ids_expanded, standard]"
fields:
- name: include
type: querystring
value: STANDARD
"401":
description: Unauthorized
headers:
Region:
$ref: '#/components/headers/Region'
WWW-Authenticate:
description: Provides an example of the Authorization header.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: request_unauthenticated
message: Data required to authenticate your request is missing or inaccurate. Ensure that your request follows the guidelines in our documentation.
fields:
- name: apikey
type: header
value: jaj3982k239dka328e
- name: signature
type: header
value: 129d75332614a5bdbe0c7eb540e95a65f9d85a5b53dabb38d19b37fad6312a2bd25c12ee5a82831d55112087e1b
- name: timestamp
type: header
value: 198284729
- name: servertimestamp
type: server
value: 198284729
"403":
description: Forbidden
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: request_unauthorized
message: Your request could not be authorized.
"410":
description: Gone
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: link.expired
message: The link that you followed has expired and this paginated session is now gone. Please restart the regions call from the beginning.
"426":
description: Upgrade Required
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: upgrade_required
message: This service requires the use of TLS.
"429":
description: Too Many Requests
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: too_many_requests
message: You have reached your capacity for this type of request.
"500":
description: Internal Error
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: internal_error
message: An internal server error has occurred. Please discard any previously received results in this pagination and restart the pagination from the beginning.
"503":
description: Service Unavailable
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: service_unavailable
message: This service is currently unavailable.
security:
- rapidAuth: []
/regions/{region_id}:
get:
tags:
- Geography
summary: Expedia Group Region
description: |
Returns the geographic definition and property mappings for the requested Region ID. The response is a single JSON formatted region object.
operationId: getRegion
parameters:
- name: Accept
in: header
description: |
Specifies the response format that the client would like to receive back. This must be `application/json`.
required: true
schema:
type: string
example: application/json
- name: Accept-Encoding
in: header
description: |
Specifies the response encoding that the client would like to receive back. This must be `gzip`.
required: true
schema:
type: string
example: gzip
- name: Customer-Session-Id
in: header
description: |
Insert your own unique value for each user session, beginning with the first API call.
Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session.
Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session.
schema:
type: string
- name: User-Agent
in: header
description: |
The `User-Agent` header string from the customer's request, as captured by your integration. If you are building an application then the `User-Agent` value should be `{app name}/{app version}`.
required: true
schema:
type: string
example: TravelNow/3.30.112
- name: region_id
in: path
description: |
ID of the region to retrieve.
required: true
schema:
type: string
example: 178248
- name: language
in: query
description: |
Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes. See [https://www.w3.org/International/articles/language-tags/](https://www.w3.org/International/articles/language-tags/)
Language Options: [https://developers.expediagroup.com/docs/rapid/resources/reference/language-options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
required: true
schema:
type: string
example: en-US
- name: include
in: query
description: |
Options for which content to return in the response. This parameter can be supplied multiple times with different values. The value must be lower case.
* details - Include the metadata, coordinates and full hierarchy of the region.
* property_ids - Include the list of property IDs within the bounding polygon of the region.
* property_ids_expanded - Include the list of property IDs within the bounding polygon of the region and property IDs from the surrounding area if minimal properties are within the region.
required: true
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- details
- property_ids
- property_ids_expanded
example:
- details
- name: billing_terms
in: query
description: |
This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately.
schema:
type: string
- name: partner_point_of_sale
in: query
description: |
This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
schema:
type: string
- name: payment_terms
in: query
description: |
This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately.
schema:
type: string
- name: platform_name
in: query
description: |
This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
schema:
type: string
- name: supply_source
in: query
description: |
Options for which supply source you would like returned in the geography response. This parameter may only be supplied once and will return all properties that match the requested supply source. An error is thrown if the parameter is provided multiple times.
* `expedia` - Standard Expedia supply.
* `vrbo` - VRBO supply - This option is restricted to partners who have VRBO supply enabled for their profile. See [Vacation Rentals](https://developers.expediagroup.com/docs/rapid/lodging/vacation-rentals) for more information.
schema:
type: string
example: vrbo
responses:
"200":
description: OK
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
Pagination-Total-Results:
description: Header that returns the pagination total results.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/Region'
examples:
Multi-City Vicinity:
value:
id: "178309"
type: multi_city_vicinity
name: Chicago
name_full: "Chicago, Illinois, United States of America"
descriptor: and vicinity
country_code: US
country_subdivision_code: US-IL
coordinates:
center_longitude: -87.62813
center_latitude: 41.88078
bounding_polygon:
type: MultiPolygon
coordinates:
- - - - -90.859069
- 38.503453
- - -90.853202
- 38.508207
- - -90.81246
- 38.493525
- - -90.845915
- 38.481057
- - -90.857717
- 38.48231
- - -90.859069
- 38.503453
- - - - -90.907324
- 38.796858
- - -90.895084
- 38.852815
- - -90.793246
- 38.824804
- - -90.800455
- 38.809497
- - -90.905098
- 38.77501
- - -90.907324
- 38.796858
- - - - -90.160125
- 38.456535
- - -90.153095
- 38.455189
- - -90.153836
- 38.465606
- - -90.149344
- 38.465929
- - -90.149547
- 38.47438
- - -90.153305
- 38.474261
- - -90.160125
- 38.456535
ancestors:
- id: "215"
type: province_state
- id: "201"
type: country
- id: "500001"
type: continent
descendants:
high_level_region:
- "6330730"
city:
- "10014"
- "9975"
property_ids:
- "37242"
- "859343"
property_ids_expanded:
- "37242"
- "859343"
- "48972"
Airport:
value:
id: "4477519"
type: airport
name: "Chicago, IL (ORD-O'Hare Intl.)"
name_full: "Chicago, IL, United States (ORD-O'Hare Intl.)"
iata_airport_code: ORD
iata_airport_metro_code: CHI
country_code: US
country_subdivision_code: US-IL
coordinates:
center_longitude: -87.904785
center_latitude: 41.97693
associations:
multi_city_vicinity:
- "178248"
ancestors:
- id: "178309"
type: province_state
- id: "215"
type: province_state
- id: "201"
type: country
- id: "500001"
type: continent
"400":
description: Bad Request
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: invalid_input
message: "An invalid request was sent in, please check the nested errors for details."
errors:
- type: include.invalid
message: "Include is invalid. Accepted include values are: [details, property_ids, property_ids_expanded]"
fields:
- name: include
type: querystring
value: DETAILS
"401":
description: Unauthorized
headers:
Region:
$ref: '#/components/headers/Region'
WWW-Authenticate:
description: Provides an example of the Authorization header.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: request_unauthenticated
message: Data required to authenticate your request is missing or inaccurate. Ensure that your request follows the guidelines in our documentation.
fields:
- name: apikey
type: header
value: jaj3982k239dka328e
- name: signature
type: header
value: 129d75332614a5bdbe0c7eb540e95a65f9d85a5b53dabb38d19b37fad6312a2bd25c12ee5a82831d55112087e1b
- name: timestamp
type: header
value: 198284729
- name: servertimestamp
type: server
value: 198284729
"403":
description: Forbidden
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: request_unauthorized
message: Your request could not be authorized.
"404":
description: Not Found
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: region.not_found
message: The requested region could not be found.
fields:
- name: region_id
type: path
value: "29384729424"
"426":
description: Upgrade Required
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: upgrade_required
message: This service requires the use of TLS.
"429":
description: Too Many Requests
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: too_many_requests
message: You have reached your capacity for this type of request.
"500":
description: Unknown Internal Error
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: unknown_internal_error
message: An internal server error has occurred.
"503":
description: Service Unavailable
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: service_unavailable
message: This service is currently unavailable.
security:
- rapidAuth: []
/properties/geography:
post:
tags:
- Geography
summary: Expedia Group Properties within Polygon
description: |
Returns the properties within an custom polygon that represents a multi-city area or smaller.
The coordinates of the polygon should be in [GeoJSON format](https://tools.ietf.org/html/rfc7946) and the polygon must conform to the following restrictions:
* Polygon size - diagonal distance of the polygon must be less than 500km
* Polygon type - only single polygons are supported
* Number of coordinates - must be <= 2000
operationId: postGeography
parameters:
- name: Accept-Encoding
in: header
description: |
Specifies the response encoding that the client would like to receive back. This must be `gzip`.
required: true
schema:
type: string
example: gzip
- name: Customer-Session-Id
in: header
description: |
Insert your own unique value for each user session, beginning with the first API call.
Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session.
Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session.
schema:
type: string
- name: User-Agent
in: header
description: |
The `User-Agent` header string from the customer's request, as captured by your integration. If you are building an application then the `User-Agent` value should be `{app name}/{app version}`.
required: true
schema:
type: string
example: TravelNow/3.30.112
- name: include
in: query
description: |
Options for which content to return in the response. The value must be lower case.
* property_ids - Include the property IDs.
required: true
schema:
type: string
example: property_ids
- name: billing_terms
in: query
description: |
This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately.
schema:
type: string
- name: partner_point_of_sale
in: query
description: |
This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
schema:
type: string
- name: payment_terms
in: query
description: |
This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately.
schema:
type: string
- name: platform_name
in: query
description: |
This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
schema:
type: string
- name: supply_source
in: query
description: |
Options for which supply source you would like returned in the geography response. This parameter may only be supplied once and will return all properties that match the requested supply source. An error is thrown if the parameter is provided multiple times.
* `expedia` - Standard Expedia supply.
* `vrbo` - VRBO supply - This option is restricted to partners who have VRBO supply enabled for their profile. See [Vacation Rentals](https://developers.expediagroup.com/docs/rapid/lodging/vacation-rentals) for more information.
schema:
type: string
example: vrbo
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PropertiesGeoJsonRequest'
required: true
responses:
"200":
description: OK
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
type: object
additionalProperties:
$ref: '#/components/schemas/PropertyGeography'
description: A map of property ids to property objects.
example:
"34347":
property_id: "34347"
"9777":
property_id: "9777"
"1223181":
property_id: "1223181"
"430764":
property_id: "430764"
"400":
description: Bad Request
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: invalid_input
message: "An invalid request was sent in, please check the nested errors for details."
errors:
- type: polygon.coordinates_required
message: The polygon must have coordinates.
"401":
description: Unauthorized
headers:
Region:
$ref: '#/components/headers/Region'
WWW-Authenticate:
description: Provides an example of the Authorization header.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: request_unauthenticated
message: Data required to authenticate your request is missing or inaccurate. Ensure that your request follows the guidelines in our documentation.
fields:
- name: apikey
type: header
value: jaj3982k239dka328e
- name: signature
type: header
value: 129d75332614a5bdbe0c7eb540e95a65f9d85a5b53dabb38d19b37fad6312a2bd25c12ee5a82831d55112087e1b
- name: timestamp
type: header
value: 198284729
- name: servertimestamp
type: server
value: 198284729
"403":
description: Forbidden
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: request_unauthorized
message: Your request could not be authorized.
"426":
description: Upgrade Required
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: upgrade_required
message: This service requires the use of TLS.
"429":
description: Too Many Requests
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: too_many_requests
message: You have reached your capacity for this type of request.
"500":
description: Unknown Internal Error
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: unknown_internal_error
message: An internal server error has occurred.
"503":
description: Service Unavailable
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: service_unavailable
message: This service is currently unavailable.
security:
- rapidAuth: []
/properties/availability:
get:
tags:
- Shopping
summary: Expedia Group Get property room rates and availability
description: |
Returns rates on available room types for specified properties (maximum of 250 properties per request). The response includes rate details such as promos, whether the rate is refundable, cancellation penalties and a full price breakdown to meet the price display requirements for your market.
_Note_: If there are no available rooms, the response will be an empty array.
* Multiple rooms of the same type may be requested by including multiple instances of the `occupancy` parameter.
* The `nightly` array includes each individual night's charges. When the total price includes fees, charges, or adjustments that are not divided by night, these amounts will be included in the `stay` rate array, which details charges applied to the entire stay (each check-in).
operationId: getAvailability
parameters:
- name: Accept
in: header
description: |
Specifies the response format that the client would like to receive back. This must be `application/json`.
required: true
schema:
type: string
example: application/json
- name: Accept-Encoding
in: header
description: |
Specifies the response encoding that the client would like to receive back. This must be `gzip`.
required: true
schema:
type: string
example: gzip
- name: User-Agent
in: header
description: |
The `User-Agent` header string from the customer's request, as captured by your integration. If you are building an application then the `User-Agent` value should be `{app name}/{app version}`.
required: true
schema:
type: string
example: TravelNow/3.30.112
- name: Customer-Ip
in: header
description: |
IP address of the customer, as captured by your integration.
Ensure your integration passes the customer's IP, not your own. This value helps determine their location and assign the correct payment gateway.
Also used for fraud recovery and other important analytics.
schema:
type: string
- name: Customer-Session-Id
in: header
description: |
Insert your own unique value for each user session, beginning with the first API call.
Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session.
Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session.
schema:
type: string
- name: Test
in: header
description: |
Shop calls have a test header that can be used to return set responses with the following keywords:
* `standard`
* `service_unavailable`
* `unknown_internal_error`
schema:
type: string
enum:
- standard
- service_unavailable
- unknown_internal_error
- name: checkin
in: query
description: |
Check-in date, in ISO 8601 format (YYYY-MM-DD). This can be up to 365 days in the future. Some partner configurations may extend this up to 500 days.
required: true
schema:
type: string
example: '2024-08-01'
- name: checkout
in: query
description: |
Check-out date, in ISO 8601 format (YYYY-MM-DD). Total length of stay cannot exceed 28 nights or 365 nights depending on Vacation Rental configurations.
required: true
schema:
type: string
example: '2024-08-03'
- name: currency
in: query
description: |
Requested currency for the rates, in ISO 4217 format
Currency Options: [https://developers.expediagroup.com/docs/rapid/resources/reference/currency-options](https://developers.expediagroup.com/docs/rapid/resources/reference/currency-options)
required: true
schema:
type: string
example: USD
- name: country_code
in: query
description: |
The country code of the traveler's point of sale, in ISO 3166-1 alpha-2 format. This should represent the country where the shopping transaction is taking place.
For more information see: [https://www.iso.org/obp/ui/#search/code/](https://www.iso.org/obp/ui/#search/code/)
required: true
schema:
type: string
example: US
- name: language
in: query
description: |
Desired language for the response as a subset of BCP47 format that only uses hyphenated pairs of two-digit language and country codes. Use only ISO 639-1 alpha-2 language codes and ISO 3166-1 alpha-2 country codes. See [https://www.w3.org/International/articles/language-tags/](https://www.w3.org/International/articles/language-tags/)
Language Options: [https://developers.expediagroup.com/docs/rapid/resources/reference/language-options](https://developers.expediagroup.com/docs/rapid/resources/reference/language-options)
required: true
schema:
type: string
example: en-US
- name: occupancy
in: query
description: |
Defines the requested occupancy for a single room. Each room must have at least 1 adult occupant.
Format: `numberOfAdults[-firstChildAge[,nextChildAge]]`
To request multiple rooms (of the same type), include one instance of occupancy for each room requested. Up to 8 rooms may be requested or booked at once.
Examples:
* 2 adults, one 9-year-old and one 4-year-old would be represented by `occupancy=2-9,4`.
* A multi-room request to lodge an additional 2 adults would be represented by `occupancy=2-9,4&occupancy=2`
required: true
style: form
explode: true
schema:
type: array
items:
type: string
example: 2
- name: property_id
in: query
description: |
The ID of the property you want to search for. You can provide 1 to 250 property_id parameters.
required: true
style: form
explode: true
schema:
type: array
items:
type: string
example:
- 20321
- name: rate_plan_count
in: query
description: |
The number of rates to return per property. The rates with the best value will be returned, e.g. a rate_plan_count=4 will return the best 4 rates, but the rates are not ordered from lowest to highest or vice versa in the response. Generally lowest rates will be prioritized.
The value must be between 1 and 250.
required: true
schema:
type: number
example: 1
- name: sales_channel
in: query
description: |
You must provide the sales channel for the display of rates. EPS dynamically provides the best content for optimal conversion on each sales channel. If you have a sales channel that is not currently supported in this list, please contact our support team.
* `website` - Standard website accessed from the customer's computer
* `agent_tool` - Your own agent tool used by your call center or retail store agent
* `mobile_app` - An application installed on a phone or tablet device
* `mobile_web` - A web browser application on a phone or tablet device
* `meta` - Rates will be passed to and displayed on a 3rd party comparison website
* `cache` - Rates will be used to populate a local cache
required: true
schema:
type: string
example: website
- name: sales_environment
in: query
description: |
You must provide the sales environment in which rates will be sold. EPS dynamically provides the best content for optimal conversion. If you have a sales environment that is not currently supported in this list, please contact our support team.
* `hotel_package` - Use when selling the hotel with a transport product, e.g. flight & hotel.
* `hotel_only` - Use when selling the hotel as an individual product.
* `loyalty` - Use when you are selling the hotel as part of a loyalty program and the price is converted to points.
required: true
schema:
type: string
example: hotel_only
- name: amenity_category
in: query
description: |
Single amenity category. Send multiple instances of this parameter to request rates that match multiple amenity categories.
See the Amenity Categories section of the
[Content Reference Lists](https://developers.expediagroup.com/docs/rapid/lodging/content/content-reference-lists)
for a list of values.
style: form
explode: true
schema:
type: array
items:
type: string
example:
- swimming_pool
- name: exclusion
in: query
description: |
Single exclusion type. Send multiple instances of this parameter to request multiple exclusions.
* `refundable_damage_deposit` - Excludes rates with refundable damage deposits from the response.
schema:
type: array
items:
type: string
enum:
- refundable_damage_deposit
example:
- refundable_damage_deposit
- name: filter
in: query
description: |
Single filter type. Send multiple instances of this parameter to request multiple filters.
* `refundable` - Filters results to only show fully refundable rates.
* `expedia_collect` - Filters results to only show rates where payment is collected by Expedia at the time of booking. These properties can be eligible for payments via Expedia Affiliate Collect(EAC).
* `property_collect` - Filters results to only show rates where payment is collected by the property after booking. This can include rates that require a deposit by the property, dependent upon the deposit policies.
* `loyalty` - Filters results to only show rates that are eligible for loyalty points.
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- refundable
- expedia_collect
- property_collect
example:
- expedia_collect
- name: include
in: query
description: |
Modify the response by including types of responses that are not provided by default.
* `unavailable_reason` - When a property is unavailable for an actionable reason, return a response with that reason - See [Unavailable Reason Codes](https://developers.expediagroup.com/docs/rapid/resources/reference/unavailable-reason-codes) for possible values.
* `sale_scenario.mobile_promotion` - Enable the `mobile_promotion` flag under the `room.rate.sale_scenario` section of the response.
* `rooms.rates.marketing_fee_incentives` - When a rate has a marketing fee incentive applied, the response will include the `marketing_fee_incentives` array if this flag is provided in the request.
schema:
type: array
items:
type: string
enum:
- unavailable_reason
- sale_scenario.mobile_promotion
- rooms.rates.marketing_fee_incentives
example: unavailable_reason
- name: rate_option
in: query
description: |
Request specific rate options for each property. Send multiple instances of this parameter to request multiple rate options.
Accepted values:
* `member` - Return member rates for each property. This feature must be enabled and requires a user to be logged in to request these rates.
* `net_rates` - Return net rates for each property. This feature must be enabled to request these rates.
* `cross_sell` - Identify if the traffic is coming from a cross sell booking. Where the traveler has booked another service (flight, car, activities...) before hotel.
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- member
- net_rates
- cross_sell
- name: travel_purpose
in: query
description: |
This parameter is to specify the travel purpose of the booking. This may impact available rate plans, pricing, or tax calculations.
* `leisure`
* `business`
schema:
type: string
enum:
- leisure
- business
example: leisure
- name: billing_terms
in: query
description: |
This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately.
schema:
type: string
- name: payment_terms
in: query
description: |
This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately.
schema:
type: string
- name: partner_point_of_sale
in: query
description: |
This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
schema:
type: string
- name: platform_name
in: query
description: |
This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
schema:
type: string
responses:
"200":
description: OK
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Property'
examples:
Availability:
value:
- property_id: "19248"
status: available
rooms:
- id: 123abc
room_name: Fancy Queen Room
rates:
- id: 333abc
status: available
available_rooms: 12
refundable: true
member_deal_available: true
sale_scenario:
package: false
member: false
corporate: false
distribution: false
mobile_promotion: false
merchant_of_record: expedia
amenities:
"1234":
id: "1234"
name: Free Wireless Internet
links:
payment_options:
method: GET
href: /v3/properties/19248/payment-options?token=MY5S3j36cOcL
bed_groups:
"12345":
links:
price_check:
method: GET
href: /v3/properties/19248/rooms/abc123/rates/abc123?token=MY5S3j36cOcL
expires: '2019-03-05T07:23:14.000Z'
id: "12345"
description: 1 Queen Bed
configuration:
- type: Bed
size: Queen
quantity: 1
cancel_penalties:
- currency: USD
start: '2018-02-12T11:59:00.000-08:00'
end: '2018-02-12T11:59:00.000-08:00'
amount: "10.00"
nonrefundable_date_ranges:
- start: '2022-02-02'
end: '2022-02-02'
marketing_fee_incentives:
- source: property
start: '2022-02-02'
end: '2022-02-02'
occupancy_pricing:
"2":
nightly:
- - type: base_rate
value: "309.00"
currency: CAD
- type: tax_and_service_fee
value: "37.00"
currency: CAD
- - type: base_rate
value: "309.00"
currency: CAD
- type: tax_and_service_fee
value: "37.00"
currency: CAD
stay:
- type: extra_person_fee
value: "10.00"
currency: CAD
totals:
inclusive:
billable_currency:
value: "702.00"
currency: CAD
request_currency:
value: "530.00"
currency: USD
exclusive:
billable_currency:
value: "628.00"
currency: CAD
request_currency:
value: "475.00"
currency: USD
property_inclusive:
billable_currency:
value: "717.00"
currency: CAD
request_currency:
value: "539.00"
currency: USD
strikethrough:
billable_currency:
value: "650.00"
currency: CAD
request_currency:
value: "490.00"
currency: USD
property_inclusive_strikethrough:
billable_currency:
value: "750.00"
currency: CAD
request_currency:
value: "565.00"
currency: USD
marketing_fee:
billable_currency:
value: "15.00"
currency: CAD
request_currency:
value: "10.00"
currency: USD
gross_profit:
billable_currency:
value: "15.00"
currency: CAD
request_currency:
value: "10.00"
currency: USD
minimum_selling_price:
billable_currency:
value: "702.00"
currency: CAD
request_currency:
value: "530.00"
currency: USD
property_fees:
billable_currency:
value: "15.00"
currency: CAD
request_currency:
value: "9.00"
currency: USD
fees:
mandatory_fee:
billable_currency:
value: "5.00"
currency: CAD
request_currency:
value: "3.00"
currency: USD
resort_fee:
billable_currency:
value: "5.00"
currency: CAD
request_currency:
value: "3.00"
currency: USD
mandatory_tax:
billable_currency:
value: "5.00"
currency: CAD
request_currency:
value: "3.00"
currency: USD
"1-7,10":
nightly:
- - type: base_rate
value: "309.00"
currency: CAD
- type: tax_and_service_fee
value: "37.00"
currency: CAD
- - type: base_rate
value: "309.00"
currency: CAD
- type: tax_and_service_fee
value: "37.00"
currency: CAD
stay:
- type: extra_person_fee
value: "10.00"
currency: CAD
totals:
inclusive:
billable_currency:
value: "702.00"
currency: CAD
request_currency:
value: "530.00"
currency: USD
exclusive:
billable_currency:
value: "628.00"
currency: CAD
request_currency:
value: "475.00"
currency: USD
strikethrough:
billable_currency:
value: "650.00"
currency: CAD
request_currency:
value: "490.00"
currency: USD
marketing_fee:
billable_currency:
value: "15.00"
currency: CAD
request_currency:
value: "10.00"
currency: USD
gross_profit:
billable_currency:
value: "15.00"
currency: CAD
request_currency:
value: "10.00"
currency: USD
minimum_selling_price:
billable_currency:
value: "702.00"
currency: CAD
request_currency:
value: "530.00"
currency: USD
property_fees:
billable_currency:
value: "15.00"
currency: CAD
request_currency:
value: "9.00"
currency: USD
fees:
mandatory_fee:
billable_currency:
value: "5.00"
currency: CAD
request_currency:
value: "3.00"
currency: USD
resort_fee:
billable_currency:
value: "5.00"
currency: CAD
request_currency:
value: "3.00"
currency: USD
mandatory_tax:
billable_currency:
value: "5.00"
currency: CAD
request_currency:
value: "3.00"
currency: USD
promotions:
value_adds:
"123abc":
id: 123abc
description: 10 USD credit on activities and sports for your stay.
category: entertainment
offer_type: credit
frequency: per_stay
person_count: 1
deal:
id: 999abc
description: Book early and save 15%
card_on_file_limit:
value: "500.00"
currency: USD
refundable_damage_deposit:
value: "500.00"
currency: USD
deposits:
- value: "70.00"
due: '2025-12-21'
currency: USD
links:
additional_rates:
method: GET
href: /v3/properties/12345/availability?token=MY5S3j36cOcL
score: 10052
Availability and Unavailable Reason:
value:
- property_id: "824739"
status: partially_unavailable
score: 12345
unavailable_reason:
code: adults_exceed_threshold
data: "2"
- property_id: "19248"
status: available
rooms:
- id: 123abc
room_name: Fancy Queen Room
rates:
- id: 333abc
status: available
available_rooms: 12
refundable: true
member_deal_available: true
sale_scenario:
package: false
member: false
corporate: false
distribution: false
mobile_promotion: false
merchant_of_record: expedia
amenities:
"1234":
id: "1234"
name: Free Wireless Internet
links:
payment_options:
method: GET
href: /v3/properties/19248/payment-options?token=MY5S3j36cOcL
bed_groups:
"12345":
links:
price_check:
method: GET
href: /v3/properties/19248/rooms/abc123/rates/abc123?token=MY5S3j36cOcL
expires: '2019-03-05T07:23:14.000Z'
id: "12345"
description: 1 Queen Bed
configuration:
- type: Bed
size: Queen
quantity: 1
cancel_penalties:
- currency: USD
start: '2018-02-12T11:59:00.000-08:00'
end: '2018-02-12T11:59:00.000-08:00'
amount: "10.00"
nonrefundable_date_ranges:
- start: '2022-02-02'
end: '2022-02-02'
occupancy_pricing:
"2":
nightly:
- - type: base_rate
value: "309.00"
currency: CAD
- type: tax_and_service_fee
value: "37.00"
currency: CAD
- - type: base_rate
value: "309.00"
currency: CAD
- type: tax_and_service_fee
value: "37.00"
currency: CAD
stay:
- type: extra_person_fee
value: "10.00"
currency: CAD
totals:
inclusive:
billable_currency:
value: "702.00"
currency: CAD
request_currency:
value: "530.97"
currency: USD
exclusive:
billable_currency:
value: "628.00"
currency: CAD
request_currency:
value: "475.00"
currency: USD
inclusive_strikethrough:
billable_currency:
value: "726.63"
currency: CAD
request_currency:
value: "549.60"
currency: USD
strikethrough:
billable_currency:
value: "650.00"
currency: CAD
request_currency:
value: "491.64"
currency: USD
marketing_fee:
billable_currency:
value: "15.00"
currency: CAD
request_currency:
value: "11.34"
currency: USD
gross_profit:
billable_currency:
value: "15.00"
currency: CAD
request_currency:
value: "11.34"
currency: USD
minimum_selling_price:
billable_currency:
value: "702.00"
currency: CAD
request_currency:
value: "530.97"
currency: USD
property_fees:
billable_currency:
value: "15.00"
currency: CAD
request_currency:
value: "11.34"
currency: USD
fees:
mandatory_fee:
billable_currency:
value: "5.00"
currency: CAD
request_currency:
value: "3.78"
currency: USD
resort_fee:
billable_currency:
value: "5.00"
currency: CAD
request_currency:
value: "3.78"
currency: USD
mandatory_tax:
billable_currency:
value: "5.00"
currency: CAD
request_currency:
value: "3.78"
currency: USD
"1-7,10":
nightly:
- - type: base_rate
value: "309.00"
currency: CAD
- type: tax_and_service_fee
value: "37.00"
currency: CAD
- - type: base_rate
value: "309.00"
currency: CAD
- type: tax_and_service_fee
value: "37.00"
currency: CAD
stay:
- type: extra_person_fee
value: "10.00"
currency: CAD
totals:
inclusive:
billable_currency:
value: "702.00"
currency: CAD
request_currency:
value: "530.97"
currency: USD
exclusive:
billable_currency:
value: "628.00"
currency: CAD
request_currency:
value: "475.00"
currency: USD
inclusive_strikethrough:
billable_currency:
value: "726.63"
currency: CAD
request_currency:
value: "549.60"
currency: USD
strikethrough:
billable_currency:
value: "650.00"
currency: CAD
request_currency:
value: "491.64"
currency: USD
marketing_fee:
billable_currency:
value: "15.00"
currency: CAD
request_currency:
value: "11.34"
currency: USD
gross_profit:
billable_currency:
value: "15.00"
currency: CAD
request_currency:
value: "11.34"
currency: USD
minimum_selling_price:
billable_currency:
value: "702.00"
currency: CAD
request_currency:
value: "530.97"
currency: USD
property_fees:
billable_currency:
value: "15.00"
currency: CAD
request_currency:
value: "11.34"
currency: USD
fees:
mandatory_fee:
billable_currency:
value: "5.00"
currency: CAD
request_currency:
value: "3.78"
currency: USD
resort_fee:
billable_currency:
value: "5.00"
currency: CAD
request_currency:
value: "3.78"
currency: USD
mandatory_tax:
billable_currency:
value: "5.00"
currency: CAD
request_currency:
value: "3.78"
currency: USD
promotions:
value_adds:
"123abc":
id: 123abc
description: 10 USD credit on activities and sports for your stay.
category: entertainment
offer_type: credit
frequency: per_stay
person_count: 1
deal:
id: 999abc
description: Book early and save 15%
card_on_file_limit:
value: "500.00"
currency: USD
refundable_damage_deposit:
value: "500.00"
currency: USD
deposits:
- value: "70.00"
due: '2025-12-21'
currency: USD
links:
additional_rates:
method: GET
href: /v3/properties/12345/availability?token=MY5S3j36cOcL
score: 10052
No availability:
value: []
"400":
description: Bad Request
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: invalid_input
message: "An invalid request was sent in, please check the nested errors for details."
errors:
- type: checkin.invalid_date_format
message: Invalid checkin format. It must be formatted in ISO 8601 (YYYY-mm-dd) http://www.iso.org/iso/catalogue_detail?csnumber=40874.
fields:
- name: checkin
type: querystring
value: 2019-01-1
- type: checkout.invalid_length_of_stay_too_long_vrbo
message: |
Invalid date range. Checkin and checkout dates cannot differ by more than 365 days.
fields:
- name: checkin
type: querystring
value: '2024-09-21'
- name: checkout
type: querystring
value: '2025-10-21'
- type: number_of_occupancies.invalid_above_maximum
message: Number of occupancies must be less than 9.
fields:
- name: occupancy
type: querystring
value: "9"
- type: include.not_supported
message: |
Include value not supported. Supported include values are: [unavailable_reason]
fields:
- name: include
type: querystring
value: free_money
"401":
description: Unauthorized
headers:
Region:
$ref: '#/components/headers/Region'
WWW-Authenticate:
description: Provides an example of the Authorization header.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: request_unauthenticated
message: Data required to authenticate your request is missing or inaccurate. Ensure that your request follows the guidelines in our documentation.
fields:
- name: apikey
type: header
value: jaj3982k239dka328e
- name: signature
type: header
value: 129d75332614a5bdbe0c7eb540e95a65f9d85a5b53dabb38d19b37fad6312a2bd25c12ee5a82831d55112087e1b
- name: timestamp
type: header
value: 198284729
- name: servertimestamp
type: server
value: 198284729
"403":
description: Forbidden
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: request_unauthorized
message: Your request could not be authorized.
"426":
description: Upgrade Required
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: upgrade_required
message: This service requires the use of TLS.
"429":
description: Too Many Requests
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: too_many_requests
message: You have reached your capacity for this type of request.
"500":
description: Unknown Internal Error
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: unknown_internal_error
message: An internal server error has occurred.
"503":
description: Service Unavailable
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: service_unavailable
message: This service is currently unavailable.
security:
- rapidAuth: []
/properties/{property_id}/availability:
get:
tags:
- Shopping
summary: Expedia Group Get additional property room rates and availability
description: |
Returns additional rates on available room types, using the parameters of the previous call. The response includes rate details such as promos, whether the rate is refundable, cancellation penalties and a full price breakdown to meet the price display requirements for your market.
_Note_: If there are no available rooms, the response will be an empty array.
* The `nightly` array includes each individual night's charges. When the total price includes fees, charges, or adjustments that are not divided by night, these amounts will be included in the `stay` rate array, which details charges applied to the entire stay (each check-in).
operationId: getAdditionalAvailability
parameters:
- name: Accept
in: header
description: |
Specifies the response format that the client would like to receive back. This must be `application/json`.
required: true
schema:
type: string
example: application/json
- name: Accept-Encoding
in: header
description: |
Specifies the response encoding that the client would like to receive back. This must be `gzip`.
required: true
schema:
type: string
example: gzip
- name: User-Agent
in: header
description: |
The `User-Agent` header string from the customer's request, as captured by your integration. If you are building an application then the `User-Agent` value should be `{app name}/{app version}`.
required: true
schema:
type: string
example: TravelNow/3.30.112
- name: Customer-Ip
in: header
description: |
IP address of the customer, as captured by your integration.
Ensure your integration passes the customer's IP, not your own. This value helps determine their location and assign the correct payment gateway.
Also used for fraud recovery and other important analytics.
schema:
type: string
- name: Customer-Session-Id
in: header
description: |
Insert your own unique value for each user session, beginning with the first API call.
Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session.
Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session.
schema:
type: string
- name: Test
in: header
description: |
Shop calls have a test header that can be used to return set responses with the following keywords:
* `standard`
* `service_unavailable`
* `unknown_internal_error`
* `no_availability`
* `forbidden`
schema:
type: string
enum:
- standard
- service_unavailable
- unknown_internal_error
- no_availability
- forbidden
- name: property_id
in: path
description: |
Expedia Property ID.
required: true
schema:
type: string
example: 19248
- name: token
in: query
description: "A hashed collection of query parameters. Used to maintain state across calls. This token is provided as part of the `additional_rates` link from the shop response, or the `shop` link on a `sold_out` price check response. It is also provided from the `shop_for_change` link on an itinerary retrieve."
required: true
schema:
type: string
- name: checkin
in: query
description: |
Check-in date, in ISO 8601 format (YYYY-MM-DD). This can be up to 365 days in the future. Some partner configurations may extend this up to 500 days.
Note: Only needed for hard change if desired check-in date is different than original booking.
If specified must also specify `checkout`.
schema:
type: string
example: '2024-08-01'
- name: checkout
in: query
description: |
Check-out date, in ISO 8601 format (YYYY-MM-DD). Total length of stay cannot exceed 28 nights or 365 nights depending on Vacation Rental configurations.
Note: Only needed for hard change if desired check-out date is different than original booking.
If specified must also specify `checkin`.
schema:
type: string
example: '2024-08-03'
- name: exclusion
in: query
description: |
Single exclusion type. Send multiple instances of this parameter to request multiple exclusions.
Note: Optional parameter for use with hard change requests.
* `refundable_damage_deposit` - Excludes rates with refundable damage deposits from the response.
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- refundable_damage_deposit
example:
- refundable_damage_deposit
- name: filter
in: query
description: |
Single filter type. Send multiple instances of this parameter to request multiple filters.
Note: Optional parameter for use with hard change requests.
This parameter cannot be set to `property_collect` if the existing booking is `expedia_collect` and vice versa.
* `refundable` - Filters results to only show fully refundable rates.
* `expedia_collect` - Filters results to only show rates where payment is collected by Expedia at the time of booking. These properties can be eligible for payments via Expedia Affiliate Collect(EAC).
* `property_collect` - Filters results to only show rates where payment is collected by the property after booking. This can include rates that require a deposit by the property, dependent upon the deposit policies.
* `loyalty` - Filters results to only show rates that are eligible for loyalty points.
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- refundable
- expedia_collect
- property_collect
example:
- refundable
- expedia_collect
- name: include
in: query
description: |
Modify the response by including types of responses that are not provided by default.
* `sale_scenario.mobile_promotion` - Enable the `mobile_promotion` flag under the `sale_scenario` section of the response.
schema:
type: array
items:
type: string
enum:
- sale_scenario.mobile_promotion
example: sale_scenario.mobile_promotion
- name: occupancy
in: query
description: |
Defines the requested occupancy for a single room. Each room must have at least 1 adult occupant.
Format: `numberOfAdults[-firstChildAge[,nextChildAge]]`
To request multiple rooms (of the same type), include one instance of occupancy for each room requested. Up to 8 rooms may be requested or booked at once.
Note: Only needed for hard change if desired occupancy is different than original booking.
Examples:
* 2 adults, one 9-year-old and one 4-year-old would be represented by `occupancy=2-9,4`.
* A multi-room request to lodge an additional 2 adults would be represented by `occupancy=2-9,4&occupancy=2`
style: form
explode: true
schema:
type: array
items:
type: string
- name: rate_option
in: query
description: |
Request specific rate options for each property. Send multiple instances of this parameter to request multiple rate options.
Note: Optional parameter for use with hard change requests.
Accepted values:
* `member` - Return member rates for each property. This feature must be enabled and requires a user to be logged in to request these rates.
* `net_rates` - Return net rates for each property. This feature must be enabled to request these rates.
* `cross_sell` - Identify if the traffic is coming from a cross sell booking. Where the traveler has booked another service (flight, car, activities...) before hotel.
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- member
- net_rates
- cross_sell
example:
- member
- net_rates
- name: sales_channel
in: query
description: |
Provide the sales channel if you wish to override the sales_channel provided in the previous call. EPS dynamically provides the best content for optimal conversion on each sales channel.
Note: Must specify this value for hard change requests.
* `website` - Standard website accessed from the customer's computer
* `agent_tool` - Your own agent tool used by your call center or retail store agent
* `mobile_app` - An application installed on a phone or tablet device
* `mobile_web` - A web browser application on a phone or tablet device
* `meta` - Rates will be passed to and displayed on a 3rd party comparison website
* `cache` - Rates will be used to populate a local cache
schema:
type: string
- name: currency
in: query
description: |
Determines the returned currency type throughout the response
Note: This parameter is only valid for hard change requests and is ignored in all other cases
schema:
type: string
responses:
"200":
description: OK
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/PropertyAvailability'
examples:
Availability:
value:
- property_id: 19248
rooms:
- id: 123abc
room_name: Fancy Queen Room
rates:
- id: 333abc
status: available
available_rooms: 12
refundable: true
member_deal_available: true
sale_scenario:
package: false
member: false
corporate: false
distribution: false
mobile_promotion: false
merchant_of_record: expedia
amenities:
"1234":
id: 1234
name: Free Wireless Internet
links:
payment_options:
method: GET
href: /v3/properties/19248/payment-options?token=MY5S3j36cOcL
bed_groups:
"12345":
links:
price_check:
method: GET
href: /v3/properties/19248/rooms/abc123/rates/abc123?token=MY5S3j36cOcL
expires: '2019-03-05T07:23:14.000Z'
id: "12345"
description: 1 Queen Bed
configuration:
- type: Bed
size: Queen
quantity: 1
cancel_penalties:
- currency: USD
start: '2018-02-12T11:59:00.000-08:00'
end: '2018-02-12T11:59:00.000-08:00'
amount: "10.00"
nights: 1
percent: 30%
occupancy_pricing:
"2":
nightly:
- - type: base_rate
value: "309.00"
currency: CAD
- type: tax_and_service_fee
value: "37.00"
currency: CAD
- - type: base_rate
value: "309.00"
currency: CAD
- type: tax_and_service_fee
value: "37.00"
currency: CAD
stay:
- type: extra_person_fee
value: "10.00"
currency: CAD
totals:
inclusive:
billable_currency:
value: "702.00"
currency: CAD
request_currency:
value: "530.97"
currency: USD
exclusive:
billable_currency:
value: "628.00"
currency: CAD
request_currency:
value: "475.00"
currency: USD
inclusive_strikethrough:
billable_currency:
value: "726.63"
currency: CAD
request_currency:
value: "549.60"
currency: USD
strikethrough:
billable_currency:
value: "650.00"
currency: CAD
request_currency:
value: "491.64"
currency: USD
marketing_fee:
billable_currency:
value: "15.00"
currency: CAD
request_currency:
value: "11.34"
currency: USD
gross_profit:
billable_currency:
value: "15.00"
currency: CAD
request_currency:
value: "11.34"
currency: USD
minimum_selling_price:
billable_currency:
value: "702.00"
currency: CAD
request_currency:
value: "530.97"
currency: USD
property_fees:
billable_currency:
value: "15.00"
currency: CAD
request_currency:
value: "11.34"
currency: USD
fees:
mandatory_fee:
billable_currency:
value: "5.00"
currency: CAD
request_currency:
value: "3.78"
currency: USD
resort_fee:
billable_currency:
value: "5.00"
currency: CAD
request_currency:
value: "3.78"
currency: USD
mandatory_tax:
billable_currency:
value: "5.00"
currency: CAD
request_currency:
value: "3.78"
currency: USD
"1-7,10":
nightly:
- - type: base_rate
value: "309.00"
currency: CAD
- type: tax_and_service_fee
value: "37.00"
currency: CAD
- - type: base_rate
value: "309.00"
currency: CAD
- type: tax_and_service_fee
value: "37.00"
currency: CAD
stay:
- type: extra_person_fee
value: "10.00"
currency: CAD
totals:
inclusive:
billable_currency:
value: "702.00"
currency: CAD
request_currency:
value: "530.97"
currency: USD
exclusive:
billable_currency:
value: "628.00"
currency: CAD
request_currency:
value: "475.00"
currency: USD
inclusive_strikethrough:
billable_currency:
value: "726.63"
currency: CAD
request_currency:
value: "549.60"
currency: USD
strikethrough:
billable_currency:
value: "650.00"
currency: CAD
request_currency:
value: "491.64"
currency: USD
marketing_fee:
billable_currency:
value: "15.00"
currency: CAD
request_currency:
value: "11.34"
currency: USD
gross_profit:
billable_currency:
value: "15.00"
currency: CAD
request_currency:
value: "11.34"
currency: USD
minimum_selling_price:
billable_currency:
value: "702.00"
currency: CAD
request_currency:
value: "530.97"
currency: USD
property_fees:
billable_currency:
value: "15.00"
currency: CAD
request_currency:
value: "11.34"
currency: USD
fees:
mandatory_fee:
billable_currency:
value: "5.00"
currency: CAD
request_currency:
value: "3.78"
currency: USD
resort_fee:
billable_currency:
value: "5.00"
currency: CAD
request_currency:
value: "3.78"
currency: USD
mandatory_tax:
billable_currency:
value: "5.00"
currency: CAD
request_currency:
value: "3.78"
currency: USD
promotions:
value_adds:
"123abc":
id: 123abc
description: 10 USD credit on activities and sports for your stay.
category: entertainment
offer_type: credit
frequency: per_stay
person_count: 1
deal:
id: 999abc
description: Book early and save 15%
card_on_file_limit:
value: "500.00"
currency: USD
refundable_damage_deposit:
value: "500.00"
currency: USD
deposits:
- value: "70.00"
due: '2025-12-21'
currency: USD
links:
additional_rates:
method: GET
href: /v3/properties/12345/availability?token=MY5S3j36cOcL
score: 10052
No availability:
value: []
"400":
description: Bad Request
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: invalid_input
message: "An invalid request was sent in, please check the nested errors for details."
errors:
- type: checkin.invalid_date_format
message: Invalid checkin format. It must be formatted in ISO 8601 (YYYY-mm-dd) http://www.iso.org/iso/catalogue_detail?csnumber=40874.
fields:
- name: checkin
type: querystring
value: 2019-01-1
- type: checkout.invalid_length_of_stay_too_long_vrbo
message: |
Invalid date range. Checkin and checkout dates cannot differ by more than 365 days.
fields:
- name: checkin
type: querystring
value: '2024-09-21'
- name: checkout
type: querystring
value: '2025-10-21'
- type: number_of_occupancies.invalid_above_maximum
message: Number of occupancies must be less than 9.
fields:
- name: occupancy
type: querystring
value: 9
- type: filter.mismatch
message: "Existing booking is expedia_collect, this cannot be changed."
fields:
- name: filter
type: querystring
value: property_collect
"401":
description: Unauthorized
headers:
Region:
$ref: '#/components/headers/Region'
WWW-Authenticate:
description: Provides an example of the Authorization header.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: request_unauthenticated
message: Data required to authenticate your request is missing or inaccurate. Ensure that your request follows the guidelines in our documentation.
fields:
- name: apikey
type: header
value: jaj3982k239dka328e
- name: signature
type: header
value: 129d75332614a5bdbe0c7eb540e95a65f9d85a5b53dabb38d19b37fad6312a2bd25c12ee5a82831d55112087e1b
- name: timestamp
type: header
value: 198284729
- name: servertimestamp
type: server
value: 198284729
"403":
description: Forbidden
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: request_unauthorized
message: Your request could not be authorized.
"426":
description: Upgrade Required
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: upgrade_required
message: This service requires the use of TLS.
"429":
description: Too Many Requests
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: too_many_requests
message: You have reached your capacity for this type of request.
"500":
description: Unknown Internal Error
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: unknown_internal_error
message: An internal server error has occurred.
"503":
description: Service Unavailable
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: service_unavailable
message: This service is currently unavailable.
security:
- rapidAuth: []
/properties/{property_id}/rooms/{room_id}/rates/{rate_id}:
get:
tags:
- Shopping
summary: Expedia Group Price-Check
description: |
Confirms the price returned by the Property Availability response. Use this API to verify a previously-selected rate is still valid before booking. If the price is matched, the response returns a link to request a booking. If the price has changed, the response returns new price details and a booking link for the new price. If the rate is no longer available, the response will return a new Property Availability request link to search again for different rates. In the event of a price change, go back to Property Availability and book the property at the new price or return to additional rates for the property.
operationId: priceCheck
parameters:
- name: Accept
in: header
description: |
Specifies the response format that the client would like to receive back. This must be `application/json`.
required: true
schema:
type: string
example: application/json
- name: Accept-Encoding
in: header
description: |
Specifies the response encoding that the client would like to receive back. This must be `gzip`.
required: true
schema:
type: string
example: gzip
- name: Customer-Ip
in: header
description: |
IP address of the customer, as captured by your integration.
Ensure your integration passes the customer's IP, not your own. This value helps determine their location and assign the correct payment gateway.
Also used for fraud recovery and other important analytics.
schema:
type: string
- name: Customer-Session-Id
in: header
description: |
Insert your own unique value for each user session, beginning with the first API call.
Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session.
Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session.
schema:
type: string
- name: User-Agent
in: header
description: |
The `User-Agent` header string from the customer's request, as captured by your integration. If you are building an application then the `User-Agent` value should be `{app name}/{app version}`.
required: true
schema:
type: string
example: TravelNow/3.30.112
- name: Test
in: header
description: |
Price check calls have a test header that can be used to return set responses with the following keywords:
* `available`
* `price_changed`
* `sold_out`
* `service_unavailable`
* `unknown_internal_error`
schema:
type: string
enum:
- available
- price_changed
- sold_out
- service_unavailable
- unknown_internal_error
- name: property_id
in: path
description: |
Expedia Property ID.
required: true
schema:
type: string
example: 19248
- name: room_id
in: path
description: |
Room ID of a property.
required: true
schema:
type: string
example: 123abc
- name: rate_id
in: path
description: |
Rate ID of a room.
required: true
schema:
type: string
example: 123abc
- name: token
in: query
description: A hashed collection of query parameters. Used to maintain state across calls. This token is provided as part of the price check link from the shop response.
required: true
schema:
type: string
responses:
"200":
description: OK
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/RoomPriceCheck'
examples:
Available Example:
value:
status: available
occupancy_pricing:
"2":
nightly:
- - type: base_rate
value: "309.00"
currency: CAD
- type: tax_and_service_fee
value: "37.00"
currency: CAD
totals:
inclusive:
billable_currency:
value: "346.00"
currency: CAD
request_currency:
value: "261.00"
currency: USD
exclusive:
billable_currency:
value: "309.00"
currency: CAD
request_currency:
value: "230.00"
currency: USD
fees:
mandatory_fee:
billable_currency:
value: "5.00"
currency: CAD
request_currency:
value: "3.00"
currency: USD
card_on_file_limit:
value: "500.00"
currency: USD
refundable_damage_deposit:
value: "500.00"
currency: USD
deposits:
- value: "70.00"
due: '2025-12-21'
currency: USD
links:
book:
method: POST
href: /v3/itineraries?token=MY5S3j36cOcL
expires: '2019-03-05T07:23:14.000Z'
Available Example With Trader Information:
value:
status: available
occupancy_pricing:
"2":
nightly:
- - type: base_rate
value: "309.00"
currency: CAD
- type: tax_and_service_fee
value: "37.00"
currency: CAD
totals:
inclusive:
billable_currency:
value: "346.00"
currency: CAD
request_currency:
value: "261.00"
currency: USD
exclusive:
billable_currency:
value: "309.00"
currency: CAD
request_currency:
value: "230.00"
currency: USD
fees:
mandatory_fee:
billable_currency:
value: "5.00"
currency: CAD
request_currency:
value: "3.00"
currency: USD
trader_information:
traders:
- name: Test Property Name
address:
line_1: 123 Main St
city: Springfield
state_province_code: MO
postal_code: "65804"
country_code: US
business_register_name: A Real Registry
business_register_number: 72973910d
self_certification: true
phone: 1-417-555-1212
right_to_withdraw_message: |
The right of withdrawal under European consumer law does not apply when you book
accommodation. Supplier cancellation policy will apply
terms_and_conditions: https://forever.travel-assets.com/flex/flexmanager/mediaasset/618796-0_2-UnitedKingdom_en.pdf
links:
book:
method: POST
href: /v3/itineraries?token=MY5S3j36cOcL
expires: '2024-03-05T07:23:14.000Z'
Room Change Example:
value:
status: available
occupancy_pricing:
"2":
nightly:
- - type: base_rate
value: "309.00"
currency: CAD
- type: tax_and_service_fee
value: "37.00"
currency: CAD
totals:
inclusive:
billable_currency:
value: "346.00"
currency: CAD
request_currency:
value: "261.00"
currency: USD
exclusive:
billable_currency:
value: "309.00"
currency: CAD
request_currency:
value: "230.00"
currency: USD
fees:
mandatory_fee:
billable_currency:
value: "5.00"
currency: CAD
request_currency:
value: "3.00"
currency: USD
card_on_file_limit:
value: "500.00"
currency: USD
refundable_damage_deposit:
value: "500.00"
currency: USD
deposits:
- value: "70.00"
due: '2025-12-21'
currency: USD
amount_owed:
billable_currency:
value: "132.56"
currency: CAD
request_currency:
value: "100.00"
currency: USD
penalty:
billable_currency:
value: "26.51"
currency: CAD
request_currency:
value: "20.00"
currency: USD
links:
commit:
method: PUT
href: /v3/itineraries/8999989898988/rooms/d08572fc-82d2-4d5d-ad30-60f5be7fb53e/pricing?token=MY5S3j36cOcL
expires: '2019-03-05T07:23:14.000Z'
Price Changed Example:
value:
status: price_changed
occupancy_pricing:
"1234":
nightly:
type: base_rate
value: "90.00"
currency: USD
stay:
type: base_rate
value: "90.00"
currency: USD
totals:
inclusive:
billable_currency:
value: "215.00"
currency: USD
request_currency:
value: "215.00"
currency: USD
exclusive:
billable_currency:
value: "215.00"
currency: USD
request_currency:
value: "215.00"
currency: USD
strikethrough:
billable_currency:
value: "215.00"
currency: USD
request_currency:
value: "215.00"
currency: USD
marketing_fee:
billable_currency:
value: "215.00"
currency: USD
request_currency:
value: "215.00"
currency: USD
gross_profit:
billable_currency:
value: "15.00"
currency: CAD
request_currency:
value: "10.00"
currency: USD
minimum_selling_price:
billable_currency:
value: "215.00"
currency: USD
request_currency:
value: "215.00"
currency: USD
property_fees:
billable_currency:
value: "8.50"
currency: EUR
request_currency:
value: "10.00"
currency: USD
fees:
mandatory_fee:
billable_currency:
value: "8.50"
currency: EUR
request_currency:
value: "10.00"
currency: USD
links:
additional_rates:
method: GET
href: /v3/properties/1234/availability?token=REhZAQsABAMGQggMV1pFAV1YVA5cZhBYEgNKH1RGEVEQUAoOBwlVVBlVCEkFUxVZWgZAFAVbABgMC0RXRx=
book:
method: POST
href: /v3/itineraries?token=MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m
expires: '2019-03-05T07:23:14.000Z'
Sold Out Example:
value:
status: sold_out
links:
shop:
method: GET
href: /v3/properties/1234/availability?token=REhZAQsABAMGQggMV1pFAV1YVA5cZhBYEgNKH1RGEVEQUAoOBwlVVBlVCEkFUxVZWgZAFAVbABgMC0RXRx=
"400":
description: Bad Request
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: invalid_input
message: "An invalid request was sent in, please check the nested errors for details."
errors:
- type: link.invalid
message: Link is invalid.
"401":
description: Unauthorized
headers:
Region:
$ref: '#/components/headers/Region'
WWW-Authenticate:
description: Provides an example of the Authorization header.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: request_unauthenticated
message: Data required to authenticate your request is missing or inaccurate. Ensure that your request follows the guidelines in our documentation.
fields:
- name: apikey
type: header
value: jaj3982k239dka328e
- name: signature
type: header
value: 129d75332614a5bdbe0c7eb540e95a65f9d85a5b53dabb38d19b37fad6312a2bd25c12ee5a82831d55112087e1b
- name: timestamp
type: header
value: 198284729
- name: servertimestamp
type: server
value: 198284729
"403":
description: Forbidden
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: request_unauthorized
message: Your request could not be authorized.
"426":
description: Upgrade Required
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: upgrade_required
message: This service requires the use of TLS.
"429":
description: Too Many Requests
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: too_many_requests
message: You have reached your capacity for this type of request.
"500":
description: Unknown Internal Error
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: unknown_internal_error
message: An internal server error has occurred.
"503":
description: Service Unavailable
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: service_unavailable
message: This service is currently unavailable.
security:
- rapidAuth: []
/properties/{property_id}/payment-options:
get:
tags:
- Shopping
summary: Expedia Group Get Accepted Payment Types - EPS MOR Only
description: |
Returns the accepted payment options. Use this API to power your checkout page and display valid forms of payment, ensuring a smooth booking.
operationId: getPaymentOptions
parameters:
- name: Accept
in: header
description: |
Specifies the response format that the client would like to receive back. This must be `application/json`.
required: true
schema:
type: string
example: application/json
- name: Accept-Encoding
in: header
description: |
Specifies the response encoding that the client would like to receive back. This must be `gzip`.
required: true
schema:
type: string
example: gzip
- name: Customer-Ip
in: header
description: |
IP address of the customer, as captured by your integration.
Ensure your integration passes the customer's IP, not your own. This value helps determine their location and assign the correct payment gateway.
Also used for fraud recovery and other important analytics.
schema:
type: string
- name: Customer-Session-Id
in: header
description: |
Insert your own unique value for each user session, beginning with the first API call.
Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session.
Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session.
schema:
type: string
- name: property_id
in: path
description: |
Expedia Property ID.
required: true
schema:
type: string
example: 19248
- name: token
in: query
description: |
Provided as part of the link object and used to maintain state across calls. This simplifies each subsequent call by limiting the amount of information required at each step and reduces the potential for errors. Token values cannot be viewed or changed.
required: true
schema:
type: string
example: MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m
- name: User-Agent
in: header
description: |
The `User-Agent` header string from the customer's request, as captured by your integration. If you are building an application then the `User-Agent` value should be `{app name}/{app version}`.
required: true
schema:
type: string
example: TravelNow/3.30.112
responses:
"200":
description: OK
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/PaymentOption'
example:
affiliate_collect:
name: Affiliate Collect
credit_card:
name: Credit Card
card_options:
- name: AmericanExpress
- name: MasterCard
processing_country: US
merchant:
name: TRAVEL RESERVATION
"400":
description: Bad Request
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: invalid_input
message: "An invalid request was sent in, please check the nested errors for details."
errors:
- type: link.invalid
message: Link is invalid.
"404":
description: Not Found
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: payment_options.not_found
message: The requested property returned no payment options that are enabled for this point of sale.
fields:
- name: property_id
type: path
value: "1337"
- name: token.currency
type: querystring
value: USD
- name: token.country_code
type: querystring
value: US
"426":
description: Upgrade Required
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: upgrade_required
message: This service requires the use of TLS.
"429":
description: Too Many Requests
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: too_many_requests
message: You have reached your capacity for this type of request.
"500":
description: Unknown Internal Error
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: unknown_internal_error
message: An internal server error has occurred.
"503":
description: Service Unavailable
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: service_unavailable
message: This service is currently unavailable.
security:
- rapidAuth: []
/calendars/availability:
get:
tags:
- Shopping
summary: Expedia Group Get a calendar of availability dates for properties. This is currently a Vrbo property only feature.
description: |
Returns availability information for the specified properties (maximum of 25 properties per request).
The response includes per day information about the property's availability, information about if check-in or check-out is available for the day,
and information regarding the stay constraints.
operationId: getCalendarAvailability
parameters:
- name: Accept
in: header
description: |
Specifies the response format that the client would like to receive back. This must be `application/json`.
required: true
schema:
type: string
example: application/json
- name: Accept-Encoding
in: header
description: |
Specifies the response encoding that the client would like to receive back. This must be `gzip`.
required: true
schema:
type: string
example: gzip
- name: Authorization
in: header
description: "The custom generated authentication header. Refer to our [signature authentication](https://developer.expediapartnersolutions.com/reference/signature-authentication) page for full details."
required: true
schema:
type: string
- name: User-Agent
in: header
description: |
The `User-Agent` header string from the customer's request, as captured by your integration. If you are building an application then the `User-Agent` value should be `{app name}/{app version}`.
required: true
schema:
type: string
example: TravelNow/3.30.112
- name: Test
in: header
description: |
Shop calls have a test header that can be used to return set responses with the following keywords:
* `standard`
* `service_unavailable`
* `unknown_internal_error`
schema:
type: string
enum:
- standard
- service_unavailable
- unknown_internal_error
- name: property_id
in: query
description: |
The ID of the property you want to search for. You can provide 1 to 250 property_id parameters.
required: true
style: form
explode: true
schema:
type: array
items:
type: string
example: property_id=1234&property_id=5678
- name: start_date
in: query
description: |
The first day of availability information to be returned, in ISO 8601 format (YYYY-MM-DD), up to 500 days in the future from the current date.
required: true
schema:
type: string
format: date
example: '2023-01-15'
- name: end_date
in: query
description: |
The last day of availability information to be returned, in ISO 8601 format (YYYY-MM-DD). This must be 365 days or less from the start_date.
required: true
schema:
type: string
format: date
example: '2023-12-17'
responses:
"200":
description: OK
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/PropertyCalendarAvailability'
examples:
Single Property Availability:
value:
- property_id: "1234"
days:
- date: '2022-09-20'
available: true
checkin: CHECKIN_VALID
checkout: CHECKOUT_VALID
stay_constraints:
min_stay: 1
max_stay: 14
- date: '2022-09-21'
available: true
checkin: CHECKIN_VALID
checkout: CHECKOUT_VALID
stay_constraints:
min_stay: 1
max_stay: 14
Multi Property Availability:
value:
- property_id: "1234"
days:
- date: '2022-09-20'
available: true
checkin: CHECKIN_VALID
checkout: CHECKOUT_VALID
stay_constraints:
min_stay: 1
max_stay: 14
- property_id: "5678"
days:
- date: '2022-09-20'
available: true
checkin: CHECKIN_VALID
checkout: CHECKOUT_VALID
stay_constraints:
min_stay: 1
max_stay: 5
No Results:
value: []
"400":
description: Bad Request
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Example:
example:
type: invalid_input
message: "An invalid request was sent in, please check the nested errors for details."
errors:
- type: checkin.invalid_date_format
message: Invalid checkin format. It must be formatted in ISO 8601 (YYYY-mm-dd) http://www.iso.org/iso/catalogue_detail?csnumber=40874.
fields:
- name: checkin
type: querystring
value: 2019-01-1
- type: number_of_occupancies.invalid_above_maximum
message: Number of occupancies must be less than 9.
fields:
- name: occupancy
type: querystring
value: "9"
"401":
description: Unauthorized
headers:
Region:
$ref: '#/components/headers/Region'
WWW-Authenticate:
description: Provides an example of the Authorization header.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Example:
example:
type: request_unauthenticated
message: Data required to authenticate your request is missing or inaccurate. Ensure that your request follows the guidelines in our documentation.
fields:
- name: apikey
type: header
value: jaj3982k239dka328e
- name: signature
type: header
value: 129d75332614a5bdbe0c7eb540e95a65f9d85a5b53dabb38d19b37fad6312a2bd25c12ee5a82831d55112087e1b
- name: timestamp
type: header
value: 198284729
- name: servertimestamp
type: server
value: 198284729
"403":
description: Forbidden
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Example:
example:
type: request_unauthorized
message: Your request could not be authorized.
"426":
description: Upgrade Required
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Example:
example:
type: upgrade_required
message: This service requires the use of TLS.
"429":
description: Too Many Requests
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Example:
example:
type: too_many_requests
message: You have reached your capacity for this type of request.
"500":
description: Unknown Internal Error
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Example:
example:
type: unknown_internal_error
message: An internal server error has occurred.
"503":
description: Service Unavailable
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Example:
example:
type: service_unavailable
message: This service is currently unavailable.
security:
- rapidAuth: []
/payment-sessions:
post:
tags:
- Bookings
summary: Expedia Group Register Payments
description: |
This link only applies to transactions where EPS takes the customer's payment information. This includes both Expedia Collect and Property Collect transactions.
This link will be available in the Price Check response if payment registration is required. It returns a payment session ID and a link to create a booking. This will be the first step in the booking flow only if you've opted into Two-Factor Authentication to comply with the September 2019 EU Regulations for PSD2. Learn more with our [PSD2 Overview](https://developers.expediagroup.com/docs/rapid/lodging/booking/psd2-regulation)
operationId: postPaymentSessions
parameters:
- name: Accept
in: header
description: |
Specifies the response format that the client would like to receive back. This must be `application/json`.
required: true
schema:
type: string
example: application/json
- name: Accept-Encoding
in: header
description: |
Specifies the response encoding that the client would like to receive back. This must be `gzip`.
required: true
schema:
type: string
example: gzip
- name: Content-Type
in: header
description: |
This parameter is to specify what format the request body is in. The only supported value is application/json.
required: true
schema:
type: string
example: application/json
- name: Customer-Ip
in: header
description: |
IP address of the customer, as captured by your integration.
Ensure your integration passes the customer's IP, not your own. This value helps determine their location and assign the correct payment gateway.
Also used for fraud recovery and other important analytics.
required: true
schema:
type: string
- name: Customer-Session-Id
in: header
description: |
Insert your own unique value for each user session, beginning with the first API call.
Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session.
Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session.
schema:
type: string
- name: User-Agent
in: header
description: |
The `User-Agent` header string from the customer's request, as captured by your integration. If you are building an application then the `User-Agent` value should be `{app name}/{app version}`.
required: true
schema:
type: string
example: TravelNow/3.30.112
- name: Test
in: header
description: |
The book call has a test header that can be used to return set responses with the following keywords:
* `standard`
* `service_unavailable`
* `internal_server_error`
schema:
type: string
enum:
- standard
- service_unavailable
- internal_server_error
- name: token
in: query
description: |
Provided as part of the link object and used to maintain state across calls. This simplifies each subsequent call by limiting the amount of information required at each step and reduces the potential for errors. Token values cannot be viewed or changed.
required: true
schema:
type: string
example: MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PaymentSessionsRequest'
required: true
responses:
"201":
description: Created
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/PaymentSessions'
example:
payment_session_id: 76d6aaea-c1d5-11e8-a355-529269fb1459
encoded_init_config: QSBiYXNlNjQgZW5jb2RlZCBvYmplY3Qgd2hpY2ggY29udGFpbnMgY29uZmlndXJhdGlvbiBuZWVkZWQgdG8gcGVyZm9ybSBkZXZpY2UgZmluZ2VycHJpbnRpbmcgYW5kL29yIDNEUyBNZXRob2Qu
links:
book:
method: POST
href: /v3/itineraries?token=MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m
expires: '2019-03-05T07:23:14.000Z'
"400":
description: Bad Request
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: invalid_input
message: "An invalid request was sent in, please check the nested errors for details."
errors:
- type: payments.required
message: Payment is required.
fields:
- name: payments
type: body
"401":
description: Unauthorized
headers:
Region:
$ref: '#/components/headers/Region'
WWW-Authenticate:
description: Provides an example of the Authorization header.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: request_unauthenticated
message: Data required to authenticate your request is missing or inaccurate. Ensure that your request follows the guidelines in our documentation.
fields:
- name: apikey
type: header
value: jaj3982k239dka328e
- name: signature
type: header
value: 129d75332614a5bdbe0c7eb540e95a65f9d85a5b53dabb38d19b37fad6312a2bd25c12ee5a82831d55112087e1b
- name: timestamp
type: header
value: 198284729
- name: servertimestamp
type: server
value: 198284729
"403":
description: Forbidden
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: request_unauthorized
message: Your request could not be authorized.
"426":
description: Upgrade Required
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: upgrade_required
message: This service requires the use of TLS.
"429":
description: Too Many Requests
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: too_many_requests
message: You have reached your capacity for this type of request.
"500":
description: Unknown Internal Error
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: unknown_internal_error
message: An internal server error has occurred.
"503":
description: Service Unavailable
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: service_unavailable
message: This service is currently unavailable.
security:
- rapidAuth: []
/itineraries:
get:
tags:
- Manage Booking
summary: Expedia Group Search for and retrieve Bookings with Affiliate Reference Id
description: |
This can be called directly without a token when an affiliate reference id is provided. It returns details about bookings associated with an affiliate reference id, along with cancel links to cancel the bookings.
Note: Newly created itineraries may sometimes have a small delay between the time of creation and the time that the itinerary can be retrieved. If you receive no results while trying to search for an itinerary that was successfully created, or if you receive a response with two fields, namely, `itinerary_id` and `creation_date_time`, then please wait a few minutes before trying to search for the itinerary again.
operationId: getReservation
parameters:
- name: Accept
in: header
description: |
Specifies the response format that the client would like to receive back. This must be `application/json`.
required: true
schema:
type: string
example: application/json
- name: Accept-Encoding
in: header
description: |
Specifies the response encoding that the client would like to receive back. This must be `gzip`.
required: true
schema:
type: string
example: gzip
- name: Customer-Ip
in: header
description: |
IP address of the customer, as captured by your integration.
Ensure your integration passes the customer's IP, not your own. This value helps determine their location and assign the correct payment gateway.
Also used for fraud recovery and other important analytics.
required: true
schema:
type: string
- name: User-Agent
in: header
description: |
The `User-Agent` header string from the customer's request, as captured by your integration. If you are building an application then the `User-Agent` value should be `{app name}/{app version}`.
required: true
schema:
type: string
example: TravelNow/3.30.112
- name: Customer-Session-Id
in: header
description: |
Insert your own unique value for each user session, beginning with the first API call.
Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session.
Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session.
schema:
type: string
- name: Test
in: header
description: |
The retrieve call has a test header that can be used to return set responses with the following keywords:
* `standard` - Requires valid test booking.
* `service_unavailable`
* `internal_server_error`
schema:
type: string
enum:
- standard
- service_unavailable
- internal_server_error
- name: affiliate_reference_id
in: query
description: |
The affilliate reference id value. This field supports a maximum of 28 characters.
required: true
schema:
type: string
example: 111A222BB33344CC5555
- name: email
in: query
description: |
Email associated with the booking. Special characters in the local part or domain should be encoded.
required: true
schema:
type: string
example: test@example.com
- name: include
in: query
description: |
Options for which information to return in the response. The value must be lower case.
* history - Include itinerary history, showing details of the changes made to this itinerary
required: false
schema:
type: array
items:
type: string
enum:
- history
example:
- history
responses:
"200":
description: OK
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Itinerary'
examples:
Itineraries:
value:
- itinerary_id: "8999989898988"
property_id: "8150374"
links:
cancel:
method: DELETE
href: /v3/itineraries/8999989898988?token=MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m
email: smith@example.com
phone:
country_code: "1"
area_code: "487"
number: "5550077"
rooms:
- id: "926784314"
confirmation_id:
expedia: "1234567890"
property: BEF23123AA
bed_group_id: d395b56d-d31d-4a84-ad2b-66820b1d48e2
checkin: '2018-09-21'
checkout: '2018-09-23'
number_of_adults: 2
child_ages:
- 2
- 3
given_name: Givenne
family_name: Nameo
status: booked
special_request: Please give me extra towels.
smoking: false
rate:
id: "035943984"
merchant_of_record: expedia
refundable: true
cancel_refund:
amount: -65.98
currency: USD
amenities:
- "12345"
- "678"
- "9999"
promotions:
value_adds:
"123abc":
id: 123abc
description: 10 USD credit on activities and sports for your stay.
"3x4mp13":
id: 3x4mp13
description: 20% discount on theme park tickets purchased through the concierge desk.
cancel_penalties:
- start: '2018-01-01T01:01:01.000-08:00'
end: '2018-12-12T01:01:01.000-08:00'
amount: "250.75"
currency: USD
nonrefundable_date_ranges:
- start: '2022-02-02'
end: '2022-02-02'
deposits:
- currency: USD
value: "220.75"
due: '2018-12-12T01:01:01.000-08:00'
pricing:
nightly:
- - type: base_rate
value: "111.23"
currency: USD
- type: sales_tax
value: "11.12"
currency: USD
- - type: base_rate
value: "111.23"
currency: USD
- type: sales_tax
value: "11.12"
currency: USD
stay:
- type: base_rate
value: "123.45"
currency: USD
totals:
inclusive:
billable_currency:
value: "368.15"
currency: USD
exclusive:
billable_currency:
value: "345.91"
currency: USD
marketing_fee:
billable_currency:
value: "7.75"
currency: USD
property_fees:
billable_currency:
value: "36.95"
currency: USD
fees:
mandatory_fee:
billable_currency:
value: "5.00"
currency: USD
resort_fee:
billable_currency:
value: "20.00"
currency: USD
mandatory_tax:
billable_currency:
value: "11.95"
currency: USD
links:
cancel:
method: DELETE
href: /v3/itineraries/8999989898988/rooms/d08572fc-82d2-4d5d-ad30-60f5be7fb53e?token=MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m
change:
method: PUT
href: /v3/itineraries/8999989898988/rooms/d08572fc-82d2-4d5d-ad30-60f5be7fb53e?token=MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m
shop_for_change:
method: GET
href: /v3/properties/8150374/availability?token=MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m
billing_contact:
given_name: John
family_name: Smith
address:
line_1: 555 1st St
line_2: 10th Floor
line_3: Unit 12
city: Seattle
state_province_code: WA
postal_code: "98121"
country_code: US
adjustment:
value: -100.0
type: base_rate
currency: USD
creation_date_time: '2017-08-17T13:31:15.523Z'
affiliate_reference_id: 4480ABC
affiliate_metadata: This booking was made with EPS.
conversations:
links:
property:
method: GET
href: https://www.example.com?key=123abd456
travel_purpose: leisure
trader_information:
traders:
- name: Test Property Name
address:
line_1: 123 Main St
city: Springfield
state_province_code: MO
postal_code: "65804"
country_code: US
business_register_name: A Real Registry
business_register_number: 72973910d
self_certification: true
phone: 1-417-555-1212
right_to_withdraw_message: |
The right of withdrawal under European consumer law does not apply when you book
accommodation. Supplier cancellation policy will apply
terms_and_conditions: https://forever.travel-assets.com/flex/flexmanager/mediaasset/618796-0_2-UnitedKingdom_en.pdf
Itinerary With History and Change - Extend Stay:
value:
- itinerary_id: "8999989898988"
property_id: "8150374"
links:
cancel:
method: DELETE
href: /v3/itineraries/8999989898988?token=MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m
email: smith@example.com
phone:
country_code: "1"
area_code: "487"
number: "5550077"
rooms:
- id: "926784314"
confirmation_id:
expedia: "1234567890"
property: BEF23123AA
bed_group_id: d395b56d-d31d-4a84-ad2b-66820b1d48e2
checkin: '2018-09-21'
checkout: '2018-09-23'
number_of_adults: 2
child_ages:
- 2
- 3
given_name: Givenne
family_name: Nameo
status: booked
special_request: Please give me extra towels.
smoking: false
rate:
id: "035943984"
merchant_of_record: expedia
refundable: true
cancel_refund:
amount: "-65.98"
currency: USD
amenities:
- "12345"
- "678"
- "9999"
promotions:
value_adds:
"123abc":
id: 123abc
description: 10 USD credit on activities and sports for your stay.
"3x4mp13":
id: 3x4mp13
description: 20% discount on theme park tickets purchased through the concierge desk.
cancel_penalties:
- start: '2018-01-01T01:01:01.000-08:00'
end: '2018-12-12T01:01:01.000-08:00'
amount: "250.75"
currency: USD
nonrefundable_date_ranges:
- start: '2018-09-14'
end: '2018-09-23'
deposits:
- currency: USD
value: "220.75"
due: '2018-08-24T01:01:01.000-08:00'
pricing:
nightly:
- - type: base_rate
value: "111.23"
currency: USD
- type: sales_tax
value: "11.12"
currency: USD
- - type: base_rate
value: "111.23"
currency: USD
- type: sales_tax
value: "11.12"
currency: USD
stay:
- type: base_rate
value: "123.45"
currency: USD
totals:
inclusive:
billable_currency:
value: "368.15"
currency: USD
exclusive:
billable_currency:
value: "345.91"
currency: USD
marketing_fee:
billable_currency:
value: "7.75"
currency: USD
property_fees:
billable_currency:
value: "36.95"
currency: USD
fees:
mandatory_fee:
billable_currency:
value: "5.00"
currency: USD
resort_fee:
billable_currency:
value: "20.00"
currency: USD
mandatory_tax:
billable_currency:
value: "11.95"
currency: USD
links:
cancel:
method: DELETE
href: /v3/itineraries/8999989898988/rooms/d08572fc-82d2-4d5d-ad30-60f5be7fb53e?token=MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m
change:
method: PUT
href: /v3/itineraries/8999989898988/rooms/d08572fc-82d2-4d5d-ad30-60f5be7fb53e?token=MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m
billing_contact:
given_name: John
family_name: Smith
address:
line_1: 555 1st St
line_2: 10th Floor
line_3: Unit 12
city: Seattle
state_province_code: WA
postal_code: "98121"
country_code: US
adjustment:
value: "-32.10"
type: base_rate
currency: USD
creation_date_time: '2017-08-15T15:32:55.523Z'
affiliate_reference_id: 4480ABC
affiliate_metadata: This booking was made with EPS.
conversations:
links:
property:
method: GET
href: https://www.example.com?key=123abd456
travel_purpose: unspecified
itinerary_history:
- history_id: "802737048"
event_timestamp: '2017-09-17T13:31:15.523Z'
event_type: adjustment
amount:
value: "-32.10"
currency: USD
agent_id: "10203"
room_history:
- - history_id: "928364986296"
event_timestamp: '2017-08-15T15:32:55.523Z'
event_type: created
event_source: rapid_api
room_id: "926784314"
confirmation_id:
expedia: "664637628"
property: COR8729347BB
bed_group_id: d395b56d-d31d-4a84-ad2b-66820b1d48e2
checkin: '2018-09-21'
checkout: '2018-09-22'
number_of_adults: 2
child_ages:
- 2
- 3
given_name: Givenne
family_name: Nameo
status: booked
special_request: Please give me extra towels.
smoking: false
amount_charged:
billable_currency:
value: "244.70"
currency: USD
rate:
id: "035943984"
promotions:
value_adds:
"123abc":
id: 123abc
description: 10 USD credit on activities and sports for your stay.
"3x4mp13":
id: 3x4mp13
description: 20% discount on theme park tickets purchased through the concierge desk.
deposits:
- currency: USD
value: "220.75"
due: '2018-08-24T01:01:01.000-08:00'
pricing:
nightly:
- - type: base_rate
value: "111.23"
currency: USD
- type: sales_tax
value: "11.12"
currency: USD
- - type: base_rate
value: "111.23"
currency: USD
- type: sales_tax
value: "11.12"
currency: USD
stay:
- type: base_rate
value: "123.45"
currency: USD
totals:
inclusive:
billable_currency:
value: "244.70"
currency: USD
exclusive:
billable_currency:
value: "234.68"
currency: USD
marketing_fee:
billable_currency:
value: "5.14"
currency: USD
property_fees:
billable_currency:
value: "36.95"
currency: USD
fees:
mandatory_fee:
billable_currency:
value: "5.00"
currency: USD
resort_fee:
billable_currency:
value: "20.00"
currency: USD
mandatory_tax:
billable_currency:
value: "11.95"
currency: USD
- history_id: "30303030"
event_timestamp: '2017-08-17T13:31:15.523Z'
event_type: modified
event_source: rapid_api
change_reference_id: v1-Givenne
room_id: "926784314"
confirmation_id:
expedia: "1234567890"
property: BEF23123AA
bed_group_id: d395b56d-d31d-4a84-ad2b-66820b1d48e2
checkin: '2018-09-21'
checkout: '2018-09-23'
number_of_adults: 2
child_ages:
- 2
- 3
given_name: Givenne
family_name: Nameo
status: booked
special_request: Please give me extra towels.
smoking: false
amount_charged:
billable_currency:
value: "123.45"
currency: USD
rate:
id: "035943984"
promotions:
value_adds:
"123abc":
id: 123abc
description: 10 USD credit on activities and sports for your stay.
"3x4mp13":
id: 3x4mp13
description: 20% discount on theme park tickets purchased through the concierge desk.
deposits:
- currency: USD
value: "220.75"
due: '2018-08-24T01:01:01.000-08:00'
pricing:
nightly:
- - type: base_rate
value: "111.23"
currency: USD
- type: sales_tax
value: "11.12"
currency: USD
- - type: base_rate
value: "111.23"
currency: USD
- type: sales_tax
value: "11.12"
currency: USD
stay:
- type: base_rate
value: "123.45"
currency: USD
totals:
inclusive:
billable_currency:
value: "368.15"
currency: USD
exclusive:
billable_currency:
value: "345.91"
currency: USD
marketing_fee:
billable_currency:
value: "7.75"
currency: USD
property_fees:
billable_currency:
value: "36.95"
currency: USD
fees:
mandatory_fee:
billable_currency:
value: "5.00"
currency: USD
resort_fee:
billable_currency:
value: "20.00"
currency: USD
mandatory_tax:
billable_currency:
value: "11.95"
currency: USD
No itineraries:
value: []
"400":
description: Bad Request
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: invalid_input
message: "An invalid request was sent in, please check the nested errors for details."
errors:
- type: email.invalid
message: Customer email address is invalid.
fields:
- name: email
type: querystring
value: thisisabademail
"401":
description: Unauthorized
headers:
Region:
$ref: '#/components/headers/Region'
WWW-Authenticate:
description: Provides an example of the Authorization header.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: request_unauthenticated
message: Data required to authenticate your request is missing or inaccurate. Ensure that your request follows the guidelines in our documentation.
fields:
- name: apikey
type: header
value: jaj3982k239dka328e
- name: signature
type: header
value: 129d75332614a5bdbe0c7eb540e95a65f9d85a5b53dabb38d19b37fad6312a2bd25c12ee5a82831d55112087e1b
- name: timestamp
type: header
value: 198284729
- name: servertimestamp
type: server
value: 198284729
"403":
description: Forbidden
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: request_unauthorized
message: Your request could not be authorized.
"426":
description: Upgrade Required
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: upgrade_required
message: This service requires the use of TLS.
"429":
description: Too Many Requests
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: too_many_requests
message: You have reached your capacity for this type of request.
"500":
description: Unknown Internal Error
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: unknown_internal_error
message: An internal server error has occurred.
"503":
description: Service Unavailable
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: service_unavailable
message: This service is currently unavailable.
security:
- rapidAuth: []
post:
tags:
- Bookings
summary: Expedia Group Create Booking
description: |
This link will be available in the Price Check response or in the register payments response when Two-Factor Authentication is used. It returns an itinerary id and links to retrieve reservation details, cancel a held booking, resume a held booking or complete payment session. Please note that depending on the state of the booking, the response will contain only the applicable link(s).
operationId: postItinerary
parameters:
- name: Accept
in: header
description: |
Specifies the response format that the client would like to receive back. This must be `application/json`.
required: true
schema:
type: string
example: application/json
- name: Accept-Encoding
in: header
description: |
Specifies the response encoding that the client would like to receive back. This must be `gzip`.
required: true
schema:
type: string
example: gzip
- name: Content-Type
in: header
description: |
This parameter is to specify what format the request body is in. The only supported value is application/json.
required: true
schema:
type: string
example: application/json
- name: Customer-Ip
in: header
description: |
IP address of the customer, as captured by your integration.
Ensure your integration passes the customer's IP, not your own. This value helps determine their location and assign the correct payment gateway.
Also used for fraud recovery and other important analytics.
required: true
schema:
type: string
- name: Customer-Session-Id
in: header
description: |
Insert your own unique value for each user session, beginning with the first API call.
Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session.
Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session.
schema:
type: string
- name: User-Agent
in: header
description: |
The `User-Agent` header string from the customer's request, as captured by your integration. If you are building an application then the `User-Agent` value should be `{app name}/{app version}`.
required: true
schema:
type: string
example: TravelNow/3.30.112
- name: Test
in: header
description: |
The book call has a test header that can be used to return set responses with the following keywords:
* `standard`
* `complete_payment_session`
* `service_unavailable`
* `internal_server_error`
* `price_mismatch`
* `cc_declined`
* `rooms_unavailable`
schema:
type: string
enum:
- standard
- service_unavailable
- internal_server_error
- price_mismatch
- cc_declined
- rooms_unavailable
- name: token
in: query
description: |
Provided as part of the link object and used to maintain state across calls. This simplifies each subsequent call by limiting the amount of information required at each step and reduces the potential for errors. Token values cannot be viewed or changed.
required: true
schema:
type: string
example: MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateItineraryRequest'
required: true
responses:
"201":
description: Created
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/ItineraryCreation'
examples:
Create Without Hold (No Challenge) Example:
value:
itinerary_id: "8999989898988"
links:
retrieve:
method: GET
href: /v3/itineraries/8999989898988?token=MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m
Create With Hold (No Challenge) Example:
value:
itinerary_id: "8999989898988"
links:
retrieve:
method: GET
href: /v3/itineraries/8999989898988?token=MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m
resume:
method: PUT
href: /v3/itineraries/8999989898988?token=MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m
cancel:
method: DELETE
href: /v3/itineraries/8999989898988?token=MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m
Create (Payment Challenged) Example:
value:
itinerary_id: "8999989898988"
links:
complete_payment_session:
method: PUT
href: /v3/itineraries/8999989898988/payment-sessions?token=MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m
encoded_challenge_config: ABElifsiejfacies2@033asfe=
"400":
description: Bad Request
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
examples:
Invalid Country Code Example:
value:
type: invalid_input
message: "An invalid request was sent in, please check the nested errors for details."
errors:
- type: address.country_code.invalid
message: Address country code is invalid.
fields:
- name: country_code
type: body
value: ABCD
Duplicate Itinerary Example:
value:
type: invalid_input
message: "An invalid request was sent in, please check the nested errors for details."
errors:
- type: duplicate_itinerary
message: An itinerary already exists with this affiliate reference id.
fields:
- name: affiliate_reference_id
type: body
value: ABCD
"401":
description: Unauthorized
headers:
Region:
$ref: '#/components/headers/Region'
WWW-Authenticate:
description: Provides an example of the Authorization header.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: request_unauthenticated
message: Data required to authenticate your request is missing or inaccurate. Ensure that your request follows the guidelines in our documentation.
fields:
- name: apikey
type: header
value: jaj3982k239dka328e
- name: signature
type: header
value: 129d75332614a5bdbe0c7eb540e95a65f9d85a5b53dabb38d19b37fad6312a2bd25c12ee5a82831d55112087e1b
- name: timestamp
type: header
value: 198284729
- name: servertimestamp
type: server
value: 198284729
"403":
description: Forbidden
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: request_unauthorized
message: Your request could not be authorized.
"409":
description: Price Mismatch
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: price_mismatch
message: "Payment amount did not match current price, please check price and try again."
fields:
- name: payments.amount
type: body
value: "100.00"
- name: price.amount
type: body
value: "120.00"
"410":
description: Sold Out
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: rooms_unavailable
message: One or more requested rooms are unavailable.
"426":
description: Upgrade Required
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: upgrade_required
message: This service requires the use of TLS.
"429":
description: Too Many Requests
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: too_many_requests
message: You have reached your capacity for this type of request.
"500":
description: Unknown Internal Error
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: unknown_internal_error
message: An internal server error has occurred.
"503":
description: Service Unavailable
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: service_unavailable
message: This service is currently unavailable.
security:
- rapidAuth: []
/itineraries/{itinerary_id}:
get:
tags:
- Manage Booking
summary: Expedia Group Retrieve Booking
description: |
This API call returns itinerary details and links to resume or cancel the booking. There are two methods to retrieve a booking:
* Using the link included in the original Book response, example: https://api.ean.com/v3/itineraries/8955599932111?token=QldfCGlcUA4GXVlSAQ4W
* Using the email of the booking. If the email contains special characters, they must be encoded to successfully retrieve the booking. Example: https://api.ean.com/v3/itineraries/8955599932111?email=customer@email.com
Note: Newly created itineraries may sometimes have a small delay between the time of creation and the time that the itinerary can be retrieved. If you receive an error when trying to retrieve an itinerary that was successfully created, or if you receive a response with two fields, namely, `itinerary_id` and `creation_date_time`, then please wait a few minutes before trying to retrieve the itinerary again.
operationId: getReservationByItineraryId
parameters:
- name: Accept
in: header
description: |
Specifies the response format that the client would like to receive back. This must be `application/json`.
required: true
schema:
type: string
example: application/json
- name: Accept-Encoding
in: header
description: |
Specifies the response encoding that the client would like to receive back. This must be `gzip`.
required: true
schema:
type: string
example: gzip
- name: Customer-Ip
in: header
description: |
IP address of the customer, as captured by your integration.
Ensure your integration passes the customer's IP, not your own. This value helps determine their location and assign the correct payment gateway.
Also used for fraud recovery and other important analytics.
required: true
schema:
type: string
- name: Customer-Session-Id
in: header
description: |
Insert your own unique value for each user session, beginning with the first API call.
Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session.
Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session.
schema:
type: string
- name: User-Agent
in: header
description: |
The `User-Agent` header string from the customer's request, as captured by your integration. If you are building an application then the `User-Agent` value should be `{app name}/{app version}`.
required: true
schema:
type: string
example: TravelNow/3.30.112
- name: Test
in: header
description: |
The retrieve call has a test header that can be used to return set responses. Passing standard in the Test header will retrieve a test booking, and passing any of the errors listed below will return a stubbed error response that you can use to test your error handling code. Additionally, refer to the Test Request documentation for more details on how these header values are used.
* `standard` - Requires valid test booking.
* `service_unavailable`
* `internal_server_error`
schema:
type: string
enum:
- standard
- service_unavailable
- internal_server_error
- name: itinerary_id
in: path
description: |
This parameter is used only to prefix the token value - no ID value is used.
required: true
schema:
type: string
example: "8955599932111"
- name: token
in: query
description: |
Provided as part of the link object and used to maintain state across calls. This simplifies each subsequent call by limiting the amount of information required at each step and reduces the potential for errors. Token values cannot be viewed or changed.
schema:
type: string
example: MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m
- name: email
in: query
description: |
Email associated with the booking. Special characters in the local part or domain should be encoded. (Email is required if the token is not provided the request)
schema:
type: string
example: test@example.com
- name: include
in: query
description: |
Options for which information to return in the response. The value must be lower case.
* history - Include itinerary history, showing details of the changes made to this itinerary
required: false
schema:
type: array
items:
type: string
enum:
- history
example:
- history
responses:
"200":
description: OK
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Itinerary'
examples:
Itinerary No History:
value:
itinerary_id: "8999989898988"
property_id: "8150374"
links:
cancel:
method: DELETE
href: /v3/itineraries/8999989898988?token=MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m
email: smith@example.com
phone:
country_code: "1"
area_code: "487"
number: "5550077"
rooms:
- id: "926784314"
confirmation_id:
expedia: "1234567890"
property: BEF23123AA
bed_group_id: d395b56d-d31d-4a84-ad2b-66820b1d48e2
checkin: '2018-09-21'
checkout: '2018-09-23'
number_of_adults: 2
child_ages:
- 2
- 3
given_name: Givenne
family_name: Nameo
status: booked
special_request: Please give me extra towels.
smoking: false
loyalty_id: ABC123
rate:
id: "035943984"
merchant_of_record: expedia
refundable: true
cancel_refund:
amount: -65.98
currency: USD
amenities:
- "12345"
- "678"
- "9999"
promotions:
value_adds:
"123abc":
id: 123abc
description: 10 USD credit on activities and sports for your stay.
"3x4mp13":
id: 3x4mp13
description: 20% discount on theme park tickets purchased through the concierge desk.
cancel_penalties:
- start: '2018-01-01T01:01:01.000-08:00'
end: '2018-12-12T01:01:01.000-08:00'
amount: "250.75"
currency: USD
nonrefundable_date_ranges:
- start: '2022-02-02'
end: '2022-02-02'
deposits:
- currency: USD
value: "220.75"
due: '2018-12-12T01:01:01.000-08:00'
pricing:
nightly:
- - type: base_rate
value: "111.23"
currency: USD
- type: sales_tax
value: "11.12"
currency: USD
- - type: base_rate
value: "111.23"
currency: USD
- type: sales_tax
value: "11.12"
currency: USD
stay:
- type: base_rate
value: "123.45"
currency: USD
totals:
inclusive:
billable_currency:
value: "368.15"
currency: USD
exclusive:
billable_currency:
value: "345.91"
currency: USD
marketing_fee:
billable_currency:
value: "7.75"
currency: USD
property_fees:
billable_currency:
value: "36.95"
currency: USD
fees:
mandatory_fee:
billable_currency:
value: "5.00"
currency: USD
resort_fee:
billable_currency:
value: "20.00"
currency: USD
mandatory_tax:
billable_currency:
value: "11.95"
currency: USD
links:
cancel:
method: DELETE
href: /v3/itineraries/8999989898988/rooms/d08572fc-82d2-4d5d-ad30-60f5be7fb53e?token=MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m
change:
method: PUT
href: /v3/itineraries/8999989898988/rooms/d08572fc-82d2-4d5d-ad30-60f5be7fb53e?token=MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m
shop_for_change:
method: GET
href: /v3/properties/8150374/availability?token=MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m
billing_contact:
given_name: John
family_name: Smith
address:
line_1: 555 1st St
line_2: 10th Floor
line_3: Unit 12
city: Seattle
state_province_code: WA
postal_code: "98121"
country_code: US
adjustment:
value: -100.0
type: base_rate
currency: USD
creation_date_time: '2017-08-17T13:31:15.523Z'
affiliate_reference_id: 4480ABC
affiliate_metadata: This booking was made with EPS.
conversations:
links:
property:
method: GET
href: https://www.example.com?key=123abd456
travel_purpose: leisure
Itinerary with History:
value:
itinerary_id: "8999989898988"
property_id: "8150374"
links:
cancel:
method: DELETE
href: /v3/itineraries/8999989898988?token=MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m
email: smith@example.com
phone:
country_code: "1"
area_code: "487"
number: "5550077"
rooms:
- id: "926784314"
confirmation_id:
expedia: "1234567890"
property: BEF23123AA
bed_group_id: d395b56d-d31d-4a84-ad2b-66820b1d48e2
checkin: '2018-09-21'
checkout: '2018-09-23'
number_of_adults: 2
child_ages:
- 2
- 3
given_name: Givenne
family_name: Nameo
status: booked
special_request: Please give me extra towels.
smoking: false
rate:
id: "035943984"
merchant_of_record: expedia
refundable: true
cancel_refund:
amount: "-65.98"
currency: USD
amenities:
- "12345"
- "678"
- "9999"
promotions:
value_adds:
"123abc":
id: 123abc
description: 10 USD credit on activities and sports for your stay.
"3x4mp13":
id: 3x4mp13
description: 20% discount on theme park tickets purchased through the concierge desk.
cancel_penalties:
- start: '2018-01-01T01:01:01.000-08:00'
end: '2018-12-12T01:01:01.000-08:00'
amount: "250.75"
currency: USD
nonrefundable_date_ranges:
- start: '2018-09-14'
end: '2018-09-23'
deposits:
- currency: USD
value: "220.75"
due: '2018-08-24T01:01:01.000-08:00'
pricing:
nightly:
- - type: base_rate
value: "111.23"
currency: USD
- type: sales_tax
value: "11.12"
currency: USD
- - type: base_rate
value: "111.23"
currency: USD
- type: sales_tax
value: "11.12"
currency: USD
stay:
- type: base_rate
value: "123.45"
currency: USD
totals:
inclusive:
billable_currency:
value: "368.15"
currency: USD
exclusive:
billable_currency:
value: "345.91"
currency: USD
marketing_fee:
billable_currency:
value: "7.75"
currency: USD
property_fees:
billable_currency:
value: "36.95"
currency: USD
fees:
mandatory_fee:
billable_currency:
value: "5.00"
currency: USD
resort_fee:
billable_currency:
value: "20.00"
currency: USD
mandatory_tax:
billable_currency:
value: "11.95"
currency: USD
links:
cancel:
method: DELETE
href: /v3/itineraries/8999989898988/rooms/d08572fc-82d2-4d5d-ad30-60f5be7fb53e?token=MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m
change:
method: PUT
href: /v3/itineraries/8999989898988/rooms/d08572fc-82d2-4d5d-ad30-60f5be7fb53e?token=MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m
shop_for_change:
method: GET
href: /v3/properties/8150374/availability?token=MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m
billing_contact:
given_name: John
family_name: Smith
address:
line_1: 555 1st St
line_2: 10th Floor
line_3: Unit 12
city: Seattle
state_province_code: WA
postal_code: "98121"
country_code: US
adjustment:
value: "-32.10"
type: base_rate
currency: USD
creation_date_time: '2017-08-15T15:32:55.523Z'
affiliate_reference_id: 4480ABC
affiliate_metadata: This booking was made with EPS.
conversations:
links:
property:
method: GET
href: https://www.example.com?key=123abd456
travel_purpose: unspecified
itinerary_history:
- history_id: "802737048"
event_timestamp: '2017-09-17T13:31:15.523Z'
event_type: adjustment
amount:
value: "-32.10"
currency: USD
agent_id: "10203"
room_history:
- - history_id: "928364986296"
event_timestamp: '2017-08-15T15:32:55.523Z'
event_type: created
event_source: rapid_api
room_id: "926784314"
confirmation_id:
expedia: "664637628"
property: COR8729347BB
bed_group_id: d395b56d-d31d-4a84-ad2b-66820b1d48e2
checkin: '2018-09-21'
checkout: '2018-09-22'
number_of_adults: 2
child_ages:
- 2
- 3
given_name: Givenne
family_name: Nameo
status: booked
special_request: Please give me extra towels.
smoking: false
amount_charged:
billable_currency:
value: "244.70"
currency: USD
rate:
id: "035943984"
promotions:
value_adds:
"123abc":
id: 123abc
description: 10 USD credit on activities and sports for your stay.
"3x4mp13":
id: 3x4mp13
description: 20% discount on theme park tickets purchased through the concierge desk.
deposits:
- currency: USD
value: "220.75"
due: '2018-08-24T01:01:01.000-08:00'
pricing:
nightly:
- - type: base_rate
value: "111.23"
currency: USD
- type: sales_tax
value: "11.12"
currency: USD
- - type: base_rate
value: "111.23"
currency: USD
- type: sales_tax
value: "11.12"
currency: USD
stay:
- type: base_rate
value: "123.45"
currency: USD
totals:
inclusive:
billable_currency:
value: "244.70"
currency: USD
exclusive:
billable_currency:
value: "234.68"
currency: USD
marketing_fee:
billable_currency:
value: "5.14"
currency: USD
property_fees:
billable_currency:
value: "36.95"
currency: USD
fees:
mandatory_fee:
billable_currency:
value: "5.00"
currency: USD
resort_fee:
billable_currency:
value: "20.00"
currency: USD
mandatory_tax:
billable_currency:
value: "11.95"
currency: USD
- history_id: "30303030"
event_timestamp: '2017-08-17T13:31:15.523Z'
event_type: modified
event_source: rapid_api
change_reference_id: v1-Givenne
room_id: "926784314"
confirmation_id:
expedia: "1234567890"
property: BEF23123AA
bed_group_id: d395b56d-d31d-4a84-ad2b-66820b1d48e2
checkin: '2018-09-21'
checkout: '2018-09-23'
number_of_adults: 2
child_ages:
- 2
- 3
given_name: Givenne
family_name: Nameo
status: booked
special_request: Please give me extra towels.
smoking: false
amount_charged:
billable_currency:
value: "123.45"
currency: USD
rate:
id: "035943984"
promotions:
value_adds:
"123abc":
id: 123abc
description: 10 USD credit on activities and sports for your stay.
"3x4mp13":
id: 3x4mp13
description: 20% discount on theme park tickets purchased through the concierge desk.
deposits:
- currency: USD
value: "220.75"
due: '2018-08-24T01:01:01.000-08:00'
pricing:
nightly:
- - type: base_rate
value: "111.23"
currency: USD
- type: sales_tax
value: "11.12"
currency: USD
- - type: base_rate
value: "111.23"
currency: USD
- type: sales_tax
value: "11.12"
currency: USD
stay:
- type: base_rate
value: "123.45"
currency: USD
totals:
inclusive:
billable_currency:
value: "368.15"
currency: USD
exclusive:
billable_currency:
value: "345.91"
currency: USD
marketing_fee:
billable_currency:
value: "7.75"
currency: USD
property_fees:
billable_currency:
value: "36.95"
currency: USD
fees:
mandatory_fee:
billable_currency:
value: "5.00"
currency: USD
resort_fee:
billable_currency:
value: "20.00"
currency: USD
mandatory_tax:
billable_currency:
value: "11.95"
currency: USD
"400":
description: Bad Request
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: invalid_input
message: "An invalid request was sent in, please check the nested errors for details."
errors:
- type: link.invalid
message: Link is invalid.
"401":
description: Unauthorized
headers:
Region:
$ref: '#/components/headers/Region'
WWW-Authenticate:
description: Provides an example of the Authorization header.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: request_unauthenticated
message: Data required to authenticate your request is missing or inaccurate. Ensure that your request follows the guidelines in our documentation.
fields:
- name: apikey
type: header
value: jaj3982k239dka328e
- name: signature
type: header
value: 129d75332614a5bdbe0c7eb540e95a65f9d85a5b53dabb38d19b37fad6312a2bd25c12ee5a82831d55112087e1b
- name: timestamp
type: header
value: 198284729
- name: servertimestamp
type: server
value: 198284729
"403":
description: Forbidden
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: request_unauthorized
message: Your request could not be authorized.
"404":
description: Not Found
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: resource_not_found
message: Itinerary was not found with provided request.
"426":
description: Upgrade Required
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: upgrade_required
message: This service requires the use of TLS.
"429":
description: Too Many Requests
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: too_many_requests
message: You have reached your capacity for this type of request.
"500":
description: Unknown Internal Error
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: unknown_internal_error
message: An internal server error has occurred.
"503":
description: Service Unavailable
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: service_unavailable
message: This service is currently unavailable.
security:
- rapidAuth: []
put:
tags:
- Bookings
summary: Expedia Group Resume Booking
description: |
This link will be available in the booking response after creating a held booking.
operationId: putResumeBooking
parameters:
- name: Accept
in: header
description: |
Specifies the response format that the client would like to receive back. This must be `application/json`.
required: true
schema:
type: string
example: application/json
- name: Accept-Encoding
in: header
description: |
Specifies the response encoding that the client would like to receive back. This must be `gzip`.
required: true
schema:
type: string
example: gzip
- name: Customer-Ip
in: header
description: |
IP address of the customer, as captured by your integration.
Ensure your integration passes the customer's IP, not your own. This value helps determine their location and assign the correct payment gateway.
Also used for fraud recovery and other important analytics.
required: true
schema:
type: string
- name: Customer-Session-Id
in: header
description: |
Insert your own unique value for each user session, beginning with the first API call.
Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session.
Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session.
schema:
type: string
- name: User-Agent
in: header
description: |
The `User-Agent` header string from the customer's request, as captured by your integration. If you are building an application then the `User-Agent` value should be `{app name}/{app version}`.
required: true
schema:
type: string
example: TravelNow/3.30.112
- name: Test
in: header
description: |
The resume call has a test header that can be used to return set responses with the following keywords:
* `standard` - Requires valid test held booking.
* `service_unavailable` - Returns the HTTP 202 response caused by partial service unavailablity.
* `internal_server_error`
schema:
type: string
enum:
- standard
- service_unavailable
- internal_server_error
- name: itinerary_id
in: path
description: |
This parameter is used only to prefix the token value - no ID value is used.
required: true
schema:
type: string
example: "8955599932111"
- name: token
in: query
description: |
Provided as part of the link object and used to maintain state across calls. This simplifies each subsequent call by limiting the amount of information required at each step and reduces the potential for errors. Token values cannot be viewed or changed.
required: true
schema:
type: string
example: MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m
responses:
"202":
description: Accepted - Request is valid but the state of the booking is unknown. Make a retrieve call to verify the booking has been resumed properly.
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content: {}
"204":
description: No Content - Held booking has successfully resumed.
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content: {}
"400":
description: Bad Request
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: invalid_input
message: "An invalid request was sent in, please check the nested errors for details."
errors:
- type: link.invalid
message: Link is invalid.
"401":
description: Unauthorized
headers:
Region:
$ref: '#/components/headers/Region'
WWW-Authenticate:
description: Provides an example of the Authorization header.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: request_unauthenticated
message: Data required to authenticate your request is missing or inaccurate. Ensure that your request follows the guidelines in our documentation.
fields:
- name: apikey
type: header
value: jaj3982k239dka328e
- name: signature
type: header
value: 129d75332614a5bdbe0c7eb540e95a65f9d85a5b53dabb38d19b37fad6312a2bd25c12ee5a82831d55112087e1b
- name: timestamp
type: header
value: 198284729
- name: servertimestamp
type: server
value: 198284729
"403":
description: Forbidden
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: request_unauthorized
message: Your request could not be authorized.
"404":
description: Not Found
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: resource_not_found
message: Itinerary was not found with provided request.
"426":
description: Upgrade Required
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: upgrade_required
message: This service requires the use of TLS.
"429":
description: Too Many Requests
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: too_many_requests
message: You have reached your capacity for this type of request.
"500":
description: Unknown Internal Error
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: unknown_internal_error
message: An internal server error has occurred.
"503":
description: Service Unavailable
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: service_unavailable
message: This service is currently unavailable.
security:
- rapidAuth: []
delete:
tags:
- Manage Booking
summary: Expedia Group Cancel Held Booking
description: |
This link will be available in a held booking response.
operationId: deleteHeldBooking
parameters:
- name: Accept
in: header
description: |
Specifies the response format that the client would like to receive back. This must be `application/json`.
required: true
schema:
type: string
example: application/json
- name: Accept-Encoding
in: header
description: |
Specifies the response encoding that the client would like to receive back. This must be `gzip`.
required: true
schema:
type: string
example: gzip
- name: Customer-Ip
in: header
description: |
IP address of the customer, as captured by your integration.
Ensure your integration passes the customer's IP, not your own. This value helps determine their location and assign the correct payment gateway.
Also used for fraud recovery and other important analytics.
required: true
schema:
type: string
- name: Customer-Session-Id
in: header
description: |
Insert your own unique value for each user session, beginning with the first API call.
Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session.
Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session.
schema:
type: string
- name: User-Agent
in: header
description: |
The `User-Agent` header string from the customer's request, as captured by your integration. If you are building an application then the `User-Agent` value should be `{app name}/{app version}`.
required: true
schema:
type: string
example: TravelNow/3.30.112
- name: Test
in: header
description: |
The cancel call has a test header that can be used to return set responses with the following keywords:
* `standard` - Requires valid test held booking.
* `service_unavailable`
* `internal_server_error`
* `post_stay_cancel`
schema:
type: string
enum:
- standard
- service_unavailable
- internal_server_error
- post_stay_cancel
- name: itinerary_id
in: path
description: |
This parameter is used only to prefix the token value - no ID value is used.
required: true
schema:
type: string
example: "8955599932111"
- name: token
in: query
description: |
Provided as part of the link object and used to maintain state across calls. This simplifies each subsequent call by limiting the amount of information required at each step and reduces the potential for errors. Token values cannot be viewed or changed.
required: true
schema:
type: string
example: MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m
responses:
"202":
description: Accepted - Request is valid but the state of the booking is unknown. Make a retrieve call to verify the booking has been canceled properly.
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content: {}
"204":
description: No Content - Booking has successfully canceled.
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content: {}
"400":
description: Bad Request
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
examples:
Link Invalid Example:
value:
type: invalid_input
message: "An invalid request was sent in, please check the nested errors for details."
errors:
- type: link.invalid
message: Link is invalid.
Room Already Cancelled Example:
value:
type: room_already_cancelled
message: Room is already cancelled.
"401":
description: Unauthorized
headers:
Region:
$ref: '#/components/headers/Region'
WWW-Authenticate:
description: Provides an example of the Authorization header.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: request_unauthenticated
message: Data required to authenticate your request is missing or inaccurate. Ensure that your request follows the guidelines in our documentation.
fields:
- name: apikey
type: header
value: jaj3982k239dka328e
- name: signature
type: header
value: 129d75332614a5bdbe0c7eb540e95a65f9d85a5b53dabb38d19b37fad6312a2bd25c12ee5a82831d55112087e1b
- name: timestamp
type: header
value: 198284729
- name: servertimestamp
type: server
value: 198284729
"403":
description: Forbidden
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: request_unauthorized
message: Your request could not be authorized.
"404":
description: Not Found
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: resource_not_found
message: Itinerary was not found with provided request.
"426":
description: Upgrade Required
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: upgrade_required
message: This service requires the use of TLS.
"429":
description: Too Many Requests
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: too_many_requests
message: You have reached your capacity for this type of request.
"500":
description: Unknown Internal Error
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: unknown_internal_error
message: An internal server error has occurred.
"503":
description: Service Unavailable
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: service_unavailable
message: This service is currently unavailable.
security:
- rapidAuth: []
/itineraries/{itinerary_id}/payment-sessions:
put:
tags:
- Bookings
summary: Expedia Group Complete Payment Session
description: |
This link only applies to transactions where EPS takes the customer's payment information. This includes both Expedia Collect and Property Collect transactions.
This link will be available in the booking response only if you've opted into Two-Factor Authentication to comply with the September 2019 EU Regulations for PSD2. It should be called after Two-Factor Authentication has been completed by the customer in order to finalize the payment and complete the booking or hold attempt. Learn more with our [PSD2 Overview](https://developers.expediagroup.com/docs/rapid/lodging/booking/psd2-regulation)
operationId: putCompletePaymentSession
parameters:
- name: Accept
in: header
description: |
Specifies the response format that the client would like to receive back. This must be `application/json`.
required: true
schema:
type: string
example: application/json
- name: Accept-Encoding
in: header
description: |
Specifies the response encoding that the client would like to receive back. This must be `gzip`.
required: true
schema:
type: string
example: gzip
- name: Customer-Ip
in: header
description: |
IP address of the customer, as captured by your integration.
Ensure your integration passes the customer's IP, not your own. This value helps determine their location and assign the correct payment gateway.
Also used for fraud recovery and other important analytics.
required: true
schema:
type: string
- name: Customer-Session-Id
in: header
description: |
Insert your own unique value for each user session, beginning with the first API call.
Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session.
Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session.
schema:
type: string
- name: User-Agent
in: header
description: |
The `User-Agent` header string from the customer's request, as captured by your integration. If you are building an application then the `User-Agent` value should be `{app name}/{app version}`.
required: true
schema:
type: string
example: TravelNow/3.30.112
- name: Test
in: header
description: |
The payment-sessions call has a test header that can be used to return set responses with the following keywords:
* `standard`
* `service_unavailable`
* `internal_server_error`
schema:
type: string
enum:
- standard
- service_unavailable
- internal_server_error
- name: itinerary_id
in: path
description: |
This parameter is used only to prefix the token value - no ID value is used.
required: true
schema:
type: string
example: "8955599932111"
- name: token
in: query
description: |
Provided as part of the link object and used to maintain state across calls. This simplifies each subsequent call by limiting the amount of information required at each step and reduces the potential for errors. Token values cannot be viewed or changed.
required: true
schema:
type: string
example: MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m
responses:
"200":
description: Payment Session Completed
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/CompletePaymentSession'
examples:
Booking Not Held Example:
value:
itinerary_id: "8999989898988"
links:
retrieve:
method: GET
href: /v3/itineraries/8999989898988?token=MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m
Booking Held Example:
value:
itinerary_id: "8999989898988"
links:
retrieve:
method: GET
href: /v3/itineraries/8999989898988?token=MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m
resume:
method: PUT
href: /v3/itineraries/8999989898988?token=MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m
cancel:
method: DELETE
href: /v3/itineraries/8999989898988?token=MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m
"400":
description: Bad Request
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: invalid_input
message: "An invalid request was sent in, please check the nested errors for details."
errors:
- type: link.invalid
message: Link is invalid.
"401":
description: Unauthorized
headers:
Region:
$ref: '#/components/headers/Region'
WWW-Authenticate:
description: Provides an example of the Authorization header.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: request_unauthenticated
message: Data required to authenticate your request is missing or inaccurate. Ensure that your request follows the guidelines in our documentation.
fields:
- name: apikey
type: header
value: jaj3982k239dka328e
- name: signature
type: header
value: 129d75332614a5bdbe0c7eb540e95a65f9d85a5b53dabb38d19b37fad6312a2bd25c12ee5a82831d55112087e1b
- name: timestamp
type: header
value: 198284729
- name: servertimestamp
type: server
value: 198284729
"403":
description: Forbidden
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: request_unauthorized
message: Your request could not be authorized.
"404":
description: Not Found
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: resource_not_found
message: Itinerary was not found with provided request.
"426":
description: Upgrade Required
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: upgrade_required
message: This service requires the use of TLS.
"429":
description: Too Many Requests
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: too_many_requests
message: You have reached your capacity for this type of request.
"500":
description: Unknown Internal Error
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: unknown_internal_error
message: An internal server error has occurred.
"503":
description: Service Unavailable
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: service_unavailable
message: This service is currently unavailable.
security:
- rapidAuth: []
/itineraries/{itinerary_id}/rooms/{room_id}:
put:
tags:
- Manage Booking
summary: Expedia Group Change details of a room.
description: |
This link will be available in the retrieve response. Changes in smoking preference and special request will be passed along to the property and are not guaranteed.
operationId: changeRoomDetails
parameters:
- name: Accept
in: header
description: |
Specifies the response format that the client would like to receive back. This must be `application/json`.
required: true
schema:
type: string
example: application/json
- name: Accept-Encoding
in: header
description: |
Specifies the response encoding that the client would like to receive back. This must be `gzip`.
required: true
schema:
type: string
example: gzip
- name: Content-Type
in: header
description: |
This parameter is to specify what format the request body is in. The only supported value is application/json.
required: true
schema:
type: string
example: application/json
- name: Customer-Ip
in: header
description: |
IP address of the customer, as captured by your integration.
Ensure your integration passes the customer's IP, not your own. This value helps determine their location and assign the correct payment gateway.
Also used for fraud recovery and other important analytics.
required: true
schema:
type: string
- name: Customer-Session-Id
in: header
description: |
Insert your own unique value for each user session, beginning with the first API call.
Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session.
Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session.
schema:
type: string
- name: User-Agent
in: header
description: |
The `User-Agent` header string from the customer's request, as captured by your integration. If you are building an application then the `User-Agent` value should be `{app name}/{app version}`.
required: true
schema:
type: string
example: TravelNow/3.30.112
- name: Test
in: header
description: |
The change call has a test header that can be used to return set responses with the following keywords:
* `standard` - Requires valid test booking.
* `service_unavailable`
* `unknown_internal_error`
schema:
type: string
enum:
- standard
- service_unavailable
- unknown_internal_error
- name: itinerary_id
in: path
description: |
This parameter is used only to prefix the token value - no ID value is used.
required: true
schema:
type: string
example: "8955599932111"
- name: room_id
in: path
description: |
Room ID of a property.
required: true
schema:
type: string
example: 123abc
- name: token
in: query
description: |
Provided as part of the link object and used to maintain state across calls. This simplifies each subsequent call by limiting the amount of information required at each step and reduces the potential for errors. Token values cannot be viewed or changed.
required: true
schema:
type: string
example: MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m
requestBody:
description: "The request body is required, but only the fields that are being changed need to be passed in. Fields that are not being changed should not be included in the request body."
content:
application/json:
schema:
$ref: '#/components/schemas/ChangeRoomDetailsRequest'
required: true
responses:
"202":
description: Accepted - Request is valid but the state of the booking is unknown. Make a retrieve call to verify the booking has been changed properly.
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content: {}
"204":
description: No Content - Booking has successfully changed.
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content: {}
"400":
description: Bad Request
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: invalid_input
message: "An invalid request was sent in, please check the nested errors for details."
errors:
- type: link.invalid
message: Link is invalid.
"401":
description: Unauthorized
headers:
Region:
$ref: '#/components/headers/Region'
WWW-Authenticate:
description: Provides an example of the Authorization header.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: request_unauthenticated
message: Data required to authenticate your request is missing or inaccurate. Ensure that your request follows the guidelines in our documentation.
fields:
- name: apikey
type: header
value: jaj3982k239dka328e
- name: signature
type: header
value: 129d75332614a5bdbe0c7eb540e95a65f9d85a5b53dabb38d19b37fad6312a2bd25c12ee5a82831d55112087e1b
- name: timestamp
type: header
value: 198284729
- name: servertimestamp
type: server
value: 198284729
"403":
description: Forbidden
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: request_unauthorized
message: Your request could not be authorized.
"404":
description: Not Found
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: resource_not_found
message: Itinerary was not found with provided request.
"426":
description: Upgrade Required
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: upgrade_required
message: This service requires the use of TLS.
"429":
description: Too Many Requests
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: too_many_requests
message: You have reached your capacity for this type of request.
"500":
description: Unknown Internal Error
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: unknown_internal_error
message: An internal server error has occurred.
"503":
description: Service Unavailable
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: service_unavailable
message: This service is currently unavailable.
security:
- rapidAuth: []
delete:
tags:
- Manage Booking
summary: Expedia Group Cancel a room.
description: |
This link will be available in the retrieve response.
operationId: deleteRoom
parameters:
- name: Accept
in: header
description: |
Specifies the response format that the client would like to receive back. This must be `application/json`.
required: true
schema:
type: string
example: application/json
- name: Accept-Encoding
in: header
description: |
Specifies the response encoding that the client would like to receive back. This must be `gzip`.
required: true
schema:
type: string
example: gzip
- name: Customer-Ip
in: header
description: |
IP address of the customer, as captured by your integration.
Ensure your integration passes the customer's IP, not your own. This value helps determine their location and assign the correct payment gateway.
Also used for fraud recovery and other important analytics.
required: true
schema:
type: string
- name: Customer-Session-Id
in: header
description: |
Insert your own unique value for each user session, beginning with the first API call.
Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session.
Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session.
schema:
type: string
- name: User-Agent
in: header
description: |
The `User-Agent` header string from the customer's request, as captured by your integration. If you are building an application then the `User-Agent` value should be `{app name}/{app version}`.
required: true
schema:
type: string
example: TravelNow/3.30.112
- name: Test
in: header
description: |
The cancel call has a test header that can be used to return set responses with the following keywords:
* `standard` - Requires valid test booking.
* `service_unavailable`
* `unknown_internal_error`
* `post_stay_cancel`
schema:
type: string
enum:
- standard
- service_unavailable
- unknown_internal_error
- post_stay_cancel
- name: itinerary_id
in: path
description: |
This parameter is used only to prefix the token value - no ID value is used.
required: true
schema:
type: string
example: "8955599932111"
- name: room_id
in: path
description: |
Room ID of a property.
required: true
schema:
type: string
example: 123abc
- name: token
in: query
description: |
Provided as part of the link object and used to maintain state across calls. This simplifies each subsequent call by limiting the amount of information required at each step and reduces the potential for errors. Token values cannot be viewed or changed.
required: true
schema:
type: string
example: MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m
responses:
"202":
description: Accepted - Request is valid but the state of the booking is unknown. Make a retrieve call to verify the booking has been canceled properly.
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content: {}
"204":
description: No Content - Booking has successfully canceled.
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content: {}
"400":
description: Bad Request
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: invalid_input
message: "An invalid request was sent in, please check the nested errors for details."
errors:
- type: link.invalid
message: Link is invalid.
"401":
description: Unauthorized
headers:
Region:
$ref: '#/components/headers/Region'
WWW-Authenticate:
description: Provides an example of the Authorization header.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: request_unauthenticated
message: Data required to authenticate your request is missing or inaccurate. Ensure that your request follows the guidelines in our documentation.
fields:
- name: apikey
type: header
value: jaj3982k239dka328e
- name: signature
type: header
value: 129d75332614a5bdbe0c7eb540e95a65f9d85a5b53dabb38d19b37fad6312a2bd25c12ee5a82831d55112087e1b
- name: timestamp
type: header
value: 198284729
- name: servertimestamp
type: server
value: 198284729
"403":
description: Forbidden
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: request_unauthorized
message: Your request could not be authorized.
"404":
description: Not Found
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: resource_not_found
message: Itinerary was not found with provided request.
"426":
description: Upgrade Required
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: upgrade_required
message: This service requires the use of TLS.
"429":
description: Too Many Requests
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: too_many_requests
message: You have reached your capacity for this type of request.
"500":
description: Unknown Internal Error
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: unknown_internal_error
message: An internal server error has occurred.
"503":
description: Service Unavailable
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: service_unavailable
message: This service is currently unavailable.
security:
- rapidAuth: []
/itineraries/{itinerary_id}/rooms/{room_id}/pricing:
put:
tags:
- Manage Booking
summary: Expedia Group Commit a change of itinerary that may require additional payment or refund.
description: "This link will be available in the change response to confirm and complete the change transaction.\n\nIf additional charges are due, a payment must be submitted with this request. Note that Two-Factor \nAuthentication is not supported at this time.\n"
operationId: commitChange
parameters:
- name: Accept
in: header
description: |
Specifies the response format that the client would like to receive back. This must be `application/json`.
required: true
schema:
type: string
example: application/json
- name: Accept-Encoding
in: header
description: |
Specifies the response encoding that the client would like to receive back. This must be `gzip`.
required: true
schema:
type: string
example: gzip
- name: Authorization
in: header
description: "The custom generated authentication header. Refer to our [signature authentication](https://developer.expediapartnersolutions.com/reference/signature-authentication) page for full details."
required: true
schema:
type: string
- name: Content-Type
in: header
description: |
This parameter is to specify what format the request body is in. The only supported value is application/json.
required: true
schema:
type: string
example: application/json
- name: Customer-Ip
in: header
description: |
IP address of the customer, as captured by your integration. Send IPV4 addresses only.
Ensure your integration passes the customer's IP, not your own. This value helps determine their location and assign the correct payment gateway.
Also used for fraud recovery and other important analytics.
required: true
schema:
type: string
- name: Customer-Session-Id
in: header
description: |
Insert your own unique value for each user session, beginning with the first API call.
Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session.
Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session.
schema:
type: string
- name: User-Agent
in: header
description: |
The `User-Agent` header string from the customer's request, as captured by your integration. If you are building an application then the `User-Agent` value should be `{app name}/{app version}`.
required: true
schema:
type: string
example: TravelNow/3.30.112
- name: Test
in: header
description: |
The change call has a test header that can be used to return set responses with the following keywords:
* `standard` - Requires valid test booking.
* `service_unavailable`
* `unknown_internal_error`
schema:
type: string
enum:
- standard
- service_unavailable
- unknown_internal_error
- name: itinerary_id
in: path
description: |
This parameter is used only to prefix the token value - no ID value is used.
required: true
schema:
type: string
example: "8955599932111"
- name: room_id
in: path
description: |
Room ID of a property.
required: true
schema:
type: string
example: 123abc
- name: token
in: query
description: |
Provided as part of the link object and used to maintain state across calls. This simplifies each subsequent call by limiting the amount of information required at each step and reduces the potential for errors. Token values cannot be viewed or changed.
required: true
schema:
type: string
example: MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m
requestBody:
description: |
The request body is required if additional payment is necessary. The body can optionally contain the `change_reference_id`.
content:
application/json:
schema:
$ref: '#/components/schemas/CommitChangeRoomRequestBody'
required: false
responses:
"202":
description: Accepted - Request is valid but the state of the booking is unknown. Make a retrieve call to verify the booking has been changed properly.
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content: {}
"204":
description: No Content - Booking has successfully changed.
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content: {}
"400":
description: Bad Request
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: invalid_input
message: "An invalid request was sent in, please check the nested errors for details."
errors:
- type: link.invalid
message: Link is invalid.
"401":
description: Unauthorized
headers:
Region:
$ref: '#/components/headers/Region'
WWW-Authenticate:
description: Provides an example of the Authorization header.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: request_unauthenticated
message: Data required to authenticate your request is missing or inaccurate. Ensure that your request follows the guidelines in our documentation.
fields:
- name: apikey
type: header
value: jaj3982k239dka328e
- name: signature
type: header
value: 129d75332614a5bdbe0c7eb540e95a65f9d85a5b53dabb38d19b37fad6312a2bd25c12ee5a82831d55112087e1b
- name: timestamp
type: header
value: 198284729
- name: servertimestamp
type: server
value: 198284729
"403":
description: Forbidden
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: request_unauthorized
message: Your request could not be authorized.
"404":
description: Not Found
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: resource_not_found
message: Itinerary was not found with provided request.
"409":
description: Price Mismatch
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: price_mismatch
message: "Payment amount did not match current price, please check price and try again."
fields:
- name: payments.amount
type: body
value: "100.00"
- name: price.amount
type: body
value: "120.00"
"410":
description: Sold Out
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: rooms_unavailable
message: One or more requested rooms are unavailable.
"426":
description: Upgrade Required
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: upgrade_required
message: This service requires the use of TLS.
"429":
description: Too Many Requests
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: too_many_requests
message: You have reached your capacity for this type of request.
"500":
description: Unknown Internal Error
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: unknown_internal_error
message: An internal server error has occurred.
"503":
description: Service Unavailable
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: service_unavailable
message: This service is currently unavailable.
security:
- rapidAuth: []
/chains:
get:
tags:
- Content
summary: Expedia Group Chain Reference
description: |
Returns a complete collection of chains recognized by the Rapid API.
Chains represent a parent company which can have multiple brands associated with it. A brand can only be associated with one chain. For example, Hilton Worldwide is a chain that has multiple associated brands including Doubletree, Hampton Inn and Embassy Suites.
The response is a JSON map where the key is the chain ID and the value is a chain object. Each chain object also contains a map of its related brands.
Note that the set of chain IDs and brand IDs are totally independent of one another. It is possible for a chain and a brand to both use the same number as their ID, but this is just a coincidence that holds no meaning.
Chain and brand names are provided in English only.
operationId: getChainReference
parameters:
- name: Accept
in: header
description: |
Specifies the response format that the client would like to receive back. This must be `application/json`.
required: true
schema:
type: string
example: application/json
- name: Accept-Encoding
in: header
description: |
Specifies the response encoding that the client would like to receive back. This must be `gzip`.
required: true
schema:
type: string
example: gzip
- name: Customer-Session-Id
in: header
description: |
Insert your own unique value for each user session, beginning with the first API call.
Continue to pass the same value for each subsequent API call during the user's session, using a new value for every new customer session.
Including this value greatly eases EPS's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual user's session.
schema:
type: string
- name: User-Agent
in: header
description: |
The `User-Agent` header string from the customer's request, as captured by your integration. If you are building an application then the `User-Agent` value should be `{app name}/{app version}`.
required: true
schema:
type: string
example: TravelNow/3.30.112
- name: billing_terms
in: query
description: |
This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately.
schema:
type: string
- name: partner_point_of_sale
in: query
description: |
This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
schema:
type: string
- name: payment_terms
in: query
description: |
This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately.
schema:
type: string
- name: platform_name
in: query
description: |
This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
schema:
type: string
responses:
"200":
description: OK
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
type: object
additionalProperties:
$ref: '#/components/schemas/Chain'
example:
"-5":
id: -5
name: Hilton Worldwide
brands:
"33":
id: "33"
name: Doubletree
"2146":
id: "2146"
name: Conrad
"358":
id: "358"
name: Hampton Inn
"38":
id: "38"
name: Embassy Suites
"4615":
id: "4615"
name: Tapestry Collection by Hilton
"4138":
id: "4138"
name: Tru by Hilton
"2059":
id: "2059"
name: Hilton Garden Inn
"2608":
id: "2608"
name: Home2 Suites by Hilton
"2513":
id: "2513"
name: Hilton Grand Vacations
"2194":
id: "2194"
name: Waldorf Astoria
"54":
id: "54"
name: Homewood Suites
"55":
id: "55"
name: Hilton Hotels
"2199":
id: "2199"
name: Hilton International
"3000":
id: "3000"
name: Curio Collection
"2102":
id: "2102"
name: MGM
brands:
"2102":
id: "2102"
name: MGM
"4445":
id: "4445"
name: Studios 2 Let
brands:
"4498":
id: "4498"
name: Studios 2 Let
"6325":
id: "6325"
name: Isla Bonita
brands:
"6399":
id: "6399"
name: Isla Bonita
"6200":
id: "6200"
name: Urban Dream Hotels
brands:
"6325":
id: "6325"
name: Urban Dream Hotels
"401":
description: Unauthorized
headers:
Region:
$ref: '#/components/headers/Region'
WWW-Authenticate:
description: Provides an example of the Authorization header.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: request_unauthenticated
message: Data required to authenticate your request is missing or inaccurate. Ensure that your request follows the guidelines in our documentation.
fields:
- name: apikey
type: header
value: jaj3982k239dka328e
- name: signature
type: header
value: 129d75332614a5bdbe0c7eb540e95a65f9d85a5b53dabb38d19b37fad6312a2bd25c12ee5a82831d55112087e1b
- name: timestamp
type: header
value: 198284729
- name: servertimestamp
type: server
value: 198284729
"403":
description: Forbidden
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: request_unauthorized
message: Your request could not be authorized.
"426":
description: Upgrade Required
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: upgrade_required
message: This service requires the use of TLS.
"429":
description: Too Many Requests
headers:
Rate-Limit-Day:
description: Reserved for future use. Optional header for request capacity per day.
schema:
type: number
Rate-Limit-Day-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the daily time window."
schema:
type: number
Rate-Limit-Day-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the daily capacity resets."
schema:
type: number
Rate-Limit-Minute:
description: Reserved for future use. Optional header for request capacity per minute.
schema:
type: number
Rate-Limit-Minute-Remaining:
description: "Optional header for the remaining capacity, as a percentage, for the per minute time window."
schema:
type: number
Rate-Limit-Minute-Reset:
description: "Optional header for the timestamp, as the number of milliseconds since the Unix Epoch, when the per minute capacity resets."
schema:
type: number
Rate-Limit-Reduction-Status:
description: "Optional header that indicates the state (inactive, active) of minute capacity reduction triggered once all daily capacity has been used."
schema:
type: string
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: too_many_requests
message: You have reached your capacity for this type of request.
"500":
description: Unknown Internal Error
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: unknown_internal_error
message: An internal server error has occurred.
"503":
description: Service Unavailable
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: service_unavailable
message: This service is currently unavailable.
security:
- rapidAuth: []
/notifications:
get:
tags:
- Notifications
summary: Expedia Group Request Undelivered Notifications
description: |
Use this API to fetch undelivered notifications. Up to 25 notifications are returned with each call.
Each undelivered notification will be returned only once.
operationId: requestUndeliveredNotifications
parameters:
- name: undeliverable
in: query
description: Undeliverable notifications are returned when this parameter is set to `true`.
required: true
schema:
type: boolean
- name: billing_terms
in: query
description: |
This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately.
schema:
type: string
- name: partner_point_of_sale
in: query
description: |
This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
schema:
type: string
- name: payment_terms
in: query
description: |
This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately.
schema:
type: string
- name: platform_name
in: query
description: |
This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
schema:
type: string
responses:
"200":
description: OK
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Notification'
example:
- event_id: e02d6f41-4708-476f-915d-8a7032942e94
event_type: itinerary.agent.change
event_time: '2018-04-28T20:31:03.423Z'
itinerary_id: "1204309424793"
email: alice@example.com
message: An agent changed this itinerary.
affiliate_reference_id: R194193582
- event_id: fe97op1b-595a-406e-8e0e-90108d5cb4a1
event_type: itinerary.agent.cancel
event_time: '2018-05-24T04:08:50.839Z'
itinerary_id: "1204329124126"
email: bob@example.com
message: An agent canceled one or more rooms on this itinerary.
affiliate_reference_id: ""
security:
- rapidAuth: []
post:
tags:
- Notifications
summary: Expedia Group Request Test Notification
description: |
This request triggers a test notification according to the specified event_type.
All event types supported by the Notifications API are available to test.
operationId: requestTestNotification
parameters:
- name: billing_terms
in: query
description: |
This parameter is to specify the terms of how a resulting booking should be billed. If this field is needed, the value for this will be provided to you separately.
schema:
type: string
- name: partner_point_of_sale
in: query
description: |
This parameter is to specify what point of sale is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
schema:
type: string
- name: payment_terms
in: query
description: |
This parameter is to specify what terms should be used when being paid for a resulting booking. If this field is needed, the value for this will be provided to you separately.
schema:
type: string
- name: platform_name
in: query
description: |
This parameter is to specify what platform is being used to shop and book. If this field is needed, the value for this will be provided to you separately.
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TestNotificationRequest'
required: true
responses:
"204":
description: No Content - Test notification has been sent.
headers:
Region:
$ref: '#/components/headers/Region'
content: {}
"400":
description: Bad Request
headers:
Region:
$ref: '#/components/headers/Region'
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
type: invalid_input
message: "An invalid request was sent in, please check the nested errors for details."
errors:
- type: event_type.not_supported
message: "Event type is not supported. Supported event types are: [itinerary.agent.create, itinerary.agent.change, itinerary.agent.cancel, itinerary.supplier.confirm, itinerary.supplier.cancel, itinerary.fraud.cancel]"
fields:
- name: event_type
type: path
security:
- rapidAuth: []
components:
schemas:
PropertyContent:
type: object
properties:
property_id:
type: string
description: Unique Expedia property ID.
name:
type: string
description: Property name.
address:
$ref: '#/components/schemas/Address'
ratings:
$ref: '#/components/schemas/Ratings'
location:
$ref: '#/components/schemas/Location'
phone:
type: string
description: The property's phone number.
fax:
type: string
description: The property's fax number.
category:
$ref: '#/components/schemas/CategoryProperty'
business_model:
$ref: '#/components/schemas/BusinessModel'
rank:
type: number
description: "The property’s rank across all properties. This value sorts properties based on EPS transactional data and details about the property, with 1 indicating the best-performing property and others following in ascending numerical order."
checkin:
$ref: '#/components/schemas/Checkin'
checkout:
$ref: '#/components/schemas/Checkout'
fees:
$ref: '#/components/schemas/Fees'
policies:
$ref: '#/components/schemas/Policies'
attributes:
$ref: '#/components/schemas/Attributes'
amenities:
type: object
additionalProperties:
$ref: '#/components/schemas/Amenity'
description: "Lists all of the amenities available for all guests at the property. See our [amenities reference](https://developers.expediagroup.com/docs/rapid/lodging/content/content-reference-lists) for current known amenity ID and name values."
images:
type: array
description: Contains all property images available.
items:
$ref: '#/components/schemas/Image'
onsite_payments:
$ref: '#/components/schemas/OnsitePayments'
rooms:
type: object
additionalProperties:
$ref: '#/components/schemas/RoomContent'
description: Information about all of the rooms at the property.
rates:
type: object
additionalProperties:
$ref: '#/components/schemas/RateContent'
description: Additional information about the rates offered by the property. This should be used in conjunction with the pricing and other rate-related information in shopping.
dates:
$ref: '#/components/schemas/Dates'
descriptions:
$ref: '#/components/schemas/Descriptions'
statistics:
type: object
additionalProperties:
$ref: '#/components/schemas/Statistic'
description: "Statistics of the property, such as number of floors. See our [statistics reference](https://developers.expediagroup.com/docs/rapid/lodging/content/content-reference-lists) for current known statistics ID and name values."
airports:
$ref: '#/components/schemas/AssociatedAirports'
themes:
type: object
additionalProperties:
$ref: '#/components/schemas/Theme'
description: "Themes that describe the property. See our [themes reference](https://developers.expediagroup.com/docs/rapid/lodging/content/content-reference-lists) for current known theme ID and name values."
all_inclusive:
$ref: '#/components/schemas/AllInclusive'
tax_id:
type: string
description: Tax ID.
chain:
$ref: '#/components/schemas/Chain'
brand:
$ref: '#/components/schemas/Brand'
spoken_languages:
type: object
additionalProperties:
$ref: '#/components/schemas/SpokenLanguage'
description: Languages spoken at the property.
multi_unit:
type: boolean
description: Boolean value indicating if a property is a multi-unit property.
payment_registration_recommended:
type: boolean
description: "Boolean value indicating if a property may require payment registration to process payments, even when using the property_collect Business Model. If true, then a property may not be successfully bookable without registering payments first."
vacation_rental_details:
$ref: '#/components/schemas/VacationRentalDetails'
supply_source:
type: string
description: The supply source of the property.
description: An individual property object in the map of property objects.
Address:
type: object
properties:
line_1:
type: string
description: Address line 1.
example: 123 Main St
line_2:
type: string
description: Address line 2.
example: Apt A
city:
type: string
description: City.
example: Springfield
state_province_code:
type: string
description: "2-letter or 3-letter state/province code for Australia, Canada and the USA."
example: MO
state_province_name:
type: string
description: Text name of the State/Province - more common for additional countries.
example: Missouri
postal_code:
type: string
description: Postal/zip code.
example: "65804"
country_code:
type: string
description: "2-letter country code, in ISO 3166-1 alpha-2 format."
example: US
obfuscation_required:
type: boolean
description: "Flag to indicate whether a property address requires obfuscation before the property has been booked. If true, only the city, province, and country of the address can be shown to the customer."
example: false
localized:
$ref: '#/components/schemas/Localized'
description: Container for the property's address information.
Localized:
type: object
properties:
links:
type: object
additionalProperties:
$ref: '#/components/schemas/Link'
description: "Keyed by the language, a map of links to the property’s localized address(es) based on the primary language(s) spoken in the property’s country. Only languages supported by the Rapid API are provided."
description: Container for localized address information.
Ratings:
type: object
properties:
property:
$ref: '#/components/schemas/PropertyRating'
guest:
$ref: '#/components/schemas/GuestRating'
description: Various types of ratings for this property.
PropertyRating:
type: object
properties:
rating:
type: string
description: The rating assigned to this property. Returns a value between 0.0 and 5.0. A value of 0.0 or a blank value indicates no rating is available.
type:
type: string
description: Returns a value of either "Star" or "Alternate". Star indicates the rating is provided by the property’s local star rating authority. Alternate indicates that the rating is an Expedia-assigned value; an official rating was not available.
description: Information about the property's rating.
GuestRating:
type: object
properties:
count:
type: number
description: A count of all of the guest review ratings which currently exist for this property.
overall:
type: string
description: "The overall rating for the property, averaged from all guest reviews. Returns a value between 1.0 and 5.0."
cleanliness:
type: string
description: "The cleanliness rating for the property, averaged from all guest reviews. Returns a value between 1.0 and 5.0."
service:
type: string
description: "The rating of the staff's service for the property, averaged from all guest reviews. Returns a value between 1.0 and 5.0."
comfort:
type: string
description: "The comfort rating of the rooms, averaged from all guest reviews. Returns a value between 1.0 and 5.0."
condition:
type: string
description: "The rating for the property's condition, averaged from all guest reviews. Returns a value between 1.0 and 5.0."
location:
type: string
description: "The rating for how convinent the location of the property is, averaged from all guest reviews. Returns a value between 1.0 and 5.0."
neighborhood:
type: string
description: "The rating for how satisfying the neighborhood of the property is, averaged from all guest reviews. Returns a value between 1.0 and 5.0."
quality:
type: string
description: "The quality rating of the rooms, averaged from all guest reviews. Returns a value between 1.0 and 5.0."
value:
type: string
description: "The rating for how much value the property provided for the cost of the stay, averaged from all guest reviews. Returns a value between 1.0 and 5.0."
amenities:
type: string
description: "The rating for the amenities provided by the property, averaged from all guest reviews. Returns a value between 1.0 and 5.0."
recommendation_percent:
type: string
description: The percent of guests who recommend staying at this property.
description: Rating information provided by guests who stayed at this property.
Location:
type: object
properties:
coordinates:
$ref: '#/components/schemas/Coordinates'
obfuscated_coordinates:
$ref: '#/components/schemas/Coordinates'
obfuscation_required:
type: boolean
description: |
When this field is true, the `obfuscated_coordinates` must be used to display approximate location
instead of the precise location of `coordinates`.
description: The property's location information.
Coordinates:
type: object
properties:
latitude:
type: number
description: The latitude of the property.
longitude:
type: number
description: The longitude of the property.
description: The coordinates of the property.
CategoryProperty:
type: object
properties:
id:
type: string
description: The ID of the property's category.
name:
type: string
description: The property's category.
description: "The property's category. See our [property categories reference](https://developers.expediagroup.com/docs/rapid/lodging/content/content-reference-lists) for current known category ID and name values."
BusinessModel:
type: object
properties:
expedia_collect:
type: boolean
description: Whether or not a payment for this property can be taken by Expedia at the time of booking.
property_collect:
type: boolean
description: Whether or not a payment for this property can be taken by the property upon arrival.
description: How and when the payment can be taken.
Checkin:
type: object
properties:
"24_hour":
type: string
description: Present if the property has 24-hour check-in.
begin_time:
type: string
description: The time at which a property begins to allow check-ins.
end_time:
type: string
description: The time at which a property stops allowing check-ins.
instructions:
type: string
description: The property's check-in policy.
special_instructions:
type: string
description: Any special instructions for checking into this property that may be specific to this property.
min_age:
type: number
description: The minimum age for a customer to be able to check-in at a property.
description: The property's check-in information.
Checkout:
type: object
properties:
time:
type: string
description: The time by which a guest must check out.
description: The property's check-out information.
Fees:
type: object
properties:
mandatory:
type: string
description: "Describes resort fees and other mandatory taxes or charges. May describe which services are covered by any fees, such as fitness centers or internet access."
optional:
type: string
description: "Describes additional optional fees for items such as breakfast, wifi, parking, pets etc."
description: Information related to a property's fees.
Policies:
type: object
properties:
know_before_you_go:
type: string
description: Description of information that may be helpful when planning a trip to this property.
description: Information about property policies that guests need to be aware of.
Attributes:
type: object
properties:
general:
type: object
additionalProperties:
$ref: '#/components/schemas/Attribute'
description: Lists all of the general attributes about the property.
pets:
type: object
additionalProperties:
$ref: '#/components/schemas/Attribute'
description: Lists all of the pet attributes about the property.
description: "Attributes about the property. See our [attributes reference](https://developers.expediagroup.com/docs/rapid/lodging/content/content-reference-lists) for current known attribute ID and name values."
Attribute:
type: object
properties:
id:
type: string
description: The attribute definition ID for this attribute.
name:
type: string
description: Attribute name.
value:
type: string
description: Attribute value.
description: An individual attribute.
Image:
type: object
properties:
hero_image:
type: boolean
description: Whether this image is a hero image or not.
category:
type: number
description: The category of the image.
caption:
type: string
description: The image caption.
links:
type: object
additionalProperties:
$ref: '#/components/schemas/Link'
description: "Contains urls for all of the image sizes available. Sizes may include: 70 px, 200px, 350 px, and 1,000 px"
description: "An individual image. See our [image categories reference](https://developers.expediagroup.com/docs/rapid/lodging/content/content-reference-lists) for current known caption and category values."
OnsitePayments:
type: object
properties:
currency:
type: string
description: The currency accepted at the property.
types:
type: object
additionalProperties:
$ref: '#/components/schemas/PaymentType'
description: The types of payments accepted at the property.
description: "The property’s accepted forms of payments when onsite. See our [onsite payment types reference](https://developers.expediagroup.com/docs/rapid/lodging/content/content-reference-lists) for current known payment type ID and name values."
PaymentType:
type: object
properties:
id:
type: string
description: The identifier of the payment type.
name:
type: string
description: The name of the payment type.
description: An individual payment type.
RoomContent:
type: object
properties:
id:
type: string
description: Unique identifier for a room type.
name:
type: string
description: Room type name.
descriptions:
$ref: '#/components/schemas/DescriptionsRoom'
amenities:
type: object
additionalProperties:
$ref: '#/components/schemas/Amenity'
description: "Lists all of the amenities available in the room. See our [amenities reference](https://developers.expediagroup.com/docs/rapid/lodging/content/content-reference-lists) for current known amenity ID and name values."
images:
type: array
description: The room's images. Contains all room images available.
items:
$ref: '#/components/schemas/Image'
bed_groups:
type: object
additionalProperties:
$ref: '#/components/schemas/BedGroup'
description: A map of the room's bed groups.
area:
$ref: '#/components/schemas/Area'
views:
type: object
additionalProperties:
$ref: '#/components/schemas/View'
description: "A map of the room views. See our [view reference](https://developers.expediagroup.com/docs/rapid/lodging/content/content-reference-lists) for current known room view ID and name values."
occupancy:
$ref: '#/components/schemas/Occupancy'
description: An individual room.
DescriptionsRoom:
type: object
properties:
overview:
type: string
description: Provides an overview of a room.
description: Descriptions of a room.
BedGroup:
type: object
properties:
id:
type: string
description: Unique identifier for a bed group.
description:
type: string
description: This is a display ready description of a bed configuration for this room.
configuration:
type: array
description: An array of bed configurations for this room.
items:
$ref: '#/components/schemas/BedGroupConfiguration'
description: An individual bed group.
Area:
type: object
properties:
square_meters:
type: number
description: "The room's area, measured in square meters."
square_feet:
type: number
description: "The room's area, measured in square feet."
description: Information about the area of the room.
View:
type: object
properties:
id:
type: string
description: Identifier for the view.
name:
type: string
description: View name.
description: An individual view.
Occupancy:
type: object
properties:
max_allowed:
$ref: '#/components/schemas/MaxAllowed'
age_categories:
type: object
additionalProperties:
$ref: '#/components/schemas/CategoryAge'
description: Map of the age categories used to determine the maximum children and adult occupancy.
description: Occupancy information.
MaxAllowed:
type: object
properties:
total:
type: number
description: Total maximum occupancy allowed.
children:
type: number
description: Maximum number of children allowed.
adults:
type: number
description: Maximum number of adults allowed.
description: Maximum occupancy counts.
CategoryAge:
type: object
properties:
name:
type: string
description: Age category name.
minimum_age:
type: number
description: Age category minimum age.
description: An age category.
RateContent:
type: object
properties:
id:
type: string
description: Unique identifier for a rate.
amenities:
type: object
additionalProperties:
$ref: '#/components/schemas/Amenity'
description: "This lists all of the Amenities available with a specific rate, including value adds, such as breakfast. See our [amenities reference](https://developers.expediagroup.com/docs/rapid/lodging/content/content-reference-lists) for current known amenity ID and name values."
special_offer_description:
type: string
description: A text description of any special offers for this rate.
description: An individual rate.
Dates:
type: object
properties:
added:
type: string
description: "The UTC date the property’s content was added to EPS, in ISO 8601 format"
updated:
type: string
description: "The UTC date the property’s content was updated by EPS, in ISO 8601 format."
description: Dates about the property.
Descriptions:
type: object
properties:
amenities:
type: string
description: Describes general building amenities at the property.
dining:
type: string
description: Describes dining accommodations at the property.
renovations:
type: string
description: Describes any recent room or property renovations.
national_ratings:
type: string
description: States the source of the property's star rating (such as a regional or national tourism agency) and any other ratings claimed.
business_amenities:
type: string
description: "Describes any business-specific amenities at the property, e.g. conference rooms."
rooms:
type: string
description: Describes typical room amenities.
attractions:
type: string
description: "Nearby attractions/areas, often including distances from the property."
location:
type: string
description: General location as entered by the property.
headline:
type: string
description: A headline description for the property.
general:
type: string
description: A general description of a vacation rental property.
description: Descriptions of a property.
Statistic:
type: object
properties:
id:
type: string
description: The statistic definition ID for this statistic.
name:
type: string
description: Statistic name.
value:
type: string
description: Statistic value.
description: An individual statistic.
AssociatedAirports:
type: object
properties:
preferred:
$ref: '#/components/schemas/Preferred'
description: Airports related to the property.
Preferred:
type: object
properties:
iata_airport_code:
type: string
description: The airport's IATA code.
description: The preferred airport of the property.
Theme:
type: object
properties:
id:
type: string
description: Identifier for the theme.
name:
type: string
description: Theme name.
description: An individual theme.
AllInclusive:
type: object
properties:
all_rate_plans:
type: boolean
description: Indicates if all rate plans at the property provide all-inclusive amenities.
some_rate_plans:
type: boolean
description: "Indicates if some, but not all, rate plans at the property provide all-inclusive amenities."
details:
type: string
description: Details about amenities and services included in the all-inclusive rates.
description: Information about the all-inclusive rate plans available at the property.
Chain:
type: object
properties:
id:
type: string
description: Chain id.
name:
type: string
description: Chain name.
brands:
type: object
additionalProperties:
$ref: '#/components/schemas/Brand'
description: Map of the chain's brands.
description: An individual chain.
Brand:
type: object
properties:
id:
type: string
description: Brand id.
name:
type: string
description: Brand name.
description: An individual brand.
SpokenLanguage:
type: object
properties:
id:
type: string
description: The language code as a subset of BCP47 format.
name:
type: string
description: Spoken language name.
description: An individual spoken language.
VacationRentalDetails:
type: object
properties:
registry_number:
type: string
description: The property's registry number required by some jurisdictions.
private_host:
type: boolean
description: Indicates if a property has a private host.
property_manager:
$ref: '#/components/schemas/PropertyManager'
rental_agreement:
$ref: '#/components/schemas/RentalAgreement'
house_rules:
type: array
description: List of strings detailing house rules.
items:
type: string
enhanced_house_rules:
type: object
additionalProperties:
$ref: '#/components/schemas/EnhancedHouseRules'
description: Map of enhanced house rules.
example:
Children:
rule: Children allowed
additional_information:
- Children allowed under age 13.
- Multiple children must sleep on cots.
Pets:
rule: Pets allowed
additional_information:
- Pets must be kept on the balcony.
amenities:
$ref: '#/components/schemas/Amenity'
vrbo_srp_id:
type: string
description: The Vrbo srp needed for link-off.
listing_id:
type: string
description: The listing id for a Vrbo property.
listing_number:
type: string
description: The listing number for a Vrbo property.
listing_source:
type: string
description: The listing source.
listing_unit:
type: string
description: The specific unit.
ipm_name:
type: string
description: |
The name of the IPM used to build guest messaging to inform travelers of the name of the IPM who will charge
their card and/or send them a confirmation email.
unit_configurations:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/UnitConfiguration'
description: Map of the vacation rental unit configurations. The key value is the unit location.
example:
"1":
- type: TWIN_SINGLE_BED
description: Twin/Single bed(s) -
quantity: 1
- type: CHILD_BED
description: Child bed(s) -
quantity: 1
"2":
- type: QUEEN_BED
description: Queen bed(s) -
quantity: 1
Other1:
- type: CHILD_BED
description: Child bed(s) -
quantity: 3
free_text:
type: string
description: A free text description that could contain significantly unstructured information that could impact the booking and should be displayed to customers. This field could contain html break tags `
` that may make display challenging.
description: Details for vacation rental properties.
PropertyManager:
type: object
properties:
name:
type: string
description: The name of the property manager.
links:
$ref: '#/components/schemas/PropertyManagerLinks'
description: Information about the property manager.
PropertyManagerLinks:
type: object
properties:
image:
$ref: '#/components/schemas/Link'
additionalProperties:
$ref: '#/components/schemas/Link'
description: "A map of links, including link to get image of the property manager."
RentalAgreement:
type: object
properties:
links:
$ref: '#/components/schemas/RentalAgreementLinks'
description: Information about a vacation rentals rental agreement.
RentalAgreementLinks:
type: object
properties:
rental_agreement:
$ref: '#/components/schemas/Link'
description: "A map of links, including link to get the rental agreement."
EnhancedHouseRules:
type: object
properties:
rule:
type: string
description: Describes the house rule.
example: Children allowed.
additional_information:
type: array
description: List of strings detailing further information about the rule.
example:
- Children allowed ages 13-17
- Three children are possible if one is in a cot
items:
type: string
UnitConfiguration:
type: object
properties:
type:
type: string
description: Bed type.
description:
type: string
description: A description of the bed(s) in requested language.
quantity:
type: integer
description: The number of beds of this size.
description: A room configuration.
Error:
type: object
properties:
type:
type: string
description: The error type.
message:
type: string
description: A human readable message giving details about this error.
fields:
type: array
description: Details about the specific fields that had an error.
items:
$ref: '#/components/schemas/Field'
errors:
type: array
description: An array of all the actual errors that occured.
items:
$ref: '#/components/schemas/ErrorIndividual'
description: The overall class of error that occured.
Field:
type: object
properties:
name:
type: string
description: The field that had an error.
type:
type: string
description: The type of the field that had an error.
value:
type: string
description: The value of the field that had an error.
description: An individual field that had an error.
ErrorIndividual:
type: object
properties:
type:
type: string
description: The error type.
message:
type: string
description: A human readable message giving details about this error.
fields:
type: array
description: Details about the specific fields that had an error.
items:
$ref: '#/components/schemas/Field'
description: An individual error.
PropertyInactive:
type: object
properties:
property_id:
type: string
description: The property id of the inactive property
GuestReviews:
type: object
properties:
verified:
type: object
properties:
recent:
type: array
description: "A collection of the guest reviews which have been verified, in order, starting with the newest."
items:
$ref: '#/components/schemas/Review'
description: A property's verified guest reviews.
description: A property's guest reviews.
Review:
type: object
properties:
verification_source:
type: string
description: Where this review has been verified from.
title:
type: string
description: Title of this review.
date_submitted:
type: string
description: "When this review was made, in ISO 8601 format."
rating:
type: string
description: The rating for this property given by the reviewer. Returns a value between 1.0 and 5.0.
reviewer_name:
type: string
description: The name of the person who wrote this review.
trip_reason:
$ref: '#/components/schemas/TripReason'
travel_companion:
$ref: '#/components/schemas/TravelCompanion'
text:
type: string
description: The text of the review itself.
description: A review object for a property.
TripReason:
type: string
description: The reason category for this reviewer's trip.
enum:
- business
- leisure
- friends_and_family
- business_and_leisure
TravelCompanion:
type: string
description: The companion category for any travelers that accompanied this reviewer.
enum:
- family
- family_with_children
- partner
- self
- friends
- pet
Link:
type: object
properties:
method:
type: string
description: The request method used to access the link.
href:
type: string
description: The URL for the link. This can be absolute or relative.
expires:
type: string
description: "If the link expires, this will be the UTC date the link will expire, in ISO 8601 format."
description: An individual link.
Region:
type: object
properties:
id:
type: string
description: Region Id.
type:
type: string
description: Region type.
name:
type: string
description: Region name.
name_full:
type: string
description: Full region name.
descriptor:
type: string
description: "Specific information about the region e.g. whether it covers surrounding areas for a city. Only present when relevant for a region. See our [region descriptors reference](https://developers.expediagroup.com/docs/rapid/lodging/geography/geography-reference-lists) for current known descriptor values."
iata_airport_code:
type: string
description: 3-character IATA airport code.
iata_airport_metro_code:
type: string
description: 3-character IATA airport metropolitan code of the metropolitan airport area.
country_code:
type: string
description: Region country code (ISO 3166-1 alpha-2).
country_subdivision_code:
type: string
description: Region country subdivision code (ISO 3166-2).
coordinates:
$ref: '#/components/schemas/CoordinatesRegion'
associations:
type: object
additionalProperties:
type: array
description: An array of region ids associated with the region type.
items:
type: string
description: A map of region types to a sorted array of region ids with a touristic association to the region.
ancestors:
type: array
description: An array of the region's ancestors.
items:
$ref: '#/components/schemas/Ancestors'
descendants:
type: object
additionalProperties:
type: array
description: An array of region ids associated with the region type.
items:
type: string
description: A map of region types to an array of region ids. The region ids are direct descendants of the region.
property_ids:
type: array
description: An array of associated property ids for the region.
items:
type: string
property_ids_expanded:
type: array
description: An array of associated property ids within an expanded radius for the region.
items:
type: string
categories:
type: array
description: A list of regional categories.
items:
type: string
tags:
type: array
description: A list of regional tags.
items:
type: string
CoordinatesRegion:
type: object
properties:
center_longitude:
type: number
description: Center Longitude.
center_latitude:
type: number
description: Center Latitude.
bounding_polygon:
$ref: '#/components/schemas/BoundingPolygon'
BoundingPolygon:
type: object
properties:
type:
type: string
description: Type of bounding polygon.
discriminator:
propertyName: type
mapping:
Polygon: '#/components/schemas/Polygon'
MultiPolygon: '#/components/schemas/MultiPolygon'
Polygon:
title: Polygon
allOf:
- $ref: '#/components/schemas/BoundingPolygon'
- type: object
properties:
coordinates:
$ref: '#/components/schemas/PolygonCoordinates'
PolygonCoordinates:
type: array
description: "An array of linear ring coordinate arrays that combine to make up a single [Polygon](https://www.rfc-editor.org/rfc/rfc7946#section-3.1.6) in geojson format. If there is more than one linear ring at this level, the first is the outer boundary and the remaining linear rings are interior rings or holes."
items:
minItems: 4
type: array
description: An array of Points making up a single linear ring in geojson format.
items:
maxItems: 2
minItems: 2
type: array
description: "Individual coordinates as a geojson Point, in longitude, latitude order (x,y)."
items:
type: number
MultiPolygon:
title: MultiPolygon
allOf:
- $ref: '#/components/schemas/BoundingPolygon'
- type: object
properties:
coordinates:
type: array
description: "An array of multiple polygon(s) that combine to make a full [MultiPolygon](https://www.rfc-editor.org/rfc/rfc7946#section-3.1.7) in geojson format."
items:
$ref: '#/components/schemas/PolygonCoordinates'
Ancestors:
type: object
properties:
id:
type: string
description: Id of ancestor region.
type:
type: string
description: Region type of ancestor region.
description: A region ancestor.
PropertiesGeoJsonRequest:
required:
- coordinates
- type
type: object
properties:
type:
type: string
description: The geometry type. The only supported type is `Polygon`
coordinates:
$ref: '#/components/schemas/PolygonCoordinates'
description: GeoJSON geometry
example:
type: Polygon
coordinates:
- - - -93.446782
- 37.169329
- - -93.4244
- 37.169432
- - -93.371097
- 37.168636
- - -93.376295
- 37.139236
- - -93.361419
- 37.138634
- - -93.347109
- 37.100601
- - -93.215792
- 37.095905
- - -93.215259
- 37.138013
- - -93.189332
- 37.141503
- - -93.191278
- 37.333322
- - -93.438268
- 37.339372
- - -93.446782
- 37.169329
PropertyGeography:
type: object
properties:
property_id:
type: string
description: Unique Expedia property ID.
description: A property object.
Property:
type: object
properties:
property_id:
type: string
description: Expedia property ID.
status:
type: string
description: Helps determine which type of property response is returned.
enum:
- available
- partially_unavailable
score:
type: number
description: A score to sort properties where the higher the value the better. It can be used to:
* Sort the properties on the response
* Sort properties across multiple responses in parallel searches for large regions
discriminator:
propertyName: status
mapping:
available: '#/components/schemas/PropertyAvailability'
partially_unavailable: '#/components/schemas/PropertyUnavailability'
PropertyAvailability:
allOf:
- $ref: '#/components/schemas/Property'
- type: object
properties:
rooms:
type: array
description: Array of objects containing room information.
items:
$ref: '#/components/schemas/RoomAvailability'
links:
$ref: '#/components/schemas/PropertyAvailabilityLinks'
description: The rooms and rates for a property.
RoomAvailability:
type: object
properties:
id:
type: string
description: Unique Identifier for a room type.
room_name:
type: string
description: Name of the room type.
rates:
type: array
description: Array of objects containing rate information.
items:
$ref: '#/components/schemas/Rate'
description: The room information.
Rate:
type: object
properties:
id:
type: string
description: Unique Identifier for a rate.
status:
$ref: '#/components/schemas/Status'
available_rooms:
type: number
description: |-
The number of bookable rooms remaining with this rate in EPS inventory. Use this value to create rules for urgency messaging to alert users to low availability on busy travel dates or at popular properties.
If the value returns as 2147483647 (max int value), the actual value could not be determined. Ensure your urgency messaging ignores such instances when returned.
refundable:
type: boolean
description: Indicates if the rate is fully refundable at the time of booking. Cancel penalties may still apply. Please refer to the cancel penalties section for reference.
member_deal_available:
type: boolean
description: Indicates if a "Member Only Deal" is available for this rate.
sale_scenario:
$ref: '#/components/schemas/SaleScenario'
merchant_of_record:
$ref: '#/components/schemas/MerchantOfRecord'
amenities:
type: object
additionalProperties:
$ref: '#/components/schemas/Amenity'
description: Room amenities.
links:
$ref: '#/components/schemas/RateLinks'
bed_groups:
type: object
additionalProperties:
$ref: '#/components/schemas/BedGroupAvailability'
description: A map of the room's bed groups.
cancel_penalties:
type: array
description: Array of `cancel_penalty` objects containing cancel penalty information.
items:
$ref: '#/components/schemas/CancelPenalty'
nonrefundable_date_ranges:
type: array
description: |
An array of stay date ranges within this check-in / check-out range that are not refundable. Stay dates
within these ranges provide no refund on cancellation, regardless of cancel penalty windows. The stay dates
are determined by the would be check-in of that night. With a check-in date of 2023-09-01, and a check-out
date of 2023-09-06, this would be a 5 night stay. A `nonrefundable_date_range` with start: 2023-09-02 and
end: 2023-09-03 would mean 2 of the nights are nonrefundable. The 1st night is refundable, the 2nd and 3rd
nights are nonrefundable, and the 4th and 5th nights are refundable, subject to `cancel_penalties`
restrictions.
items:
$ref: '#/components/schemas/NonrefundableDateRange'
marketing_fee_incentives:
type: array
description: |
An array of stay date ranges within this check-in / check-out range that have an incentive applied. The stay
dates are determined by the would be check-in of that night. With a check-in date of 2023-09-01, and a
check-out date of 2023-09-06, this would be a 5 night stay. A `marketing_fee_incentive` with start:
2023-09-02 and end: 2023-09-03 would mean 2 of the nights have an incentive applied. The 1st night is not
part of the incentive, the 2nd and 3rd nights are part of the incentive, and the 4th and 5th nights are not
part of the incentive.
items:
$ref: '#/components/schemas/MarketingFeeIncentive'
occupancy_pricing:
type: object
additionalProperties:
$ref: '#/components/schemas/PricingInformation'
description: A map of room information by occupancy.
promotions:
$ref: '#/components/schemas/Promotions'
card_on_file_limit:
$ref: '#/components/schemas/Amount'
refundable_damage_deposit:
$ref: '#/components/schemas/Amount'
deposits:
type: array
description: Array of deposits for the rate.
items:
$ref: '#/components/schemas/Deposit'
description: A rate.
Status:
type: string
description: Indicates the status of the rate. If the rate is still available then available will be returned. If the rate is no longer available at that price then price_changed will be returned. If the rate is no longer available at all then sold_out will be returned.
enum:
- available
- price_changed
- sold_out
SaleScenario:
type: object
properties:
package:
type: boolean
description: |
If true, this rate has been provided to be bundled with car, air, etc. and displayed as a total package price.
If shopping in a cross-sell scenario and using the cross-sell rate option, this indicates that the rate is a package rate available to be sold as an add-on to an existing itinerary.
member:
type: boolean
description: |
If true, this rate has a "Member Only Deal" discount applied to the rate.
Partners must be enabled to receive "Member Only Deals". If interested, partners should speak to their account representatives.
This parameter can be used to merchandise if a "Member Only Deal" has been applied, which will help drive loyalty. In addition, it can be used by OTA's to create an opaque, but public shopping experience.
This value will always be false for requests where the sales_environment is equal to "hotel_package".
corporate:
type: boolean
description: |
If true, this rate is a corporate negotiated rate. These rates provide additional value adds (e.g. free breakfast, free wifi, discount) and same-day cancellation.
distribution:
type: boolean
description: |
If true, this rate is an EPS Optimized Distribution rate. These rates are procured exclusively for EPS distribution and may contain benefits such as larger marketing fee, less restrictive cancellation policies, additional value adds, or unique availability.
mobile_promotion:
type: boolean
description: |
If true, this rate has an associated mobile promotion which can be advertised as a special mobile only deal.
This will only be present when `include=sale_scenario.mobile_promotion` is passed as a request parameter.
description: Provides the special scenarios that need to be taken into account when using this rate.
RateLinks:
type: object
properties:
payment_options:
$ref: '#/components/schemas/Link'
additionalProperties:
$ref: '#/components/schemas/Link'
description: "A map of links, including a link to request payment options."
BedGroupAvailability:
type: object
properties:
links:
$ref: '#/components/schemas/BedGroupAvailabilityLinks'
id:
type: string
description: Unique identifier for a bed group.
description:
type: string
description: This is a display ready description of a bed configuration for this room.
configuration:
type: array
description: The bed configuration for a given room. This array can be empty for the related bed group.
items:
$ref: '#/components/schemas/BedGroupConfiguration'
BedGroupAvailabilityLinks:
type: object
properties:
price_check:
$ref: '#/components/schemas/Link'
additionalProperties:
$ref: '#/components/schemas/Link'
description: "A map of links, including links to confirm pricing and availability for the selected rate."
MarketingFeeIncentive:
type: object
properties:
source:
type: string
description: |
The source of the incentive. This can be used to differentiate between incentives in the case that more than
one incentive applies to a particular rate.
start:
type: string
description: The first stay date with the incentive applied in ISO 8601 format.
end:
type: string
description: The last stay date with the incentive applied in ISO 8601 format.
description: An object representing one incentive source and the stay dates relevant to that particular incentive.
Promotions:
type: object
properties:
value_adds:
type: object
additionalProperties:
$ref: '#/components/schemas/ValueAdd'
description: A collection of value adds that apply to this rate.
deal:
$ref: '#/components/schemas/Deal'
description: Available promotions that apply to this rate.
Deal:
type: object
properties:
id:
type: string
description: Unique identifier for the deal.
description:
type: string
description: The description for the deal.
description: The deal that applies to this rate.
Deposit:
type: object
properties:
value:
type: string
description: The amount that must be paid as a deposit.
due:
type: string
description: The due date in ISO 8601 format.
currency:
type: string
description: The currency for the deposit amount.
description: A deposit policy associated with the rate.
PropertyAvailabilityLinks:
type: object
properties:
additional_rates:
$ref: '#/components/schemas/Link'
recommendations:
$ref: '#/components/schemas/Link'
additionalProperties:
$ref: '#/components/schemas/Link'
description: "A map of links, including links to request additional rates. Note that the recommendations feature has been retired and will return an error if the link is followed."
example:
additional_rates:
method: GET
href: /v3/properties/12345/availability?token=MY5S3j36cOcL
PropertyUnavailability:
allOf:
- $ref: '#/components/schemas/Property'
- type: object
properties:
unavailable_reason:
$ref: '#/components/schemas/UnavailableReason'
description: "Response with a property that has no available rates for the given request parameters, but `include=unavailable_reason` was requested."
UnavailableReason:
type: object
properties:
code:
type: string
description: |
The code representing the reason.
* `adults_exceed_threshold` - Number of adults requested exceeds room threshold. `data` will contain the maximum value.
* `children_exceed_threshold` - Number of children requested exceeds room threshold. `data` will contain the maximum value.
* `infants_exceed_threshold` - Number of infants requested exceeds room threshold. `data` will contain the maximum value.
* `minimum_child_age` - Child age requested is less than the minimum age specified for the room. `data` will contain the minimum value.
* `maximum_occupancy` - Number of occupants exceed the specified room limit. `data` will contain the maximum value.
* `checkin_not_allowed` - Check-in not allowed for this stay date.
* `checkout_not_allowed` - Check-out not allowed for this stay date.
* `minimum_stay` - Length of stay is less than minimum. `data` will contain the minimum value.
* `maximum_stay` - Length of stay is greater than maximum. `data` will contain the maximum value.
* `restricted_stay_lengths` - Some stay lengths are not available for this check-in date. `data` will contain the allowed lengths separated by pipe `|`. eg. `3|5|6`
* `same_day_restrictions` - Room is not available due to same day booking restrictions.
* `maximum_rooms` - Room count exceeds provider limit. `data` will contain the maximum value.
* `children_not_supported` - The property is restricted to adults only.
* `minimum_advance_purchase` - Minimum Advance Purchase requirement not met. `data` will contain the minimum value.
* `maximum_advance_purchase` - Maximum Advance Purchase requirement not met. `data` will contain the maximum value.
* `partial_inventory_available` - Some of the dates have no inventory available for the specified duration. `data` will contain the unavailable dates separated by pipe `|`. eg. `2023-10-21|2023-10-23`
* `no_inventory_available` - No inventory is available for the specified duration.
enum:
- adults_exceed_threshold
- children_exceed_threshold
- infants_exceed_threshold
- minimum_child_age
- maximum_occupancy
- checkin_not_allowed
- checkout_not_allowed
- minimum_stay
- maximum_stay
- restricted_dates
- same_day_restrictions
- maximum_rooms
- children_not_supported
- minimum_advance_purchase
- maximum_advance_purchase
- partial_inventory_available
- no_inventory_available
data:
type: string
description: An associated value that provides helpful information for some codes. Not present for all codes.
description: An unavailable reason that suggests ways that the request could be modified to locate available rooms and rates.
RoomPriceCheck:
type: object
properties:
status:
$ref: '#/components/schemas/StatusPriceCheck'
occupancy_pricing:
type: object
additionalProperties:
$ref: '#/components/schemas/PricingInformation'
description: A map of room information by occupancy.
links:
$ref: '#/components/schemas/RoomPriceCheckLinks'
card_on_file_limit:
$ref: '#/components/schemas/Amount'
refundable_damage_deposit:
$ref: '#/components/schemas/Amount'
deposits:
type: array
description: Array of deposits.
items:
$ref: '#/components/schemas/Deposit'
refund:
$ref: '#/components/schemas/Charge'
amount_owed:
$ref: '#/components/schemas/Charge'
penalty:
$ref: '#/components/schemas/Charge'
trader_information:
$ref: '#/components/schemas/TraderInformation'
description: The price check response.
StatusPriceCheck:
type: string
description: Indicates the status of the rate. If the rate is still available then available will be returned. If the rate is no longer available at that price then price_changed will be returned. If the rate is no longer available at all then sold_out will be returned.
enum:
- available
- price_changed
- sold_out
RoomPriceCheckLinks:
type: object
properties:
book:
$ref: '#/components/schemas/Link'
commit:
$ref: '#/components/schemas/Link'
payment_session:
$ref: '#/components/schemas/Link'
additional_rates:
$ref: '#/components/schemas/Link'
additionalProperties:
$ref: '#/components/schemas/Link'
description: |
A map of links, including links to continue booking this rate or to shop for additional rates.
If this rate is still available for booking then a book link will be present if PSD2 is not a requirement for you or a payment_session link will be present if PSD2 is a requirement for you.
PaymentOption:
type: object
properties:
affiliate_collect:
$ref: '#/components/schemas/AffiliateCollect'
credit_card:
$ref: '#/components/schemas/CreditCard'
description: The payment option response.
AffiliateCollect:
type: object
properties:
name:
type: string
description: Display name of payment option.
description: This option will be returned if a booking can be made using Expedia Affiliate Collect.
CreditCard:
type: object
properties:
card_options:
type: array
items:
$ref: '#/components/schemas/CardOption'
merchant:
$ref: '#/components/schemas/CreditCardMerchant'
name:
type: string
description: Display name of payment option.
CardOption:
type: object
properties:
name:
type: string
description: Brand name for the accepted credit or debit card. Use this value to determine which cards to display on your checkout page.
processing_country:
type: string
description: The country in which the payment will be processed.
CreditCardMerchant:
type: object
properties:
name:
type: string
description: Name of the merchant to use during 3rd party authorization for PSD2.
example:
name: TRAVEL RESERVATION
PropertyCalendarAvailability:
type: object
properties:
property_id:
type: string
description: Expedia property ID.
example: "123456"
days:
type: array
items:
$ref: '#/components/schemas/Day'
Day:
type: object
properties:
date:
type: string
description: Date associated to the provided information.
format: date
available:
type: boolean
description: True if the property is available on the date.
checkin:
$ref: '#/components/schemas/CheckInValidity'
checkout:
$ref: '#/components/schemas/CheckOutValidity'
stay_constraints:
$ref: '#/components/schemas/StayConstraints'
CheckInValidity:
type: string
description: |
Enumeration indicating the capability of check-in on the date.
`CHECKIN_VALID`: The associated date is valid for check in.
`CHECKIN_INVALID`: Generic or Unknown reason for being not being a valid day for check in.
`CHECKIN_INVALID_DUE_TO_BEING_IN_PAST`: The associated date is not valid for check in due to being in the past.
`CHECKIN_INVALID_DUE_TO_MIN_PRIOR_NOTIFICATION`: The associated date is not valid for check in because checking in on this date would not meet the owner's minimum prior notification requirements.
`CHECKIN_INVALID_DUE_TO_MAX_FUTURE_BOOKING`: The associated date is not valid for check in because it is too far in the future.
`CHECKIN_INVALID_DUE_TO_NOT_AVAILABLE`: The associated date is not valid for check in because it is not available (ie. the date is already reserved).
`CHECKIN_INVALID_DUE_TO_NON_CHANGEOVER_DAY_OF_WEEK`: The associated date is not valid for check in because it falls on a day of the week that check in is prohibited.
`CHECKIN_INVALID_DUE_TO_CHANGEOVER_EXCLUSION`: The associated date is not valid for check in because check in was prohibited on that specific date.
`CHECKIN_INVALID_DUE_TO_MIN_STAY_NOT_ACHIEVABLE`: The associated date is not valid for check in because checking in on this date does not satisfy the minimum stay duration.
`CHECKIN_INVALID_DUE_TO_NO_VALID_CHECKOUT_WITHIN_CONSTRAINTS`: The associated date is not valid for check in because there is not an associated check out date that would allow the stay to satisfy stay constraints.
example: CHECKIN_VALID
CheckOutValidity:
type: string
description: |
Enumeration indicating the capability of check-out on the date.
`CHECKOUT_VALID`: The associated date is valid for check out.
`CHECKOUT_INVALID`: The checkout validity value is invalid or unknown.
`CHECKOUT_INVALID_DUE_TO_NON_CHANGEOVER_DAY_OF_WEEK`: The associated date is not valid for check out because it falls on a day of the week that check out is prohibited.
`CHECKOUT_INVALID_DUE_TO_CHANGEOVER_EXCLUSION`: The associated date is not valid for check out because check out was prohibited on that specific date.
example: CHECKOUT_VALID
StayConstraints:
type: object
properties:
min_stay:
type: integer
description: The minimum number of days for a stay.
format: int32
example: 1
max_stay:
type: integer
description: The maximum number of days for a stay.
format: int32
example: 14
PaymentSessionsRequest:
required:
- browser_accept_header
- customer_account_details
- encoded_browser_metadata
- merchant_url
- payments
- preferred_challenge_window_size
- version
type: object
properties:
version:
type: string
description: The version of the EgPayments.js library.
browser_accept_header:
type: string
description: The customer's browser accept header that was used in the booking request.
encoded_browser_metadata:
type: string
description: "Encoded browser metadata, provided by the EgPayments.js library."
preferred_challenge_window_size:
type: string
description: |
The preferred window size that needs to be displayed to the customer. Following are the possible values of this field:
* `extra_small`: 250 x 400
* `small`: 390 x 400
* `medium`: 600 x 400
* `large`: 500 x 600
* `full_screen`: Full screen
enum:
- extra_small
- small
- medium
- large
- full_screen
merchant_url:
type: string
description: Fully qualified URL of merchant website or customer care site.
customer_account_details:
$ref: '#/components/schemas/PaymentSessionsRequestCustomerAccountDetails'
payments:
type: array
items:
$ref: '#/components/schemas/PaymentRequest'
example:
version: "1"
browser_accept_header: '*/*'
encoded_browser_metadata: ZW5jb2RlZF9icm93c2VyX21ldGFkYXRh
preferred_challenge_window_size: medium
merchant_url: https://server.adomainname.net
customer_account_details:
authentication_method: guest
authentication_timestamp: '2018-02-12T11:59:00.000Z'
create_date: '2018-09-15'
change_date: '2018-09-17'
password_change_date: '2018-09-17'
add_card_attempts: 1
account_purchases: 1
payments:
- type: customer_card
number: "4111111111111111"
security_code: "123"
expiration_month: "08"
expiration_year: "2025"
billing_contact:
given_name: John
family_name: Smith
address:
line_1: 555 1st St
line_2: 10th Floor
line_3: Unit 12
city: Seattle
state_province_code: WA
postal_code: "98121"
country_code: US
enrollment_date: '2018-09-15'
PaymentSessionsRequestCustomerAccountDetails:
type: object
properties:
authentication_method:
type: string
description: Mechanism used by the cardholder to authenticate to the merchant.
enum:
- guest
- own_credentials
- federated_id
- issuer_credentials
- third_party_authentication
- fido_authentication
authentication_timestamp:
type: string
description: "Date and time in UTC of the cardholder authentication, in extended ISO 8601 format."
create_date:
type: string
description: "Date the cardholder opened the account with the merchant, in ISO 8601 format (YYYY-MM-DD)."
change_date:
type: string
description: "Date the cardholder’s account with the merchant was last changed, including Billing or Shipping address, new payment account, or new user(s) added, in ISO 8601 format (YYYY-MM-DD)."
password_change_date:
type: string
description: "Date the cardholder’s account with the merchant had a password change or account reset, in ISO 8601 format (YYYY-MM-DD)."
add_card_attempts:
type: number
description: Number of add card attempts in the last 24 hours.
account_purchases:
type: number
description: Number of purchases with this cardholder's account during the previous six months.
PaymentRequest:
required:
- billing_contact
- type
type: object
properties:
type:
type: string
description: "Identifier for the type of payment. If affiliate_collect, card information is not required as EPS will not be processing the payment. However, billing contact information is still required."
enum:
- corporate_card
- customer_card
- virtual_card
- affiliate_collect
number:
type: string
description: Card number. Required for credit card transactions.
security_code:
type: string
description: CVV/CSV code from the back of the customer's card. Required for credit card transactions.
expiration_month:
type: string
description: Two-digit month the credit card will expire. Required for credit card transactions.
expiration_year:
type: string
description: Year the credit card will expire. Required for credit card transactions.
billing_contact:
$ref: '#/components/schemas/BillingContactRequest'
third_party_authentication:
$ref: '#/components/schemas/ThirdPartyAuthRequest'
enrollment_date:
type: string
description: "Date the payment account was enrolled in the cardholder's account with the merchant, in ISO 8601 format (YYYY-MM-DD)."
BillingContactRequest:
required:
- address
- family_name
- given_name
type: object
properties:
given_name:
type: string
description: "First/given name of the payment type account holder. Max 60 characters. Special characters (\"<\", \">\", \"(\", \")\", and \"&\") entered in this field will be re-encoded."
family_name:
type: string
description: "Last/family name of the payment type account holder. Max 60 characters. Special characters (\"<\", \">\", \"(\", \")\", and \"&\") entered in this field will be re-encoded."
address:
$ref: '#/components/schemas/BillingContactRequestAddress'
BillingContactRequestAddress:
required:
- country_code
type: object
properties:
line_1:
type: string
description: "First line of customer's street address. Special characters (\"<\", \">\", \"(\", \")\", and \"&\") entered in this field will be re-encoded. Only ISO-8859-1 compliant characters are allowed."
line_2:
type: string
description: "Second line of customer's street address. Special characters (\"<\", \">\", \"(\", \")\", and \"&\") entered in this field will be re-encoded. Only ISO-8859-1 compliant characters are allowed."
line_3:
type: string
description: "Third line of customer's street address. Special characters (\"<\", \">\", \"(\", \")\", and \"&\") entered in this field will be re-encoded. Only ISO-8859-1 compliant characters are allowed."
city:
type: string
description: "Customer's city. Special characters (\"<\", \">\", \"(\", \")\", and \"&\") entered in this field will be re-encoded. Only ISO-8859-1 compliant characters are allowed."
state_province_code:
type: string
description: "Customer's state or province code. Mandatory for AU, CA and US. Special characters (\"<\", \">\", \"(\", \")\", and \"&\") entered in this field will be re-encoded. Only ISO-8859-1 compliant characters are allowed."
postal_code:
type: string
description: "Customer's postal code. Mandatory for CA, GB, and US. Special characters (\"<\", \">\", \"(\", \")\", and \"&\") entered in this field will be re-encoded. Only ISO-8859-1 compliant characters are allowed."
country_code:
type: string
description: "Customer's country code, in two-letter ISO 3166-1 alpha-2 format. Special characters (\"<\", \">\", \"(\", \")\", and \"&\") entered in this field will be re-encoded. Only ISO-8859-1 compliant characters are allowed."
ThirdPartyAuthRequest:
required:
- cavv
- ds_transaction_id
- eci
- three_ds_version
type: object
properties:
cavv:
type: string
description: |
Cryptographic element used to indicate Authentication was successfully performed
eci:
type: string
description: |
Electronic Commerce Indicator. The ECI is used in payer authentication to indicate the level of security used when the cardholder provided payment information to the merchant. Its value corresponds to the authentication result and the characteristics of the merchant checkout process. Each card network, e.g., Visa, MasterCard, JCB, has specific rules around the appropriate values and use of the ECI.
three_ds_version:
type: string
description: |
Indicates what version of 3DS was used to authenticate the user.
example: xxx
ds_transaction_id:
type: string
description: |
Directory Server Transaction Id. Returned during authentication and is used as an additional parameter to validate that transaction was authenticated.
pa_res_status:
type: string
description: |
set only if PAResStatus value is received in the authentication response
ve_res_status:
type: string
description: |
set this only if PAResStatus value is received in the authentication response
if Authentication was Frictionless → AuthenticationResponse.PAResStatus,
if Authentication was a successful challenge → "C" (This is the directory response for challenge)
example: C
xid:
type: string
description: |
String used by both Visa and MasterCard which identifies a specific transaction on the Directory
This string value should remain consistent throughout a transaction's history.
cavv_algorithm:
type: string
description: |
Used in some scenarios for 3DS 1.0.
ucaf_indicator:
type: string
description: |
Only received for Mastercard transactions, else can be null.
0 - Non-SecureCode transaction, bypassed by the Merchant
1 - Merchant-Only SecureCode transaction
2 - Fully authenticated SecureCode transaction
PaymentSessions:
type: object
properties:
payment_session_id:
type: string
description: The registered payment session ID.
encoded_init_config:
type: string
description: A base64 encoded object which contains configuration needed to perform device fingerprinting. It is used in conjunction with the provided Javascript library for PSD2.
links:
$ref: '#/components/schemas/PaymentSessionsLinks'
description: The payment registration response.
PaymentSessionsLinks:
type: object
properties:
book:
$ref: '#/components/schemas/Link'
additionalProperties:
$ref: '#/components/schemas/Link'
description: "A map of links, including links to create a booking."
Itinerary:
type: object
properties:
itinerary_id:
type: string
description: The itinerary id.
property_id:
type: string
description: The property id.
links:
$ref: '#/components/schemas/ItineraryLinks'
email:
type: string
description: Email address for the customer.
phone:
$ref: '#/components/schemas/Phone'
rooms:
type: array
items:
$ref: '#/components/schemas/RoomItinerary'
billing_contact:
$ref: '#/components/schemas/BillingContact'
adjustment:
$ref: '#/components/schemas/Adjustment'
creation_date_time:
type: string
description: The creation date/time of the booking.
affiliate_reference_id:
type: string
description: Your unique reference value. This field supports from 3 to a maximum of 28 characters.
affiliate_metadata:
type: string
description: "Field that stores up to 256 characters of additional metadata with the itinerary, uniqueness is not required."
conversations:
$ref: '#/components/schemas/Conversations'
trader_information:
$ref: '#/components/schemas/TraderInformation'
essential_information:
$ref: '#/components/schemas/EssentialInformation'
travel_purpose:
type: string
description: |
Value potentially passed in during the availability request to indicate the purpose of the trip designated
by the traveler.
enum:
- leisure
- business
- unspecified
itinerary_history:
type: array
items:
$ref: '#/components/schemas/ItineraryHistoryItem'
room_history:
type: array
description: An array of rooms each containing an array of room history events.
items:
type: array
items:
$ref: '#/components/schemas/RoomHistoryItem'
description: The itinerary object.
ItineraryLinks:
type: object
properties:
resume:
$ref: '#/components/schemas/Link'
cancel:
$ref: '#/components/schemas/Link'
additionalProperties:
$ref: '#/components/schemas/Link'
description: "A map of links, including links to resume or cancel a held booking. This is only included for held bookings."
Phone:
type: object
properties:
country_code:
type: string
description: The numerical portion of the country code from the phone number. Do not include the leading '+' character.
example: "1"
area_code:
type: string
description: The area code of the phone number.
example: "487"
number:
type: string
description: The remaining digits of the phone number.
example: "5550077"
description: The entire phone number must be represented across the three fields in this object.
RoomItinerary:
type: object
properties:
id:
type: string
description: The room id.
confirmation_id:
$ref: '#/components/schemas/ConfirmationId'
bed_group_id:
type: string
description: Unique identifier for a bed type.
checkin:
type: string
description: The check-in date of the itinerary.
checkout:
type: string
description: The check-out date of the itinerary.
number_of_adults:
type: number
description: The number of adults staying in the room.
child_ages:
type: array
description: The ages of children for the room.
items:
type: number
given_name:
type: string
description: The first name of the main guest staying in the room.
family_name:
type: string
description: The last name of the main guest staying in the room.
status:
$ref: '#/components/schemas/StatusItinerary'
special_request:
type: string
description: Any special request info associated with the room.
smoking:
type: boolean
description: Indicates if the room is smoking or non-smoking.
loyalty_id:
type: string
description: Deprecated. Please use the loyalty id inside the loyalty object.
loyalty:
$ref: '#/components/schemas/Loyalty'
rate:
$ref: '#/components/schemas/RateItinerary'
links:
$ref: '#/components/schemas/RoomItineraryLinks'
description: The room information.
ConfirmationId:
type: object
properties:
expedia:
type: string
description: The expedia confirmation id.
property:
type: string
description: The property confirmation id.
description: The confirmation ids.
StatusItinerary:
type: string
description: The booking status of the room.
enum:
- pending
- booked
- canceled
Loyalty:
type: object
properties:
member_id:
type: string
description: The identifier for the individual associated with a loyalty program.
example: ABC123
program_id:
type: string
description: The identifier for the loyalty program.
example: SN
description: A loyalty object for a loyalty program.
RateItinerary:
type: object
properties:
id:
type: string
description: The id of the rate.
merchant_of_record:
$ref: '#/components/schemas/MerchantOfRecord'
refundable:
type: boolean
description: Indicates whether the itinerary is refundable or not.
cancel_refund:
$ref: '#/components/schemas/CancelRefund'
amenities:
type: array
items:
type: string
description: The amenity id associated with the itinerary.
promotions:
$ref: '#/components/schemas/PromotionsItinerary'
cancel_penalties:
type: array
description: The cancel penalties associated with the itinerary.
items:
$ref: '#/components/schemas/CancelPenalty'
nonrefundable_date_ranges:
type: array
description: |
A list of date exceptions. Dates within these ranges provide no refund on cancellation, regardless of
cancel penalty windows. Nonrefundable range begins at 00:00:00 on the start date, and ends at 23:59:59 on
the end date, in the local time zone of the property.
items:
$ref: '#/components/schemas/NonrefundableDateRange'
deposits:
type: array
items:
$ref: '#/components/schemas/DepositItinerary'
card_on_file_limit:
$ref: '#/components/schemas/Amount'
refundable_damage_deposit:
$ref: '#/components/schemas/Amount'
pricing:
$ref: '#/components/schemas/PricingInformation'
description: The rate information associated with the itinerary.
CancelRefund:
type: object
properties:
amount:
type: string
description: The amount of the refund on cancelling the itinerary.
currency:
type: string
description: The currency of the refund amount.
description: The refund information for cancelling the itinerary.
PromotionsItinerary:
type: object
properties:
value_adds:
type: object
additionalProperties:
$ref: '#/components/schemas/ValueAdd'
description: "Promotions provided by the property that add value to the stay, but don’t affect the booking price (i.e., ski lift tickets or premium wifi)."
description: Promotions that apply to the booked room.
DepositItinerary:
type: object
properties:
currency:
type: string
description: The currency of the deposit.
value:
type: string
description: The amount required as deposit.
due:
type: string
description: The due date/time of the deposit.
description: The deposit policy associated with the itinerary.
RoomItineraryLinks:
type: object
properties:
cancel:
$ref: '#/components/schemas/Link'
change:
$ref: '#/components/schemas/Link'
shop_for_change:
$ref: '#/components/schemas/Link'
additionalProperties:
$ref: '#/components/schemas/Link'
description: |
A map of links -
* `cancel` - Cancel the booking for this room
* `change` - A PUT call to modify the details of the booking for this room (soft change)
* `shop_for_change` - Shop for rates to evaluate for possible rebooking. This shop call will show the estimated financial impact of the change.
Current parameters supported in shop for change: `checkin`, `checkout`, `occupancy` See: [additional rates](#get-/properties/-property_id-/availability)
BillingContact:
type: object
properties:
given_name:
type: string
description: First/given name of the payment type account holder.
family_name:
type: string
description: Last/family name of the payment type account holder.
address:
$ref: '#/components/schemas/Address_1'
Address_1:
type: object
properties:
line_1:
type: string
description: First line of street address.
example: 555 1st St.
line_2:
type: string
description: Second line of street address.
example: 10th Floor
line_3:
type: string
description: Third line of street address.
example: Unit 12
city:
type: string
description: City where address is located.
example: Seattle
state_province_code:
type: string
description: "State or province code of address, if applicable."
example: WA
postal_code:
type: string
description: "Postal code of address, if applicable."
example: "98121"
country_code:
type: string
description: "Country code, in two-letter ISO 3166-1 alpha-2 format."
example: US
Adjustment:
type: object
properties:
value:
type: string
description: The amount of the adjustment.
type:
type: string
description: The type of the adjustment.
currency:
type: string
description: The currency of the adjustment.
description: Any price adjustments associated with this itinerary.
Conversations:
type: object
properties:
links:
type: object
additionalProperties:
$ref: '#/components/schemas/Link'
description: Contains urls for links to initiate conversations via EPS.
description: Details about initiating conversations.
EssentialInformation:
type: object
properties:
contact:
$ref: '#/components/schemas/SupplyContact'
essentials:
type: array
items:
$ref: '#/components/schemas/Essential'
update_available_date:
type: string
description: "The date and time when new essential information is available for retrieval, in extended ISO 8601 format, with ±hh:mm timezone offset."
example: '2022-08-12T11:59:00-08:00'
description: "Essential information, including the supply contact information and any other essential information."
SupplyContact:
type: object
properties:
name:
type: string
description: The contact name.
example: Pat Host
phone:
$ref: '#/components/schemas/Phone'
email:
type: string
description: Email address for the contact.
example: pat_host@ilovevrbo.com
address:
$ref: '#/components/schemas/Address_1'
description: The supply contact information. Note that full details may not be displayed until a short time prior to checkin.
Essential:
type: object
properties:
name:
type: string
description: The name of the essential item.
example: access
instructions:
type: string
description: The instructions for use of the essential item.
example: Use the smart lock located at the side door for access.
additional_info:
type: object
additionalProperties:
type: string
description: A map of additional information that needs to be conveyed to customer.
example:
access_type: Smart lock
access_code: "12345"
images:
type: array
description: An array of images needed for the essential item.
items:
$ref: '#/components/schemas/Image_1'
Image_1:
type: object
properties:
url:
type: string
description: The url of the image.
example: https://www.expedia.com/logo.svg
width:
type: string
description: The width of the image.
example: "144"
height:
type: string
description: The height of the image.
example: "32"
ItineraryHistoryItem:
type: object
properties:
history_id:
type: string
description: Itinerary history id for particular change.
event_timestamp:
type: string
description: "Date and time in UTC of the change event, in extended ISO 8601 format."
event_type:
type: string
enum:
- adjustment
- coupon
amount:
$ref: '#/components/schemas/Amount'
agent_id:
type: integer
description: An agent user id number associated with a modification.
description: "An itinerary history change event, representing a charge or refund made to the itinerary and not a specific room."
RoomHistoryItem:
type: object
properties:
history_id:
type: string
description: Room history id for particular change.
event_timestamp:
type: string
description: "Date and time in UTC of the change event, in extended ISO 8601 format."
event_type:
type: string
description: Type type of event associated with this history item such as modified or canceled.
enum:
- created
- modified
- canceled
event_source:
type: string
description: "The source of the event. If `voyager_agent`, `agent_id` will be supplied."
enum:
- rapid_api
- voyager_agent
- other
change_reference_id:
type: string
description: Optional identifier provided during changes via Rapid.
agent_id:
type: integer
description: An agent user id number associated with a modification.
room_id:
type: string
description: The room id.
confirmation_id:
$ref: '#/components/schemas/ConfirmationId'
bed_group_id:
type: string
description: Unique identifier for a bed type.
checkin:
type: string
description: The check-in date of the itinerary.
checkout:
type: string
description: The check-out date of the itinerary.
number_of_adults:
type: number
description: The number of adults staying in the room.
child_ages:
type: array
description: The ages of children for the room.
items:
type: number
given_name:
type: string
description: The first name of the main guest staying in the room.
family_name:
type: string
description: The last name of the main guest staying in the room.
status:
$ref: '#/components/schemas/StatusItinerary'
special_request:
type: string
description: Any special request info associated with the room.
smoking:
type: boolean
description: Indicates if the room is smoking or non-smoking.
loyalty_id:
type: string
description: A loyalty identifier for a hotel loyalty program associated with this room guest.
amount_charged:
$ref: '#/components/schemas/Charge'
amount_refunded:
$ref: '#/components/schemas/Charge'
penalty:
$ref: '#/components/schemas/Charge'
rate:
$ref: '#/components/schemas/RateHistory'
description: "A room history event, representing a change made to a specific room."
RateHistory:
type: object
properties:
id:
type: string
description: The id of the rate.
promotions:
$ref: '#/components/schemas/PromotionsItinerary'
cancel_penalties:
type: array
description: The cancel penalties associated with the itinerary.
items:
$ref: '#/components/schemas/CancelPenalty'
deposits:
type: array
items:
$ref: '#/components/schemas/DepositItinerary'
pricing:
$ref: '#/components/schemas/PricingInformation'
description: The rate information associated with the itinerary.
CreateItineraryRequest:
required:
- email
- phone
- rooms
type: object
properties:
affiliate_reference_id:
type: string
description: "Your unique reference value. This field supports from 3 to a maximum of 28 characters and is required to be unique (if provided). Entering special characters (\"<\", \">\", \"(\", \")\", and \"&\") in this field will result in the request being rejected."
hold:
type: boolean
description: Flag for placing a booking on hold. The booking will be released if the resume link is not followed within the hold period. Please refer to our Hold and Resume documentation.
email:
type: string
description: "Email address for the customer. Must adhere to standard RFC 822 email format. Special characters (\"<\", \">\", \"(\", \")\", and \"&\") entered in this field will be re-encoded."
phone:
$ref: '#/components/schemas/PhoneRequest'
rooms:
type: array
items:
$ref: '#/components/schemas/CreateItineraryRequestRoom'
payments:
type: array
description: "Required if payment information prior to booking was not submitted. If register payments was called prior to this call, do not submit payment information again."
items:
$ref: '#/components/schemas/PaymentRequest'
affiliate_metadata:
type: string
description: "Field that stores up to 256 characters of additional metadata with the itinerary. Will be returned on all retrieve responses for this itinerary. The data must be in the format 'key1:value|key2:value|key3:value'. Other Special characters (\"<\", \">\", \"(\", \")\", and \"&\") entered in this field will be re-encoded."
tax_registration_number:
type: string
description: "The customer's taxpayer identification number that is provided by the government to nationals or resident aliens. This number should be collected from individuals that pay taxes or participate in activities that provide revenue for one or more tax types. Note: This value is only needed from Brazilian and Indian customers."
traveler_handling_instructions:
type: string
description: "Custom traveler handling instructions for the hotel. Do not include PCI sensitive data, such as credit card numbers, in this field."
example:
affiliate_reference_id: 4480ABC
hold: false
email: john@example.com
phone:
country_code: "1"
area_code: "487"
number: "5550077"
rooms:
- given_name: John
family_name: Smith
smoking: false
special_request: Top floor or away from street please
loyalty_id: ABC123
loyalty:
member_id: ABD123
program_id: SN
payments:
- type: customer_card
number: "4111111111111111"
security_code: "123"
expiration_month: "08"
expiration_year: "2025"
billing_contact:
given_name: John
family_name: Smith
address:
line_1: 555 1st St
line_2: 10th Floor
line_3: Unit 12
city: Seattle
state_province_code: WA
postal_code: "98121"
country_code: US
enrollment_date: '2018-09-15'
third_party_authentication:
cavv: jELUbgG+Tgj0AREBDMLeCad+oIs=
eci: "05"
three_ds_version: 2.2.0
ds_transaction_id: ac01cc2b-c1a1-4981-8c6f-400d4eec88de
pa_res_status: "Y"
ve_res_status: C
xid: 47133847-13be-4ae3-9be9-e4053b9c83c0
cavv_algorithm: "3"
ucaf_indicator: "0"
affiliate_metadata: data_point_1:123|data_point2:This is data.
tax_registration_number: "12345678910"
traveler_handling_instructions: Please use the card provided for payment. Avoid cancelation as this is for a corporate traveler. Contact traveler if any issues.
PhoneRequest:
required:
- country_code
- number
type: object
properties:
country_code:
type: string
description: "The numerical portion of the country code from the phone number. Do not include the leading '+' character. Special characters (\"<\", \">\", \"(\", \")\", and \"&\") entered in this field will be re-encoded."
area_code:
type: string
description: "The area code of the phone number. Special characters (\"<\", \">\", \"(\", \")\", and \"&\") entered in this field will be re-encoded."
number:
type: string
description: "The remaining digits of the phone number. Special characters (\"<\", \">\", \"(\", \")\", and \"&\") entered in this field will be re-encoded."
description: The entire phone number must be represented across the three fields in this object. The entire phone number should not exceed 25 characters.
CreateItineraryRequestRoom:
required:
- family_name
- given_name
type: object
properties:
given_name:
type: string
description: "First name of room guest. Max 60 characters. Special characters (\"<\", \">\", \"(\", \")\", and \"&\") entered in this field will be re-encoded."
family_name:
type: string
description: "Last name of room guest. Max 60 characters. Special characters (\"<\", \">\", \"(\", \")\", and \"&\") entered in this field will be re-encoded."
smoking:
type: boolean
description: "Specify if the guest would prefer a smoking room. This field is only a request and the property is not guaranteed to honor it, it will not override any non-smoking policies by the hotel."
special_request:
type: string
description: "Special requests to send to hotel (not guaranteed). Do not use this field to communicate B2B customer service requests or pass any sensitive personal or financial information (PII). Special characters (\"<\", \">\", \"(\", \")\", and \"&\") entered in this field will be re-encoded."
loyalty_id:
type: string
description: Deprecated. Please use the loyalty id inside the loyalty object.
loyalty:
$ref: '#/components/schemas/Loyalty'
ItineraryCreation:
type: object
properties:
itinerary_id:
type: string
description: The itinerary id.
links:
$ref: '#/components/schemas/ItineraryCreationLinks'
encoded_challenge_config:
type: string
description: The challenge config that is required to perform payment challenge. This field will be available when payment challenge is needed.
trader_information:
$ref: '#/components/schemas/TraderInformation'
description: The book response.
ItineraryCreationLinks:
type: object
properties:
retrieve:
$ref: '#/components/schemas/Link'
resume:
$ref: '#/components/schemas/Link'
complete_payment_session:
$ref: '#/components/schemas/Link'
cancel:
$ref: '#/components/schemas/Link'
additionalProperties:
$ref: '#/components/schemas/Link'
description: "A map of links, including links to retrieve a booking, resume a held booking, cancel a held booking, or complete a payment session if a challenge is used."
CompletePaymentSession:
type: object
properties:
itinerary_id:
type: string
description: The itinerary id.
links:
$ref: '#/components/schemas/CompletePaymentSessionLinks'
trader_information:
$ref: '#/components/schemas/TraderInformation'
description: The payment session response.
CompletePaymentSessionLinks:
type: object
properties:
retrieve:
$ref: '#/components/schemas/Link'
resume:
$ref: '#/components/schemas/Link'
cancel:
$ref: '#/components/schemas/Link'
additionalProperties:
$ref: '#/components/schemas/Link'
description: "A map of links, including links to retrieve a booking, resume a held booking, or cancel a held booking."
ChangeRoomDetailsRequest:
type: object
properties:
given_name:
type: string
description: "First name of room guest. Max 60 characters. Special characters (\"<\", \">\", \"(\", \")\", and \"&\") entered in this field will be re-encoded."
family_name:
type: string
description: "Last name of room guest. Max 60 characters. Special characters (\"<\", \">\", \"(\", \")\", and \"&\") entered in this field will be re-encoded."
smoking:
type: boolean
description: "Specify if the guest would prefer a smoking room. This field is only a request and the property is not guaranteed to honor it, it will not override any non-smoking policies by the hotel."
special_request:
type: string
description: "Special requests to send to hotel (not guaranteed). Do not use this field to communicate B2B customer service requests or pass any sensitive personal or financial information (PII). Special characters (\"<\", \">\", \"(\", \")\", and \"&\") entered in this field will be re-encoded."
loyalty_id:
type: string
description: Deprecated. Please use the loyalty id inside the loyalty object.
loyalty:
$ref: '#/components/schemas/Loyalty'
example:
given_name: John
family_name: Smith
smoking: false
special_request: Top floor or away from street please
loyalty_id: ABC123
loyalty:
member_id: ABD123
program_id: SN
CommitChangeRoomRequestBody:
type: object
properties:
change_reference_id:
type: string
description: |
Your optional identifier for the change being executed. Only unique per itinerary.
Special characters ("<", ">", "(", ")", and "&") entered in this field will be re-encoded.
payments:
type: array
items:
$ref: '#/components/schemas/PaymentRequestWithPhone'
example:
change_reference_id: v1-John
payments:
- type: customer_card
number: "4111111111111111"
security_code: "123"
expiration_month: "08"
expiration_year: "2025"
billing_contact:
given_name: John
family_name: Smith
address:
line_1: 555 1st St
line_2: 10th Floor
line_3: Unit 12
city: Seattle
state_province_code: WA
postal_code: "98121"
country_code: US
third_party_authentication:
cavv: jELUbgG+Tgj0AREBDMLeCad+oIs=
eci: "05"
three_ds_version: 2.2.0
ds_transaction_id: ac01cc2b-c1a1-4981-8c6f-400d4eec88de
pa_res_status: "Y"
ve_res_status: C
xid: 47133847-13be-4ae3-9be9-e4053b9c83c0
cavv_algorithm: "3"
ucaf_indicator: "0"
enrollment_date: '2018-09-15'
PaymentRequestWithPhone:
required:
- billing_contact
- type
type: object
properties:
type:
type: string
description: "Identifier for the type of payment. If affiliate_collect, cardholder information is not required as EPS will not be processing the payment."
enum:
- corporate_card
- customer_card
- virtual_card
- affiliate_collect
number:
type: string
description: Card number. Required for credit card transactions.
security_code:
type: string
description: CVV/CSV code from the back of the customer's card. Required for credit card transactions.
expiration_month:
type: string
description: Two-digit month the credit card will expire. Required for credit card transactions.
expiration_year:
type: string
description: Year the credit card will expire. Required for credit card transactions.
billing_contact:
$ref: '#/components/schemas/BillingContactRequestWithPhone'
third_party_authentication:
$ref: '#/components/schemas/ThirdPartyAuthRequest'
enrollment_date:
type: string
description: "Date the payment account was enrolled in the cardholder's account with the merchant, in ISO 8601 format (YYYY-MM-DD)."
BillingContactRequestWithPhone:
required:
- address
- family_name
- given_name
type: object
properties:
given_name:
type: string
description: "First/given name of the payment type account holder. Max 60 characters. Special characters (\"<\", \">\", \"(\", \")\", and \"&\") entered in this field will be re-encoded."
family_name:
type: string
description: "Last/family name of the payment type account holder. Max 60 characters. Special characters (\"<\", \">\", \"(\", \")\", and \"&\") entered in this field will be re-encoded."
phone:
$ref: '#/components/schemas/PhoneRequest'
address:
$ref: '#/components/schemas/BillingContactRequestAddress'
Notification:
type: object
properties:
event_id:
type: string
description: Unique identifier for each message
event_type:
type: string
description: An indication of what event caused the notification. This value can be used for message handling and routing. Refer to the list of event types for more information.
event_time:
type: string
description: "Timestamp of the event notification, in UTC"
itinerary_id:
type: string
description: The Itinerary ID of the affected booking
email:
type: string
description: The customer e-mail address associated with the affected itinerary
message:
type: string
description: Description of event notification
affiliate_reference_id:
type: string
description: The Affiliate Reference ID of the affected booking
description: A notification.
TestNotificationRequest:
required:
- event_type
type: object
properties:
event_type:
type: string
description: The event type for which the test notification is requested.
example:
event_type: itinerary.agent.create
Amenity:
type: object
properties:
id:
type: string
description: The amenity definition ID for this amenity.
name:
type: string
description: Amenity name.
value:
type: string
description: Amenity value.
categories:
type: array
description: |
This is an optional field and will be present only if the amenity falls into one or more of these amenity categories.
See the Amenity Categories section of the
[Content Reference Lists](https://developers.expediagroup.com/docs/rapid/lodging/content/content-reference-lists)
for a list of values.
items:
type: string
description: An individual amenity.
BedGroupConfiguration:
type: object
properties:
type:
type: string
description: The type of this bed configuration in the room.
size:
type: string
description: The size of this bed configuration in the room.
quantity:
type: number
description: The number of this bed configuration in the room.
description: An individual bed configuration.
MerchantOfRecord:
type: string
description: |
* `expedia` - Payment is taken by Expedia.
* `property` - Payment is taken by the property.
enum:
- expedia
- property
CancelPenalty:
type: object
properties:
currency:
type: string
description: Currency of the amount object.
start:
type: string
description: "Effective date and time of cancellation penalty in extended ISO 8601 format, with ±hh:mm timezone offset"
end:
type: string
description: "End date and time of cancellation penalty in extended ISO 8601 format, with ±hh:mm timezone offset"
amount:
type: string
description: The monetary amount of the penalty.
nights:
type: string
description: Number of nights charged for as penalty.
percent:
type: string
description: Percentage of total booking charged for as penalty. A thirty percent penalty would be returned as 30%
NonrefundableDateRange:
type: object
properties:
start:
type: string
description: Start date of nonrefundable date range in ISO 8601 format.
end:
type: string
description: End date of nonrefundable date range in ISO 8601 format.
PricingInformation:
type: object
properties:
nightly:
type: array
description: Array of arrays of amount objects. Each sub-array of amount objects represents a single night's charges.
items:
type: array
items:
$ref: '#/components/schemas/NightCharge'
stay:
type: array
description: Array of amount objects. Details any charges that apply to the entire stay (not divided per-night). Any per-room adjustments are applied to the `base_rate` amount within this object.
items:
$ref: '#/components/schemas/Stay'
totals:
$ref: '#/components/schemas/Totals'
fees:
$ref: '#/components/schemas/FeesPricingInformation'
description: The pricing information object.
NightCharge:
type: object
properties:
type:
$ref: '#/components/schemas/NightChargeType'
value:
type: string
description: The value of the amount object. Decimal point inline with correct precision.
currency:
type: string
description: Currency of the amount object.
NightChargeType:
type: string
description: |
The price breakout type.
* `base_rate` - The room rate without any taxes and fees applied.
* `tax_and_service_fee` - Tax recovery charges, service fees, and taxes. Ensure that you capture these values and display as:
"Taxes and Fees"
* `extra_person_fee` - A per night fee that is charged by a hotel for additional adults over the nightly rate. This fee is included as part of the total.
* `property_fee` - The property fee surcharge type must be displayed beginning on the initial hotel room selection page, immediately after your hotel search results page. This placement is required by the U.S. Federal Trade Commission (FTC).
Display this surcharge as "Property Fee" on your room selection page, as described above, and in all subsequent price breakdowns for the following Points of Sale:
* `US`
* `Canada`
* `Brazil`
* `LATAM`
* `sales_tax` - Taxes that must be displayed by certain jurisdictional laws. Ensure that you capture these values and display as "Taxes".
* `adjustment` - This is the amount that the individual night have been adjusted/discounted.
* `recovery_charges_and_fees` - Tax recovery charges, service fees, and taxes. Ensure that you capture these values and display as:
"Taxes and Fees"
* `traveler_service_fee` - Fee charged by Vrbo to support use of online tools, services and functions on its platform which enable guest self service. May be displayed as 'Traveler Service Fee' or 'Service Fee' any time fees are broken out for display on partner sites.
enum:
- base_rate
- tax_and_service_fee
- extra_person_fee
- property_fee
- sales_tax
- adjustment
- recovery_charges_and_fees
- traveler_service_fee
Stay:
type: object
properties:
type:
$ref: '#/components/schemas/StayType'
value:
type: string
description: The value of the amount object. Decimal point inline with correct precision.
currency:
type: string
description: Currency of the amount object.
StayType:
type: string
description: The price breakout type.
enum:
- base_rate
- tax_and_service_fee
- extra_person_fee
- property_fee
- sales_tax
- adjustment
- recovery_charges_and_fees
- traveler_service_fee
Totals:
type: object
properties:
inclusive:
$ref: '#/components/schemas/Charge'
exclusive:
$ref: '#/components/schemas/Charge'
property_inclusive:
$ref: '#/components/schemas/Charge'
inclusive_strikethrough:
$ref: '#/components/schemas/Charge'
strikethrough:
$ref: '#/components/schemas/Charge'
property_inclusive_strikethrough:
$ref: '#/components/schemas/Charge'
marketing_fee:
$ref: '#/components/schemas/Charge'
gross_profit:
$ref: '#/components/schemas/Charge'
minimum_selling_price:
$ref: '#/components/schemas/Charge'
property_fees:
$ref: '#/components/schemas/Charge'
description: |
The total price of charges, given various criteria.
* `inclusive` - provides the total price including taxes and fees. This does not include property collected fees such as resort, mandatory taxes, and mandatory fees.
* `exclusive` - provides the total price excluding taxes and fees.
* `property_inclusive` - provides the total price including taxes, fees, and property collected fees such as resort, mandatory taxes, and mandatory fees.
* `inclusive_strikethrough` - provides the tax `inclusive` total price with any property funded discounts added back. Can be used to merchandise the savings due to a discount.
* `strikethrough` - provides the tax `exclusive` total price with any property funded discounts added back. Can be used to merchandise the savings due to a discount.
* `property_inclusive_strikethrough` - provides the tax, fees, and property collected fees `inclusive` total price with any property funded discounts added back. Can be used to merchandise the savings due to a discount.
* `marketing_fee` - provides the potential owed earnings per transaction.
* `gross_profit` - provides the estimated gross profit per transaction.
* `minimum_selling_price` - provides the minimum selling price.
* `property_fees` - provides the total of the fees collected by the property.
Charge:
type: object
properties:
billable_currency:
$ref: '#/components/schemas/Amount'
request_currency:
$ref: '#/components/schemas/Amount'
description: An object representing a charge. Information about the charge is provided in both the billable currency and the request currency.
Amount:
type: object
properties:
value:
type: string
description: The value of the amount object. Decimal point inline with correct precision.
currency:
type: string
description: Currency of the amount object.
description: The monetary amount.
FeesPricingInformation:
type: object
properties:
mandatory_fee:
$ref: '#/components/schemas/ChargeCalculated'
resort_fee:
$ref: '#/components/schemas/ChargeCalculated'
mandatory_tax:
$ref: '#/components/schemas/ChargeCalculated'
description: |
The fees collected by the property. The values for each type of fee are the total for that type.
Mandatory fees are collected by the property at check-in or check-out.
Resort fees are charged for amenities and extras and collected by the property at check-in or check-out.
Mandatory taxes are taxes collected by the property at check-in or check-out.
ChargeCalculated:
type: object
properties:
billable_currency:
$ref: '#/components/schemas/Amount'
request_currency:
$ref: '#/components/schemas/Amount'
description: An object representing a charge. Information about the charge is provided in both the billable currency and the request currency.
ValueAdd:
type: object
properties:
id:
type: string
description: Unique identifier for the value add promotion.
description:
type: string
description: A localized description of the value add promotion.
category:
$ref: '#/components/schemas/CategoryValueAdd'
offer_type:
$ref: '#/components/schemas/OfferType'
frequency:
$ref: '#/components/schemas/Frequency'
person_count:
type: number
description: Indicates how many guests the value add promotion applies to.
description: An individual value add.
CategoryValueAdd:
type: string
description: The general category that this value add promotion falls into.
enum:
- food_and_beverage
- entertainment
- service
- activity
- credit
OfferType:
type: string
description: The type of offer this value add promotion is.
enum:
- buy_one_get_one_free
- credit
- discount
- free
- voucher
Frequency:
type: string
description: The frequency of when this applies.
enum:
- unknown
- per_night
- per_day
- per_stay
- per_week
- round_trip
- one_way
TraderInformation:
required:
- terms_and_conditions
type: object
properties:
traders:
$ref: '#/components/schemas/TraderDetails'
terms_and_conditions:
$ref: '#/components/schemas/TraderTermsAndConditions'
description: The professional entity or entities that sells the property inventory or related services.
TraderDetails:
type: array
description: An array of traders.
items:
required:
- contact_message
type: object
properties:
name:
$ref: '#/components/schemas/TraderName'
address:
$ref: '#/components/schemas/TraderAddress'
business_register_name:
type: string
description: |
Name of the register where the trader is registered, and is related to the `business_register_number`
example: A real business register name
business_register_number:
type: string
description: |
Business registration number
example: 792837491b
self_certification:
type: boolean
description: |
Certification that the trader has confirmed their commitment to only offer products or services that
comply with the applicable rules of Union law.
example: true
contact_message:
$ref: '#/components/schemas/TraderContactMessage'
right_to_withdraw_message:
$ref: '#/components/schemas/TraderRightToWithdrawMessage'
email:
type: string
description: The trader email address.
example: travel@support.expedia.com
phone:
type: string
description: The trader phone number.
example: 0330-123-1235
description: Information of the professional entity that sells the property inventory or related services.
TraderName:
type: string
description: The trader name.
example: Expedia
TraderAddress:
type: object
properties:
line_1:
type: string
description: First line of customer's street address.
example: 555 1st St
line_2:
type: string
description: Second line of customer's street address.
example: 10th Floor
line_3:
type: string
description: Third line of customer's street address.
example: Unit 12
city:
type: string
description: Customer's city.
example: Seattle
state_province_code:
type: string
description: Customer's state or province code.
example: WA
postal_code:
type: string
description: Customer's postal code.
example: "98121"
country_code:
type: string
description: "Customer's country code, in two-letter ISO 3166-1 alpha-2 format."
example: US
description: The trader address.
TraderContactMessage:
type: string
description: The trader contact message.
example: "This property is managed by a professional host. The provision of housing is linked to their trade, business or profession."
TraderRightToWithdrawMessage:
type: string
description: The trader right to withdraw message.
example: "If you cancel your booking, you'll be subject to the property's cancellation policy. In accordance with EU regulations about consumer rights, property booking services are not subject to the right to withdraw."
TraderTermsAndConditions:
type: string
description: The url linking to the full text terms and conditions.
example: https://www.expedia.com/terms_and_conditions
headers:
Region:
description: Optional header that provides information about where the request was processed.
style: simple
explode: false
schema:
type: string
example: us-west-2
securitySchemes:
rapidAuth:
type: apiKey
description: "The custom generated authentication header. Refer to our [signature authentication](https://developers.expediagroup.com/docs/rapid/resources/reference/signature-authentication) page for full details."
name: Authorization
in: header