StealThis .dev
Pages Hard

Dental — Appointment Booking

A trust-first, four-step dental booking flow: pick a treatment, choose a dentist, land on a clean calendar with live slot-availability states, enter patient details, and reach a reassuring confirmation screen — all wrapped in a soft clinical-light theme with a progress tracker, running summary, and smooth micro-interactions.

Open in Lab
html css vanilla-js
Targets: JS HTML

Code

A complete self-contained appointment-booking flow for a fictional dental clinic, built to feel calm, clinical, and reassuring. A sticky progress tracker walks the patient through four steps — Treatment, Dentist, Date & Time, and Your details — with a persistent summary card that fills in as choices are made. Treatments are shown as selectable cards with durations and price ranges; dentists as profile cards with specialties, ratings, and next-availability hints.

The heart of the flow is a lightweight calendar and time-slot grid. Days render as a scrollable week strip; picking a day reveals morning/afternoon/evening slots, each carrying a distinct availability state — open, few left, or booked — so the patient can read scarcity at a glance. Booked slots are disabled and keyboard-skippable, while open slots animate on hover and lock in with an accent ring. The final step validates patient name, phone, and email inline, then transitions to a confirmation screen showing the assembled booking reference, dentist, and date.

Everything runs on vanilla JS: step navigation, live summary syncing, slot selection, form validation, and a small toast helper for feedback. It is fully responsive down to narrow phones and keyboard-navigable throughout.

Illustrative UI only — not intended for real medical use.