Overview
The scheduler at Appointments is where you book, move, and manage every visit. It's built for speed: most actions happen directly on the calendar grid without leaving the page.
- The three calendar views and when to use each
- How to create, move, and resize appointments
- What's inside the appointment detail modal
- How status actions and telehealth controls work
- What the color coding and grid indicators mean
- Conditional fields you'll only see in certain situations
The three views
- <strong>Week</strong> — the full week as a grid, one column per day. Includes a <strong>Hide weekends</strong> toggle to narrow the view to weekdays.
- <strong>Day</strong> — a single day, with one column per practitioner instead of per day.
- <strong>Now</strong> — a triage-style list view rather than a grid, grouped into buckets: Overdue, No show, Arrived-waiting, In session, Up next, Upcoming, Scheduled, and Cancelled.
In Now view, each bucket has a colored dot indicator and a clickable count "pill." Clicking a pill jump-scrolls the list down to that bucket, which is useful for quickly checking, for example, how many patients are currently in the waiting room.
Creating an appointment
Click an empty slot
Click any open slot on the calendar grid. The appointment drawer opens pre-filled with that date, time, and practitioner.
Choose or add a patient
If no patient is pre-selected, a searchable patient picker modal opens so you can find an existing patient or add a new one inline without leaving the flow.
Choose a practitioner
The Appointment Type dropdown stays disabled until a practitioner is chosen.
Choose an appointment type
Once a practitioner is selected, the Appointment Type dropdown enables and its options are filtered to only that practitioner's types.
Review the Mode field
Once an appointment type is selected, a read-only Mode field appears, showing the mode derived from that type (for example, in-person or telehealth).
Set repeat, if needed
Choosing a repeat option other than "No repeat" reveals a Repeat Until date field to bound the series.
Save
Save the appointment. A toast confirms success or reports a failure.
Moving an appointment
Click and hold an appointment block, then drag it to move it.
- Dragging <strong>vertically</strong> changes the appointment's time, snapping to the clinic's configured slot size (for example, 15 minutes).
- Dragging <strong>horizontally</strong> changes the day in Week view, or the practitioner in Day view.
- A "ghost" outline stays behind at the original slot while you drag, so you can see where the appointment is moving from.
- Dragging near the edge of the grid auto-scrolls it, so you can move an appointment beyond what's currently visible on screen.
- Releasing on the same slot you started from doesn't move anything — it just opens the appointment detail modal instead.
A toast confirms a successful move or reports a failure so the change isn't left in doubt.
Resizing an appointment
Each appointment block has a small resize handle at the bottom. Drag it to change the end time — like moving, it snaps to the clinic's grid size. As with moving, cancelled appointments can't be resized.
The appointment detail modal
Clicking an appointment block without dragging opens a ticket-style detail modal showing the time, patient avatar, and duration, along with a row of icon buttons:
| Button | What it does |
|---|---|
| Book another | Duplicates the appointment to book a similar one quickly |
| Edit | Opens the appointment drawer to change details |
| Cancel | Reveals an inline reason textarea and a confirm step, with an optional "cancel all future" checkbox for recurring series |
| Payment | Jumps to the related invoice |
| Notes | Jumps to treatment notes for the visit; hidden once notes are marked done |
| Archive | Archives the appointment |
Status actions
Below the icon buttons, status actions move the appointment through its lifecycle.
Color coding and grid indicators
- Each appointment type has its own color, shown as a left accent bar and matching text on the block.
- Cancelled appointments render grayscale and faded.
- Completed appointments show a checkmark badge and appear dimmed.
- Telehealth appointments carry a small camera icon badge.
- Home-visit appointments carry a small house icon badge.
- A live line marks the current time across the grid.
- Practitioner availability is shaded with hatched bands over non-working hours and breaks, so you can see at a glance where booking isn't expected.