StealThis .dev

Salon — Appointment Detail Card

A luxe, editorial appointment detail card for boutique salons: client avatar with VIP badge and phone, itemised service plus add-ons with line prices, stylist, date, time and duration, and a colour-coded status pill. One primary button advances the booking from Confirmed to Checked-in to In service to Done, while Reschedule and Message fire elegant toasts. A live subtotal, member discount and grand total complete the footer.

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

Code

Appointment Detail Card

The single card a front-desk concierge keeps open through a guest’s visit at Maison Lumière. It opens with the client — avatar, name, a small gold VIP badge for Atelier members, and a tappable phone number — then lays out the schedule in a thin gold-ruled grid: stylist and chair, date and time window, duration and suite. Services and add-ons are itemised with line prices and quiet category tags, and a rose-tinted note carries the stylist’s standing preferences.

The footer does real work. A primary button steps the booking forward through its lifecycle — Confirmed → Checked-in → In service → Done — recolouring the status pill at each stage and surfacing a contextual toast, with the In-service state gently pulsing. Reschedule and Message are one tap away. Subtotals, the member discount and the grand total are derived live from the line items in vanilla JS, so editing a price keeps the maths honest.

Built with Cormorant Garamond for display and Inter for the interface, generous whitespace, hairline gold dividers and soft editorial shadows. It is keyboard-usable, AA-contrast, respects reduced-motion, and reflows cleanly down to roughly 360px — no frameworks, no build step.