KASIR TEAGER — MYSQL + PESANAN-ONLINE
========================================

STRUKTUR:
- /kasir_teager = Kasir utama
- /pesanan-online = kanal PESANAN-ONLINE
- api.php                  = API PHP + MySQL
- kasir_teager_mysql.sql   = struktur database
- migrasi_firebase_ke_mysql.html = migrasi data lama (jika diperlukan)

KONEKSI:
Semua file HTML harus berada dalam folder yang sama dengan api.php.
Contoh:
public_html/kasir/
  kasir_teager.html
  pesanan-online.html
  api.php

ALUR:
1. Kasir utama membaca tabel `menu` dari MySQL.
2. pesanan-online.html juga membaca tabel `menu` MySQL yang sama.
3. Saat menu/harga/stok diubah di kasir utama, kanal PESANAN-ONLINE mengambil perubahan maksimal sekitar 4 detik.
4. Saat pelanggan mengirim pesanan online, pesanan langsung INSERT/UPDATE ke tabel `pesanan` MySQL.
5. Kasir utama membaca tabel `pesanan` berkala dan memasukkannya ke Antrean Pesanan Masuk.
6. Pesanan online tidak mengurangi stok saat dikirim; stok diproses saat pesanan diselesaikan di kasir, mengikuti alur antrean yang ada.
7. Kanal PESANAN-ONLINE tidak lagi menggunakan Firebase/localStorage untuk penyimpanan menu atau antrean utama.

PEMASANGAN:
- Import kasir_teager_mysql.sql di phpMyAdmin.
- Isi konfigurasi DB di api.php.
- Upload semua file ke folder yang sama.
- Akses /kasir_teager.
- Tombol `🛍️ Pesanan Online` membuka /pesanan-online.

PENTING:
- Jangan membuka HTML dengan file://. Gunakan https://domain/... agar fetch ke api.php berjalan normal.
- Jika api.php berada di folder berbeda, ubah MYSQL_API_URL di halaman terkait.
- Pastikan PHP PDO MySQL aktif di hosting.

KEAMANAN:
Untuk produksi, sebaiknya batasi Access-Control-Allow-Origin ke domain Anda sendiri dan tambahkan autentikasi/rate limit pada API.


=== URL TANPA .HTML ===
Gunakan URL bersih berikut setelah .htaccess di-upload:
- /kasir_teager
- /pesanan-online
- /migrasi-mysql
Jangan perlu mengetik .html.

=== NOTIFIKASI PESANAN ONLINE ===
Di halaman kasir utama klik "Aktifkan Notifikasi" satu kali. Browser akan meminta izin notifikasi. Setelah aktif, pesanan online baru akan memicu suara/beep, suara pengumuman, pop-up browser saat tab di belakang, dan getaran pada perangkat yang mendukung. Browser memang membutuhkan interaksi pengguna terlebih dahulu sebelum suara otomatis dapat diputar.
