Prenos dokladov a faktúr

Systém v duchu štruktúry ubytovacích zariadení používa okrem dokladov (bills) a faktúr (invoices) externé pokladne. Tie sú zväčša umiestnené na odbytových strediskách zariadení (reštaurácia, lobby bar, wellness). Na týchto externých pokladniach prebieha okrem priameho škálneho predaja aj neškálny predaj na hotelový účet izby. Kedy hosť platí na strediskách počas pobytu "na izbu" a pri odchode platí fiškálne celkový doklad za pobyt v hoteli.

Url pre volanie API rozhrania

https://DOMENA-WEBU/api/money/

Overenie spojenia

Pre overenie spojenia sa používa Base HTTP Autentiká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

Nastavenie DPH 

https://demo.ellipsecloud.com/api/money/?type=vat

Odpoveď:

[
{
   "id": "1",
   "vat": "20",
   "code": "A",
   "base": "1"
},
{"id": ... }
]

id - id v systéme Ellipse, vat - výška dane, code - kódové označenie v Ellipse, base - hodnota 1 - základná sadzba pre DPH.

Pokladne - registers

Povinné parametre: type (registers).

https://demo.ellipsecloud.com/api/money/?type=registers

Odpoveď:

{
   "1": "Recepcia",
   "2": "Reštaurácia",
   "3": "Lobby bar"
}

Zoznam pokladní v systéme.

Položky pokladne - regitems

Povinné parametre: type (regitems).

https://demo.ellipsecloud.com/api/money/?type=regitems

Odpoveď:

[
{
"id": "1",
"register": "1",
"category": "0",
"name": "Prijatá záloha \/ Prepayment",
"plu": "",
"unit": "",
"unit_type": "0",
"vat": "3",
"price": "0.00",
"price_vat": "0.00",
"id_xml": "97",
"centre_xml": "UBYT" },
{ "id": ... }
]

id - id v systéme Ellipse, register - id pokladne, category - kategória pokladne, name - názov položky, plu, unit - skratka pre jednotku, unit_type - typ jednotky, vat - id pre DPH, price - cena bez DPH, price_vat - cena s DPH, id_xml a centre_xml slúžia na párovanie položiek s externými aplikáciami.

Položky pokladne / kalkulácie - regsets

Povinné parametre: type (regsets).

https://demo.ellipsecloud.com/api/money/?type=regsets

Odpoveď:

[
{
"id": "6",
"register": "1",
"category": "5",
"name": "Cappucinno 7g",
"plu": "",
"vat": "1",
"price": "1.83",
"price_vat": "2.2",
"half": "0.5",
"halfprice": "1.33",
"halfprice_vat": "1.6" },
{ "id": ... }
]

id - id v systéme Ellipse, register - id pokladne, category - kategória pokladne, name - názov položky, plu, vat - id pre DPH, price - cena bez DPH, price_vat cena s DPH, half - percento pre výpočet polovičnej porcie, halprice - cena polovičnej porcie, halfprice_vat - cena polovičnej porcie s DPH.

Kategórie pokladne - regcat

Povinné parametre: type (regcat).

https://demo.ellipsecloud.com/api/money/?type=regcat

Odpoveď:

[
{
"id": "5",
"name": "Káva a čaj" },
{ "id": ... }
]

id - id v systéme Ellipse, name - názov kategórie.

Vyhľadá a vráti partnera

Vyhľadávanie prebieha na základe jedného zo zadaných parametrov (id, company_id, exid).
Povinné parametre: type (getpartner), jeden z parametrov (id - id v systéme Ellipse, company_id - IČO, exid - id v externom systéme)

https://demo.ellipsecloud.com/api/money/?type=getpartner&id=22

Odpoveď:

{
    "id": "22",
    "name": "Terka s.r.o.",
    "street": "Firma ulica",
    "city": "Firma mesto",
    "zip": "PSČ", "country":
    "SVK - (in Alpha-3 format)",
    "company_id": "IČO",
    "vat_number": "DIČ",
    "vat_id": "IČ DPH",
    "exid": "552"
}

Pridanie partnera

V prípade existencie záznamu kde company_id alebo exid už existuje v systéme Ellipse budu pôvodné hodnoty nahradené podľa aktuálneho requestu.
Povinné parametre - GET: type (addpartner)
Povinné parametre - POST: name, company_id, exid
Nepovinné parametre - POST: street, city, zip, country, vat_number, vat_id

https://demo.ellipsecloud.com/api/money/?type=addpartner

Príklad POST:

{
   "name": "Terka s.r.o.",
   "street": "Firma ulica",
   "city": "Firma mesto",
   "zip": "PSČ",
   "country": "SVK - (in Alpha-3 format)",
   "company_id": "IČO",
   "vat_number": "DIČ",
   "vat_id": "IČ DPH",
   "exid": "552"
}

Odpoveď:


   "id": 40,
   "exid": 552,
   "status": "inserted / updated"
}

Kategórie faktúr - invcat

Povinné parametre: type (invcat).

https://demo.ellipsecloud.com/api/money/?type=invcat

[
{
"id": "21",
"name": "Zálohová faktúra",
"text": "daňový doklad"
},
{ "id": ... }
]

id - id v systéme Ellipse, name - názov kategórie, text -sprievodný text.

Skupiny faktúr - invgroup

Povinné parametre: type (invgroup).

https://demo.ellipsecloud.com/api/money/?type=invgroup

[{ "id": "1", "name": "Domáci" }, { "id": ... }]

id - id v systéme Ellipse, name - názov kategórie.

Spôsob úhrady faktúr - invpayment

Povinné parametre: type (invpayment).

https://demo.ellipsecloud.com/api/money/?type=invpayment

Odpoveď:

{
   "1": "Prevodom",
   "2": "Platobná karta",
   "3": "Hotovosť",
   "4": "Voucher"
}

Zoznam druhu úhrad pri faktúrach.

Zoznam faktúr - invlist

Vráti zoznam faktúr podľa typu a rozsahu dátumu. Povinné parametre: type (invlist), datetype (production/delivery/due), from (Ym-d), to (Y-m-d).

https://demo.ellipsecloud.com/api/money/?type=invlist&datetype=production&from=2020-01-01&to=2020-12-31

[
{
   "id": "81",
   "number": "2",
   "searchnumber": "2320200002",
   "storno_searchnumber": "",
   "storno": "0",
   "storno_number": "0",
   "category": "23",
   "id_group": "1",
   "id_bill": "229",
   "production": "2020-01-06",
   "delivery": "2020-01-06",
   "due": "2020-01-06"
   },
{ "id": ... }
]

id - id v systéme Ellipse, number - číslo v systéme, searchnumber - číslo faktúry, storno_searchnumber - číslo stornovanej faktúry, storno - vráti 1 ak ide o stornovanú faktúru, storno_number - číslo storna, category - id kategórie, id_group - id skupiny, id_bill - previazaný doklad, production - dátum vystavenia, delivery - dátum dodania, due - dátum splatnosti.

Posledná faktúra

Vráti id poslednej faktúry v systéme.
Povinné parametre: type (lastinvid).

https://demo.ellipsecloud.com/api/money/?type=lastinvid

{
   "lastinvoiceid": "1055"
}

Zoznam faktur podla ID

Vráti zoznam faktúr v rozmedzí zadaných id (vrátane). Pri zadanom fromid všetky =>, pri zadanom toid <=, pri zadanom from id a toid sa vracia zodpovedajúci interval.

Povinné parametre: type (invrange), fromid alebo toid.

https://demo.ellipsecloud.com/api/money/?type=invrange&fromid=1000&toid=1002

[{
   "id": "1000",
   "number": "57",
   "searchnumber": "2120220057",
   "storno_searchnumber": "",
   "storno": "0",
   "storno_number": "0",
   "category": "21",
   "id_group": "0",
   "id_bill": "1456",
   "production": "2022-03-08",
   "delivery": "2022-03-08",
   "due": "2022-03-08"
},
{
   "id": "1001", ...
}
]

Detail faktúry - invoice

Vyhľadá faktúru podľa id alebo searchnumber. Povinné parametre: type (invoice), id (Number) / searchnumber (Number).

https://demo.ellipsecloud.com/api/money/?type=invoice&searchnumber=2320200002

{
"id": "2",
"number": "1",
"searchnumber": "2320190001",
"storno_searchnumber": "", "storno": "0",
"storno_number": "0",
"category": "23",
"payment_type": "3",
"id_group": "1",
"id_bill": "4",
"deposit": "0",
"deposit_in": "0",
"production": "2019-10-30",
"delivery": "2019-10-30",
"due": "2019-10-30",
"name": "",
"street": "",
"city": "",
"zip": "",
"country": "",
"company_id": "",
"vat_number": "",
"vat_id": "",
"note": "Rezervácia číslo: 295 (31.10.2019 - 07.11.2019)",
"printnote": "1-rec-1-2",
"fiskal": "0",
"fiskaldate": null,
"items": [
   { "id_item": "7",
   "name": "Ubytovanie",
   "plu": "",
   "price": "181.82",
   "price_vat": "200.00",
   "vat": "10",
   "lot": "1",
   "type": "reg"
   }]
}

id_item - jedinečné id položky pokladne závisí od hodnoty type. Pre type = "reg" id_item = id z volania regitems, pre type = "cal" id_item = id z volania regsets.

Spôsob úhrady dokladov - billspayment

Povinné parametre: type (billspayment).

https://demo.ellipsecloud.com/api/money/?type=billspayment

Odpoveď:

{
   "1": "Faktúra",
   "2": "Platobná karta",
   "3": "Hotovosť",
   "4": "Voucher"
}

Zoznam druhov úhrad pri dokladoch.

Zoznam dokladov - billslist

Vráti zoznam dokladov podľa rozsahu dátumu. Povinné parametre: type (billslist), from (Y-m-d), to (Y-m-d).

https://demo.ellipsecloud.com/api/money/?type=billslist&from=2020-01-01&to= 2020-12-31

[
 {
   "id": "225",
   "id_reservation": "478",
   "id_room": "0",
   "date": "2020-01-06",
   "due": "2020-01-06",
   "storno": "0",
   "deposit": "1",
   "depositin": "0" },
   { "id": ... }
]

id - id v systéme Ellipse, id_reservation - číslo rezervácie, id_room - číslo izby, due - dátum zdaniteľneho plnenia, date - dátum vystavenia dokladu, storno hodnota 1 znamená že doklad je stornovaný, deposit - doklad obsahuje zálohu, depositin - id dokladu uplatnenej zálohy.

Posledný doklad

Vráti id posledneho dokladu v systéme.
Povinné parametre: type (lastbillid).

https://demo.ellipsecloud.com/api/money/?type=lastbillid

{
   "lastbillid": "1583"
}

Zoznam dokladov podla ID

Vráti zoznam dokladov v rozmedzí zadaných id (vrátane).
Pri zadanom fromid všetky =>, pri zadanom toid <=, pri zadanom from id a toid sa vracia zodpovedajúci interval.
Povinné parametre: type (billrange), fromid alebo toid.

https://demo.ellipsecloud.com/api/money/?type=billrange&fromid=1000&toid=1002

[
  {
      "id": "1000",
      "id_reservation": "2220",
      "id_room": "0",
      "date": "2021-07-09",
      "due": "2021-07-09",
      "storno": "0",
      "deposit": "1",
      "depositin": null },
   {
      "id": "1001", ...
   }
]

Detail dokladu - bill

Vráti detail dokladu podľa id. Povinné parametre: type (bill), id (Number).

https://demo.ellipsecloud.com/api/money/?type=bill&id=225

{
   "id": "595",
   "id_reservation": "1694",
   "id_room": "0",
   "date": "2021-01-30",
   "due": "2021-01-30",
   "name": "Jopa Lopa",
   "street": "",
   "city": "",
   "zip": "",
   "country": "",
   "company_id": "",
   "vat_number": "",
   "vat_id": "",
   "payment_type": "0",
   "storno": "0",
   "note": "",
   "deposit": "0",
   "deposit_in": "0",
   "fiskal": "0",
   "fiskaldate": null,
   "items":
      [{
      "id_item": "7",
      "id_bill": "595",
      "id_reservation": "1694",
      "id_room": "0",
      "name": "Ubytovanie",
      "plu": "",
      "lot": "1",
      "price": "112.18",
      "price_vat": "123.40",
      "vat": "10",
      "type": "reg"
      }]
}

id - id v systéme Ellipse, id_reservation - číslo rezervácie, id_room - číslo izby, due - dátum zdaniteľneho plnenia, date - dátum vystavenia dokladu, storno hodnota 1 znamená že doklad je stornovaný, deposit - doklad obsahuje zálohu, depositin - id dokladu uplatnenej zálohy.

Zoznam dokladov externá pokladňa - exbillslist

Vráti zoznam dokladov podľa rozsahu dátumu. Povinné parametre: type (exbillslist), from (Y-m-d), to (Y-m-d), vyhľadávanie podľa skaldate. Volanie vráti len škálny doklad, nevracia doklad pripísaný na izbu alebo neukončený.

https://demo.ellipsecloud.com/api/money/?type=exbillslist&from=2020-01-01&t o=2020-12-31

[
 {
   "id": "232",
   "onroom": "0",
   "id_register": "2",
   "create": "2019-12-30",
   "lastchange": "2020-01-01",
   "fiskaldate": "2020-01-01",
   "fiskal": "1",
   "id_ek": "O-73753D27F978449CB53D27F9780-TEST",
   "status": "1",
   "type": "1",
   "discount": "0",
   "discounttext": null
 },
 { "id": ... }
]

id - id v systéme Ellipse, onroom - doklad je pripísaný na izbu / ne škálny, id_register - číslo pokladne, create - dátum vytvorenia, lastchange - posledná zmena, skaldate - dátum škálnej registrácie, id_ek - Ekasa ID, status hodnota 1 znamená že doklad je stornovaný, type - 1 = Hotovosť, 2 = Karta, discount - zľava v %

Detail dokladu externej pokladne - exbill

Vráti detail dokladu podľa id. Povinné parametre: type (exbill), id (Number).

https://demo.ellipsecloud.com/api/money/?type=exbill&id=369

{
   "id": "369",
   "onroom": "0", 
   "id_register": "2",
   "create": "2020-11-30",
   "lastchange": "2020-11-30",
   "fiskaldate": "2020-11-30",
   "fiskal": "1",
   "id_ek": "O-C0FF1EF2C17C485FBF1EF2C17CF-TEST",
   "status": "1",
   "type": "1",
   "discount": "0",
   "discounttext": null,
   "items":
    [{
      "id_item": "23",
      "lot": "1",
      "vat": "1",
      "price": "3.33",
      "price_vat": "4",
      "price_before": null,
      "half": "0",
      "type": "reg",
      "note": null
     }]
}

id - id v systéme Ellipse, onroom - doklad je pripísaný na izbu / nefiškálny, id_register - číslo pokladne, create - dátum vytvorenia, lastchange - posledná zmena, skaldate - dátum škálnej registrácie, id_ek - Ekasa ID, status hodnota 1 znamená že doklad je stornovaný, type - 1 = Hotovosť, 2 = Karta, discount - zľava v %. Items: id_item - jedinečné id položky pokladne závisí od hodnoty type. Pre type = "reg" id_item = id z volania regitems, pre type = "cal" id_item = id z volania regsets, price_before - pôvodná cena, slúži len pre kontrolu, half - polovičná porcia.