One Diary Across Nine Clinics
The heart of the system is a group-wide calendar. Appointments, clinicians, treatment rooms and equipment are modelled as separate resources, and every booking has to satisfy all of them at once: the clinician must be free and at the right site, the room must suit the treatment, and any equipment the appointment needs must not already be in use. Entity Framework Core and Azure SQL hold the schedule, and SignalR pushes changes to every open diary so two receptionists cannot book the same slot.
Clinician availability is not just a list of working hours. It includes which site a physiotherapist is at on each day and the travel time between locations, so the system will not offer a 9:30 appointment in one clinic to someone who finishes in another at 9:15.
- Shared availability for clinicians, rooms and equipment
- Travel time between sites built into availability
- Live updates so two people never book the same slot


















