StealThis .dev
Pages Hard

Video — Booking

A cinematic five-step booking flow for a video production studio: pick a project type, choose a shoot date from an interactive calendar, select a coverage package with add-ons, fill in a project brief, then review and confirm. A sticky progress rail tracks each stage, letterbox amber accents and JetBrains Mono timecodes set the film-forward mood, and a final confirmation screen returns a booking reference with a running cost summary that updates live as choices change.

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

Code

A multi-step booking flow for Aperture & Grain, a fictional video production house, styled as a cinematic dark control surface. The hero wears letterbox black bars and an amber production slate; below it a progress rail walks the client through five stages — Project, Date, Package, Details and Review — before a letterboxed confirmation card closes the deal. Each stage is a self-contained panel; only one shows at a time, and the rail marks the active step with an amber glow.

Step one presents selectable project-type cards (Commercial, Music Video, Event Film, Documentary) with hover lift and a checked state. Step two renders a real month calendar you can page through, disabling past and blackout days and printing the chosen shoot date as a JetBrains Mono timecode. Step three lists coverage packages with per-tier pricing plus optional add-ons, and step four collects contact, location and brief details with inline validation that highlights the first offending field.

A persistent order summary recalculates the running total — base package, add-ons and an estimated tax line — whenever a choice changes, and Back/Next buttons gate progress until the current step is valid, firing a toast when it is not. Confirming generates a fictional booking reference, swaps in a success panel with a subtle amber reveal, and offers a reset to book another project — all in vanilla JS with no dependencies.