All features Appointments
Appointments

Appointments & front desk, how it works

The scheduling layer in MindFlow handles both self-booking by patients and front-desk booking by staff, with real-time sync to Google Calendar and Cal.com. Appointment reminders are queued and dispatched automatically across email, SMS, and WhatsApp.

Google Calendar API v3 Cal.com API v2 OAuth2

Booking and scheduling

How availability is calculated

Available slots are computed in real time from the clinician's configured working hours, existing confirmed appointments, and any blocked time imported from connected calendars (Google Calendar and Cal.com). All three sources are combined in a single query so there is no risk of double-booking.

Status lifecycle

Every appointment moves through defined statuses: scheduled → confirmed → completed, or scheduled → cancelled / no-show. Every status change is logged with the staff member who made the change and the timestamp.

Online self-booking

Patients see only available slots from the portal's booking flow. The slot is held briefly while the patient completes booking, then confirmed. A confirmation notification is dispatched automatically.

Waitlist

When all slots are full, patients can join a waitlist. When a slot opens, through a cancellation or a new slot being added, waiting patients are notified automatically in the order they joined.

Calendar integrations

Google Calendar (two-way sync)

Clinicians connect their Google Calendar via the standard Google OAuth2 flow. New appointments created in MindFlow are pushed to Google Calendar automatically. Events added directly in Google Calendar block the corresponding slots in MindFlow, so neither calendar can be booked over the other.

Cal.com integration

For clinics that use Cal.com as their primary public booking page, MindFlow syncs with the Cal.com API so that availability is always consistent between the two systems. Connection uses Cal.com's OAuth flow and per-user credentials.

Conflict resolution

Slot availability always queries all connected sources simultaneously. A slot only shows as available if it is free in MindFlow, in Google Calendar, and in Cal.com, whichever are connected. There is no polling delay or race condition between sync cycles.

Walk-in and queue

Walk-in kiosk

A full-screen, touch-friendly self-registration interface designed for a tablet at reception. Walk-in patients enter their name or phone number; returning patients are matched to existing records. A walk-in appointment is created and the patient joins the queue automatically.

Waiting-room display

A separate screen for the waiting room shows the current token being seen and estimated wait time (calculated from the clinic's configured average consultation length). No login is required, the screen uses a secure, single-use display token.

Same-day self-booking

Patients can also open a lightweight booking page on their own phone to claim a same-day slot without needing a full portal account, designed for walk-in situations where they'd prefer to queue digitally.

Reminders

Template-based dispatch

Each clinic configures its own reminder templates, the message content and timing (e.g., 24 hours before, 2 hours before) for each trigger event. Separate message bodies can be set per channel (email, SMS, WhatsApp).

Delivery pipeline

Reminders are queued with a scheduled dispatch time and picked up by a background process that sends them via the configured gateways. Failed messages are retried automatically with exponential backoff before being marked as failed.

No-show tracking

After a visit slot passes without a completed status, the appointment is flagged as a no-show. A built-in report ranks patients by no-show count and rate so the clinic can identify patterns and follow up proactively.

Ready to see it in action?

The demo comes pre-loaded with real sample data, so you can click through actual appointments, patients and prescriptions.

Try the demo ← All features