Cancels a reservation on or before a reservation’s check-in date, enabling the partner to reconcile a reservation if requested by the guest or if the method of payment is invalid (Hotel Collect only). Reservations can be cancelled on or before the reservation’s check-in date until 11:59 p.m. (property local time.) For example, if the reservation’s check-in date is on January 4, the reservation must be cancelled by January 4 at 11:59 p.m. This behavior differs from the validation in Expedia Partner Central, which allows for cancellation 24 hours prior to check-in date only.
All penalties are waived when a reservation is cancelled before the check-in date. Supplier-initiated cancellation that require penalty charges is not supported.
Here are the validation rules that determine if a reservation can be cancelled:
A reservation cannot be cancelled if the check-in date is in the past.
A reservation cannot be cancelled if it is already in a cancelled state.
Cancellations can be performed on Expedia Collect and Hotel Collect reservations. Reservations made through the Expedia Group Affiliate Program cannot be cancelled prior to check-in using the API.
Only Expedia IDs (for property and reservation IDs) are allowed as arguments.
Partners must provide a reason for the cancellation and agree to waive (or refund, if applicable) any cancellation fees and other amounts associated with the reservation.
If a reservation cannot be canceled or modified using this API, the guest must contact customer service of the originating booking service for assistance.
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.
Property and reservation IDs and the reason for the cancellation.
Field
Description
clientMutationId
Partner's transaction ID that uniquely identifies the request, which can be
used to associate requests and responses for troubleshooting purposes. This ID
must be unique across requests and cannot be reused. However, if a request
needs to be retried, such as because it failed or timed out, the ID provided
in the original request should be used. The ID can be in any format as long as
it uniquely identifies the request.
Partner's transaction ID that identifies the request, which can be used to
correlate with partner's transaction logs. This ID must be unique across
requests and cannot be reused.
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)
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
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.