Skip to content

Diş kliniği

Dental Clinic Booking and Management System

A clinic website for multi-dentist practices with online booking, a calendar per dentist, a role-based admin panel and automatic email notifications. The demo runs on a sample two-dentist clinic.

Home page of the Bülent Keser Dental Clinic website

This system is built for dental clinics that still take appointments by phone and keep them in a paper diary. Visitors pick a dentist and book a free slot on the website, and the clinic team runs everything from one panel. The demo shows a sample two-dentist clinic, and the booking form can be tried end to end.

Booking engine

Patients pick a dentist, then a day, and see that dentist's free slots for the day. Slot length and how far ahead bookings open are set in the panel. A slot only shows as free when all of these hold:

  • It falls inside the dentist's weekly working hours for that day

  • It does not overlap a break such as lunch

  • It is not on a special day such as a holiday, leave or a partial closure like "closed after 14:00"

  • No other appointment in that slot is still active

  • It is not in the past and falls inside the booking window

If two patients try to book the same slot at the same moment, the database rejects the second record, so double bookings cannot happen even at busy hours. Times are stored in Turkey time, so the server's time zone cannot shift an appointment.

Appointment lifecycle

Each appointment has a tracking code and a status: pending, confirmed, completed, cancelled or no-show. It may come from the website, the panel or a phone call, and the record keeps its source. Reception can move an appointment to another time or add one to any free slot by hand.

Emails to the patient follow the status:

  • A notice when the request arrives

  • On confirmation, an .ics calendar file that adds the visit to the patient's phone in one tap

  • A cancellation notice

  • A reminder sent from the panel in one click

The clinic also gets an email for each new appointment or contact message.

Role-based admin panel

The panel has three roles. The owner manages everything, including users and settings. A manager edits appointments, content, treatments and dentist profiles. Reception sees only appointments and incoming messages. Permissions come from one table and the server checks them again on every action.

Weekly working hours, special days, treatments, dentist bios, pages, FAQs, blog posts and the media library are managed in the panel too. Patient photos carry a separate consent field.

Security and audit

  • Two-factor authentication (TOTP) for panel sign-in

  • An account lock that grows longer after repeated failed sign-ins

  • An audit log of every state-changing panel action with who did what and when

  • Cloudflare Turnstile bot protection on booking and contact forms

  • A strict Content Security Policy on every page

A site patients trust

The clinic's Google rating and reviews come in through Google Places, and the map points to the clinic's own Google Maps listing. The contact page has an Instagram feed and a location section with drone footage. The demo has 13 treatment pages and 32 blog posts that answer what patients search for.