Recital seat sales, cash at the desk, holds that expire
Parents reserve seats online; pay at the desk. Held seats release if the parent doesn't show. Two-show $30 discount auto-applies.
The story
Recital weekend is the studio's highest-revenue and highest-chaos week. The current setup: parents reserve seats via the studio's website, then come to the desk to pay in cash. Seats are tracked on a printed map; double-bookings happen.
Pirouette ships the seat-map model directly from the studio's existing Supabase prototype. Online reservation is a 'hold' with an expires-at timestamp; pay-at-desk converts to confirmed. Two-show discount applies at the line. Cash-only at recital time — no Stripe round-trip when there is a line at the desk.
What this looks like in practice
- Online seat reservation as a 'hold' with expiry; pay-at-desk confirms
- Two-show $30 discount auto-applies at the sale line
- Cash-only at recital time — no Stripe round-trip when the desk is busy
- 'Entered by' attribution on every payment
- Cron releases expired holds back to available
Related
Three states, free-text notes for the exceptions. Parents see 'coming soon' or 'you have it'. Staff sees the full picture.
Search bar dominant. Shift handoff visible. Today's queue, pending actions, end-shift-to-Diane in one action.
Want to see this running on your studio's data?
Walk through a demo with us. We'll show this feature in context against the day-to-day workflow your studio actually has.