Lewati ke konten utama

Peta Seluruh Alur

Halaman ini adalah indeks visual: satu diagram besar yang menunjukkan bagaimana semua alur saling terhubung, lalu tabel yang mengarahkan ke dokumen detail masing-masing.


Peta besar


Delapan alur, satu tabel

#AlurDipicu olehHasil akhirDetail
1WhatsApp masuk → balasan AIPasien mengirim chatBalasan AI terkirim + pesan tersimpanBaca
2Booking berbayarAI/agen menerbitkan linkJanji temu terkonfirmasi setelah lunasBaca
3Chat Rooms (agen manusia)Agen membuka panelBalasan manual, takeover percakapan, label, link pembayaran manualBaca
4Sinkronisasi kontakWebhook (real-time) + cron 10 menitTabel contacts selalu mutakhirBaca
5SIMRS SyncTombol manual atau cron 01:00 WIBPasien/dokter/poli/janji/tagihan tersalinBaca
6Antrian pasienPengunjung di kiosNomor antrian dipanggil per loketBaca
7Hak aksesLoginMenu & data yang boleh dilihat per peranBaca
8Sapuan rekonsiliasiCron 5 menitBooking terselamatkan / draft basi dimatikanBaca

Tiga jalur pesan keluar

Semua pesan WhatsApp yang keluar dari sistem berasal dari salah satu dari tiga jalur ini. Membedakannya penting saat menelusuri "kenapa pasien menerima/tidak menerima pesan X".

JalurIsi pesan disusun olehTercatat di whatsapp_messages?sent_by
1. Balasan AIModel bahasa (LLM)✅ Ya, setelah gerbang menerimaai
2. Notifikasi pembayaranTemplate tetap di kode (bukan AI)✅ Ya, setelah gerbang menerima(kosong)
3. Agen manusiaDiketik agen✅ Ya, semua jalur kirimhuman + id agen
Kenapa balasan agen wajib dicatat

whatsapp_messages adalah satu-satunya riwayat yang dilihat AI. Tanpa catatan balasan agen, AI tidak pernah tahu ada manusia yang sudah menjawab dan ikut membalas di percakapan yang sudah diambil alih. Lihat Siapa Memegang Percakapan.

Kenapa notifikasi pembayaran tidak ditulis AI?

Karena nominal, nama dokter, dan tanggal tidak boleh salah sebut. Template pesan pembayaran ditulis di kode, membaca nilai langsung dari baris Payment dan BookingRequest. AI tidak pernah menyusun kalimat konfirmasi lunas.


Prinsip lintas-alur yang wajib dipahami

1. Idempoten — semuanya boleh diulang

Hal yang sama berlaku untuk sapuan bookings:reconcile (tiap 5 menit), contacts:sync (tiap 10 menit), dan simrs:sync.

2. Uang masuk selalu menghasilkan sesuatu

Tidak ada satu jalur pun yang membuang callback lunas tanpa jejak. Kalau ada yang gagal:

3. AI tidak pernah melihat data pelanggan lain

Setiap tool AI mengambil identitas pasien dari nomor percakapan, bukan dari argumen model. Tidak ada tool yang menerima patient_id.

4. Kegagalan tidak boleh diam

Setiap jalur gagal meninggalkan satu baris log dengan pesan khas. Daftar pesan log penting ada di Pemantauan & Troubleshooting.