
Katalog > Cenové tabulky
Definice
Kde to použiji?
- Sazebníky pronájmu – Definujte
1 den @ 40 €,3 dny @ 100 €,1 týden @ 180 €atd. - Prodejní ceny – Nastavte přímou prodejní cenu inzerátu, volitelně s porovnávací (přeškrtnutou) cenou
- Plány předplatného – Nastavte období příslibu, platební cyklus a interval automatického obnovení
- Akční / sezónní ceny – Připojte navíc datovanou cenovou tabulku, jejíž řádky se posuzují uvnitř jejího okna (levnější akční řádek se vybere před výchozím, viz Určení ceny)
- Přepsání podle varianty – Upravte každý cenový řádek pomocí
rateMultiplierpro konkrétní hodnoty variant - Hromadné přeceňování – Udržujte jednu sdílenou tabulku a propojte ji s mnoha inzeráty v kategorii
Model cenové tabulky
Sdílená výchozí cenová tabulka vrácená API vypadá takto:catalogItemId je null u sdílených tabulek, které nejsou vázány na jeden inzerát, a availabilityRange je null u výchozí tabulky, která je platná vždy.
Jedna cenová tabulka nese tři na sobě nezávislé sady řádků (rezervace, prodej a předplatné), řízené přepínači bookingsEnabled, salesEnabled a subscriptionsEnabled. Vypněte režimy, které neprodáváte, aby editační plocha zůstala přehledná.
Sdílená vs. samostatná
link-catalog-item, unlink-catalog-items), aby si inzerát udržel čistý záznam o tom, které sdílené tabulky se uplatňují.
Typy cenových řádků
Cenová tabulka obsahuje tři prodejní typy řádků, každý řídí jiný režim nákupu, a čtvrtý, který odkazuje jinam.Rezervační cenové řádky
Používá se, když je objednávka rezervací pronájmu.Prodejní cenové řádky
Používá se pro objednávky přímého prodeje.Cenové řádky předplatného
Používá se pro objednávky v režimu předplatného. Celý fakturační životní cyklus najdete v Předplatná.Externí možnosti nákupu
Čtvrtý typ řádku pošle zákazníka jinam, místo aby mu prodal. Zapněte v cenové tabulce Externí možnosti nákupu a přidejte odkazy v sekci Externí odkazy.Ceny podle varianty
Pokud má inzerát varianty, cenová tabulka může nést volitelné polevariants se záznamy CatalogItemVariantPricingTable. Každý záznam váže variantName plus jednu nebo více values na rateMultiplier a násobitele podle řádku pro rezervaci, prodej a předplatné.
CatalogItemVariantPricingTable má následující pole:
basePricingRowId), a uplatňuje rateMultiplier (a volitelně additionalRateMultiplier) nad cenou tohoto základního řádku. Násobitel 1.0 odpovídá základu, 1.2 přidá 20 %, 0.8 odečte 20 %.
Administrace označí každou kombinaci se záznamem CatalogItemVariantPricingTable jako „Cena varianty” místo „Základ”.
Cenotvorba od
Každý rezervační cenový řádek má poletimeBasis, které řídí, jak se počítá doba trvání pro účtování. Existují dva režimy:
Jak funguje účtování „Cenotvorba od”
Cenový engine určí každé kalendářní období, kterého se rezervace dotkne, na vlastní mřížce řádku. Denní jednotka je vždy od půlnoci do půlnoci, hodinová jednotka od celé hodiny do celé hodiny a týdenní jednotka začíná na dni v týdnu nastaveném jako první u daného tenanta. Každé dotčené období se účtuje jako jedna jednotka, pokud jemnější sazba nepokrývá rezervovanou část tohoto období levněji. Engine rekurzivně vybírá nejlevnější platnou skladbu. Příklad, denní a týdenní sazby: Desetidenní rezervace začínající ve čtvrtek, s denní sazbou 50 € a týdenní sazbou 250 €:- Čtvrtek až neděle: 4 zahájené dny = 200 €
- Pondělí až následující neděle: 1 zahájený týden = 250 €
- Celkem: 450 €
- Pondělí: 1 zahájený den = 100 €
- Úterý: 1 zahájený den = 100 €
- Celkem: 200 € (2 kalendářní dny)
„Cenotvorba od” u balíčků s pevnou dobou trvání
Rezervační řádky s pevnou dobou trvání také podporujítimeBasis. Balíček s pevnou dobou v režimu capped ukotví datum vrácení ke kalendářnímu období, ne k přesnému času vyzvednutí.
Pevný balíček „2 dny” vyzvednutý v pondělí ve 14:00:
- Uplynulé (
rolling): vrácení ve středu ve 14:00, přesně o 48 hodin později - Zahájené (
capped): vrácení v úterý do posledního dostupného času vrácení, rezervace zasahuje do pondělí a úterý, takže jsou pokryty dva kalendářní dny
Omezení
- Jednotky pod hodinu se vždy účtují jako uplynulé. Řádky používající
secondsnebominutesnastavenítimeBasisneovlivňuje. V tabulce s režimem „Cenotvorba od” volně koexistují. - Všechny řádky podle sazby v jedné tabulce sdílejí jedno
timeBasis. Administrace to vynucuje jedním zaškrtávacím polem Cenotvorba od, které se uplatní na všechny způsobilé řádky podle sazby. Řádky s pevnou dobou trvání mají každý své nezávislé nastavenítimeBasis. - Týdenní sazby používají den začátku týdne nastavený u tenanta. Rezervace sobota-neděle se počítá jako jeden týden při týdnu začínajícím v pondělí (oba dny jsou ve stejném týdnu pondělí-neděle), ale jako dva týdny při týdnu začínajícím v neděli.

Rezervační ceny podle sazby se zaškrtávacím polem Cenotvorba od

Možnosti doby trvání na řádku s pevnou cenou
Určení ceny
availabilityRange řídí, které tabulky jsou kandidáty pro danou rezervaci, nedává tabulce prioritu. Neexistuje pole priority nebo přepsání na úrovni tabulky. Při výpočtu ceny:
Všechny cenové výpočty běží v časovém pásmu místa. Hranice dne, hranice týdne, omezení weekdays a okna timeOfDayRange se vyhodnocují podle místního času daného místa, ne podle UTC nebo časového pásma zákazníka. Rezervace blízko místní půlnoci se přiřadí ke správnému místnímu dni a přechody letního času řeší kalendářní aritmetika v časovém pásmu daného místa.
- Shromážděte aktivní tabulky. Tabulka je aktivní, když nemá
availabilityRange, nebo se její rozsah překrývá s daty rezervace. Výchozí tabulka (bez rozsahu) je proto vždy aktivní společně s jakoukoli datovanou tabulkou, do jejíhož okna rezervace spadá. - Spojte řádky do poolu. Každý povolený řádek z každé aktivní tabulky se shromáždí do jednoho kandidátského poolu. Engine nejprve nevybírá jednu „vítěznou” tabulku, řádky z různých tabulek soutěží přímo.
- Vyberte řádek/řádky.
- Rezervace podle sazby (dynamické) – jak se pool vyhodnotí, závisí na časovém základu řádků v něm. Celý postup najdete v Cenách podle sazby a níže v Nejdelší vyhovující řádek vs. nejlevnější skladba: oba základy používají skutečně odlišné algoritmy a tento rozdíl rozhoduje, zda se lze vyhnout předraženému dlouhému řádku. V obou případech musí omezení řádku
weekdays,timeOfDayRangeaavailabilityRangeprojít, než je řádek způsobilý pro daný úsek, a jakýkoli zbytek připadne kratším řádkům a pravidlům dodatečného času. - Rezervace s pevnou cenou – zákazník vybere konkrétní cenový řádek (například
1 den @ 40 €) a cena tohoto řádku se použije přímo.
- Rezervace podle sazby (dynamické) – jak se pool vyhodnotí, závisí na časovém základu řádků v něm. Celý postup najdete v Cenách podle sazby a níže v Nejdelší vyhovující řádek vs. nejlevnější skladba: oba základy používají skutečně odlišné algoritmy a tento rozdíl rozhoduje, zda se lze vyhnout předraženému dlouhému řádku. V obou případech musí omezení řádku
- Uplatněte násobitele variant. Pokud záznam
CatalogItemVariantPricingTableodpovídá vybrané kombinaci hodnot variant, vynásobte příspěvek řádku násobitelem na úrovni řádku (arateMultiplierna úrovni tabulky). - Vraťte součty. Koncové body
…/rate-based-pricea…/fixed-pricevracípriceBreakdownplustotalPrice, s jednotlivými příspěvky rozepsanými pro výkladní skříň i souhrn objednávky.
Nejdelší vyhovující řádek vs. nejlevnější skladba
Vyhodnocení podle sazby není jeden algoritmus. Který se spustí, rozhoduje časový základ řádků podle sazby v poolu. Uplynulá doba (rolling, výchozí): nejdelší vyhovující řádek jako první. Engine prochází rezervaci od jejího začátku. V každém kroku vezme nejdelší řádek, který se ještě vejde do zbývajícího času, posune se o dobu trvání tohoto řádku a opakuje. Cena rozhoduje jen mezi řádky se stejnou dobou trvání. Engine nikdy neporovnává dlouhý řádek proti skladbě kratších, takže:
- Týdenní řádek vyhraje sedmidenní rezervaci bez ohledu na cenu, i když stojí víc než sedm denních sazeb.
- Dva jednodenní řádky za 100 € a 150 € se vyhodnotí na 100 €, protože mají stejnou dobu trvání.
- Jednodenní řádek za 150 € a dvanáctihodinový řádek za 10 € se vyhodnotí na denní řádek, protože je delší.
capped): nejlevnější skladba. Engine místo toho pracuje s kalendářními obdobími. Za každé období, kterého se rezervace dotkne, naúčtuje buď jednu jednotku tohoto období, nebo levnější jemnější skladbu rezervované části, podle toho, co stojí méně, a tyto možnosti porovnává rekurzivně napříč každou úrovní granularity na tabulce.
Zde cena rozhoduje i napříč dobami trvání: týdenní řádek dražší než sedm zahájených dnů prohrává s denními řádky.
Uplatnění tabulek na inzeráty a kolekce
Sdílená cenová tabulka se propojuje s inzerátem přes vyhrazené koncové body:POST /pricing-tables/pricing-table/:pricingTableId/link-catalog-item– propojí jeden inzerátDELETE /pricing-tables/pricing-table/:pricingTableId/unlink-catalog-items– hromadné odpojeníPOST /pricing-tables/add-pricing-table-to-catalog-item– diskriminované sjednocení pro čtyři režimy propojení:mode = 'link'– propojí s existující sdílenou tabulkoumode = 'create'– vytvoří novou samostatnou tabulku přímo na místěmode = 'sharedToShared'– nahradí jedno sdílené propojení jinýmmode = 'sharedToStandalone'– rozvětví sdílenou tabulku do samostatné na inzerátumode = 'standaloneToShared'/'standaloneUpdate'– přepne vlastnictví nebo přejmenuje přímo na místě
listCatalogItems a propojte tabulku s každým inzerátem.
Klíčové vlastnosti (cenová tabulka)
Vztahy
Propojena s jedním nebo více inzeráty
Propojena s jedním nebo více inzeráty
Nese rezervační, prodejní řádky a řádky předplatného
Nese rezervační, prodejní řádky a řádky předplatného
Překrývá ceny variant nad variantami inzerátu
Překrývá ceny variant nad variantami inzerátu
Vyhodnocena vůči režimu nákupu inzerátu u pokladny
Vyhodnocena vůči režimu nákupu inzerátu u pokladny
…/rate-based-price nebo …/fixed-price pro výpočet celkové ceny.Životní cyklus
Vytvoření
POST /pricing-tables/ s label a (u sdílených tabulek) isDefault: true. Nové tabulky začínají s prázdnými poli řádků.Samostatná, nebo sdílená?
Samostatná, nebo sdílená?
Mohu udělat datovanou tabulku výchozí?
Mohu udělat datovanou tabulku výchozí?
availabilityRange = null mohou mít isDefault = true (vynucuje administrace; model příznak povoluje, ale logika propojení datované tabulky při určování výchozí přeskočí).Přidání řádků
/pricing-table/:id/row, …/sales-row, …/subscription-row). Přepsání podle varianty přidejte přes /pricing-table/:id/variant-pricing-table.Propojení s inzerátem
add-pricing-table-to-catalog-item se správným mode. Karta Ceny na inzerátu zobrazuje propojené tabulky v postranním panelu a umožňuje vytvářet nové přímo na místě.Přepsání podle varianty
CatalogItemVariantPricingTable pro hodnoty variant, které potřebují jinou cenu.Povýšení nebo nahrazení
Smazání
DELETE /pricing-tables/delete-table/:pricingTableId. Odstranění sdílené tabulky ji odpojí od každého inzerátu.Časté dotazy
Může mít jeden inzerát více cenových tabulek?
Může mít jeden inzerát více cenových tabulek?
availabilityRange rozhoduje, které tabulky jsou kandidáty, ne která vyhraje.Odkud pochází cena za dobu pronájmu?
Odkud pochází cena za dobu pronájmu?
Jak spustím víkendovou akci 20 %?
Jak spustím víkendovou akci 20 %?
availabilityRange pokrývajícím víkend, s řádky nacenenými o 20 % níž než výchozí, a propojte ji s dotčenými inzeráty. Protože jsou akční řádky levnější a pokrývají stejné doby trvání, engine je uvnitř okna vybere a poté se vrátí k výchozí tabulce.Funguje to právě proto, že je akce levnější, na vyšší ceny a příplatky se ptá další otázka.Proč se neuplatní moje vyšší sezónní / sváteční cena?
Proč se neuplatní moje vyšší sezónní / sváteční cena?
availabilityRange výchozího řádku tak, aby daná data vyloučil, aby je pokrýval jen vyšší řádek.Jaký je rozdíl mezi uplynulým základem a Cenotvorbou od?
Jaký je rozdíl mezi uplynulým základem a Cenotvorbou od?
rolling, výchozí) počítá uplynulý čas od vyzvednutí. „Den” je 24 hodin. Rezervace od pondělí 14:00 do středy 14:00 se účtuje přesně na 2 dny.Cenotvorba od (capped) počítá každé kalendářní období, kterého se rezervace dotkne. „Den” je od půlnoci do půlnoci. Stejná rezervace od pondělí 14:00 do středy 14:00 zasahuje do pondělí, úterý a středy, tedy 3 zahájené dny.Cenotvorbu od používejte, když účtujete za kalendářní den (jako parkovací domy nebo noci v hotelu). Uplynulý základ používejte, když účtujete za přesný uplynulý čas (jako hodinový pronájem vybavení).Mohou se ceny lišit podle segmentu zákazníka?
Mohou se ceny lišit podle segmentu zákazníka?
Které časové pásmo cenový engine používá?
Které časové pásmo cenový engine používá?
Jaký je rozdíl mezi priceContribution a totalPrice v odpovědi?
Jaký je rozdíl mezi priceContribution a totalPrice v odpovědi?
priceContribution je to, co jeden řádek přidal k celku, totalPrice je součet napříč všemi řádky, které engine vybral (základní řádek + řádky dodatečného času + násobitele variant).Reference pro vývojáře
Cenové tabulky jsou v API vystaveny jakopricing-tables.