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

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á