UpMyB

Clinic front-desk assistant

Answers patients on WhatsApp, books the slot, takes the fee and sends the reminder. For: Clinics, dentists, physios.

The problem

Half the front desk's day goes on "are you open?", "is the doctor in?" and rebooking missed visits. Empty slots cost money, and fees are collected by hand.

How it works

Built from: whatsapp, gcalendar, razorpay, claude.

flowchart LR
  C(["Your customer"]) <-->|"asks, pays, gets updates"| APP["Your app<br/>Patient app or WhatsApp mini-flow: book, reschedule, pay, see past visits"]
  APP --> L{{"Your logic<br/>the rules that are yours"}}
  subgraph EX["Apps that already exist: APIs and MCP servers"]
    A0["WhatsApp<br/>Talks to patients where they already are"]
    A1["Google Calendar<br/>Holds each doctor's real availability"]
    A2["Razorpay<br/>Payment links and receipts"]
    A3["Claude (AI)<br/>Understands the question and writes the reply"]
  end
  L --> A0
  L --> A1
  L --> A2
  L --> A3
  L --> DB[("What it keeps<br/>Patients and contact consent, Appointments and status, Payments and receipts")]
  L --> OWN["Admin dashboard<br/>Front-desk dashboard: schedule, no-shows, collections"]
  classDef yours fill:#1691D6,stroke:#0a5f95,color:#fff
  classDef ext fill:#E6F3FB,stroke:#1691D6,color:#12112E
  class APP,L,DB,OWN yours
  class A0,A1,A2,A3,A4 ext

The logic

  1. When patient asks for an appointment: Check the doctor's calendar and offer the next three free slots
  2. When patient picks a slot: Hold it for 10 minutes and send a payment link
  3. When payment succeeds: Confirm the slot, add it to the calendar and send directions
  4. When 24 hours and 2 hours before: Send a reminder with confirm or reschedule buttons
  5. When patient does not confirm: Release the slot to the waiting list and tell the desk
flowchart LR
  subgraph R0["Rule 1"]
    direction TB
    W0{{"When: Patient asks for an appointment"}} --> T0["Then: Check the doctor's calendar and offer the next three free slots"]
  end
  subgraph R1["Rule 2"]
    direction TB
    W1{{"When: Patient picks a slot"}} --> T1["Then: Hold it for 10 minutes and send a payment link"]
  end
  subgraph R2["Rule 3"]
    direction TB
    W2{{"When: Payment succeeds"}} --> T2["Then: Confirm the slot, add it to the calendar and send directions"]
  end
  subgraph R3["Rule 4"]
    direction TB
    W3{{"When: 24 hours and 2 hours before"}} --> T3["Then: Send a reminder with confirm or reschedule buttons"]
  end
  subgraph R4["Rule 5"]
    direction TB
    W4{{"When: Patient does not confirm"}} --> T4["Then: Release the slot to the waiting list and tell the desk"]
  end
  S(["Start"]) --> R0 --> R1 --> R2 --> R3 --> R4 --> E(["Done and logged"])
  classDef when fill:#E6F3FB,stroke:#1691D6,color:#12112E
  classDef then fill:#1691D6,stroke:#0a5f95,color:#fff
  classDef end1 fill:#12112E,stroke:#12112E,color:#fff
  class W0,W1,W2,W3,W4 when
  class T0,T1,T2,T3,T4 then
  class S,E end1

What can be developed

The money (illustrative example)

The customer pays ₹2999 per clinic, per month. API and hosting costs: WhatsApp conversations ₹400, AI answers ₹500, Hosting ₹150, together ₹1050. Net profit ₹1949.

sankey-beta
Customer pays,WhatsApp conversations,400
Customer pays,AI answers,500
Customer pays,Hosting,150
Customer pays,Net profit,1949

Watch out for

Build this for me