Manajemen Staff & Pengguna
Pengelolaan anggota tim toko: pengiriman undangan via email, penetapan peran (Owner, Admin, Manager, Kasir), dan penonaktifan akses.
Gambaran Umum
Manajemen staf dan pengguna adalah pondasi utama dalam menjaga keamanan serta kelancaran operasional harian sebuah bisnis. Modul Manajemen Staff di Temuya POS memberikan kendali penuh kepada pemilik usaha untuk mengelola siapa saja yang dapat mengakses sistem, apa yang bisa mereka lakukan di dalamnya, dan melacak seluruh aktivitas mereka secara transparan.
Bayangkan sebuah skenario bisnis di kedai kopi yang sedang berkembang pesat. Sang pemilik tidak lagi bisa berjaga di kasir setiap hari. Ia mempekerjakan seorang manajer operasional untuk mengurus persediaan bahan baku, dua orang kasir yang bekerja dalam sistem shift, dan seorang akuntan yang membutuhkan akses hanya ke laporan keuangan. Tanpa sistem manajemen pengguna yang baik, sang pemilik terpaksa membagikan kata sandi akun utamanya, yang tentu saja membuka celah keamanan serius.
Dengan modul ini, sang pemilik cukup mengirimkan undangan melalui email kepada masing-masing karyawannya. Ia bisa menetapkan peran (role) yang spesifik: manajer mendapat akses untuk mengubah stok dan menu, kasir hanya bisa melakukan transaksi penjualan dan membuka/menutup shift, sementara akuntan diberikan peran admin yang terbatas pada pelaporan. Jika ada staf yang mengundurkan diri, akses mereka dapat dicabut dalam hitungan detik tanpa mengganggu operasional staf lainnya.
Pendekatan ini tidak hanya mengamankan data rahasia bisnis (seperti margin keuntungan atau kontak pemasok), tetapi juga menanamkan budaya akuntabilitas. Setiap transaksi atau perubahan data yang terjadi dalam sistem selalu direkam atas nama pengguna tertentu. Jika terjadi selisih uang di laci kasir atau stok barang yang hilang, pemilik dapat dengan mudah menelusuri siapa yang bertanggung jawab berdasarkan riwayat aktivitas.
Alur Kerja
Proses penambahan staf baru dirancang agar aman, efisien, dan meminimalkan kesalahan input data oleh staf. Semuanya berpusat pada sistem undangan berbasis email.
sequenceDiagram
participant O as Owner/Manager
participant S as Sistem Temuya
participant E as Email Karyawan
participant K as Karyawan Baru
O->>S: Masukkan email & pilih Role (mis: Kasir)
S->>S: Validasi format email & cek ketersediaan
S->>E: Kirim email undangan dengan link unik
E-->>K: Terima notifikasi email undangan
K->>S: Klik link aktivasi undangan
S-->>K: Tampilkan form registrasi profil
K->>S: Buat kata sandi & lengkapi data diri
S->>S: Simpan data kredensial (enkripsi)
S-->>K: Redirect ke halaman Login
K->>S: Login menggunakan email & kata sandi baru
S->>S: Verifikasi kredensial & otorisasi Role
S-->>K: Masuk ke dashboard sesuai Role
Langkah-langkah terperinci dalam alur kerja ini meliputi:
- Pemilik atau manajer toko masuk ke menu Manajemen Staff.
- Mereka menekan tombol βTambah Staffβ, kemudian memasukkan alamat email aktif dari karyawan yang bersangkutan.
- Mereka memilih peran yang sesuai dari daftar yang tersedia.
- Sistem kemudian mengirimkan tautan undangan aman yang memiliki batas waktu kedaluwarsa.
- Karyawan yang menerima email tersebut akan mengklik tautan, lalu mengatur kata sandi pribadi mereka.
- Setelah berhasil mendaftar, akun tersebut resmi terhubung dengan toko tersebut sesuai batas wewenangnya.
Teknologi & Infrastruktur
Modul ini didukung oleh infrastruktur autentikasi dan otorisasi yang tangguh untuk memastikan data tidak jatuh ke tangan yang salah. Manajemen peran diatur menggunakan sistem akses berbasis peran yang memastikan hierarki pengguna tetap terjaga.
| Peran (Role) | Hak Akses Utama | Batasan Utama |
|---|---|---|
| Owner | Akses penuh ke seluruh fitur dan pengaturan toko, termasuk menghapus toko. | Tidak ada batasan. |
| Admin | Mengakses laporan, manajemen menu, dan pengaturan dasar. | Tidak dapat menghapus toko atau mengelola akun Owner. |
| Manager | Mengatur stok, jadwal staf, dan melihat transaksi harian. | Tidak dapat mengakses laporan laba rugi. |
| Kasir | Melakukan transaksi penjualan, cetak struk, dan buka tutup shift. | Tidak dapat menambah/menghapus produk atau mengubah pengaturan. |
Berikut adalah struktur entitas data yang menggerakkan fitur ini:
| Entitas Basis Data | Deskripsi Fungsi | Atribut Penting |
|---|---|---|
| Users | Tabel pusat otentikasi global. | email, hashed_password, created_at, status |
| Store_Members | Tabel penghubung (pivot) antara toko dan pengguna, mendefinisikan peran. | user_id, store_id, role_id, is_active |
| Roles | Definisi jenis peran dan nama yang ditampilkan. | role_name, description, hierarchy_level |
| Permissions | Daftar izin tindakan spesifik dalam sistem (misalnya: delete_product, view_reports). | permission_code, module |
| Role_Permissions | Penghubung antara peran dan daftar izin yang dipegangnya. | role_id, permission_code |
| Invitations | Melacak tautan undangan yang dikirimkan. | email, token, role_id, expires_at, status |
Keterkaitan dengan Fitur Lain
Manajemen Staff adalah fitur inti (core feature) yang menyentuh hampir seluruh aspek dalam ekosistem Temuya POS:
- Jadwal Kerja Karyawan: Akun staf yang telah aktif dapat dimasukkan ke dalam jadwal shift operasional harian.
- Transaksi Kasir: Setiap pesanan, diskon manual, atau pengembalian dana (refund) yang diproses akan mencatat ID kasir yang bertugas, memudahkan audit.
- Laporan Kinerja Kasir: Sistem secara otomatis menghasilkan laporan tentang total penjualan, selisih uang, atau jumlah transaksi yang ditangani oleh masing-masing kasir.
- Manajemen Inventaris: Jika terjadi penyesuaian stok manual (stock opname) karena barang rusak atau hilang, nama staf yang melakukan perubahan akan dicatat di buku besar inventaris.
- Pengaturan Toko: Otorisasi tingkat tinggi diperlukan untuk mengubah parameter dasar toko seperti identitas merek, pengaturan pajak, atau perubahan layanan pembayaran.
Hal Penting yang Perlu Diketahui
- Hierarki Penonaktifan: Seseorang dengan peran Manajer dapat mengundang atau menonaktifkan akun Kasir, tetapi tidak dapat mengubah status akun Admin atau Owner. Sistem akan menolak upaya perubahan hak akses lintas hierarki ke atas (upward privilege escalation).
- Keamanan Undangan: Tautan undangan yang dikirimkan melalui email memiliki batas waktu (misalnya 48 jam). Jika tautan tersebut belum diklik dan sudah kedaluwarsa, pihak manajer harus mengirimkan ulang undangan tersebut.
- Akun Multi-Toko: Jika karyawan yang sama dipekerjakan di dua cabang toko yang berbeda (di bawah manajemen yang sama), mereka tidak perlu mendaftar dengan email baru. Email yang sama dapat diundang ke toko cabang, dan mereka bisa berganti antarmuka toko dari satu akun yang sama.
- Pembekuan Akun: Menghapus staf tidak berarti riwayat transaksi mereka hilang. Sistem menggunakan pendekatan βsoft deleteβ (penonaktifan) sehingga semua jejak audit tetap terjaga demi kepentingan pelaporan.
Dengan arsitektur dan sistem kontrol yang mendetail, modul ini memberikan keseimbangan antara operasional yang lincah dan pengawasan yang ketat.