Search by ID API Reference
POST |
search/properties Use this base path if you have not yet received or not migrated to the new credentials from Travelport:
Use this base path after you have migrated to the new credentials from Travelport (using .net instead of .com):
|
Related Content: JSON Hotel APIs Guide, Hotel Search Guide, Search Pagination API Reference
The Search by ID request searches for specific hotels by their property ID. You can send up to 250 property IDs. The response returns a list of properties based on the ID/s sent.
Although you can search by various criteria, all responses return results in the same format. The response returns up to 100 properties, or all requested properties if less than 100. If more than 100 properties were requested and are available, you can request the next page with the Search Pagination API. See the JSON Hotel APIs Guide for more details.
Request
Query Parameters
None.
Request Body
The example searches for two properties by their IDs.
PropertiesQuerySpecificPropertyList*
Top level object. Includes RoomStayCandidate, PropertyKey, and RateCandidates object.
checkinDate*: Check-in date in YYYY-MM-DD format.
checkoutDate*: Check-out date in YYYY-MM-DD format.
AggregatorList: Restrict the search to a specific aggregator. Accepted values are:
TVPT Travelport
BKNG Booking.com
You must be authorized for any aggregator selected.numberOfGuests*: Number. Total number of travelers. Must be a numeric value between 1 and 9.
Required; send with same value as the total across all counts in RoomStayCandidate/GuestCount/count below.requestedCurrency: String. Send the currency code to return a conversion rate for.
Rates are always returned in the currency of the hotel's location. You can use requestedCurrency to send a currency to request conversion rate information for. The response then returns the CurrencyRateConversion object, which provides the conversion rate of the specified currency that can be used to calculate, independently of the API, the conversion of the rates returned in the response.
ImageSize: String. A size for the image to return, allowing you to set image quality. Supported values:
ExtraLarge
Large
Medium
Small
Thumbnail
returnAllImagesInd: Element to distinguish between requesting one or all images for each property returned in the response. Boolean values of true/false. Default when missing in request is false.
Top level object for information associated with room searches. Includes GuestCounts object.
GuestCounts*
Top level object for guest counts. Includes GuestCount object.
GuestCount*
Guest count and age(s).
count*: Number. Number of travelers. Must be a numeric value between 1 and 9.
age: Integer. Age of traveler. Required only when request includes a child in room.
ageQualifyingCode: String. Required only for children or if traveler age is relevant, such as for a senior discount. Supported values and meanings:
10: Traveler in this GuestCount is an adult
8: Traveler in this GuestCount is a child
PropertyKey*
An array of up to 250 PropertyKey objects. Each PropertyKey object identifies a property to search.
propertyCode*: String. Code for the property within the hotel chain.
chainCode*: String. Two-character code for the chain to search.
RateCandidates
An array of one to eight negotiated rate codes and / or one frequent guest number. Includes RateCandidate object.
RateCandidate
Rate plan details and/or frequent guest number, if requesting. Includes CustomerLoyalty object.
rateCode: String. Negotiated rate code.
masterRateCode: String. An agency-created rate code that can be translated into up to 12 negotiated rate codes.
rateCategory: For a rate category, send one or up to 8 rate categories to search for, such as Weekend or Government. If the supplier has rates available for the requested category, the response contains those rates and indicates them as such. Note that some properties do not return these rates unless explicitly requested. Categories are spelled for readability in this document. Refer to the OAS (aka Swagger) files provided by Travelport for exact spelling. Travelport translates the category of “All” into the category set of Promotional, Package, Senior Citizen, Family Plan, Weekend, Association, Corporate, Government.
rateCategory supported values
All
Association
Club
Convention
Corporate
Family Plan
Government
Military
Multi-level/Negotiated/Secure
Package
Promotional
Rack General
Senior Citizen
Tour
Industry/Travel Agent Rate
Weekend
Multi-day Package
Weekly
Monthly
CustomerLoyalty
String. One frequent guest number.
supplier: String. Two character hotel supplier code or brand code of the loyalty program.
value: String. Number on loyalty card.
Example search by property ID
{
"PropertiesQuerySpecificPropertyList": {
"checkinDate": "2025-10-16",
"checkoutDate": "2025-10-17",
"AggregatorList": [
"TVPT"
],
"RoomStayCandidates": {
"RoomStayCandidate": [
{
"@type": "RoomStayCandidate",
"GuestCounts": {
"@type": "GuestCounts",
"GuestCount": [
{
"@type": "GuestCount",
"count": 1,
"age": 26,
"ageQualifyingCode": "10"
}
]
}
}
]
},
"PropertyKey": [
{
"@type": "PropertyKey",
"chainCode": "HI",
"propertyCode": "17424"
},
{
"@type": "PropertyKey",
"chainCode": "UR",
"propertyCode": "G3375"
}
]
}
}
Response
The example response returns two instances of PropertyInfo, one for each of the properties requested.
All hotel search responses use the same format, regardless of what search criteria was sent. For additional examples see the Search by Location API Reference.
Example
{
"PropertiesResponse": {
"Properties": {
"@type": "Properties",
"totalProperties": 2,
"propertiesPerPage": 2,
"numberOfPages": 1,
"PropertyInfo": [
{
"@type": "PropertyInfo",
"id": "HI-17424",
"Identifier": {
"authority": "TVPT"
},
"availability": "Open",
"Distance": {
"value": 1.82,
"unitOfDistance": "Kilometers"
},
"Property": {
"@type": "PropertyDetail",
"id": "HI-17424",
"PropertyKey": {
"@type": "PropertyKey",
"chainCode": "HI",
"propertyCode": "17424"
},
"name": "HOLIDAY INN OPERA GRANDS BLVDS BY I",
"Rating": [
{
"value": 3,
"provider": "NTM"
},
{
"value": 4,
"provider": "GIATA"
}
],
"GeoLocation": {
"latitude": 48.8714,
"longitude": 2.3434
},
"Image": [
{
"value": "https://travelport.leonardocontentcloud.com/imageRepo/7/0/154/337/740/PARPP_8519455405_H.jpg",
"dimensionCategory": "M",
"caption": "Hotel Exterior",
"pictureCategory": 1
}
],
"Address": {
"@type": "Address",
"AddressLine": [
"30-32 BOULEVARD POISSONNI RE"
],
"City": "PARIS",
"Country": {
"value": "FR"
},
"PostalCode": "75009"
},
"Telephone": [
"33-1-47702555"
],
"PropertyAmenity": [
{
"@type": "PropertyAmenity",
"description": "Fire safety compliant",
"code": "264",
"category": "Fire Safety Compliant"
},
{
"@type": "PropertyAmenity",
"description": "Concierge desk",
"code": "22",
"category": "Concierge Service"
},
{
"@type": "PropertyAmenity",
"description": "Golf",
"code": "236",
"category": "Golf"
},
{
"@type": "PropertyAmenity",
"description": "Air conditioning",
"code": "5",
"category": "Air Conditioning"
},
{
"@type": "PropertyAmenity",
"description": "Phone services",
"code": "190",
"category": "Business Services"
},
{
"@type": "PropertyAmenity",
"description": "Meeting rooms",
"code": "269",
"category": "Meeting Facilities"
},
{
"@type": "PropertyAmenity",
"description": "Child programs",
"code": "235",
"category": "Child Programs"
},
{
"@type": "PropertyAmenity",
"description": "Private bath or shower",
"code": "263",
"category": "Room Amenities"
},
{
"@type": "PropertyAmenity",
"description": "Non-smoking rooms (generic)",
"code": "198",
"category": "Non-Smoking"
},
{
"@type": "PropertyAmenity",
"description": "Laundry/Valet service",
"code": "58",
"category": "Laundry Services"
},
{
"@type": "PropertyAmenity",
"description": "Safe deposit box",
"code": "78",
"category": "Safe Deposit Box"
},
{
"@type": "PropertyAmenity",
"description": "Business center",
"code": "228",
"category": "Business Center"
},
{
"@type": "PropertyAmenity",
"description": "Photocopy center",
"code": "69",
"category": "Printing Services Available"
}
]
},
"LowestAvailableRate": {
"value": 338.53,
"code": "EUR"
},
"MaximumAvailableRate": {
"value": 401.58,
"code": "EUR"
}
},
{
"@type": "PropertyInfo",
"id": "UR-G3375",
"Identifier": {
"authority": "TVPT"
},
"availability": "Other",
"Distance": {
"value": 1.35,
"unitOfDistance": "Kilometers"
},
"Property": {
"@type": "PropertyDetail",
"id": "UR-G3375",
"PropertyKey": {
"@type": "PropertyKey",
"chainCode": "UR",
"propertyCode": "G3375"
},
"name": "Hotel Apolonia Paris Mouffetard, Sure Hotel Collection by BW",
"Rating": [
{
"value": 3,
"provider": "NTM"
},
{
"value": 3,
"provider": "GIATA"
}
],
"GeoLocation": {
"latitude": 48.843242,
"longitude": 2.349496
},
"Image": [
{
"value": "https://media.iceportal.com/138303/photos/89471064_M.jpg",
"dimensionCategory": "M",
"caption": "On-Site,Outdoor/Exterior,Exterior View of Building",
"pictureCategory": 1
}
],
"Address": {
"@type": "Address",
"AddressLine": [
"56 rue Mouffetard"
],
"City": "Paris",
"StateProv": {
"value": "FR"
},
"Country": {
"value": "FR"
},
"PostalCode": "75005"
},
"Telephone": [
"33143361700"
],
"PropertyAmenity": [
{
"@type": "PropertyAmenity",
"description": "Shoe shine stand",
"code": "81",
"category": "Shoe Cleaning Services"
},
{
"@type": "PropertyAmenity",
"description": "Internet services",
"code": "223",
"category": "Internet Available"
},
{
"@type": "PropertyAmenity",
"description": "Complimentary wireless internet",
"code": "286",
"category": "Internet Available"
},
{
"@type": "PropertyAmenity",
"description": "Data port",
"code": "255",
"category": "Business Services"
},
{
"@type": "PropertyAmenity",
"description": "Elevators",
"code": "33",
"category": "Elevators"
},
{
"@type": "PropertyAmenity",
"description": "Hair dryer",
"code": "240",
"category": "Room Amenities"
},
{
"@type": "PropertyAmenity",
"description": "24-hour front desk",
"code": "1",
"category": "24-Hour Front Desk"
},
{
"@type": "PropertyAmenity",
"description": "Front desk",
"code": "148",
"category": "24-Hour Front Desk"
},
{
"@type": "PropertyAmenity",
"description": "Accessible facilities",
"code": "47",
"category": "Accessible Facilities"
},
{
"@type": "PropertyAmenity",
"description": "Turndown service",
"code": "208",
"category": "Property Facilities"
},
{
"@type": "PropertyAmenity",
"description": "Concierge desk",
"code": "22",
"category": "Concierge Service"
},
{
"@type": "PropertyAmenity",
"description": "Multilingual staff",
"code": "103",
"category": "Multilingual Staff"
},
{
"@type": "PropertyAmenity",
"description": "Late check-out available",
"code": "204",
"category": "Check In / Out Services"
},
{
"@type": "PropertyAmenity",
"description": "Express check-in",
"code": "36",
"category": "Check In / Out Services"
},
{
"@type": "PropertyAmenity",
"description": "High speed wireless",
"code": "261",
"category": "High-Speed Internet"
},
{
"@type": "PropertyAmenity",
"description": "High speed internet access",
"code": "259",
"category": "High-Speed Internet"
},
{
"@type": "PropertyAmenity",
"description": "Air conditioning",
"code": "5",
"category": "Air Conditioning"
},
{
"@type": "PropertyAmenity",
"description": "Wireless internet connection in public areas",
"code": "179",
"category": "WiFI Available"
},
{
"@type": "PropertyAmenity",
"description": "Complimentary in-room coffee or tea",
"code": "137",
"category": "Coffee/Tea"
},
{
"@type": "PropertyAmenity",
"description": "Non-smoking rooms (generic)",
"code": "198",
"category": "Non-Smoking"
},
{
"@type": "PropertyAmenity",
"description": "Family plan",
"code": "38",
"category": "Family Plan"
},
{
"@type": "PropertyAmenity",
"description": "Security",
"code": "80",
"category": "Security Services"
},
{
"@type": "PropertyAmenity",
"description": "Fax service",
"code": "274",
"category": "Printing Services Available"
},
{
"@type": "PropertyAmenity",
"description": "Photocopy center",
"code": "69",
"category": "Printing Services Available"
}
]
},
"LowestAvailableRate": {
"value": 99,
"code": "EUR"
},
"MaximumAvailableRate": {
"value": 136,
"code": "EUR"
}
}
]
},
"traceId": "d81201dc-4648-485c-a83d-29de3ce4dac0",
"CurrencyRateConversion": [
{
"@type": "CurrencyRateConversion",
"SourceCurrency": {
"value": "EUR",
"decimalPlace": 2
},
"TargetCurrency": {
"value": "USD",
"decimalPlace": 2
},
"ConversionRate": {
"value": 1.1641444
}
}
]
}
}