← Back to blog
May 15, 2026 · 11 min read · By DRP-OS Team

Patient Self-Booking: Let Patients Schedule Their Own Appointments

Your receptionist spends 30% of her time answering "is the doctor free Saturday at 4?" Stop. Let patients see your availability and book themselves.

Here's a typical Tuesday at an Indian clinic:

  • 9:15 AM: WhatsApp ping — "Can I get an appointment tomorrow morning?"
  • 10:20 AM: Phone call — "What time is Dr. Saab free on Saturday?"
  • 11:45 AM: WhatsApp — "I wanted Friday 5pm but you said taken. What about 5:30?"
  • 2:00 PM: 3 messages from yesterday's WhatsApp asking about times
  • 4:30 PM: A walk-in who wants to "fix" the appointment they made for next week

If you've added it up, the receptionist (or you, if there's no receptionist) spends 30-40% of working time on appointment scheduling. That's 2-3 hours a day spent on something a patient could do themselves in 30 seconds.

Here's how online patient booking actually works in DRP-OS.

The patient portal at /patient/

DRP-OS Clinic ships with a built-in patient portal — a separate set of pages that patients access with their own credentials, completely isolated from the doctor's view.

What patients can do:

  • Log in with their phone/email + password
  • See their appointment history
  • Book a new appointment
  • Cancel or reschedule existing appointments
  • View past prescriptions and download PDFs
  • Update their profile (address, phone, etc.)
  • Change their password

None of this requires your involvement. Patients self-serve.

How a doctor sets up patient access

For each patient in your records, you can send a portal invitation:

  1. Open the patient's record in DRP-OS
  2. Click "Invite to portal"
  3. System generates a default password, marks force_password_change = 1
  4. Patient receives WhatsApp/SMS with login link + temporary password
  5. On first login, they're forced to change their password
  6. From then on, they have permanent access

The patient's portal account is linked to their patient record via portal_user_id. One patient = one portal account = one login.

How online booking respects doctor availability

This is where most "online booking" systems fail. They show "all hours available" and create chaos: patients book at lunchtime, at 11pm, on Sundays you don't work.

DRP-OS handles this through clinic_doctor_availability — a table where every doctor declares their weekly recurring schedule:

  • weekday — 0 (Sunday) through 6 (Saturday)
  • start_time — when consultation starts (e.g., 9:00 AM)
  • end_time — when it ends (e.g., 1:00 PM, then again 5:00 PM to 9:00 PM)
  • slot_minutes — appointment slot length (15, 20, 30 min, etc.)
  • is_active — temporarily turn off without deleting

You can define multiple rows per weekday — one row for morning hours, one for evening hours. Lunch break is automatically excluded.

Example doctor schedule

Dr. Sharma's availability:

DayMorningEvening
Monday10:00 - 13:0017:00 - 20:00
Tuesday10:00 - 13:0017:00 - 20:00
Wednesday10:00 - 13:00
Thursday10:00 - 13:0017:00 - 20:00
Friday10:00 - 13:0017:00 - 20:00
Saturday10:00 - 14:00
Sunday

With slot_minutes = 20, the system knows there are:

  • Monday morning: 9 slots (10:00, 10:20, 10:40, 11:00, 11:20, 11:40, 12:00, 12:20, 12:40)
  • Monday evening: 9 slots (17:00, 17:20, ... 19:40)
  • ...and so on for each day

What the patient sees when booking

The patient goes to your clinic's portal URL (e.g., yourclinic.com/patient/book), logs in, and sees:

  1. Pick a doctor (if multi-doctor practice)
  2. Pick a date — only doctor-available days are shown
  3. Pick a time slot — only free slots are shown (already-booked slots are hidden/disabled)
  4. Optional reason for visit
  5. Click "Confirm Booking"

The system creates an appointment with source = 'online', so you can later report on online vs walk-in/internal bookings.

What happens after booking

From your dashboard, you (and your staff) see:

  • Today's scheduled appointments in chronological order
  • Source flag — "online" vs "internal" vs "walk-in"
  • Status — scheduled / completed / cancelled / no_show
  • Linked patient record (one click to see history)

When the patient arrives, you mark them complete (and optionally start a visit from the appointment). When they don't show up, you mark "no_show" — and the patient's no-show count starts being tracked.

How online booking changes your clinic

Concrete impact based on real Indian clinic data:

  • Receptionist time — saves 1.5-2.5 hours daily that was spent on scheduling calls
  • Patient satisfaction — patients book at midnight, weekends, on the bus to work, whenever it suits them
  • No-show rate — drops 30-40% because patients pick times that actually work for them, not the first slot the receptionist offered
  • Off-peak utilization — patients discover and book unpopular slots (early morning, late evening) that previously sat empty
  • Practice growth — when a friend asks "how do I see your doctor?", existing patients can share the booking link directly

What about patients without smartphones?

About 25-30% of patients (mostly elderly) still prefer phone/walk-in booking. That's fine. The receptionist still handles those — using the doctor's internal scheduling view in DRP-OS.

Internal bookings have source = 'internal'. They show up the same way in the doctor's schedule, but you know who came via which channel. As a metric, "% online bookings" grows over months — typically reaches 60-70% in 6-12 months as more patients try it once and never go back.

Security: the patient never sees other patients

This matters. Each patient logs in with their own credentials. They only see:

  • Their own appointments
  • Their own prescriptions
  • Their own profile
  • Available time slots (without seeing who booked the other slots)

They cannot see other patients' names, contact info, prescriptions, anything. The system enforces this at the database level via tenant_id + patient_id matching on every query.

This is essential under India's upcoming Digital Personal Data Protection Act (DPDP). Patient data must be isolated by patient. DRP-OS handles this from day one.

Try it

The patient portal + online booking is included in DRP-OS Clinic from the starter plan (₹1,499/month). Setup takes about 30 minutes — you create your doctor availability schedule, then start inviting patients to the portal.

Start your 24-hour free trial. No credit card. WhatsApp +91 9560793054 for setup help.

Try DRP-OS Clinic free for 24 hours

Built for Indian solo doctors. GST invoices, Hindi prescriptions, patient records. ₹1,499/month. No credit card.

Start free trial →

Related articles

May 15, 2026 · 10 min

A Patient Portal Where Patients Actually See Their Records

Patients shouldn't have to WhatsApp your receptionist to ask "what did the doctor prescribe last time?" Here's a patien…

May 15, 2026 · 11 min

Followups That Actually Happen: Cut No-Shows, Increase Repeat Visits

You see a diabetic patient on May 15 and tell them "come back in 3 months." They don't. The next time you see them, the…

May 15, 2026 · 12 min

Patient Lifetime Value: Know Your Best Patients (And Get More Like Them)

A patient who spends ₹50,000 with you over 5 years is worth more than 30 walk-ins. But most clinic software treats them…