Service → date → time → medical aid or cash. Checks free slots against practice hours and Google Calendar.
WhatsApp voice notes handled like text via OpenAI. No extra step.
About 24h and 2h before. From reminder they can confirm, reschedule (keeps medical-aid details) or cancel (must confirm again).
Booking made → Telegram alert. Failed send → alert. Lists show time + first name initials only.
Patient taps Chat to receptionist → bot paused, Telegram shows PATIENT HANDOFF REFERENCE. /reply REFERENCE + /resume REFERENCE.
After start time, Telegram asks if arrived. Only /noshow APPOINTMENT_ID marks no-show. Never assumes.
Can send Google review request after visit if Google review URL set in clinic settings.
YES to POPIA (clinic = Responsible Party) → 4 lines: full name, scheme, membership, dependant → confirm. Masked as first letter + stars in dashboard.
bookabl-api-production.up.railway.app/admin — Day Sheet, Bookings week strip, Patients/services, Clinics onboarding: hours, timezone, WhatsApp phone ID, Telegram chat ID, Calendar ID, review URL, brand voice.
