Manajemen Voucher
Panduan lengkap membuat, mengelola, dan mencetak voucher hotspot
Apa itu Voucher?
Voucher adalah kode akses berupa kombinasi username dan password yang digunakan pelanggan untuk login ke jaringan hotspot. Setiap voucher terikat dengan satu profile paket internet.
Karakteristik Voucher:
- Username & Password - Kredensial untuk login hotspot
- Profile - Paket internet yang menentukan durasi, kecepatan, dan device limit
- Agent - Reseller yang menjual voucher (jika dibuat oleh agent)
- Expire Date - Batas waktu voucher masih bisa digunakan
- Status - Active (masih berlaku) / Expired (kedaluwarsa)
- Comment - Catatan atau ID batch untuk identifikasi
Flow Sistem Voucher
Menu Voucher
| Menu | Fungsi | URL |
|---|---|---|
| Daftar Voucher | Menampilkan semua voucher dengan filter dan aksi | /radius/secrets
|
| Tambah Manual | Membuat voucher satu per satu dengan input manual | /radius/secrets/add
|
| Generate Massal | Membuat banyak voucher sekaligus (batch) | /radius/secrets/batch
|
| Hapus Expired | Menghapus semua voucher yang sudah kadaluarsa | - |
| Refresh | Menyegarkan data voucher (membersihkan cache) | /radius/secrets?refresh=1
|
Cara Menambah Voucher (Manual)
- Buka menu Radius -> Secrets -> Add atau /radius/secrets/add
- Isi form voucher dengan data berikut:
| Field | Keterangan | Wajib? | Contoh |
|---|---|---|---|
| Username | Username untuk login hotspot (unique) | Ya | USER123, voucher_001
|
| Password | Password untuk login hotspot | Ya | PASS123, abc456
|
| Profile | Pilih paket internet yang akan diberikan | Ya | Paket 1 Hari, Paket 1 Minggu
|
| Agent | Pilih agent pemilik voucher (opsional) | Tidak | Agen Jakarta (default: Direct)
|
| Expire Date | Tanggal kadaluarsa voucher (opsional) | Tidak | 2025-12-31 23:59
|
| Comment | Catatan untuk identifikasi (opsional) | Tidak | Promo Lebaran, Batch Januari
|
- Username harus unik, tidak boleh sama dengan voucher lain
- Jika Expire Date tidak diisi, voucher akan mengikuti durasi profile (validity)
- Comment akan otomatis ditambahkan timestamp jika dibiarkan kosong
Cara Generate Voucher Massal
Fitur ini untuk membuat banyak voucher sekaligus dalam satu batch. Ideal untuk persiapan stok voucher.
- Buka menu Radius -> Secrets -> Generate atau /radius/secrets/batch
- Isi form generate massal:
| Field | Keterangan | Wajib? | Contoh / Pilihan |
|---|---|---|---|
| Quantity | Jumlah voucher yang akan dibuat | Ya | 100 (Max 5.000)
|
| Length | Panjang karakter username (4-9 digit) | Ya | 4, 5, 6, 7, 8, 9 (default 6)
|
| Character Set | Jenis karakter yang digunakan untuk username | Ya | alnum_upper = A-Z + 0-9, alpha_upper = A-Z, numeric = 0-9, alnum_lower = a-z + 0-9, alpha_lower = a-z
|
| Profile | Paket untuk semua voucher yang dibuat | Ya | Paket 1 Hari
|
| Agent | Agent pemilik voucher (opsional) | Tidak | Agen Madura (default: Direct)
|
| Expire Date | Tanggal kadaluarsa (opsional) | Tidak | 2025-12-31 23:59
|
| Comment | Catatan batch (otomatis ditambah timestamp) | Tidak | Promo Ramadhan
|
- Sistem akan menghasilkan username acak sesuai length dan character set
- Username dan password akan sama (username digunakan sebagai password)
- Sistem otomatis menghindari duplikasi username yang sudah ada
- Maksimal percobaan = quantity x 10 (jika terus bentrok, akan berhenti)
- Comment otomatis berformat: YYYY-MM-DD-RANDOM-COUNT-KOMENTAR
- Contoh:
2025-01-15-42-100-Promo Ramadhan
Jenis Character Set
| Character Set | Karakter | Contoh Username (6 digit) | Keamanan |
|---|---|---|---|
alnum_upper
| A-Z + 0-9 (tanpa O, I, 0, 1) | K2M9XP, 7R3LQZ
| Tinggi |
alpha_upper
| A-Z (tanpa O, I) | KRMXPL, QWHRLZ
| Tinggi |
numeric
| 0-9 (angka semua) | 247389, 561024
| Sedang |
alnum_lower
| a-z + 0-9 | k2m9xp, 7r3lqz
| Tinggi |
alpha_lower
| a-z | krmxpl, qwhrlz
| Tinggi |
Fitur Filter Voucher
Untuk memudahkan pencarian dan manajemen voucher, tersedia fitur filter:
Menampilkan voucher berdasarkan paket tertentu. Klik profile yang diinginkan, maka tabel akan otomatis menyaring voucher dengan profile tersebut.
Menampilkan voucher berdasarkan comment/batch ID. Setelah memilih profile, comment yang tersedia akan muncul di dropdown.
Memilih template cetak voucher (Template 1-10) sebelum mencetak.
Tabel otomatis menampilkan status (Active/Expired) dengan warna berbeda.
- Klik tombol Filter (dropdown hijau)
- Pilih Profile yang diinginkan
- Pilih Comment (batch) yang ingin ditampilkan
- Pilih Template untuk cetak (1-10)
- Klik Print untuk mencetak atau Delete untuk menghapus batch
Cara Mencetak Voucher
Langkah-langkah:
- Gunakan filter untuk memilih voucher yang akan dicetak:
- Klik tombol Filter -> Pilih Profile
- Pilih Comment (batch voucher yang diinginkan)
- Pilih Template (1-10, tersedia berbagai desain)
- Klik tombol Print
- Sistem akan membuka halaman cetak dengan template yang dipilih
- Gunakan Ctrl+P (Windows) atau Cmd+P (Mac) untuk mencetak
- Atur ukuran kertas (A4 / Letter) dan margin sesuai kebutuhan
- Klik Print
- Gunakan kertas HVS 70-80 gram untuk hasil terbaik
- Setiap template memiliki layout berbeda (jumlah voucher per halaman)
- Template 1-5: 8-10 voucher per halaman
- Template 6-10: 12-20 voucher per halaman
- Comment akan muncul di hasil cetak untuk identifikasi batch
Daftar Voucher
Menu Secrets (/radius/secrets) menampilkan tabel dengan informasi:
| Kolom | Keterangan | Warna / Status |
|---|---|---|
| Tombol edit voucher (mengubah profile, expire, dll) | - | |
| Username | Username untuk login hotspot (unique) | - |
| Password | Password untuk login hotspot | - |
| Profile | Nama paket yang dipilih | - |
| Agent | Agent pemilik voucher (Direct = admin langsung) | - |
| Expire | Tanggal kadaluarsa voucher | - |
| Status | Kondisi voucher saat ini | Active (hijau) / Expired (merah) |
| Comment | Catatan atau batch ID | - |
- Active - Voucher masih berlaku (expire > waktu sekarang)
- Expired - Voucher sudah kadaluarsa (expire < waktu sekarang)
Cara Mengedit Voucher
- Buka menu Radius -> Secrets atau /radius/secrets
- Klik ikon (Settings) pada voucher yang akan diedit
- Ubah data yang diperlukan:
- Username - Mengganti username (harus unik)
- Password - Mengganti password
- Profile - Mengganti paket internet
- Agent - Mengganti pemilik voucher
- Expire Date - Mengubah tanggal kadaluarsa
- Comment - Mengubah catatan
- Klik tombol Edit untuk menyimpan perubahan
- Mengubah username/password tidak akan mempengaruhi sesi yang sedang aktif
- Perubahan hanya berlaku untuk login berikutnya
- Voucher yang sudah expired bisa diperpanjang dengan mengubah Expire Date
Cara Menghapus Voucher
A. Menghapus Per Voucher:
- Buka menu Radius -> Secrets atau /radius/secrets
- Klik ikon (Settings) pada voucher yang ingin dihapus
- Klik tombol Delete (warna merah)
- Konfirmasi dengan klik OK
B. Menghapus Berdasarkan Comment (Batch):
- Gunakan filter untuk memilih Comment yang diinginkan
- Klik tombol Delete di dropdown Filter
- Konfirmasi penghapusan dengan OK
- Semua voucher dengan comment tersebut akan terhapus
C. Menghapus Semua Voucher Expired:
- Klik menu Radius -> Secrets -> Clear Expired
- Konfirmasi dengan klik OK
- Semua voucher dengan status Expired akan terhapus
- Voucher yang sudah dihapus TIDAK DAPAT DIKEMBALIKAN
- Pastikan tidak ada voucher aktif yang terhapus
- Gunakan fitur Clear Expired untuk membersihkan voucher kadaluarsa secara rutin
Status Voucher
Voucher masih dalam masa berlaku. Pelanggan dapat login menggunakan voucher ini. Status ini terjadi jika expire date > waktu sekarang.
Voucher sudah melewati masa berlaku. Pelanggan tidak bisa login menggunakan voucher ini. Status ini terjadi jika expire date < waktu sekarang.
- Voucher expired masih bisa di-edit untuk memperpanjang tanggal kadaluarsa
- Gunakan filter status untuk melihat voucher mana yang perlu diperpanjang atau dihapus
Cache dan Refresh Data
Sistem menggunakan cache untuk mempercepat loading data voucher. Cache menyimpan data selama 300 detik (5 menit).
Mempercepat loading halaman, mengurangi query database, dan meningkatkan performa sistem saat ada ribuan voucher.
Setelah menambah, mengedit, atau menghapus voucher, data cache perlu disegarkan agar tampilan terbaru muncul.
Cara Refresh Data:
- Klik tombol Refresh di menu voucher
- Atau akses langsung: /radius/secrets?refresh=1
- Sistem akan membersihkan cache dan mengambil data terbaru dari database
Troubleshooting Voucher
Saat generate massal, sistem otomatis menghindari duplikasi. Untuk manual, gunakan username yang belum terdaftar.
Cek status voucher (Active/Expired). Pastikan Profile masih aktif. Cek juga koneksi NAS ke server RADIUS.
Pastikan sudah memilih Profile dan Comment yang benar. Coba refresh halaman. Cek popup blocker browser.
Gunakan fitur "Clear Expired" atau hapus manual satu per satu. Pastikan tidak ada voucher aktif yang terhapus.
Cek quantity (max 5000). Pastikan profile yang dipilih masih aktif. Cek jika username terlalu banyak bentrok.
Gunakan tombol Refresh untuk membersihkan cache. Data cache hanya bertahan 5 menit.
Pastikan sudah memilih Profile terlebih dahulu. Comment hanya akan muncul setelah Profile dipilih.
Pastikan file template tersedia di server. Template 1-10 harus ada di folder /print/
Best Practices Manajemen Voucher
- Gunakan generate massal untuk persiapan stok, bukan membuat satu per satu
- Manfaatkan Comment untuk mengelompokkan voucher berdasarkan batch (bulan, promo, dll)
- Rutin bersihkan voucher expired agar database tidak membengkak
- Gunakan filter untuk mencetak voucher berdasarkan batch tertentu
- Simpan stok voucher minimal 1-2 bulan ke depan untuk antisipasi
- Gunakan character set alnum_upper untuk keamanan dan kemudahan pembacaan
- Panjang username 6 digit adalah keseimbangan terbaik antara keamanan dan kemudahan
- Backup data voucher secara rutin untuk menghindari kehilangan data
- Jangan bagikan file template cetak ke orang yang tidak bertanggung jawab
Cheatsheet Voucher
| Aksi | URL / Langkah |
|---|---|
| Lihat daftar voucher | /radius/secrets
|
| Tambah voucher manual | /radius/secrets/add
|
| Generate voucher massal | /radius/secrets/batch
|
| Hapus semua expired | Klik "Hapus Expired" |
| Refresh data | /radius/secrets?refresh=1
|
| Cetak voucher | Filter -> Pilih Template -> Print |
| Hapus per batch | Filter Comment -> Delete |