ReferencePromotions

property query

Root query that retrieves information about a single property, including its name, IDs, location, unit information, reservations, and promotions. This is the schema's entry point for all property-related queries.

Syntax

1query {
2 property(
3 id: String!,
4 idSource: IdSource!
6}

GraphQL explorer

Use this interactive GraphQL explorer to run a sample 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. Or, 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.

Response

Arguments

NameDescription

id

Required.

For an Expedia property, specify the Expedia ID (EID) of the property.

For a Vrbo property, specify the ID in this format: systemId/advertiserId/listingExternalId. For direct PM integrations, the value of systemId is often “PM”. For PMS integrations, this value represents the PMS originating the request. If you are unsure of your system ID, contact your Engagement Manager or Technical Relationship Manager.

Type: String

idSource

Required.

Source system. For an Expedia property, specify EXPEDIA. For a Vrbo property, specify SUPPLIER; do not specify VRBO because the specified ID is the external ID in the supplier's system.

Type: IdSource

Types


Name
Type
Address
Object

Property address information.

FieldDescription
city

City where the property is located.

Type: String
country

Two-character ISO country code.

Type: String
line1

First line of the physical street address.

Type: String
line2

Second line of the physical street address.

Type: String
line3

Third line of the physical street address.

Type: String
postalCode

Postal code of the address.

Type: String
province

State or province of the property.

Type: String
BlackoutDateRange
Object
FieldDescription
travelDateFromNot nullable.

Travel start date for the exception (blackout) window in the YYYY-MM-DD format.

Type: LocalDate
travelDateToNot nullable.

Travel end date for the exception (blackout) window in the YYYY-MM-DD format.

Type: LocalDate
BookingLocalDateTimeInput
InputObject

Information abaout the booking date and time.

FieldDescription
from

Beginning date of the booking window (in the YYYY:MM:DDThhh:mm:ss format, in the property’s local time zone.).

Type: LocalDateTime
to

End date of the booking window (in the YYYY:MM:DDThhh:mm:ss format, in the property’s local time zone.).

Type: LocalDateTime
Boolean
Boolean

The Boolean scalar type represents true or false.

BusinessModel
Enum

Entity that collects payment.

NameDescription
EXPEDIA_COLLECT

Expedia collects payment.

HOTEL_COLLECT

Property collects payment.

CheckOutDateFilter
InputObject

Checkout date window for which to filter reservations. You can query for reservations up to 465 days in the past and up to 500 days in the future.

FieldDescription
fromNot nullable.

Date that defines the start of the checkout date window (format: YYYY-MM-DD).

Type: LocalDate
toNot nullable.

Date that defines the end of the checkout date window (format: YYYY-MM-DD).

Type: LocalDate
DayOfWeekDiscount
Object

Day-of-week discounts enable partners to set discount percentages for specific days of the week. The day fields specify the discount for that day of the week for the travel dates (such as Mondays at 15%, Tuesdays at 10% discount).

FieldDescription
fridayNot nullable.
Type: Float
mondayNot nullable.
Type: Float
saturdayNot nullable.
Type: Float
sundayNot nullable.
Type: Float
thursdayNot nullable.
Type: Float
tuesdayNot nullable.
Type: Float
typeNot nullable.

Type of discount.

Type: DiscountType
unitNot nullable.

Unit of the discount. Currently, PERCENT is supported when creating or updating a discount. AMOUNT is supported for queries only.

Type: DiscountUnit
wednesdayNot nullable.
Type: Float
Discount
Interface

Implemented by

FieldDescription
typeNot nullable.

Type of the discount.

Type: DiscountType
unitNot nullable.

Unit of the discount.

Type: DiscountUnit
DiscountPromotion
Object
FieldDescription
blackoutDates

Exception (blackout) dates for which the promotion should NOT apply. This field is only returned when querying for a single promotion (by specifying the promotion ID).

Type: Array of non nullable BlackoutDateRange
categoryNot nullable.

Category of the promotion. Currently, only DISCOUNT_PROMOTION is supported (such as Priced Promotions).

Type: PromotionCategory
codeNot nullable.

Name of the promotion. This field is returned in our booking APIs if a reservation is created for a product that has an active promotion. It is returned in PromotionCode for the Booking Notification API and in promoName for Booking Retrieval API.

Type: String
discount

Detail of the discount being applied on the promotion.

Type: Discount
eligibleRatePlansNot nullable.

Rate plans for which this promotion is applicable.

Type: Array of non nullable EligibleRatePlan
idNot nullable.

ID of the Promotion stored in the Expedia platform.

Type: ID
nameNot nullable.

Name of the promotion.

Type: PromotionName
restrictions

List of restrictions that can be applied to these promotions.

Type: Restrictions
statusNot nullable.

Status of the promotion.

Type: PromotionStatus
DiscountType
Enum

Discount type values.

NameDescription
DAY_OF_WEEK_DISCOUNT

Discount that is applicable for specific days of the week within the travel window.

MULTI_NIGHT_DISCOUNT

Discount that is applied to multi-night stays.

SINGLE_DISCOUNT

A single discount.

DiscountUnit
Enum
NameDescription
PERCENT

Percentage discount for the promotion.

AMOUNT

Amount-based discount for the promotion.

EligibleRatePlan
Object
FieldDescription
idNot nullable.

ID of the rate plan stored in the Expedia platform.

Type: ID
ExpediaSupplierAmount
Object
FieldDescription
currencyCodeNot nullable.

Currency in which the amount is shown.

Type: String
ratesNot nullable.

Daily rates for the reservation.

Type: Array of non nullable SupplierRate
rateTypeNot nullable.

Rate type: NET for Expedia Collect or SELL for Hotel Collect.

Type: RateType
totalNot nullable.

Total rates for the reservation.

Type: SupplierTotal
FiltersInput
InputObject
FieldDescription
bookingLocalDateTime

Reservation date and time being queries for. Format is YYYY-MM-DDThh:mm:ss, in the property’s local time zone.

Type: BookingLocalDateTimeInput
discountTypes

Type of the discount. Currently, only single discounts are supported (flat discount percentage, such as 15% off).

Type: Array of non nullable DiscountType
id

ID of the promotion stored in the Expedia platform.

Type: String
status

Status of the promotions. Currently, only ACTIVE promotions can be queried.

Type: PromotionStatus
travelDate

Travel date window being queried for.

Type: TravelDateInput
Float
Float

The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.

GeoLocation
Object

Geographical location coordinates.

FieldDescription
latitude

Latitudinal coordinates of property.

Type: Float
longitude

Longitudinal coordinates of property.

Type: Float
Guest
Object
FieldDescription
firstNameNot nullable.

Traveler's first (given) name.

Type: String
lastNameNot nullable.

Traveler's last name (surname).

Type: String
ID
ID

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.

IdNode
Object
FieldDescription
id

ID in the source system.

Type: ID
idSourceNot nullable.

Source of the ID.

Type: IdSource
IdSource
Enum

Source of a given ID.

NameDescription
EXPEDIA

Expedia is the source of the ID.

SUPPLIER

Connectivity partner or supplier is the source of the ID. This value is not supported for use in promotions.

VRBO

Vrbo (HomeAway) is the source of the ID. This value cannot be used as an argument value, and it is not supported for use in promotions.

Int
Int

The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

LocalDate
LocalDate

A type representing a date in ISO 8601 format: YYYY-MM-DD (such as 2007-12-03).

LocalDateTime
LocalDateTime

A type representing a date and time (such as 2007-12-03T10:15:30).

LocalTime
LocalTime

A type representing a time in this format: HH:mm:ss or HH:mm (such as 10:15:30 or 10:15).

MultiNightDiscount
Object

Multi-night discounts offer percentage-based discounts for applicable nights (such as 15% off a third night).

FieldDescription
applicableNightNot nullable.

Value of the applicable night to which the discount is applied. Permitted values are 2 to 28.

Type: Int
isRecurring

Whether the discount applied on the applicable night is recurring. For example, if applicableNight is set to 3 and isRecurring is set to true, the discount will be applied to the third, sixth, ninth nights (and so on).

Type: Boolean
memberOnlyAdditionalValue

Value applied for a member-only discount.

Type: Float
typeNot nullable.

Type of discount.

Type: DiscountType
unitNot nullable.

Unit of the discount. Currently, PERCENT is supported when creating or updating a discount. AMOUNT is supported for queries only.

Type: DiscountUnit
valueNot nullable.

Value of the discount applied.

Type: Float
PageInfo
Object

Information about the current page of results.

FieldDescription
endCursor

Value of the cursor of the last reservation in the current page.

Type: String
hasNextPageNot nullable.

Whether additional pages can be retrieved.

Type: Boolean
Promotion
Interface

Implemented by

FieldDescription
categoryNot nullable.

Category of the promotion. Currently, only DISCOUNT_PROMOTION is supported (such as Priced Promotions).

Type: PromotionCategory
idNot nullable.

ID of the Promotion stored in the Expedia platform.

Type: ID
nameNot nullable.

Name of the promotion.

Type: PromotionName
statusNot nullable.

Status of the promotion.

Type: PromotionStatus
PromotionCategory
Enum
NameDescription
DISCOUNT_PROMOTION

Priced (discount) promotion. That is, the traveler benefit here is monetary savings via promotions.

PromotionName
Enum
NameDescription
BASIC_PROMOTION

Flexible offer with restrictions defined by the supplier. You can specify this value when creating or updating single and day-of-week discounts.

EARLY_BOOKING_PROMOTION

Discount offered to travelers who want to book early. You can specify this value when creating or updating single and day-of-week discounts only.

MULTI_NIGHT_PROMOTION

Multi-night discount that offers a percentage-based discount for applicable nights. You can specify this value when creating or updating multi-night discounts only.

SAME_DAY_PROMOTION

Discount offered to attract last-minute travelers by setting up a recurring deal when the travel date is the same as the booking date. You can specify this value when creating or updating single discounts only.

PromotionNode
Object
FieldDescription
cursorNot nullable.

Cursor value for this edge.

Type: String
nodeNot nullable.

Node that references the promotion data.

Type: Promotion
Promotions
Object
FieldDescription
edgesNot nullable.

Edges in the connection to traverse, each containing a cursor and node.

Type: Array of non nullable PromotionNode
pageInfoNot nullable.

Information about the current page of results.

Type: PageInfo
totalCountNot nullable.

Total number of promotions returned that meet the search criteria.

Type: Int
PromotionStatus
Enum
NameDescription
ACTIVE
INACTIVE
Property
Object

Representation of a physical property, including its units, reservations, and promotions.

FieldDescription
address

Physical street address of the property.

Type: Address
geoLocation

Geographical location of the property.

Type: GeoLocation
idNot nullable.

Expedia ID of the property.

Type: ID
ids

Known IDs for the property in the source system(s).

Type: Array of IdNode
name

Human-readable name of the property.

Type: String
promotions

List of promotions that matches the specified arguments. You can specify these arguments:

  • filter (type: FiltersInput), which enables you to refine the promotions to retrieve.
  • pageSize (type: Int!), which is required and specifies the maximum number of promotions on each page (up to 25) returned by the response. For example, if there are 40 promotions on a property, you can retrieve two pages if this argument is set to 25 (page 1 includes 25 promotions, page 2 includes 15 promotions).
  • after (type: String), which is the cursor from the previous query response that marked the end of the previous page of results.
Type: Promotions
reservations

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.
Type: ReservationsConnection
units

Collection of unit configurations available for the property.

Type: Array of Unit
RateTimeUnit
Enum

Time frame to which the rate is applied.

NameDescription
PER_DAY
PER_WEEK
PER_STAY
RateType
Enum
NameDescription
NET

Net amount (gross amount minus commission).

SELL

Gross amount.

Reservation
Object

Reservation details.

FieldDescription
adultCountNot nullable.

Count for all adult guests associated with the reservation.

Type: Int
bedTypes

Bed type of the reservation.

Type: String
businessModelNot nullable.

Entity that collects payment for the reservation.

Type: BusinessModel
checkInDateNot nullable.

Check-in date (format: YYYY-MM-DD) of the reservation.

Type: LocalDate
checkOutDateNot nullable.

Checkout date (format: YYYY-MM-DD) of the reservation.

Type: LocalDate
childCountNot nullable.

Count for all child guests associated with the reservation.

Type: Int
creationDateTimeNot nullable.

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).

Type: String
multiRoomText

Text that is displayed to travelers if there is a multi-room booking associated with the reservation.

Type: String
paymentInstructionsNot nullable.

Text that is displayed to travelers if a payment type is associated with the reservation.

Type: String
primaryGuestNot nullable.

Guest who made the reservation.

Type: Guest
rateIdsNot nullable.

ID of the rate/rate plan and the source of the ID. In the response, when idSource is set to SUPPLIER, the id field returns the same value as returned by the existing Booking APIs (Booking Retrieval and Booking Notification).

Type: Array of non nullable IdNode
reservationIdsNot nullable.

IDs associated with the reservation and the source of the IDs.

Type: Array of non nullable IdNode
smokingTypeNot nullable.

Whether smoking is allowed for the reservation.

Type: String
sourceNot nullable.

Source of the reservation.

Type: String
specialRequest

Text that is displayed to travelers if there is a special request associated with the reservation.

Type: String
statusNot nullable.

Current status of the reservation.

Type: ReservationStatus
supplierAmount

Supplier amount for the reservation.

Type: SupplierAmount
totalGuestCountNot nullable.

Total number of guests associated with the reservation.

Type: Int
unitIdsNot nullable.

ID associated with the unit/room and source of the ID.

Type: Array of non nullable IdNode
ReservationEdge
Object
FieldDescription
cursorNot nullable.

Cursor value for this edge.

Type: String
nodeNot nullable.

Node that references the reservation data.

Type: Reservation
ReservationFilterInput
InputObject

Parameters used to filter reservations.

FieldDescription
checkOutDate

Checkout date window for which to filter reservations.

Type: CheckOutDateFilter
ReservationsConnection
Object

Logical connection to reservations data.

FieldDescription
edgesNot nullable.

Edges in the connection to traverse, each containing a cursor and node.

Type: Array of ReservationEdge
pageInfo

Information about the current page of results.

Type: PageInfo
totalCount

Total number of reservations.

Type: Int
ReservationStatus
Enum

Status of the reservation.

NameDescription
BOOKED
CANCELLED
Restrictions
Object
FieldDescription
bookingLocalDateTimeFrom

Beginning of the reservation date range for which this promotion is applicable. Format is YYYY-MM-DDThh:mm:ss, in the property’s local time zone.

Type: LocalDateTime
bookingLocalDateTimeTo

End of the reservation date range for which this promotion is applicable. Format is YYYY-MM-DDThh:mm:ss, in the property’s local time zone.

Type: LocalDateTime
isMemberOnly

Whether a promotion is applicable for only members shopping on Expedia.

Type: Boolean
isMobileUserOnly

Whether this promotion is applicable only for travelers booking on the mobile device. This field is returned when querying for a single promotion only (by specifying the promotion ID).

Type: Boolean
maxAdvanceBookingDays

Maximum number of days in advance of the reservation date for the promotion to be applicable.

Type: Int
maxLengthOfStay

Maximum duration of stay for which the promotion can be applicable. Maximum value is 28.

Type: Int
minAdvanceBookingDays

Minimum number of days in advance of the reservation date for the promotion to be applicable.

Type: Int
minLengthOfStay

Minimum duration of stay for which the promotion can be applicable.

Type: Int
sameDayBookingStartTime

Start time for the same day for which the promotion is applicable (in the property’s local time zone). Applicable only for SAME_DAY_PROMOTION.

Type: LocalTime
travelDateFrom

Beginning travel date for which this promotion is applicable in YYYY-MM-DD format.

Type: LocalDate
travelDateTo

End travel date for which this promotion is applicable in YYYY-MM-DD format.

Type: LocalDate
SingleDiscount
Object

Discount that offers a percentage off a rate (such as 15% off).

FieldDescription
memberOnlyAdditionalValue

Value of member-only discount applied.

Type: Float
typeNot nullable.

Type of discount.

Type: DiscountType
unitNot nullable.

Unit of the discount. Currently, PERCENT is supported when creating or updating a discount. AMOUNT is supported for queries only.

Type: DiscountUnit
valueNot nullable.

Value of the discount applied.

Type: Float
String
String

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.

SupplierAmount
Interface

Implemented by

FieldDescription
currencyCodeNot nullable.

Currency in which the amount is shown.

Type: String
rateTypeNot nullable.

Rate type.

Type: RateType
SupplierFeeType
Enum

Type of fee charged by the supplier.

NameDescription
BASE_RATE
EXTRA_GUEST_FEES
SERVICE_FEES
SupplierRate
Object
FieldDescription
fromDateNot nullable.

Date when the rate becomes effective (format: YYYY-MM-DD).

Type: LocalDate
rateItemsNot nullable.

Itemized list of fees.

Type: Array of non nullable SupplierRateItem
rateTimeUnitNot nullable.

Time unit of the rate.

Type: RateTimeUnit
toDateNot nullable.

Date when the rate expires (format: YYYY-MM-DD).

Type: LocalDate
SupplierRateItem
Object
FieldDescription
amountNot nullable.

Amount of the fee.

Type: Float
feeTypeNot nullable.

Type of fee for this itemized rate.

Type: SupplierFeeType
SupplierTotal
Object
FieldDescription
amountAfterTaxNot nullable.

Total amount of the fee after tax is applied.

Type: Float
amountBeforeTaxNot nullable.

Total amount of the fee before tax is applied.

Type: Float
TravelDateInput
InputObject
FieldDescription
from

Start date of the travel window (format: YYYY-MM-DD).

Type: LocalDate
to

End date of the travel window (format: YYYY-MM-DD).

Type: LocalDate
Unit
Object

Unit configuration.

FieldDescription
count

Cardinality of this unit configuration on the property.

Type: Int
ids

Known IDs for the property in the source system(s).

Type: Array of IdNode