---
title: "Get available rooms and rates for direct hotel search"
method: GET
path: "/api/v1/hotels/{hotelId}/directrooms"
tags: ["Availability"]
---

# Get available rooms and rates for direct hotel search

`GET /api/v1/hotels/{hotelId}/directrooms`

Get available rooms and rates for direct hotel search

## Path parameters

- `hotelId` string, required

## Query parameters

- `currency` string, required
- `checkIn` string, date-time, required
- `checkOut` string, date-time, required
- `nationality` string, nullable
- `countryOfResidence` string, nullable
- `destinationCode` string, nullable
- `room1AdultCount` integer, required
- `room1ChildAges` integer[], nullable
- `room2AdultCount` integer, nullable
- `room2ChildAges` integer[], nullable
- `room3AdultCount` integer, nullable
- `room3ChildAges` integer[], nullable
- `room4AdultCount` integer, nullable
- `room4ChildAges` integer[], nullable
- `room5AdultCount` integer, nullable
- `room5ChildAges` integer[], nullable
- `room6AdultCount` integer, nullable
- `room6ChildAges` integer[], nullable
- `culture` string, nullable
- `travelPurpose` 'Leisure' | 'Business'

## Headers

- `api-key` string, required
- `customer-id` string, required
- `affiliate-id` string, required
- `user-ip` string, required
- `correlation-id` string, required

## Response `200`

Success

- RoomSearchResponse
  - `hotelId` string — Unique Id of the hotel
  - `token` string — Token to be used in the subsequent calls
  - `currency` string — Requested currency
  - `rooms` Room[] — Details of rooms
    - `id` string — Id of the room
    - `name` string — Name of the room
    - `code` string, nullable — Room code
    - `description` string — Room description
    - `beds` Bed[], nullable — Bed details for the room
      - `type` string — Type of bed, e.g. Double bed, King bed etc.
      - `description` string, nullable — Bed descriptive information
      - `count` integer — Bed count for the room
      - `size` string, nullable — Size of the bed
    - `isSmokingAllowed` boolean, nullable — Smoking allowed
    - `facilities` Facility[], nullable — Facilities avaiable as part of the room
      - `name` string, nullable
      - `description` string, nullable
      - `id` string, nullable
    - `images` Image[], nullable — Images of the room
      - `url` string, nullable — Url of the image
      - `links` ImageLink[], nullable — Link to images of different sizes
        - `url` string, nullable — Url of the image
        - `size` string, nullable — Size of the image
      - `caption` string, nullable — Caption of the image
      - `roomCodes` string[], nullable
    - `maxGuestsAllowed` integer, nullable — Maximum number of guests allowed
    - `maxAdultsAllowed` integer, nullable — Maximum adults allowd
    - `maxChildrenAllowed` integer, nullable — Maximum children allowed
    - `area` RoomArea
      - `squareMeters` string, nullable — Room area in square meters
      - `squareFeet` string, nullable — Room area in square feet
      - `text` string, nullable — Room area information
    - `views` string[], nullable — Views associated with the room
    - `type` string, nullable — Room Type
    - `isMappedRoom` boolean
  - `rates` Rate[] — Details of rates mapped against rooms
    - `id` string — RateId, to be passed in pricing and booking requests as received in roomrates and pricing response respectively
    - `rateCombinabilityId` string, nullable — RateCombinabilityId, Identifier for combining the rateIds
    - `availability` integer — Availability
    - `description` string, nullable — Rate description
    - `needsPriceCheck` boolean — Whether price check is needed for this rate
    - `isPackageRate` boolean, nullable — Describes if the rate is a package rate
    - `isContractedRate` boolean — Describes if the rate is a contracted rate
    - `occupancies` RoomOccupancy[] — Lists the occupancies the rate applies to
      - `roomId` string
      - `numOfAdults` integer
      - `numOfChildren` integer, nullable
      - `childAges` integer[], nullable
    - `type` 'Unknown' | 'Published' | 'Negotiated'
    - `baseRate` number, double — Base rate in the requested currency
    - `totalRate` number, double — Total rate in the requested currency
    - `minSellingRate` number, double — Minimum amount at which this rate can be sold
    - `publishedRate` number, double, nullable — The BAR or public rate
    - `currency` string — Requested currency
    - `taxes` RateComponent[], nullable — Taxes associated with this rate
      - `amount` number, double
      - `description` string, nullable
      - `isIncludedInBaseRate` boolean
    - `fees` RateComponent[], nullable — Fees associated with this rate
      - `amount` number, double
      - `description` string, nullable
      - `isIncludedInBaseRate` boolean
    - `discounts` RateComponent[], nullable — Discounts associated with this rate
      - `amount` number, double
      - `description` string, nullable
      - `isIncludedInBaseRate` boolean
    - `markups` RateComponent[], nullable — Markups associated with this rate
      - `amount` number, double
      - `description` string, nullable
      - `isIncludedInBaseRate` boolean
    - `commission` RateComponent
      - `amount` number, double
      - `description` string, nullable
      - `isIncludedInBaseRate` boolean
    - `dailyRates` DailyRateComponent[], nullable — Nightly rate breakdown
      - `amount` number, double
      - `date` string, date-time
      - `taxIncluded` boolean
      - `discount` number, double
      - `tax` number, double
    - `refundability` 'Refundable' | 'NonRefundable' | 'Unknown'
    - `allGuestsInfoRequired` boolean — Describes whether all passengers name and information is required for the booking
    - `onlineCancellable` boolean, nullable — Describes whether the rate can be cancelled online
    - `specialRequestSupported` boolean — Describes if special reqests are supported with this rate
    - `documentOptions` DocumentOption[], nullable
    - `payAtHotel` boolean, nullable — Describes if the rate is a pay at hotel
    - `cardRequired` boolean, nullable — Describes if the card is required to book this rate
    - `policies` Policy[], nullable — Describes the policies associated with this rate
      - `type` string
      - `text` string
    - `boardBasis` BoardBasis
      - `code` string, nullable
      - `description` string, nullable
      - `type` 'RoomOnly' | 'BedAndBreakfast' | 'HalfBoard' | 'FullBoard' | 'AllInclusive' | 'SelfCatering' | 'Other'
    - `offers` Offer[], nullable — Describes any offers applicable to this rate
      - `title` string
      - `description` string, nullable
      - `type` 'Other' | 'FixedDiscount' | 'PercentageDiscount' | 'StayOffer'
      - `discountOffer` number, double, nullable
      - `percentageDiscountOffer` integer, nullable
      - `stayOffer` StayOffer
        - `stayNights` integer
        - `freeNights` integer
    - `cancellationPolicies` CancellationPolicy[], nullable — Describes list of cancellation policies associated with this rate
      - `text` string, nullable
      - `rules` Rule[], nullable
        - `value` number, double
        - `valueType` 'Amount' | 'Percentage' | 'Nights'
        - `estimatedValue` number, double
        - `start` string, date-time
        - `end` string, date-time
    - `additionalCharges` AdditionalCharge[], nullable — Describes any additional charges payable later
      - `charge` Charge
        - `type` 'Fee' | 'Tax' | 'ResortFee' | 'Unknown'
        - `description` string, nullable
        - `frequency` 'PerNight' | 'PerStay' | 'PerWeek' | 'Unknown'
        - `unit` 'PerPerson' | 'PerRoom' | 'PerAcommodation' | 'PerAdult' | 'Unknown'
        - `amount` number, double
        - `currency` string
      - `text` string, nullable
    - `depositRequired` boolean
    - `depositAmount` number, double, nullable
    - `guaranteeRequired` boolean — Describes whether card guarantee is required
    - `allowedCreditCards` AllowedCreditCard[], nullable — Describes credit card options that can be used to book this rate
      - `type` string
      - `code` string, nullable
      - `processingCountry` string, nullable
    - `otherRateComponents` RateComponent[], nullable — Describes any other rate components
      - `amount` number, double
      - `description` string, nullable
      - `isIncludedInBaseRate` boolean
    - `distributionType` 'Unknown' | 'Public' | 'Private' | 'MinimumSellingPrice' | 'Optimized' | 'Corporate'
    - `distributionChannel` 'Any' | 'Website' | 'AgentTool' | 'Mobile' | 'MetaSearch' | 'Cache'
    - `publishedBaseRate` number, double, nullable — Describes published base rate
    - `isPassportMandatory` boolean — Describes if passport is mandatory to book this rate
    - `isPANMandatory` boolean — Describes if PAN is mandatory to book this rate
    - `rateIdentifier` string, nullable — Uniquely identifies this rate
    - `additionalInformation` AdditionalInformation[], nullable — Any additional text info in key value pairs
      - `type` string
      - `text` string
    - `isChildConvertedToAdult` boolean
    - `inclusions` string[], nullable
    - `promotions` Promotion[], nullable
      - `code` string, nullable
      - `name` string, nullable
      - `remark` string, nullable
  - `rateCombinabilityType` 'None' | 'GroupSameId' | 'GroupDifferentId' | 'GroupWithinSameId'

## Other responses

- `400` — ClientSideError
- `500` — ServerSideError

---

[API](https://skmtc.net/zentrumhub/apis/hotelcontent-api.md) · [All operations](https://skmtc.net/zentrumhub/apis/hotelcontent-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/zentrumhub/hotelcontent-api/versions/9fa4830db488/schema)
