Check the Hotel Release Notes for updates across all Hotel APIs.

Search by Location API Reference

POST

search/properties/search

Use this base path if you have not yet received or not migrated to the new credentials from Travelport:

Pre-production https://api.pp.travelport.com/11/hotel/ | Production https://api.travelport.com/11/hotel/

Use this base path after you have migrated to the new credentials from Travelport (using .net instead of .com):

Pre-production https://api.pp.travelport.net/11/hotel/ | Production https://api.travelport.net/11/hotel/

Related Content: JSON Hotel APIs Guide, Hotel Search Guide, Search Pagination API Reference

The Search by Location request searches for hotels by any one of these:

  • geographic coordinates

  • address

  • IATA airport code

  • IATA city

Although you can search by various criteria, all responses return results in the same format. The response returns up to 100 properties, or all available properties if less than 100. If more than 100 properties matching the search criteria are available, you can request the next page of results with the Search Pagination API. See the JSON Hotel APIs Guide for more details.

After searching, you can go to the next step, Availability, or send an optional Hotel Details request to retrieve property details such as images.

Request

As part of the request requirements, also see Authentication and Common Hotel API Headers.

Query Parameters

None.

Request Body

For additional examples by airport, coordinate, and address, see more examples below.

The red asterisk at the end of an object name below, as in Traveler*, marks that object as required in the request.

 

PropertiesQuerySearch*

Top level object for request.

Includes RoomStayCandidate, SearchBy, and RateCandidates objects.

CheckInDate*: String. Check-in date in YYYY-MM-DD format.

CheckOutDate*: String. Check-out date in YYYY-MM-DD format.

RequestedCurrency: String. Send a currency code to request conversion rate information for converting to that currency from the hotel location's currency.

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. 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: String. A size for the image to return, allowing you to set image quality. Supported values:

  • ExtraLarge
  • Large
  • Medium
  • Small
  • Thumbnail

returnAllImagesInd: Boolean:

  • true: Returns all property images of the requested ImageSize.

  • false: Returns the best single image. Default if not sent.

returnOnlyAvailablePropertiesInd: Boolean (true/false). Used to request a list of properties with current availability for the dates requested. Default is false, meaning some properties returned in the list may have no availability. When the value is true, only properties with availability will be returned in the list and fewer than 25 properties per page may be returned. In some cases, zero properties will be returned if no properties in that group of 25 are available.

AggregatorList: String. Enum. Restrict the search to a specific aggregator/s. Supported values and their meanings are:

  • TVPT: Travelport

  • BKNG: Booking.com

You must be authorized for any aggregator selected.

HotelName: String. A string of characters used to search for properties with a matching hotel name. The string must match as a substring (case insensitive) in a property's name for the property to be returned. Must be at least three characters long. Supported characters are alphanumeric, comma, period, apostrophe, hyphen, semicolon, colon, and space.

ChainCodes: Array of one to six hotel chain codes to include in the search results. Each chain code must be two alpha characters.

The ChainCodes field now supports the entry of brand codes, which are expanded internally by Travelport into the associated chain codes for that brand.


RoomStayCandidate*

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: Age of traveler. Required only when request includes a child in room.

ageQualifyingCode: Required only if traveler age is relevant to a code.


SearchBy*

Top level object for the types of location searches.

Includes SearchRadius object.

type: String.

SearchByAirport: Send when using SearchAirport per below.

SearchByCity: Send when using SearchCity per below.

SearchByGeoLocation: Send when using Latitude and Longitude per below.

SearchByAddress: Send when using SearchAddress per below.


SearchRadius*

Common object for all four types of location search.

value*: Number. The radius around the specified location to search. Must be a numeric value between 1 and 25. The unit of measure is specified in unitOfDistance.

unitOfDistance: String. Optional object to request either miles or kilometers for the search radius from the specified location. If unitOfDistance is not specified, the search defaults to miles for properties in the United States, Myanmar, and Liberia. The search defaults to kilometers in all other countries.

Supported values:

  • Miles: search in miles
  • Kilometers: search in kilometers

SearchAirport* for search by airport code

An airport IATA code. Must be three alpha characters.


SearchCity* for search by city code

A city IATA code. Must be three alpha characters. If no matching city code is found, airport search is automatically invoked.


Latitude* for search by latitude and longitude

Number. Numeric value representing latitude of search center point in degrees and decimal minutes (e.g. 39.7392).


Longitude* for search by latitude and longitude

Number. Numeric value representing longitude of search center point in degrees and decimal minutes (e.g. -104.9903).


SearchAddress* for search by address

Search by city, state/province, and country.

Includes StateProv object.

City* for search by address: String. Full city name.

Country* for search by address: String. Two character country code.


StateProv* for search by address if Country is US or CA

String. State or province object.

value* for search by address if Country is US or CA : String. Two character state or province code.


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

Supported values are as follows:

  • 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 location with city code

{
"PropertiesQuerySearch": {
  "CheckInDate": "2025-12-11",
  "CheckOutDate": "2025-12-12",
  "AggregatorList": [
   "TVPT"
  ],
  "RoomStayCandidate": [
   {
    "@type": "RoomStayCandidate",
    "GuestCounts": {
     "@type": "GuestCounts",
     "GuestCount": [
      {
       "@type": "GuestCount",
       "count": 1,
       "ageQualifyingCode": "10"
      }
     ]
    }
   }
  ],
  "SearchBy": {
   "@type": "SearchByCity",
   "SearchRadius": {
    "value": 1,
    "unitOfDistance": "Miles"
   },
   "SearchCity": "DEN"
  }
 }
}

Response

For additional examples, download the developer toolkits and see Using Postman and Developer Toolkits.

All hotel search responses use the same format, regardless of the search criteria sent. For additional examples see the Search by ID API Reference.

The following example response has been edited for readability to show only one instance of PropertyInfo. Depending on availability, most responses return many more instances, up to 100.

PropertiesResponse

Top level object for response.

Includes Properties and CurrencyRateConversion objects.


Properties

Top level object that includes pagination information for properties list.

Properties:

totalProperties: The total number of properties returned in the search.

propertiesPerPage: The number of properties returned in the current page (max 25 per page).

numberOfPages: The total number of pages that can returned in the search.

Includes Identifier and PropertyInfo objects.


Identifier

A key that can be used to retrieve additional pages of properties.

Properties:

value: An identifier to be sent in any subsequent Pagination request.


PropertyInfo

Each instance of PropertyInfo provides all information returned about one property

Properties:

availability: Indicates whether the property has rooms available for the requested dates; possible values are:

  • Open: Property has rooms/rates available that match search parameters.

  • Other: Property has rooms/rates available that do not match search parameters.

  • Close: Property has no rooms available.

id: Property identifier composed of the chain and property codes.

featuredPropertyInd: Indicates if a property has been promoted to the top of the Properties list through the featured properties program. Featured properties always have this indicator and are sorted at the top of the list when searching by IATA city/airport codes.

Includes Identifier, Distance, Property, and LowestAvailableRate objects.


Identifier

Defines which supplier system returned the lowest available rate for that property.

Properties:

authority: Indicates which supplier returned the lowest available rate for that property. Supported values are:

  • TVPT: Travelport

  • BKNG: Booking.com

Authority is not returned if the property is closed or returns an error.

Distance

The distance from the specified search location. Properties:

unitofDistance: The unit of distance for the search radius around the specified location. Possible values are Miles and Kilometers. If unitOfDistance is not specified in the request, the search defaults to searching in miles for properties in the United States, Myanmar, and Liberia. The search defaults to kilometers in all other countries.

value: The distance from the specified search location.

The Distance object is returned in all responses but is not relevant to a search by property IDs, only for a search by location.

Property

Properties:

name: Text string for the name of the property.

id: Property ID composed of the chain and property codes.

Includes PropertyKey, Rating, GeoLocation, Image, and Address objects.


PropertyKey

Property chain code and property code.

Properties:

chainCode: Two-character code for the chain.

propertyCode: Code for the property within the hotel chain.


Rating

A hotel rating from NTM. Properties:

provider: Rating source.

value: Rating value.


GeoLocation

Geographic coordinates of the property.

Properties:

latitude: The numeric latitude of the property.

longitude: The numeric longitude of the property.


Image

A link to an image for the property.

Properties:

dimensionCategory : Image size category. Possible values are:

  • S: Small

  • M: Medium

  • T: Thumbnail

  • L: Large

  • E: ExtraLarge

width: Image width in pixels.

height: Image height in pixels.

caption: Image caption up to 128 characters.

pictureCategory: The image category number. Possible values are:

  • 1: exterior

  • 2: lobby

  • 3: pool

  • 4: restaurant

  • 5: health club

  • 6: guestroom

  • 7: suite

  • 8: conference room

  • 9: ballroom

  • 10: golf

  • 11: beach

  • 12: spa

  • 13: bar

  • 14: recreational

  • 21: room amenity

  • 22: property amenity

  • 23: business center

value: A link to an image for the property.


Address

The property address information.

Properties:

AddressLine: An array of strings for street address. Each element of the array represents an address line.

City: The full city name of the property address.

PostalCode: The postal code or zip code of the property address.

Includes StateProv and Country objects.


StateProv

Properties:

value: The state or providence code of the property address.


Country

Properties:

name: The full name of the property address's country.

value: The country code of the property address


PropertyAmenity

An array of amenities such as type of breakfast, spa, and pool.

Properties:

description: Type of amenity.

code: OTA code for amenity


LowestAvailableRate

The hotel's lowest available rate for the property for the requested dates.

Properties:

code: Code for the currency the rate is returned in.

value: Amount of lowest available rate.


MaximumAvailableRate

The hotel's maximum available rate for the property for the requested dates.

Properties:

code: Code for the currency in which the rate is returned.

value: Amount of maximum available rate.

authority: Indicates which supplier returned the maximum available rate for that property. Supported values are:

  • TVPT: Travelport

  • EXPE: Expedia

  • BKNG: Booking.com

Authority is not returned if it matches the value in PropertyInfo.Identifier.authority.

CurrencyRateConversion

CurrencyRateConversion is returned only if requestedCurrency was sent in the request.

By default the Hotel APIs return all rates in the currency of the hotel's location. If requestedCurrency was sent in the request, the response returns currency conversion information per below.

Includes SourceCurrency, TargetCurrency, and ConversionRate objects.


SourceCurrency

The currency code based on the location of the hotel and used for all rates in the response.

Properties:

decimalPlace: Number of decimal places for the currency value.

value: Currency code.


TargetCurrency

Currency code sent in the request in requestedCurrency.

Properties:

decimalPlace: Number of decimal places

value: Currency code.


ConversionRate

Current conversion rate of the user-specified currency (the TargetCurrency value).

Properties:

value: Conversion rate of SourceCurrency value to TargetCurrency value. This value can be used to calculate, independently of the API, conversion for the rates in the response.

Example

{
 "PropertiesResponse": {
  "Properties": {
   "@type": "Properties",
   "Identifier": {
    "value": "e0690cc0-5f97-4e01-a90c-c05f978e01da"
   },
   "totalProperties": 51,
   "propertiesPerPage": 51,
   "numberOfPages": 1,
   "PropertyInfo": [
    {
     "@type": "PropertyInfo",
     "id": "DT-35429",
     "Identifier": {
      "authority": "TVPT"
     },
     "availability": "Open",
     "Distance": {
      "value": 0.23,
      "unitOfDistance": "Miles"
     },
     "Property": {
      "@type": "PropertyDetail",
      "id": "DT-35429",
      "PropertyKey": {
       "@type": "PropertyKey",
       "chainCode": "DT",
       "propertyCode": "35429"
      },
      "name": "THE CURTIS DENVER   A DOUBLETREE BY",
      "Rating": [
       {
        "value": 3,
        "provider": "AAA"
       },
       {
        "value": 3,
        "provider": "NTM"
       },
       {
        "value": 4,
        "provider": "GIATA"
       }
      ],
      "GeoLocation": {
       "latitude": 39.745722,
       "longitude": -104.996919
      },
      "Image": [
       {
        "value": "https://media.iceportal.com/59424/photos/73564156_M.jpg",
        "dimensionCategory": "M",
        "caption": "On-Site,Outdoor/Exterior,Exterior View of Building",
        "pictureCategory": 1
       }
      ],
      "Address": {
       "@type": "Address",
       "AddressLine": [
        "1405 Curtis Street"
       ],
       "City": "DENVER",
       "StateProv": {
        "value": "CO"
       },
       "Country": {
        "value": "US"
       },
       "PostalCode": "80202"
      },
      "Telephone": [
       "1-303-5710300"
      ],
      "PropertyAmenity": [
       {
        "@type": "PropertyAmenity",
        "description": "Complimentary breakfast",
        "code": "227",
        "category": "Breakfast"
       },
       {
        "@type": "PropertyAmenity",
        "description": "Free Parking",
        "code": "42",
        "category": "Free Parking"
       }
      ]
     },
     "LowestAvailableRate": {
      "value": 175.42,
      "code": "USD"
     },
     "MaximumAvailableRate": {
      "value": 430.92,
      "code": "USD"
     }
    }
   ]
  },
  "traceId": "b39344c0-60fa-4bf4-8be8-d4f69fd27e03",
  "Result": {
   "@type": "Result",
   "Warning": [
    {
     "@type": "Warning",
     "StatusCode": 99,
     "Message": "Images unavailable for 1 properties."
    }
   ]
  }
 }
}

 

Additional Examples

For additional examples, download the developer toolkits and see Using Postman and Developer Toolkits.

The examples below show searches by airport, coordinates, and address.