Hotel.getRates | Previo API

Hotel.getRates

Vrátí ceny, kontingenty, uzavírky, omezení a nastavení plateb

Tato operace vrací všechna data, které lze nastavit v menu Nastavení - Ceny. Doporučujeme si proto nejříve toto nastavení vyzkoušet, ať lépe pochopíte strukturu dat.

Způsob účtování ceny ubytování

Pokud je hodnota elementu prmId 1, hotel účtuje ceny ubytování podle obsazenosti. Pokud je hodnota 2, cena je jednotná za celý pokoj nezávisle na počtu hostů.

Takto bude vypadat element objectKind při účtování podle obsazenosti:

<objectKind>
    <obkId>1478</obkId>
    <rate>
        <occupancy>1</occupancy>
        <price>800</price>
        <currency>
            <curId>1</curId>
            <code>CZK</code>
        </currency>
    </rate>
    <rate>
        <occupancy>2</occupancy>
        <price>1400</price>
        <currency>
            <curId>1</curId>
            <code>CZK</code>
        </currency>
    </rate>
</objectKind>

Tento příklad říká, že druh pokojů s id 1478 stojí pro jednoho hosta 800 Kč a pro dva hosty 1400 Kč.

Při účtování za celý pokoj element occupancy úplně chybí:

<objectKind>
    <obkId>1478</obkId>
    <rate>
        <price>1000</price>
        <currency>
            <curId>1</curId>
            <code>CZK</code>
        </currency>
    </rate>
</objectKind>

Tento druh pokojů stojí vždy 1000 Kč, je jedno kolik je na něm ubytovaných hostů.

Nepokojové prostory se účtují vždy jednotnou cenou. Element occupancy u nich chybí, přestože je prmId rovno 1.

Parametry

Název Popis
login Přihlašovací jméno
password Heslo
hotId Id hotelu
term Termín
currencies Filtr měn
prlIds Filtr cenových plánů
obkIds Filtr druhů pokojů
realSeasonTerm Chci-li vrátit sezóny uříznuté dle termínu vyhledávání, nebo reálný termín sezón

term

Vrátí nastavení cen v daném rozsahu datumů. Snažíme se hotely donutit nastavit ceny alespoň na rok dopředu.

Datumy uvádějte ve formátu W3 date. Např. 2010-04-29.

<term> [1]  
 
<from> [1] Datum od
<to> [1] Datum do

currencies

Tímto parametrem můžete specifikovat, v jakých měnách budou vráceny ceny ubytování a stravy. Vždy můžete vybírat pouze ty měny, které má hotel povoleny.

Pokud tento parametr vynecháte, operace vrátí ceny ve výchozí měně hotelu.

<currencies> [0..1]  
 
<currency> [1..*] Specifikovaná měna. Stačí nastavit buď curId nebo code.
 
<curId> [0..1] Id měny
<code> [0..1] Kód měny

prlIds

Nastavením tohoto parametru lze získat další cenové plány. Operace vždy vrací základní cenový plán. Pokud tento parametr vynecháte, jste Previo Partner a hotel má pro vás definován zvláštní cenový plán, operace ho vrátí spolu se zákládním plánem.

<prlIds> [0..1]  
 
<prlId> [1..*] Id cenového plánu

obkIds

Tímto parametrem lze vymezit, pro jaké druhy pokojů vás zajímají ceny ubytování, kontingenty a uzavírky. Pokud ho vynecháte, operace vrátí tyto pro informace pro všechny definované druhy pokojů.

<obkIds> [0..1]  
 
<obkId> [1..*] Id druhu pokojů

realSeasonTerm

Tímto parametrem lze určit, jakým způsobem se budou vracet termíny sezón - pokud je nastaveno na false nebo není nastaveno, tak se sezóny uříznou dle hledaného termín. Pokud true, tak se vrátí začátek a konec sezón dle termínu tak jak je zadáno v recepčním systému.

<realSeasonTerm> [0..1]  

Ukázkový požadavek

<request>
    <login>prihlasovaci_jmeno</login>
    <password>heslo</password>
    <hotId>745896</hotId>
    <term>
        <from>2010-01-01</from>
        <to>2010-12-31</to>
    </term>
    <currencies>
        <currency>
            <code>CZK</code>
        </currency>
        <currency>
            <code>EUR</code>
        </currency>
    </currencies>
</request>

Výstup

Kořenový element - rates

<rates> [1]  
 
<prmId> [1] Způsob účtování cen ubytování
<season> [0..*] Sezóny, které protínají specifikovaný termín. Mezi sezónami můžou existovat díry. Pokud na sebe dvě sezóny navazují, datum do první je stejné jako datum od druhé.
 
<priId> [1] Id sezóny
<from> [1] Datum od
<to> [1] Datum do
<ratePlan> [1..*] Cenový plán

Cenový plán - ratePlan

<ratePlan> [1..*] Cenový plán. Operace vždy vrací alespoň základní.
 
<prlId> [0..1] Id cenového plánu. Základní cenový plán žádné nemá.
<objectKind> [0..*] Ceny ubytování, kontingenty a uzavírky
 
<obkId> [1] Id druhu pokojů
<rate> [0..*] Cena ubytování
 
<occupancy> [0..1] Obsazenost. Tento element chybí, pokud hotel účtuje jednotnou cenu za celý pokoj.
<price> [1] Cena ubytování (částka v dané měně)
<standardPrice> [0..1] Cena ubytování před slevou
<nrrPrice> [0..1] Non-refundable rate
<currency> [1] Měna
 
<curId> [1] Id měny
<code> [1] Kód měny
<contingent> [0..1] Kontingent
 
<total> [1] Celkový počet pokojů od daného druhu v kontingentu
<expiration> [1] Neobsazené kapacity vracíte expiration dní od aktuálního dne.
<objId> [1..*] Id pokoje v kontingetu. Počet těchto id = hodnota total.
<closed> [0..1] Zavřené pokoje
 
<total> [1] Celkový počet zavřených pokojů od daného druhu
<objId> [1..*] Id zavřeného pokoje. Počet těchto id = hodnota total.
<minStay> [0..1] Minimální délka pobytu (dní) - omezení na délku pobytu se zde objeví v případě, že hotel používá toto omezní dle druhů pokojů
<maxStay> [0..1] Maximální délka pobytu (dní) - omezení na délku pobytu se zde objeví v případě, že hotel používá toto omezní dle druhů pokojů
<meal> [0..*]

[DEPRECATED - použijte metodu Hotel.getMeals]

Nabízené stravy a jejich ceny. Stravy jsou seřazeny podle meaId. Pro každou stravu (meaId) je vždy první uvedena cena pro výchozí kategorii hostů (guaId) v hotelu, pokud ji hotel v této sezóně výchozí kategorii nabízí.

 
<meaId> [1] Id stravy
<guaId> [1] Id kategorie hostů
<rate> [1..*] Cena
 
<price> [1] Cena stravy (částka v dané měně)
<currency> [1] Měna
 
<curId> [1] Id měny
<code> [1] Kód měny
<minStay> [0..1] Minimální délka pobytu (dní) - omezení na délku pobytu se zde objeví v případě, že hotel používá toto omezní dle sezón
<maxStay> [0..1] Maximální délka pobytu (dní) - omezení na délku pobytu se zde objeví v případě, že hotel používá toto omezní dle sezón
<payment> [0..*]

[DEPRECATED - použijte metodu Hotel.getPaymentMethods]

Nastavení povolených způsobů platby

 
<payId> [1] Id platby
<cosIdSuccess> [1] Id stavu, do kterého je rezervace přijata v případě, že platba proběhne úspěšně.
<cosIdFailure> [0..1] Id stavu, do kterého je rezervace přijata v případě, že platba neproběhne úspěšně. Úspěšnost platby lze vyhodnotit pouze u platby kreditní kartou (payId = 3), u ostatních typů platby se rezervace uloží vždy do stavu cosIdSuccess.
<advance> [0..1] Požadovaná záloha
 
<type> [1] Typ zálohy (co vyjadřuje value)
<value> [1]  
<expiration> [0..1] Počet dní, do kdy lze zálohu zaplatit. Úvaděno jen u platby převodem.
<range> [0..*] Dny nájezdu/odjezdu
 
<arrival> [1] Den nájezdu
<departure> [1] Den odjezdu

Ukázková odpověď

<rates>
    <prmId>1</prmId>
    <season>
        <priId>4758</priId>
        <from>2010-05-01</from>
        <to>2010-05-08</to>
        <ratePlan>
            <objectKind>
                <obkId>111136</obkId>
                <rate>
                    <occupancy>1</occupancy>
                    <price>500</price>
                    <currency>
                        <curId>1</curId>
                        <code>CZK</code>
                    </currency>
                </rate>
                <rate>
                    <occupancy>1</occupancy>
                    <price>20</price>
                    <currency>
                        <curId>2</curId>
                        <code>EUR</code>
                    </currency>
                </rate>
                <contingent>
                    <total>1</total>
                    <expiration>3</expiration>
                    <objId>957091</objId>
                </contingent>
                <closed>
                    <total>2</total>
                    <objId>957096</objId>
                    <objId>957101</objId>
                </closed>
            </objectKind>
            <objectKind>
                <obkId>111151</obkId>
                <rate>
                    <occupancy>1</occupancy>
                    <price>300</price>
                    <standardPrice>400</standardPrice>
                    <currency>
                        <curId>1</curId>
                        <code>CZK</code>
                    </currency>
                </rate>
                <rate>
                    <occupancy>2</occupancy>
                    <price>500</price>
                    <standardPrice>600</standardPrice>
                    <currency>
                        <curId>1</curId>
                        <code>CZK</code>
                    </currency>
                </rate>
                <rate>
                    <occupancy>1</occupancy>
                    <price>12</price>
                    <standardPrice>16</standardPrice>
                    <currency>
                        <curId>2</curId>
                        <code>EUR</code>
                    </currency>
                </rate>
                <rate>
                    <occupancy>2</occupancy>
                    <price>20</price>
                    <standardPrice>24</standardPrice>
                    <currency>
                        <curId>2</curId>
                        <code>EUR</code>
                    </currency>
                </rate>
            </objectKind>
            <meal>
                <meaId>2</meaId>
                <guaId>71941</guaId>
                <rate>
                    <price>50</price>
                    <currency>
                        <curId>1</curId>
                        <code>CZK</code>
                    </currency>
                </rate>
                <rate>
                    <price>2</price>
                    <currency>
                        <curId>2</curId>
                        <code>EUR</code>
                    </currency>
                </rate>
            </meal>
            <meal>
                <meaId>2</meaId>
                <guaId>71946</guaId>
                <rate>
                    <price>25</price>
                    <currency>
                        <curId>1</curId>
                        <code>CZK</code>
                    </currency>
                </rate>
                <rate>
                    <price>1</price>
                    <currency>
                        <curId>2</curId>
                        <code>EUR</code>
                    </currency>
                </rate>
            </meal>
            <minStay>2</minStay>
            <maxStay>10</maxStay>
            <payment>
                <payId>1</payId>
                <cosIdSuccess>6</cosIdSuccess>
            </payment>
            <payment>
                <payId>2</payId>
                <cosIdSuccess>1</cosIdSuccess>
                <advance>
                    <type>per</type>
                    <value>50</value>
                    <expiration>3</expiration>
                </advance>
            </payment>
        </ratePlan>
    </season>
    <season>
        <priId>8542</priId>
        <from>2010-05-08</from>
        <to>2010-05-15</to>
        <ratePlan>
            <objectKind>
                <obkId>111136</obkId>
                <rate>
                    <occupancy>1</occupancy>
                    <price>250</price>
                    <currency>
                        <curId>1</curId>
                        <code>CZK</code>
                    </currency>
                </rate>
                <rate>
                    <occupancy>1</occupancy>
                    <price>10</price>
                    <currency>
                        <curId>2</curId>
                        <code>EUR</code>
                    </currency>
                </rate>
            </objectKind>
            <objectKind>
                <obkId>111151</obkId>
                <rate>
                    <occupancy>1</occupancy>
                    <price>400</price>
                    <currency>
                        <curId>1</curId>
                        <code>CZK</code>
                    </currency>
                </rate>
                <rate>
                    <occupancy>2</occupancy>
                    <price>600</price>
                    <currency>
                        <curId>1</curId>
                        <code>CZK</code>
                    </currency>
                </rate>
                <rate>
                    <occupancy>1</occupancy>
                    <price>16</price>
                    <currency>
                        <curId>2</curId>
                        <code>EUR</code>
                    </currency>
                </rate>
                <rate>
                    <occupancy>2</occupancy>
                    <price>24</price>
                    <currency>
                        <curId>2</curId>
                        <code>EUR</code>
                    </currency>
                </rate>
            </objectKind>
            <minStay>1</minStay>
            <maxStay>100</maxStay>
            <range>
                <arrival>thu</arrival>
                <departure>sun</departure>
            </range>
            <range>
                <arrival>fri</arrival>
                <departure>sun</departure>
            </range>
        </ratePlan>
    </season>
</rates>

Ukázka výstupu odpovídá této obrazovce ze systému Previo:

Nastavení cen