---
title: "Returns offers with rates and availabilities for the specified range."
method: GET
path: "/booking/v0-nsfw/offer-index"
tags: ["Offer"]
---

# Returns offers with rates and availabilities for the specified range.

`GET /booking/v0-nsfw/offer-index`

## Request

- Base URL: `https://api.apaleo.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.apaleo.com/booking/v0-nsfw/offer-index`
- Auth: OAuth 2
  - Implicit: `https://identity.apaleo.com/connect/authorize`
  - Scopes: `offer-index.read`, `offers.read`, `admin`

Calculates and returns offers per time slice for a specific rate plan, arrival and departure date.
Each time slice is priced as its own arrival, independent of the requested range.
Prices are for adults only.<br>You must have at least one of these scopes: 'offer-index.read, offers.read'.<br>For fine-grained clients, you must have this permission: 'core.offers.read'.

## Query parameters

- `ratePlanId` string, required
- `from` string, required
- `to` string, required
- `channelCode` 'Direct' | 'BookingCom' | 'Ibe' | 'ChannelManager' | 'Expedia' | 'Homelike' | 'Hrs' | 'AltoVita' | 'DesVu' | 'Gimsi', required
- `pageNumber` integer
- `pageSize` integer

## Response `200`

Success.

- TimeSliceListModel
  - `timeSlices` TimeSliceItemModel[], nullable: List of time slices
    - `from` string, date-time, required: Date and time the time slice begins<br />A date and time in UTC or with UTC offset as defined in <a href="https://en.wikipedia.org/wiki/ISO_8601">ISO8601:2004</a>
    - `to` string, date-time, required: Date and time the time slice ends<br />A date and time in UTC or with UTC offset as defined in <a href="https://en.wikipedia.org/wiki/ISO_8601">ISO8601:2004</a>
    - `offers` TimeSliceOfferItemModel[], nullable: List of offers for this time slice
      - `unitGroup` EmbeddedUnitGroupModel, required
        - `id` string, required: The unit group id
        - `code` string, nullable: The code for the unit group that can be shown in reports and table views
        - `name` string, nullable: The name for the unit group
        - `description` string, nullable: The description for the unit group
        - `type` 'BedRoom' | 'MeetingRoom' | 'EventSpace' | 'ParkingLot' | 'Other', nullable: The unit group type
      - `minGuaranteeType` 'PM6Hold' | 'CreditCard' | 'Prepayment' | 'Company' | 'Ota', nullable: The minimum guarantee type for the offer
      - `minAdvance` PeriodModel
        - `hours` integer, nullable: The number of hours within the period
        - `days` integer, nullable: The number of days within the period
        - `months` integer, nullable: The number of months within the period
      - `maxAdvance` PeriodModel
        - `hours` integer, nullable: The number of hours within the period
        - `days` integer, nullable: The number of days within the period
        - `months` integer, nullable: The number of months within the period
      - `available` integer, required: The number of available units for the offer
      - `availableUnits` integer, required: The number of available units for the offer considering overbookings
      - `restrictions` RateRestrictionsModel
        - `minLengthOfStay` integer, nullable: The minimum length of stay in order to book the rate. If at least this number of time slices are covered by the stay duration the rate will be offered.
        - `maxLengthOfStay` integer, nullable: The maximum length of stay in order to book the rate. If not more than this number of time slices are covered by the stay duration the rate will be offered.
        - `closed` boolean, required: Whether the rate can be booked for a stay-through reservation
        - `closedOnArrival` boolean, required: Whether the rate can be booked on the reservation's arrival date
        - `closedOnDeparture` boolean, required: Whether the rate can be booked on the reservation's departure date
      - `prices` PerOccupancyPriceItemModel[], nullable: The prices for this offer
        - `adults` integer, required: Number of adults
        - `price` PriceModel, required
          - `grossAmount` number, double, required: Price including all included services and VAT - <b>DEPRECATED: This field will be removed soon, use BeforeTax + Taxes.Tax instead</b>
          - `beforeTax` number, double, required: Price including all included services without VAT or any other taxes like city tax
          - `afterTax` number, double, required: Price including all included services, VAT and any other taxes like city tax
          - `taxes` TaxesModel, required
            - `tax` number, double, required: The amount of taxes: VAT or sales taxes depending on the country of the property, and taxes on services included in the rate
            - `cityTax` number, double, required: The amount of City Tax including VAT
          - `currency` string, required: The currency for all prices and tax details
  - `count` integer, required: Total count of items

## Other responses

- `204`: There are no rates for the specified parameters.
- `400`: Bad request.
- `401`: You are unauthorized.
- `403`: Forbidden.
- `404`: The Request-URI could not be found.
- `422`: Validation errors in the request body or query params.
- `499`: Client closed request.
- `500`: An unexpected error occurred.
- `503`: The server is currently unavailable. Please try later.

---

[API](https://skmtc.dev/apaleo/apis/apaleo-booking-api-not-safe-for-work.md) - [All operations](https://skmtc.dev/apaleo/apis/apaleo-booking-api-not-safe-for-work/llms.txt) - [OpenAPI document](https://skmtc.dev/apaleo/apis/apaleo-booking-api-not-safe-for-work/revisions/a1b6a2f6b879?raw)
