Zambra — Cave tablao
Zambra is the box office of a cave tablao. Guests browse shows (soleá, seguiriyas, bulerías, alegrías), open the seat map for THAT performance (tables of 2/4 around the oval, gallery and bar), pick seats, add a drink or tapa, pay at once and get a real entry QR. Staff scans it at the door (paid → used). The truth layer is atomic checkout on ShowSeat: no 15-minute hold. A second buy on the same seat → 409 SEAT_TAKEN; the same user with a live order for the same show → 409 ALREADY_BOOKED. Tablao points come from used seats (10 pts/seat).
Key features
Seat map per show (candil, ring, gallery, bar) — not slot+hold
Atomic checkout: seats confirm in the same transaction
Human 409 SEAT_TAKEN / ALREADY_BOOKED next to the CTA
Real QR (qrcode SVG + /entrada/:code URL) on confirmation and public GET 200
Staff scan by code or URL; second scan → 409 ALREADY_USED
Derived tablao points: 10 pts per used seat
Technologies used
Angular
TypeScript
SQLite