StealThis .dev

Airline — Seat Map Selector

An interactive aircraft seat-map selector for the fictional Skyhaven Air A350-900, spanning first, business, and economy cabins. Passengers tap open seats to select them, with a color-coded legend for available, occupied, extra-legroom, and exit-row seats. Hovering reveals a tooltip with the seat number and price, a running summary tallies the live total, a per-passenger maximum guards selection, and a deck-zoom control scales the cabin for precise tapping on small screens.

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

Code

Seat Map Selector

A status-forward seat-map selector for Skyhaven Air flight SH 218 (JFK → LHR) aboard an A350-900. The fuselage renders three cabins — a 1-2-1 First suite, a 1-2-1 lie-flat Business zone, and a 7-across Economy section with marked exit and bulkhead rows. Each seat is a real button with a slot-style cushion, aisle gaps, and an EXIT badge where the over-wing doors sit. A boarding-pass header shows the route, flight number, aircraft, gate, and a Boarding status pill.

Selection is fully interactive. Tapping an open seat toggles it on or off, animates it into the summary list, and updates the live subtotal and total with tabular figures. A per-passenger guard caps the selection at two seats and raises a toast when you exceed it. Hovering or keyboard-focusing any seat surfaces a tooltip with the seat number, type, and price, while First and Business seats read as included. The legend maps every state — available, extra legroom, exit row, occupied, and selected.

Occupancy and pricing are generated deterministically so the map looks lived-in without a backend, and a deck-zoom control scales the fuselage from 80% to 140% for accurate tapping at ~360px. Everything is vanilla HTML, CSS, and JavaScript with no dependencies, delegated event handling, and accessible labels throughout.

Illustrative UI only — fictional airline, not a real booking or flight system.