Zapísanie položiek na hotelový účet hosťa

Umožní pripísať položky na hotelový účet. Pre overenie spojenia je použitá Basic Auth, meno a heslo spojenia je potrebné zadať v administračnej časti systému. Pre produkčné prostredie je potrebné v administrácii povoliť IP adresu pre vzdialený dopyt.

Základná url pre API volania:

https://DOMENA-WEBU/api/bor2/

1. Zoznam dostupnych účtov – openbills

https://DOMENA-WEBU/api/bor2/?type=openbills

GET - povinné parametre:
type=(string)openbills

GET - voliteľné parametre:
rfid=(string) - hodnota sa použije pre vyhľadávanie RFID karty hosťa
forcestatus=(int) 1 ignoruje stav izby


Odpoveď je pole vo formáte JSON
idr – id rezervácie
id_room - id izby
room_name – meno izby
peoples - pole s menom a identifikátorom hosťa

[{
   "idr": "2084",
   "id_room": "18",
   "room_name": "304",
   "peoples": {
      "1": { "id": "2773", "name": "Peter", "surname": "Ratatuille" },
      "2": { "id": "2774", "name": "Anna", "surname": "Ratatuille" }
}
}]

2. Pripísanie na účet – billtoroom

https://DOMENA-WEBU/api/bor2/?type=billtoroom

GET - povinné parametre:  type=(string)billtoroom

POST (application/json): 

  • idr – (int) id rezervácie
  • id_room - (int) id izby
  • idp - (int) identifikátor hosťa (nepovinné)
  • items - (array) položky na pripísanie
  • forcestatus - (int), nepovinne, hodnota 1 preskočí kontrolu stavu hostí na izbe. Pri forcestatus=1 je povinny parameter cdate(Y-m-d), dátum naťaženia položky nesmie byť menší ako aktuálny.
  • directitem - (int), nepovinné, hodnota 1 umožní zapísať priamo položky pokladne podla id a typu

Popis poľa "items":

  • vat – (int) hladina DPH
  • price_vat – (float) cena jednotky s DPH
  • lot – (int) počet jednotiek
  • name – (string) názov položky
  • id - (int) pri directitem = 1, id položky pokladne z volania /api/money/?type=regitems resp /api/money/?type=regsets
  • type - (reg / cal) pri directitem = 1, typ položky reg - položka pokladne, cal - kalkulácia

Vzor volania pri directitem = 0 / NULL

{
"idr": "2084",
"id_room": "18",
"idp": "2773",
"items": [
   {"vat": 10, "name": "Francuzska polievka", "lot": 2, "price_vat": 1.1 },
   { ... }
]
}

Vzor volania pri directitem = 1

{
"idr": "2084",
"id_room": "18",
"idp": "2773",
"items": [
   {"id": 2, "type": "reg", "lot": 2, "price_vat": 1.1 },
   { ... }
]
}

Odpoveď:

1. Úspešné pripísanie

{"status":"Success"}

2. položky poľa errors sa nepodarilo zapísať

{
"status": "Done with errors",
"errors": [{"vat": 15, "name": "Parená knedľa", "lot": 2, "price_vat": 3.8 }]
}

Chybové hlášky:

  1. {"error":"Bad Config"} – nesprávne nakonfigurované položky pre zápis
  2. {"error":"People not on room"} – izba rezervácie ma iný status ako Hostia na izbe
  3. {"error":"Room not found"} – id izby rezervácie nexistuje
  4. {"error":"Reservation is canceled"} – rezervácia bola zrušená
  5. {"error":"Unspecified error"} – chyba v nastavení hotelového účtu