Skip to main content
A visit type’s promotions lists its current and future promotions that apply to the channel of your public key. The API returns only applicable promotions; you do not filter them by channel. With expand=priceFromPeriods, the detail also includes ended promotions, so you can explain past price periods. A listed promotion does not guarantee a discounted stay: it can lie outside the package’s permitted stays, or the discounted rooms can be sold out. Prices explains how promotions change the indicative minima and how overlapping discounts combine.

Fields and night bounds

A night is identified by the date it starts on: to: "2027-02-28" includes the night of 28 February and its checkout on 1 March. These bounds describe discounted nights, not the package’s permitted stays. A stay that overlaps the promotion only partly is discounted on the overlapping nights. Each appliesTo entry has hotelId and roomTypeIds. roomTypeIds: null means every room type of that hotel; otherwise it lists the room type ids it applies to. Entries reference only hotels that sell the package, and a detail request with hotelId does not narrow them. roomTypeIds can contain a disabled room type. It is not offered for new bookings, is missing from the hotel’s room catalog, and does not count in price periods. Skip ids that you cannot find in the catalog. Promotions are ordered by from, then id.

Example: selected room types of one hotel

This promotion discounts two room types of one hotel by 15% on the nights from 4 January to 28 February 2027. Other room types and hotels are unaffected.

Fields

A promotion that applies to your channel. See Promotion.

id
string
required

Promotion id. Each promotion appears once, even when it is assigned to several channels.

Pattern: ^[0-9a-fA-F]{24}$
name
object
required

Localized promotion name; a missing translation is null.

Example:
percentage
number
required

Discount in percent, greater than 0 and at most 100.

Required range: 0 < x <= 100
from
string<date>
required

First discounted night, identified by the date it starts on.

to
string<date> | null
required

Last discounted night, inclusive. Null when the promotion has no end.

appliesTo
object[] | null
required

Hotels and room types the promotion is limited to. Null when it applies to every hotel selling the package.

Minimum array length: 1