Arsitektur Sistem Booking WhatsApp
Sistem booking via WhatsApp punya 4 lapisan utama:
- WhatsApp API gateway: jembatan antara WhatsApp dan sistem internal
- AI parser: interpretasi pesan pelanggan (intent + entity)
- Booking engine: cek slot, lock, konfirmasi, update
- Reminder scheduler: cron untuk kirim reminder H-1 / H-day
Flow End-to-End
1. Pelanggan Kirim Pesan
"Mau booking potong rambut besok pagi"
2. WhatsApp Forward ke API
WhatsApp Business API (atau provider seperti Kirimi) forward pesan ke webhook backend.
3. AI Parsing
AI ekstrak:
- Intent:
booking - Service:
potong rambut - Tanggal:
besok→ convert ke tanggal absolut - Waktu:
pagi→ bisa ambigu, AI minta klarifikasi atau offer 3 slot pagi
4. Cek Slot Kosong
Booking engine query kalender. Filter berdasarkan layanan, tanggal, dan durasi default.
5. AI Balas dengan Opsi
"Untuk potong rambut besok pagi, slot yang tersedia: 09:00, 10:30, 11:00. Mau pilih yang mana?"
6. Pelanggan Pilih
"Yang 10:30"
7. Konfirmasi Detail
AI tanya nama (kalau belum tersimpan), kontak, dan ulang kasih ringkasan. Pelanggan ketik "ok" → booking dibuat.
8. Tulis ke Kalender
Insert event ke Google Calendar atau database internal. Update status pelanggan jadi "booked".
9. Notifikasi ke Admin
Real-time ke Telegram/dashboard admin: "Booking baru: Andi, potong rambut, besok 10:30".
10. Reminder Otomatis
H-1 sore + H-day pagi, sistem kirim reminder otomatis.
Locking Mechanism — Anti Double Booking
Saat AI tampilkan opsi slot, slot itu di-lock untuk pelanggan tersebut selama 2-5 menit. Kalau pelanggan konfirmasi, lock jadi permanen. Kalau timeout, lock dilepas dan slot bisa diofferkan ke pelanggan lain.
Tanpa locking, 2 pelanggan bisa book slot yang sama bersamaan — disaster.
Handling Edge Case
- Tanggal ambigu: "besok" pas malam → AI tanya "maksudnya tanggal X ya?"
- Slot habis: offer slot terdekat sebagai alternatif
- Pelanggan tidak respon: timeout 10 menit → lock dilepas
- Booking di hari libur: cek jadwal libur → tolak atau offer hari kerja terdekat
Integrasi Tambahan yang Berguna
- Payment gateway: minta DP saat booking (cocok untuk klinik premium)
- CRM: simpan history booking pelanggan untuk personalisasi
- Maps: kirim link lokasi setelah booking confirmed
- Survey post-visit: H+1 setelah appointment, kirim rating
