Foutantwoorden
De Hotspot API kent twee soorten resultaat: een mislukte authenticatie (HTTP 401) en een geslaagd antwoord (HTTP 200). Een lege gastenlijst is geen fout. Hieronder staan de situaties die je kunt tegenkomen en wat je in elk geval doet.
HTTP-statuscodes#
| Code | Body | Betekenis en wat te doen |
|---|---|---|
200 | {"success": 1, "otelde": [...]} | Geslaagd. Verwerk de lijst. |
200 | {"success": 1, "otelde": []} | Geslaagd; er is niemand aanwezig. Zie de opmerking over lege lijsten hieronder. |
401 | {"success": 0} | Header ApiKey ontbreekt of sleutel niet herkend. Niet opnieuw proberen; controleer de sleutel en waarschuw de beheerder. |
404 | Foutpagina | Verkeerd pad. Controleer of het pad precies /public/json/customer/inhotel is. |
405 | Foutpagina | Er is een andere methode dan POST gebruikt (bijv. GET vanuit een browser). |
5xx / time-out | — | Tijdelijke server- of netwerkfout. Probeer opnieuw met oplopende wachttijden (30 s, 1 min, 5 min) en blijf intussen de laatste geslaagde lijst gebruiken. |
Lege lijst#
otelde: [] betekent dat er geen ingecheckte gasten aanwezig zijn, wat buiten het seizoen normaal is voor kleine hotels. Een lijst die bij de vorige opvraging vol was en plotseling leeg is, wijst echter meestal op een bedieningsfout aan de kant van het hotel (een verkeerde bulk-uitcheck, een gewijzigde reserveringsstatus). Controleer of de lijst bij twee opeenvolgende opvragingen leeg terugkwam voordat je alle wifi-accounts sluit.
Opnieuw proberen en time-outs#
- Gebruik een time-out van 10 seconden voor het verzoek; zelfs bij grote hotels komt de lijst binnen die tijd terug.
- Probeer opnieuw bij
5xxen netwerkfouten; probeer401,404en405niet opnieuw, want dat zijn configuratiefouten. - Bewaar de laatste geslaagde lijst zolang een opvraging mislukt. Sluit alleen accounts van gasten die in een geslaagd antwoord uit de lijst zijn verdwenen.
- Tel opeenvolgende mislukkingen en waarschuw de beheerder zodra een drempel wordt overschreden (bijv. 15 minuten).
Veelvoorkomende situaties#
| Situatie | Waarschijnlijke oorzaak | Wat te doen |
|---|---|---|
| Gast staat niet in de lijst | De receptie heeft de gast niet ingecheckt, de reservering is geannuleerd, de gast is niet gemarkeerd als “in het hotel” of is al uitgecheckt. | Toon op het portal “kamernummer en achternaam komen niet overeen” en verwijs de gast naar de receptie. Opnieuw ophalen is niet nodig; de gast verschijnt bij de volgende synchronisatie. |
| Meerdere records voor dezelfde kamer | Er verblijft meer dan één gast in de kamer; elke gast is een apart record. | Normaal. Open accounts per gast (unique). |
identityNumber leeg | De gast is zonder identiteitsgegevens geregistreerd. | Match in plaats daarvan op achternaam + geboortedatum; laat het veld in het record voor Wet nr. 5651 leeg en koppel het aan unique. |
roomName komt niet overeen | De gast heeft “0104” of “Kamer 104” ingevoerd in plaats van “104”; de waarde is een string. | Normaliseer beide kanten voordat je vergelijkt; zet niet om naar een getal. |
checkout ligt in het verleden, maar de gast staat nog in de lijst | De gast heeft het verblijf verlengd of checkt laat uit en de receptie heeft dat nog niet verwerkt. | Houd de toegang open zolang de gast in de lijst staat; werk het einde van de sessie bij wanneer checkout verandert. |