Ceny, dostupnosť a rezervácie
Overenie spojenia
Pre overenie spojenia sa používa Base HTTP Autentifikácia. Parametre pre prihlásenie (meno a heslo) nastavuje používateľ systému Ellipse v administrácii. Pre produkčné prostredie je potrebné v administrácii povoliť IP adresu pre vzdialený dopyt. Podpora je dostupná na office@horecagroup.sk
Detail hotela - hotelinfo
Povinné parametre: type (hotelinfo)
https://demo.ellipsecloud.com/api/chmbase/?type=hotelinfo
Galéria - gallery
Povinné parametre: type (gallery)
https://demo.ellipsecloud.com/api/chmbase/?type=gallery
Odpoveď:
[{"name": "Demo Hotel",
"order": "1",
"images": [
"https:\/\/demo.ellipsecloud.com\/img\/gallery\/1-1.jpg",
"https:\/\/demo.ellipsecloud.com\/img\/gallery\/1-1-01.jpg",
"https:\/\/demo.ellipsecloud.com\/img\/gallery\/1-1-02.jpg"
]
}]
Základné info o izbách - roomtypes
Povinné parametre: type (roomtypes)
https://demo.ellipsecloud.com/api/chmbase/?type=roomtypes
https://demo.ellipsecloud.com/api/chmbase/?type=roomtypes&galleries=true (vrati vsetky fotky izieb v poli)
Odpoveď:
{"1": {
"id": "1",
"name": "Jednolôžková izba",
"text": "Ubytovanie s raňajkami pre vybraný počet osôb, parkovanie, wifi. ",
"largetext": "<p>Lorem ipsum..."
"image": "https:\/\/demo.ellipsecloud.com\/img\/rooms\/1-37-01.jpg",
"beds": "1",
"extrabeds": "0",
"allocated": 3,
"pictograms": {
"1": {
"name": "Max. obsadenie",
"value": "2+2"
},
"2": {
"name": "Rozloha",
...
},
"2": {
"id": "2",
"name": "Apartmán Comfort",
"beds": "2",
"extrabeds": "2"
},
"3": {
. . .
}
}
id - typ izby, name - názov, text - základný popis izby, largetext - rozšírený popis, image - ilustračný obrázok (0-00.jpg - plná veľkosť, 0-00-01.jpg, 0-00-02.jpg), beds - počet pevných lôžok, extrabeds - počet prístelkov, allocated - počet pridelených izieb pre rezervácie cez API, pictograms - vybavenie izby
Počet dostupných jednotiek podľa typu izby - roomcount
Povinné parametre: type (roomcount), from ( YYYY-mm-dd), to ( YYYY-mm-dd)
https://demo.ellipsecloud.com/api/chmbase/?type=roomcount&from=2020-05-01&to=2020-05-10
Odpoveď:
{"2020-05-01": {
"1": 8,
"2": 18,
"3": 3
},
"2020-05-02": {
"1": 8,
"2": 18,
"3": 3
} ...
}
Pole pre každý deň v zadanom období, kľúč = typ izby, hodnota = počet voľných izieb
Dostupné jednotky podľa typu a cena - roomstdrate
Povinné parametre: type (roomstdrate), from ( YYYY-mm-dd), to ( YYYY-mm-dd)
https://demo.ellipsecloud.com/api/chmbase/?type=roomstdrate&from=2020-05-01&to=2020-05-10
Odpoveď:
{"2020-08-01": {
"1": {
"items": 2,
"stdrate": "200.000",
"minstay": 0
},
"2": {
"items": 2,
"stdrate": "230.000",
"occ-1": "60.000",
"minstay": 0
},
"3": {
"items": 1,
"stdrate": "280.000",
"occ-1": "150.000",
"occ-2": "160.000",
"occ-3": "170.000",
"minstay": 0
}
}
}
Pole pre každý deň v zadanom období, kľúč - typ izby, items - počet voľných izieb, stdrate - standard rate pre kompletne obsadenú izbu, occ - ceny podľa počtu osôb ak sú dostupné, minstay - minimálna dĺžka pobytu
Overenie dostupnosti a cena - stayprices
Povinné parametre: type (roomcount), from ( YYYY-mm-dd), to ( YYYY-mm-dd), adults (number, číslo > 0) Voliteľné parametre: children (string, čísla oddelené - )
https://demo.ellipsecloud.com/api/chmbase/?type=stayprices&from=2020-05-01&to=2020-05-10&adults=2&children=4-6
Odpoveď:
[{"room": "3",
"persons": {
"adults": "2",
"1": 4,
"2": 6
},
"from": "2020-06-10",
"to": "2020-06-15",
"datetime": "2020-05-03 11:25:02",
"langs": ["sk", "en", "de", "pl", "ru", "hu"],
"openprice": {
"hash": "VUxxeUEyRldJdGNyVGZqRE83S2ZhSlZBZU8rZ1FaczQzMWtPM0tsOGJhSGVkZHdjUkh5UVhVemtBUXFCVmVwTEhLRnBjWUdFNlM5Tm5mKzY5dUxPS3RySEZ4UHM5U05SaTNJRWIxREpBOVp4dXVuQm5UcFVBQjcyNGpqRnFqZmRvaXdoS1IyQTBYb1FxRGEzZ0NkbmZnPT0%3D"
},
"base": {
"name": "Ubytovanie s raňajkami",
"price": 412.5,
"cancellation": 1,
"hash": "RnNJOTNULzNtNWF1QWFyQm1lSXlHRzVvU1NRMm1UR1hGSWhlMS9rTDRpWjFiQ1k3TkE3NTBCNmQ4ZWhtTDdFT0I5Si9hcGY2cG13ajVkcTdUaHpMaDRGS05QWnkwc1loR2ZiSDlXYmp1UzJhSER4VFNlWVFNN1lOS2hKUUo0R2g%3D"
},
"variant": [{
"id": "9",
"name": "Pobyt s polpenziou",
"price": 1012.5,
"cancellation": 2,
"hash": ...
}, {
"id": "10",
"name": "Non-refundable",
"price": 337.5,
"hash": ...
}],
"offer": [{
"id": "42",
"name": "Wellness hýčkanie",
"price": 779.5,
"cancellation": 1,
"hash":...
}]
}]
Všeobecné: room - typ izby, persons - pole osôb zadané pri dopyte, from - dátum príchodu, to - dátum odchodu, datetime - čas kedy bola odpoveď vygenerovaná, langs - pole s jazykom dostupným v systéme
Základná cena (base), variant (variant), balík (offer):
openprice: umožňuje vytvoriť rezerváciu s cenou nezávislou od ceny v Ellipse base: name - názov, cancellation - id storno podmienok, price - cena, hash - kľúč pre rezerváciu variant: id - id cenového variantu, name - názov, cancellation - id storno podmienok, price - cena, hash - kľúč pre rezerváciu offer: id - id pobytového balíka, name - názov, cancellation - id storno podmienok, price - cena, hash - kľúč pre rezerváciu
Nová rezervácia - newbooking
Povinné parametre: type (newbooking), rel (number, unikátny identifikátor), name (string, meno hosťa), surname (string, priezvisko hosťa), email (string, emailová adresa), hash (string, hash z odpovede stayprices), price (float 10.2) - len v prípade openprice hash, ratename - (string) názov, len pre openprice
Voliteľné parametre: lang (string), commisionamount (number, provízia), phone (string), street (string), city (string), zip (string), country (string), note (string)
https://demo.ellipsecloud.com/api/chmbase/?type=newbooking&rel=220&name=Peter&surname=Tester&lang=sk&commissionamount=22&email=peter@horecagroup.sk&phone=0907854854&street=Ulicka&city=Mestecko&zip=08045&country=Slovensko¬e=Poznamka&hash=a0RnY2RWUDBPWmlaSFdKWHZjM2dNclFXN2cvWEVkQVFpc3AwbElkMi9zTWZUWVhKVlQ4WDUxcmVJeTRkZ1Zja1hnVy9kejdSaXlUZEZCV0VHTVJEZy9oaEFpWllOTDNISEpWVXBOTFI1Mzg9
Odpoveď:
{"resid":123}resid: unikátne id v systéme Ellipse
Zmena rezervácie - edit
Vzhľadom na flexi ceny je zmena v rezervácii vlastne zrušením predchádzajúcej a vytvorenie novej s rovnakým parametrom rel a resid. Pred požiadavkou na editáciu je potrebné vykonať dopyt stayprices a hash odpovede použiť v dopyte edit. Pre zmenu údajov o registrácii bez zmeny izby je vhodné použiť editdata.
Povinné parametre: type (edit), resid (number, unikátny identifikátor v systéme Ellipse), rel (number, unikátny identifikátor), name (string, meno hosťa), surname (string, priezvisko hosťa), email (string, emailová adresa), hash (string, hash z odpovede stayprices), price (float 10.2) - len v prípade openprice hash, ratename - (string) názov, len pre openprice
Voliteľné parametre: lang (string), commisionamount (number, provízia), phone (string), street (string), city (string), zip (string), country (string), note (string)
https://demo.ellipsecloud.com/api/chmbase/?type=edit&resid=384&rel=219&name=Peter&surname=Editor&lang=sk&commissionamount=22.61&email=peter@horecagroup.sk&phone=0907854854&street=Ulicka&city=Mestecko&zip=08045&country=Slovensko¬e=Poznamka&hash=U1lLWVZudElYUWhXOXBhc295VFY1enZBS1BIWjdtNzNJOFg4OGdJQTFGSHRwK1U2S1h3RVkwRW9lRGJaU0dPZnlpUmdONGdCUUIwQ1ltT1JkNWs5QXU2L3NGK0xVWHFhRHV2WTFUbEVYZlhwTTlqVzdaSm5RZy91dWdZRURtTWY%3D
Odpoveď:
{"resid": 384,
"status": "updated"
}
Zmena dátumu rezervácie - resdate
Slúži na zmenu, posun dátumu rezervácie v jednom kroku.
Povinné parametre: type (resdate), resid (number, unikátny identifikátor v systéme Ellipse), rel (number, unikátny identifikátor), from ( YYYY-mm-dd), to ( YYYY-mm-dd)
Voliteľné parametre: openprices (string, room_key - price_room_key - price ... ), commisionamount (number, provízia)
Ak je pre užívateľa povolená openprice, cena rezervácie jednotlivých izieb sa nastaví podľa zaslaného kľúča.
https://demo.ellipsecloud.com/api/chmbase/?type=resdate&resid=411&rel=300&from=2020-07-11&to=2020-07-20&openprices=1-500_2-300.50
Odpoveď:
{"resid": "411",
"status": "updated",
"from": "2020-07-11",
"to": "2020-07-20",
"prices": {
"1": "500",
"2": "300.50"
}
}
Zmena základných informácií v rezervácii - editdata
Povinné parametre: type (edit), resid (number, unikátny identifikátor v systéme Ellipse), rel (number, unikátny identifikátor), name (string, meno hosťa), surname (string, priezvisko hosťa), email (string, emailová adresa)
Voliteľné parametre: lang (string), commisionamount (number, provízia), phone (string), street (string), city (string), zip (string), country (string), note (string)
https://demo.ellipsecloud.com/api/chmbase/?type=editdata&resid=384&rel=219&name=Adam&surname=Bookingowski&lang=en&commissionamount=33.20&email=adam@horecagroup.sk&phone=0907444555&street=Celistva&city=Dakar&zip=08045&country=Estonsko
Odpoveď:
{"resid": 384,
"status": "updated"
}
Storno rezervácie - cancel
Povinné parametre: type (cancel), rel (number, unikátny identifikátor), resid (number, unikátny identifikátor v systéme Ellipse)
https://demo.ellipsecloud.com/api/chmbase/?type=cancel&rel=215&resid=377
Odpoveď:
{"status": "cancelled"
}
status: v prípade úspešného zrušenia rezervácie alebo ak bola rezervácia zrušená predchádzajúcou požiadavkou je odpoveďou cancelled.
Pridanie ďalších izieb - addroom
Povinné parametre: type (addroom), rel (number, unikátny identifikátor), resid (number, unikátny identifikátor v systéme Ellipse), hash (string, hash z odpovede stayprices), price (float 10.2) - len v prípade openprice hash, ratename - (string) názov, len pre openprice
https://demo.ellipsecloud.com/api/chmbase/?type=addroom&rel=219&resid=384&price=333.50&ratename=OpenpriceRateName&hash=UCtpdVRmMy83QlBBNmxMWGpNeWk5YVMxVzVVdExmVU1nQkY3K3pjV2JmRDhHdHdyWitFc3o0Uk1vTkw5WElWNUY2M243b0FpRU1NT3Jrb09iUlAwMGJQejdrVFlUK0JJVElPN1lTMTEyejV5K1RGSkdnSVdWaWRjeEVNQzNWUGo%3D
Odpoveď:
{"resid": 384,
"status": "new room added",
"room_key": "2"
}
room_key - kľúč pre odstránenie izby
Odstránenie izby - deleteroom
Povinné parametre: type (deleteroom), rel (number, unikátny identifikátor), resid (number, unikátny identifikátor v systéme Ellipse), room_key - kľúč pre odstránenie izby
https://demo.ellipsecloud.com/api/chmbase/?type=deleteroom&rel=219&resid=384&room_key=4
Odpoveď:
{"resid": 384,
"status": "room deleted",
"room_key": 3
}
Detail rezervácie - resinfo
Povinné parametre: type (cancel), rel (number, unikátny identifikátor), resid (number, unikátny identifikátor v systéme Ellipse)
https://demo.ellipsecloud.com/api/chmbase/?type=resinfo&rel=228880&resid=392
Odpoveď:
{"resid": 392,
"rel": 228880,
"totalrooms": 1,
"1": {
"room_key": "1",
"room": "1",
"room_id": "0",
"id_offer": "40",
"id_variant": "0",
"cancellation": {
"name": "Štandardné storno podmienky",
"text": "",
"extra": {
"4": 50,
"0": 100,
"14": 0
}
}
}
}
room_key - kľúč pre odstránenie izby, room - typ izby, room_id - id jednotky, id_offer - id pobytového balíka, id_variant - id cenového variantu, totalrooms - celkový počet izieb v rezervácii.
Cenový variant - variant
Povinné parametre: type (variant)
Voliteľné parametre: variant (number), room (number)
https://demo.ellipsecloud.com/api/chmbase/?type=variant&variant=1
Odpoveď:
[{"variant": "1",
"room": "1",
"name": "Nevratná rezervácia - bez možnosti storna",
"text": "V cene je zahrnuté ubytovanie bez stravy. Tento nákup nie je možné stornovať."
}]
variant - id variantu, room - id izby, name - názov variantu, text - popis variantu v defaultnom jazyku
Pobytový balíček - offer
Povinné parametre: type (offer)
Voliteľné parametre: offer (number)
https://demo.ellipsecloud.com/api/chmbase/?type=offer&offer=30
Odpoveď:
[{"offer": "39",
"name": "Seniorský pobyt",
"text": "Doprajte si plnohodnotný oddych s priateľmi za extra výhodné ceny... ",
"start": "2019-01-01",
"end": "2020-12-31",
"checkday": "1+7",
"image": "https:\/\/demo.ellipsecloud.com\/img\/offers\/39.jpg"
}]
offer - id balíčka, name - názov, text - krátky popis, start - platnosť od, end - platnosť do, checkday - kontrolovaný deň príchodu 1-7 = pondelok - nedeľa, image - obrázok balíčka
Storno podmienky - cancellation
Vráti zoznam storno podmienok pre párovanie s parametrom cancellation volania stayprices. Povinné parametre: type (cancellation)
https://demo.ellipsecloud.com/api/chmbase/?type=cancellation
Odpoveď:
{"1": {
"id": 1,
"name": "Bez možnosti storna",
"text": "Túto rezerváciu nie je možné zrušiť. Pri zrušení pobytu bude účtovaný 100% storno poplatok vo výške hodnoty rezervácie. ",
"extra": false
},
"2": {
"id": 2,
"name": "Štandardné storno podmienky",
"text": "",
"extra": {
"4": 50,
"0": 100,
"14": 0
}
}...
}
name - názov, text - znenie storno podmienok, extra - pole s počtom dní pred začiatkom rezervácie a percentom pre výpočet storno poplatku.
Chybové hlášky
- No Type, chýba parameter type
- Not authorized, neoverená požiadavka
- Bad request - date, chybný dátum alebo nesprávne zadaný rozsah
- Bad request - adults, chýba alebo nesprávne uvedený parameter adults
- Name, chýba parameter name
- Surname, chýba parameter surname
- Email, chýba alebo nesprávne uvedený parameter email
- Availability, nedostupná izba
- Capacity, izba so žiadanou kapacitou neexistuje
- Undefined Error, neznáma chyba, nepodarilo sa vytvoriť rezerváciu
- Price changed, došlo k zmene ceny
- Expired, dátum príchodu je skorší ako aktuálny dátum
- Reservation exists, rezervácia s rovnakým rel už existuje
- Rel - chýba alebo nesprávny formát parameter rel
- Resid - chýba alebo nesprávny formát parameter rid
- Not Found - rezervácia sa nenašla
- Remote Addr - IP adresa spojenia nie je povolená v Ellipse
- Use Cancel - Rezervácia má len jednu izbu, namiesto deleteroom použite cancel
- Room not found - izba so zadaným room_key sa v rezervácii nenašla
- No rooms - nenašli sa izby rezervácie
- The booking date cannot be changed - chyba dostupnosti
- No Gallery - galéria nebola nastavená