Owner: Kelola Outlet dan Booth
Buat outlet, buat booth, atur kamera printer timer, dan kelola device pairing sampai revoke.
10 menit · 4 bagian · 12 langkah
Perlu disiapkan
- Business sudah dibuat dan plan aktif.
- Satu outlet minimal sebelum buat booth.
Ringkasan
Outlet adalah lokasi fisik (nama, alamat, kota, provinsi, status active atau inactive). Photobox adalah booth di dalam outlet (nama, slug unik per business, outlet induk, status online, offline, atau maintenance). Satu outlet bisa menampung banyak booth.
Limit plan di enforce server side. Membuat outlet atau booth melebihi max_outlets atau max_photoboxes ditolak. Semua query di scope business id: non member mendapat 404 anti existence leak.
Kelola outlet
Klik baris outlet untuk analytics: revenue (sum final amount), sessions count, customers distinct, average transaction, dan most popular package (group by package terbanyak).
- 1
Buka Outlets, tekan Buat Outlet. Isi nama wajib, alamat opsional, kota, provinsi.
- 2
Klik baris untuk analytics per outlet.
- 3
Hapus hanya bila tanpa dependensi photobox, transaksi, atau relasi paket dan voucher. Jika ada, ubah status menjadi inactive.
| Field | Aturan | Contoh |
|---|---|---|
| name | Wajib | Mall Kota Kasablanka |
| address | Opsional | Lantai 2 Blok A |
| city / province | Opsional | Jakarta / DKI Jakarta |
| status | active atau inactive | active |
Kelola booth dan device
Pairing memakai kode aktivasi sekali pakai kedaluwarsa sekitar 5 menit. Device kirim kode ke POST /api/v1/public/devices/activate, server verifikasi lalu terbitkan device token persisten (disimpan hash di server, token di localStorage device). Token diverifikasi bersama photobox id dan business id di tiap request.
Device status read only berisi resolusi kamera, status printer, dan last heartbeat. Tombol Ulangi Setup melakukan revoke lalu pairing ulang. Revoke membuat device langsung terkunci.
- 1
Buat photobox: nama, slug lowercase alphanumeric plus dash, outlet induk, status.
- 2
Di detail photobox tekan Tampilkan Kode atau QR.
- 3
Di device buka /p/[businessSlug]/[photoboxSlug], input kode atau scan QR.
- 4
Jalankan setup wizard sekali sampai welcome screen.
- 5
Revoke dari daftar device bila device hilang atau rusak.
Endpoint device (owner dan publik)
GET /api/v1/business/:businessId/photoboxes/:id/activation
POST /api/v1/public/devices/activate
POST /api/v1/public/devices/verify
DELETE /api/v1/business/:businessId/devices/:idKamera, printer, dan timer
Timer mulai saat webhook paid. Semua endpoint sesi mengecek expiry dan mengembalikan SESSION_EXPIRED bila lewat. Countdown kiosk hanya UX, server adalah enforcer.
Timeout sebelum bayar: reset ke Welcome, checkout expired, tidak reuse. Timeout setelah bayar: auto finalize memakai foto terakhir, tetap print dan QR result. Timeout post paid dengan 0 foto: result menampilkan sesi berakhir, penanganan manual owner.
- 1
Atur countdown 1 sampai 60 detik, mirror preview, fullscreen, facingMode, resolusi capture, jpeg quality.
- 2
Atur print: enabled, paper 4x6, layout single, portrait, auto print true, copies, margins mm.
- 3
Atur timer detik minimal 60, warning lebih kecil dari timer, max retakes (null sama dengan unlimited).
- 4
Jalankan print test dan konfirmasi fisik Ya atau Tidak.
Contoh settings per booth
{
"camera": { "countdown_seconds": 3, "mirror_preview": true },
"print": { "enabled": true, "paper_size": "4x6", "auto_print": true },
"session": { "timer_seconds": 300, "warning_seconds": 60 }
}Troubleshooting
| Gejala | Penyebab | Solusi |
|---|---|---|
| Booth tidak muncul di kiosk | Device belum pairing atau token di revoke | Generate kode baru dan pairing ulang. |
| SESSION_EXPIRED terus muncul | Timer sesi terlalu pendek atau sesi lama dibuka ulang | Naikkan timer_seconds, mulai sesi baru setelah paid. |
| Print test tidak keluar | Printer default OS belum di set | Set printer default di kiosk, ulangi print test. |
Langkah berikutnya
- Owner: Template dan Frame: Slot builder dan assign.
- Kamera dan Printer Kompatibel: Pilih seri yang stabil.
- Atasi Masalah Umum: Solusi kamera dan print.