---
title: "Perform the initial search for hotels."
method: POST
path: "/hotels/search"
tags: ["Service"]
---

# Perform the initial search for hotels.

`POST /hotels/search`

Perform the initial search for hotels according to params

## Headers

- `Accept-Language` string
- `concur-correlationid` string, required

## Request body

- SearchCriteria — Search by either location or exact property reference if already available
  - `checkin` string, date, required — Check in date as entered by traveler
  - `checkout` string, date, required — Check out date as entered by traveler
  - `customFields` CustomField[] — Custom fields that are supported by vendor (e.g. CostCenter)
    - `name` string, required — Name of the custom field
    - `value` string, required — Value of the custom field
  - `guestCountryCode` string — Two-character ISO code (ISO ALPHA-2) for country
  - `hotelPropertyRefs` HotelPropertyRef[] — **Deprecated - Reference Ids to hotel properties if we already have them. When provided 'locationSearch' will not be used and may not be set.
    - `chainCode` string — Chain code associated with hotel if any
    - `propertyCode` string, required — Provider's property code as given in search response
  - `includeDepositRequired` boolean, required — Whether to include properties where deposit is required or not
  - `locationSearch` LocationSearch — Reference to location details for search
    - `location` Location, required — Defines Geo Location for search
      - `address` Address
        - `addressLines` string[], required
        - `city` string, required — City name
        - `countryCode` string, required — Two-character ISO code (ISO ALPHA-2) for country
        - `postalCode` string
        - `state` string — **Deprecated - Use stateName instead** Two-character state code - provided when available
        - `stateName` string — Name or code of the State/Province/Adminstrative region
      - `geoLocation` Geolocation, required
        - `latitude` number, required
        - `longitude` number, required
      - `iataCode` string — IATA code of airport if location searched is of type Airport
      - `giataCode` string — GIATA code of hotel catalog if location searched is of type Hotel
      - `locationType` 'COMPANY_LOCATION' | 'HOTEL' | 'ADDRESS' | 'PLACE' | 'AIRPORT', required — Type of location associated with this search
      - `name` string, required
    - `maxRadius` Radius, required — Radius to restrict the search for hotels. 'maxRadius' allows extending search radius for preferred hotel properties and can be more than radius defined by traveler
      - `unit` 'MILE' | 'KM', required — Unit of distance
      - `value` integer, required
    - `radius` Radius, required — Radius to restrict the search for hotels. 'maxRadius' allows extending search radius for preferred hotel properties and can be more than radius defined by traveler
      - `unit` 'MILE' | 'KM', required — Unit of distance
      - `value` integer, required
  - `maxSearchResults` integer — Maximum number of properties allowed to be included in search results
  - `numGuests` integer — No. of guests for accomodation as entered by traveler
  - `rateCategories` RateCategory[] — Special rate categories requested if applicable
    - `otaCode` integer, required — Code based on OTA Rate Plan Type (RPT) list (https://www.opentraveldevelopersnetwork.com/code-list)
    - `value` string — Optional value for the given rate plan type code
  - `requestorInfo` RequestorInfo, required — Information about POS (Point Of Sale), traveler and user associated with this request
    - `bookingForSelf` boolean — Is logged in person booking for self or on behalf of someone else
    - `loginId` string — Login ID of traveler within Concur. Only sent when available.
    - `posRequestorId` string, required — An identifier of the entity making the request (e.g. ATA/IATA/ID number)
    - `travelerUuid` string, required — UUID that identifies the traveler within Concur
    - `gdsName` 'SABRE' | 'AMADEUS' | 'TRAVELPORT' — Name of the GDS (Global Distribution System) to be used for this booking (active or passive segment). Supported values: SABRE, AMADEUS, TRAVELPORT
    - `pcc` string — Pseudo City Code or Office ID (OID) for the GDS account to be used for this booking (active or passive segment).
    - `singlePNR` boolean — Indicates if the booking should be made in a single PNR (Passenger Name Record) for all travelers. If true, all travelers will be booked under the same PNR. If false, each traveler will have their own PNR.
  - `accessViaMobile` boolean — Indicates if the request is coming from mobile device

## Response `200`

Search results that meet criteria

- SearchResponse
  - `hotelProperties` HotelProperty[], required
    - `address` Address, required
      - `addressLines` string[], required
      - `city` string, required — City name
      - `countryCode` string, required — Two-character ISO code (ISO ALPHA-2) for country
      - `postalCode` string
      - `state` string — **Deprecated - Use stateName instead** Two-character state code - provided when available
      - `stateName` string — Name or code of the State/Province/Adminstrative region
    - `altPropertyCode` HotelPropertyAltPropertyCode — Alternate property code
      - `catalogCode` string, required
      - `catalogName` 'NORTHSTAR' | 'GIATA' | 'LEONARDO' | 'AMADEUS' | 'SABRE' | 'GALILEO' | 'CWT' | 'EXPEDIA' | 'HRS' | 'BOOKING.COM' | 'OMNIBEES', required — Northstar, Giata and GDS (Sabre, Amadeus, Galileo) are preferred options at this time
    - `amenities` HotelAmenity[], required
      - `amenityCode` integer, required
      - `cost` Price
        - `amount` number, required
        - `currencyCode` string, required — ISO 4217 currency code
    - `availabilityStatus` 'AVAILABLE_FOR_SALE' | 'CLOSED_OUT' | 'UNKNOWN', required
    - `chainCode` string — Chain code associated with hotel if any
    - `contactInfo` ContactInfo, required
      - `emails` string[], required
      - `faxNumber` string
      - `phoneNumbers` string[], required
    - `hotelName` string, required
    - `leadImageURI` string, uri, required — Contains an HTTPS URL pointing to a .png or .jpg hotel image file. The image will be used as a thumbnail and should be limited to 70x70 pixels to prevent image artifacts by scaling.
    - `leadRate` LeadRate, required — Lead rate is the lowest nightly rate averaged over the stay.
      - `avgNightlyRate` Price, required
        - `amount` number, required
        - `currencyCode` string, required — ISO 4217 currency code
      - `isTaxAndFeesInclusive` boolean — Whether or not tax and fees are included.
    - `totalPrice` TotalPriceHotel — Details about total pricing associated with the stay
      - `totalOverStay` Price, required
        - `amount` number, required
        - `currencyCode` string, required — ISO 4217 currency code
      - `isTaxInclusive` boolean — Whether or not tax is included
      - `isFeesInclusive` boolean — Whether or not fees are included
    - `onRequest` boolean — Indicates that the hotel can only be confirmed on request.
    - `position` Geolocation
      - `latitude` number, required
      - `longitude` number, required
    - `preferenceRank` 'PREFERRED' | 'MORE_PREFERRED' | 'MOST_PREFERRED'
    - `preferenceLevel` 'CHAIN' | 'PROPERTY' — Determines if the PreferenceRank specified is at CHAIN or PROPERTY level
    - `propertyCode` string, required
    - `rating` HotelRating — Hotel rating details along with source
      - `source` 'NORTHSTAR' | 'AAA_DIAMONDS' | 'HOTELSTAR' | 'STAR_RATING_AUSTRALIA' | 'HRS_STAR_RATING' | 'OTHER', required — Source of rating
      - `value` integer, required — Hotel rating value should be an integer number from 1 to 5, representing its star rating.
      - `name` string — Optional name when `source` is outside of supported values and set to `OTHER`
    - `superChainCode` string
    - `sustainabilityAwards` SustainabilityAward[]
      - `label` 'GSTC' | 'EARTH_CHECK' | 'GREEN_GLOBE' | 'GREEN_KEY' | 'TRAVELIFE' | 'GREEN_LEAF' | 'LEED' | 'GREEN_GROWTH_2050' | 'GREEN_SEAL' | 'HILTON_LIGHTSTAY' | 'IHG_GREEN_ENGAGE' | 'NORDIC_SWAN' | 'ACTIVITY_GREEN' | 'ADVENTURE_GREEN_ALASKA' | 'ECO_CERTIFICATION_MALTA' | 'GLOBAL_ECOSPHERE_RETREATS' | 'GREAT_GREEN_DEAL' | 'SEYCHELLES_SUSTAINABLE_TOURISM' | 'GREEN_STAY' | 'OTHER', required — Sustainability providers that are supported by hsv4
      - `level` string — Optional level of certification
      - `name` string — Name of certification in case when not possible to map to currently supported labels
      - `displaySustainabilityProgram` boolean — Indicates if the sustainability award is shown as the property's sustainability program
    - `emissionInfo` EmissionInfo — Hotel Sustainability Index information
      - `emissions` number — total emissions value for hotel
      - `sustainabilityScore` integer — sustainability score in range 0-100
      - `measure` 'CO2E' | 'CO2'
      - `unitOfMeasure` 'TONNES' | 'KILOGRAMS'
    - `exactMatch` boolean — Flag if true indicates that this hotel is an exact match for what was asked in search request.
    - `safetyScore` SafetyScore — Safety score of the hotel
      - `score` number, required
      - `detailsUrl` string — URL to get more details about the safety score
      - `categories` SafetyScoreCategory[], required
        - `type` 'NIGHTTIME_SAFETY' | 'PHYSICAL_SAFETY' | 'BASIC_FREEDOMS' | 'WOMENS_SAFETY' | 'THEFT' | 'HEALTH_AND_MEDICAL' | 'LGBTQ_PLUS_SAFETY', required
        - `score` number, required
    - `acceptedPayments` 'AMERICAN_AIRLINES' | 'ALASKA_BARTER' | 'AMEX' | 'AWARD_CREDIT' | 'CANADIAN' | 'CARTE_BLANCHE' | 'CHINA_UNION_PAY' | 'CONFERMA' | 'DELTA' | 'DINERS_CLUB' | 'DISCOVER' | 'ENROUTE' | 'EURO_CARD' | 'JCB' | 'MC' | 'NORTHWEST' | 'TWA' | 'UATP' | 'UNITED_TRAVEL' | 'UNITED_CREDIT' | 'VISA' | 'VENDOR_PROVIDED'
    - `propertyTypeCode` integer — Code identifying the type of property (hotel, apartment, etc.) using OTA Property Class Type (PCT).
    - `recommendationReasons` 'MOST_BOOKED_BY_TRAVELER' | 'MOST_BOOKED_BY_COMPANY' | 'MOST_BOOKED_OVERALL' | 'EQUIVALENT_PROPERTY' | 'BOOKED_PREVIOUSLY_BY_TRAVELER' | 'BOOKED_PREVIOUSLY_BY_OTHER_EMPLOYEES' | 'PERSONA_BASED_RECOMMENDATION' | 'LOYALTY_MEMBER' | 'CLOSEST_TO_COMPANY_LOCATION' | 'MOST_BOOKED_HOTEL' | 'MOST_BOOKED_BY_YOUR_COMPANY' | 'SIMILAR_HOTEL_TYPE_AND_LOCATION_TO_THE_MOST_BOOKED_PROPERTY'
  - `searchSessionToken` string, uuid — Session token to be generated and provided by server on initial "search" call that can be referenced back for future api calls on the same session.

## Other responses

- `400` — Invalid client request. Request shouldn't be retried without changing it.
- `401` — Unauthorized
- `500` — Error while processing the request. Request can be retried as is at a later time.

---

[API](https://skmtc.net/concur/apis/hotel-service-api.md) · [All operations](https://skmtc.net/concur/apis/hotel-service-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/concur/hotel-service-api/revisions/1fbd68eda4fc/schema)
