---
title: "Get rooms and rates for a stay"
url: "https://portal.konghotels.cloud/apis/kong-hotels-partner-api-1/versions/23cc133a-2f87-4d55-9490-0b8b2bb7dd78/operations/getPropertyAvailability"
---

> Full API specification: https://portal.konghotels.cloud/apis/kong-hotels-partner-api-1/versions/23cc133a-2f87-4d55-9490-0b8b2bb7dd78.md

# Get rooms and rates for a stay

`GET` `/properties/{propertyCode}/availability`

Operation ID: `getPropertyAvailability`

Every sellable room type × rate plan for the stay, fully priced with taxes and concrete cancellation terms. Member-only offers are included and flagged `requires_membership`; you need verified loyalty details to quote them. If `promotion_code` doesn't apply, offers are returned without it and `promotion.applied` is `false` with `reasons`.

## Path parameters

- `propertyCode` (string, required) - Property code (case-insensitive).

## Query parameters

- `check_in` (string, date, required) - Arrival date (property-local), today or later.
- `check_out` (string, date, required) - Departure date, after check_in. Maximum 30 nights.
- `adults` (integer, required)
- `children` (integer, optional)
- `rooms` (integer, optional) - Rooms of the same type. 10+ rooms must be a group request.
- `room_type` (string, optional) - Limit to one room type code.
- `rate_plan` (string, optional) - Limit to one rate plan code.
- `promotion_code` (string, optional)
- `include_unavailable` (boolean, optional) - Also list unsellable room types with their `restrictions`.

## Responses

- `200` - Priced availability.
- `404` - Not found, or owned by another partner.
- `422` - Invalid input or a booking rule violation.
- `429` - Rate limit exceeded.

## OpenAPI definition

```yaml
openapi: 3.1.0
info:
  title: Kong Hotels Partner API
  version: 1.0.0
servers:
  - url: https://api.konghotels.cloud
    description: Kong Gateway
paths:
  /properties/{propertyCode}/availability:
    get:
      tags:
        - Availability
      operationId: getPropertyAvailability
      summary: Get rooms and rates for a stay
      description: >
        Every sellable room type × rate plan for the stay, fully priced with
        taxes and concrete

        cancellation terms. Member-only offers are included and flagged
        `requires_membership`; you need

        verified loyalty details to quote them.


        If `promotion_code` doesn't apply, offers are returned without it and
        `promotion.applied` is

        `false` with `reasons`.
      parameters:
        - $ref: "#/components/parameters/PropertyCode"
        - $ref: "#/components/parameters/CheckIn"
        - $ref: "#/components/parameters/CheckOut"
        - $ref: "#/components/parameters/Adults"
        - $ref: "#/components/parameters/Children"
        - $ref: "#/components/parameters/Rooms"
        - name: room_type
          in: query
          description: Limit to one room type code.
          schema:
            type: string
        - name: rate_plan
          in: query
          description: Limit to one rate plan code.
          schema:
            type: string
        - name: promotion_code
          in: query
          schema:
            type: string
            examples:
              - KONGWEEKEND
        - name: include_unavailable
          in: query
          description: Also list unsellable room types with their `restrictions`.
          schema:
            type: boolean
            default: false
      responses:
        "200":
          description: Priced availability.
          headers:
            X-Request-ID:
              $ref: "#/components/headers/RequestId"
            X-RateLimit-Limit:
              $ref: "#/components/headers/RateLimitLimit"
            X-RateLimit-Remaining:
              $ref: "#/components/headers/RateLimitRemaining"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PropertyAvailabilityResponse"
        "404":
          $ref: "#/components/responses/NotFound"
        "422":
          $ref: "#/components/responses/ValidationFailed"
        "429":
          $ref: "#/components/responses/RateLimited"
security:
  - KongKeyAuth: []
  - KongConsumer: []
components:
  parameters:
    PropertyCode:
      name: propertyCode
      in: path
      required: true
      description: Property code (case-insensitive).
      schema:
        type: string
        examples:
          - KTNYC
    CheckIn:
      name: check_in
      in: query
      required: true
      description: Arrival date (property-local), today or later.
      schema:
        type: string
        format: date
        examples:
          - 2026-12-04
    CheckOut:
      name: check_out
      in: query
      required: true
      description: Departure date, after check_in. Maximum 30 nights.
      schema:
        type: string
        format: date
        examples:
          - 2026-12-07
    Adults:
      name: adults
      in: query
      required: true
      schema:
        type: integer
        minimum: 1
        maximum: 36
        examples:
          - 2
    Children:
      name: children
      in: query
      schema:
        type: integer
        minimum: 0
        maximum: 18
        default: 0
    Rooms:
      name: rooms
      in: query
      description: Rooms of the same type. 10+ rooms must be a group request.
      schema:
        type: integer
        minimum: 1
        maximum: 9
        default: 1
  headers:
    RequestId:
      description: Correlation ID for support.
      schema:
        type: string
    RateLimitLimit:
      description: Requests allowed per minute in this bucket.
      schema:
        type: integer
    RateLimitRemaining:
      description: Requests left in the current window.
      schema:
        type: integer
    RetryAfter:
      description: Seconds to wait before retrying.
      schema:
        type: integer
  schemas:
    PropertyAvailabilityResponse:
      type: object
      properties:
        data:
          type: object
          properties:
            property_code:
              type: string
            currency:
              type: string
            check_in:
              type: string
              format: date
            check_out:
              type: string
              format: date
            nights:
              type: integer
            occupancy:
              type: object
              properties:
                adults:
                  type: integer
                children:
                  type: integer
                rooms:
                  type: integer
            promotion:
              type:
                - object
                - "null"
              properties:
                code:
                  type: string
                applied:
                  type: boolean
                reasons:
                  type: array
                  items:
                    type: string
            room_types:
              type: array
              items:
                type: object
                properties:
                  room_type:
                    type: object
                    properties:
                      code:
                        type: string
                      name:
                        type: string
                      max_occupancy:
                        type: integer
                      bed_configuration:
                        type: string
                      size_sqm:
                        type: integer
                      view:
                        type:
                          - string
                          - "null"
                      is_accessible:
                        type: boolean
                  available_units:
                    type: integer
                    description: Rooms left for the whole stay.
                  is_available:
                    type: boolean
                  restrictions:
                    type: array
                    description: Why the room can't be sold.
                    items:
                      type: string
                      enum:
                        - no_inventory
                        - stop_sell
                        - closed_to_arrival
                        - closed_to_departure
                        - min_length_of_stay
                        - occupancy_exceeded
                  offers:
                    type: array
                    items:
                      $ref: "#/components/schemas/Offer"
        meta:
          type: object
          properties:
            generated_at:
              type: string
              format: date-time
    Offer:
      type: object
      properties:
        rate_plan:
          type: object
          properties:
            code:
              type: string
            name:
              type: string
            meal_plan:
              $ref: "#/components/schemas/MealPlan"
            requires_membership:
              type: boolean
            allows_modification:
              type: boolean
        pricing:
          $ref: "#/components/schemas/Pricing"
        cancellation:
          $ref: "#/components/schemas/CancellationTerms"
    Problem:
      type: object
      description: RFC 9457 problem details. Extra members (e.g. `available_units`,
        `restrictions`, `reasons`) may be present.
      required:
        - type
        - title
        - status
      properties:
        type:
          type: string
          format: uri
        title:
          type: string
        status:
          type: integer
        detail:
          type: string
        instance:
          type: string
        request_id:
          type: string
      additionalProperties: true
    ValidationProblem:
      allOf:
        - $ref: "#/components/schemas/Problem"
        - type: object
          properties:
            errors:
              type: object
              additionalProperties:
                type: array
                items:
                  type: string
            restrictions:
              type: array
              items:
                type: string
    MealPlan:
      type: string
      enum:
        - room_only
        - breakfast
        - half_board
        - all_inclusive
    Pricing:
      type: object
      description: >
        `room_subtotal` = Σ `nightly_rates` × `rooms`. Percentage taxes apply to

        (`room_subtotal` − `discount_total` + `add_ons_total`); fixed taxes per
        room, per adult or per stay.

        `total` = `room_subtotal` − `discount_total` + `add_ons_total` +
        `tax_total`.
      properties:
        currency:
          type: string
          examples:
            - USD
        nights:
          type: integer
        rooms:
          type: integer
        nightly_rates:
          type: array
          description: Per-room rate for each night after the rate plan's adjustment.
          items:
            type: object
            properties:
              date:
                type: string
                format: date
              amount:
                $ref: "#/components/schemas/Money"
        average_nightly_rate:
          $ref: "#/components/schemas/Money"
        room_subtotal:
          $ref: "#/components/schemas/Money"
        discounts:
          type: array
          items:
            type: object
            properties:
              code:
                type: string
              name:
                type: string
              amount:
                $ref: "#/components/schemas/Money"
        discount_total:
          $ref: "#/components/schemas/Money"
        add_ons:
          type: array
          items:
            $ref: "#/components/schemas/AddOnLine"
        add_ons_total:
          $ref: "#/components/schemas/Money"
        taxes:
          type: array
          items:
            type: object
            properties:
              code:
                type: string
              name:
                type: string
              type:
                type: string
                enum:
                  - percent
                  - per_room_per_night
                  - per_person_per_night
                  - per_stay
              rate:
                type: string
                description: Percentage
                or the unit amount for fixed taxes.: null
              amount:
                $ref: "#/components/schemas/Money"
        tax_total:
          $ref: "#/components/schemas/Money"
        total:
          $ref: "#/components/schemas/Money"
      examples:
        - currency: USD
          nights: 3
          rooms: 1
          nightly_rates:
            - date: 2026-12-04
              amount: "427.00"
            - date: 2026-12-05
              amount: "449.00"
            - date: 2026-12-06
              amount: "388.00"
          average_nightly_rate: "421.33"
          room_subtotal: "1264.00"
          discounts:
            - code: KONGWEEKEND
              name: King of the Weekend
              amount: "151.68"
          discount_total: "151.68"
          add_ons:
            - code: BRKFST
              name: Breakfast
              pricing_unit: per_guest_per_night
              unit_price: "34.00"
              quantity: 1
              amount: "204.00"
          add_ons_total: "204.00"
          taxes:
            - code: NYC_OCC
              name: NY state & city occupancy tax
              type: percent
              rate: "14.75"
              amount: "194.16"
            - code: NYC_UNIT
              name: NYC hotel unit fee
              type: per_room_per_night
              rate: "2.00"
              amount: "6.00"
            - code: NYC_JAVITS
              name: Javits Center fee
              type: per_room_per_night
              rate: "1.50"
              amount: "4.50"
          tax_total: "204.66"
          total: "1520.98"
    CancellationTerms:
      type: object
      description: The policy applied to a specific stay, with a concrete deadline and
        penalty amount.
      properties:
        code:
          type: string
        name:
          type: string
        is_refundable:
          type: boolean
        free_cancellation_until:
          type:
            - string
            - "null"
          format: date-time
          examples:
            - 2026-12-03T16:00:00-05:00
        penalty_after_deadline:
          $ref: "#/components/schemas/Money"
        currency:
          type: string
        summary:
          type: string
          examples:
            - Free cancellation until Thu 3 Dec 2026, 16:00 EST. After that, 1
              night(s) of room charges (427.00 USD) apply.
    Money:
      type: string
      pattern: ^-?\d+\.\d{2}$
      description: Decimal amount in the property currency.
      examples:
        - "389.00"
    AddOnLine:
      type: object
      properties:
        code:
          type: string
        name:
          type: string
        pricing_unit:
          type: string
          enum:
            - per_stay
            - per_night
            - per_guest_per_night
        unit_price:
          $ref: "#/components/schemas/Money"
        quantity:
          type: integer
        amount:
          $ref: "#/components/schemas/Money"
          description: unit_price × quantity × (1 | nights | guests × nights)
  responses:
    NotFound:
      description: Not found, or owned by another partner.
      content:
        application/problem+json:
          schema:
            $ref: "#/components/schemas/Problem"
          example:
            type: https://developers.konghotels.example/problems/not-found
            title: Resource not found
            status: 404
            detail: Property not found.
            instance: /properties/KXXXX
            request_id: 9a8b7c6d-5e4f-4a3b-2c1d-0e9f8a7b6c5d
    ValidationFailed:
      description: Invalid input or a booking rule violation.
      content:
        application/problem+json:
          schema:
            $ref: "#/components/schemas/ValidationProblem"
          examples:
            validation:
              value:
                type: https://developers.konghotels.example/problems/validation-failed
                title: Validation failed
                status: 422
                detail: One or more fields are invalid.
                instance: /quotes
                request_id: 7e6d5c4b-3a2f-4e1d-8c0b-9a8f7e6d5c4b
                errors:
                  check_out:
                    - The check out field must be a date after check in.
            bookingRule:
              value:
                type: https://developers.konghotels.example/problems/booking-rule-violation
                title: Booking rule violation
                status: 422
                detail: Rate plan ADV cannot be sold for these dates.
                instance: /quotes
                request_id: 8f7e6d5c-4b3a-4f2e-9d1c-0b9a8f7e6d5c
                restrictions:
                  - min_advance_purchase
    RateLimited:
      description: Rate limit exceeded.
      headers:
        Retry-After:
          $ref: "#/components/headers/RetryAfter"
        X-RateLimit-Limit:
          $ref: "#/components/headers/RateLimitLimit"
        X-RateLimit-Remaining:
          $ref: "#/components/headers/RateLimitRemaining"
      content:
        application/problem+json:
          schema:
            $ref: "#/components/schemas/Problem"
          example:
            type: https://developers.konghotels.example/problems/rate-limited
            title: Too many requests
            status: 429
            detail: Rate limit exceeded. Retry after the number of seconds in the
              Retry-After header.
            instance: /availability
            request_id: 5b4a3f2e-1d0c-4b9a-8f7e-6d5c4b3a2f1e
  securitySchemes:
    KongKeyAuth:
      type: apiKey
      in: header
      name: apikey
      description: Your API key, validated by Kong Gateway. The header name depends on
        the gateway's key-auth configuration.
    KongConsumer:
      type: apiKey
      in: header
      name: X-Consumer-ID
      description: "**Local development only.** Simulates the consumer identity Kong
        Gateway injects after authentication."
```
