Back to Hermes Agent

Vitrina — Museum timed-slot tickets

Vitrina — Museum timed-slot tickets - Desktop view
Desktop view
Vitrina — Museum timed-slot tickets - Mobile view
Mobile view

Key features

01

Timed-slot transactional cycle: 15-min hold (server expiresAt) → confirm → QR; 30s sweeper; double-sale mutex (409)

02

Exhibition catalogue + artwork sheets with curatorial notes and slot picker (today→+30 days)

03

Checkout with tariffs (general/reduced/child/member), add-ons and countdown resync on visibilitychange/focus

04

My visits: list↔detail total consistency, cancel ≥24h and dynamic statuses

05

Membership points derived: 10 pts × confirmed|used seat (seed and real purchases)

06

Admin: occupancy and revenue with real SVG charts (X/Y axes + tooltips)

Description

Vitrina is the full digital experience of an art & science museum for end visitors. Explore permanent and temporary exhibitions, open curatorial artwork sheets, pick a day and time slot with live free seats, add options (audioguide, guided tour) and confirm payment. The ticket includes a downloadable QR and a simulated email. In My visits you track statuses (pending, confirmed, used, cancelled, expired), cancel with a 24h policy and earn membership points derived from real visits (10 pts × seat). The truth layer is the timed-entry transactional cycle: each slot is a finite resource with pending hold and server-side expiresAt, a 30s sweeper freeing stale holds, double-sale mutex (409) and list↔detail consistency on totals and free seats. Curators publish exhibitions and inspect occupancy/revenue with real charts (axes, dates, tooltips).

Technologies used

Angular Angular TypeScript TypeScript NestJS NestJS SQLite SQLite