priceFrom: the lowest prices the hotel currently sells, computed
from its active visit types and price lists. Use it for teasers and sorting,
not as a quote for concrete dates.
Shape
priceFrom is keyed by currency (CZK, EUR). Under each currency the same
“from” price appears up to three times:
Each of them holds two minima,
perPersonPerNight and perStay, with the same
fields:
Example for a hotel priced in EUR, requested with
Accept-Language: de:
All stays and the two categories
all looks at every visit type the hotel sells, including visit types that
have no category yet. health and wellness are the same calculation limited
to one category, so they are never cheaper than all, and all can be cheaper
than both when the cheapest offer is a stay without a category. A category is
omitted when the hotel sells nothing in it; all is present whenever the
currency is. When you need a category and it is absent, fall back to all.
In the example, the Weekend stay has no category yet and the hotel sells no
wellness stay, so only all and health appear.
Two independent minima
perPersonPerNight.amount is the price for one guest for one night at
occupancy guests per room. perStay.amount is the total for occupancy
guests for nights nights. Each minimum is chosen on its own and carries its
own visitType, nights, and occupancy, so the two can name different visit
types and room types.
Do not derive one from the other. perStay.amount is not
perPersonPerNight.amount × occupancy × nights, because every amount is rounded
on its own.
Selection rules
perPersonPerNightis the offer with the lowest price per guest per night.perStayis the offer with the lowest price per guest for the whole stay (amount ÷ occupancy); the response carries the full total. A single room with a lower total does not win when a double room is cheaper per guest.- Ties go to the shorter stay, then the lower occupancy, then the lower
visitType.id. - A promotion counts only when it covers every night of the stay.
- Visit types whose selling period has ended are ignored.
- Query parameters do not affect the values, and the cheapest offer can differ by currency.
Rounding
The API returns full precision in minor units. Rounding to whole currency units for display is up to you.Payload size
Every minimum embeds the visit type name in the requested locales. SendAccept-Language to receive one locale instead of all four. A missing
translation falls back to Czech, like the hotel name; see
Localization.