---
title: "Return hotel availability."
method: POST
path: "/hotel/availability/catalogofferingshospitality"
tags: ["Availability"]
---

# Return hotel availability.

`POST /hotel/availability/catalogofferingshospitality`

Hotel Availability returns room types and rates available at one or more specified properties on specified dates.

## Headers

- `TraceId` string
- `XAUTH_TRAVELPORT_ACCESSGROUP` string
- `TVP-PCC-Core` string
- `TVP-Correlation-Id` string, uuid

## Request body

- CatalogOfferingsQueryRequestHospitalityWrapper — Wrapper schema to expose the name of the top level schema in the JSON example
  - `CatalogOfferingsQueryRequest` CatalogOfferingsQueryRequest — Used for a Hotel Availability request. Defines a request to retrieve available room types and rates for one or more specified hotel properties on given stay dates. This request typically follows a Hotel Search request and is sent before booking.
    - `@type` string, required — Discriminator class CatalogOfferingsRequestHospitality
    - `CatalogOfferingsRequest` CatalogOfferingsRequestHospitality[], required
      - `@type` string
      - `SearchControlConsoleChannelID` SearchControlConsoleChannelID — The Search API supports the Travelport Content Optimizer (formerly known as Search Control Console/SCC) for GDS content only. Send either the value or the sccType. If both values are sent, the sccType is applied. Travel agency administrators use Content Optimizer to create business rules for filtering certain air shopping results. If your client's application does not use Content Optimizer, do not use these attributes. Contact your Travelport representative if you would like additional information.
        - `value` string — String for the Content Optimizer channel ID.
        - `sccType` string — String for the Content Optimizer type.
      - `requestedCurrency` string — If sent, the response includes a currency rate conversion value from the local currency to the currency specified. This value can be applied to the hotel's local pricing to convert rates; the API does not convert any amounts.
      - `maxResponseWaitTime` integer — Supports a timeout in milliseconds when requesting availability for multiple properties. If sent, the request times out at the specified time and returns all properties retrieved at that point.
      - `StayDates` DateOrDateWindows, required — Indicates a date, such as check-in, check-out, deadline, or expiry date.
        - `specific` string, date — A specific date in YYYY-MM-DD format. When used within a window, must fall between start and end.
        - `start` string, date — For Air, the earliest date acceptable for the start date. For Hotel, the check-in, cancellation, or penalty deadline date. Format YYYY-MM-DD. Used with end to designate a range of dates.
        - `end` string, date — For Air, the latest date acceptable for the end date. For Hotel, the check-out, cancellation, or penalty deadline date. Format YYYY-MM-DD.
        - `duration` string — Duration from start date.
        - `durationUnit` 'Minutes' | 'Hours' | 'Days' | 'Months' | 'MON' | 'TUES' | 'WED' | 'THU' | 'FRI' | 'SAT' | 'SUN' — Defines the Units that can be applied to Stay restrictions.
      - `HotelSearchCriterion` HotelSearchCriterion
        - `@type` string
        - `numberOfRooms` integer — Number of rooms requested at a single property. Supports values 1-9 inclusive.
        - `PropertyRequest` PropertyRequest[], required
          - `@type` string
          - `moreRatesToken` string — More rates token
          - `PropertyKey` PropertyKey, required — Contains up to 250 PropertyKey objects. Each PropertyKey object identifies one property.
            - `@type` string
            - `chainCode` string, required — Code for the hotel chain (typically 2 characters)
            - `propertyCode` string, required — The property code of the requested property (typically 5 characters).
        - `RoomStayCandidates` RoomStayCandidates — Includes traveler information.
          - `RoomStayCandidate` RoomStayCandidate[], required
            - `GuestCounts` GuestCounts, required — The number and age(s) of guests within the room.
              - …
            - `RoomAmenity` RoomAmenity[]
              - …
        - `RateCandidates` RateCandidates — For a Hotel Search request: up to eight negotiated rate codes and/or one frequent guest number. For a Hotel Availability request: rate plans, access codes, and rate categories - send only if requesting rate plans.
          - `@type` string, required — Discriminator classes RateCandidates and RateCandidatesDetail
          - `RateCandidate` RateCandidate[], required
            - `@type` string, required — Discriminator classes RateCandidate and RateCandidateDetail
            - `priority` integer — A rate candidate priority
            - `rateCode` string — "The negotiated rateCode to be applied to the request. For Hotel Availability, each rateCode must be associated with a chainCode, propertyCode, and a rateCategory of 'Multi-level/Negotiated/Secure'. For Hotel Rules, this value can be found, if returned, in the Availability response's ProductRateCodeInfo/RateCodeInfo/value."
            - `rateCategory` 'All' | 'Association' | 'Business' | 'BusinessStandard' | 'Club' | 'Convention' | 'Corporate' | 'Consortiums' | 'Discount' | 'Credential' | 'Employee' | 'FamilyPlan' | 'FullInclusive' | 'Government' | 'Inclusive' | 'Industry/TravelAgentRate' | 'Leisure' | 'Military' | 'Monthly' | 'Multi-DayPackage' | 'MultLevel/Negotiated/Secure' | 'Other' | 'Package' | 'PrePaid' | 'Promotional' | 'RackGeneral' | 'SeniorCitizen' | 'Standard' | 'Tour' | 'VIP' | 'Weekend' | 'Weekly' — For Hotel Search, request a rate category by sending up to 8 OTA rate categories to search for. If the supplier has rates available for the requested category, the response contains those rates and indicates them as such. Some properties do not return these rates unless explicitly requested. For a Hotel Rules request, this value can be found, if returned, in the Availability response's ProductRateCodeInfo/RateCodeInfo/rateCategory.
            - `chainCode` string — Code for the hotel chain (typically 2 characters)
            - `propertyCode` string — The property code of the requested property (typically 5 characters).
            - `masterRateCode` string — An agency-created rate code that can be translated into up to 12 negotiated rate codes. If masterRateCode is sent, any additional rateCodes will be ignored.
          - `prePayRatesOnlyInd` boolean — A prepay rate charges the full amount on the credit card immediately on booking. If true, returns only pre-paid rates. If false, allows the return of all rates.
          - `postPayRatesOnlyInd` boolean — A postpay rate (most common in the US) charges the credit card at the property when the guest checks in. If true, returns only post-paid rates. If false, allows the return of all rates.
          - `removeSpecialRatesInd` boolean — Used to request the removal of rate category (Promotional/Package/etc.) rates that may have been returned by the supplier as typical published rates. If true, removes all rate category type rates (except for negotiated rates). If true but one or more specific rate categories are requested, then this indicator is ignored and the rate category is applied. If false, allows the return of all rates returned by the supplier with no filtering. Default behavior is false.
        - `AggregatorList` HotelAggregatorCodeEnum[]
        - `ExtraAccommodation` ExtraAccommodation[]
          - `@type` string, required
          - `quantity` integer, required — The quantity.
          - `AccommodationType` 'Crib' | 'ExtraAdult' | 'ExtraChild' | 'RollawayAdult' | 'RollawayChild', required
      - `MinimumAmount` CurrencyAmount — A monetary amount, up to 4 decimal places. Decimal place must be included.
        - `value` number, float — The amount of a given currency.
        - `code` string — An ISO 4217 alpha character code (3 characters) that specifies a money unit.
        - `minorUnit` integer — Minor units are a mechanism for expressing the relationship between a major currency unit and its corresponding minor currency unit. It is the smallest unit of a given currency. For example; the smallest denomination in USD is the cent, which is 1/100 of a USD, and the minor unit value is 2. Not all currencies have a minor unit.
        - `currencySource` 'Supplier' | 'Charged' | 'Requested' — The system requesting or returning the currency code specified in the attribute
        - `approximateInd` boolean — If true, the currency amount has been converted from the original amount. For Air Exchange Eligibility, returned only if a currency is converted. If returned, the value is always true, indicating that the fee is approximate because of currency conversion. For Hotel Availability and Rules, true indicates this is a calculated value; false indicates this is the value returned by the property.
      - `MaximumAmount` CurrencyAmount — A monetary amount, up to 4 decimal places. Decimal place must be included.
        - `value` number, float — The amount of a given currency.
        - `code` string — An ISO 4217 alpha character code (3 characters) that specifies a money unit.
        - `minorUnit` integer — Minor units are a mechanism for expressing the relationship between a major currency unit and its corresponding minor currency unit. It is the smallest unit of a given currency. For example; the smallest denomination in USD is the cent, which is 1/100 of a USD, and the minor unit value is 2. Not all currencies have a minor unit.
        - `currencySource` 'Supplier' | 'Charged' | 'Requested' — The system requesting or returning the currency code specified in the attribute
        - `approximateInd` boolean — If true, the currency amount has been converted from the original amount. For Air Exchange Eligibility, returned only if a currency is converted. If returned, the value is always true, indicating that the fee is approximate because of currency conversion. For Hotel Availability and Rules, true indicates this is a calculated value; false indicates this is the value returned by the property.
      - `verboseResponseInd` boolean — Used to indicate whether to group common property details. If true, disables the grouping of common property details in the response's ReferenceList object and instead returns them for each property in Offer/Products/Product. In this case ProductHospitality is returned. If false, returns common details across properties in a ReferenceList object with a cross-reference for each offer. For this case ProductHospitalityOffer will be returned. Default behavior is false.
      - `recommendedRoomAmenitiesInd` boolean — if true, a limited set of room amenities will be returned in the response. if false, or omitted a full set of room amenities will be returned in the response.

## Response `200`

OK - Successful Response - 200

- CatalogOfferingsHospitalityResponseWrapper — Wrapper schema to expose the name of the top level schema in the JSON example
  - `CatalogOfferingsHospitalityResponse` CatalogOfferingsHospitalityResponse — Base response is part of all JSON APIs responses and includes common items which are relevant across all APIs
    - `@type` string
    - `transactionId` string — A unique system-generated (128 bit GUID format) transaction/tracking id for a single request and response (i.e. for a single transaction) used for internal tracking and troubleshooting. Also known as E2ETrackingId. Not returned in all Hotel API responses.
    - `traceId` string — Used in hospitality workflows to provide a unique transaction or tracking id for a single request and response. For Air Eligibility, returned if a custom trace ID was sent in the request header. For Hotel Rules, returned if a custom trace ID was sent in the request header.
    - `correlationId` string, uuid — Identifier used to correlate hotel API invocations across a multi-call business flows.
    - `reservationStatus` 'Success' | 'Fail' | 'Partial' | 'Pending' | 'OnHold' | 'Retry' | 'Other' — Status of reservation or offer completion.
    - `Result` Result — Returns the error and/or warning message information, if applicable.
      - `@type` string — Discriminator class Result only
      - `status` 'Not processed' | 'Incomplete' | 'Complete' | 'Unknown' — The status of an error or warning
      - `Error` Error[] — A list of error information returned at the provider level for a response.
        - `@type` string, required — Discriminator classes Error or ErrorDetail
        - `StatusCode` integer — Http standard response code
        - `Message` string — The Travelport standardized error or warning message
        - `NameValuePair` NameValuePair[]
          - `value` string — Text directly related to name description, providing more detail. May have character restrictions based on remark type (e.g. Free Text limitations: 84 characters, alphanumeric and some special characters).
          - `id` string — Optional internally referenced id
          - `name` string, required — Key, categorizing the type of remark or error.
      - `Warning` Warning[] — A list of warning information returned at the provider level for a response.
        - `@type` string, required — Discriminator classes Warning or WarningDetail
        - `StatusCode` integer — Http standard response code
        - `Message` string — The Travelport standardized error or warning message
        - `NameValuePair` NameValuePair[]
          - `value` string — Text directly related to name description, providing more detail. May have character restrictions based on remark type (e.g. Free Text limitations: 84 characters, alphanumeric and some special characters).
          - `id` string — Optional internally referenced id
          - `name` string, required — Key, categorizing the type of remark or error.
    - `Identifier` Identifier — A globally unique identifier key often used to reference a given option (such as Pricing, Booking, Rules, or additional workflows) or to retrieve information (such as Hotel pagination).
      - `value` string — Unique offer identifier that can be sent in subsequent payload requests to reference this offer. When used for reference flight calls, the CatalogProductOfferingsIdentifier will be the transaction identifier from the Search, Next Leg Search, or Flight Specific Search response in CatalogProductOfferings/Identifier/value. If you choose to pull the CatalogProductOfferingsIdentifier from the Price response instead (OfferListResponse/Identifier/value), either full or reference payload, please note for subsequent Add Offer requests you must remove the _PC appended to the end of the value in the AirPrice response (e.g., change value: '93d2091d-3d04-48ab-8091-6ae1525f02ea_PC' to value: '93d2091d-3d04-48ab-8091-6ae1525f02ea'). When building an AirPrice or Add Offer reference payload request: - Look for the CatalogProductOfferingIdentifier (ex: o1) in a Search response at CatalogProductOfferings/CatalogProductOffering/id or a Price response at OfferListResponse/OfferID/id. - Look for the ProductIdentifier (ex: p0) in a Search response at CatalogProductOfferings/CatalogProductOffering/ProductBrandOptions/ProductBrandOffering/Product/productRef or from a Price response at OfferListResponse/OfferID/Product/id. When returned from a Workbench, this value is the workbench identifier that must be sent in all subsequent requests for this workbench session. When returned from Air Exchange Eligibility, value is the ticket number sent with the eligibility request. When used specifically for form of payment, the value will begin with the characters 'FOP'. Similarly, the OfferIdentifier associated will begin with the character 'O'. For Hotel Create Reservation (Reference Payload), send the value from the Availability response in CatalogOffering/id or the value from SearchComplete returned in propertyItems/lowestPublicAvailableRate/rateKey/value. Results from Hotel Availability and Hotel SearchComplete are stored in the cache for 30 minutes. If the offers expire before booking, you must send a new request.
      - `authority` string — Name of the supplier system that created this identifier - the source of information. For AirPrice, please note that GDS offers return the value 'Travelport' in authority while NDC offers return the carrier code of the issuing NDC carrier. When returned from Air Exchange Eligibility, authority is always 'Travelport' as the transaction issuer. For Hotels, authority indicates which supplier returned the lowest available rate for that property: either 'TVPT' (Travelport) or 'BKNG' (booking.com). Booking.com access requires additional provisioning and a direct agreement with the supplier. Authority is not returned if the property is closed or returns an error. For Hotel Create Reservation (Full Payload) and Sync Reservation send the value from the Availability response in CatalogOffering/Identifier/authority for the instance you want to book.
    - `NextSteps` NextSteps — Container for the steps that describe actions that may be taken on the containing object. Not applicable for an Eligibility or Exchange response.
      - `baseURI` string, required — The base portion of the URI in order to shorten the uris in the individual steps
      - `id` string — Optional internally referenced id
      - `NextStep` NextStep[], required
        - `value` string
        - `id` string — Identifier for the Next Step
        - `action` string, required — The action this next step is intended to achieve
        - `method` 'GET' | 'DELETE' | 'PUT' | 'POST', required — Describes the set of potential methods that can be taken after an operation.
        - `description` string — Additional clarification for the next step
    - `ReferenceList` ReferenceList[]
      - `@type` string, required — Discriminator - Air Search child classes are ReferenceListAmenity, ReferenceListBrand, ReferenceListFlight, ReferenceListProduct, ReferenceListTermsAndConditions, and ReferenceListUniversalProductAttribute. - Air Price child classes are ReferenceListAmenity and ReferenceListBrand. - FareRules child class is ReferenceListFlight. - Search Ancillaries child class is ReferenceListFlight. - Seat Map child class is ReferenceListSeatingChart. - Hotel Availability child class is ReferenceListPropertyDates. - Reservation and Reservation Workbench child classes are ReferenceListAmenity, ReferenceListBrand, and ReferenceListUniversalProductAttribute. - Exchange Search child classes are ReferenceListBrand, ReferenceListFlight, and ReferenceListExchangedPrice. - Reservation Receipt child classes are ReferenceListOffer and ReferenceListTraveler. - Book_Traveler child class is ReferenceListTraveler.
      - `id` string — Uniquely identifies for the Reference List
    - `CurrencyRateConversion` CurrencyRateConversion[]
      - `@type` string
      - `SourceCurrency` CurrencyCode, required — Currency codes are the three-letter alphabetic codes that represent the various currencies used throughout the world. Unless changed in the request, the currency is the default associated with your provisioned PCC from Travelport. For Hotel: SourceCurrency is based on the location of the hotel and used for all rates in the response. TargetCurrency is the currency code sent in the request in requestedCurrency.
        - `value` string — An ISO 4217 currency code.
        - `codeAuthority` string — Currency code authority
        - `decimalPlace` integer — Number of decimal places for the currency.
        - `decimalAuthority` string — Currency code decimal authority
      - `TargetCurrency` CurrencyCode, required — Currency codes are the three-letter alphabetic codes that represent the various currencies used throughout the world. Unless changed in the request, the currency is the default associated with your provisioned PCC from Travelport. For Hotel: SourceCurrency is based on the location of the hotel and used for all rates in the response. TargetCurrency is the currency code sent in the request in requestedCurrency.
        - `value` string — An ISO 4217 currency code.
        - `codeAuthority` string — Currency code authority
        - `decimalPlace` integer — Number of decimal places for the currency.
        - `decimalAuthority` string — Currency code decimal authority
      - `ConversionRate` ConversionRate, required — 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. The response does not convert any amounts.
        - `value` number, float
        - `rateAuthority` string — Contextual rate authority
        - `rateAsOf` string, date-time — Rate as of
    - `Pagination` Pagination — Pagination object used when result sets span across a number of pages.
      - `@type` string, required
      - `page` integer, required — The current page number of the full result set
      - `pageSize` integer, required — The total number of items on this page
      - `totalPages` integer, required — The total number of pages in this result set
      - `totalItems` integer, required — The total number of pages in this result set

## Other responses

- `201` — Created - 201
- `400` — Bad Request - 400
- `401` — Unauthorized - 401
- `402` — Payment Required - 402
- `403` — Forbidden - 403
- `404` — Not Found - 404
- `500` — Internal Server Error - 500

---

[API](https://skmtc.net/travelport/apis/tripservices-stays.md) · [All operations](https://skmtc.net/travelport/apis/tripservices-stays/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/travelport/tripservices-stays/revisions/9217686edff5/schema)
