ReferenceProduct API

Archived

Here are the Room type resources that have been archived.

Obtain a list of room types
  • Method: GET
  • URL: https://services.expediapartnercentral.com/properties/{propertyId}/roomTypes
  • Consumes: HTTP Request (GET)
  • Produces: application/vnd.expedia.eps.product-v2+json
Parameters

Parameter

Parameter Type

Description

Required

Data Type

Default

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

status

query

Status filter. String. Only supported value is "all".

false

string

If not provided, API will only return active room types (meaning room type with at least one active rate plan, as room type status can't be directly controlled, but is rather inferred from its rate plans statuses).

Success responses

Status Code

Description

Response Model

200

OK

RoomType

Create a new room type
  • Method: POST
  • URL: https://services.expediapartnercentral.com/properties/{propertyId}/roomTypes
  • Consumes: application/vnd.expedia.eps.product-v2+json
  • Produces: application/vnd.expedia.eps.product-v2+json
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

body

body

JSON message describing the new room type

Yes

RoomType

Examples:

1{
2 "partnerCode": "MyStringCode",
3 "name": {
4 "attributes": {
5 "typeOfRoom": "Penthouse",
6 "roomClass": "Executive",
7 "includeBedType": true,
8 "view": "City View",
9 "featuredAmenity": "Jetted Tub"
10 }
11 },
12 "ageCategories": [
13 {
14 "category": "Adult",
15 "minAge": 18
16 },
17 {
18 "category": "ChildAgeA",
19 "minAge": 6
20 },
21 {
22 "category": "Infant",
23 "minAge": 0
24 }
25 ],
26 "maxOccupancy": {
27 "adults": 2,
28 "children": 1,
29 "total": 3
30 },
31 "standardBedding": [
32 {
33 "option": [
34 {
35 "quantity": 1,
36 "type": "King Bed"
37 }
38 ]
39 }
40 ],
41 "extraBedding": [
42 {
43 "quantity": 1,
44 "type": "Rollaway Bed",
45 "size": "Full",
46 "surcharge": {
47 "type": "Per Day",
48 "amount": 20
49 }
50 }
51 ],
52 "regulatoryRecords": {
53 "category": "HOTEL",
54 "records": [
55 {
56 "registrationNumber": "STR321321321",
57 "registrationNumberType": "LICENSE_ID",
58 "expiry": "2022-12-12"
59 }
60 ],
61 "exemptionCategories": ["MAX_NIGHT_CAP"]
62 },
63 "smokingPreferences": ["Non-Smoking"],
64 "roomSize": {
65 "squareFeet": 300,
66 "squareMeters": 14
67 },
68 "views": ["Ocean View", "Beach View"]
69}
Success responses

Status Code

Description

Response Model

201

Created

RoomType

Read a single room type
  • Method: GET
  • URL: https://services.expediapartnercentral.com/properties/{propertyId}/roomTypes/{roomTypeId}
  • Consumes: HTTP Request (GET)
  • Produces: application/vnd.expedia.eps.product-v2+json
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

roomTypeId

path

Room type resource ID. Integer

Yes

string

Success responses

Status Code

Description

Response Model

200

OK

RoomType

Modify an existing room type

Expedia Group offers two ways to modify a room type.

Using the PUT verb, you can perform a full overlay change of the room type resource. It means that all elements of a room type need to be provided, and any optional element not provided will be erased/removed.

Using the PATCH verb, you can perform a partial update of a room type. Expedia Group implemented the Merge-Patch RFC.

Room Type Modify - Full Overlay (PUT)
  • Method: PUT
  • URL: https://services.expediapartnercentral.com/properties/{propertyId}/roomTypes/{roomTypeId}
  • Consumes: application/vnd.expedia.eps.product-v2+json
  • Produces: application/vnd.expedia.eps.product-v2+json

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

roomTypeId

path

Room type resource ID

Yes

string

body

body

JSON message with modified room type

Yes

RoomType

Example:

1 "resourceId": 200142893,
2 "partnerCode": "MyStringCode",
3 "name": {
4 "attributes": {
5 "typeOfRoom": "Penthouse",
6 "roomClass": "Executive",
7 "includeBedType": true,
8 "view": "City View",
9 "featuredAmenity": "Jetted Tub"
10 },
11 "value": "Executive Penthouse, 1 King Bed, Jetted Tub, City View (Rooftop Terrace)"
12 },
13 "status": "Active",
14 "ageCategories": [
15 {
16 "category": "Adult",
17 "minAge": 18
18 },
19 {
20 "category": "ChildAgeA",
21 "minAge": 6
22 },
23 {
24 "category": "Infant",
25 "minAge": 0
26 }
27 ],
28 "maxOccupancy": {
29 "adults": 2,
30 "children": 1,
31 "total": 3
32 },
33 "standardBedding": [
34 {
35 "option": [
36 {
37 "quantity": 1,
38 "type": "King Bed",
39 "size": "King"
40 }
41 ]
42 }
43 ],
44 "extraBedding": [
45 {
46 "quantity": 1,
47 "type": "Sofa Bed",
48 "size": "Full",
49 "surcharge": {
50 "type": "Per Day",
51 "amount": 20
52 }
53 }
54 ],
55 "regulatoryRecords": {
56 "category": "HOTEL",
57 "records": [
58 {
59 "registrationNumber": "STR321321321",
60 "registrationNumberType": "LICENSE_ID",
61 "expiry": "2022-12-12"
62 }
63 ],
64 "exemptionCategories": ["MAX_NIGHT_CAP"]
65 },
66 "smokingPreferences": ["Non-Smoking"],
67 "roomSize": {
68 "squareFeet": 300,
69 "squareMeters": 14
70 },
71 "views": ["Ocean View", "Beach View"],
72 "wheelchairAccessibility": true
73}

Success responses

Status Code

Description

Response Model

200

OK

RoomType

Room Type Modify - Partial Update (PATCH)

Expedia Group chose the merge-patch method for partial update, as described in IETF RFC.

This method allows you to update a room type by providing only the fields/values you need to change. This saves you from having to first read the room type before updating it. If you provide the complete room type data, this method essentially behaves just like the update method.

The response will always be the complete image of the room type after changes have been applied.

Important: The PATCH logic only applies to first (top) level elements/objects of the room type. You can include any number of these top level elements/objects, and any elements/objects not included will be ignored/untouched. If you include any array or complex object (such as name, age categories or maximum occupancy), these objects must be fully specified with all the desired elements/attributes/object changes, as they are treated as full overlay. First-level elements/objects not provided in the input will remain unchanged. Some top-level elements can be removed, but to do so, you have to explicitly specify it in the JSON message as null. For array types, you need to provide a "null" or empty array value. Finally, all validation rules are applied on the complete updated room type data. For instance, only providing ageCategories that have no "Adult" category will yield the appropriate error response.
  • Method: PATCH
  • URL: https://services.expediapartnercentral.com/properties/{propertyId}/roomTypes/{roomTypeId}
  • Consumes: application/vnd.expedia.eps.product-v2+json
  • Produces: application/vnd.expedia.eps.product-v2+json

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

roomTypeId

path

Room type resource ID

Yes

string

body

body

JSON message of partially updated room type

Yes

RoomType

Examples:

Updating both the partner code and the name attributes:

1{
2 "partnerCode": "PatchedPartnerCode",
3 "name": {
4 "attributes": {
5 "typeOfRoom": "Loft",
6 "roomClass": "Deluxe",
7 "area": "Poolside"
8 }
9 }
10}

Updating only the maximum occupancy:

1{
2 "maxOccupancy": {
3 "total": 3,
4 "adults": 2
5 }
6}

Success responses

Status Code

Description

Response Model

200

OK

RoomType