---
title: "Returns offers for one specific stay."
method: GET
path: "/booking/v1/offers"
tags: ["Offer"]
---

# Returns offers for one specific stay.

`GET /booking/v1/offers`

Calculates and returns available offers for a specific property, arrival and departure date.<br>You must have at least one of these scopes: 'offers.read, reservations.manage'.

## Query parameters

- `propertyId` string, required
- `arrival` string, required
- `departure` string, required
- `timeSliceTemplate` 'DayUse' | 'OverNight'
- `timeSliceDefinitionIds` string[]
- `unitGroupIds` string[]
- `unitGroupTypes` string[]
- `channelCode` 'Direct' | 'BookingCom' | 'Ibe' | 'ChannelManager' | 'Expedia' | 'Homelike' | 'Hrs' | 'AltoVita' | 'DesVu' | 'Gimsi'
- `promoCode` string
- `corporateCode` string
- `adults` integer, required
- `childrenAges` integer[]
- `includeUnavailable` boolean

## Response `200`

Success.

- StayOffersModel
  - `property` EmbeddedPropertyModel, required
    - `id` string, required — The property id
    - `code` string, nullable — The code for the property that can be shown in reports and table views
    - `name` string, nullable — The name for the property
    - `description` string, nullable — The description for the property
  - `offers` OfferModel[], required — List of offered unit groups with rates
    - `arrival` string, date-time, required — The earliest arrival date and time for this offer<br />A date and time (without fractional second part) in UTC or with UTC offset as defined in <a href="https://en.wikipedia.org/wiki/ISO_8601">ISO8601:2004</a>
    - `departure` string, date-time, required — The latest departure date and time for this offer<br />A date and time (without fractional second part) in UTC or with UTC offset as defined in <a href="https://en.wikipedia.org/wiki/ISO_8601">ISO8601:2004</a>
    - `unitGroup` OfferUnitGroupModel, required
      - `id` string, required — The unit group id
      - `code` string, required — The code for the unit group that can be shown in reports and table views
      - `name` string, required — The name for the unit group
      - `description` string, required — The description for the unit group
      - `maxPersons` integer, required — Maximum number of persons for the unit group
      - `rank` integer, nullable — The unit group rank
      - `type` 'BedRoom' | 'MeetingRoom' | 'EventSpace' | 'ParkingLot' | 'Other', required — The unit group type
    - `minGuaranteeType` 'PM6Hold' | 'CreditCard' | 'Prepayment' | 'Company', required — The minimum guarantee type for this offer
    - `availableUnits` integer, required — The number of available units for that offer
    - `ratePlan` EmbeddedRatePlanModel, required
      - `id` string, required — The rate plan id
      - `code` string, nullable — The code for the rate plan that can be shown in reports and table views
      - `name` string, nullable — The name for the rate plan
      - `description` string, nullable — The description for the rate plan
      - `isSubjectToCityTax` boolean, required — Whether the rate plan is subject to city tax or not
    - `totalGrossAmount` MonetaryValueModel, required
      - `amount` number, double, required
      - `currency` string, required
    - `cancellationFee` OfferCancellationFeeModel, required
      - `code` string, required — The code of the cancellation policy applied
      - `name` string, required — The name of the cancellation policy applied
      - `description` string, required — The description of the cancellation policy applied
      - `dueDateTime` string, date-time, required — The date and time the cancellation fee will be due. After that time this fee will be charged in case of cancellation<br />A date and time (without fractional second part) in UTC or with UTC offset as defined in <a href="https://en.wikipedia.org/wiki/ISO_8601">ISO8601:2004</a>
      - `fee` MonetaryValueModel, required
        - `amount` number, double, required
        - `currency` string, required
    - `noShowFee` OfferNoShowFeeModel, required
      - `code` string, required — The code of the no-show policy applied
      - `name` string, required — The name of the no-show policy applied
      - `description` string, required — The description of the no-show policy applied
      - `fee` MonetaryValueModel, required
        - `amount` number, double, required
        - `currency` string, required
    - `timeSlices` OfferTimeSliceModel[], required — The breakdown for each time slice for this offer
      - `from` string, date-time, required — The start date and time for this time slice<br />A date and time (without fractional second part) 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 — The end date and time for this time slice<br />A date and time (without fractional second part) in UTC or with UTC offset as defined in <a href="https://en.wikipedia.org/wiki/ISO_8601">ISO8601:2004</a>
      - `availableUnits` integer, required — The number of available units for that time slice
      - `baseAmount` AmountModel, required
        - `grossAmount` number, double, required
        - `netAmount` number, double, required
        - `vatType` 'Null' | 'VeryReduced' | 'Reduced' | 'Normal' | 'Without' | 'Special' | 'Special1' | 'Special2' | 'ReducedCovid19' | 'NormalCovid19' | 'Mixed', required
        - `vatPercent` number, double, required
        - `currency` string, required
      - `totalGrossAmount` MonetaryValueModel, required
        - `amount` number, double, required
        - `currency` string, required
      - `includedServices` OfferServiceModel[], nullable — The breakdown for services included in the offer
        - `service` EmbeddedServiceModel, required
          - `id` string, required — The service id
          - `code` string, nullable — The code for the service
          - `name` string, nullable — The name for the service
          - `description` string, nullable — The description for the service
        - `serviceDate` string, date, required — The date this service is delivered
        - `count` integer, required — The default count of offered services. For services whose pricing unit is 'Person' it will be based on the adults and children specified, otherwise 1.
        - `availableCount` integer, nullable — If set - the number of services available (only for the limited service). If not set - the service is unlimited.
        - `amount` AmountModel, required
          - `grossAmount` number, double, required
          - `netAmount` number, double, required
          - `vatType` 'Null' | 'VeryReduced' | 'Reduced' | 'Normal' | 'Without' | 'Special' | 'Special1' | 'Special2' | 'ReducedCovid19' | 'NormalCovid19' | 'Mixed', required
          - `vatPercent` number, double, required
          - `currency` string, required
        - `pricingMode` 'Included' | 'Additional', required — Whether the service price is included in or added to the base rate
    - `services` ServiceOfferModel[], nullable — The list of the mandatory services for this offer. Such services will be automatically booked when booking this offer
      - `service` ServiceModel, required
        - `id` string, required — The service id
        - `code` string, required — The code for the service
        - `name` string, required — The name for the service
        - `description` string, required — The description for the service
        - `pricingUnit` 'Room' | 'Person', required — Defines the granularity (room, person) for which this item is offered and priced
        - `defaultGrossPrice` MonetaryValueModel, required
          - `amount` number, double, required
          - `currency` string, required
      - `count` integer, required — The default count of offered services. For services whose pricing unit is 'Person' it will be based on the adults and children specified, otherwise 1.
      - `availableCount` integer, nullable — The number of services available.
      - `totalAmount` AmountModel, required
        - `grossAmount` number, double, required
        - `netAmount` number, double, required
        - `vatType` 'Null' | 'VeryReduced' | 'Reduced' | 'Normal' | 'Without' | 'Special' | 'Special1' | 'Special2' | 'ReducedCovid19' | 'NormalCovid19' | 'Mixed', required
        - `vatPercent` number, double, required
        - `currency` string, required
      - `prePaymentAmount` MonetaryValueModel, required
        - `amount` number, double, required
        - `currency` string, required
      - `fees` OfferFeeModel[], nullable — The details of the fees that will be added on top of the Apaleo.Api.Modules.Booking.Models.Offer.ServiceOffer.ServiceOfferModel.TotalAmount when booking the service
        - `id` string, required — The fee id
        - `code` string, required — The code for the fee
        - `name` string, required — The name for the fee
        - `totalAmount` AmountModel, required
          - `grossAmount` number, double, required
          - `netAmount` number, double, required
          - `vatType` 'Null' | 'VeryReduced' | 'Reduced' | 'Normal' | 'Without' | 'Special' | 'Special1' | 'Special2' | 'ReducedCovid19' | 'NormalCovid19' | 'Mixed', required
          - `vatPercent` number, double, required
          - `currency` string, required
      - `dates` ServiceOfferItemModel[], required — The dates the service will be delivered with its price
        - `serviceDate` string, date, required — The date this service is delivered
        - `amount` AmountModel, required
          - `grossAmount` number, double, required
          - `netAmount` number, double, required
          - `vatType` 'Null' | 'VeryReduced' | 'Reduced' | 'Normal' | 'Without' | 'Special' | 'Special1' | 'Special2' | 'ReducedCovid19' | 'NormalCovid19' | 'Mixed', required
          - `vatPercent` number, double, required
          - `currency` string, required
        - `isDefaultDate` boolean, required — Depending on the postNextDay setting of the service it will by default be posted before or after midnight. Breakfast is usually delivered on the next morning, so all the dates from the day after arrival to the departure day are default dates and will have this flag set to true. Those are also the dates the service will be booked for if you do not specify dates in the book-service call. Still, you can override this and also book the dates set to IsDefaultDate = false.
        - `isMandatory` boolean, required — Rate plans can have additional services. When booking an offer for such rate plans, those services are automatically booked. They are marked as mandatory and they cannot be removed.
        - `availableCount` integer, nullable — The number of services available.
      - `validationMessages` OfferValidationMessageModel[], nullable — Validation rules that were applied to the offer and show the reason why the offer is not bookable
        - `code` 'UnitGroupFullyBooked' | 'UnitGroupCapacityExceeded' | 'RatePlanRestrictionsViolated' | 'RatePlanSurchargesNotSet' | 'RateRestrictionsViolated' | 'RatePlanChannelNotSet' | 'RatesNotSet' | 'BlockFullyBooked' | 'IncludedServicesAmountExceededRateAmount' | 'ServiceFullyBooked' | 'RateDoesNotSatifyHurdles', required — The message Code
        - `message` string, required — The message description
    - `fees` OfferFeeModel[], nullable — The details of the fees that will be added on top of the Apaleo.Api.Modules.Booking.Models.Offer.StayOffer.OfferModel.TotalGrossAmount when creating the booking
      - `id` string, required — The fee id
      - `code` string, required — The code for the fee
      - `name` string, required — The name for the fee
      - `totalAmount` AmountModel, required
        - `grossAmount` number, double, required
        - `netAmount` number, double, required
        - `vatType` 'Null' | 'VeryReduced' | 'Reduced' | 'Normal' | 'Without' | 'Special' | 'Special1' | 'Special2' | 'ReducedCovid19' | 'NormalCovid19' | 'Mixed', required
        - `vatPercent` number, double, required
        - `currency` string, required
    - `taxDetails` TaxDetailModel[], required — Tax breakdown, displaying net and tax amount for each VAT type
      - `vatType` 'Null' | 'VeryReduced' | 'Reduced' | 'Normal' | 'Without' | 'Special' | 'Special1' | 'Special2' | 'ReducedCovid19' | 'NormalCovid19' | 'Mixed', required
      - `vatPercent` number, double, required
      - `net` MonetaryValueModel, required
        - `amount` number, double, required
        - `currency` string, required
      - `tax` MonetaryValueModel, required
        - `amount` number, double, required
        - `currency` string, required
    - `validationMessages` OfferValidationMessageModel[], nullable — Validation rules that were applied to the offer and show the reason why the offer is not bookable
      - `code` 'UnitGroupFullyBooked' | 'UnitGroupCapacityExceeded' | 'RatePlanRestrictionsViolated' | 'RatePlanSurchargesNotSet' | 'RateRestrictionsViolated' | 'RatePlanChannelNotSet' | 'RatesNotSet' | 'BlockFullyBooked' | 'IncludedServicesAmountExceededRateAmount' | 'ServiceFullyBooked' | 'RateDoesNotSatifyHurdles', required — The message Code
      - `message` string, required — The message description
    - `companyId` string, nullable — ID of the company the offer is created for
    - `corporateCode` string, nullable — The corporate rate code the offer is created for
    - `isCorporate` boolean, required — Whether the offer is for a corporate rate plan
    - `prePaymentAmount` MonetaryValueModel, required
      - `amount` number, double, required
      - `currency` string, required
    - `cityTaxes` OfferCityTaxModel[], nullable — Details of city taxes for this offer, if any
      - `id` string, required — The id of the city tax
      - `code` string, required — The code of the city tax
      - `name` string, required — The name for the city tax
      - `totalGrossAmount` MonetaryValueModel, required
        - `amount` number, double, required
        - `currency` string, required
      - `dates` OfferCityTaxItemModel[], required — Split per day for the city tax
        - `serviceDate` string, date, required — The date for this city tax
        - `amount` AmountModel, required
          - `grossAmount` number, double, required
          - `netAmount` number, double, required
          - `vatType` 'Null' | 'VeryReduced' | 'Reduced' | 'Normal' | 'Without' | 'Special' | 'Special1' | 'Special2' | 'ReducedCovid19' | 'NormalCovid19' | 'Mixed', required
          - `vatPercent` number, double, required
          - `currency` string, required

## Other responses

- `204` — There are no available offers 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.md) · [All operations](https://skmtc.dev/apaleo/apis/apaleo-booking-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/apaleo/apaleo-booking-api/revisions/6510a7df7143/schema)
