Respons error
Hotspot API menghasilkan dua jenis hasil: kegagalan autentikasi (HTTP 401) dan respons berhasil (HTTP 200). Daftar tamu yang kosong bukanlah error. Berikut situasi yang mungkin Anda temui dan langkah yang perlu dilakukan untuk masing-masing.
Kode status HTTP#
| Kode | Body | Arti dan yang perlu dilakukan |
|---|---|---|
200 | {"success": 1, "otelde": [...]} | Berhasil. Proses daftarnya. |
200 | {"success": 1, "otelde": []} | Berhasil; tidak ada tamu yang menginap. Lihat catatan tentang daftar kosong di bawah. |
401 | {"success": 0} | Header ApiKey tidak ada atau kunci tidak dikenali. Jangan diulang; periksa kunci dan beri tahu administrator. |
404 | Halaman error | Path salah. Pastikan path-nya persis /public/json/customer/inhotel. |
405 | Halaman error | Digunakan metode selain POST (mis. GET dari browser). |
5xx / timeout | — | Error server atau jaringan sementara. Coba lagi dengan jeda yang makin panjang (30 dtk, 1 mnt, 5 mnt) dan sementara itu tetap gunakan daftar terakhir yang berhasil. |
Daftar kosong#
otelde: [] berarti tidak ada tamu yang sudah check-in dan sedang menginap, yang wajar untuk hotel kecil di luar musim. Namun, daftar yang pada kueri sebelumnya penuh lalu tiba-tiba kosong biasanya menandakan kesalahan operasional di sisi hotel (check-out massal yang keliru, perubahan status reservasi). Sebelum menutup semua akun Wi-Fi, pastikan daftar kosong pada dua kueri berturut-turut.
Percobaan ulang dan timeout#
- Gunakan timeout permintaan 10 detik; bahkan untuk hotel besar, daftar dikembalikan dalam waktu tersebut.
- Coba ulang saat terjadi
5xxdan error jaringan; jangan mengulang401,404, atau405, karena ketiganya merupakan error konfigurasi. - Simpan daftar terakhir yang berhasil selama kueri gagal. Tutup akun hanya untuk tamu yang hilang dari daftar pada respons yang berhasil.
- Hitung kegagalan berturut-turut dan beri tahu administrator jika melewati ambang batas (mis. 15 menit).
Situasi umum#
| Situasi | Kemungkinan penyebab | Yang perlu dilakukan |
|---|---|---|
| Tamu tidak ada di daftar | Resepsionis belum melakukan check-in untuk tamu, reservasi dibatalkan, tamu tidak ditandai “sedang menginap”, atau sudah check-out. | Tampilkan “nomor kamar dan nama belakang tidak cocok” di portal dan arahkan tamu ke resepsionis. Tidak perlu mengambil ulang daftar; tamu akan muncul pada sinkronisasi berikutnya. |
| Beberapa record untuk kamar yang sama | Lebih dari satu tamu menginap di kamar tersebut; masing-masing merupakan record terpisah. | Wajar. Buka akun per tamu (unique). |
identityNumber kosong | Tamu didaftarkan tanpa detail identitas. | Gunakan nama belakang + tanggal lahir sebagai alternatif untuk pencocokan; biarkan field ini kosong dalam catatan sesuai UU No. 5651 dan kaitkan dengan unique. |
roomName tidak cocok | Tamu mengetik “0104” atau “Kamar 104”, bukan “104”; nilainya berupa string. | Normalisasikan kedua sisi sebelum membandingkan; jangan mengonversinya menjadi angka. |
checkout sudah lewat tetapi tamu masih ada di daftar | Tamu memperpanjang masa menginap atau check-out terlambat, dan resepsionis belum memprosesnya. | Biarkan akses tetap terbuka selama tamu masih ada di daftar; perbarui akhir sesi saat checkout berubah. |