🏪 Identitas Toko
Tampil di bagian bawah struk cetak dan struk WhatsApp.
💎 Diskon Khusus Pelanggan
Paket hemat tidak akan mendapat diskon pelanggan
Produk dalam kategori ini tidak akan mendapat diskon pelanggan
💳 Program Loyalty Stamp (E-Menu)
Pelanggan mendapat stamp setiap order dikonfirmasi
🔊 Pengaturan Suara
TTS (Text to Speech)
Suara otomatis browser. Tidak perlu file audio.
MP3 Custom
Upload file MP3 Anda sendiri untuk suara notifikasi.
100%
0.9x
1.0
Suara yang berbunyi di Kasir saat ada order baru dari E-Menu. Gunakan path
./audio/notif.mp3 atau URL lengkap. Kosong = beep bawaan.
Salin file ke folder audio/ lalu ketik nama file
⏱️ Pengaturan Waktu Display
Berapa lama overlay "Pesanan Siap" dan "Terima Kasih" tampil di TV Display sebelum menghilang.
5 detik
Tampil di TV Display di kolom "Diracik" sebagai panduan pelanggan. Set 0 untuk tidak menampilkan.
Nonaktif
Ukuran angka countdown MM:SS yang tampil di setiap tile "Sedang Diracik" di TV Display.
12px
Warna angka waktu mundur saat normal. Merah otomatis saat < 2 menit, hijau saat habis.
Default: oranye
#f97316
🎵 Musik Latar Display TV
Putar musik otomatis di TV Display • Volume turun saat ada pengumuman pesanan
📖 Panduan Setup Firebase
1
Aktifkan Firestore
Buka console.firebase.google.com → Project
new-tentangrasa → Firestore Database → Create database → Start in test mode2
Aktifkan Anonymous Auth
Authentication → Sign-in method → Anonymous → Enable → Save
3
Deploy ke Firebase Hosting
Install Firebase CLI:
Login:
Init:
Deploy:
npm install -g firebase-toolsLogin:
firebase loginInit:
firebase init hostingDeploy:
firebase deploy4
Firestore Rules (Produksi)
Update rules di Firestore → Rules untuk membatasi akses.
rules_version = '2';
service cloud.firestore {
match /databases/{db}/documents {
match /bahan/{id} { allow read,write: if true; }
match /produk/{id} { allow read,write: if true; }
match /paket/{id} { allow read,write: if true; }
match /orders/{id} { allow read,write: if true; }
match /pengaturan/{id} { allow read,write: if true; }
match /counters/{id} { allow read,write: if true; }
match /kas_akun/{id} { allow read,write: if true; }
match /kas_transaksi/{id}{ allow read,write: if true; }
match /modal_harian/{id} { allow read,write: if true; }
}
}
5
📂 Menyimpan File Audio MP3
File audio disimpan langsung di folder project (bukan Firebase Storage):
Contoh struktur file:
E:\Aplikasi Web TentangRasa\audio\Contoh struktur file:
audio/ ├── siap.mp3 → ./audio/siap.mp3 ├── thankyou.mp3 → ./audio/thankyou.mp3 └── notif.mp3 → ./audio/notif.mp3
✅ Path
./audio/namafile.mp3 bekerja di local (file://) dan Firebase Hosting.🔔 Sistem Notifikasi Cerdas
Aktifkan notifikasi untuk setiap order E-Menu baru yang masuk. Pilih satu atau lebih channel di bawah.
ℹ️ Cara Kerja:
Browser akan meminta izin notifikasi saat pertama kali diaktifkan. Setelah diizinkan, setiap order E-Menu baru akan memunculkan notifikasi popup — bahkan jika tab kasir sedang di-minimize.
📌 Catatan: Notifikasi aktif selama browser terbuka di perangkat yang sama dengan kasir.
Browser akan meminta izin notifikasi saat pertama kali diaktifkan. Setelah diizinkan, setiap order E-Menu baru akan memunculkan notifikasi popup — bahkan jika tab kasir sedang di-minimize.
📌 Catatan: Notifikasi aktif selama browser terbuka di perangkat yang sama dengan kasir.
📋 Langkah Setup Telegram Bot:
1. Buka Telegram → cari @BotFather
2. Ketik
3. Tambahkan bot ke grup restoran Anda
4. Buka browser:
5. Temukan "chat":{"id":-XXXXXXX} → itu Chat ID grup Anda
1. Buka Telegram → cari @BotFather
2. Ketik
/newbot → ikuti instruksi → copy Bot Token3. Tambahkan bot ke grup restoran Anda
4. Buka browser:
https://api.telegram.org/bot<TOKEN>/getUpdates5. Temukan "chat":{"id":-XXXXXXX} → itu Chat ID grup Anda
⚡ Fitur Otomatis Telegram
⚠️ Notifikasi Stok Rendah
Peringatan ke Telegram saat stok bahan ≤ minimum
📊 Laporan Harian Otomatis
Ringkasan laba rugi harian dikirim otomatis setiap hari
📅 Laporan Bulanan Otomatis
Ringkasan laba rugi bulan lalu, dikirim setiap tanggal 1
💡 Laporan otomatis aktif selama halaman kasir/pengaturan terbuka di browser
ℹ️ Cara Kerja:
Saat ada order E-Menu baru, browser membuka tab baru berisi chat WhatsApp ke nomor owner dengan ringkasan pesanan — tinggal tap Kirim.
📌 Format nomor: Gunakan format internasional tanpa + atau 0 di depan.
Contoh: 628123456789 (untuk 08123456789)
Saat ada order E-Menu baru, browser membuka tab baru berisi chat WhatsApp ke nomor owner dengan ringkasan pesanan — tinggal tap Kirim.
📌 Format nomor: Gunakan format internasional tanpa + atau 0 di depan.
Contoh: 628123456789 (untuk 08123456789)
📋 Langkah Setup EmailJS:
1. Daftar gratis di emailjs.com
2. Tambahkan Email Service (Gmail / Outlook / dll)
3. Buat Email Template — gunakan variabel:
4. Copy Service ID, Template ID, dan Public Key dari dashboard EmailJS
1. Daftar gratis di emailjs.com
2. Tambahkan Email Service (Gmail / Outlook / dll)
3. Buat Email Template — gunakan variabel:
{{nama_toko}}, {{ringkasan}}, {{waktu_kirim}}4. Copy Service ID, Template ID, dan Public Key dari dashboard EmailJS
🏢 Manajemen Cabang (Franchise)
Buat dan kelola cabang-cabang bisnis Anda. Data setiap cabang akan diisolasi agar tidak bercampur dengan cabang lainnya.
| ID Cabang | Nama Cabang | Aksi |
|---|---|---|
| Memuat... | ||
🔄
Salin Bahan & Resep Produk dari Pusat
Gunakan fitur ini untuk menyinkronkan seluruh master Bahan Baku dan Produk beserta Resep racikannya dari Cabang
pusat ke cabang pilihan Anda. Bahan dan produk yang sudah ada di cabang tujuan akan diperbarui/ditambahkan secara otomatis.
💳 Pengaturan Pembayaran
Sediakan salah satu: Gambar QRIS statis ATAU Teks QRIS dinamis.
Pilihan Utama: Teks QRIS (Dinamis)
Jika diisi, QRIS akan dibuat dinamis (menyertakan harga otomatis). Cukup copy paste dari aplikasi merchant Anda. (Berawal dengan 000201...)
Alternatif: Upload Gambar QRIS (Statis)
Alternatif: URL Gambar QRIS
Preview QRIS:
Belum ada QRIS
Waktu auto-dismiss layar panduan pembayaran di E-Menu sebelum lanjut ke tracking pesanan.
10 detik
⚠️ Reset & Hapus Data
⚠️ Peringatan!
Tindakan ini tidak dapat dibatalkan. Semua data di Firestore akan dihapus permanen.
Hapus Data Order (Transaksi)
Kosongkan tanggal untuk menghapus SEMUA order, atau pilih tanggal untuk menghapus order pada dan sebelum tanggal tersebut.
Hapus Data Buku Kas
Kosongkan tanggal untuk menghapus SEMUA riwayat kas, atau pilih tanggal untuk menghapus data kas pada dan sebelum tanggal tersebut.
Hapus Data Kasir & Shift
Kosongkan tanggal untuk menghapus SEMUA, atau pilih tanggal untuk menghapus data pada dan sebelum tanggal tersebut.
🔢 Reset Nomor Antrian & Nota
Atur ulang penomoran tanpa menghapus data transaksi. Nomor antrian harian direset otomatis setiap hari — gunakan ini jika ingin reset manual di tengah hari.
📋 Nomor Antrian Harian
Antrian direset tiap hari otomatis (001, 002, dst). Klik tombol di bawah untuk mereset antrian hari ini ke 0 secara manual.
Memeriksa nomor antrian...
🧾 Nomor Nota Kumulatif
Nomor nota terus bertambah dan tidak reset otomatis. Gunakan ini untuk menetapkan ulang nomor awal nota (misalnya saat ganti periode atau reset sistem).
Nomor nota saat ini: ...
Nota berikutnya akan dimulai dari nomor ini + 1
⚖️ Reset Stok Bahan Baku ke Nol (0)
Atur seluruh jumlah sisa stok bahan baku menjadi 0 (kosong) tanpa menghapus master nama bahan & resep. Berguna saat mulai opname baru atau pergantian shift/stok.
🖥️ Layout TV Display
Pilih susunan kolom pada layar TV Display pelanggan.
🎁 Paket Hemat di Display
Paket aktif akan tampil sebagai slide di kolom promosi
Promo aktif akan tampil sebagai slide di kolom promosi
6 dtk
Pilih animasi saat nomor pesanan dipanggil di TV Display.
Daftar Promo Aktif
| Nama Promo | Tipe | Detail Aturan | Status | Aksi |
|---|---|---|---|---|
| Memuat... | ||||