Panduan Akses POS & Login Karyawan
Daftar Isi
- Perbedaan Akun Dashboard vs Akun POS
- Cara Membuat Akun Karyawan (Employee)
- Cara Login ke POS
- Role Karyawan & Hak Akses POS
- Mengelola Karyawan
- Logout dari POS
- Troubleshooting Login POS
1. Perbedaan Akun Dashboard vs Akun POS
Sistem Pesan POS menggunakan dua jenis akun yang terpisah:
| Akun Dashboard (Owner/Admin) | Akun POS (Karyawan/Employee) | |
|---|---|---|
| Login di | /login |
/pos/login |
| Identitas login | Email + Password | Kode Tenant + Kode Karyawan |
| Akses ke | Dashboard manajemen (produk, laporan, settings, dll.) | Halaman POS kasir (/pos) |
| Dibuat oleh | Sistem saat pendaftaran | Owner/Admin via menu Employees |
| Contoh pengguna | Pemilik restoran, manajer | Kasir, pelayan, staf dapur |
Penting: Akun owner/admin tidak bisa digunakan untuk login ke halaman
/pos. Harus menggunakan akun karyawan.
flowchart LR
A[Owner / Admin] -->|Login di /login| B[Dashboard Manajemen]
C[Karyawan / Kasir] -->|Login di /pos/login| D[Halaman POS /pos]
B -->|Kelola karyawan| E[Menu Employees di Dashboard]
E -->|Buat akun| C
2. Cara Membuat Akun Karyawan (Employee)
Akun karyawan dibuat oleh Owner/Admin melalui dashboard.
2.1 Buka Halaman Employees
- Login ke dashboard sebagai owner/admin
- Buka menu Employees (sidebar kiri)
- Klik tombol + Create Employee / Tambah Karyawan
- URL:
/employees/create
2.2 Isi Data Karyawan
| Field | Keterangan | Status | Contoh |
|---|---|---|---|
| Employee Code ⭐ | Kode unik karyawan — digunakan sebagai password login POS | Wajib | EMP001, KASIR01 |
| Name ⭐ | Nama lengkap karyawan | Wajib | Budi Santoso |
| Phone | Nomor telepon karyawan | Opsional | 0812xxxxxxxx |
| Email karyawan | Opsional | budi@gmail.com |
|
| Role ⭐ | Peran karyawan di restoran | Wajib | cashier |
| Status ⭐ | Status aktif/tidak aktif | Wajib | active |
💡 Tips: Klik tombol Generate Code untuk membuat employee code acak secara otomatis (format:
EMP+ 6 karakter acak, contoh:EMPXK72A). Atau isi manual dengan kode yang mudah diingat.
2.3 Pilihan Role
| Role | Keterangan | Bisa Login ke POS? |
|---|---|---|
cashier |
Kasir — mengelola transaksi | ✅ Ya |
waiter |
Pelayan — melayani meja | ✅ Ya |
manager |
Manajer — supervisori | ✅ Ya |
admin |
Admin restoran | ✅ Ya |
kitchen |
Staf dapur | ✅ Ya |
Semua role dapat login ke halaman POS. Tidak ada pembatasan berdasarkan role di level akses POS.
2.4 Simpan
Klik Save / Create Employee. Karyawan akan muncul di daftar /employees.
3. Cara Login ke POS
3.1 Buka Halaman Login POS
Akses URL:
https://dashboard.pesan.cafe/pos/login
Atau dari halaman mana pun, buka browser dan ketik /pos/login.
3.2 Isi Form Login
Halaman login POS memiliki dua field:
┌─────────────────────────────────────────┐
│ POS Login ✨ │
│ Enter tenant and employee code to │
│ access POS. 🔒 │
│ │
│ Tenant Code │
│ ┌─────────────────────────────────┐ │
│ │ kode-tenant-anda │ │
│ └─────────────────────────────────┘ │
│ │
│ Employee Code │
│ ┌─────────────────────────────────┐ │
│ │ ●●●●●●●● │ 👁 │
│ └─────────────────────────────────┘ │
│ │
│ [Verifikasi CAPTCHA Cloudflare] │
│ │
│ ┌─────────────────────────────────┐ │
│ │ Enter POS 🚀 │ │
│ └─────────────────────────────────┘ │
└─────────────────────────────────────────┘
| Field | Nilai yang Diisi | Cara Mendapatkan |
|---|---|---|
| Tenant Code | Kode unik tenant/bisnis Anda | Lihat di Settings → Tenant, field tenant_code |
| Employee Code | Kode karyawan (ditampilkan sebagai password) | Lihat di halaman detail karyawan (/employees/{id}) |
3.3 Verifikasi CAPTCHA
Halaman login POS dilindungi oleh Cloudflare Turnstile (CAPTCHA). Klik atau selesaikan verifikasi yang muncul sebelum submit.
3.4 Submit
Klik Enter POS 🚀. Jika berhasil, Anda akan diarahkan ke:
/pos— Table Overview (jika table tracking aktif)/pos→ redirect ke/pos/transaction(jika table tracking tidak aktif)
4. Role Karyawan & Hak Akses POS
4.1 Alur Login
flowchart TD
A[Buka /pos/login] --> B[Isi Tenant Code + Employee Code]
B --> C[Selesaikan CAPTCHA]
C --> D[Submit]
D --> E{Validasi}
E -->|Tenant Code salah / tidak aktif| F[Error: Invalid or inactive tenant code]
E -->|Employee Code salah / tidak aktif| G[Error: Invalid or inactive employee code]
E -->|CAPTCHA gagal| H[Error: Security verification failed]
E -->|Berhasil| I{Table Tracking?}
I -->|ON| J[Table Overview /pos]
I -->|OFF| K[POS Transaction /pos/transaction]
style F fill:#c62828,color:#fff
style G fill:#c62828,color:#fff
style H fill:#c62828,color:#fff
style J fill:#388e3c,color:#fff
style K fill:#388e3c,color:#fff
4.2 Validasi yang Dilakukan Sistem
Saat login, sistem melakukan 3 pengecekan berurutan:
- Tenant Code — apakah kode tenant ada dan statusnya
active - Employee Code — apakah kode karyawan ada, milik tenant tersebut, dan statusnya
active - Role — apakah role karyawan termasuk dalam daftar yang diizinkan (
cashier,waiter,manager,admin,kitchen)
5. Mengelola Karyawan
5.1 Melihat Daftar Karyawan
URL: /employees
Fitur yang tersedia:
- 🔍 Search berdasarkan nama, kode, email, atau telepon
- Filter berdasarkan Role dan Status
- Toggle status aktif/nonaktif langsung dari daftar
5.2 Melihat Detail & Kode Karyawan
URL: /employees/{employeeId}
Di halaman detail karyawan, Anda dapat melihat:
- Semua informasi karyawan
- Employee Code (ini yang digunakan sebagai password login POS)
🔑 Bagikan Employee Code ini kepada karyawan yang bersangkutan agar dapat login ke POS. Employee Code bersifat rahasia.
5.3 Mengedit Karyawan
URL: /employees/{employeeId}/edit
Field yang bisa diubah:
- Employee Code (jika perlu reset "password" POS)
- Nama, telepon, email
- Role
- Status (active / inactive)
⚠️ Jika Employee Code diubah, karyawan harus menggunakan kode baru saat login POS berikutnya.
5.4 Menonaktifkan Karyawan
Karyawan yang statusnya inactive tidak dapat login ke POS. Gunakan fitur ini untuk:
- Karyawan yang cuti/resign
- Memblokir akses sementara tanpa menghapus data
Cara menonaktifkan:
- Dari daftar
/employees— klik tombol toggle status langsung - Atau buka halaman edit karyawan → ubah Status ke
inactive→ Save
5.5 Menghapus Karyawan
Karyawan hanya bisa dihapus jika tidak memiliki order atau pembayaran yang terkait. Jika karyawan sudah pernah bertransaksi, gunakan fitur nonaktifkan saja.
6. Logout dari POS
Untuk keluar dari sesi POS:
- Di halaman POS mana pun, cari tombol Logout (biasanya di sudut kanan atas atau menu)
- Klik tombol logout
- Sistem akan menghapus sesi POS dan mengarahkan kembali ke
/pos/login
Catatan: Logout dari POS tidak mempengaruhi sesi dashboard owner/admin. Keduanya berjalan secara terpisah.
7. Troubleshooting Login POS
❌ "Invalid or inactive tenant code"
Penyebab: Kode tenant salah atau akun tenant tidak aktif.
Solusi:
- Pastikan Tenant Code yang dimasukkan benar — cek di Dashboard → Settings → Tenant, field Tenant Code
- Tenant Code bersifat case-sensitive — pastikan huruf besar/kecil sesuai
- Pastikan status tenant aktif (hubungi admin Pesan POS jika akun dinonaktifkan)
❌ "Invalid or inactive employee code"
Penyebab: Kode karyawan salah, karyawan tidak terdaftar di tenant tersebut, atau status karyawan inactive.
Solusi:
- Pastikan Employee Code yang dimasukkan benar — cek di Dashboard → Employees → Detail Karyawan
- Pastikan karyawan terdaftar di tenant yang sama dengan Tenant Code yang dimasukkan
- Pastikan status karyawan adalah
active— jikainactive, aktifkan kembali di halaman edit
❌ "Security verification failed. Please try the CAPTCHA again."
Penyebab: Verifikasi Cloudflare Turnstile gagal.
Solusi:
- Reload halaman dan coba lagi
- Pastikan koneksi internet stabil
- Coba gunakan browser yang berbeda atau mode incognito
❌ "This employee role is not permitted to access POS."
Penyebab: Role karyawan tidak termasuk dalam daftar yang diizinkan.
Solusi:
- Ubah role karyawan menjadi salah satu dari:
cashier,waiter,manager,admin, ataukitchen - Lakukan di Dashboard → Employees → Edit Karyawan
❌ Berhasil login tapi langsung kembali ke login
Penyebab: Sesi expired atau ada konflik cookie.
Solusi:
- Clear cookie browser untuk domain ini
- Pastikan browser mengizinkan cookie
- Coba gunakan browser berbeda atau mode incognito
📋 Ringkasan Cepat — Cara Login POS:
- Buka
/pos/login- Isi Tenant Code (dari Settings → Tenant)
- Isi Employee Code (dari halaman detail karyawan)
- Selesaikan CAPTCHA
- Klik Enter POS 🚀