DE Skip to documentation

Integrations and booking

Booking and calendar

Explore the single-practitioner demonstration and its important operational limits.

On this page

Current scheduling model

The demo provides two fixed appointment types, weekly working days with one opening interval, blocked dates and an administrator month calendar. Slots advance in 15-minute increments, with a one-hour lead time and a 60-day horizon. Times are stored in UTC and displayed using BOOKING_TIMEZONE, Europe/Vienna by default. Duration and interval overlap are checked again server-side inside a serialised write transaction.

Booking and cancellation

Demo bookings are immediately confirmed, not verified patient requests. Email is sent after the database commit. If delivery fails, the booking remains recorded and the interface warns against blindly retrying. Cancellation links use random tokens whose hashes are stored. A GET opens a confirmation page; a CSRF-protected POST performs cancellation. Cancelled appointments release the slot. Administrator cancellations currently do not send a notification email.

Administrator access

Appointment details and calendar management are restricted to administrators. Content editors can work on the website without gaining access to booking records. No public appointment feed or account API is exposed. Changing future availability does not automatically cancel existing bookings. Review affected appointments deliberately. Starter-page opening-hours text is separate editorial content, so update it when availability changes.

Not included

  • Multiple practitioners, recurring appointments and rescheduling workflows.
  • Reminders, production email retry/outbox and imported holiday calendars.
  • Patient records, symptom intake, prescriptions and medical documentation.
  • Payments, insurance billing or clinical scheduling guarantees.
  • Two-way Google availability synchronisation.

Something unclear? Contact me about this guide.