Creating an appointment
Book a patient onto a dentist's calendar, in a specific room, at a specific time.
Overview
Appointments are the core unit of scheduling. Every appointment ties together a patient, a dentist (or hygienist/therapist), a treatment room, a location, and a time slot. The form blocks double-booking and unpaid-registration patients.
Prerequisites
- Owner, Admin, Dentist, Hygienist, Therapist, Nurse, or Receptionist role
- Active subscription
- The patient must have paid the registration fee — see Paying the registration fee
- A dentist with working hours set for the chosen day
- An available treatment room
Steps
Open Appointments. Top nav → Appointments. The default view is the calendar for today.
Click "+ New Appointment". Top-right of the calendar header. The form opens.
Pick the patient. Type in the patient picker. Suggestions appear after 2 characters. Click the matching patient. If they need a registration fee, the form shows a red banner — record the fee first.
Choose the appointment type. Consultation, Hygiene, Treatment, Emergency, etc. Each type has a default duration that pre-fills the next field. Types are configured in Settings → Appointment Types.
Choose the dentist. Drop-down lists everyone with the relevant clinical role. Greyed-out names are away or off duty for the chosen day.
Pick the date and time. Use the date picker, then click an available slot in the time grid. Slots blocked by other appointments or working-hours rules are dimmed.
Choose the location and room. For multi-location clinics, location appears first. The room dropdown shows only rooms at that location with the correct equipment for the appointment type.
Add notes. Free-text notes shown to the dentist before they start the visit ("patient has a fear of needles", "follow-up to last week's extraction").
Click "Save". A success toast appears. The appointment shows on the calendar at the chosen slot with status SCHEDULED. The patient receives a confirmation SMS / email if reminders are enabled.
Verify on the calendar. Switch the calendar view (Day / Week / Month) and confirm the appointment renders in the right slot, on the right dentist's column.
Expected outcome
- A new Appointment entry exists with clinic, patient, dentist, location, room, scheduled time, duration, type, status SCHEDULED
- The slot is now blocked from other bookings on the dentist's calendar
- The patient gets a confirmation message if reminders are enabled (SMS, email, or both depending on
appointment_reminders) - An audit log entry exists for the booking
Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
| "Patient must have a paid registration fee" | The registration_fee_paid gate failed | Open the patient profile, record the fee, then re-book |
| "Time slot conflicts with another booking" | A second tab booked the same slot, or working hours blocked it | Pick a different slot |
| Selected dentist isn't selectable | Working hours not set for that dentist on that day | Set working hours in Settings → Working Hours |
| Selected room isn't selectable | Room is for a different appointment type | Pick a compatible room or add the equipment to the room |
| "Save" reports a duplicate submission | Form was submitted twice in quick succession | The first submission succeeded — check the calendar before retrying |