V systéme OBERON existuje možnosť vytvoriť rezervačný formulár ubytovania (web booking engine, internet booking engine, smart booking engine, on-line booking system...) na internetovej stránke ubytovacieho zariadenia a prepojiť ho s modulom Hotelová recepcia. Táto téma obsahuje základné informácie o tomto prepojení vrátane popisu viacerých spôsobov implementácie rezervačného formulára.
Základné informácie
- Modul Hotelová recepcia systému OBERON podporuje priamu on-line rezerváciu izieb pomocou rezervačného formulára ubytovania na webovej stránke ubytovacieho zariadenia.
- Rezervačný formulár umožňuje po vykonaní rezervácie hosťom na internetovej stránke automaticky zapísať rezerváciu (alebo dopyt na ubytovanie) do evidencie rezervácií a vzápätí ju zobraziť v grafickom prehľade izieb. Rezervovať je možné jednu, prípadne aj viac izieb, pričom je možné overiť stav voľných izieb aj s automatickým výpočtom ceny za ubytovanie.
- Prepojenie formulára s modulom Hotelová recepcia sa realizuje pomocou webových služieb, t. j. on-line, čím sa výrazne minimalizuje riziko duplicitnej rezervácie (prebukovania).
- Pre každý dopyt alebo rezerváciu sa môže vygenerovať automatická notifikácia vo forme e-mailovej alebo SMS správy. Hosťovi sa zasiela jedna notifikácia o prijatí on-line požiadavky, ubytovaciemu zariadeniu sa zasiela druhá správa. Viac informácií je možné získať v téme Automatické notifikácie.
- Každé overenie pobytu, ako aj zaslanie rezervácie, sa zapisuje do správ o priebehu (log). Viac informácií je možné získať v téme Sledovanie činností.
Možnosti rezervačného formulára
- Overenie dostupnosti voľných izieb vo vybranom termíne, čím poskytuje údaje o obsadenosti v danom termíne (o evidovaných rezerváciách a zaevidovaných ubytovaniach).
- Rezervovať je možné tak typ izby, ako aj konkrétnu izbu.
- Pri typoch izieb systém automaticky priradí najvhodnejšiu izbu (podľa obsadenosti a nadväznosti na koniec iného pobytu, prípadne začiatok ďalšieho pobytu).
- Možnosť rezervácie viacerých izieb.
- Pri skupinovej rezervácii presný rozpis osôb v izbách a vek detí.
- On-line výpočet ceny za ubytovanie.
- Rezervácia alebo dopyt sa automaticky zapíše do knihy rezervácií a zobrazí v grafickom prehľade izieb.
- Viaceré jazykové mutácie.
Rezervačný formulár ubytovania je možné zriadiť na webovej stránke ubytovacieho zariadenia aj jednoduchou inštaláciou pluginu
OBERON - Hotel Reservation priamo do systému
WordPress. Bližšie informácie je možné získať v téme
Rezervačný formulár ubytovania pre WordPress.
Obrázok č. 1: Formulár rezervačného formulára ubytovania

Implementácia rezervačného formulára do webovej stránky
- Rezervačný formulár je možné priamo implementovať do webovej stránky ubytovacieho zariadenia týmito spôsobmi:
a) implementáciou kódu priamo do webovej stránky - profesionálne riešenie s možnosťami úpravy správania sa formulára podľa potrieb a požiadaviek ubytovacieho zariadenia (implementácia je náročnejšia, zvládne ju len webový vývojár).
b) implementácia JavaScript kódu priamo do webovej stránky - náročnejšia implementácia, zvládne ju však aj menej skúsený webový vývojár.
c) vložením odkazu IFrame do webovej stránky - jednoduchá implementácia, avšak obmedzená možnosť úpravy. Farebná schéma sa dá nastaviť priamo v súbore frm_Reservation.html.
- Rezervačný formulár ubytovania komunikuje s webovou službou, ktorá je hosťovaná v programe OBERON Center. S webovou službou sa komunikuje štandardne pomocou protokolu SOAP, pričom je možné komunikovať aj pomocou JSON štruktúr. Vývojári môžu využiť funkčný príklad rezervačného formulára, ktorý sa nachádza vo webovej aplikácii OBERON Web.
- Rezervačný formulár implementovaný pomocou IFrame sa nachádza v súbore frm_Reservation.html, umiestnenom v \\OBERON\WebServices\NazovWebovejSluzby\OBERONWebTemplates\. Tento HTML súbor obsahuje aj JavaScript (programový kód) samotného formulára a volanie funkcií webovej služby.
- Ak sa rozhodnete upravovať súbor frm_Reservation.html (napr. z dôvodu nastavenia farebnej schémy), neupravuje originálny súbor, pretože pri inštalácii najbližšej aktualizácie OBERON-u sa automaticky prepíše. Je potrebné vytvoriť jeho kópiu a umiestniť ju do adresára OBERONWebTemplates_UserDefined.
- Rezervačný formulár sa pripája na IP adresu webovej služby, ktorá spravidla beží na serveri ubytovacieho zariadenia. Z tohto dôvodu musí mať ubytovacie zariadenie verejnú IP adresu. Pri nastavení komunikácie je potrebné na sieťovom smerovači (rootri) nastaviť presmerovanie z vonkajšej IP adresy (a daného portu) do počítača, v ktorom beží webová služba (netreba zabudnúť ani na nastavenie brány firewall).
 |
Dôležité!
Rezervačný formulár môže byť problém otestovať v rámci jedného internetového pripojenia, t. j. ak sa z tej istej IP adresy pripojíte na webovú stránku s rezervačným formulárom a zároveň sa tento rezervačný formulár pripája na tú istú IP adresu. V tomto prípade vzniká problém tzv. NAT Loopback, viac informácií je možné získať napr. na tejto webovej adrese. Jednoduchým riešením môže byť inštalácia napr. Tor Browsera a v ňom otvorenie stránky s rezervačným formulárom. |
Implementáca rezervačného formulára do internetovej stránky pomocou IFrame |
Copy Code
|
// Funkcia na zmenu veľkosti stránky podľa rezervačného formulára
<script>
function resizeParentIframe() {
var par = window.parent;
if (!par || !_self.defaults.parentIframeID) return;
setTimeout(function () {
var target = par.postMessage ? par : (par.document.postMessage ? par.document : undefined);
if (typeof target != "undefined" && document.body.scrollHeight) {
var container = $(".main");
var data = { event: "resizeIframe", height: container.height() };
target.postMessage(data, "*");
}
}, 500); //čas vyvolania udalosti musí byť dosť dlhý aby sa vykonala po plnom vyrolovaní zoznamu izieb rezervácie
}
</script>
// Rezervačný formulár volaný pomocou IFrame
<p>
<iframe align="middle" frameborder="0" height="700" id="ID_IFrame" scrolling="no" src="http://192.168.16.101:25561/html?c=hotel_BaseForm_ReservationAccommodation" width="700"></iframe>
</p>
|
Responzívny dizajn
- Rezervačný formulár ubytovania podporuje aj responzívny dizajn - automatické prispôsobenie veľkosti formulára zariadeniu, na ktorom sa webová stránka zobrazí. Samozrejme, predpokladom je, že celá webová stránka, v ktorom je vložený IFrame, podporuje responzívny dizajn.
- Respozívny dizajn formulára je možné dosiahnuť úpravou súboru CSS danej webovej stránky. Je ho potrebné doplniť o kód uvedený nižšie. Zároveň je potrebné z odkazu na IFrame odstrániť nastavenie width="700" (pozri kód vyššie).
Responzívny dizajn - úprava CSS webovej stránky |
Copy Code
|
// Nastavenie šírky IFrame v závislosti na maximálnej šírke stránky. Je ho potrebné vložiť do základného CSS danej webovej stránky
#ID_IFrame {
width: 700px;
}
@media only screen and (max-width: 640px) {
#ID_IFrame {
width: 570px;
}
}
@media only screen and (max-width: 520px) {
#ID_IFrame {
width: 450px;
}
}
@media only screen and (max-width: 420px) {
#ID_IFrame {
width: 360px;
}
}
@media only screen and (max-width: 360px) {
#ID_IFrame {
width: 310px;
}
}
@media only screen and (max-width: 320px) {
#ID_IFrame {
width: 270px;
}
}
|
Jazykové mutácie
- Rezervačný formulár môže fungovať vo viacerých jazykových mutáciách - momentálne sú k dispozícii tieto:
- slovenský jazyk (predvolené)
- anglický jazyk - (príkaz lang=en)
- nemecký jazyk - (príkaz lang=de)
- poľský jazyk - (príkaz lang=pl)
- český jazyk - (príkaz lang=cs)
- Ďalšie jazykové mutácie je možné implementovať veľmi jednoducho - vytvorením ďalšieho súboru c:\OBERON\WebServices\názov služby v OBERON Centri\OBERONWebTemplates\lang\frm-reservation-XX.txt, kde XX je kód jazyka (napr. c:\OBERON\WebServices\WS-OBERON\OBERONWebTemplates\lang\frm-reservation-en.txt).
- Jazyková mutácia sa nastavuje pre každý formulár zvlášť vložením príslušného príkazu do kódu, napr. pri implementácii pomocou IFrame pre anglickú mutáciu: http://192.168.16.101:25561/html?c=hotel_BaseForm_ReservationAccommodation&lang=en (pozri nižšie).
Obrázok č. 2: Formulár rezervačného formulára ubytovania v anglickom jazyku s upravenou grafickou témou
Implementáca rezervačného formulára do internetovej stránky pomocou IFrame (anglický jazyk) |
Copy Code
|
// Funkcia na zmenu veľkosti stránky podľa rezervačného formulára
<script>
function resizeParentIframe() {
var par = window.parent;
if (!par || !_self.defaults.parentIframeID) return;
setTimeout(function () {
var target = par.postMessage ? par : (par.document.postMessage ? par.document : undefined);
if (typeof target != "undefined" && document.body.scrollHeight) {
var container = $(".main");
var data = { event: "resizeIframe", height: container.height() };
target.postMessage(data, "*");
}
}, 500); //čas vyvolania udalosti musí byť dosť dlhý aby sa vykonala po plnom vyrolovaní zoznamu izieb rezervácie
}
</script>
// Rezervačný formulár volaný pomocou IFrame (Anglicky)
<p>
<iframe align="middle" frameborder="0" height="700" id="ID_IFrame" scrolling="no" src="http://192.168.16.101:25561/html?c=hotel_BaseForm_ReservationAccommodation&lang=en" width="700"></iframe>
</p>
|
Príbuzné témy