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