Témpano — Ice-rink sessions
Key features
B2C cycle: 15 min hold (server expiresAt) → confirm → QR; 30 s sweeper; 409 capacity, stock and same-user
Two modes: shared-capacity North rink + private South rink
Checkout with EU size picker, extras and live total before hold
My sessions: list↔detail with matching totals and dynamic status
Derived ice points: 5 pts × partySize completed
Staff: QR check-in, size inventory and SVG chart (axes + dates + tooltips)
Description
Témpano is the online booking desk of a municipal ice rink for the skater. North rink is shared capacity — several groups skate together and spots run out, not a 1:1 mutex. South rink is private ice. Pick a day and a 60-minute slot, reserve EU skate sizes (or bring your own), add extras and confirm before the hold expires. The ticket includes a QR SVG. Staff scan the code at the turnstile. In My sessions you can review status, cancel with a 24 h policy and collect ice points derived from completed bookings (5 pts × partySize). The source of truth is the transactional session + size inventory: pending hold with server expiresAt, ~30 s sweeper, 409 on capacity and stock, same-user 409, and list ↔ detail totals.
Technologies used
Angular
TypeScript
SQLite