Back to work
Case Study · AI & WhatsApp Automation

A clinic receptionist that never sleeps

Patients book appointments through a WhatsApp conversation in Jordanian Arabic. The clinic gets a private dashboard where every booking, conversation and patient file lives in one place.

Sector
Dental & medical clinics
Market
Jordan
Status
Deployed
Interface
Arabic, right-to-left

The problem

01

Bookings live in three places at once

Phone calls, WhatsApp messages on a receptionist’s personal handset, and a paper diary. Nothing reconciles, and nobody can see the day at a glance.

02

The same five questions, all day

Opening hours, location, prices, which doctor, is there a slot on Tuesday. A receptionist answers them dozens of times a day instead of handling the people in front of her.

03

Two patients, one slot

The failure that costs a clinic its reputation. It happens whenever two people are booked from two different places at the same time.

How a patient books

Eight steps, almost all of them a single tap. The order is deliberate: consent comes before any personal detail, and confirmation comes last.

  1. 01Consent

    What will be stored, who can see it, and the right to refuse. Declining stops everything and saves nothing. Asked once per patient.

  2. 02Service

    From the clinic’s real service list, with duration and price.

  3. 03Doctor

    Only the doctors who actually provide that service appear.

  4. 04Day

    Working days only.

  5. 05Time

    Slots computed live from the service duration and the doctor’s existing appointments — never a fixed list.

  6. 06Name

    With a guard that rejects text mangled by a broken encoding.

  7. 07Contact number

    The number the patient types is the one stored — not the WhatsApp account they message from. Arabic or Latin digits, local or international format.

  8. 08Review & confirm

    A full summary. No appointment exists until they confirm, and availability is checked one last time immediately before saving.

The staff side

Today at a glance: appointments, attendance, no-shows and the attendance rate, each with its seven-day trend, above a timeline of the clinic day.
Today at a glance: appointments, attendance, no-shows and the attendance rate, each with its seven-day trend, above a timeline of the clinic day.
The WhatsApp inbox. This is a real booking conversation — consent, the summary, and the confirmation the patient received.
The WhatsApp inbox. This is a real booking conversation — consent, the summary, and the confirmation the patient received.
Every appointment, searchable and filterable, with rescheduling, cancellation and manual booking.
Every appointment, searchable and filterable, with rescheduling, cancellation and manual booking.

What the system refuses to do

These are enforced in the database, not in the interface — so they hold whoever is asking: the bot, the dashboard, or the API directly.

  • Two appointments cannot overlap for the same doctor.
  • No appointment is created before the patient explicitly confirms.
  • Availability is re-checked immediately before saving, so a slot taken while the patient was typing sends them back to choose again instead of failing.
  • A doctor cannot be booked for a service they do not provide.
  • A duplicate WhatsApp delivery cannot create the same appointment twice.
  • When a staff member takes over a conversation, the bot goes silent until a person hands it back.
  • The assistant answers questions but never writes to the database, never diagnoses, and never invents a price or a free slot.

Under the hood

Backend
Python · FastAPI · SQLModel
Database
PostgreSQL · 18 tables
Dashboard
React · Vite · Tailwind
Messaging
WhatsApp Cloud API
API surface
47 documented endpoints
Automated tests
255, all passing

Deliberately out of scope

  • No payments, no electronic medical records, no insurance processing.
  • Built for one clinic per deployment — data is isolated by having its own database, not by a filter in a query.
  • The consent notice follows data-protection principles but has not been reviewed by a lawyer.

Want this for your clinic?

We set it up with your number, your doctors, your services and your working hours. You get a private dashboard and a WhatsApp line that answers at 2am.

Book a free consultation