A stay package with its board, treatment, stay rules, prices, hotel listings, and promotions.
A visit type is a stay package sold by one or more hotels, such as a spa cure
or a wellness weekend. Visit types explains availability
and stay rules. The list
and detail endpoints define
the request parameters and show complete responses.The example on this page also includes the optional hotelListings[].hotel
and priceFromPeriods fields. The API returns them only with expand=hotel
and, on the detail endpoint, expand=priceFromPeriods.
name and shortDescription are localized by
Accept-Language. A missing name translation falls back
to the Czech name. shortDescription is a plain-text teaser for package
lists and previews, at most 120 characters per locale; a missing translation
is null.
payer says who pays for a health stay; every health stay has one. It is
null for a wellness stay.
payer
Meaning
guest
The guest pays for the whole stay.
guest_and_insurer
The insurer pays for treatment and medical care; the guest pays for accommodation and meals.
insurer
The insurer pays for treatment, medical care, accommodation, and meals.
bookingMode
Meaning
instant
A booking is confirmed immediately when a room is available.
request
Every booking is a request that the hotel confirms.
A package with payer: "insurer" always has bookingMode: "request".
bookingMode is the package’s confirmation policy; it says nothing about
room availability on a particular date.
available says whether the package is offered now. When it is false,
unavailableReason gives the first applicable reason:
unavailableReason
Meaning
disabled
The package is switched off in SpaPortal.
ended
Every validity period has ended.
no_arrival
No permitted stay with an arrival from today onward remains.
no_hotels
No active hotel sells the package.
unavailableReason is null when available is true. Availability is a
catalog property; room capacity and prices are separate. See
Publication and availability.
channelContent groups the content that depends on the sales channel of your
public key. Its only field, collections, lists the website collections the
package belongs to.Collections are content of the company’s own website. Only keys of that
website’s channel receive them, and only with such a key does the collection
filter match. Every other key, including SpaBooking, receives [].
Channels and scope defines the
company’s own website.Codes appear in this order, each at most once:
Code
Meaning
advent_christmas_new_year
Advent, Christmas, and New Year stays.
families_with_children
Stays for families with children.
wellness
Wellness stays.
treatment_stays
Spa cures.
special_offers
Packages with at least one current or future promotion for your channel.
hotel_stay
Wellness stays without included procedures.
advent_christmas_new_year and families_with_children are assigned in
SpaPortal. The other codes are derived. wellness covers every package with
category: "wellness", and treatment_stays every package with
category: "health". hotel_stay covers wellness packages whose
treatment.procedures.count is 0 and whose selection is not fixed with
items; these packages are also in wellness. special_offers is present
exactly when a current or future promotion applies to the company’s own
website key. Ended promotions, which the detail returns with
expand=priceFromPeriods, do not count.
board.meals has one row per meal, always in this order: breakfast,
lunch, dinner, all_inclusive. Each row has:
Field
Meaning
meal
The meal code.
included
The meal is included in the package price.
changeable
The guest can drop the meal when it is included, or add it when it is not.
all_inclusive adds snacks and drinks during the day. When it is included,
breakfast, lunch, and dinner are included too; dropping it leaves those meals
in place. Drinks served with a meal are a property of the hotel’s
meal services, not of the package.The following board is half board with lunch available as an add-on:
Longest permitted stay, in unit, or null when there is no maximum.
For example, { "unit": "night", "min": 2, "max": null } permits any stay of
two or more nights, and { "unit": "week", "min": 1, "max": 3 } permits 7, 14,
or 21 nights.arrival has one of two shapes, selected by type:
arrival.type
Field
Meaning
weekdays
weekdays
Permitted arrival weekdays, Monday first; never empty.
dates
dates
Permitted arrival dates from today onward, ascending. Empty when every configured date has passed; the package then has no permitted stay.
Weekday codes are the lowercase English day names, monday to sunday.
validity lists the current and future periods in which the package can be
stayed, ordered by from. Each period has:
Field
Meaning
from
First permitted arrival date.
to
Last permitted date, inclusive, as interpreted by toAppliesTo.
toAppliesTo
arrival: to limits the arrival date. departure: to limits the checkout date.
validity is null when no periods are configured, which means no date
restriction, and [] when every configured period has ended.
Testing a stay against its rules
shows how periods permit a stay.
priceFrom holds the package’s lowest prices across all its hotels, per
currency, as two independent Price from minima.
Packages booked on request and packages switched off in SpaPortal
(unavailableReason: "disabled") also have a priceFrom; check available
and bookingMode before you offer a booking. priceFrom is null when no
complete stay exists from today onward. Prices explains how
stays are selected.priceFromPeriods lists the package’s price periods:
ranges of nights with their prices across all hotels, including past nights.
The detail returns it only with expand=priceFromPeriods. Periods do not
check free rooms or permitted arrival days.promotions lists the current and future promotions
that apply to your channel, ordered by from, then id. With
expand=priceFromPeriods, it also includes ended promotions, so every
promotion id in a period can be looked up.
hotelListings lists the active hotels selling the package, ordered by Czech
hotel name. Every listing has:
Field
Meaning
hotelId
The hotel.
priceFrom
Lowest prices of this package at this hotel, per currency, or null.
hotel
Hotel summary with id, localized name, and stars. Only with expand=hotel.
priceFromPeriods
Price periods of this package at this hotel. Only with expand=priceFromPeriods on the detail.
A listing describes the package at one hotel and stays present when its
priceFrom is null. Fetch the Hotel endpoint for the
full profile. Hotel names use
the same Czech fallback as the hotel’s name.On the detail endpoint, hotelId narrows hotelListings to one entry.
The package’s priceFrom, priceFromPeriods, and promotions still cover
all its hotels.
images contains the package photos in configured order; the first is the
main photo. Each uses the image fields. A missing alt
translation falls back to the localized package name; an empty string marks a
decorative image.
instant: a booking is confirmed immediately when a room is available. request: every booking is a request that the hotel confirms. Packages with payer: insurer are always request.
Current and future validity periods, ordered by from, then to. Null when no periods are configured; empty when every configured period has ended. See Validity.
Lowest prices of a complete stay from today onward across the package's hotels, per currency. A currency is present only when a complete stay has a price in it. Packages booked on request and packages switched off in SpaPortal also have a price; check available and bookingMode before you offer a booking. Null when no complete stay exists. See Prices.
Current and future promotions that apply to your channel, ordered by from, then id. With expand=priceFromPeriods, also ended promotions, so every id in a period can be looked up. Empty when none applies.
Active hotels selling the package, each with the package's price at that hotel, ordered by Czech hotel name, then id. A listing is present even when its priceFrom is null.
Photos in configured order; the first is the main photo. A missing alt translation falls back to the localized package name; an empty alt marks a decorative image. See Images.
Price periods of the package across all its hotels, including past periods, ordered by from. Present only on the detail with expand=priceFromPeriods. Empty when the package has no price list for the nights of its validity; null when SpaPortal cannot calculate the periods. Free rooms and permitted arrival days are not checked. See Price period.
Show child attributes
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"SpaPortal Docs","colors":{"primary":"#3585BA","light":"#99C246","dark":"#141414"},"logo":{"light":"https://mintcdn.com/spabooking/Bibq090v9MI8jPV2/logo/light.svg?fit=max\u0026auto=format\u0026n=Bibq090v9MI8jPV2\u0026q=85\u0026s=c50b2546b29ce5fb747f06c3c0a287e8","dark":"https://mintcdn.com/spabooking/Bibq090v9MI8jPV2/logo/dark.svg?fit=max\u0026auto=format\u0026n=Bibq090v9MI8jPV2\u0026q=85\u0026s=50c74aef7110c454d7a8a682cc9d67ff"},"favicon":"https://mintcdn.com/spabooking/Bibq090v9MI8jPV2/favicon.svg?fit=max\u0026auto=format\u0026n=Bibq090v9MI8jPV2\u0026q=85\u0026s=c33997c3644726a7de4d900b2fdd36be","api":{"playground":{"display":"interactive"}},"navbar":{"links":[{"href":"mailto:info@spabooking.de","label":"Support"}],"primary":{"type":"button","label":"SpaPortal","href":"https://spaportal.cz/"}},"footer":{"socials":{}},"seo":{"metatags":{"canonical":"https://docs.spaportal.cz"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"spabooking","hasAudioNarration":false,"actualSubdomain":"spabooking","customDomains":["docs.spaportal.cz"],"gitSource":{"type":"github","owner":"spabooking","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aeb96afb0fd5b4c7f1f6afa","collectionId":"7f3ffb80-880e-4abf-91a7-701a788f156d","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aeb96afb0fd5b4c7f1f6afa"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6aeb96afb0fd5b4c7f1f6afa","clientVersion":"0.0.4076","searchFilterCounts":[{"language":"default","tag":"API reference","count":36},{"language":"default","tag":"SpaPortal API","count":17},{"language":"default","tag":"Objects","count":12},{"language":"default","tag":"Endpoints","count":7},{"language":"default","tag":"Guides","count":6},{"language":"default","tag":"Introduction","count":2},{"language":"default","tag":"Getting started","count":2},{"language":"default","tag":"Hotels","count":2},{"language":"default","tag":"Room types","count":2},{"language":"default","tag":"Visit types","count":2}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api/objects/visit-type","slug":"/api/objects/visit-type","pageMetadata":{"title":"Visit type","description":"A stay package with its board, treatment, stay rules, prices, hotel listings, and promotions.","openapi-schema":"api/v2/openapi.yaml VisitType","href":"/api/objects/visit-type"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"A stay package with its board, treatment, stay rules, prices, hotel listings, and promotions.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,pre:`pre`,span:`span`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{CodeBlock,Heading,Table}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`A visit type is a stay package sold by one or more hotels, such as a spa cure\nor a wellness weekend. `,_jsx(_components.a,{href:`/api/visit-types`,children:`Visit types`}),` explains availability\nand stay rules. The `,_jsx(_components.a,{href:`/api/v2/reference/visit-types/list-visit-types`,children:`list`}),`\nand `,_jsx(_components.a,{href:`/api/v2/reference/visit-types/get-a-visit-type`,children:`detail`}),` endpoints define\nthe request parameters and show complete responses.`]}),`\n`,_jsxs(_components.p,{children:[`The example on this page also includes the optional `,_jsx(_components.code,{children:`hotelListings[].hotel`}),`\nand `,_jsx(_components.code,{children:`priceFromPeriods`}),` fields. The API returns them only with `,_jsx(_components.code,{children:`expand=hotel`}),`\nand, on the detail endpoint, `,_jsx(_components.code,{children:`expand=priceFromPeriods`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`name-and-short-description`,children:`Name and short description`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`name`}),` and `,_jsx(_components.code,{children:`shortDescription`}),` are localized by\n`,_jsx(_components.a,{href:`/api/localization`,children:_jsx(_components.code,{children:`Accept-Language`})}),`. A missing name translation falls back\nto the Czech name. `,_jsx(_components.code,{children:`shortDescription`}),` is a plain-text teaser for package\nlists and previews, at most 120 characters per locale; a missing translation\nis `,_jsx(_components.code,{children:`null`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`category-payer-and-booking-mode`,children:`Category, payer, and booking mode`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:_jsx(_components.code,{children:`category`})}),_jsx(_components.th,{children:`Meaning`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`health`})}),_jsx(_components.td,{children:`A spa cure with medical treatment.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`wellness`})}),_jsx(_components.td,{children:`Any other stay, such as a wellness weekend.`})]})]})]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`payer`}),` says who pays for a health stay; every health stay has one. It is\n`,_jsx(_components.code,{children:`null`}),` for a wellness stay.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:_jsx(_components.code,{children:`payer`})}),_jsx(_components.th,{children:`Meaning`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`guest`})}),_jsx(_components.td,{children:`The guest pays for the whole stay.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`guest_and_insurer`})}),_jsx(_components.td,{children:`The insurer pays for treatment and medical care; the guest pays for accommodation and meals.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`insurer`})}),_jsx(_components.td,{children:`The insurer pays for treatment, medical care, accommodation, and meals.`})]})]})]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:_jsx(_components.code,{children:`bookingMode`})}),_jsx(_components.th,{children:`Meaning`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`instant`})}),_jsx(_components.td,{children:`A booking is confirmed immediately when a room is available.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`request`})}),_jsx(_components.td,{children:`Every booking is a request that the hotel confirms.`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`A package with `,_jsx(_components.code,{children:`payer: \"insurer\"`}),` always has `,_jsx(_components.code,{children:`bookingMode: \"request\"`}),`.\n`,_jsx(_components.code,{children:`bookingMode`}),` is the package’s confirmation policy; it says nothing about\nroom availability on a particular date.`]}),`\n`,_jsx(Heading,{level:`2`,id:`availability`,children:`Availability`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`available`}),` says whether the package is offered now. When it is `,_jsx(_components.code,{children:`false`}),`,\n`,_jsx(_components.code,{children:`unavailableReason`}),` gives the first applicable reason:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:_jsx(_components.code,{children:`unavailableReason`})}),_jsx(_components.th,{children:`Meaning`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`disabled`})}),_jsx(_components.td,{children:`The package is switched off in SpaPortal.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`ended`})}),_jsx(_components.td,{children:`Every validity period has ended.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`no_arrival`})}),_jsx(_components.td,{children:`No permitted stay with an arrival from today onward remains.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`no_hotels`})}),_jsx(_components.td,{children:`No active hotel sells the package.`})]})]})]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`unavailableReason`}),` is `,_jsx(_components.code,{children:`null`}),` when `,_jsx(_components.code,{children:`available`}),` is `,_jsx(_components.code,{children:`true`}),`. Availability is a\ncatalog property; room capacity and prices are separate. See\n`,_jsx(_components.a,{href:`/api/visit-types#publication-and-availability`,children:`Publication and availability`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`website-presentation`,children:`Website presentation`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`webOrder`}),` is the package’s position on the website, starting at 1, or `,_jsx(_components.code,{children:`null`}),`\nwhen it has none. The list endpoint sorts by it by default.`]}),`\n`,_jsx(Heading,{level:`3`,id:`channel-content`,children:`Channel content`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`channelContent`}),` groups the content that depends on the sales channel of your\npublic key. Its only field, `,_jsx(_components.code,{children:`collections`}),`, lists the website collections the\npackage belongs to.`]}),`\n`,_jsxs(_components.p,{children:[`Collections are content of the company’s own website. Only keys of that\nwebsite’s channel receive them, and only with such a key does the `,_jsx(_components.code,{children:`collection`}),`\nfilter match. Every other key, including SpaBooking, receives `,_jsx(_components.code,{children:`[]`}),`.\n`,_jsx(_components.a,{href:`/api/authentication#channels-and-scope`,children:`Channels and scope`}),` defines the\ncompany’s own website.`]}),`\n`,_jsx(_components.p,{children:`Codes appear in this order, each at most once:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Code`}),_jsx(_components.th,{children:`Meaning`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`advent_christmas_new_year`})}),_jsx(_components.td,{children:`Advent, Christmas, and New Year stays.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`families_with_children`})}),_jsx(_components.td,{children:`Stays for families with children.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`wellness`})}),_jsx(_components.td,{children:`Wellness stays.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`treatment_stays`})}),_jsx(_components.td,{children:`Spa cures.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`special_offers`})}),_jsx(_components.td,{children:`Packages with at least one current or future promotion for your channel.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`hotel_stay`})}),_jsx(_components.td,{children:`Wellness stays without included procedures.`})]})]})]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`advent_christmas_new_year`}),` and `,_jsx(_components.code,{children:`families_with_children`}),` are assigned in\nSpaPortal. The other codes are derived. `,_jsx(_components.code,{children:`wellness`}),` covers every package with\n`,_jsx(_components.code,{children:`category: \"wellness\"`}),`, and `,_jsx(_components.code,{children:`treatment_stays`}),` every package with\n`,_jsx(_components.code,{children:`category: \"health\"`}),`. `,_jsx(_components.code,{children:`hotel_stay`}),` covers wellness packages whose\n`,_jsx(_components.code,{children:`treatment.procedures.count`}),` is `,_jsx(_components.code,{children:`0`}),` and whose `,_jsx(_components.code,{children:`selection`}),` is not `,_jsx(_components.code,{children:`fixed`}),` with\nitems; these packages are also in `,_jsx(_components.code,{children:`wellness`}),`. `,_jsx(_components.code,{children:`special_offers`}),` is present\nexactly when a current or future promotion applies to the company’s own\nwebsite key. Ended promotions, which the detail returns with\n`,_jsx(_components.code,{children:`expand=priceFromPeriods`}),`, do not count.`]}),`\n`,_jsx(Heading,{level:`2`,id:`board`,children:`Board`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`board.meals`}),` has one row per meal, always in this order: `,_jsx(_components.code,{children:`breakfast`}),`,\n`,_jsx(_components.code,{children:`lunch`}),`, `,_jsx(_components.code,{children:`dinner`}),`, `,_jsx(_components.code,{children:`all_inclusive`}),`. Each row has:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Meaning`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`meal`})}),_jsx(_components.td,{children:`The meal code.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`included`})}),_jsx(_components.td,{children:`The meal is included in the package price.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`changeable`})}),_jsx(_components.td,{children:`The guest can drop the meal when it is included, or add it when it is not.`})]})]})]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`all_inclusive`}),` adds snacks and drinks during the day. When it is included,\nbreakfast, lunch, and dinner are included too; dropping it leaves those meals\nin place. Drinks served with a meal are a property of the hotel’s\n`,_jsx(_components.a,{href:`/api/objects/hotel#structured-profile`,children:`meal services`}),`, not of the package.`]}),`\n`,_jsx(_components.p,{children:`The following board is half board with lunch available as an add-on:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`8`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`8`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"meals\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"meal\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"breakfast\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"included\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"changeable\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"meal\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"lunch\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"included\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"changeable\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"meal\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"dinner\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"included\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"changeable\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"meal\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"all_inclusive\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"included\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"changeable\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Derive your own board label, such as “Half board”, from the included rows.\nThe API does not price meal changes.`}),`\n`,_jsx(Heading,{level:`2`,id:`stay-length-and-arrival`,children:`Stay length and arrival`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`stayLength`}),` is never `,_jsx(_components.code,{children:`null`}),`:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Meaning`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`unit`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`night`}),` or `,_jsx(_components.code,{children:`week`}),`. A week is seven nights.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`min`})}),_jsxs(_components.td,{children:[`Shortest permitted stay, in `,_jsx(_components.code,{children:`unit`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`max`})}),_jsxs(_components.td,{children:[`Longest permitted stay, in `,_jsx(_components.code,{children:`unit`}),`, or `,_jsx(_components.code,{children:`null`}),` when there is no maximum.`]})]})]})]}),`\n`,_jsxs(_components.p,{children:[`For example, `,_jsx(_components.code,{children:`{ \"unit\": \"night\", \"min\": 2, \"max\": null }`}),` permits any stay of\ntwo or more nights, and `,_jsx(_components.code,{children:`{ \"unit\": \"week\", \"min\": 1, \"max\": 3 }`}),` permits 7, 14,\nor 21 nights.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`arrival`}),` has one of two shapes, selected by `,_jsx(_components.code,{children:`type`}),`:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:_jsx(_components.code,{children:`arrival.type`})}),_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Meaning`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`weekdays`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`weekdays`})}),_jsx(_components.td,{children:`Permitted arrival weekdays, Monday first; never empty.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`dates`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`dates`})}),_jsx(_components.td,{children:`Permitted arrival dates from today onward, ascending. Empty when every configured date has passed; the package then has no permitted stay.`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`Weekday codes are the lowercase English day names, `,_jsx(_components.code,{children:`monday`}),` to `,_jsx(_components.code,{children:`sunday`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`validity`,children:`Validity`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`validity`}),` lists the current and future periods in which the package can be\nstayed, ordered by `,_jsx(_components.code,{children:`from`}),`. Each period has:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Meaning`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`from`})}),_jsx(_components.td,{children:`First permitted arrival date.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`to`})}),_jsxs(_components.td,{children:[`Last permitted date, inclusive, as interpreted by `,_jsx(_components.code,{children:`toAppliesTo`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`toAppliesTo`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`arrival`}),`: `,_jsx(_components.code,{children:`to`}),` limits the arrival date. `,_jsx(_components.code,{children:`departure`}),`: `,_jsx(_components.code,{children:`to`}),` limits the checkout date.`]})]})]})]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`validity`}),` is `,_jsx(_components.code,{children:`null`}),` when no periods are configured, which means no date\nrestriction, and `,_jsx(_components.code,{children:`[]`}),` when every configured period has ended.\n`,_jsx(_components.a,{href:`/api/visit-types#testing-a-stay-against-its-rules`,children:`Testing a stay against its rules`}),`\nshows how periods permit a stay.`]}),`\n`,_jsx(Heading,{level:`2`,id:`treatment`,children:`Treatment`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`treatment`}),` is a `,_jsx(_components.a,{href:`/api/objects/treatment`,children:`Treatment`}),` object: the included\nexaminations and the procedure allowance with its selection mode.`]}),`\n`,_jsx(Heading,{level:`2`,id:`prices-and-promotions`,children:`Prices and promotions`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`priceFrom`}),` holds the package’s lowest prices across all its hotels, per\ncurrency, as two independent `,_jsx(_components.a,{href:`/api/objects/price-from`,children:`Price from`}),` minima.\nPackages booked on request and packages switched off in SpaPortal\n(`,_jsx(_components.code,{children:`unavailableReason: \"disabled\"`}),`) also have a `,_jsx(_components.code,{children:`priceFrom`}),`; check `,_jsx(_components.code,{children:`available`}),`\nand `,_jsx(_components.code,{children:`bookingMode`}),` before you offer a booking. `,_jsx(_components.code,{children:`priceFrom`}),` is `,_jsx(_components.code,{children:`null`}),` when no\ncomplete stay exists from today onward. `,_jsx(_components.a,{href:`/api/prices`,children:`Prices`}),` explains how\nstays are selected.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`priceFromPeriods`}),` lists the package’s `,_jsx(_components.a,{href:`/api/objects/price-from-period`,children:`price periods`}),`:\nranges of nights with their prices across all hotels, including past nights.\nThe detail returns it only with `,_jsx(_components.code,{children:`expand=priceFromPeriods`}),`. Periods do not\ncheck free rooms or permitted arrival days.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`promotions`}),` lists the current and future `,_jsx(_components.a,{href:`/api/objects/promotion`,children:`promotions`}),`\nthat apply to your channel, ordered by `,_jsx(_components.code,{children:`from`}),`, then `,_jsx(_components.code,{children:`id`}),`. With\n`,_jsx(_components.code,{children:`expand=priceFromPeriods`}),`, it also includes ended promotions, so every\npromotion id in a period can be looked up.`]}),`\n`,_jsx(Heading,{level:`2`,id:`hotel-listings`,children:`Hotel listings`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`hotelListings`}),` lists the active hotels selling the package, ordered by Czech\nhotel name. Every listing has:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Meaning`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`hotelId`})}),_jsx(_components.td,{children:`The hotel.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`priceFrom`})}),_jsxs(_components.td,{children:[`Lowest prices of this package at this hotel, per currency, or `,_jsx(_components.code,{children:`null`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`hotel`})}),_jsxs(_components.td,{children:[`Hotel summary with `,_jsx(_components.code,{children:`id`}),`, localized `,_jsx(_components.code,{children:`name`}),`, and `,_jsx(_components.code,{children:`stars`}),`. Only with `,_jsx(_components.code,{children:`expand=hotel`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`priceFromPeriods`})}),_jsxs(_components.td,{children:[`Price periods of this package at this hotel. Only with `,_jsx(_components.code,{children:`expand=priceFromPeriods`}),` on the detail.`]})]})]})]}),`\n`,_jsxs(_components.p,{children:[`A listing describes the package at one hotel and stays present when its\n`,_jsx(_components.code,{children:`priceFrom`}),` is `,_jsx(_components.code,{children:`null`}),`. Fetch the `,_jsx(_components.a,{href:`/api/objects/hotel`,children:`Hotel`}),` endpoint for the\nfull profile. Hotel names use\nthe same Czech fallback as the hotel’s `,_jsx(_components.code,{children:`name`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`On the detail endpoint, `,_jsx(_components.code,{children:`hotelId`}),` narrows `,_jsx(_components.code,{children:`hotelListings`}),` to one entry.\nThe package’s `,_jsx(_components.code,{children:`priceFrom`}),`, `,_jsx(_components.code,{children:`priceFromPeriods`}),`, and `,_jsx(_components.code,{children:`promotions`}),` still cover\nall its hotels.`]}),`\n`,_jsx(Heading,{level:`2`,id:`images`,children:`Images`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`images`}),` contains the package photos in configured order; the first is the\nmain photo. Each uses the `,_jsx(_components.a,{href:`/api/images`,children:`image fields`}),`. A missing `,_jsx(_components.code,{children:`alt`}),`\ntranslation falls back to the localized package name; an empty string marks a\ndecorative image.`]}),`\n`,_jsx(Heading,{level:`2`,id:`fields`,children:`Fields`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Visit type","description":"A stay package with its board, treatment, stay rules, prices, hotel listings, and promotions.","openapi-schema":"api/v2/openapi.yaml VisitType","href":"/api/objects/visit-type"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Name and short description","slug":"name-and-short-description","depth":2,"children":[]},{"title":"Category, payer, and booking mode","slug":"category-payer-and-booking-mode","depth":2,"children":[]},{"title":"Availability","slug":"availability","depth":2,"children":[]},{"title":"Website presentation","slug":"website-presentation","depth":2,"children":[{"title":"Channel content","slug":"channel-content","depth":3,"children":[]}]},{"title":"Board","slug":"board","depth":2,"children":[]},{"title":"Stay length and arrival","slug":"stay-length-and-arrival","depth":2,"children":[]},{"title":"Validity","slug":"validity","depth":2,"children":[]},{"title":"Treatment","slug":"treatment","depth":2,"children":[]},{"title":"Prices and promotions","slug":"prices-and-promotions","depth":2,"children":[]},{"title":"Hotel listings","slug":"hotel-listings","depth":2,"children":[]},{"title":"Images","slug":"images","depth":2,"children":[]},{"title":"Fields","slug":"fields","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"schemaData":{"type":"object","description":"A stay package sold by one or more hotels. See [Visit type](/api/objects/visit-type) for the field reference and [Visit types](/api/visit-types) for availability and stay rules.","required":["id","name","shortDescription","category","payer","bookingMode","available","unavailableReason","webOrder","channelContent","board","stayLength","validity","arrival","treatment","priceFrom","promotions","hotelListings","images"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Visit type id. Price minima reference the visit type by this id.","isRequired":true,"uniqueKey":"id","typeLabel":"string"},"name":{"type":"object","description":"Localized name. A missing translation falls back to the Czech name.","properties":{"cs-CZ":{"type":"string","minLength":1,"uniqueKey":"name.cs-CZ","typeLabel":"string"},"de":{"type":"string","minLength":1,"uniqueKey":"name.de","typeLabel":"string"},"en":{"type":"string","minLength":1,"uniqueKey":"name.en","typeLabel":"string"},"ru":{"type":"string","minLength":1,"uniqueKey":"name.ru","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"name","typeLabel":"object"},"shortDescription":{"type":"object","additionalProperties":false,"properties":{"cs-CZ":{"oneOf":[{"type":"string","maxLength":120,"uniqueKey":"shortDescription.cs-CZ.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":120,"uniqueKey":"shortDescription.cs-CZ.oneOf.1","typeLabel":"null"}],"uniqueKey":"shortDescription.cs-CZ","typeLabel":"string | null"},"de":{"oneOf":[{"type":"string","maxLength":120,"uniqueKey":"shortDescription.de.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":120,"uniqueKey":"shortDescription.de.oneOf.1","typeLabel":"null"}],"uniqueKey":"shortDescription.de","typeLabel":"string | null"},"en":{"oneOf":[{"type":"string","maxLength":120,"uniqueKey":"shortDescription.en.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":120,"uniqueKey":"shortDescription.en.oneOf.1","typeLabel":"null"}],"uniqueKey":"shortDescription.en","typeLabel":"string | null"},"ru":{"oneOf":[{"type":"string","maxLength":120,"uniqueKey":"shortDescription.ru.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":120,"uniqueKey":"shortDescription.ru.oneOf.1","typeLabel":"null"}],"uniqueKey":"shortDescription.ru","typeLabel":"string | null"}},"description":"Localized plain-text teaser for package lists and previews, up to 120 characters per translation. A missing translation is null.","isRequired":true,"uniqueKey":"shortDescription","typeLabel":"object"},"category":{"type":"string","enum":["health","wellness"],"description":"`health` is a spa cure with medical treatment; `wellness` is any other stay, such as a wellness weekend.","isRequired":true,"uniqueKey":"category","typeLabel":"enum\u003cstring>"},"payer":{"oneOf":[{"type":"string","description":"Who pays for a health stay; null for wellness stays. See [Payer](/api/objects/visit-type#category-payer-and-booking-mode).","enum":["guest","guest_and_insurer","insurer",null],"isRequired":true,"uniqueKey":"payer.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Who pays for a health stay; null for wellness stays. See [Payer](/api/objects/visit-type#category-payer-and-booking-mode).","enum":["guest","guest_and_insurer","insurer",null],"isRequired":true,"uniqueKey":"payer.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"payer","typeLabel":"enum\u003cstring> | null"},"bookingMode":{"type":"string","enum":["instant","request"],"description":"`instant`: a booking is confirmed immediately when a room is available. `request`: every booking is a request that the hotel confirms. Packages with `payer: insurer` are always `request`.","isRequired":true,"uniqueKey":"bookingMode","typeLabel":"enum\u003cstring>"},"available":{"type":"boolean","description":"Whether the package is offered now. Independent of room capacity and prices on particular dates.","isRequired":true,"uniqueKey":"available","typeLabel":"boolean"},"unavailableReason":{"oneOf":[{"type":"string","description":"Why the package is unavailable; null when it is available. See [Availability](/api/objects/visit-type#availability).","enum":["disabled","ended","no_arrival","no_hotels",null],"isRequired":true,"uniqueKey":"unavailableReason.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Why the package is unavailable; null when it is available. See [Availability](/api/objects/visit-type#availability).","enum":["disabled","ended","no_arrival","no_hotels",null],"isRequired":true,"uniqueKey":"unavailableReason.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"unavailableReason","typeLabel":"enum\u003cstring> | null"},"webOrder":{"oneOf":[{"type":"integer","description":"Position of the package on the website, starting at 1, or null when it has none. Used by `sort=webOrder`.","minimum":1,"isRequired":true,"uniqueKey":"webOrder.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Position of the package on the website, starting at 1, or null when it has none. Used by `sort=webOrder`.","minimum":1,"isRequired":true,"uniqueKey":"webOrder.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"webOrder","typeLabel":"integer | null"},"channelContent":{"type":"object","required":["collections"],"properties":{"collections":{"type":"array","uniqueItems":true,"items":{"type":"string","description":"Website collection code. See [Channel content](/api/objects/visit-type#channel-content) for the meaning of each code.","enum":["advent_christmas_new_year","families_with_children","wellness","treatment_stays","special_offers","hotel_stay"],"uniqueKey":"channelContent.collections.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"Website collections the package belongs to, in code-list order. Returned only for the company's own website channel; other channels receive an empty array.","isRequired":true,"uniqueKey":"channelContent.collections","typeLabel":"enum\u003cstring>[]"}},"description":"Content for the sales channel of your public key. See [Channel content](/api/objects/visit-type#channel-content).","isRequired":true,"uniqueKey":"channelContent","typeLabel":"object"},"board":{"type":"object","required":["meals"],"properties":{"meals":{"type":"array","minItems":4,"maxItems":4,"uniqueItems":true,"items":{"type":"object","required":["meal","included","changeable"],"properties":{"meal":{"type":"string","enum":["breakfast","lunch","dinner","all_inclusive"],"description":"Meal code. See [Board](/api/objects/visit-type#board).","isRequired":true,"uniqueKey":"board.meals.items.[INDEX].meal","typeLabel":"enum\u003cstring>"},"included":{"type":"boolean","description":"The meal is included in the package price.","isRequired":true,"uniqueKey":"board.meals.items.[INDEX].included","typeLabel":"boolean"},"changeable":{"type":"boolean","description":"The guest can drop the meal when it is included, or add it when it is not.","isRequired":true,"uniqueKey":"board.meals.items.[INDEX].changeable","typeLabel":"boolean"}},"uniqueKey":"board.meals.items.[INDEX]","typeLabel":"object"},"description":"One row per meal code, in the order `breakfast`, `lunch`, `dinner`, `all_inclusive`. All four rows are always returned.","isRequired":true,"uniqueKey":"board.meals","typeLabel":"object[]"}},"description":"Meals included in the package and the changes a guest can make. See [Board](/api/objects/visit-type#board).","example":{"meals":[{"meal":"breakfast","included":true,"changeable":false},{"meal":"lunch","included":false,"changeable":true},{"meal":"dinner","included":true,"changeable":false},{"meal":"all_inclusive","included":false,"changeable":false}]},"isRequired":true,"uniqueKey":"board","typeLabel":"object"},"stayLength":{"type":"object","required":["unit","min","max"],"properties":{"unit":{"type":"string","enum":["night","week"],"description":"Unit of `min` and `max`. A week is seven nights.","isRequired":true,"uniqueKey":"stayLength.unit","typeLabel":"enum\u003cstring>"},"min":{"type":"integer","minimum":1,"description":"Shortest permitted stay, in `unit`.","isRequired":true,"uniqueKey":"stayLength.min","typeLabel":"integer"},"max":{"oneOf":[{"type":"integer","description":"Longest permitted stay, in `unit`, at least `min`. Null when the package has no maximum.","minimum":1,"isRequired":true,"uniqueKey":"stayLength.max.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Longest permitted stay, in `unit`, at least `min`. Null when the package has no maximum.","minimum":1,"isRequired":true,"uniqueKey":"stayLength.max.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"stayLength.max","typeLabel":"integer | null"}},"description":"Permitted stay length. See [Stay length and arrival](/api/objects/visit-type#stay-length-and-arrival).","isRequired":true,"uniqueKey":"stayLength","typeLabel":"object"},"validity":{"oneOf":[{"type":"array","items":{"type":"object","required":["from","to","toAppliesTo"],"properties":{"from":{"type":"string","format":"date","description":"First permitted arrival date.","isRequired":true,"uniqueKey":"validity.oneOf.0.items.[INDEX].from","typeLabel":"string\u003cdate>"},"to":{"type":"string","format":"date","description":"Last permitted date, inclusive. Interpreted by `toAppliesTo`.","isRequired":true,"uniqueKey":"validity.oneOf.0.items.[INDEX].to","typeLabel":"string\u003cdate>"},"toAppliesTo":{"type":"string","enum":["arrival","departure"],"description":"`arrival`: `to` is the last permitted arrival date. `departure`: `to` is the last permitted checkout date.","isRequired":true,"uniqueKey":"validity.oneOf.0.items.[INDEX].toAppliesTo","typeLabel":"enum\u003cstring>"}},"uniqueKey":"validity.oneOf.0.items.[INDEX]","typeLabel":"object"},"description":"Current and future validity periods, ordered by `from`, then `to`. Null when no periods are configured; empty when every configured period has ended. See [Validity](/api/objects/visit-type#validity).","isRequired":true,"uniqueKey":"validity.oneOf.0","typeLabel":"object[]"},{"type":"null","description":"Current and future validity periods, ordered by `from`, then `to`. Null when no periods are configured; empty when every configured period has ended. See [Validity](/api/objects/visit-type#validity).","isRequired":true,"uniqueKey":"validity.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"validity","typeLabel":"object[] | null"},"arrival":{"oneOf":[{"type":"object","title":"Weekday arrival","description":"Permitted arrival days: either weekdays or explicit dates. See [Stay length and arrival](/api/objects/visit-type#stay-length-and-arrival).","required":["type","weekdays"],"properties":{"type":{"type":"string","enum":["weekdays"],"isRequired":true,"uniqueKey":"arrival.oneOf.0.type","typeLabel":"enum\u003cstring>"},"weekdays":{"type":"array","minItems":1,"maxItems":7,"uniqueItems":true,"items":{"type":"string","description":"Weekday code, the lowercase English day name.","enum":["monday","tuesday","wednesday","thursday","friday","saturday","sunday"],"uniqueKey":"arrival.oneOf.0.weekdays.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"Permitted arrival weekdays, Monday first.","isRequired":true,"uniqueKey":"arrival.oneOf.0.weekdays","typeLabel":"enum\u003cstring>[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"arrival.oneOf.0","typeLabel":"Weekday arrival · object"},{"type":"object","title":"Date arrival","description":"Permitted arrival days: either weekdays or explicit dates. See [Stay length and arrival](/api/objects/visit-type#stay-length-and-arrival).","required":["type","dates"],"properties":{"type":{"type":"string","enum":["dates"],"isRequired":true,"uniqueKey":"arrival.oneOf.1.type","typeLabel":"enum\u003cstring>"},"dates":{"type":"array","uniqueItems":true,"items":{"type":"string","format":"date","uniqueKey":"arrival.oneOf.1.dates.items.[INDEX]","typeLabel":"string\u003cdate>"},"description":"Permitted arrival dates from today onward, in ascending order. Empty when every configured date has passed.","isRequired":true,"uniqueKey":"arrival.oneOf.1.dates","typeLabel":"string\u003cdate>[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"arrival.oneOf.1","typeLabel":"Date arrival · object"}],"isRequired":true,"uniqueKey":"arrival","typeLabel":"Weekday arrival · object | Date arrival · object"},"treatment":{"type":"object","required":["exams","procedures"],"properties":{"exams":{"type":"object","description":"Medical examinations included in the price.","required":["entry","interim","interimFromNights","final","finalFromNights"],"properties":{"entry":{"type":"boolean","description":"An entry examination at the start of the stay is included.","isRequired":true,"uniqueKey":"treatment.exams.entry","typeLabel":"boolean"},"interim":{"type":"boolean","description":"An interim examination during the stay is included.","isRequired":true,"uniqueKey":"treatment.exams.interim","typeLabel":"boolean"},"interimFromNights":{"oneOf":[{"type":"integer","description":"Shortest stay, in nights, that includes the interim examination. Null when it is included for every stay length or not included at all.","minimum":1,"isRequired":true,"uniqueKey":"treatment.exams.interimFromNights.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Shortest stay, in nights, that includes the interim examination. Null when it is included for every stay length or not included at all.","minimum":1,"isRequired":true,"uniqueKey":"treatment.exams.interimFromNights.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"treatment.exams.interimFromNights","typeLabel":"integer | null"},"final":{"type":"boolean","description":"A final examination at the end of the stay is included.","isRequired":true,"uniqueKey":"treatment.exams.final","typeLabel":"boolean"},"finalFromNights":{"oneOf":[{"type":"integer","description":"Shortest stay, in nights, that includes the final examination. Null when it is included for every stay length or not included at all.","minimum":1,"isRequired":true,"uniqueKey":"treatment.exams.finalFromNights.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Shortest stay, in nights, that includes the final examination. Null when it is included for every stay length or not included at all.","minimum":1,"isRequired":true,"uniqueKey":"treatment.exams.finalFromNights.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"treatment.exams.finalFromNights","typeLabel":"integer | null"}},"isRequired":true,"uniqueKey":"treatment.exams","typeLabel":"object"},"procedures":{"type":"object","description":"Procedure allowance and selection.","required":["count","per","selection","items"],"properties":{"count":{"type":"integer","minimum":0,"description":"Number of included procedures per `per`. Zero means no procedure allowance.","isRequired":true,"uniqueKey":"treatment.procedures.count","typeLabel":"integer"},"per":{"type":"string","enum":["stay","week","day"],"description":"Unit of `count`.","isRequired":true,"uniqueKey":"treatment.procedures.per","typeLabel":"enum\u003cstring>"},"selection":{"type":"string","enum":["hotel_offer","from_list","fixed"],"description":"How the procedures are chosen. `hotel_offer`: from the hotel's `procedures`; `items` is empty. `from_list`: the guest chooses from `items`. `fixed`: `items` are included, each with its own `count`.","isRequired":true,"uniqueKey":"treatment.procedures.selection","typeLabel":"enum\u003cstring>"},"items":{"type":"array","items":{"type":"object","required":["code","label","category","naturalSource","count"],"properties":{"code":{"type":"string","description":"Procedure code. See [Procedure codes](/api/objects/procedure#procedure-codes).","enum":["bubble_bath","carbon_dioxide_bath","bubble_bath_with_additives","kneipp_water_treading","hydroxeur","herbal_bath","whirlpool_foot_bath","radon_bath","peat_bath","peat_wrap","paraffin_wrap","peat_vaginal_tampons","diadynamic_therapy","magnetic_therapy","ultrasound","co2_gas_injections","dry_carbon_dioxide_bath","molecular_hydrogen_therapy","classic_full_body_massage","partial_massage","fitness_centre_exercise","individual_physiotherapy","cardiotherapy","machine_lymphatic_drainage","manual_lymphatic_drainage","reflex_massage","hot_stone_massage","anti_cellulite_massage","aroma_massage","french_ear_acupuncture","classic_chinese_acupuncture","inhalation","oxygen_therapy","cryotherapy","thai_aroma_oil_massage","thai_foot_massage","thai_warm_oil_massage","classic_thai_massage","thai_coconut_dream","thai_head_and_back_massage","thai_herbal_massage","thai_special_back_massage","thai_pregnancy_massage","vaginal_irrigation","drinking_cure","ecg","inbody_diagnostics","vascular_condition_measurement"],"isRequired":true,"uniqueKey":"treatment.procedures.\\items.items.[INDEX].code","typeLabel":"enum\u003cstring>"},"label":{"type":"object","description":"Localized procedure name.","example":{"cs-CZ":"Český text","de":"Deutscher Text"},"properties":{"cs-CZ":{"oneOf":[{"type":"string","uniqueKey":"treatment.procedures.\\items.items.[INDEX].label.cs-CZ.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"treatment.procedures.\\items.items.[INDEX].label.cs-CZ.oneOf.1","typeLabel":"null"}],"uniqueKey":"treatment.procedures.\\items.items.[INDEX].label.cs-CZ","typeLabel":"string | null"},"de":{"oneOf":[{"type":"string","uniqueKey":"treatment.procedures.\\items.items.[INDEX].label.de.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"treatment.procedures.\\items.items.[INDEX].label.de.oneOf.1","typeLabel":"null"}],"uniqueKey":"treatment.procedures.\\items.items.[INDEX].label.de","typeLabel":"string | null"},"en":{"oneOf":[{"type":"string","uniqueKey":"treatment.procedures.\\items.items.[INDEX].label.en.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"treatment.procedures.\\items.items.[INDEX].label.en.oneOf.1","typeLabel":"null"}],"uniqueKey":"treatment.procedures.\\items.items.[INDEX].label.en","typeLabel":"string | null"},"ru":{"oneOf":[{"type":"string","uniqueKey":"treatment.procedures.\\items.items.[INDEX].label.ru.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"treatment.procedures.\\items.items.[INDEX].label.ru.oneOf.1","typeLabel":"null"}],"uniqueKey":"treatment.procedures.\\items.items.[INDEX].label.ru","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"treatment.procedures.\\items.items.[INDEX].label","typeLabel":"object"},"category":{"type":"object","description":"Procedure category.","required":["code","label"],"properties":{"code":{"type":"string","description":"Category code.","enum":["hydrotherapy","thermotherapy","electrotherapy","gas_therapy","physiotherapy","inhalation","wellness","thai_massage","other","diagnostics"],"isRequired":true,"uniqueKey":"treatment.procedures.\\items.items.[INDEX].category.code","typeLabel":"enum\u003cstring>"},"label":{"type":"object","description":"Localized category name.","example":{"cs-CZ":"Český text","de":"Deutscher Text"},"properties":{"cs-CZ":{"oneOf":[{"type":"string","uniqueKey":"treatment.procedures.\\items.items.[INDEX].category.label.cs-CZ.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"treatment.procedures.\\items.items.[INDEX].category.label.cs-CZ.oneOf.1","typeLabel":"null"}],"uniqueKey":"treatment.procedures.\\items.items.[INDEX].category.label.cs-CZ","typeLabel":"string | null"},"de":{"oneOf":[{"type":"string","uniqueKey":"treatment.procedures.\\items.items.[INDEX].category.label.de.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"treatment.procedures.\\items.items.[INDEX].category.label.de.oneOf.1","typeLabel":"null"}],"uniqueKey":"treatment.procedures.\\items.items.[INDEX].category.label.de","typeLabel":"string | null"},"en":{"oneOf":[{"type":"string","uniqueKey":"treatment.procedures.\\items.items.[INDEX].category.label.en.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"treatment.procedures.\\items.items.[INDEX].category.label.en.oneOf.1","typeLabel":"null"}],"uniqueKey":"treatment.procedures.\\items.items.[INDEX].category.label.en","typeLabel":"string | null"},"ru":{"oneOf":[{"type":"string","uniqueKey":"treatment.procedures.\\items.items.[INDEX].category.label.ru.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"treatment.procedures.\\items.items.[INDEX].category.label.ru.oneOf.1","typeLabel":"null"}],"uniqueKey":"treatment.procedures.\\items.items.[INDEX].category.label.ru","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"treatment.procedures.\\items.items.[INDEX].category.label","typeLabel":"object"}},"isRequired":true,"uniqueKey":"treatment.procedures.\\items.items.[INDEX].category","typeLabel":"object"},"naturalSource":{"oneOf":[{"type":"string","description":"Natural healing source of the procedure, or null when it has none.","enum":["carbon_dioxide","peat","mineral_water",null],"isRequired":true,"uniqueKey":"treatment.procedures.\\items.items.[INDEX].naturalSource.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Natural healing source of the procedure, or null when it has none.","enum":["carbon_dioxide","peat","mineral_water",null],"isRequired":true,"uniqueKey":"treatment.procedures.\\items.items.[INDEX].naturalSource.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"treatment.procedures.\\items.items.[INDEX].naturalSource","typeLabel":"enum\u003cstring> | null"},"count":{"oneOf":[{"type":"integer","description":"How many times the procedure is included during the whole stay. A positive integer for `selection: fixed`, otherwise null. Item counts do not use `per` and need not add up to the overall `count`.","minimum":1,"isRequired":true,"uniqueKey":"treatment.procedures.\\items.items.[INDEX].count.oneOf.0","typeLabel":"integer"},{"type":"null","description":"How many times the procedure is included during the whole stay. A positive integer for `selection: fixed`, otherwise null. Item counts do not use `per` and need not add up to the overall `count`.","minimum":1,"isRequired":true,"uniqueKey":"treatment.procedures.\\items.items.[INDEX].count.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"treatment.procedures.\\items.items.[INDEX].count","typeLabel":"integer | null"}},"description":"A [Procedure](/api/objects/procedure) with its count in a package.","uniqueKey":"treatment.procedures.\\items.items.[INDEX]","typeLabel":"object"},"description":"Procedures in configured order. Empty for `hotel_offer`.","isRequired":true,"uniqueKey":"treatment.procedures.\\items","typeLabel":"object[]"}},"isRequired":true,"uniqueKey":"treatment.procedures","typeLabel":"object"}},"description":"Examinations and procedures included in a package. See [Treatment](/api/objects/treatment).","example":{"exams":{"entry":true,"interim":true,"interimFromNights":14,"final":true,"finalFromNights":null},"procedures":{"count":15,"per":"week","selection":"fixed","items":[{"code":"carbon_dioxide_bath","label":{"cs-CZ":"Kysličníková koupel","de":"Kohlensäurebad"},"category":{"code":"hydrotherapy","label":{"cs-CZ":"Vodoléčba","de":"Hydrotherapie"}},"naturalSource":"carbon_dioxide","count":6},{"code":"peat_wrap","label":{"cs-CZ":"Rašelinový zábal","de":"Moorpackung"},"category":{"code":"thermotherapy","label":{"cs-CZ":"Teploléčba","de":"Thermotherapie"}},"naturalSource":"peat","count":4},{"code":"classic_full_body_massage","label":{"cs-CZ":"Klasická celková masáž","de":"Klassische Ganzkörpermassage"},"category":{"code":"physiotherapy","label":{"cs-CZ":"Fyzioterapie","de":"Physiotherapie"}},"naturalSource":null,"count":3},{"code":"drinking_cure","label":{"cs-CZ":"Pitná kúra","de":"Trinkkur"},"category":{"code":"other","label":{"cs-CZ":"Ostatní","de":"Sonstiges"}},"naturalSource":"mineral_water","count":14}]}},"isRequired":true,"uniqueKey":"treatment","typeLabel":"object"},"priceFrom":{"oneOf":[{"type":"object","description":"Lowest prices of a complete stay from today onward across the package's hotels, per currency. A currency is present only when a complete stay has a price in it. Packages booked on request and packages switched off in SpaPortal also have a price; check `available` and `bookingMode` before you offer a booking. Null when no complete stay exists. See [Prices](/api/prices).","minProperties":1,"properties":{"CZK":{"type":"object","required":["perPersonPerNight","perStay"],"properties":{"perPersonPerNight":{"type":"object","description":"The offer with the lowest average price per guest per night.","required":["amount","original","nights","occupancy","hotel","visitType"],"example":{"amount":{"amountMinor":50400,"currency":"EUR","currencyExponent":2},"original":{"amountMinor":56000,"currency":"EUR","currencyExponent":2},"nights":7,"occupancy":1,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"visitType":{"id":"6720c0a1b2c3d4e5f6a7b801","name":{"cs-CZ":"Klasická lázeňská léčba","de":"Klassische Kur"}}},"properties":{"amount":{"type":"object","description":"Price of the offer after its applicable promotions.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in the smallest currency unit.","example":180000,"isRequired":true,"uniqueKey":"priceFrom.oneOf.0.CZK.perPersonPerNight.amount.amountMinor","typeLabel":"integer"},"currency":{"type":"string","enum":["CZK","EUR"],"isRequired":true,"uniqueKey":"priceFrom.oneOf.0.CZK.perPersonPerNight.amount.currency","typeLabel":"enum\u003cstring>"},"currencyExponent":{"type":"integer","enum":[2],"description":"Decimal exponent for the currency.","isRequired":true,"uniqueKey":"priceFrom.oneOf.0.CZK.perPersonPerNight.amount.currencyExponent","typeLabel":"enum\u003cinteger>"}},"isRequired":true,"uniqueKey":"priceFrom.oneOf.0.CZK.perPersonPerNight.amount","typeLabel":"object"},"original":{"oneOf":[{"type":"object","description":"Price of the same offer before its promotions. Null when no promotion lowers this minimum's rounded amount. See [Minimum fields](/api/objects/price-from#minimum-fields).","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře.","isRequired":true,"uniqueKey":"priceFrom.oneOf.0.CZK.perPersonPerNight.original.oneOf.0.amountMinor","typeLabel":"integer"},"currency":{"type":"string","enum":["CZK","EUR"],"isRequired":true,"uniqueKey":"priceFrom.oneOf.0.CZK.perPersonPerNight.original.oneOf.0.currency","typeLabel":"enum\u003cstring>"},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`.","isRequired":true,"uniqueKey":"priceFrom.oneOf.0.CZK.perPersonPerNight.original.oneOf.0.currencyExponent","typeLabel":"enum\u003cinteger>"}},"isRequired":true,"uniqueKey":"priceFrom.oneOf.0.CZK.perPersonPerNight.original.oneOf.0","typeLabel":"object"},{"type":"null","description":"Price of the same offer before its promotions. Null when no promotion lowers this minimum's rounded amount. See [Minimum fields](/api/objects/price-from#minimum-fields).","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}},"isRequired":true,"uniqueKey":"priceFrom.oneOf.0.CZK.perPersonPerNight.original.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"priceFrom.oneOf.0.CZK.perPersonPerNight.original","typeLabel":"object | null"},"nights":{"type":"integer","minimum":1,"description":"Number of nights of the offer.","isRequired":true,"uniqueKey":"priceFrom.oneOf.0.CZK.perPersonPerNight.nights","typeLabel":"integer"},"occupancy":{"type":"integer","minimum":1,"description":"Standard occupancy of the offer's room type. `perStay` amounts cover this many guests; `perPersonPerNight` amounts are averaged over them.","isRequired":true,"uniqueKey":"priceFrom.oneOf.0.CZK.perPersonPerNight.occupancy","typeLabel":"integer"},"hotel":{"type":"object","description":"Hotel of the offer.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Hotel whose offer gives this minimum.","isRequired":true,"uniqueKey":"priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.id","typeLabel":"string"},"name":{"type":"object","description":"Localized hotel name, with the same Czech fallback as the hotel's `name`.","example":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"},"properties":{"cs-CZ":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.name.cs-CZ.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.name.cs-CZ.oneOf.1","typeLabel":"null"}],"uniqueKey":"priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.name.cs-CZ","typeLabel":"string | null"},"de":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.name.de.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.name.de.oneOf.1","typeLabel":"null"}],"uniqueKey":"priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.name.de","typeLabel":"string | null"},"en":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.name.en.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.name.en.oneOf.1","typeLabel":"null"}],"uniqueKey":"priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.name.en","typeLabel":"string | null"},"ru":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.name.ru.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.name.ru.oneOf.1","typeLabel":"null"}],"uniqueKey":"priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.name.ru","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.name","typeLabel":"object"}},"isRequired":true,"uniqueKey":"priceFrom.oneOf.0.CZK.perPersonPerNight.hotel","typeLabel":"object"},"visitType":{"type":"object","description":"Visit type of the offer.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Visit type whose offer gives this minimum. Open it with `GET /visit-types/{visitTypeId}` using the same public key.","isRequired":true,"uniqueKey":"priceFrom.oneOf.0.CZK.perPersonPerNight.visitType.id","typeLabel":"string"},"name":{"type":"object","additionalProperties":false,"properties":{"cs-CZ":{"type":"string","minLength":1,"uniqueKey":"priceFrom.oneOf.0.CZK.perPersonPerNight.visitType.name.cs-CZ","typeLabel":"string"},"de":{"type":"string","minLength":1,"uniqueKey":"priceFrom.oneOf.0.CZK.perPersonPerNight.visitType.name.de","typeLabel":"string"},"en":{"type":"string","minLength":1,"uniqueKey":"priceFrom.oneOf.0.CZK.perPersonPerNight.visitType.name.en","typeLabel":"string"},"ru":{"type":"string","minLength":1,"uniqueKey":"priceFrom.oneOf.0.CZK.perPersonPerNight.visitType.name.ru","typeLabel":"string"}},"description":"Localized visit type name keyed by response locale (`cs-CZ`, `de`, `en`, `ru`). A missing requested translation falls back to the Czech name, like the hotel `name`.","isRequired":true,"uniqueKey":"priceFrom.oneOf.0.CZK.perPersonPerNight.visitType.name","typeLabel":"object"}},"isRequired":true,"uniqueKey":"priceFrom.oneOf.0.CZK.perPersonPerNight.visitType","typeLabel":"object"}},"isRequired":true,"uniqueKey":"priceFrom.oneOf.0.CZK.perPersonPerNight","typeLabel":"object"},"perStay":{"type":"object","description":"The offer with the lowest total for the whole room and stay at its standard occupancy. Selected independently of `perPersonPerNight`; the two can be different offers.","required":["amount","original","nights","occupancy","hotel","visitType"],"example":{"amount":{"amountMinor":50400,"currency":"EUR","currencyExponent":2},"original":{"amountMinor":56000,"currency":"EUR","currencyExponent":2},"nights":7,"occupancy":1,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"visitType":{"id":"6720c0a1b2c3d4e5f6a7b801","name":{"cs-CZ":"Klasická lázeňská léčba","de":"Klassische Kur"}}},"properties":{"amount":{"type":"object","description":"Price of the offer after its applicable promotions.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in the smallest currency unit.","example":180000,"isRequired":true,"uniqueKey":"priceFrom.oneOf.0.CZK.perStay.amount.amountMinor","typeLabel":"integer"},"currency":{"type":"string","enum":["CZK","EUR"],"isRequired":true,"uniqueKey":"priceFrom.oneOf.0.CZK.perStay.amount.currency","typeLabel":"enum\u003cstring>"},"currencyExponent":{"type":"integer","enum":[2],"description":"Decimal exponent for the currency.","isRequired":true,"uniqueKey":"priceFrom.oneOf.0.CZK.perStay.amount.currencyExponent","typeLabel":"enum\u003cinteger>"}},"isRequired":true,"uniqueKey":"priceFrom.oneOf.0.CZK.perStay.amount","typeLabel":"object"},"original":{"oneOf":[{"type":"object","description":"Price of the same offer before its promotions. Null when no promotion lowers this minimum's rounded amount. See [Minimum fields](/api/objects/price-from#minimum-fields).","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře.","isRequired":true,"uniqueKey":"priceFrom.oneOf.0.CZK.perStay.original.oneOf.0.amountMinor","typeLabel":"integer"},"currency":{"type":"string","enum":["CZK","EUR"],"isRequired":true,"uniqueKey":"priceFrom.oneOf.0.CZK.perStay.original.oneOf.0.currency","typeLabel":"enum\u003cstring>"},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`.","isRequired":true,"uniqueKey":"priceFrom.oneOf.0.CZK.perStay.original.oneOf.0.currencyExponent","typeLabel":"enum\u003cinteger>"}},"isRequired":true,"uniqueKey":"priceFrom.oneOf.0.CZK.perStay.original.oneOf.0","typeLabel":"object"},{"type":"null","description":"Price of the same offer before its promotions. Null when no promotion lowers this minimum's rounded amount. See [Minimum fields](/api/objects/price-from#minimum-fields).","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}},"isRequired":true,"uniqueKey":"priceFrom.oneOf.0.CZK.perStay.original.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"priceFrom.oneOf.0.CZK.perStay.original","typeLabel":"object | null"},"nights":{"type":"integer","minimum":1,"description":"Number of nights of the offer.","isRequired":true,"uniqueKey":"priceFrom.oneOf.0.CZK.perStay.nights","typeLabel":"integer"},"occupancy":{"type":"integer","minimum":1,"description":"Standard occupancy of the offer's room type. `perStay` amounts cover this many guests; `perPersonPerNight` amounts are averaged over them.","isRequired":true,"uniqueKey":"priceFrom.oneOf.0.CZK.perStay.occupancy","typeLabel":"integer"},"hotel":{"type":"object","description":"Hotel of the offer.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Hotel whose offer gives this minimum.","isRequired":true,"uniqueKey":"priceFrom.oneOf.0.CZK.perStay.hotel.id","typeLabel":"string"},"name":{"type":"object","description":"Localized hotel name, with the same Czech fallback as the hotel's `name`.","example":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"},"properties":{"cs-CZ":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"priceFrom.oneOf.0.CZK.perStay.hotel.name.cs-CZ.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"priceFrom.oneOf.0.CZK.perStay.hotel.name.cs-CZ.oneOf.1","typeLabel":"null"}],"uniqueKey":"priceFrom.oneOf.0.CZK.perStay.hotel.name.cs-CZ","typeLabel":"string | null"},"de":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"priceFrom.oneOf.0.CZK.perStay.hotel.name.de.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"priceFrom.oneOf.0.CZK.perStay.hotel.name.de.oneOf.1","typeLabel":"null"}],"uniqueKey":"priceFrom.oneOf.0.CZK.perStay.hotel.name.de","typeLabel":"string | null"},"en":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"priceFrom.oneOf.0.CZK.perStay.hotel.name.en.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"priceFrom.oneOf.0.CZK.perStay.hotel.name.en.oneOf.1","typeLabel":"null"}],"uniqueKey":"priceFrom.oneOf.0.CZK.perStay.hotel.name.en","typeLabel":"string | null"},"ru":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"priceFrom.oneOf.0.CZK.perStay.hotel.name.ru.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"priceFrom.oneOf.0.CZK.perStay.hotel.name.ru.oneOf.1","typeLabel":"null"}],"uniqueKey":"priceFrom.oneOf.0.CZK.perStay.hotel.name.ru","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"priceFrom.oneOf.0.CZK.perStay.hotel.name","typeLabel":"object"}},"isRequired":true,"uniqueKey":"priceFrom.oneOf.0.CZK.perStay.hotel","typeLabel":"object"},"visitType":{"type":"object","description":"Visit type of the offer.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Visit type whose offer gives this minimum. Open it with `GET /visit-types/{visitTypeId}` using the same public key.","isRequired":true,"uniqueKey":"priceFrom.oneOf.0.CZK.perStay.visitType.id","typeLabel":"string"},"name":{"type":"object","additionalProperties":false,"properties":{"cs-CZ":{"type":"string","minLength":1,"uniqueKey":"priceFrom.oneOf.0.CZK.perStay.visitType.name.cs-CZ","typeLabel":"string"},"de":{"type":"string","minLength":1,"uniqueKey":"priceFrom.oneOf.0.CZK.perStay.visitType.name.de","typeLabel":"string"},"en":{"type":"string","minLength":1,"uniqueKey":"priceFrom.oneOf.0.CZK.perStay.visitType.name.en","typeLabel":"string"},"ru":{"type":"string","minLength":1,"uniqueKey":"priceFrom.oneOf.0.CZK.perStay.visitType.name.ru","typeLabel":"string"}},"description":"Localized visit type name keyed by response locale (`cs-CZ`, `de`, `en`, `ru`). A missing requested translation falls back to the Czech name, like the hotel `name`.","isRequired":true,"uniqueKey":"priceFrom.oneOf.0.CZK.perStay.visitType.name","typeLabel":"object"}},"isRequired":true,"uniqueKey":"priceFrom.oneOf.0.CZK.perStay.visitType","typeLabel":"object"}},"isRequired":true,"uniqueKey":"priceFrom.oneOf.0.CZK.perStay","typeLabel":"object"}},"description":"Two independently selected minima for one currency. See [Prices](/api/prices#two-independent-minima).","uniqueKey":"priceFrom.oneOf.0.CZK","typeLabel":"object"},"EUR":{"type":"object","required":["perPersonPerNight","perStay"],"properties":{"perPersonPerNight":{"type":"object","description":"The offer with the lowest average price per guest per night.","required":["amount","original","nights","occupancy","hotel","visitType"],"example":{"amount":{"amountMinor":50400,"currency":"EUR","currencyExponent":2},"original":{"amountMinor":56000,"currency":"EUR","currencyExponent":2},"nights":7,"occupancy":1,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"visitType":{"id":"6720c0a1b2c3d4e5f6a7b801","name":{"cs-CZ":"Klasická lázeňská léčba","de":"Klassische Kur"}}},"properties":{"amount":{"type":"object","description":"Price of the offer after its applicable promotions.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in the smallest currency unit.","example":180000,"isRequired":true,"uniqueKey":"priceFrom.oneOf.0.EUR.perPersonPerNight.amount.amountMinor","typeLabel":"integer"},"currency":{"type":"string","enum":["CZK","EUR"],"isRequired":true,"uniqueKey":"priceFrom.oneOf.0.EUR.perPersonPerNight.amount.currency","typeLabel":"enum\u003cstring>"},"currencyExponent":{"type":"integer","enum":[2],"description":"Decimal exponent for the currency.","isRequired":true,"uniqueKey":"priceFrom.oneOf.0.EUR.perPersonPerNight.amount.currencyExponent","typeLabel":"enum\u003cinteger>"}},"isRequired":true,"uniqueKey":"priceFrom.oneOf.0.EUR.perPersonPerNight.amount","typeLabel":"object"},"original":{"oneOf":[{"type":"object","description":"Price of the same offer before its promotions. Null when no promotion lowers this minimum's rounded amount. See [Minimum fields](/api/objects/price-from#minimum-fields).","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře.","isRequired":true,"uniqueKey":"priceFrom.oneOf.0.EUR.perPersonPerNight.original.oneOf.0.amountMinor","typeLabel":"integer"},"currency":{"type":"string","enum":["CZK","EUR"],"isRequired":true,"uniqueKey":"priceFrom.oneOf.0.EUR.perPersonPerNight.original.oneOf.0.currency","typeLabel":"enum\u003cstring>"},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`.","isRequired":true,"uniqueKey":"priceFrom.oneOf.0.EUR.perPersonPerNight.original.oneOf.0.currencyExponent","typeLabel":"enum\u003cinteger>"}},"isRequired":true,"uniqueKey":"priceFrom.oneOf.0.EUR.perPersonPerNight.original.oneOf.0","typeLabel":"object"},{"type":"null","description":"Price of the same offer before its promotions. Null when no promotion lowers this minimum's rounded amount. See [Minimum fields](/api/objects/price-from#minimum-fields).","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}},"isRequired":true,"uniqueKey":"priceFrom.oneOf.0.EUR.perPersonPerNight.original.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"priceFrom.oneOf.0.EUR.perPersonPerNight.original","typeLabel":"object | null"},"nights":{"type":"integer","minimum":1,"description":"Number of nights of the offer.","isRequired":true,"uniqueKey":"priceFrom.oneOf.0.EUR.perPersonPerNight.nights","typeLabel":"integer"},"occupancy":{"type":"integer","minimum":1,"description":"Standard occupancy of the offer's room type. `perStay` amounts cover this many guests; `perPersonPerNight` amounts are averaged over them.","isRequired":true,"uniqueKey":"priceFrom.oneOf.0.EUR.perPersonPerNight.occupancy","typeLabel":"integer"},"hotel":{"type":"object","description":"Hotel of the offer.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Hotel whose offer gives this minimum.","isRequired":true,"uniqueKey":"priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.id","typeLabel":"string"},"name":{"type":"object","description":"Localized hotel name, with the same Czech fallback as the hotel's `name`.","example":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"},"properties":{"cs-CZ":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.name.cs-CZ.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.name.cs-CZ.oneOf.1","typeLabel":"null"}],"uniqueKey":"priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.name.cs-CZ","typeLabel":"string | null"},"de":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.name.de.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.name.de.oneOf.1","typeLabel":"null"}],"uniqueKey":"priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.name.de","typeLabel":"string | null"},"en":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.name.en.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.name.en.oneOf.1","typeLabel":"null"}],"uniqueKey":"priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.name.en","typeLabel":"string | null"},"ru":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.name.ru.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.name.ru.oneOf.1","typeLabel":"null"}],"uniqueKey":"priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.name.ru","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.name","typeLabel":"object"}},"isRequired":true,"uniqueKey":"priceFrom.oneOf.0.EUR.perPersonPerNight.hotel","typeLabel":"object"},"visitType":{"type":"object","description":"Visit type of the offer.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Visit type whose offer gives this minimum. Open it with `GET /visit-types/{visitTypeId}` using the same public key.","isRequired":true,"uniqueKey":"priceFrom.oneOf.0.EUR.perPersonPerNight.visitType.id","typeLabel":"string"},"name":{"type":"object","additionalProperties":false,"properties":{"cs-CZ":{"type":"string","minLength":1,"uniqueKey":"priceFrom.oneOf.0.EUR.perPersonPerNight.visitType.name.cs-CZ","typeLabel":"string"},"de":{"type":"string","minLength":1,"uniqueKey":"priceFrom.oneOf.0.EUR.perPersonPerNight.visitType.name.de","typeLabel":"string"},"en":{"type":"string","minLength":1,"uniqueKey":"priceFrom.oneOf.0.EUR.perPersonPerNight.visitType.name.en","typeLabel":"string"},"ru":{"type":"string","minLength":1,"uniqueKey":"priceFrom.oneOf.0.EUR.perPersonPerNight.visitType.name.ru","typeLabel":"string"}},"description":"Localized visit type name keyed by response locale (`cs-CZ`, `de`, `en`, `ru`). A missing requested translation falls back to the Czech name, like the hotel `name`.","isRequired":true,"uniqueKey":"priceFrom.oneOf.0.EUR.perPersonPerNight.visitType.name","typeLabel":"object"}},"isRequired":true,"uniqueKey":"priceFrom.oneOf.0.EUR.perPersonPerNight.visitType","typeLabel":"object"}},"isRequired":true,"uniqueKey":"priceFrom.oneOf.0.EUR.perPersonPerNight","typeLabel":"object"},"perStay":{"type":"object","description":"The offer with the lowest total for the whole room and stay at its standard occupancy. Selected independently of `perPersonPerNight`; the two can be different offers.","required":["amount","original","nights","occupancy","hotel","visitType"],"example":{"amount":{"amountMinor":50400,"currency":"EUR","currencyExponent":2},"original":{"amountMinor":56000,"currency":"EUR","currencyExponent":2},"nights":7,"occupancy":1,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"visitType":{"id":"6720c0a1b2c3d4e5f6a7b801","name":{"cs-CZ":"Klasická lázeňská léčba","de":"Klassische Kur"}}},"properties":{"amount":{"type":"object","description":"Price of the offer after its applicable promotions.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in the smallest currency unit.","example":180000,"isRequired":true,"uniqueKey":"priceFrom.oneOf.0.EUR.perStay.amount.amountMinor","typeLabel":"integer"},"currency":{"type":"string","enum":["CZK","EUR"],"isRequired":true,"uniqueKey":"priceFrom.oneOf.0.EUR.perStay.amount.currency","typeLabel":"enum\u003cstring>"},"currencyExponent":{"type":"integer","enum":[2],"description":"Decimal exponent for the currency.","isRequired":true,"uniqueKey":"priceFrom.oneOf.0.EUR.perStay.amount.currencyExponent","typeLabel":"enum\u003cinteger>"}},"isRequired":true,"uniqueKey":"priceFrom.oneOf.0.EUR.perStay.amount","typeLabel":"object"},"original":{"oneOf":[{"type":"object","description":"Price of the same offer before its promotions. Null when no promotion lowers this minimum's rounded amount. See [Minimum fields](/api/objects/price-from#minimum-fields).","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře.","isRequired":true,"uniqueKey":"priceFrom.oneOf.0.EUR.perStay.original.oneOf.0.amountMinor","typeLabel":"integer"},"currency":{"type":"string","enum":["CZK","EUR"],"isRequired":true,"uniqueKey":"priceFrom.oneOf.0.EUR.perStay.original.oneOf.0.currency","typeLabel":"enum\u003cstring>"},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`.","isRequired":true,"uniqueKey":"priceFrom.oneOf.0.EUR.perStay.original.oneOf.0.currencyExponent","typeLabel":"enum\u003cinteger>"}},"isRequired":true,"uniqueKey":"priceFrom.oneOf.0.EUR.perStay.original.oneOf.0","typeLabel":"object"},{"type":"null","description":"Price of the same offer before its promotions. Null when no promotion lowers this minimum's rounded amount. See [Minimum fields](/api/objects/price-from#minimum-fields).","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}},"isRequired":true,"uniqueKey":"priceFrom.oneOf.0.EUR.perStay.original.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"priceFrom.oneOf.0.EUR.perStay.original","typeLabel":"object | null"},"nights":{"type":"integer","minimum":1,"description":"Number of nights of the offer.","isRequired":true,"uniqueKey":"priceFrom.oneOf.0.EUR.perStay.nights","typeLabel":"integer"},"occupancy":{"type":"integer","minimum":1,"description":"Standard occupancy of the offer's room type. `perStay` amounts cover this many guests; `perPersonPerNight` amounts are averaged over them.","isRequired":true,"uniqueKey":"priceFrom.oneOf.0.EUR.perStay.occupancy","typeLabel":"integer"},"hotel":{"type":"object","description":"Hotel of the offer.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Hotel whose offer gives this minimum.","isRequired":true,"uniqueKey":"priceFrom.oneOf.0.EUR.perStay.hotel.id","typeLabel":"string"},"name":{"type":"object","description":"Localized hotel name, with the same Czech fallback as the hotel's `name`.","example":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"},"properties":{"cs-CZ":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"priceFrom.oneOf.0.EUR.perStay.hotel.name.cs-CZ.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"priceFrom.oneOf.0.EUR.perStay.hotel.name.cs-CZ.oneOf.1","typeLabel":"null"}],"uniqueKey":"priceFrom.oneOf.0.EUR.perStay.hotel.name.cs-CZ","typeLabel":"string | null"},"de":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"priceFrom.oneOf.0.EUR.perStay.hotel.name.de.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"priceFrom.oneOf.0.EUR.perStay.hotel.name.de.oneOf.1","typeLabel":"null"}],"uniqueKey":"priceFrom.oneOf.0.EUR.perStay.hotel.name.de","typeLabel":"string | null"},"en":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"priceFrom.oneOf.0.EUR.perStay.hotel.name.en.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"priceFrom.oneOf.0.EUR.perStay.hotel.name.en.oneOf.1","typeLabel":"null"}],"uniqueKey":"priceFrom.oneOf.0.EUR.perStay.hotel.name.en","typeLabel":"string | null"},"ru":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"priceFrom.oneOf.0.EUR.perStay.hotel.name.ru.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"priceFrom.oneOf.0.EUR.perStay.hotel.name.ru.oneOf.1","typeLabel":"null"}],"uniqueKey":"priceFrom.oneOf.0.EUR.perStay.hotel.name.ru","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"priceFrom.oneOf.0.EUR.perStay.hotel.name","typeLabel":"object"}},"isRequired":true,"uniqueKey":"priceFrom.oneOf.0.EUR.perStay.hotel","typeLabel":"object"},"visitType":{"type":"object","description":"Visit type of the offer.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Visit type whose offer gives this minimum. Open it with `GET /visit-types/{visitTypeId}` using the same public key.","isRequired":true,"uniqueKey":"priceFrom.oneOf.0.EUR.perStay.visitType.id","typeLabel":"string"},"name":{"type":"object","additionalProperties":false,"properties":{"cs-CZ":{"type":"string","minLength":1,"uniqueKey":"priceFrom.oneOf.0.EUR.perStay.visitType.name.cs-CZ","typeLabel":"string"},"de":{"type":"string","minLength":1,"uniqueKey":"priceFrom.oneOf.0.EUR.perStay.visitType.name.de","typeLabel":"string"},"en":{"type":"string","minLength":1,"uniqueKey":"priceFrom.oneOf.0.EUR.perStay.visitType.name.en","typeLabel":"string"},"ru":{"type":"string","minLength":1,"uniqueKey":"priceFrom.oneOf.0.EUR.perStay.visitType.name.ru","typeLabel":"string"}},"description":"Localized visit type name keyed by response locale (`cs-CZ`, `de`, `en`, `ru`). A missing requested translation falls back to the Czech name, like the hotel `name`.","isRequired":true,"uniqueKey":"priceFrom.oneOf.0.EUR.perStay.visitType.name","typeLabel":"object"}},"isRequired":true,"uniqueKey":"priceFrom.oneOf.0.EUR.perStay.visitType","typeLabel":"object"}},"isRequired":true,"uniqueKey":"priceFrom.oneOf.0.EUR.perStay","typeLabel":"object"}},"description":"Two independently selected minima for one currency. See [Prices](/api/prices#two-independent-minima).","uniqueKey":"priceFrom.oneOf.0.EUR","typeLabel":"object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"priceFrom.oneOf.0","typeLabel":"object"},{"type":"null","description":"Lowest prices of a complete stay from today onward across the package's hotels, per currency. A currency is present only when a complete stay has a price in it. Packages booked on request and packages switched off in SpaPortal also have a price; check `available` and `bookingMode` before you offer a booking. Null when no complete stay exists. See [Prices](/api/prices).","minProperties":1,"properties":{"CZK":{"type":"object","required":["perPersonPerNight","perStay"],"properties":{"perPersonPerNight":{"type":"object","description":"The offer with the lowest average price per guest per night.","required":["amount","original","nights","occupancy","hotel","visitType"],"example":{"amount":{"amountMinor":50400,"currency":"EUR","currencyExponent":2},"original":{"amountMinor":56000,"currency":"EUR","currencyExponent":2},"nights":7,"occupancy":1,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"visitType":{"id":"6720c0a1b2c3d4e5f6a7b801","name":{"cs-CZ":"Klasická lázeňská léčba","de":"Klassische Kur"}}},"properties":{"amount":{"type":"object","description":"Price of the offer after its applicable promotions.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in the smallest currency unit.","example":180000},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Decimal exponent for the currency."}}},"original":{"oneOf":[{"type":"object","description":"Price of the same offer before its promotions. Null when no promotion lowers this minimum's rounded amount. See [Minimum fields](/api/objects/price-from#minimum-fields).","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}}},{"type":"null","description":"Price of the same offer before its promotions. Null when no promotion lowers this minimum's rounded amount. See [Minimum fields](/api/objects/price-from#minimum-fields).","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}}}]},"nights":{"type":"integer","minimum":1,"description":"Number of nights of the offer."},"occupancy":{"type":"integer","minimum":1,"description":"Standard occupancy of the offer's room type. `perStay` amounts cover this many guests; `perPersonPerNight` amounts are averaged over them."},"hotel":{"type":"object","description":"Hotel of the offer.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Hotel whose offer gives this minimum."},"name":{"type":"object","description":"Localized hotel name, with the same Czech fallback as the hotel's `name`.","example":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"},"properties":{"cs-CZ":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"de":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"en":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"ru":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]}},"additionalProperties":false}}},"visitType":{"type":"object","description":"Visit type of the offer.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Visit type whose offer gives this minimum. Open it with `GET /visit-types/{visitTypeId}` using the same public key."},"name":{"type":"object","additionalProperties":false,"properties":{"cs-CZ":{"type":"string","minLength":1},"de":{"type":"string","minLength":1},"en":{"type":"string","minLength":1},"ru":{"type":"string","minLength":1}},"description":"Localized visit type name keyed by response locale (`cs-CZ`, `de`, `en`, `ru`). A missing requested translation falls back to the Czech name, like the hotel `name`."}}}}},"perStay":{"type":"object","description":"The offer with the lowest total for the whole room and stay at its standard occupancy. Selected independently of `perPersonPerNight`; the two can be different offers.","required":["amount","original","nights","occupancy","hotel","visitType"],"example":{"amount":{"amountMinor":50400,"currency":"EUR","currencyExponent":2},"original":{"amountMinor":56000,"currency":"EUR","currencyExponent":2},"nights":7,"occupancy":1,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"visitType":{"id":"6720c0a1b2c3d4e5f6a7b801","name":{"cs-CZ":"Klasická lázeňská léčba","de":"Klassische Kur"}}},"properties":{"amount":{"type":"object","description":"Price of the offer after its applicable promotions.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in the smallest currency unit.","example":180000},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Decimal exponent for the currency."}}},"original":{"oneOf":[{"type":"object","description":"Price of the same offer before its promotions. Null when no promotion lowers this minimum's rounded amount. See [Minimum fields](/api/objects/price-from#minimum-fields).","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}}},{"type":"null","description":"Price of the same offer before its promotions. Null when no promotion lowers this minimum's rounded amount. See [Minimum fields](/api/objects/price-from#minimum-fields).","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}}}]},"nights":{"type":"integer","minimum":1,"description":"Number of nights of the offer."},"occupancy":{"type":"integer","minimum":1,"description":"Standard occupancy of the offer's room type. `perStay` amounts cover this many guests; `perPersonPerNight` amounts are averaged over them."},"hotel":{"type":"object","description":"Hotel of the offer.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Hotel whose offer gives this minimum."},"name":{"type":"object","description":"Localized hotel name, with the same Czech fallback as the hotel's `name`.","example":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"},"properties":{"cs-CZ":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"de":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"en":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"ru":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]}},"additionalProperties":false}}},"visitType":{"type":"object","description":"Visit type of the offer.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Visit type whose offer gives this minimum. Open it with `GET /visit-types/{visitTypeId}` using the same public key."},"name":{"type":"object","additionalProperties":false,"properties":{"cs-CZ":{"type":"string","minLength":1},"de":{"type":"string","minLength":1},"en":{"type":"string","minLength":1},"ru":{"type":"string","minLength":1}},"description":"Localized visit type name keyed by response locale (`cs-CZ`, `de`, `en`, `ru`). A missing requested translation falls back to the Czech name, like the hotel `name`."}}}}}},"description":"Two independently selected minima for one currency. See [Prices](/api/prices#two-independent-minima)."},"EUR":{"type":"object","required":["perPersonPerNight","perStay"],"properties":{"perPersonPerNight":{"type":"object","description":"The offer with the lowest average price per guest per night.","required":["amount","original","nights","occupancy","hotel","visitType"],"example":{"amount":{"amountMinor":50400,"currency":"EUR","currencyExponent":2},"original":{"amountMinor":56000,"currency":"EUR","currencyExponent":2},"nights":7,"occupancy":1,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"visitType":{"id":"6720c0a1b2c3d4e5f6a7b801","name":{"cs-CZ":"Klasická lázeňská léčba","de":"Klassische Kur"}}},"properties":{"amount":{"type":"object","description":"Price of the offer after its applicable promotions.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in the smallest currency unit.","example":180000},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Decimal exponent for the currency."}}},"original":{"oneOf":[{"type":"object","description":"Price of the same offer before its promotions. Null when no promotion lowers this minimum's rounded amount. See [Minimum fields](/api/objects/price-from#minimum-fields).","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}}},{"type":"null","description":"Price of the same offer before its promotions. Null when no promotion lowers this minimum's rounded amount. See [Minimum fields](/api/objects/price-from#minimum-fields).","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}}}]},"nights":{"type":"integer","minimum":1,"description":"Number of nights of the offer."},"occupancy":{"type":"integer","minimum":1,"description":"Standard occupancy of the offer's room type. `perStay` amounts cover this many guests; `perPersonPerNight` amounts are averaged over them."},"hotel":{"type":"object","description":"Hotel of the offer.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Hotel whose offer gives this minimum."},"name":{"type":"object","description":"Localized hotel name, with the same Czech fallback as the hotel's `name`.","example":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"},"properties":{"cs-CZ":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"de":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"en":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"ru":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]}},"additionalProperties":false}}},"visitType":{"type":"object","description":"Visit type of the offer.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Visit type whose offer gives this minimum. Open it with `GET /visit-types/{visitTypeId}` using the same public key."},"name":{"type":"object","additionalProperties":false,"properties":{"cs-CZ":{"type":"string","minLength":1},"de":{"type":"string","minLength":1},"en":{"type":"string","minLength":1},"ru":{"type":"string","minLength":1}},"description":"Localized visit type name keyed by response locale (`cs-CZ`, `de`, `en`, `ru`). A missing requested translation falls back to the Czech name, like the hotel `name`."}}}}},"perStay":{"type":"object","description":"The offer with the lowest total for the whole room and stay at its standard occupancy. Selected independently of `perPersonPerNight`; the two can be different offers.","required":["amount","original","nights","occupancy","hotel","visitType"],"example":{"amount":{"amountMinor":50400,"currency":"EUR","currencyExponent":2},"original":{"amountMinor":56000,"currency":"EUR","currencyExponent":2},"nights":7,"occupancy":1,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"visitType":{"id":"6720c0a1b2c3d4e5f6a7b801","name":{"cs-CZ":"Klasická lázeňská léčba","de":"Klassische Kur"}}},"properties":{"amount":{"type":"object","description":"Price of the offer after its applicable promotions.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in the smallest currency unit.","example":180000},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Decimal exponent for the currency."}}},"original":{"oneOf":[{"type":"object","description":"Price of the same offer before its promotions. Null when no promotion lowers this minimum's rounded amount. See [Minimum fields](/api/objects/price-from#minimum-fields).","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}}},{"type":"null","description":"Price of the same offer before its promotions. Null when no promotion lowers this minimum's rounded amount. See [Minimum fields](/api/objects/price-from#minimum-fields).","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}}}]},"nights":{"type":"integer","minimum":1,"description":"Number of nights of the offer."},"occupancy":{"type":"integer","minimum":1,"description":"Standard occupancy of the offer's room type. `perStay` amounts cover this many guests; `perPersonPerNight` amounts are averaged over them."},"hotel":{"type":"object","description":"Hotel of the offer.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Hotel whose offer gives this minimum."},"name":{"type":"object","description":"Localized hotel name, with the same Czech fallback as the hotel's `name`.","example":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"},"properties":{"cs-CZ":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"de":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"en":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"ru":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]}},"additionalProperties":false}}},"visitType":{"type":"object","description":"Visit type of the offer.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Visit type whose offer gives this minimum. Open it with `GET /visit-types/{visitTypeId}` using the same public key."},"name":{"type":"object","additionalProperties":false,"properties":{"cs-CZ":{"type":"string","minLength":1},"de":{"type":"string","minLength":1},"en":{"type":"string","minLength":1},"ru":{"type":"string","minLength":1}},"description":"Localized visit type name keyed by response locale (`cs-CZ`, `de`, `en`, `ru`). A missing requested translation falls back to the Czech name, like the hotel `name`."}}}}}},"description":"Two independently selected minima for one currency. See [Prices](/api/prices#two-independent-minima)."}},"additionalProperties":false,"isRequired":true,"uniqueKey":"priceFrom.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"priceFrom","typeLabel":"object | null"},"promotions":{"type":"array","items":{"type":"object","required":["id","name","percentage","from","to","appliesTo"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Promotion id. Each promotion appears once, even when it is assigned to several channels.","isRequired":true,"uniqueKey":"promotions.items.[INDEX].id","typeLabel":"string"},"name":{"type":"object","description":"Localized promotion name; a missing translation is null.","example":{"cs-CZ":"Český text","de":"Deutscher Text"},"properties":{"cs-CZ":{"oneOf":[{"type":"string","uniqueKey":"promotions.items.[INDEX].name.cs-CZ.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"promotions.items.[INDEX].name.cs-CZ.oneOf.1","typeLabel":"null"}],"uniqueKey":"promotions.items.[INDEX].name.cs-CZ","typeLabel":"string | null"},"de":{"oneOf":[{"type":"string","uniqueKey":"promotions.items.[INDEX].name.de.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"promotions.items.[INDEX].name.de.oneOf.1","typeLabel":"null"}],"uniqueKey":"promotions.items.[INDEX].name.de","typeLabel":"string | null"},"en":{"oneOf":[{"type":"string","uniqueKey":"promotions.items.[INDEX].name.en.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"promotions.items.[INDEX].name.en.oneOf.1","typeLabel":"null"}],"uniqueKey":"promotions.items.[INDEX].name.en","typeLabel":"string | null"},"ru":{"oneOf":[{"type":"string","uniqueKey":"promotions.items.[INDEX].name.ru.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"promotions.items.[INDEX].name.ru.oneOf.1","typeLabel":"null"}],"uniqueKey":"promotions.items.[INDEX].name.ru","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"promotions.items.[INDEX].name","typeLabel":"object"},"percentage":{"type":"number","minimum":0,"exclusiveMinimum":true,"maximum":100,"description":"Discount in percent, greater than 0 and at most 100.","isRequired":true,"uniqueKey":"promotions.items.[INDEX].percentage","typeLabel":"number"},"from":{"type":"string","format":"date","description":"First discounted night, identified by the date it starts on.","isRequired":true,"uniqueKey":"promotions.items.[INDEX].from","typeLabel":"string\u003cdate>"},"to":{"oneOf":[{"type":"string","description":"Last discounted night, inclusive. Null when the promotion has no end.","format":"date","isRequired":true,"uniqueKey":"promotions.items.[INDEX].to.oneOf.0","typeLabel":"string\u003cdate>"},{"type":"null","description":"Last discounted night, inclusive. Null when the promotion has no end.","format":"date","isRequired":true,"uniqueKey":"promotions.items.[INDEX].to.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"promotions.items.[INDEX].to","typeLabel":"string\u003cdate> | null"},"appliesTo":{"oneOf":[{"type":"array","items":{"type":"object","required":["hotelId","roomTypeIds"],"properties":{"hotelId":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Hotel the promotion applies to. Entries are ordered by `hotelId`.","isRequired":true,"uniqueKey":"promotions.items.[INDEX].appliesTo.oneOf.0.items.[INDEX].hotelId","typeLabel":"string"},"roomTypeIds":{"oneOf":[{"type":"array","items":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","uniqueKey":"promotions.items.[INDEX].appliesTo.oneOf.0.items.[INDEX].roomTypeIds.oneOf.0.items.[INDEX]","typeLabel":"string"},"description":"Room types of the hotel the promotion applies to, ordered by id. Null when it applies to every room type of the hotel.","minItems":1,"isRequired":true,"uniqueKey":"promotions.items.[INDEX].appliesTo.oneOf.0.items.[INDEX].roomTypeIds.oneOf.0","typeLabel":"string[]"},{"type":"null","description":"Room types of the hotel the promotion applies to, ordered by id. Null when it applies to every room type of the hotel.","minItems":1,"isRequired":true,"uniqueKey":"promotions.items.[INDEX].appliesTo.oneOf.0.items.[INDEX].roomTypeIds.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"promotions.items.[INDEX].appliesTo.oneOf.0.items.[INDEX].roomTypeIds","typeLabel":"string[] | null"}},"uniqueKey":"promotions.items.[INDEX].appliesTo.oneOf.0.items.[INDEX]","typeLabel":"object"},"description":"Hotels and room types the promotion is limited to. Null when it applies to every hotel selling the package.","minItems":1,"isRequired":true,"uniqueKey":"promotions.items.[INDEX].appliesTo.oneOf.0","typeLabel":"object[]"},{"type":"null","description":"Hotels and room types the promotion is limited to. Null when it applies to every hotel selling the package.","minItems":1,"isRequired":true,"uniqueKey":"promotions.items.[INDEX].appliesTo.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"promotions.items.[INDEX].appliesTo","typeLabel":"object[] | null"}},"description":"A promotion that applies to your channel. See [Promotion](/api/objects/promotion).","example":{"id":"6720c0a1b2c3d4e5f6a7d302","name":{"cs-CZ":"Zimní nabídka vybraných pokojů","de":"Winterangebot für ausgewählte Zimmer"},"percentage":15,"from":"2027-01-04","to":"2027-02-28","appliesTo":[{"hotelId":"6720c0a1b2c3d4e5f6a7c101","roomTypeIds":["6720c0a1b2c3d4e5f6a7f101","6720c0a1b2c3d4e5f6a7f102"]}]},"uniqueKey":"promotions.items.[INDEX]","typeLabel":"object"},"description":"Current and future promotions that apply to your channel, ordered by `from`, then `id`. With `expand=priceFromPeriods`, also ended promotions, so every id in a period can be looked up. Empty when none applies.","isRequired":true,"uniqueKey":"promotions","typeLabel":"object[]"},"hotelListings":{"type":"array","items":{"type":"object","required":["hotelId","priceFrom"],"properties":{"hotelId":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Active hotel selling the package. Present even when `priceFrom` is null.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].hotelId","typeLabel":"string"},"priceFrom":{"oneOf":[{"type":"object","description":"Lowest prices of a complete stay from today onward for the package at this hotel, per currency. Null when no complete stay exists.","minProperties":1,"properties":{"CZK":{"type":"object","required":["perPersonPerNight","perStay"],"properties":{"perPersonPerNight":{"type":"object","description":"The offer with the lowest average price per guest per night.","required":["amount","original","nights","occupancy","hotel","visitType"],"example":{"amount":{"amountMinor":50400,"currency":"EUR","currencyExponent":2},"original":{"amountMinor":56000,"currency":"EUR","currencyExponent":2},"nights":7,"occupancy":1,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"visitType":{"id":"6720c0a1b2c3d4e5f6a7b801","name":{"cs-CZ":"Klasická lázeňská léčba","de":"Klassische Kur"}}},"properties":{"amount":{"type":"object","description":"Price of the offer after its applicable promotions.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in the smallest currency unit.","example":180000,"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.amount.amountMinor","typeLabel":"integer"},"currency":{"type":"string","enum":["CZK","EUR"],"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.amount.currency","typeLabel":"enum\u003cstring>"},"currencyExponent":{"type":"integer","enum":[2],"description":"Decimal exponent for the currency.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.amount.currencyExponent","typeLabel":"enum\u003cinteger>"}},"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.amount","typeLabel":"object"},"original":{"oneOf":[{"type":"object","description":"Price of the same offer before its promotions. Null when no promotion lowers this minimum's rounded amount. See [Minimum fields](/api/objects/price-from#minimum-fields).","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.original.oneOf.0.amountMinor","typeLabel":"integer"},"currency":{"type":"string","enum":["CZK","EUR"],"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.original.oneOf.0.currency","typeLabel":"enum\u003cstring>"},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.original.oneOf.0.currencyExponent","typeLabel":"enum\u003cinteger>"}},"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.original.oneOf.0","typeLabel":"object"},{"type":"null","description":"Price of the same offer before its promotions. Null when no promotion lowers this minimum's rounded amount. See [Minimum fields](/api/objects/price-from#minimum-fields).","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}},"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.original.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.original","typeLabel":"object | null"},"nights":{"type":"integer","minimum":1,"description":"Number of nights of the offer.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.nights","typeLabel":"integer"},"occupancy":{"type":"integer","minimum":1,"description":"Standard occupancy of the offer's room type. `perStay` amounts cover this many guests; `perPersonPerNight` amounts are averaged over them.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.occupancy","typeLabel":"integer"},"hotel":{"type":"object","description":"Hotel of the offer.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Hotel whose offer gives this minimum.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.id","typeLabel":"string"},"name":{"type":"object","description":"Localized hotel name, with the same Czech fallback as the hotel's `name`.","example":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"},"properties":{"cs-CZ":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.name.cs-CZ.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.name.cs-CZ.oneOf.1","typeLabel":"null"}],"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.name.cs-CZ","typeLabel":"string | null"},"de":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.name.de.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.name.de.oneOf.1","typeLabel":"null"}],"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.name.de","typeLabel":"string | null"},"en":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.name.en.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.name.en.oneOf.1","typeLabel":"null"}],"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.name.en","typeLabel":"string | null"},"ru":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.name.ru.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.name.ru.oneOf.1","typeLabel":"null"}],"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.name.ru","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.name","typeLabel":"object"}},"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.hotel","typeLabel":"object"},"visitType":{"type":"object","description":"Visit type of the offer.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Visit type whose offer gives this minimum. Open it with `GET /visit-types/{visitTypeId}` using the same public key.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.visitType.id","typeLabel":"string"},"name":{"type":"object","additionalProperties":false,"properties":{"cs-CZ":{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.visitType.name.cs-CZ","typeLabel":"string"},"de":{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.visitType.name.de","typeLabel":"string"},"en":{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.visitType.name.en","typeLabel":"string"},"ru":{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.visitType.name.ru","typeLabel":"string"}},"description":"Localized visit type name keyed by response locale (`cs-CZ`, `de`, `en`, `ru`). A missing requested translation falls back to the Czech name, like the hotel `name`.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.visitType.name","typeLabel":"object"}},"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.visitType","typeLabel":"object"}},"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight","typeLabel":"object"},"perStay":{"type":"object","description":"The offer with the lowest total for the whole room and stay at its standard occupancy. Selected independently of `perPersonPerNight`; the two can be different offers.","required":["amount","original","nights","occupancy","hotel","visitType"],"example":{"amount":{"amountMinor":50400,"currency":"EUR","currencyExponent":2},"original":{"amountMinor":56000,"currency":"EUR","currencyExponent":2},"nights":7,"occupancy":1,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"visitType":{"id":"6720c0a1b2c3d4e5f6a7b801","name":{"cs-CZ":"Klasická lázeňská léčba","de":"Klassische Kur"}}},"properties":{"amount":{"type":"object","description":"Price of the offer after its applicable promotions.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in the smallest currency unit.","example":180000,"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.amount.amountMinor","typeLabel":"integer"},"currency":{"type":"string","enum":["CZK","EUR"],"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.amount.currency","typeLabel":"enum\u003cstring>"},"currencyExponent":{"type":"integer","enum":[2],"description":"Decimal exponent for the currency.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.amount.currencyExponent","typeLabel":"enum\u003cinteger>"}},"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.amount","typeLabel":"object"},"original":{"oneOf":[{"type":"object","description":"Price of the same offer before its promotions. Null when no promotion lowers this minimum's rounded amount. See [Minimum fields](/api/objects/price-from#minimum-fields).","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.original.oneOf.0.amountMinor","typeLabel":"integer"},"currency":{"type":"string","enum":["CZK","EUR"],"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.original.oneOf.0.currency","typeLabel":"enum\u003cstring>"},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.original.oneOf.0.currencyExponent","typeLabel":"enum\u003cinteger>"}},"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.original.oneOf.0","typeLabel":"object"},{"type":"null","description":"Price of the same offer before its promotions. Null when no promotion lowers this minimum's rounded amount. See [Minimum fields](/api/objects/price-from#minimum-fields).","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}},"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.original.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.original","typeLabel":"object | null"},"nights":{"type":"integer","minimum":1,"description":"Number of nights of the offer.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.nights","typeLabel":"integer"},"occupancy":{"type":"integer","minimum":1,"description":"Standard occupancy of the offer's room type. `perStay` amounts cover this many guests; `perPersonPerNight` amounts are averaged over them.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.occupancy","typeLabel":"integer"},"hotel":{"type":"object","description":"Hotel of the offer.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Hotel whose offer gives this minimum.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.hotel.id","typeLabel":"string"},"name":{"type":"object","description":"Localized hotel name, with the same Czech fallback as the hotel's `name`.","example":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"},"properties":{"cs-CZ":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.hotel.name.cs-CZ.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.hotel.name.cs-CZ.oneOf.1","typeLabel":"null"}],"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.hotel.name.cs-CZ","typeLabel":"string | null"},"de":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.hotel.name.de.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.hotel.name.de.oneOf.1","typeLabel":"null"}],"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.hotel.name.de","typeLabel":"string | null"},"en":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.hotel.name.en.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.hotel.name.en.oneOf.1","typeLabel":"null"}],"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.hotel.name.en","typeLabel":"string | null"},"ru":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.hotel.name.ru.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.hotel.name.ru.oneOf.1","typeLabel":"null"}],"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.hotel.name.ru","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.hotel.name","typeLabel":"object"}},"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.hotel","typeLabel":"object"},"visitType":{"type":"object","description":"Visit type of the offer.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Visit type whose offer gives this minimum. Open it with `GET /visit-types/{visitTypeId}` using the same public key.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.visitType.id","typeLabel":"string"},"name":{"type":"object","additionalProperties":false,"properties":{"cs-CZ":{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.visitType.name.cs-CZ","typeLabel":"string"},"de":{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.visitType.name.de","typeLabel":"string"},"en":{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.visitType.name.en","typeLabel":"string"},"ru":{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.visitType.name.ru","typeLabel":"string"}},"description":"Localized visit type name keyed by response locale (`cs-CZ`, `de`, `en`, `ru`). A missing requested translation falls back to the Czech name, like the hotel `name`.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.visitType.name","typeLabel":"object"}},"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.visitType","typeLabel":"object"}},"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK.perStay","typeLabel":"object"}},"description":"Two independently selected minima for one currency. See [Prices](/api/prices#two-independent-minima).","uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.CZK","typeLabel":"object"},"EUR":{"type":"object","required":["perPersonPerNight","perStay"],"properties":{"perPersonPerNight":{"type":"object","description":"The offer with the lowest average price per guest per night.","required":["amount","original","nights","occupancy","hotel","visitType"],"example":{"amount":{"amountMinor":50400,"currency":"EUR","currencyExponent":2},"original":{"amountMinor":56000,"currency":"EUR","currencyExponent":2},"nights":7,"occupancy":1,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"visitType":{"id":"6720c0a1b2c3d4e5f6a7b801","name":{"cs-CZ":"Klasická lázeňská léčba","de":"Klassische Kur"}}},"properties":{"amount":{"type":"object","description":"Price of the offer after its applicable promotions.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in the smallest currency unit.","example":180000,"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.amount.amountMinor","typeLabel":"integer"},"currency":{"type":"string","enum":["CZK","EUR"],"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.amount.currency","typeLabel":"enum\u003cstring>"},"currencyExponent":{"type":"integer","enum":[2],"description":"Decimal exponent for the currency.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.amount.currencyExponent","typeLabel":"enum\u003cinteger>"}},"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.amount","typeLabel":"object"},"original":{"oneOf":[{"type":"object","description":"Price of the same offer before its promotions. Null when no promotion lowers this minimum's rounded amount. See [Minimum fields](/api/objects/price-from#minimum-fields).","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.original.oneOf.0.amountMinor","typeLabel":"integer"},"currency":{"type":"string","enum":["CZK","EUR"],"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.original.oneOf.0.currency","typeLabel":"enum\u003cstring>"},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.original.oneOf.0.currencyExponent","typeLabel":"enum\u003cinteger>"}},"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.original.oneOf.0","typeLabel":"object"},{"type":"null","description":"Price of the same offer before its promotions. Null when no promotion lowers this minimum's rounded amount. See [Minimum fields](/api/objects/price-from#minimum-fields).","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}},"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.original.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.original","typeLabel":"object | null"},"nights":{"type":"integer","minimum":1,"description":"Number of nights of the offer.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.nights","typeLabel":"integer"},"occupancy":{"type":"integer","minimum":1,"description":"Standard occupancy of the offer's room type. `perStay` amounts cover this many guests; `perPersonPerNight` amounts are averaged over them.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.occupancy","typeLabel":"integer"},"hotel":{"type":"object","description":"Hotel of the offer.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Hotel whose offer gives this minimum.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.id","typeLabel":"string"},"name":{"type":"object","description":"Localized hotel name, with the same Czech fallback as the hotel's `name`.","example":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"},"properties":{"cs-CZ":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.name.cs-CZ.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.name.cs-CZ.oneOf.1","typeLabel":"null"}],"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.name.cs-CZ","typeLabel":"string | null"},"de":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.name.de.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.name.de.oneOf.1","typeLabel":"null"}],"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.name.de","typeLabel":"string | null"},"en":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.name.en.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.name.en.oneOf.1","typeLabel":"null"}],"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.name.en","typeLabel":"string | null"},"ru":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.name.ru.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.name.ru.oneOf.1","typeLabel":"null"}],"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.name.ru","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.name","typeLabel":"object"}},"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.hotel","typeLabel":"object"},"visitType":{"type":"object","description":"Visit type of the offer.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Visit type whose offer gives this minimum. Open it with `GET /visit-types/{visitTypeId}` using the same public key.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.visitType.id","typeLabel":"string"},"name":{"type":"object","additionalProperties":false,"properties":{"cs-CZ":{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.visitType.name.cs-CZ","typeLabel":"string"},"de":{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.visitType.name.de","typeLabel":"string"},"en":{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.visitType.name.en","typeLabel":"string"},"ru":{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.visitType.name.ru","typeLabel":"string"}},"description":"Localized visit type name keyed by response locale (`cs-CZ`, `de`, `en`, `ru`). A missing requested translation falls back to the Czech name, like the hotel `name`.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.visitType.name","typeLabel":"object"}},"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.visitType","typeLabel":"object"}},"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight","typeLabel":"object"},"perStay":{"type":"object","description":"The offer with the lowest total for the whole room and stay at its standard occupancy. Selected independently of `perPersonPerNight`; the two can be different offers.","required":["amount","original","nights","occupancy","hotel","visitType"],"example":{"amount":{"amountMinor":50400,"currency":"EUR","currencyExponent":2},"original":{"amountMinor":56000,"currency":"EUR","currencyExponent":2},"nights":7,"occupancy":1,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"visitType":{"id":"6720c0a1b2c3d4e5f6a7b801","name":{"cs-CZ":"Klasická lázeňská léčba","de":"Klassische Kur"}}},"properties":{"amount":{"type":"object","description":"Price of the offer after its applicable promotions.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in the smallest currency unit.","example":180000,"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.amount.amountMinor","typeLabel":"integer"},"currency":{"type":"string","enum":["CZK","EUR"],"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.amount.currency","typeLabel":"enum\u003cstring>"},"currencyExponent":{"type":"integer","enum":[2],"description":"Decimal exponent for the currency.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.amount.currencyExponent","typeLabel":"enum\u003cinteger>"}},"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.amount","typeLabel":"object"},"original":{"oneOf":[{"type":"object","description":"Price of the same offer before its promotions. Null when no promotion lowers this minimum's rounded amount. See [Minimum fields](/api/objects/price-from#minimum-fields).","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.original.oneOf.0.amountMinor","typeLabel":"integer"},"currency":{"type":"string","enum":["CZK","EUR"],"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.original.oneOf.0.currency","typeLabel":"enum\u003cstring>"},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.original.oneOf.0.currencyExponent","typeLabel":"enum\u003cinteger>"}},"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.original.oneOf.0","typeLabel":"object"},{"type":"null","description":"Price of the same offer before its promotions. Null when no promotion lowers this minimum's rounded amount. See [Minimum fields](/api/objects/price-from#minimum-fields).","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}},"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.original.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.original","typeLabel":"object | null"},"nights":{"type":"integer","minimum":1,"description":"Number of nights of the offer.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.nights","typeLabel":"integer"},"occupancy":{"type":"integer","minimum":1,"description":"Standard occupancy of the offer's room type. `perStay` amounts cover this many guests; `perPersonPerNight` amounts are averaged over them.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.occupancy","typeLabel":"integer"},"hotel":{"type":"object","description":"Hotel of the offer.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Hotel whose offer gives this minimum.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.hotel.id","typeLabel":"string"},"name":{"type":"object","description":"Localized hotel name, with the same Czech fallback as the hotel's `name`.","example":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"},"properties":{"cs-CZ":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.hotel.name.cs-CZ.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.hotel.name.cs-CZ.oneOf.1","typeLabel":"null"}],"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.hotel.name.cs-CZ","typeLabel":"string | null"},"de":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.hotel.name.de.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.hotel.name.de.oneOf.1","typeLabel":"null"}],"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.hotel.name.de","typeLabel":"string | null"},"en":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.hotel.name.en.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.hotel.name.en.oneOf.1","typeLabel":"null"}],"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.hotel.name.en","typeLabel":"string | null"},"ru":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.hotel.name.ru.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.hotel.name.ru.oneOf.1","typeLabel":"null"}],"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.hotel.name.ru","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.hotel.name","typeLabel":"object"}},"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.hotel","typeLabel":"object"},"visitType":{"type":"object","description":"Visit type of the offer.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Visit type whose offer gives this minimum. Open it with `GET /visit-types/{visitTypeId}` using the same public key.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.visitType.id","typeLabel":"string"},"name":{"type":"object","additionalProperties":false,"properties":{"cs-CZ":{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.visitType.name.cs-CZ","typeLabel":"string"},"de":{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.visitType.name.de","typeLabel":"string"},"en":{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.visitType.name.en","typeLabel":"string"},"ru":{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.visitType.name.ru","typeLabel":"string"}},"description":"Localized visit type name keyed by response locale (`cs-CZ`, `de`, `en`, `ru`). A missing requested translation falls back to the Czech name, like the hotel `name`.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.visitType.name","typeLabel":"object"}},"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.visitType","typeLabel":"object"}},"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR.perStay","typeLabel":"object"}},"description":"Two independently selected minima for one currency. See [Prices](/api/prices#two-independent-minima).","uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0.EUR","typeLabel":"object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.0","typeLabel":"object"},{"type":"null","description":"Lowest prices of a complete stay from today onward for the package at this hotel, per currency. Null when no complete stay exists.","minProperties":1,"properties":{"CZK":{"type":"object","required":["perPersonPerNight","perStay"],"properties":{"perPersonPerNight":{"type":"object","description":"The offer with the lowest average price per guest per night.","required":["amount","original","nights","occupancy","hotel","visitType"],"example":{"amount":{"amountMinor":50400,"currency":"EUR","currencyExponent":2},"original":{"amountMinor":56000,"currency":"EUR","currencyExponent":2},"nights":7,"occupancy":1,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"visitType":{"id":"6720c0a1b2c3d4e5f6a7b801","name":{"cs-CZ":"Klasická lázeňská léčba","de":"Klassische Kur"}}},"properties":{"amount":{"type":"object","description":"Price of the offer after its applicable promotions.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in the smallest currency unit.","example":180000},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Decimal exponent for the currency."}}},"original":{"oneOf":[{"type":"object","description":"Price of the same offer before its promotions. Null when no promotion lowers this minimum's rounded amount. See [Minimum fields](/api/objects/price-from#minimum-fields).","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}}},{"type":"null","description":"Price of the same offer before its promotions. Null when no promotion lowers this minimum's rounded amount. See [Minimum fields](/api/objects/price-from#minimum-fields).","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}}}]},"nights":{"type":"integer","minimum":1,"description":"Number of nights of the offer."},"occupancy":{"type":"integer","minimum":1,"description":"Standard occupancy of the offer's room type. `perStay` amounts cover this many guests; `perPersonPerNight` amounts are averaged over them."},"hotel":{"type":"object","description":"Hotel of the offer.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Hotel whose offer gives this minimum."},"name":{"type":"object","description":"Localized hotel name, with the same Czech fallback as the hotel's `name`.","example":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"},"properties":{"cs-CZ":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"de":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"en":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"ru":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]}},"additionalProperties":false}}},"visitType":{"type":"object","description":"Visit type of the offer.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Visit type whose offer gives this minimum. Open it with `GET /visit-types/{visitTypeId}` using the same public key."},"name":{"type":"object","additionalProperties":false,"properties":{"cs-CZ":{"type":"string","minLength":1},"de":{"type":"string","minLength":1},"en":{"type":"string","minLength":1},"ru":{"type":"string","minLength":1}},"description":"Localized visit type name keyed by response locale (`cs-CZ`, `de`, `en`, `ru`). A missing requested translation falls back to the Czech name, like the hotel `name`."}}}}},"perStay":{"type":"object","description":"The offer with the lowest total for the whole room and stay at its standard occupancy. Selected independently of `perPersonPerNight`; the two can be different offers.","required":["amount","original","nights","occupancy","hotel","visitType"],"example":{"amount":{"amountMinor":50400,"currency":"EUR","currencyExponent":2},"original":{"amountMinor":56000,"currency":"EUR","currencyExponent":2},"nights":7,"occupancy":1,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"visitType":{"id":"6720c0a1b2c3d4e5f6a7b801","name":{"cs-CZ":"Klasická lázeňská léčba","de":"Klassische Kur"}}},"properties":{"amount":{"type":"object","description":"Price of the offer after its applicable promotions.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in the smallest currency unit.","example":180000},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Decimal exponent for the currency."}}},"original":{"oneOf":[{"type":"object","description":"Price of the same offer before its promotions. Null when no promotion lowers this minimum's rounded amount. See [Minimum fields](/api/objects/price-from#minimum-fields).","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}}},{"type":"null","description":"Price of the same offer before its promotions. Null when no promotion lowers this minimum's rounded amount. See [Minimum fields](/api/objects/price-from#minimum-fields).","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}}}]},"nights":{"type":"integer","minimum":1,"description":"Number of nights of the offer."},"occupancy":{"type":"integer","minimum":1,"description":"Standard occupancy of the offer's room type. `perStay` amounts cover this many guests; `perPersonPerNight` amounts are averaged over them."},"hotel":{"type":"object","description":"Hotel of the offer.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Hotel whose offer gives this minimum."},"name":{"type":"object","description":"Localized hotel name, with the same Czech fallback as the hotel's `name`.","example":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"},"properties":{"cs-CZ":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"de":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"en":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"ru":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]}},"additionalProperties":false}}},"visitType":{"type":"object","description":"Visit type of the offer.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Visit type whose offer gives this minimum. Open it with `GET /visit-types/{visitTypeId}` using the same public key."},"name":{"type":"object","additionalProperties":false,"properties":{"cs-CZ":{"type":"string","minLength":1},"de":{"type":"string","minLength":1},"en":{"type":"string","minLength":1},"ru":{"type":"string","minLength":1}},"description":"Localized visit type name keyed by response locale (`cs-CZ`, `de`, `en`, `ru`). A missing requested translation falls back to the Czech name, like the hotel `name`."}}}}}},"description":"Two independently selected minima for one currency. See [Prices](/api/prices#two-independent-minima)."},"EUR":{"type":"object","required":["perPersonPerNight","perStay"],"properties":{"perPersonPerNight":{"type":"object","description":"The offer with the lowest average price per guest per night.","required":["amount","original","nights","occupancy","hotel","visitType"],"example":{"amount":{"amountMinor":50400,"currency":"EUR","currencyExponent":2},"original":{"amountMinor":56000,"currency":"EUR","currencyExponent":2},"nights":7,"occupancy":1,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"visitType":{"id":"6720c0a1b2c3d4e5f6a7b801","name":{"cs-CZ":"Klasická lázeňská léčba","de":"Klassische Kur"}}},"properties":{"amount":{"type":"object","description":"Price of the offer after its applicable promotions.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in the smallest currency unit.","example":180000},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Decimal exponent for the currency."}}},"original":{"oneOf":[{"type":"object","description":"Price of the same offer before its promotions. Null when no promotion lowers this minimum's rounded amount. See [Minimum fields](/api/objects/price-from#minimum-fields).","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}}},{"type":"null","description":"Price of the same offer before its promotions. Null when no promotion lowers this minimum's rounded amount. See [Minimum fields](/api/objects/price-from#minimum-fields).","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}}}]},"nights":{"type":"integer","minimum":1,"description":"Number of nights of the offer."},"occupancy":{"type":"integer","minimum":1,"description":"Standard occupancy of the offer's room type. `perStay` amounts cover this many guests; `perPersonPerNight` amounts are averaged over them."},"hotel":{"type":"object","description":"Hotel of the offer.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Hotel whose offer gives this minimum."},"name":{"type":"object","description":"Localized hotel name, with the same Czech fallback as the hotel's `name`.","example":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"},"properties":{"cs-CZ":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"de":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"en":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"ru":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]}},"additionalProperties":false}}},"visitType":{"type":"object","description":"Visit type of the offer.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Visit type whose offer gives this minimum. Open it with `GET /visit-types/{visitTypeId}` using the same public key."},"name":{"type":"object","additionalProperties":false,"properties":{"cs-CZ":{"type":"string","minLength":1},"de":{"type":"string","minLength":1},"en":{"type":"string","minLength":1},"ru":{"type":"string","minLength":1}},"description":"Localized visit type name keyed by response locale (`cs-CZ`, `de`, `en`, `ru`). A missing requested translation falls back to the Czech name, like the hotel `name`."}}}}},"perStay":{"type":"object","description":"The offer with the lowest total for the whole room and stay at its standard occupancy. Selected independently of `perPersonPerNight`; the two can be different offers.","required":["amount","original","nights","occupancy","hotel","visitType"],"example":{"amount":{"amountMinor":50400,"currency":"EUR","currencyExponent":2},"original":{"amountMinor":56000,"currency":"EUR","currencyExponent":2},"nights":7,"occupancy":1,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"visitType":{"id":"6720c0a1b2c3d4e5f6a7b801","name":{"cs-CZ":"Klasická lázeňská léčba","de":"Klassische Kur"}}},"properties":{"amount":{"type":"object","description":"Price of the offer after its applicable promotions.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in the smallest currency unit.","example":180000},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Decimal exponent for the currency."}}},"original":{"oneOf":[{"type":"object","description":"Price of the same offer before its promotions. Null when no promotion lowers this minimum's rounded amount. See [Minimum fields](/api/objects/price-from#minimum-fields).","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}}},{"type":"null","description":"Price of the same offer before its promotions. Null when no promotion lowers this minimum's rounded amount. See [Minimum fields](/api/objects/price-from#minimum-fields).","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}}}]},"nights":{"type":"integer","minimum":1,"description":"Number of nights of the offer."},"occupancy":{"type":"integer","minimum":1,"description":"Standard occupancy of the offer's room type. `perStay` amounts cover this many guests; `perPersonPerNight` amounts are averaged over them."},"hotel":{"type":"object","description":"Hotel of the offer.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Hotel whose offer gives this minimum."},"name":{"type":"object","description":"Localized hotel name, with the same Czech fallback as the hotel's `name`.","example":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"},"properties":{"cs-CZ":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"de":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"en":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"ru":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]}},"additionalProperties":false}}},"visitType":{"type":"object","description":"Visit type of the offer.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Visit type whose offer gives this minimum. Open it with `GET /visit-types/{visitTypeId}` using the same public key."},"name":{"type":"object","additionalProperties":false,"properties":{"cs-CZ":{"type":"string","minLength":1},"de":{"type":"string","minLength":1},"en":{"type":"string","minLength":1},"ru":{"type":"string","minLength":1}},"description":"Localized visit type name keyed by response locale (`cs-CZ`, `de`, `en`, `ru`). A missing requested translation falls back to the Czech name, like the hotel `name`."}}}}}},"description":"Two independently selected minima for one currency. See [Prices](/api/prices#two-independent-minima)."}},"additionalProperties":false,"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFrom","typeLabel":"object | null"},"hotel":{"type":"object","description":"Hotel summary. Present only with `expand=hotel`.","required":["id","name","stars"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Hotel id, equal to the listing's `hotelId`.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].hotel.id","typeLabel":"string"},"name":{"type":"object","description":"Localized hotel name, with the same Czech fallback as the hotel's `name`.","example":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"},"properties":{"cs-CZ":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].hotel.name.cs-CZ.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].hotel.name.cs-CZ.oneOf.1","typeLabel":"null"}],"uniqueKey":"hotelListings.items.[INDEX].hotel.name.cs-CZ","typeLabel":"string | null"},"de":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].hotel.name.de.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].hotel.name.de.oneOf.1","typeLabel":"null"}],"uniqueKey":"hotelListings.items.[INDEX].hotel.name.de","typeLabel":"string | null"},"en":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].hotel.name.en.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].hotel.name.en.oneOf.1","typeLabel":"null"}],"uniqueKey":"hotelListings.items.[INDEX].hotel.name.en","typeLabel":"string | null"},"ru":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].hotel.name.ru.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].hotel.name.ru.oneOf.1","typeLabel":"null"}],"uniqueKey":"hotelListings.items.[INDEX].hotel.name.ru","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].hotel.name","typeLabel":"object"},"stars":{"oneOf":[{"type":"integer","description":"Star rating from 1 to 5, or null when the hotel has none.","maximum":5,"minimum":1,"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].hotel.stars.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Star rating from 1 to 5, or null when the hotel has none.","maximum":5,"minimum":1,"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].hotel.stars.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].hotel.stars","typeLabel":"integer | null"}},"uniqueKey":"hotelListings.items.[INDEX].hotel","typeLabel":"object"},"priceFromPeriods":{"oneOf":[{"type":"array","items":{"type":"object","additionalProperties":false,"required":["from","to","activePromotionIds","priceFrom"],"properties":{"from":{"type":"string","format":"date","description":"First night of the period.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].from","typeLabel":"string\u003cdate>"},"to":{"type":"string","format":"date","description":"Last night of the period, inclusive.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].to","typeLabel":"string\u003cdate>"},"activePromotionIds":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].activePromotionIds.items.[INDEX]","typeLabel":"string"},"description":"Promotions that apply in the period to at least one room with a price, in the order of the package's `promotions`. A promotion can be active without lowering the displayed price.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].activePromotionIds","typeLabel":"string[]"},"priceFrom":{"oneOf":[{"type":"object","description":"Prices by currency. Null when no room has a price for the period; the period and its promotion ids are still returned.","minProperties":1,"properties":{"CZK":{"type":"object","additionalProperties":false,"required":["perPersonPerNight","perPersonPerStay","perStay"],"properties":{"perPersonPerNight":{"type":"object","description":"Lowest price per guest per night.","required":["amount","original","nights","occupancy","hotel","roomTypeId","appliedPromotionIds"],"properties":{"amount":{"type":"object","description":"Price after promotions. Do not apply promotions again.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in the smallest currency unit.","example":180000,"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.amount.amountMinor","typeLabel":"integer"},"currency":{"type":"string","enum":["CZK","EUR"],"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.amount.currency","typeLabel":"enum\u003cstring>"},"currencyExponent":{"type":"integer","enum":[2],"description":"Decimal exponent for the currency.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.amount.currencyExponent","typeLabel":"enum\u003cinteger>"}},"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.amount","typeLabel":"object"},"original":{"oneOf":[{"type":"object","description":"Price of the same room before promotions; null when promotions do not lower the rounded price.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.original.oneOf.0.amountMinor","typeLabel":"integer"},"currency":{"type":"string","enum":["CZK","EUR"],"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.original.oneOf.0.currency","typeLabel":"enum\u003cstring>"},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.original.oneOf.0.currencyExponent","typeLabel":"enum\u003cinteger>"}},"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.original.oneOf.0","typeLabel":"object"},{"type":"null","description":"Price of the same room before promotions; null when promotions do not lower the rounded price.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}},"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.original.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.original","typeLabel":"object | null"},"nights":{"type":"integer","minimum":1,"description":"Length of the priced stay: the package's minimum or fixed number of nights, not the length of the period.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.nights","typeLabel":"integer"},"occupancy":{"type":"integer","minimum":1,"description":"Standard occupancy of the room type the price comes from.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.occupancy","typeLabel":"integer"},"hotel":{"type":"object","description":"Hotel of the room type the price comes from.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Hotel whose offer gives this minimum.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.id","typeLabel":"string"},"name":{"type":"object","description":"Localized hotel name, with the same Czech fallback as the hotel's `name`.","example":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"},"properties":{"cs-CZ":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.name.cs-CZ.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.name.cs-CZ.oneOf.1","typeLabel":"null"}],"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.name.cs-CZ","typeLabel":"string | null"},"de":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.name.de.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.name.de.oneOf.1","typeLabel":"null"}],"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.name.de","typeLabel":"string | null"},"en":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.name.en.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.name.en.oneOf.1","typeLabel":"null"}],"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.name.en","typeLabel":"string | null"},"ru":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.name.ru.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.name.ru.oneOf.1","typeLabel":"null"}],"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.name.ru","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.name","typeLabel":"object"}},"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.hotel","typeLabel":"object"},"roomTypeId":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Room type the price comes from.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.roomTypeId","typeLabel":"string"},"appliedPromotionIds":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.appliedPromotionIds.items.[INDEX]","typeLabel":"string"},"description":"Promotions included in this price, in the order of the package's `promotions`. Each is also listed in the period's `activePromotionIds`. Empty when no promotion changes the price.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.appliedPromotionIds","typeLabel":"string[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight","typeLabel":"object"},"perPersonPerStay":{"type":"object","description":"Price per guest for the whole stay, in the same room as `perPersonPerNight`. Rounded separately; do not multiply the nightly price.","required":["amount","original","nights","occupancy","hotel","roomTypeId","appliedPromotionIds"],"properties":{"amount":{"type":"object","description":"Price after promotions. Do not apply promotions again.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in the smallest currency unit.","example":180000,"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.amount.amountMinor","typeLabel":"integer"},"currency":{"type":"string","enum":["CZK","EUR"],"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.amount.currency","typeLabel":"enum\u003cstring>"},"currencyExponent":{"type":"integer","enum":[2],"description":"Decimal exponent for the currency.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.amount.currencyExponent","typeLabel":"enum\u003cinteger>"}},"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.amount","typeLabel":"object"},"original":{"oneOf":[{"type":"object","description":"Price of the same room before promotions; null when promotions do not lower the rounded price.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.original.oneOf.0.amountMinor","typeLabel":"integer"},"currency":{"type":"string","enum":["CZK","EUR"],"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.original.oneOf.0.currency","typeLabel":"enum\u003cstring>"},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.original.oneOf.0.currencyExponent","typeLabel":"enum\u003cinteger>"}},"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.original.oneOf.0","typeLabel":"object"},{"type":"null","description":"Price of the same room before promotions; null when promotions do not lower the rounded price.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}},"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.original.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.original","typeLabel":"object | null"},"nights":{"type":"integer","minimum":1,"description":"Length of the priced stay: the package's minimum or fixed number of nights, not the length of the period.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.nights","typeLabel":"integer"},"occupancy":{"type":"integer","minimum":1,"description":"Standard occupancy of the room type the price comes from.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.occupancy","typeLabel":"integer"},"hotel":{"type":"object","description":"Hotel of the room type the price comes from.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Hotel whose offer gives this minimum.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.hotel.id","typeLabel":"string"},"name":{"type":"object","description":"Localized hotel name, with the same Czech fallback as the hotel's `name`.","example":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"},"properties":{"cs-CZ":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.hotel.name.cs-CZ.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.hotel.name.cs-CZ.oneOf.1","typeLabel":"null"}],"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.hotel.name.cs-CZ","typeLabel":"string | null"},"de":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.hotel.name.de.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.hotel.name.de.oneOf.1","typeLabel":"null"}],"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.hotel.name.de","typeLabel":"string | null"},"en":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.hotel.name.en.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.hotel.name.en.oneOf.1","typeLabel":"null"}],"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.hotel.name.en","typeLabel":"string | null"},"ru":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.hotel.name.ru.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.hotel.name.ru.oneOf.1","typeLabel":"null"}],"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.hotel.name.ru","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.hotel.name","typeLabel":"object"}},"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.hotel","typeLabel":"object"},"roomTypeId":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Room type the price comes from.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.roomTypeId","typeLabel":"string"},"appliedPromotionIds":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.appliedPromotionIds.items.[INDEX]","typeLabel":"string"},"description":"Promotions included in this price, in the order of the package's `promotions`. Each is also listed in the period's `activePromotionIds`. Empty when no promotion changes the price.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.appliedPromotionIds","typeLabel":"string[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay","typeLabel":"object"},"perStay":{"type":"object","description":"Lowest price of a whole room for the whole stay, at its standard occupancy. It can come from a different room or hotel.","required":["amount","original","nights","occupancy","hotel","roomTypeId","appliedPromotionIds"],"properties":{"amount":{"type":"object","description":"Price after promotions. Do not apply promotions again.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in the smallest currency unit.","example":180000,"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.amount.amountMinor","typeLabel":"integer"},"currency":{"type":"string","enum":["CZK","EUR"],"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.amount.currency","typeLabel":"enum\u003cstring>"},"currencyExponent":{"type":"integer","enum":[2],"description":"Decimal exponent for the currency.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.amount.currencyExponent","typeLabel":"enum\u003cinteger>"}},"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.amount","typeLabel":"object"},"original":{"oneOf":[{"type":"object","description":"Price of the same room before promotions; null when promotions do not lower the rounded price.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.original.oneOf.0.amountMinor","typeLabel":"integer"},"currency":{"type":"string","enum":["CZK","EUR"],"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.original.oneOf.0.currency","typeLabel":"enum\u003cstring>"},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.original.oneOf.0.currencyExponent","typeLabel":"enum\u003cinteger>"}},"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.original.oneOf.0","typeLabel":"object"},{"type":"null","description":"Price of the same room before promotions; null when promotions do not lower the rounded price.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}},"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.original.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.original","typeLabel":"object | null"},"nights":{"type":"integer","minimum":1,"description":"Length of the priced stay: the package's minimum or fixed number of nights, not the length of the period.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.nights","typeLabel":"integer"},"occupancy":{"type":"integer","minimum":1,"description":"Standard occupancy of the room type the price comes from.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.occupancy","typeLabel":"integer"},"hotel":{"type":"object","description":"Hotel of the room type the price comes from.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Hotel whose offer gives this minimum.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.hotel.id","typeLabel":"string"},"name":{"type":"object","description":"Localized hotel name, with the same Czech fallback as the hotel's `name`.","example":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"},"properties":{"cs-CZ":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.hotel.name.cs-CZ.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.hotel.name.cs-CZ.oneOf.1","typeLabel":"null"}],"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.hotel.name.cs-CZ","typeLabel":"string | null"},"de":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.hotel.name.de.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.hotel.name.de.oneOf.1","typeLabel":"null"}],"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.hotel.name.de","typeLabel":"string | null"},"en":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.hotel.name.en.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.hotel.name.en.oneOf.1","typeLabel":"null"}],"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.hotel.name.en","typeLabel":"string | null"},"ru":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.hotel.name.ru.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.hotel.name.ru.oneOf.1","typeLabel":"null"}],"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.hotel.name.ru","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.hotel.name","typeLabel":"object"}},"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.hotel","typeLabel":"object"},"roomTypeId":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Room type the price comes from.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.roomTypeId","typeLabel":"string"},"appliedPromotionIds":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.appliedPromotionIds.items.[INDEX]","typeLabel":"string"},"description":"Promotions included in this price, in the order of the package's `promotions`. Each is also listed in the period's `activePromotionIds`. Empty when no promotion changes the price.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.appliedPromotionIds","typeLabel":"string[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay","typeLabel":"object"}},"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK","typeLabel":"object"},"EUR":{"type":"object","additionalProperties":false,"required":["perPersonPerNight","perPersonPerStay","perStay"],"properties":{"perPersonPerNight":{"type":"object","description":"Lowest price per guest per night.","required":["amount","original","nights","occupancy","hotel","roomTypeId","appliedPromotionIds"],"properties":{"amount":{"type":"object","description":"Price after promotions. Do not apply promotions again.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in the smallest currency unit.","example":180000,"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.amount.amountMinor","typeLabel":"integer"},"currency":{"type":"string","enum":["CZK","EUR"],"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.amount.currency","typeLabel":"enum\u003cstring>"},"currencyExponent":{"type":"integer","enum":[2],"description":"Decimal exponent for the currency.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.amount.currencyExponent","typeLabel":"enum\u003cinteger>"}},"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.amount","typeLabel":"object"},"original":{"oneOf":[{"type":"object","description":"Price of the same room before promotions; null when promotions do not lower the rounded price.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.original.oneOf.0.amountMinor","typeLabel":"integer"},"currency":{"type":"string","enum":["CZK","EUR"],"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.original.oneOf.0.currency","typeLabel":"enum\u003cstring>"},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.original.oneOf.0.currencyExponent","typeLabel":"enum\u003cinteger>"}},"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.original.oneOf.0","typeLabel":"object"},{"type":"null","description":"Price of the same room before promotions; null when promotions do not lower the rounded price.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}},"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.original.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.original","typeLabel":"object | null"},"nights":{"type":"integer","minimum":1,"description":"Length of the priced stay: the package's minimum or fixed number of nights, not the length of the period.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.nights","typeLabel":"integer"},"occupancy":{"type":"integer","minimum":1,"description":"Standard occupancy of the room type the price comes from.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.occupancy","typeLabel":"integer"},"hotel":{"type":"object","description":"Hotel of the room type the price comes from.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Hotel whose offer gives this minimum.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.id","typeLabel":"string"},"name":{"type":"object","description":"Localized hotel name, with the same Czech fallback as the hotel's `name`.","example":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"},"properties":{"cs-CZ":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.name.cs-CZ.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.name.cs-CZ.oneOf.1","typeLabel":"null"}],"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.name.cs-CZ","typeLabel":"string | null"},"de":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.name.de.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.name.de.oneOf.1","typeLabel":"null"}],"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.name.de","typeLabel":"string | null"},"en":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.name.en.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.name.en.oneOf.1","typeLabel":"null"}],"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.name.en","typeLabel":"string | null"},"ru":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.name.ru.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.name.ru.oneOf.1","typeLabel":"null"}],"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.name.ru","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.name","typeLabel":"object"}},"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.hotel","typeLabel":"object"},"roomTypeId":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Room type the price comes from.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.roomTypeId","typeLabel":"string"},"appliedPromotionIds":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.appliedPromotionIds.items.[INDEX]","typeLabel":"string"},"description":"Promotions included in this price, in the order of the package's `promotions`. Each is also listed in the period's `activePromotionIds`. Empty when no promotion changes the price.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.appliedPromotionIds","typeLabel":"string[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight","typeLabel":"object"},"perPersonPerStay":{"type":"object","description":"Price per guest for the whole stay, in the same room as `perPersonPerNight`. Rounded separately; do not multiply the nightly price.","required":["amount","original","nights","occupancy","hotel","roomTypeId","appliedPromotionIds"],"properties":{"amount":{"type":"object","description":"Price after promotions. Do not apply promotions again.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in the smallest currency unit.","example":180000,"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.amount.amountMinor","typeLabel":"integer"},"currency":{"type":"string","enum":["CZK","EUR"],"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.amount.currency","typeLabel":"enum\u003cstring>"},"currencyExponent":{"type":"integer","enum":[2],"description":"Decimal exponent for the currency.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.amount.currencyExponent","typeLabel":"enum\u003cinteger>"}},"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.amount","typeLabel":"object"},"original":{"oneOf":[{"type":"object","description":"Price of the same room before promotions; null when promotions do not lower the rounded price.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.original.oneOf.0.amountMinor","typeLabel":"integer"},"currency":{"type":"string","enum":["CZK","EUR"],"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.original.oneOf.0.currency","typeLabel":"enum\u003cstring>"},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.original.oneOf.0.currencyExponent","typeLabel":"enum\u003cinteger>"}},"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.original.oneOf.0","typeLabel":"object"},{"type":"null","description":"Price of the same room before promotions; null when promotions do not lower the rounded price.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}},"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.original.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.original","typeLabel":"object | null"},"nights":{"type":"integer","minimum":1,"description":"Length of the priced stay: the package's minimum or fixed number of nights, not the length of the period.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.nights","typeLabel":"integer"},"occupancy":{"type":"integer","minimum":1,"description":"Standard occupancy of the room type the price comes from.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.occupancy","typeLabel":"integer"},"hotel":{"type":"object","description":"Hotel of the room type the price comes from.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Hotel whose offer gives this minimum.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.hotel.id","typeLabel":"string"},"name":{"type":"object","description":"Localized hotel name, with the same Czech fallback as the hotel's `name`.","example":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"},"properties":{"cs-CZ":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.hotel.name.cs-CZ.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.hotel.name.cs-CZ.oneOf.1","typeLabel":"null"}],"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.hotel.name.cs-CZ","typeLabel":"string | null"},"de":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.hotel.name.de.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.hotel.name.de.oneOf.1","typeLabel":"null"}],"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.hotel.name.de","typeLabel":"string | null"},"en":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.hotel.name.en.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.hotel.name.en.oneOf.1","typeLabel":"null"}],"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.hotel.name.en","typeLabel":"string | null"},"ru":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.hotel.name.ru.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.hotel.name.ru.oneOf.1","typeLabel":"null"}],"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.hotel.name.ru","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.hotel.name","typeLabel":"object"}},"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.hotel","typeLabel":"object"},"roomTypeId":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Room type the price comes from.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.roomTypeId","typeLabel":"string"},"appliedPromotionIds":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.appliedPromotionIds.items.[INDEX]","typeLabel":"string"},"description":"Promotions included in this price, in the order of the package's `promotions`. Each is also listed in the period's `activePromotionIds`. Empty when no promotion changes the price.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.appliedPromotionIds","typeLabel":"string[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay","typeLabel":"object"},"perStay":{"type":"object","description":"Lowest price of a whole room for the whole stay, at its standard occupancy. It can come from a different room or hotel.","required":["amount","original","nights","occupancy","hotel","roomTypeId","appliedPromotionIds"],"properties":{"amount":{"type":"object","description":"Price after promotions. Do not apply promotions again.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in the smallest currency unit.","example":180000,"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.amount.amountMinor","typeLabel":"integer"},"currency":{"type":"string","enum":["CZK","EUR"],"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.amount.currency","typeLabel":"enum\u003cstring>"},"currencyExponent":{"type":"integer","enum":[2],"description":"Decimal exponent for the currency.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.amount.currencyExponent","typeLabel":"enum\u003cinteger>"}},"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.amount","typeLabel":"object"},"original":{"oneOf":[{"type":"object","description":"Price of the same room before promotions; null when promotions do not lower the rounded price.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.original.oneOf.0.amountMinor","typeLabel":"integer"},"currency":{"type":"string","enum":["CZK","EUR"],"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.original.oneOf.0.currency","typeLabel":"enum\u003cstring>"},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.original.oneOf.0.currencyExponent","typeLabel":"enum\u003cinteger>"}},"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.original.oneOf.0","typeLabel":"object"},{"type":"null","description":"Price of the same room before promotions; null when promotions do not lower the rounded price.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}},"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.original.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.original","typeLabel":"object | null"},"nights":{"type":"integer","minimum":1,"description":"Length of the priced stay: the package's minimum or fixed number of nights, not the length of the period.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.nights","typeLabel":"integer"},"occupancy":{"type":"integer","minimum":1,"description":"Standard occupancy of the room type the price comes from.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.occupancy","typeLabel":"integer"},"hotel":{"type":"object","description":"Hotel of the room type the price comes from.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Hotel whose offer gives this minimum.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.hotel.id","typeLabel":"string"},"name":{"type":"object","description":"Localized hotel name, with the same Czech fallback as the hotel's `name`.","example":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"},"properties":{"cs-CZ":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.hotel.name.cs-CZ.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.hotel.name.cs-CZ.oneOf.1","typeLabel":"null"}],"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.hotel.name.cs-CZ","typeLabel":"string | null"},"de":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.hotel.name.de.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.hotel.name.de.oneOf.1","typeLabel":"null"}],"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.hotel.name.de","typeLabel":"string | null"},"en":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.hotel.name.en.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.hotel.name.en.oneOf.1","typeLabel":"null"}],"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.hotel.name.en","typeLabel":"string | null"},"ru":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.hotel.name.ru.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.hotel.name.ru.oneOf.1","typeLabel":"null"}],"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.hotel.name.ru","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.hotel.name","typeLabel":"object"}},"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.hotel","typeLabel":"object"},"roomTypeId":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Room type the price comes from.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.roomTypeId","typeLabel":"string"},"appliedPromotionIds":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.appliedPromotionIds.items.[INDEX]","typeLabel":"string"},"description":"Promotions included in this price, in the order of the package's `promotions`. Each is also listed in the period's `activePromotionIds`. Empty when no promotion changes the price.","isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.appliedPromotionIds","typeLabel":"string[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay","typeLabel":"object"}},"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR","typeLabel":"object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0","typeLabel":"object"},{"type":"null","description":"Prices by currency. Null when no room has a price for the period; the period and its promotion ids are still returned.","minProperties":1,"properties":{"CZK":{"type":"object","additionalProperties":false,"required":["perPersonPerNight","perPersonPerStay","perStay"],"properties":{"perPersonPerNight":{"type":"object","description":"Lowest price per guest per night.","required":["amount","original","nights","occupancy","hotel","roomTypeId","appliedPromotionIds"],"properties":{"amount":{"type":"object","description":"Price after promotions. Do not apply promotions again.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in the smallest currency unit.","example":180000},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Decimal exponent for the currency."}}},"original":{"oneOf":[{"type":"object","description":"Price of the same room before promotions; null when promotions do not lower the rounded price.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}}},{"type":"null","description":"Price of the same room before promotions; null when promotions do not lower the rounded price.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}}}]},"nights":{"type":"integer","minimum":1,"description":"Length of the priced stay: the package's minimum or fixed number of nights, not the length of the period."},"occupancy":{"type":"integer","minimum":1,"description":"Standard occupancy of the room type the price comes from."},"hotel":{"type":"object","description":"Hotel of the room type the price comes from.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Hotel whose offer gives this minimum."},"name":{"type":"object","description":"Localized hotel name, with the same Czech fallback as the hotel's `name`.","example":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"},"properties":{"cs-CZ":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"de":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"en":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"ru":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]}},"additionalProperties":false}}},"roomTypeId":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Room type the price comes from."},"appliedPromotionIds":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[0-9a-fA-F]{24}$"},"description":"Promotions included in this price, in the order of the package's `promotions`. Each is also listed in the period's `activePromotionIds`. Empty when no promotion changes the price."}},"additionalProperties":false},"perPersonPerStay":{"type":"object","description":"Price per guest for the whole stay, in the same room as `perPersonPerNight`. Rounded separately; do not multiply the nightly price.","required":["amount","original","nights","occupancy","hotel","roomTypeId","appliedPromotionIds"],"properties":{"amount":{"type":"object","description":"Price after promotions. Do not apply promotions again.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in the smallest currency unit.","example":180000},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Decimal exponent for the currency."}}},"original":{"oneOf":[{"type":"object","description":"Price of the same room before promotions; null when promotions do not lower the rounded price.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}}},{"type":"null","description":"Price of the same room before promotions; null when promotions do not lower the rounded price.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}}}]},"nights":{"type":"integer","minimum":1,"description":"Length of the priced stay: the package's minimum or fixed number of nights, not the length of the period."},"occupancy":{"type":"integer","minimum":1,"description":"Standard occupancy of the room type the price comes from."},"hotel":{"type":"object","description":"Hotel of the room type the price comes from.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Hotel whose offer gives this minimum."},"name":{"type":"object","description":"Localized hotel name, with the same Czech fallback as the hotel's `name`.","example":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"},"properties":{"cs-CZ":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"de":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"en":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"ru":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]}},"additionalProperties":false}}},"roomTypeId":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Room type the price comes from."},"appliedPromotionIds":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[0-9a-fA-F]{24}$"},"description":"Promotions included in this price, in the order of the package's `promotions`. Each is also listed in the period's `activePromotionIds`. Empty when no promotion changes the price."}},"additionalProperties":false},"perStay":{"type":"object","description":"Lowest price of a whole room for the whole stay, at its standard occupancy. It can come from a different room or hotel.","required":["amount","original","nights","occupancy","hotel","roomTypeId","appliedPromotionIds"],"properties":{"amount":{"type":"object","description":"Price after promotions. Do not apply promotions again.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in the smallest currency unit.","example":180000},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Decimal exponent for the currency."}}},"original":{"oneOf":[{"type":"object","description":"Price of the same room before promotions; null when promotions do not lower the rounded price.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}}},{"type":"null","description":"Price of the same room before promotions; null when promotions do not lower the rounded price.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}}}]},"nights":{"type":"integer","minimum":1,"description":"Length of the priced stay: the package's minimum or fixed number of nights, not the length of the period."},"occupancy":{"type":"integer","minimum":1,"description":"Standard occupancy of the room type the price comes from."},"hotel":{"type":"object","description":"Hotel of the room type the price comes from.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Hotel whose offer gives this minimum."},"name":{"type":"object","description":"Localized hotel name, with the same Czech fallback as the hotel's `name`.","example":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"},"properties":{"cs-CZ":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"de":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"en":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"ru":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]}},"additionalProperties":false}}},"roomTypeId":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Room type the price comes from."},"appliedPromotionIds":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[0-9a-fA-F]{24}$"},"description":"Promotions included in this price, in the order of the package's `promotions`. Each is also listed in the period's `activePromotionIds`. Empty when no promotion changes the price."}},"additionalProperties":false}}},"EUR":{"type":"object","additionalProperties":false,"required":["perPersonPerNight","perPersonPerStay","perStay"],"properties":{"perPersonPerNight":{"type":"object","description":"Lowest price per guest per night.","required":["amount","original","nights","occupancy","hotel","roomTypeId","appliedPromotionIds"],"properties":{"amount":{"type":"object","description":"Price after promotions. Do not apply promotions again.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in the smallest currency unit.","example":180000},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Decimal exponent for the currency."}}},"original":{"oneOf":[{"type":"object","description":"Price of the same room before promotions; null when promotions do not lower the rounded price.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}}},{"type":"null","description":"Price of the same room before promotions; null when promotions do not lower the rounded price.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}}}]},"nights":{"type":"integer","minimum":1,"description":"Length of the priced stay: the package's minimum or fixed number of nights, not the length of the period."},"occupancy":{"type":"integer","minimum":1,"description":"Standard occupancy of the room type the price comes from."},"hotel":{"type":"object","description":"Hotel of the room type the price comes from.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Hotel whose offer gives this minimum."},"name":{"type":"object","description":"Localized hotel name, with the same Czech fallback as the hotel's `name`.","example":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"},"properties":{"cs-CZ":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"de":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"en":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"ru":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]}},"additionalProperties":false}}},"roomTypeId":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Room type the price comes from."},"appliedPromotionIds":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[0-9a-fA-F]{24}$"},"description":"Promotions included in this price, in the order of the package's `promotions`. Each is also listed in the period's `activePromotionIds`. Empty when no promotion changes the price."}},"additionalProperties":false},"perPersonPerStay":{"type":"object","description":"Price per guest for the whole stay, in the same room as `perPersonPerNight`. Rounded separately; do not multiply the nightly price.","required":["amount","original","nights","occupancy","hotel","roomTypeId","appliedPromotionIds"],"properties":{"amount":{"type":"object","description":"Price after promotions. Do not apply promotions again.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in the smallest currency unit.","example":180000},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Decimal exponent for the currency."}}},"original":{"oneOf":[{"type":"object","description":"Price of the same room before promotions; null when promotions do not lower the rounded price.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}}},{"type":"null","description":"Price of the same room before promotions; null when promotions do not lower the rounded price.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}}}]},"nights":{"type":"integer","minimum":1,"description":"Length of the priced stay: the package's minimum or fixed number of nights, not the length of the period."},"occupancy":{"type":"integer","minimum":1,"description":"Standard occupancy of the room type the price comes from."},"hotel":{"type":"object","description":"Hotel of the room type the price comes from.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Hotel whose offer gives this minimum."},"name":{"type":"object","description":"Localized hotel name, with the same Czech fallback as the hotel's `name`.","example":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"},"properties":{"cs-CZ":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"de":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"en":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"ru":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]}},"additionalProperties":false}}},"roomTypeId":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Room type the price comes from."},"appliedPromotionIds":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[0-9a-fA-F]{24}$"},"description":"Promotions included in this price, in the order of the package's `promotions`. Each is also listed in the period's `activePromotionIds`. Empty when no promotion changes the price."}},"additionalProperties":false},"perStay":{"type":"object","description":"Lowest price of a whole room for the whole stay, at its standard occupancy. It can come from a different room or hotel.","required":["amount","original","nights","occupancy","hotel","roomTypeId","appliedPromotionIds"],"properties":{"amount":{"type":"object","description":"Price after promotions. Do not apply promotions again.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in the smallest currency unit.","example":180000},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Decimal exponent for the currency."}}},"original":{"oneOf":[{"type":"object","description":"Price of the same room before promotions; null when promotions do not lower the rounded price.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}}},{"type":"null","description":"Price of the same room before promotions; null when promotions do not lower the rounded price.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}}}]},"nights":{"type":"integer","minimum":1,"description":"Length of the priced stay: the package's minimum or fixed number of nights, not the length of the period."},"occupancy":{"type":"integer","minimum":1,"description":"Standard occupancy of the room type the price comes from."},"hotel":{"type":"object","description":"Hotel of the room type the price comes from.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Hotel whose offer gives this minimum."},"name":{"type":"object","description":"Localized hotel name, with the same Czech fallback as the hotel's `name`.","example":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"},"properties":{"cs-CZ":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"de":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"en":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"ru":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]}},"additionalProperties":false}}},"roomTypeId":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Room type the price comes from."},"appliedPromotionIds":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[0-9a-fA-F]{24}$"},"description":"Promotions included in this price, in the order of the package's `promotions`. Each is also listed in the period's `activePromotionIds`. Empty when no promotion changes the price."}},"additionalProperties":false}}}},"additionalProperties":false,"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX].priceFrom","typeLabel":"object | null"}},"description":"A range of nights in which the package has the same prices. Past periods use today's price list. See [Price period](/api/objects/price-from-period).","example":{"from":"2027-01-10","to":"2027-01-11","activePromotionIds":["6720c0a1b2c3d4e5f6a7d311","6720c0a1b2c3d4e5f6a7d314","6720c0a1b2c3d4e5f6a7d312"],"priceFrom":{"EUR":{"perPersonPerNight":{"amount":{"amountMinor":7480,"currency":"EUR","currencyExponent":2},"original":{"amountMinor":11000,"currency":"EUR","currencyExponent":2},"nights":7,"occupancy":2,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c103","name":{"cs-CZ":"Hotel Bellevue","de":"Hotel Bellevue"}},"roomTypeId":"6720c0a1b2c3d4e5f6a7f201","appliedPromotionIds":["6720c0a1b2c3d4e5f6a7d311","6720c0a1b2c3d4e5f6a7d314"]},"perPersonPerStay":{"amount":{"amountMinor":52360,"currency":"EUR","currencyExponent":2},"original":{"amountMinor":77000,"currency":"EUR","currencyExponent":2},"nights":7,"occupancy":2,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c103","name":{"cs-CZ":"Hotel Bellevue","de":"Hotel Bellevue"}},"roomTypeId":"6720c0a1b2c3d4e5f6a7f201","appliedPromotionIds":["6720c0a1b2c3d4e5f6a7d311","6720c0a1b2c3d4e5f6a7d314"]},"perStay":{"amount":{"amountMinor":71400,"currency":"EUR","currencyExponent":2},"original":{"amountMinor":84000,"currency":"EUR","currencyExponent":2},"nights":7,"occupancy":1,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"roomTypeId":"6720c0a1b2c3d4e5f6a7f103","appliedPromotionIds":["6720c0a1b2c3d4e5f6a7d311"]}}}},"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0.items.[INDEX]","typeLabel":"object"},"description":"Price periods of the package at this hotel, including past periods, ordered by `from`. Present only on the detail with `expand=priceFromPeriods`. Empty when the package has no price list for the nights of its validity; null when SpaPortal cannot calculate the periods. See [Price period](/api/objects/price-from-period).","uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.0","typeLabel":"object[]"},{"type":"null","description":"Price periods of the package at this hotel, including past periods, ordered by `from`. Present only on the detail with `expand=priceFromPeriods`. Empty when the package has no price list for the nights of its validity; null when SpaPortal cannot calculate the periods. See [Price period](/api/objects/price-from-period).","uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods.oneOf.1","typeLabel":"null"}],"uniqueKey":"hotelListings.items.[INDEX].priceFromPeriods","typeLabel":"object[] | null"}},"description":"The package at one hotel, with its price there. See [Hotel listings](/api/objects/visit-type#hotel-listings).","uniqueKey":"hotelListings.items.[INDEX]","typeLabel":"object"},"description":"Active hotels selling the package, each with the package's price at that hotel, ordered by Czech hotel name, then id. A listing is present even when its `priceFrom` is null.","isRequired":true,"uniqueKey":"hotelListings","typeLabel":"object[]"},"images":{"type":"array","items":{"type":"object","required":["url","width","height","alt","variants"],"properties":{"url":{"type":"string","description":"Original image URL. Use it for a full-size view and as the final fallback.","isRequired":true,"uniqueKey":"images.items.[INDEX].url","typeLabel":"string"},"width":{"oneOf":[{"type":"integer","description":"Original display width in pixels after orientation, or null when dimensions are unavailable.","minimum":1,"isRequired":true,"uniqueKey":"images.items.[INDEX].width.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Original display width in pixels after orientation, or null when dimensions are unavailable.","minimum":1,"isRequired":true,"uniqueKey":"images.items.[INDEX].width.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"images.items.[INDEX].width","typeLabel":"integer | null"},"height":{"oneOf":[{"type":"integer","description":"Original display height in pixels after orientation, or null when dimensions are unavailable.","minimum":1,"isRequired":true,"uniqueKey":"images.items.[INDEX].height.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Original display height in pixels after orientation, or null when dimensions are unavailable.","minimum":1,"isRequired":true,"uniqueKey":"images.items.[INDEX].height.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"images.items.[INDEX].height","typeLabel":"integer | null"},"alt":{"type":"object","description":"Localized alternative text. A missing translation falls back to the name of the hotel, room type, or visit type the image belongs to, or null if that name is unavailable. An empty string is intentional decorative text; preserve it.","example":{"cs-CZ":"Český text","de":"Deutscher Text"},"properties":{"cs-CZ":{"oneOf":[{"type":"string","uniqueKey":"images.items.[INDEX].alt.cs-CZ.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"images.items.[INDEX].alt.cs-CZ.oneOf.1","typeLabel":"null"}],"uniqueKey":"images.items.[INDEX].alt.cs-CZ","typeLabel":"string | null"},"de":{"oneOf":[{"type":"string","uniqueKey":"images.items.[INDEX].alt.de.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"images.items.[INDEX].alt.de.oneOf.1","typeLabel":"null"}],"uniqueKey":"images.items.[INDEX].alt.de","typeLabel":"string | null"},"en":{"oneOf":[{"type":"string","uniqueKey":"images.items.[INDEX].alt.en.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"images.items.[INDEX].alt.en.oneOf.1","typeLabel":"null"}],"uniqueKey":"images.items.[INDEX].alt.en","typeLabel":"string | null"},"ru":{"oneOf":[{"type":"string","uniqueKey":"images.items.[INDEX].alt.ru.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"images.items.[INDEX].alt.ru.oneOf.1","typeLabel":"null"}],"uniqueKey":"images.items.[INDEX].alt.ru","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"images.items.[INDEX].alt","typeLabel":"object"},"variants":{"type":"object","additionalProperties":false,"description":"Available WebP images by pixel width. No image is enlarged, so larger sizes can be absent. An original narrower than 480 pixels has no variants. Unavailable variants are represented by an empty object; in that case dimensions can also be null. Use the returned URLs as-is and omit srcset when the object is empty.","properties":{"w480":{"type":"string","format":"uri","uniqueKey":"images.items.[INDEX].variants.w480","typeLabel":"string\u003curi>"},"w960":{"type":"string","format":"uri","uniqueKey":"images.items.[INDEX].variants.w960","typeLabel":"string\u003curi>"},"w1440":{"type":"string","format":"uri","uniqueKey":"images.items.[INDEX].variants.w1440","typeLabel":"string\u003curi>"},"w1920":{"type":"string","format":"uri","uniqueKey":"images.items.[INDEX].variants.w1920","typeLabel":"string\u003curi>"}},"isRequired":true,"uniqueKey":"images.items.[INDEX].variants","typeLabel":"object"}},"uniqueKey":"images.items.[INDEX]","typeLabel":"object"},"description":"Photos in configured order; the first is the main photo. A missing `alt` translation falls back to the localized package name; an empty `alt` marks a decorative image. See [Images](/api/images).","isRequired":true,"uniqueKey":"images","typeLabel":"object[]"},"priceFromPeriods":{"oneOf":[{"type":"array","items":{"type":"object","additionalProperties":false,"required":["from","to","activePromotionIds","priceFrom"],"properties":{"from":{"type":"string","format":"date","description":"First night of the period.","isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].from","typeLabel":"string\u003cdate>"},"to":{"type":"string","format":"date","description":"Last night of the period, inclusive.","isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].to","typeLabel":"string\u003cdate>"},"activePromotionIds":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].activePromotionIds.items.[INDEX]","typeLabel":"string"},"description":"Promotions that apply in the period to at least one room with a price, in the order of the package's `promotions`. A promotion can be active without lowering the displayed price.","isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].activePromotionIds","typeLabel":"string[]"},"priceFrom":{"oneOf":[{"type":"object","description":"Prices by currency. Null when no room has a price for the period; the period and its promotion ids are still returned.","minProperties":1,"properties":{"CZK":{"type":"object","additionalProperties":false,"required":["perPersonPerNight","perPersonPerStay","perStay"],"properties":{"perPersonPerNight":{"type":"object","description":"Lowest price per guest per night.","required":["amount","original","nights","occupancy","hotel","roomTypeId","appliedPromotionIds"],"properties":{"amount":{"type":"object","description":"Price after promotions. Do not apply promotions again.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in the smallest currency unit.","example":180000,"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.amount.amountMinor","typeLabel":"integer"},"currency":{"type":"string","enum":["CZK","EUR"],"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.amount.currency","typeLabel":"enum\u003cstring>"},"currencyExponent":{"type":"integer","enum":[2],"description":"Decimal exponent for the currency.","isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.amount.currencyExponent","typeLabel":"enum\u003cinteger>"}},"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.amount","typeLabel":"object"},"original":{"oneOf":[{"type":"object","description":"Price of the same room before promotions; null when promotions do not lower the rounded price.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře.","isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.original.oneOf.0.amountMinor","typeLabel":"integer"},"currency":{"type":"string","enum":["CZK","EUR"],"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.original.oneOf.0.currency","typeLabel":"enum\u003cstring>"},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`.","isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.original.oneOf.0.currencyExponent","typeLabel":"enum\u003cinteger>"}},"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.original.oneOf.0","typeLabel":"object"},{"type":"null","description":"Price of the same room before promotions; null when promotions do not lower the rounded price.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}},"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.original.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.original","typeLabel":"object | null"},"nights":{"type":"integer","minimum":1,"description":"Length of the priced stay: the package's minimum or fixed number of nights, not the length of the period.","isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.nights","typeLabel":"integer"},"occupancy":{"type":"integer","minimum":1,"description":"Standard occupancy of the room type the price comes from.","isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.occupancy","typeLabel":"integer"},"hotel":{"type":"object","description":"Hotel of the room type the price comes from.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Hotel whose offer gives this minimum.","isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.id","typeLabel":"string"},"name":{"type":"object","description":"Localized hotel name, with the same Czech fallback as the hotel's `name`.","example":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"},"properties":{"cs-CZ":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.name.cs-CZ.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.name.cs-CZ.oneOf.1","typeLabel":"null"}],"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.name.cs-CZ","typeLabel":"string | null"},"de":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.name.de.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.name.de.oneOf.1","typeLabel":"null"}],"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.name.de","typeLabel":"string | null"},"en":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.name.en.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.name.en.oneOf.1","typeLabel":"null"}],"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.name.en","typeLabel":"string | null"},"ru":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.name.ru.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.name.ru.oneOf.1","typeLabel":"null"}],"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.name.ru","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.hotel.name","typeLabel":"object"}},"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.hotel","typeLabel":"object"},"roomTypeId":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Room type the price comes from.","isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.roomTypeId","typeLabel":"string"},"appliedPromotionIds":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.appliedPromotionIds.items.[INDEX]","typeLabel":"string"},"description":"Promotions included in this price, in the order of the package's `promotions`. Each is also listed in the period's `activePromotionIds`. Empty when no promotion changes the price.","isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight.appliedPromotionIds","typeLabel":"string[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerNight","typeLabel":"object"},"perPersonPerStay":{"type":"object","description":"Price per guest for the whole stay, in the same room as `perPersonPerNight`. Rounded separately; do not multiply the nightly price.","required":["amount","original","nights","occupancy","hotel","roomTypeId","appliedPromotionIds"],"properties":{"amount":{"type":"object","description":"Price after promotions. Do not apply promotions again.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in the smallest currency unit.","example":180000,"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.amount.amountMinor","typeLabel":"integer"},"currency":{"type":"string","enum":["CZK","EUR"],"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.amount.currency","typeLabel":"enum\u003cstring>"},"currencyExponent":{"type":"integer","enum":[2],"description":"Decimal exponent for the currency.","isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.amount.currencyExponent","typeLabel":"enum\u003cinteger>"}},"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.amount","typeLabel":"object"},"original":{"oneOf":[{"type":"object","description":"Price of the same room before promotions; null when promotions do not lower the rounded price.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře.","isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.original.oneOf.0.amountMinor","typeLabel":"integer"},"currency":{"type":"string","enum":["CZK","EUR"],"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.original.oneOf.0.currency","typeLabel":"enum\u003cstring>"},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`.","isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.original.oneOf.0.currencyExponent","typeLabel":"enum\u003cinteger>"}},"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.original.oneOf.0","typeLabel":"object"},{"type":"null","description":"Price of the same room before promotions; null when promotions do not lower the rounded price.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}},"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.original.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.original","typeLabel":"object | null"},"nights":{"type":"integer","minimum":1,"description":"Length of the priced stay: the package's minimum or fixed number of nights, not the length of the period.","isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.nights","typeLabel":"integer"},"occupancy":{"type":"integer","minimum":1,"description":"Standard occupancy of the room type the price comes from.","isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.occupancy","typeLabel":"integer"},"hotel":{"type":"object","description":"Hotel of the room type the price comes from.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Hotel whose offer gives this minimum.","isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.hotel.id","typeLabel":"string"},"name":{"type":"object","description":"Localized hotel name, with the same Czech fallback as the hotel's `name`.","example":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"},"properties":{"cs-CZ":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.hotel.name.cs-CZ.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.hotel.name.cs-CZ.oneOf.1","typeLabel":"null"}],"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.hotel.name.cs-CZ","typeLabel":"string | null"},"de":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.hotel.name.de.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.hotel.name.de.oneOf.1","typeLabel":"null"}],"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.hotel.name.de","typeLabel":"string | null"},"en":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.hotel.name.en.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.hotel.name.en.oneOf.1","typeLabel":"null"}],"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.hotel.name.en","typeLabel":"string | null"},"ru":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.hotel.name.ru.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.hotel.name.ru.oneOf.1","typeLabel":"null"}],"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.hotel.name.ru","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.hotel.name","typeLabel":"object"}},"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.hotel","typeLabel":"object"},"roomTypeId":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Room type the price comes from.","isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.roomTypeId","typeLabel":"string"},"appliedPromotionIds":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.appliedPromotionIds.items.[INDEX]","typeLabel":"string"},"description":"Promotions included in this price, in the order of the package's `promotions`. Each is also listed in the period's `activePromotionIds`. Empty when no promotion changes the price.","isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay.appliedPromotionIds","typeLabel":"string[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perPersonPerStay","typeLabel":"object"},"perStay":{"type":"object","description":"Lowest price of a whole room for the whole stay, at its standard occupancy. It can come from a different room or hotel.","required":["amount","original","nights","occupancy","hotel","roomTypeId","appliedPromotionIds"],"properties":{"amount":{"type":"object","description":"Price after promotions. Do not apply promotions again.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in the smallest currency unit.","example":180000,"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.amount.amountMinor","typeLabel":"integer"},"currency":{"type":"string","enum":["CZK","EUR"],"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.amount.currency","typeLabel":"enum\u003cstring>"},"currencyExponent":{"type":"integer","enum":[2],"description":"Decimal exponent for the currency.","isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.amount.currencyExponent","typeLabel":"enum\u003cinteger>"}},"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.amount","typeLabel":"object"},"original":{"oneOf":[{"type":"object","description":"Price of the same room before promotions; null when promotions do not lower the rounded price.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře.","isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.original.oneOf.0.amountMinor","typeLabel":"integer"},"currency":{"type":"string","enum":["CZK","EUR"],"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.original.oneOf.0.currency","typeLabel":"enum\u003cstring>"},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`.","isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.original.oneOf.0.currencyExponent","typeLabel":"enum\u003cinteger>"}},"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.original.oneOf.0","typeLabel":"object"},{"type":"null","description":"Price of the same room before promotions; null when promotions do not lower the rounded price.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}},"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.original.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.original","typeLabel":"object | null"},"nights":{"type":"integer","minimum":1,"description":"Length of the priced stay: the package's minimum or fixed number of nights, not the length of the period.","isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.nights","typeLabel":"integer"},"occupancy":{"type":"integer","minimum":1,"description":"Standard occupancy of the room type the price comes from.","isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.occupancy","typeLabel":"integer"},"hotel":{"type":"object","description":"Hotel of the room type the price comes from.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Hotel whose offer gives this minimum.","isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.hotel.id","typeLabel":"string"},"name":{"type":"object","description":"Localized hotel name, with the same Czech fallback as the hotel's `name`.","example":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"},"properties":{"cs-CZ":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.hotel.name.cs-CZ.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.hotel.name.cs-CZ.oneOf.1","typeLabel":"null"}],"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.hotel.name.cs-CZ","typeLabel":"string | null"},"de":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.hotel.name.de.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.hotel.name.de.oneOf.1","typeLabel":"null"}],"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.hotel.name.de","typeLabel":"string | null"},"en":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.hotel.name.en.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.hotel.name.en.oneOf.1","typeLabel":"null"}],"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.hotel.name.en","typeLabel":"string | null"},"ru":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.hotel.name.ru.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.hotel.name.ru.oneOf.1","typeLabel":"null"}],"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.hotel.name.ru","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.hotel.name","typeLabel":"object"}},"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.hotel","typeLabel":"object"},"roomTypeId":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Room type the price comes from.","isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.roomTypeId","typeLabel":"string"},"appliedPromotionIds":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.appliedPromotionIds.items.[INDEX]","typeLabel":"string"},"description":"Promotions included in this price, in the order of the package's `promotions`. Each is also listed in the period's `activePromotionIds`. Empty when no promotion changes the price.","isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay.appliedPromotionIds","typeLabel":"string[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK.perStay","typeLabel":"object"}},"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.CZK","typeLabel":"object"},"EUR":{"type":"object","additionalProperties":false,"required":["perPersonPerNight","perPersonPerStay","perStay"],"properties":{"perPersonPerNight":{"type":"object","description":"Lowest price per guest per night.","required":["amount","original","nights","occupancy","hotel","roomTypeId","appliedPromotionIds"],"properties":{"amount":{"type":"object","description":"Price after promotions. Do not apply promotions again.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in the smallest currency unit.","example":180000,"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.amount.amountMinor","typeLabel":"integer"},"currency":{"type":"string","enum":["CZK","EUR"],"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.amount.currency","typeLabel":"enum\u003cstring>"},"currencyExponent":{"type":"integer","enum":[2],"description":"Decimal exponent for the currency.","isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.amount.currencyExponent","typeLabel":"enum\u003cinteger>"}},"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.amount","typeLabel":"object"},"original":{"oneOf":[{"type":"object","description":"Price of the same room before promotions; null when promotions do not lower the rounded price.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře.","isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.original.oneOf.0.amountMinor","typeLabel":"integer"},"currency":{"type":"string","enum":["CZK","EUR"],"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.original.oneOf.0.currency","typeLabel":"enum\u003cstring>"},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`.","isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.original.oneOf.0.currencyExponent","typeLabel":"enum\u003cinteger>"}},"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.original.oneOf.0","typeLabel":"object"},{"type":"null","description":"Price of the same room before promotions; null when promotions do not lower the rounded price.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}},"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.original.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.original","typeLabel":"object | null"},"nights":{"type":"integer","minimum":1,"description":"Length of the priced stay: the package's minimum or fixed number of nights, not the length of the period.","isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.nights","typeLabel":"integer"},"occupancy":{"type":"integer","minimum":1,"description":"Standard occupancy of the room type the price comes from.","isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.occupancy","typeLabel":"integer"},"hotel":{"type":"object","description":"Hotel of the room type the price comes from.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Hotel whose offer gives this minimum.","isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.id","typeLabel":"string"},"name":{"type":"object","description":"Localized hotel name, with the same Czech fallback as the hotel's `name`.","example":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"},"properties":{"cs-CZ":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.name.cs-CZ.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.name.cs-CZ.oneOf.1","typeLabel":"null"}],"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.name.cs-CZ","typeLabel":"string | null"},"de":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.name.de.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.name.de.oneOf.1","typeLabel":"null"}],"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.name.de","typeLabel":"string | null"},"en":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.name.en.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.name.en.oneOf.1","typeLabel":"null"}],"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.name.en","typeLabel":"string | null"},"ru":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.name.ru.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.name.ru.oneOf.1","typeLabel":"null"}],"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.name.ru","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.hotel.name","typeLabel":"object"}},"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.hotel","typeLabel":"object"},"roomTypeId":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Room type the price comes from.","isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.roomTypeId","typeLabel":"string"},"appliedPromotionIds":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.appliedPromotionIds.items.[INDEX]","typeLabel":"string"},"description":"Promotions included in this price, in the order of the package's `promotions`. Each is also listed in the period's `activePromotionIds`. Empty when no promotion changes the price.","isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight.appliedPromotionIds","typeLabel":"string[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerNight","typeLabel":"object"},"perPersonPerStay":{"type":"object","description":"Price per guest for the whole stay, in the same room as `perPersonPerNight`. Rounded separately; do not multiply the nightly price.","required":["amount","original","nights","occupancy","hotel","roomTypeId","appliedPromotionIds"],"properties":{"amount":{"type":"object","description":"Price after promotions. Do not apply promotions again.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in the smallest currency unit.","example":180000,"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.amount.amountMinor","typeLabel":"integer"},"currency":{"type":"string","enum":["CZK","EUR"],"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.amount.currency","typeLabel":"enum\u003cstring>"},"currencyExponent":{"type":"integer","enum":[2],"description":"Decimal exponent for the currency.","isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.amount.currencyExponent","typeLabel":"enum\u003cinteger>"}},"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.amount","typeLabel":"object"},"original":{"oneOf":[{"type":"object","description":"Price of the same room before promotions; null when promotions do not lower the rounded price.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře.","isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.original.oneOf.0.amountMinor","typeLabel":"integer"},"currency":{"type":"string","enum":["CZK","EUR"],"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.original.oneOf.0.currency","typeLabel":"enum\u003cstring>"},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`.","isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.original.oneOf.0.currencyExponent","typeLabel":"enum\u003cinteger>"}},"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.original.oneOf.0","typeLabel":"object"},{"type":"null","description":"Price of the same room before promotions; null when promotions do not lower the rounded price.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}},"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.original.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.original","typeLabel":"object | null"},"nights":{"type":"integer","minimum":1,"description":"Length of the priced stay: the package's minimum or fixed number of nights, not the length of the period.","isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.nights","typeLabel":"integer"},"occupancy":{"type":"integer","minimum":1,"description":"Standard occupancy of the room type the price comes from.","isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.occupancy","typeLabel":"integer"},"hotel":{"type":"object","description":"Hotel of the room type the price comes from.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Hotel whose offer gives this minimum.","isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.hotel.id","typeLabel":"string"},"name":{"type":"object","description":"Localized hotel name, with the same Czech fallback as the hotel's `name`.","example":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"},"properties":{"cs-CZ":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.hotel.name.cs-CZ.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.hotel.name.cs-CZ.oneOf.1","typeLabel":"null"}],"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.hotel.name.cs-CZ","typeLabel":"string | null"},"de":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.hotel.name.de.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.hotel.name.de.oneOf.1","typeLabel":"null"}],"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.hotel.name.de","typeLabel":"string | null"},"en":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.hotel.name.en.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.hotel.name.en.oneOf.1","typeLabel":"null"}],"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.hotel.name.en","typeLabel":"string | null"},"ru":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.hotel.name.ru.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.hotel.name.ru.oneOf.1","typeLabel":"null"}],"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.hotel.name.ru","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.hotel.name","typeLabel":"object"}},"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.hotel","typeLabel":"object"},"roomTypeId":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Room type the price comes from.","isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.roomTypeId","typeLabel":"string"},"appliedPromotionIds":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.appliedPromotionIds.items.[INDEX]","typeLabel":"string"},"description":"Promotions included in this price, in the order of the package's `promotions`. Each is also listed in the period's `activePromotionIds`. Empty when no promotion changes the price.","isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay.appliedPromotionIds","typeLabel":"string[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perPersonPerStay","typeLabel":"object"},"perStay":{"type":"object","description":"Lowest price of a whole room for the whole stay, at its standard occupancy. It can come from a different room or hotel.","required":["amount","original","nights","occupancy","hotel","roomTypeId","appliedPromotionIds"],"properties":{"amount":{"type":"object","description":"Price after promotions. Do not apply promotions again.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in the smallest currency unit.","example":180000,"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.amount.amountMinor","typeLabel":"integer"},"currency":{"type":"string","enum":["CZK","EUR"],"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.amount.currency","typeLabel":"enum\u003cstring>"},"currencyExponent":{"type":"integer","enum":[2],"description":"Decimal exponent for the currency.","isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.amount.currencyExponent","typeLabel":"enum\u003cinteger>"}},"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.amount","typeLabel":"object"},"original":{"oneOf":[{"type":"object","description":"Price of the same room before promotions; null when promotions do not lower the rounded price.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře.","isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.original.oneOf.0.amountMinor","typeLabel":"integer"},"currency":{"type":"string","enum":["CZK","EUR"],"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.original.oneOf.0.currency","typeLabel":"enum\u003cstring>"},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`.","isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.original.oneOf.0.currencyExponent","typeLabel":"enum\u003cinteger>"}},"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.original.oneOf.0","typeLabel":"object"},{"type":"null","description":"Price of the same room before promotions; null when promotions do not lower the rounded price.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}},"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.original.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.original","typeLabel":"object | null"},"nights":{"type":"integer","minimum":1,"description":"Length of the priced stay: the package's minimum or fixed number of nights, not the length of the period.","isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.nights","typeLabel":"integer"},"occupancy":{"type":"integer","minimum":1,"description":"Standard occupancy of the room type the price comes from.","isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.occupancy","typeLabel":"integer"},"hotel":{"type":"object","description":"Hotel of the room type the price comes from.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Hotel whose offer gives this minimum.","isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.hotel.id","typeLabel":"string"},"name":{"type":"object","description":"Localized hotel name, with the same Czech fallback as the hotel's `name`.","example":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"},"properties":{"cs-CZ":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.hotel.name.cs-CZ.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.hotel.name.cs-CZ.oneOf.1","typeLabel":"null"}],"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.hotel.name.cs-CZ","typeLabel":"string | null"},"de":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.hotel.name.de.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.hotel.name.de.oneOf.1","typeLabel":"null"}],"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.hotel.name.de","typeLabel":"string | null"},"en":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.hotel.name.en.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.hotel.name.en.oneOf.1","typeLabel":"null"}],"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.hotel.name.en","typeLabel":"string | null"},"ru":{"oneOf":[{"type":"string","minLength":1,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.hotel.name.ru.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.hotel.name.ru.oneOf.1","typeLabel":"null"}],"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.hotel.name.ru","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.hotel.name","typeLabel":"object"}},"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.hotel","typeLabel":"object"},"roomTypeId":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Room type the price comes from.","isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.roomTypeId","typeLabel":"string"},"appliedPromotionIds":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.appliedPromotionIds.items.[INDEX]","typeLabel":"string"},"description":"Promotions included in this price, in the order of the package's `promotions`. Each is also listed in the period's `activePromotionIds`. Empty when no promotion changes the price.","isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay.appliedPromotionIds","typeLabel":"string[]"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR.perStay","typeLabel":"object"}},"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0.EUR","typeLabel":"object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.0","typeLabel":"object"},{"type":"null","description":"Prices by currency. Null when no room has a price for the period; the period and its promotion ids are still returned.","minProperties":1,"properties":{"CZK":{"type":"object","additionalProperties":false,"required":["perPersonPerNight","perPersonPerStay","perStay"],"properties":{"perPersonPerNight":{"type":"object","description":"Lowest price per guest per night.","required":["amount","original","nights","occupancy","hotel","roomTypeId","appliedPromotionIds"],"properties":{"amount":{"type":"object","description":"Price after promotions. Do not apply promotions again.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in the smallest currency unit.","example":180000},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Decimal exponent for the currency."}}},"original":{"oneOf":[{"type":"object","description":"Price of the same room before promotions; null when promotions do not lower the rounded price.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}}},{"type":"null","description":"Price of the same room before promotions; null when promotions do not lower the rounded price.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}}}]},"nights":{"type":"integer","minimum":1,"description":"Length of the priced stay: the package's minimum or fixed number of nights, not the length of the period."},"occupancy":{"type":"integer","minimum":1,"description":"Standard occupancy of the room type the price comes from."},"hotel":{"type":"object","description":"Hotel of the room type the price comes from.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Hotel whose offer gives this minimum."},"name":{"type":"object","description":"Localized hotel name, with the same Czech fallback as the hotel's `name`.","example":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"},"properties":{"cs-CZ":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"de":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"en":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"ru":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]}},"additionalProperties":false}}},"roomTypeId":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Room type the price comes from."},"appliedPromotionIds":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[0-9a-fA-F]{24}$"},"description":"Promotions included in this price, in the order of the package's `promotions`. Each is also listed in the period's `activePromotionIds`. Empty when no promotion changes the price."}},"additionalProperties":false},"perPersonPerStay":{"type":"object","description":"Price per guest for the whole stay, in the same room as `perPersonPerNight`. Rounded separately; do not multiply the nightly price.","required":["amount","original","nights","occupancy","hotel","roomTypeId","appliedPromotionIds"],"properties":{"amount":{"type":"object","description":"Price after promotions. Do not apply promotions again.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in the smallest currency unit.","example":180000},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Decimal exponent for the currency."}}},"original":{"oneOf":[{"type":"object","description":"Price of the same room before promotions; null when promotions do not lower the rounded price.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}}},{"type":"null","description":"Price of the same room before promotions; null when promotions do not lower the rounded price.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}}}]},"nights":{"type":"integer","minimum":1,"description":"Length of the priced stay: the package's minimum or fixed number of nights, not the length of the period."},"occupancy":{"type":"integer","minimum":1,"description":"Standard occupancy of the room type the price comes from."},"hotel":{"type":"object","description":"Hotel of the room type the price comes from.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Hotel whose offer gives this minimum."},"name":{"type":"object","description":"Localized hotel name, with the same Czech fallback as the hotel's `name`.","example":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"},"properties":{"cs-CZ":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"de":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"en":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"ru":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]}},"additionalProperties":false}}},"roomTypeId":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Room type the price comes from."},"appliedPromotionIds":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[0-9a-fA-F]{24}$"},"description":"Promotions included in this price, in the order of the package's `promotions`. Each is also listed in the period's `activePromotionIds`. Empty when no promotion changes the price."}},"additionalProperties":false},"perStay":{"type":"object","description":"Lowest price of a whole room for the whole stay, at its standard occupancy. It can come from a different room or hotel.","required":["amount","original","nights","occupancy","hotel","roomTypeId","appliedPromotionIds"],"properties":{"amount":{"type":"object","description":"Price after promotions. Do not apply promotions again.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in the smallest currency unit.","example":180000},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Decimal exponent for the currency."}}},"original":{"oneOf":[{"type":"object","description":"Price of the same room before promotions; null when promotions do not lower the rounded price.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}}},{"type":"null","description":"Price of the same room before promotions; null when promotions do not lower the rounded price.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}}}]},"nights":{"type":"integer","minimum":1,"description":"Length of the priced stay: the package's minimum or fixed number of nights, not the length of the period."},"occupancy":{"type":"integer","minimum":1,"description":"Standard occupancy of the room type the price comes from."},"hotel":{"type":"object","description":"Hotel of the room type the price comes from.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Hotel whose offer gives this minimum."},"name":{"type":"object","description":"Localized hotel name, with the same Czech fallback as the hotel's `name`.","example":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"},"properties":{"cs-CZ":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"de":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"en":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"ru":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]}},"additionalProperties":false}}},"roomTypeId":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Room type the price comes from."},"appliedPromotionIds":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[0-9a-fA-F]{24}$"},"description":"Promotions included in this price, in the order of the package's `promotions`. Each is also listed in the period's `activePromotionIds`. Empty when no promotion changes the price."}},"additionalProperties":false}}},"EUR":{"type":"object","additionalProperties":false,"required":["perPersonPerNight","perPersonPerStay","perStay"],"properties":{"perPersonPerNight":{"type":"object","description":"Lowest price per guest per night.","required":["amount","original","nights","occupancy","hotel","roomTypeId","appliedPromotionIds"],"properties":{"amount":{"type":"object","description":"Price after promotions. Do not apply promotions again.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in the smallest currency unit.","example":180000},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Decimal exponent for the currency."}}},"original":{"oneOf":[{"type":"object","description":"Price of the same room before promotions; null when promotions do not lower the rounded price.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}}},{"type":"null","description":"Price of the same room before promotions; null when promotions do not lower the rounded price.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}}}]},"nights":{"type":"integer","minimum":1,"description":"Length of the priced stay: the package's minimum or fixed number of nights, not the length of the period."},"occupancy":{"type":"integer","minimum":1,"description":"Standard occupancy of the room type the price comes from."},"hotel":{"type":"object","description":"Hotel of the room type the price comes from.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Hotel whose offer gives this minimum."},"name":{"type":"object","description":"Localized hotel name, with the same Czech fallback as the hotel's `name`.","example":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"},"properties":{"cs-CZ":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"de":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"en":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"ru":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]}},"additionalProperties":false}}},"roomTypeId":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Room type the price comes from."},"appliedPromotionIds":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[0-9a-fA-F]{24}$"},"description":"Promotions included in this price, in the order of the package's `promotions`. Each is also listed in the period's `activePromotionIds`. Empty when no promotion changes the price."}},"additionalProperties":false},"perPersonPerStay":{"type":"object","description":"Price per guest for the whole stay, in the same room as `perPersonPerNight`. Rounded separately; do not multiply the nightly price.","required":["amount","original","nights","occupancy","hotel","roomTypeId","appliedPromotionIds"],"properties":{"amount":{"type":"object","description":"Price after promotions. Do not apply promotions again.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in the smallest currency unit.","example":180000},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Decimal exponent for the currency."}}},"original":{"oneOf":[{"type":"object","description":"Price of the same room before promotions; null when promotions do not lower the rounded price.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}}},{"type":"null","description":"Price of the same room before promotions; null when promotions do not lower the rounded price.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}}}]},"nights":{"type":"integer","minimum":1,"description":"Length of the priced stay: the package's minimum or fixed number of nights, not the length of the period."},"occupancy":{"type":"integer","minimum":1,"description":"Standard occupancy of the room type the price comes from."},"hotel":{"type":"object","description":"Hotel of the room type the price comes from.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Hotel whose offer gives this minimum."},"name":{"type":"object","description":"Localized hotel name, with the same Czech fallback as the hotel's `name`.","example":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"},"properties":{"cs-CZ":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"de":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"en":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"ru":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]}},"additionalProperties":false}}},"roomTypeId":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Room type the price comes from."},"appliedPromotionIds":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[0-9a-fA-F]{24}$"},"description":"Promotions included in this price, in the order of the package's `promotions`. Each is also listed in the period's `activePromotionIds`. Empty when no promotion changes the price."}},"additionalProperties":false},"perStay":{"type":"object","description":"Lowest price of a whole room for the whole stay, at its standard occupancy. It can come from a different room or hotel.","required":["amount","original","nights","occupancy","hotel","roomTypeId","appliedPromotionIds"],"properties":{"amount":{"type":"object","description":"Price after promotions. Do not apply promotions again.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in the smallest currency unit.","example":180000},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Decimal exponent for the currency."}}},"original":{"oneOf":[{"type":"object","description":"Price of the same room before promotions; null when promotions do not lower the rounded price.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}}},{"type":"null","description":"Price of the same room before promotions; null when promotions do not lower the rounded price.","required":["amountMinor","currency","currencyExponent"],"properties":{"amountMinor":{"type":"integer","description":"Amount in minor units, for example cents or haléře."},"currency":{"type":"string","enum":["CZK","EUR"]},"currencyExponent":{"type":"integer","enum":[2],"description":"Number of decimal places of `amountMinor`."}}}]},"nights":{"type":"integer","minimum":1,"description":"Length of the priced stay: the package's minimum or fixed number of nights, not the length of the period."},"occupancy":{"type":"integer","minimum":1,"description":"Standard occupancy of the room type the price comes from."},"hotel":{"type":"object","description":"Hotel of the room type the price comes from.","required":["id","name"],"properties":{"id":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Hotel whose offer gives this minimum."},"name":{"type":"object","description":"Localized hotel name, with the same Czech fallback as the hotel's `name`.","example":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"},"properties":{"cs-CZ":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"de":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"en":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]},"ru":{"oneOf":[{"type":"string","minLength":1},{"type":"null","minLength":1}]}},"additionalProperties":false}}},"roomTypeId":{"type":"string","pattern":"^[0-9a-fA-F]{24}$","description":"Room type the price comes from."},"appliedPromotionIds":{"type":"array","uniqueItems":true,"items":{"type":"string","pattern":"^[0-9a-fA-F]{24}$"},"description":"Promotions included in this price, in the order of the package's `promotions`. Each is also listed in the period's `activePromotionIds`. Empty when no promotion changes the price."}},"additionalProperties":false}}}},"additionalProperties":false,"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX].priceFrom","typeLabel":"object | null"}},"description":"A range of nights in which the package has the same prices. Past periods use today's price list. See [Price period](/api/objects/price-from-period).","example":{"from":"2027-01-10","to":"2027-01-11","activePromotionIds":["6720c0a1b2c3d4e5f6a7d311","6720c0a1b2c3d4e5f6a7d314","6720c0a1b2c3d4e5f6a7d312"],"priceFrom":{"EUR":{"perPersonPerNight":{"amount":{"amountMinor":7480,"currency":"EUR","currencyExponent":2},"original":{"amountMinor":11000,"currency":"EUR","currencyExponent":2},"nights":7,"occupancy":2,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c103","name":{"cs-CZ":"Hotel Bellevue","de":"Hotel Bellevue"}},"roomTypeId":"6720c0a1b2c3d4e5f6a7f201","appliedPromotionIds":["6720c0a1b2c3d4e5f6a7d311","6720c0a1b2c3d4e5f6a7d314"]},"perPersonPerStay":{"amount":{"amountMinor":52360,"currency":"EUR","currencyExponent":2},"original":{"amountMinor":77000,"currency":"EUR","currencyExponent":2},"nights":7,"occupancy":2,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c103","name":{"cs-CZ":"Hotel Bellevue","de":"Hotel Bellevue"}},"roomTypeId":"6720c0a1b2c3d4e5f6a7f201","appliedPromotionIds":["6720c0a1b2c3d4e5f6a7d311","6720c0a1b2c3d4e5f6a7d314"]},"perStay":{"amount":{"amountMinor":71400,"currency":"EUR","currencyExponent":2},"original":{"amountMinor":84000,"currency":"EUR","currencyExponent":2},"nights":7,"occupancy":1,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"roomTypeId":"6720c0a1b2c3d4e5f6a7f103","appliedPromotionIds":["6720c0a1b2c3d4e5f6a7d311"]}}}},"uniqueKey":"priceFromPeriods.oneOf.0.items.[INDEX]","typeLabel":"object"},"description":"Price periods of the package across all its hotels, including past periods, ordered by `from`. Present only on the detail with `expand=priceFromPeriods`. Empty when the package has no price list for the nights of its validity; null when SpaPortal cannot calculate the periods. Free rooms and permitted arrival days are not checked. See [Price period](/api/objects/price-from-period).","uniqueKey":"priceFromPeriods.oneOf.0","typeLabel":"object[]"},{"type":"null","description":"Price periods of the package across all its hotels, including past periods, ordered by `from`. Present only on the detail with `expand=priceFromPeriods`. Empty when the package has no price list for the nights of its validity; null when SpaPortal cannot calculate the periods. Free rooms and permitted arrival days are not checked. See [Price period](/api/objects/price-from-period).","uniqueKey":"priceFromPeriods.oneOf.1","typeLabel":"null"}],"uniqueKey":"priceFromPeriods","typeLabel":"object[] | null"}},"not":{"anyOf":[{"type":"object","required":["category","payer"],"properties":{"category":{"enum":["wellness"]},"payer":{"type":"string"}}},{"type":"object","required":["category","payer"],"properties":{"category":{"enum":["health"]},"payer":{"type":"string","nullable":true,"enum":[null]}}},{"type":"object","required":["payer","bookingMode"],"properties":{"payer":{"enum":["insurer"]},"bookingMode":{"enum":["instant"]}}},{"type":"object","required":["available","unavailableReason"],"properties":{"available":{"enum":[true]},"unavailableReason":{"type":"string"}}},{"type":"object","required":["available","unavailableReason"],"properties":{"available":{"enum":[false]},"unavailableReason":{"type":"string","nullable":true,"enum":[null]}}}]},"example":{"title":"Example","value":{"id":"6720c0a1b2c3d4e5f6a7b801","name":{"cs-CZ":"Klasická lázeňská léčba","de":"Klassische Kur"},"shortDescription":{"cs-CZ":"Lázeňská léčba s lékařskými prohlídkami, přírodními procedurami a polopenzí.","de":"Kuraufenthalt mit ärztlichen Untersuchungen, natürlichen Anwendungen und Halbpension."},"category":"health","payer":"guest","bookingMode":"instant","available":true,"unavailableReason":null,"webOrder":1,"channelContent":{"collections":["treatment_stays","special_offers"]},"board":{"meals":[{"meal":"breakfast","included":true,"changeable":false},{"meal":"lunch","included":false,"changeable":true},{"meal":"dinner","included":true,"changeable":false},{"meal":"all_inclusive","included":false,"changeable":false}]},"stayLength":{"unit":"week","min":1,"max":3},"validity":[{"from":"2026-11-01","to":"2027-03-31","toAppliesTo":"departure"},{"from":"2027-04-01","to":"2027-10-31","toAppliesTo":"arrival"}],"arrival":{"type":"weekdays","weekdays":["saturday","sunday"]},"treatment":{"exams":{"entry":true,"interim":true,"interimFromNights":14,"final":true,"finalFromNights":null},"procedures":{"count":15,"per":"week","selection":"fixed","items":[{"code":"carbon_dioxide_bath","label":{"cs-CZ":"Kysličníková koupel","de":"Kohlensäurebad"},"category":{"code":"hydrotherapy","label":{"cs-CZ":"Vodoléčba","de":"Hydrotherapie"}},"naturalSource":"carbon_dioxide","count":6},{"code":"peat_wrap","label":{"cs-CZ":"Rašelinový zábal","de":"Moorpackung"},"category":{"code":"thermotherapy","label":{"cs-CZ":"Teploléčba","de":"Thermotherapie"}},"naturalSource":"peat","count":4},{"code":"classic_full_body_massage","label":{"cs-CZ":"Klasická celková masáž","de":"Klassische Ganzkörpermassage"},"category":{"code":"physiotherapy","label":{"cs-CZ":"Fyzioterapie","de":"Physiotherapie"}},"naturalSource":null,"count":3},{"code":"drinking_cure","label":{"cs-CZ":"Pitná kúra","de":"Trinkkur"},"category":{"code":"other","label":{"cs-CZ":"Ostatní","de":"Sonstiges"}},"naturalSource":"mineral_water","count":14}]}},"priceFrom":{"CZK":{"perPersonPerNight":{"amount":{"amountMinor":144000,"currency":"CZK","currencyExponent":2},"original":{"amountMinor":160000,"currency":"CZK","currencyExponent":2},"nights":7,"occupancy":2,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"visitType":{"id":"6720c0a1b2c3d4e5f6a7b801","name":{"cs-CZ":"Klasická lázeňská léčba","de":"Klassische Kur"}}},"perStay":{"amount":{"amountMinor":1260000,"currency":"CZK","currencyExponent":2},"original":{"amountMinor":1400000,"currency":"CZK","currencyExponent":2},"nights":7,"occupancy":1,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"visitType":{"id":"6720c0a1b2c3d4e5f6a7b801","name":{"cs-CZ":"Klasická lázeňská léčba","de":"Klassische Kur"}}}},"EUR":{"perPersonPerNight":{"amount":{"amountMinor":5760,"currency":"EUR","currencyExponent":2},"original":{"amountMinor":6400,"currency":"EUR","currencyExponent":2},"nights":7,"occupancy":2,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"visitType":{"id":"6720c0a1b2c3d4e5f6a7b801","name":{"cs-CZ":"Klasická lázeňská léčba","de":"Klassische Kur"}}},"perStay":{"amount":{"amountMinor":50400,"currency":"EUR","currencyExponent":2},"original":{"amountMinor":56000,"currency":"EUR","currencyExponent":2},"nights":7,"occupancy":1,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"visitType":{"id":"6720c0a1b2c3d4e5f6a7b801","name":{"cs-CZ":"Klasická lázeňská léčba","de":"Klassische Kur"}}}}},"priceFromPeriods":[{"from":"2026-11-01","to":"2026-12-19","activePromotionIds":["6720c0a1b2c3d4e5f6a7d301"],"priceFrom":{"CZK":{"perPersonPerNight":{"amount":{"amountMinor":144000,"currency":"CZK","currencyExponent":2},"original":{"amountMinor":160000,"currency":"CZK","currencyExponent":2},"nights":7,"occupancy":2,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"roomTypeId":"6720c0a1b2c3d4e5f6a7f102","appliedPromotionIds":["6720c0a1b2c3d4e5f6a7d301"]},"perPersonPerStay":{"amount":{"amountMinor":1008000,"currency":"CZK","currencyExponent":2},"original":{"amountMinor":1120000,"currency":"CZK","currencyExponent":2},"nights":7,"occupancy":2,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"roomTypeId":"6720c0a1b2c3d4e5f6a7f102","appliedPromotionIds":["6720c0a1b2c3d4e5f6a7d301"]},"perStay":{"amount":{"amountMinor":1260000,"currency":"CZK","currencyExponent":2},"original":{"amountMinor":1400000,"currency":"CZK","currencyExponent":2},"nights":7,"occupancy":1,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"roomTypeId":"6720c0a1b2c3d4e5f6a7f103","appliedPromotionIds":["6720c0a1b2c3d4e5f6a7d301"]}},"EUR":{"perPersonPerNight":{"amount":{"amountMinor":5760,"currency":"EUR","currencyExponent":2},"original":{"amountMinor":6400,"currency":"EUR","currencyExponent":2},"nights":7,"occupancy":2,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"roomTypeId":"6720c0a1b2c3d4e5f6a7f102","appliedPromotionIds":["6720c0a1b2c3d4e5f6a7d301"]},"perPersonPerStay":{"amount":{"amountMinor":40320,"currency":"EUR","currencyExponent":2},"original":{"amountMinor":44800,"currency":"EUR","currencyExponent":2},"nights":7,"occupancy":2,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"roomTypeId":"6720c0a1b2c3d4e5f6a7f102","appliedPromotionIds":["6720c0a1b2c3d4e5f6a7d301"]},"perStay":{"amount":{"amountMinor":50400,"currency":"EUR","currencyExponent":2},"original":{"amountMinor":56000,"currency":"EUR","currencyExponent":2},"nights":7,"occupancy":1,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"roomTypeId":"6720c0a1b2c3d4e5f6a7f103","appliedPromotionIds":["6720c0a1b2c3d4e5f6a7d301"]}}}},{"from":"2026-12-20","to":"2027-03-30","activePromotionIds":[],"priceFrom":{"CZK":{"perPersonPerNight":{"amount":{"amountMinor":160000,"currency":"CZK","currencyExponent":2},"original":null,"nights":7,"occupancy":2,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"roomTypeId":"6720c0a1b2c3d4e5f6a7f102","appliedPromotionIds":[]},"perPersonPerStay":{"amount":{"amountMinor":1120000,"currency":"CZK","currencyExponent":2},"original":null,"nights":7,"occupancy":2,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"roomTypeId":"6720c0a1b2c3d4e5f6a7f102","appliedPromotionIds":[]},"perStay":{"amount":{"amountMinor":1400000,"currency":"CZK","currencyExponent":2},"original":null,"nights":7,"occupancy":1,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"roomTypeId":"6720c0a1b2c3d4e5f6a7f103","appliedPromotionIds":[]}},"EUR":{"perPersonPerNight":{"amount":{"amountMinor":6400,"currency":"EUR","currencyExponent":2},"original":null,"nights":7,"occupancy":2,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"roomTypeId":"6720c0a1b2c3d4e5f6a7f102","appliedPromotionIds":[]},"perPersonPerStay":{"amount":{"amountMinor":44800,"currency":"EUR","currencyExponent":2},"original":null,"nights":7,"occupancy":2,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"roomTypeId":"6720c0a1b2c3d4e5f6a7f102","appliedPromotionIds":[]},"perStay":{"amount":{"amountMinor":56000,"currency":"EUR","currencyExponent":2},"original":null,"nights":7,"occupancy":1,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"roomTypeId":"6720c0a1b2c3d4e5f6a7f103","appliedPromotionIds":[]}}}},{"from":"2027-04-01","to":"2027-10-31","activePromotionIds":[],"priceFrom":{"CZK":{"perPersonPerNight":{"amount":{"amountMinor":150000,"currency":"CZK","currencyExponent":2},"original":null,"nights":7,"occupancy":2,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"roomTypeId":"6720c0a1b2c3d4e5f6a7f102","appliedPromotionIds":[]},"perPersonPerStay":{"amount":{"amountMinor":1050000,"currency":"CZK","currencyExponent":2},"original":null,"nights":7,"occupancy":2,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"roomTypeId":"6720c0a1b2c3d4e5f6a7f102","appliedPromotionIds":[]},"perStay":{"amount":{"amountMinor":1330000,"currency":"CZK","currencyExponent":2},"original":null,"nights":7,"occupancy":1,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"roomTypeId":"6720c0a1b2c3d4e5f6a7f103","appliedPromotionIds":[]}},"EUR":{"perPersonPerNight":{"amount":{"amountMinor":6000,"currency":"EUR","currencyExponent":2},"original":null,"nights":7,"occupancy":2,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"roomTypeId":"6720c0a1b2c3d4e5f6a7f102","appliedPromotionIds":[]},"perPersonPerStay":{"amount":{"amountMinor":42000,"currency":"EUR","currencyExponent":2},"original":null,"nights":7,"occupancy":2,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"roomTypeId":"6720c0a1b2c3d4e5f6a7f102","appliedPromotionIds":[]},"perStay":{"amount":{"amountMinor":53200,"currency":"EUR","currencyExponent":2},"original":null,"nights":7,"occupancy":1,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"roomTypeId":"6720c0a1b2c3d4e5f6a7f103","appliedPromotionIds":[]}}}}],"promotions":[{"id":"6720c0a1b2c3d4e5f6a7d301","name":{"cs-CZ":"Podzimní sleva","de":"Herbstrabatt"},"percentage":10,"from":"2026-11-01","to":"2026-12-19","appliesTo":null}],"hotelListings":[{"hotelId":"6720c0a1b2c3d4e5f6a7c103","priceFrom":null,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c103","name":{"cs-CZ":"Hotel Bellevue","de":"Hotel Bellevue"},"stars":3},"priceFromPeriods":[{"from":"2026-11-01","to":"2027-03-30","activePromotionIds":[],"priceFrom":null},{"from":"2027-04-01","to":"2027-10-31","activePromotionIds":[],"priceFrom":null}]},{"hotelId":"6720c0a1b2c3d4e5f6a7c101","priceFrom":{"CZK":{"perPersonPerNight":{"amount":{"amountMinor":144000,"currency":"CZK","currencyExponent":2},"original":{"amountMinor":160000,"currency":"CZK","currencyExponent":2},"nights":7,"occupancy":2,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"visitType":{"id":"6720c0a1b2c3d4e5f6a7b801","name":{"cs-CZ":"Klasická lázeňská léčba","de":"Klassische Kur"}}},"perStay":{"amount":{"amountMinor":1260000,"currency":"CZK","currencyExponent":2},"original":{"amountMinor":1400000,"currency":"CZK","currencyExponent":2},"nights":7,"occupancy":1,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"visitType":{"id":"6720c0a1b2c3d4e5f6a7b801","name":{"cs-CZ":"Klasická lázeňská léčba","de":"Klassische Kur"}}}},"EUR":{"perPersonPerNight":{"amount":{"amountMinor":5760,"currency":"EUR","currencyExponent":2},"original":{"amountMinor":6400,"currency":"EUR","currencyExponent":2},"nights":7,"occupancy":2,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"visitType":{"id":"6720c0a1b2c3d4e5f6a7b801","name":{"cs-CZ":"Klasická lázeňská léčba","de":"Klassische Kur"}}},"perStay":{"amount":{"amountMinor":50400,"currency":"EUR","currencyExponent":2},"original":{"amountMinor":56000,"currency":"EUR","currencyExponent":2},"nights":7,"occupancy":1,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"visitType":{"id":"6720c0a1b2c3d4e5f6a7b801","name":{"cs-CZ":"Klasická lázeňská léčba","de":"Klassische Kur"}}}}},"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"},"stars":4},"priceFromPeriods":[{"from":"2026-11-01","to":"2026-12-19","activePromotionIds":["6720c0a1b2c3d4e5f6a7d301"],"priceFrom":{"CZK":{"perPersonPerNight":{"amount":{"amountMinor":144000,"currency":"CZK","currencyExponent":2},"original":{"amountMinor":160000,"currency":"CZK","currencyExponent":2},"nights":7,"occupancy":2,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"roomTypeId":"6720c0a1b2c3d4e5f6a7f102","appliedPromotionIds":["6720c0a1b2c3d4e5f6a7d301"]},"perPersonPerStay":{"amount":{"amountMinor":1008000,"currency":"CZK","currencyExponent":2},"original":{"amountMinor":1120000,"currency":"CZK","currencyExponent":2},"nights":7,"occupancy":2,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"roomTypeId":"6720c0a1b2c3d4e5f6a7f102","appliedPromotionIds":["6720c0a1b2c3d4e5f6a7d301"]},"perStay":{"amount":{"amountMinor":1260000,"currency":"CZK","currencyExponent":2},"original":{"amountMinor":1400000,"currency":"CZK","currencyExponent":2},"nights":7,"occupancy":1,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"roomTypeId":"6720c0a1b2c3d4e5f6a7f103","appliedPromotionIds":["6720c0a1b2c3d4e5f6a7d301"]}},"EUR":{"perPersonPerNight":{"amount":{"amountMinor":5760,"currency":"EUR","currencyExponent":2},"original":{"amountMinor":6400,"currency":"EUR","currencyExponent":2},"nights":7,"occupancy":2,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"roomTypeId":"6720c0a1b2c3d4e5f6a7f102","appliedPromotionIds":["6720c0a1b2c3d4e5f6a7d301"]},"perPersonPerStay":{"amount":{"amountMinor":40320,"currency":"EUR","currencyExponent":2},"original":{"amountMinor":44800,"currency":"EUR","currencyExponent":2},"nights":7,"occupancy":2,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"roomTypeId":"6720c0a1b2c3d4e5f6a7f102","appliedPromotionIds":["6720c0a1b2c3d4e5f6a7d301"]},"perStay":{"amount":{"amountMinor":50400,"currency":"EUR","currencyExponent":2},"original":{"amountMinor":56000,"currency":"EUR","currencyExponent":2},"nights":7,"occupancy":1,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"roomTypeId":"6720c0a1b2c3d4e5f6a7f103","appliedPromotionIds":["6720c0a1b2c3d4e5f6a7d301"]}}}},{"from":"2026-12-20","to":"2027-03-30","activePromotionIds":[],"priceFrom":{"CZK":{"perPersonPerNight":{"amount":{"amountMinor":160000,"currency":"CZK","currencyExponent":2},"original":null,"nights":7,"occupancy":2,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"roomTypeId":"6720c0a1b2c3d4e5f6a7f102","appliedPromotionIds":[]},"perPersonPerStay":{"amount":{"amountMinor":1120000,"currency":"CZK","currencyExponent":2},"original":null,"nights":7,"occupancy":2,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"roomTypeId":"6720c0a1b2c3d4e5f6a7f102","appliedPromotionIds":[]},"perStay":{"amount":{"amountMinor":1400000,"currency":"CZK","currencyExponent":2},"original":null,"nights":7,"occupancy":1,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"roomTypeId":"6720c0a1b2c3d4e5f6a7f103","appliedPromotionIds":[]}},"EUR":{"perPersonPerNight":{"amount":{"amountMinor":6400,"currency":"EUR","currencyExponent":2},"original":null,"nights":7,"occupancy":2,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"roomTypeId":"6720c0a1b2c3d4e5f6a7f102","appliedPromotionIds":[]},"perPersonPerStay":{"amount":{"amountMinor":44800,"currency":"EUR","currencyExponent":2},"original":null,"nights":7,"occupancy":2,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"roomTypeId":"6720c0a1b2c3d4e5f6a7f102","appliedPromotionIds":[]},"perStay":{"amount":{"amountMinor":56000,"currency":"EUR","currencyExponent":2},"original":null,"nights":7,"occupancy":1,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"roomTypeId":"6720c0a1b2c3d4e5f6a7f103","appliedPromotionIds":[]}}}},{"from":"2027-04-01","to":"2027-10-31","activePromotionIds":[],"priceFrom":{"CZK":{"perPersonPerNight":{"amount":{"amountMinor":150000,"currency":"CZK","currencyExponent":2},"original":null,"nights":7,"occupancy":2,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"roomTypeId":"6720c0a1b2c3d4e5f6a7f102","appliedPromotionIds":[]},"perPersonPerStay":{"amount":{"amountMinor":1050000,"currency":"CZK","currencyExponent":2},"original":null,"nights":7,"occupancy":2,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"roomTypeId":"6720c0a1b2c3d4e5f6a7f102","appliedPromotionIds":[]},"perStay":{"amount":{"amountMinor":1330000,"currency":"CZK","currencyExponent":2},"original":null,"nights":7,"occupancy":1,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"roomTypeId":"6720c0a1b2c3d4e5f6a7f103","appliedPromotionIds":[]}},"EUR":{"perPersonPerNight":{"amount":{"amountMinor":6000,"currency":"EUR","currencyExponent":2},"original":null,"nights":7,"occupancy":2,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"roomTypeId":"6720c0a1b2c3d4e5f6a7f102","appliedPromotionIds":[]},"perPersonPerStay":{"amount":{"amountMinor":42000,"currency":"EUR","currencyExponent":2},"original":null,"nights":7,"occupancy":2,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"roomTypeId":"6720c0a1b2c3d4e5f6a7f102","appliedPromotionIds":[]},"perStay":{"amount":{"amountMinor":53200,"currency":"EUR","currencyExponent":2},"original":null,"nights":7,"occupancy":1,"hotel":{"id":"6720c0a1b2c3d4e5f6a7c101","name":{"cs-CZ":"Hotel Pramen","de":"Hotel Pramen"}},"roomTypeId":"6720c0a1b2c3d4e5f6a7f103","appliedPromotionIds":[]}}}}]}],"images":[{"url":"https://cdn.example.com/visit-types/classic-cure.jpg","width":1600,"height":1066,"alt":{"cs-CZ":"Klasická lázeňská léčba","de":"Klassische Kur"},"variants":{"w480":"https://cdn.example.com/visit-types/classic-cure/generation-1/w480.webp","w960":"https://cdn.example.com/visit-types/classic-cure/generation-1/w960.webp","w1440":"https://cdn.example.com/visit-types/classic-cure/generation-1/w1440.webp"}}]}},"uniqueKey":"","typeLabel":"object"},"originalFileLocation":"api/v2/openapi.yaml"},"subdomain":"spabooking","siteName":"SpaPortal Docs","title":"Visit type - SpaPortal Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-04T20:34:18.928Z","originalFileLocation":"api/objects/visit-type.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"A stay package with its board, treatment, stay rules, prices, hotel listings, and promotions.\">\u003cmeta data-mint-head name=\"application-name\" content=\"SpaPortal Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/spabooking/3ILofRrE8iwd8KIp/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/spabooking/3ILofRrE8iwd8KIp/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/spabooking/3ILofRrE8iwd8KIp/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/spabooking/3ILofRrE8iwd8KIp/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/spabooking/3ILofRrE8iwd8KIp/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/spabooking/3ILofRrE8iwd8KIp/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/spabooking/3ILofRrE8iwd8KIp/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/spabooking/3ILofRrE8iwd8KIp/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/spabooking/3ILofRrE8iwd8KIp/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Visit type - SpaPortal Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"A stay package with its board, treatment, stay rules, prices, hotel listings, and promotions.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"SpaPortal Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.spaportal.cz/api/objects/visit-type\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://spabooking.mintlify.site/_mintlify/api/og/v2?division=Objects\u0026amp;title=Visit+type\u0026amp;description=A+stay+package+with+its+board%2C+treatment%2C+stay+rules%2C+prices%2C+hotel+listings%2C+and+promotions.\u0026amp;theme=c449e4c5bfadb6d592bceac4\u0026amp;signature=b8f6d809cdfd39b570066cbbdd87593c0e9cb3090eafacc785026e57ad17ec85\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Visit type - SpaPortal Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"A stay package with its board, treatment, stay rules, prices, hotel listings, and promotions.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://spabooking.mintlify.site/_mintlify/api/og/v2?division=Objects\u0026amp;title=Visit+type\u0026amp;description=A+stay+package+with+its+board%2C+treatment%2C+stay+rules%2C+prices%2C+hotel+listings%2C+and+promotions.\u0026amp;theme=c449e4c5bfadb6d592bceac4\u0026amp;signature=b8f6d809cdfd39b570066cbbdd87593c0e9cb3090eafacc785026e57ad17ec85\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/spabooking/3ILofRrE8iwd8KIp/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"SpaPortal Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#3585BA\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.spaportal.cz/api/objects/visit-type\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api/objects/visit-type.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.spaportal.cz/#organization\",\"name\":\"SpaPortal Docs\",\"url\":\"https://docs.spaportal.cz\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/spabooking/Bibq090v9MI8jPV2/logo/light.svg?fit=max\u0026auto=format\u0026n=Bibq090v9MI8jPV2\u0026q=85\u0026s=c50b2546b29ce5fb747f06c3c0a287e8\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.spaportal.cz#website\",\"name\":\"SpaPortal Docs\",\"url\":\"https://docs.spaportal.cz\",\"publisher\":{\"@id\":\"https://docs.spaportal.cz/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.spaportal.cz/api/objects/visit-type#webpage\",\"url\":\"https://docs.spaportal.cz/api/objects/visit-type\",\"name\":\"Visit type\",\"description\":\"A stay package with its board, treatment, stay rules, prices, hotel listings, and promotions.\",\"dateModified\":\"2026-11-04T20:34:18.928Z\",\"isPartOf\":{\"@id\":\"https://docs.spaportal.cz#website\"},\"breadcrumb\":{\"@id\":\"https://docs.spaportal.cz/api/objects/visit-type#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.spaportal.cz/api/objects/visit-type#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Objects\",\"item\":\"https://docs.spaportal.cz/api/objects/hotel\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Visit type\",\"item\":\"https://docs.spaportal.cz/api/objects/visit-type\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.spaportal.cz/api/objects/visit-type#apireference\",\"headline\":\"Visit type\",\"name\":\"Visit type\",\"description\":\"A stay package with its board, treatment, stay rules, prices, hotel listings, and promotions.\",\"url\":\"https://docs.spaportal.cz/api/objects/visit-type\",\"mainEntityOfPage\":{\"@id\":\"https://docs.spaportal.cz/api/objects/visit-type#webpage\"},\"dateModified\":\"2026-11-04T20:34:18.928Z\",\"publisher\":{\"@id\":\"https://docs.spaportal.cz/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.spaportal.cz#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"SpaPortal Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"SpaPortal Docs","nav":{"global":null,"tabs":[{"tab":"Introduction","pages":[{"title":"Introduction","href":"/spaportal"}]},{"tab":"Guides","pages":[{"title":"Guides","href":"/guides"}]},{"tab":"API reference","groups":[{"group":"SpaPortal API","pages":[{"title":"Introduction","icon":"microphone","href":"/api"},{"title":"Authentication","icon":"key","href":"/api/authentication"},{"title":"Dates","icon":"calendar-days","href":"/api/dates"},{"title":"Currencies","icon":"coins","href":"/api/currencies"},{"title":"Prices","icon":"tag","href":"/api/prices"},{"title":"Images","icon":"image","href":"/api/images"},{"title":"Localization","icon":"language","href":"/api/localization"},{"title":"Pagination","icon":"list-ol","href":"/api/pagination"},{"title":"Search","icon":"magnifying-glass","href":"/api/search"},{"title":"Sorting","icon":"arrow-up-arrow-down","href":"/api/sorting"},{"title":"Expand","icon":"layer-group","href":"/api/expand"},{"title":"Amenities","icon":"list-check","href":"/api/amenities"},{"title":"Visit types","icon":"suitcase","href":"/api/visit-types"},{"title":"Treatment","icon":"stethoscope","href":"/api/treatment"},{"title":"Status Codes","icon":"input-numeric","href":"/api/status-codes"},{"title":"Errors","icon":"bone-break","href":"/api/errors"},{"title":"Versioning","icon":"code-branch","href":"/api/versioning"},{"title":"API v2 changelog","icon":"clock-rotate-left","hidden":true,"href":"/api/changelog"}]},{"group":"Objects","pages":[{"title":"Hotel","href":"/api/objects/hotel"},{"title":"Room type","description":"A category of accommodation within a hotel, with occupancy, beds, rules, and amenities.","href":"/api/objects/room-type"},{"title":"Visit type","href":"/api/objects/visit-type"},{"title":"Treatment","description":"The examinations and the procedure allowance included in a package.","href":"/api/objects/treatment"},{"title":"Procedure","href":"/api/objects/procedure"},{"title":"Price from","href":"/api/objects/price-from"},{"title":"Price period","href":"/api/objects/price-from-period"},{"title":"Promotion","href":"/api/objects/promotion"},{"title":"Amenity category","href":"/api/objects/amenity-category"},{"title":"Amenity","href":"/api/objects/amenity"},{"title":"Amenity value","href":"/api/objects/amenity-value"},{"title":"Localized string","href":"/api/objects/localized-string"}]},{"group":"Endpoints","pages":[{"group":"Amenity categories","pages":[{"title":"List the amenity dictionary","deprecated":null,"version":null,"openapi":"/api/v2/openapi.yaml get /amenity-categories","href":"/api/v2/reference/amenity-categories/list-the-amenity-dictionary"}]},{"group":"Hotels","pages":[{"title":"List hotels","deprecated":null,"version":null,"openapi":"/api/v2/openapi.yaml get /hotels","href":"/api/v2/reference/hotels/list-hotels"},{"title":"Get a hotel","deprecated":null,"version":null,"openapi":"/api/v2/openapi.yaml get /hotels/{hotelId}","href":"/api/v2/reference/hotels/get-a-hotel"}]},{"group":"Room types","pages":[{"title":"List room types","deprecated":null,"version":null,"openapi":"/api/v2/openapi.yaml get /room-types","href":"/api/v2/reference/room-types/list-room-types"},{"title":"Get a room type","deprecated":null,"version":null,"openapi":"/api/v2/openapi.yaml get /room-types/{roomTypeId}","href":"/api/v2/reference/room-types/get-a-room-type"}]},{"group":"Visit types","pages":[{"title":"List visit types","deprecated":null,"version":null,"openapi":"/api/v2/openapi.yaml get /visit-types","href":"/api/v2/reference/visit-types/list-visit-types"},{"title":"Get a visit type","deprecated":null,"version":null,"openapi":"/api/v2/openapi.yaml get /visit-types/{visitTypeId}","href":"/api/v2/reference/visit-types/get-a-visit-type"}]}]}]},{"tab":"API v1","hidden":true,"pages":[{"title":"API v1","href":"/api/v1"}]}]},"basePath":"","title":"Visit type - SpaPortal Docs","buildId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","deploymentId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-i2a3QZ8E.js","utils-ChLwp8m0.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DRktVTDc.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-CA2pEs4T.js","snippetPresets-ClQ6XrKD.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-Ct_Lv36y.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-Cn2PYw9e.js","shallow-rkyymjXQ.js","getApiPlaygroundDisplay-BB9vkXtE.js","CodeSnippet-Bm5RU7m1.js","CodeSnippets-BgU9Deuz.js","Page-BUDYNlhG.js","getPastedJson-BD-6NNum.js","icon-8Z6tud2e.js","MethodPill-Tuzr4g3V.js","DuplicateIcon-0ceWFYhN.js","createIcon-FBXow_ST.js","DynamicMarkdown-CD8713Yy.js","SectionHeading-7zgzQbH-.js","axios-vUo_bRtp.js","Markdown-D7Ofw1oz.js","clsx-eKJ4rcii.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CwjSCXIK.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-9EK5IAXV.js"]}