Retrieves information about a single property's reservations. Information is returned at the property level, not the unit level. Reservations can be queried 465 days in the past and up to 500 days in the future (based on booking date). For an in-depth explanation of what this query can retrieve, refer to Reservation retrieval.
The query's results can be filtered using the filter input argument.
If more than one filter is specified, the intersection of the filters is returned.
If no filter is specified, the query returns all reservations for the property.
If retrieving reservations by ID, up to 10,000 IDs can be specified in a single call (and up to 25 records per page are returned).
The GraphQL explorer is provided in the sections below, and it will help you get comfortable with the GraphQL:
For each query, a test property ID is passed into the explorer; its test data is returned.
Click Run Query to execute the query in the explorer on the page. You can modify the query to retrieve the desired fields, and the explorer provides a list of fields when you start typing.
Click API Explorer to launch the full explorer in another tab/window, which provides syntax highlighting, schema introspection, real-time error highlighting, and auto-completion, among other things.
Note that separate examples are provided so you can review specific fields for the use case. But because this is a GraphQL API, you can request any and all fields in a single query.
Note: The test property cannot support invoice details for a corporate traveler. To view an invoice example, refer to the Sandbox API documentation.
All reservation details
This example retrieves all data for up to 10 reservations (pageSize: 10) on the property.
This query retrieves details amounts for Expedia Collect reservations with a checkout date of 22 May 2023. Reservations are returned in chronological order (sorted by creationDateTime, earliest to latest).
This query retrieves details amounts for Hotel Collect reservations with a checkout date of 22 May 2023. Reservations are returned in chronological order (sorted by creationDateTime, earliest to latest).
This query retrieves payment instrument (including a token) and instructions in addition to basic reservation details for to reservations (an Expedia Collect reservation and a Hotel Collect reservation). The token can then be used to retrieve credit card information using the paymentInstrument query.
Note: This is a beta feature that is available to pilot partners only. Contact your Technical Relationship Manager if you are interested in retrieving corporate traveler details.
The test property cannot support reservations that provide invoicing, so a static example is provided here.
Request
Response
1query{
2 property(id:"100000005"){
3 reservations(filter:
4{
5reservationIds:[
6{
7"id":"100000072",
8"idSource":EXPEDIA
9}
10]
11},
12pageSize:25
13){
14 totalCount
15 pageInfo {
16 hasNextPage
17 endCursor
18}
19 edges {
20 node {
21 reservationIds {
22 id
23 idSource
24}
25 affiliateSource
26 invoicing {
27 invoiceEmail
28 vatNumber
29 company {
30 name
31 address {
32 addressLines
33 locality
34 administrativeArea
35 postalCode
36 countryCode
37}
38}
39}
40}
41}
42}
43}
44}
Arguments
Name
Description
id
Required.
Expedia ID (EID) or supplier ID (external ID in the partner's system) of the
property. When retrieve units, you must specify the Expedia property ID.
Expedia collects payment; this is also referred to as "EC" or "Merchant".
HOTEL_COLLECT
Property collects payment; this is referred to as "HC," "Agency," or "Property Collect".
CancellationPenaltyRuleType
Enum
How the cancellation penalty (fee) is applied.
Name
Description
FLAT_AMOUNT
NUMBER_OF_NIGHTS
PERCENTAGE
CancellationPolicyCancellationWindow
Object
Policy period (number of days, hour, or weeks before the check-in date that a cancellation can be done).
Field
Description
cutoff
Not nullable.
Number of days, hours, or weeks before the check-in date to which this policy
applies. If cutoff is set to 12000 hours or 500 days, which is the the maximum
reservation length, the policy applies to all days leading up to the next
cutoff period.
Scalar representing a country code using the ISO 3166-1 alpha-3 standard.
CurrencyCode
CurrencyCode
Scalar that represents the three-letter currency code defined by the ISO 4217 standard.
DateTime
DateTime
Scalar that represents a date-time string at UTC, such as 2007-12-03T10:15:30Z,
compliant with the date-time format outlined in section 5.6 of the RFC 3339
profile of the ISO 8601 standard for representation of dates and times using the
Gregorian calendar.
Decimal
Decimal
A type represending a signed decimal number (supporting up to two decimal places), which is serialized as a string.
EffectivePolicy
Object
Effective cancellation policy for the reservation.
The traveler's Expedia Group VIP Access loyalty tier. These reservations often
include value add promotions (VAPs), therefore it is important to associate
this field and reservation:valueAddedPromotions in your systems so that
end-users can properly identify loyal travelers and loyalty perks that the
traveler is expecting. Values include MEMBER, VIP, PREMIUMVIP, and null. You
must include this field to complete certification.
Details about the frequent traveler reward program. This field identifies if
the traveler is a member of the supplier's loyalty program to ensure the
supplier is able to greet the guest accordingly and award loyalty points as needed.
The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID.
Reason why the reservation cannot be reconciled. Values include the following:
GUEST_REQUESTED_CANCEL - Traveler cancelled the reservation
NO_SHOW - Traveler was a no-show
MODIFY_DATES_AMOUNTS - There was a difference in the booking price when the
lodging partner charged the traveler (for example, because an extra night was
added at the time of stay)
Representation of a physical property, including its units, reservations, and promotions.
Field
Description
reservations
Not nullable.
List of the property's reservations that match the specified arguments:
filter (type: ReservationFilterInput), which enables you to refine the
reservations to retrieve. If this argument is not specified, the query returns
all reservations for the property.
pageSize (type: Int!), which is required and specifies the maximum number
of reservations on each page (up to 25) returned by the response. For example,
if there are 40 reservations on a property, you can retrieve two pages if this
argument is set to 25 (page 1 includes 25 reservations, page 2 includes 15 reservations).
after (type: String), which is the cursor from the previous query response
that marked the end of the previous page of results.
Reason why the reservation can be reconciled. Values include the following:
GUEST_REQUESTED_CANCEL - Traveler cancelled the reservation
NO_SHOW - Traveler was a no-show
MODIFY_DATES_AMOUNTS - There was a difference in the booking price when the
lodging partner charged the traveler (for example, because an extra night was
added at the time of stay)
Rate amounts for the reservation, including the summary list of the
reservation amounts (base rates, extra person charges, discounts, taxes, fees,
and various adjustments or compensations) and detailed reservation amounts
that are calculated on a daily basis.
Timestamp of when the reservation was created (format: yyyy-mm-ddThh:mm:ssTZD,
where TZD is a time zone designator in the form +/-hh:mm). Compare this value
to that of lastUpdatedDateTime to determine if a reservation has been modified.
ID of message thread (conversation) associated with the reservation. This
requires implementation and certification of the messaging capability. If no
message threads exist for a reservation, null is returned.
ID(s) of the rate/rate plan and the source of each ID. In the response, when
idSource is set to SUPPLIER, the id field returns the same value as
returned by the existing booking APIs. However, for Hotel Collect
reservations, the A- prefix is no longer added to the source value and the A
suffix is no longer appended to the rate ID as was done by the booking APIs.
Remittance type used for the reservation. This field helps identify whether
the reservation uses the Updated Expedia Collect business model (returns GROSS if so).
Source of the reservation. Refer to Booking sources
for the list of possible values (though \"A-\" is not included in Hotel
Collect sources returned by this API).
Operation model of the lodging partner. This field helps identify whether the
reservation uses the Updated Expedia Collect business model (returns AGENCY if so).
Value add promotion(s) used to book the reservation, which are additional
benefits that travelers receive based on loyalty tier status, chosen property,
and room type or rate plan they book. If a value add promotion was not used,
an empty array is returned. We strongly recommend that you include this field
in your implementation to ensure traveler-promised perks can be properly
fulfilled by suppliers.
Penalty type and amount. Only one of the following fields may be defined: percentage, flatAmount, and numberOfNights.
Field
Description
costFlatAmount
Cancellation penalty amount for the reservation paid by the traveler, minus
the Expedia commission. Note that this value will be that same as
priceAmount unless the booking is Expedia Collect and a flat fee penalty
type on the property.
Percentage of the total booking amount that is charged as a penalty.
Represented as a fraction of 1 (for example,: 15% should be represented as
0.15. Note that to charge 100% penalty, specify 1.0.
Total penalty amount for the reservation paid by the traveler, including the
Expedia commission. Note that this value will be that same as costFlatAmount
unless the booking is Expedia Collect and a flat fee penalty type on the property.
Cancellation policy that was in place when the reservation was made.
Field
Description
effectivePolicy
Policy that was applied to the reservation. For example, a property might have
a non-refundable cancellation policy as their default policy. However, if a
traveler cancels their reservation within 24 hours of creating the
reservation, the property's cancellation policy is overridden and the
effective policy is "fully refundable" due to a regulatory requirement in
places like California or Brazil.
Percentage of the commissionable amount (for any COMMISSION_* type fields) for
Hotel Collect reservations. This field is only available for these types in
the summary object:
COMMISSION_TOTAL: available for Expedia Collect, Hotel Collect and Updated Expedia Collect reservations only
ACCELERATOR: available for Hotel Collect reservations only
And this field only available for COMMISSION_BASE in the nightlyPayments object, for Hotel Collect reservations only.
Amount type. These values may be returned for nightly amounts:
ACCELERATOR - Compensation subject to adjustment, if your property is opted
into this service, your property's ranking is boosted in our search results
AUTO_RATE_MATCH - How the rate was adjusted to match your listings on other sites, if property is opted into service
BASE - Total nightly or per-stay rate for the guest's stay; does not include taxes, fees, compensation, or promotions
COMMISSION_BASE - Compensation on the nightly rate (Hotel Collect reservations only)
COMMISSION_ON_FEE - Compensation on fee (Hotel Collect reservations only)
COMMISSION_ON_TAX_OR_FEE - Compensation on taxes or fees (Hotel Collect reservations only)
COMMISSION_TOTAL - Expedia Group's total compensation rate, which is a
percentage determined by your contract (Updated Expedia Collect only)
DISCOUNT - Promotional discount your property applied to this room type's rate plan
EXPEDIA_GROUP_INVOICE - Total amount that Expedia Group will invoice partner
for this reservation (Expedia Collect reservations only)
EXTRA_PERSON_CHARGE - Fee charged for every extra guest beyond the allowed number of guests for the room
FEE - Fee included in the price that travelers see when booking and are paid in advance or upon arrival
GUEST_PAYMENT - Total reservation amount paid by guest (Hotel Collect and Updated Expedia Collect reservations only)
PAYOUT- Partner earnings (total reservation amount minus compensation)
SUBTOTAL - Amount after any amounts retained by EG and promotions have been
subtracted, before taxes and fees are applied. (Expedia Collect only)
TAX - Tax amount on BASE, unless otherwise stated in description
Date and time when the reservation was last updated. Compare this value to
that of creationDateTime to determine if a reservation has been
modified.Example:
For summary amounts, these values may be returned:
ACCELERATOR - Compensation subject to adjustment, if your property is opted
into this service, your property's ranking is boosted in our search results
AUTO_RATE_MATCH - How the rate was adjusted to match your listings on other sites, if property is opted into service
BASE - Total nightly or per-stay rate for the guest's stay; does not include taxes, fees, or promotions
The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.
SupplierLoyaltyPlanInfo
Object
Details about the frequent traveler reward program. This field identifies if the
traveler is a member of the supplier's loyalty program to ensure the supplier is
able to greet the guest accordingly and award loyalty points as needed.
Expedia Group collects payment from travelers at the time of booking. This
model is sometimes referred to as "Pay Now" or "Expedia Collect (EC)"
depending on context.
AGENCY
Property collects payment from the traveler. This method is also known as "Pay
Later" and is sometimes referred to as "Hotel Collect" or "Property Collect"
depending on the context.
TravelPurpose
Enum
Values for a guest's travel purpose, to identify business bookings.
Name
Description
NONE
KNOWN_BUSINESS_VISIT
SUSPECTED_BUSINESS_VISIT
KNOWN_PERSONAL_VISIT
SUSPECTED_PERSONAL_VISIT
ZoneDateTime
ZoneDateTime
A type representing a date and time with a time zone in the format
YYYY-MM-DDTHH:mm:ssTZD, where TZD is a time zone designator in the form +/-hh:mm).