Property resources
The Product API request enables you to read property-level information. The Product API response is transmitted through a synchronous connection to update the property’s system with the status of the Product API request. If a connectivity problem or another issue occurs, an error code will be returned that indicates what issue occurred.
Product API is RESTful and all requests and responses must be sent over a secure connection. All request and response bodies, including errors are encoded in JSON.
To facilitate integrating with Product API, Expedia Group offers a Swagger JSON file file documenting Product API’s model and operations.
Obtain a list of properties
- Method: GET
- URL:
https://services.expediapartnercentral.com/products/properties
- Consumes: HTTP Request (GET)
- Produces: application/vnd.expedia.eps.product-v2+json
Request parameters
Parameter | Parameter Type | Description | Required | Data Type | Default Value |
---|---|---|---|---|---|
Authorization | header | Authorization token in HTTP header. Format: Authorization: Basic [username:password encoded by Base64] | Yes | Base64 encoded auth token | |
status | query | Status filter. String. Only supported value is "all". | false | string | If not provided, API will only return active properties. |
offset | query | Pagination offset. Integer starting at 0 | false | string | 0 |
limit | query | Pagination limit. Integer between 1 and 200. | false | string | 20 |
Success responses
Status Code | Description | Response Model |
---|---|---|
200 | OK |
Read a single property
- Method: GET
- URL:
https://services.expediapartnercentral.com/products/properties/{propertyId}
- Consumes: HTTP Request (GET)
- Produces: application/vnd.expedia.eps.product-v2+json
Request parameters
Parameter | Parameter Type | Description | Required | Data Type |
---|---|---|---|---|
Authorization | header | Authorization token in HTTP header. Format: Authorization: Basic [username:password encoded by Base64] | Yes | Base64 encoded auth token |
propertyId | path | Expedia Property ID | Yes | string |
Success responses
Status Code | Description | Response Model |
---|---|---|
200 | OK |
Definitions
Property resource definition
Property Name | Type | Description |
---|---|---|
resourceId | integer | Expedia property ID. |
name | string | Name describing the property. Maximum 255 characters. |
partnerCode | string | Partner property code/identifier. Maximum 64 characters. Optional field returned for connected properties. This code allows you to uniquely identify the property in your system. |
status | string | Status in which the property can be in. Allowed values:
|
currency | string | Currency code applicable to all amounts found in any resources available as part of Product API. The code is the 3-letter currency code assigned to the property, based on theISO-4217 specification. Data type, string Example: "USD" (for US dollars), "CAD" (for Canadian dollars), etc. |
address | Property address details. | |
distributionModels | Array[Enum] | Distribution model(s) under which the property is configured to work with Expedia. Possible values: ExpediaCollect, HotelCollect. Properties that have opted into the Expedia Traveler Preference program will have both. |
rateAcquisitionType | Enum | Describes which type of rate will be provided via this API, but also which type of rate should be used when managing availability and rates in Partner Central or using Expedia Group's other APIs. Possible values:
|
taxInclusive | Boolean | Returned to indicate whether the rate being exchanged over other APIs (availability/rates or booking) is inclusive of taxes or not. |
pricingModel | Enum | Configuration of the property when it comes to pricing rooms and rates. Possible values:
This list is different from the rate plan pricing model list, as rate plans can have more detailed pricing schemes (arrival and length of stay). |
baseAllocationEnabled | Boolean | Boolean to indicate whether this property has a base allocation contract with Expedia. |
cancellationTime | string | Cancellation deadline reference time. When cancel policies are defined and exchanged via the rate plan resource, a deadline in hours is provided. The deadline in hours is always relative to this property cancellation deadline reference time configuration. |
timezone | string | Descriptive information about property time zone configuration in Expedia Group system. The description will start with a GMT offset, followed by a more user-friendly name. Any configuration or settings related to date or time for a property will always be relative to this time zone. Examples of such configurations include property cancellation time and property reservation cutoff time. Example: "(GMT) Greenwich Mean Time : Dublin, Edinburgh, Lisbon, London" |
reservationCutOff | Used to indicate when we stop making rate plans available to book for same day reservations. Expedia Group can configure properties to accept last minute bookings up until 5:00 AM on the next day. Example: If configured this way, a property would accept that Expedia Group uses availability and rates from September 1st, and sell it up until September 2nd, 5:00 AM (based on property timezone). | |
allowedAgeCategories | Array[Enum] | Age Categories that are permitted for this property. Possible values are:
|
CutOff resource definition
Property Name | Type | Description |
---|---|---|
time | string | Indicates at which time Expedia Group will stop making inventory available for same day reservations |
day | string | Can take one of two values: sameDay or nextDay. It complements the time attribute. |
PropertyAddress resource definition
Property Name | Type | Description |
---|---|---|
line1 | string | First line of address. |
line2 | string | Optional. Second line of address. |
city | string | City in which the property is located. |
state | string | Optional. State/Province. |
postalCode | string | Optional. Postal or State Code. |
countryCode | string | ISO 3166-1Alpha 3 country code, of the country where the property is located. |
Examples
This section contains sample messages illustrating how to interact with Product API.
This section contains examples on how to query the property resource of the product API.
The property read function allows you to retrieve several important settings related to your properties’ configuration in Expedia Group’s system. Some of these settings will help you better understand how to manage room type and rate plan resources.
It also enables you to find out which properties are currently assigned to your accounts, by simply calling the /properties endpoint and iterating through all the properties returned.
Single property read
Request is a simple HTTP GET:
GET https://services.expediapartnercentral.com/products/properties/2268140
Content-Type: application/vnd.expedia.eps.product-v2+json
Accept: application/vnd.expedia.eps.product-v2+json
Authorization: Basic [your encoded username:password in base64]
Response:
1{2 "entity": {3 "resourceId": 2268140,4 "name": "Eslington Villa",5 "parnerCode": "ABC123",6 "status": "Active",7 "currency": "GBP",8 "address": {9 "line1": "199 Some Street",10 "line2": null,11 "city": "Glasgow",12 "state": null,13 "postalCode": "12345",14 "countryCode": "GBR"15 },16 "distributionModels": [17 "ExpediaCollect",18 "HotelCollect"19 ],20 "rateAcquisitionType": "SellLAR",21 "taxInclusive": true,22 "pricingModel": "PerDayPricing",23 "baseAllocationEnabled": false,24 "cancellationTime": "18:00",25 "timezone": "(GMT) Greenwich Mean Time : Dublin, Edinburgh, Lisbon, London",26 "reservationCutOff": {27 "time": "05:00",28 "day": "nextDay"29 },30 "allowedAgeCategories": [31 "Adult",32 "ChildAgeA",33 "Infant"34 ]35 }36}
Multiple properties read
When using GET for multiple properties, additional parameters can be provided to navigate through the result set. By default, only 20 properties are returned at a time. If you have more than 20 properties assigned to your accounts and want to get through all your properties, you have to use offset and limit parameters. For example, if you want to get 3 results at a time would do a request like this:
GET https://services.expediapartnercentral.com/products/properties?offset=0&limit=3
Content-Type: application/vnd.expedia.eps.product-v2+json
Accept: application/vnd.expedia.eps.product-v2+json
Authorization: Basic [your encoded username:password in base64]
The Product API will sort all properties assigned to this account by resourceId, ascending, and return the 3 lowest property resource IDs.
Response:
1{2 "entity": [3 {4 "resourceId": 2268142,5 "name": "Eslington Villa",6 "parnerCode": "ABC123",7 "status": "Active",8 "currency": "GBP",9 "address": {10 "line1": "199 Some Street",11 "city": "Glasgow",12 "postalCode": "PL99A9",13 "state": "Scotland",14 "countryCode": "GBR"15 },16 "distributionModels": [17 "ExpediaCollect", "HotelCollect"18 ],19 "rateAcquisitionType": "SellLAR",20 "taxInclusive": true,21 "pricingModel": "PerDayPricing",22 "baseAllocationEnabled": false,23 "cancellationTime": "18:00",24 "timezone": "(GMT) Greenwich Mean Time : Dublin, Edinburgh, Lisbon, London",25 "reservationCutOff": {26 "time": "05:00",27 "day": "nextDay"28 },29 "allowedAgeCategories": [30 "Adult",31 "ChildAgeA",32 "Infant"33 ]34 }, {35 "resourceId": 2268141,36 "name": "Hotel Downtown",37 "parnerCode": "DEF456",38 "status": "Active",39 "currency": "CAD",40 "address": {41 "line1": "299 Some Other Street",42 "line2": "with a very long name",43 "city": "Montreal",44 "state": "Quebec",45 "postalCode": "H11H1H",46 "countryCode": "CAN"47 },48 "distributionModels": [49 "ExpediaCollect"50 ],51 "rateAcquisitionType": "SellLAR",52 "taxInclusive": false,53 "pricingModel": "OccupancyBasedPricing",54 "baseAllocationEnabled": false,55 "cancellationTime": "18:00",56 "timezone": "(GMT-05:00) Eastern Time (US & Canada)",57 "reservationCutOff": {58 "time": "23:59",59 "day": "sameDay"60 },61 "allowedAgeCategories": [62 "Adult",63 "ChildAgeA",64 "Infant"65 ]66 }, {67 "resourceId": 2268140,68 "name": "Villa by the Sea",69 "parnerCode": "GHI789",70 "status": "Active",71 "currency": "EUR",72 "address": {73 "line1": "299 Some Other Street",74 "city": "Palma de Mallorca",75 "postalCode": "7610",76 "countryCode": "ESP"77 },78 "distributionModels": [79 "ExpediaCollect", "HotelCollect"80 ],81 "rateAcquisitionType": "SellLAR",82 "taxInclusive": true,83 "pricingModel": "OccupancyBasedPricing",84 "baseAllocationEnabled": false,85 "cancellationTime": "18:00",86 "timezone": "(GMT+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna",87 "reservationCutOff": {88 "time": "05:00",89 "day": "nextDay"90 },91 "allowedAgeCategories": [92 "Adult",93 "ChildAgeA",94 "Infant"95 ]96 }97 ]98}
You can then iterate through your properties by increasing the offset parameter. To get the next 3 properties, you would issue a GET with offset=3, limit=3:
GET https://services.expediapartnercentral.com/products/properties?offset=3&limit=3
To get the next results, offset would become 6:
GET https://services.expediapartnercentral.com/products/properties?offset=6&limit=3