Mobile App Development for Theater/Concert Hall
Theater and concert hall is a specific ticket market. No "random" visitors: people plan ahead, buy season subscriptions, want to know performer lineup. App is both playbill and ticket office and program notes instead of paper.
Hall Scheme Complexity
Concert hall is not cinema with straight rows. Amphitheater, mezzanine, loges, stalls with section numbering — each theater has unique layout. Can't store scheme as static image: need interactive plan with per-seat numbering.
Solution: SVG hall scheme where each seat is separate SVG element with id = "seat_A12". Flutter: flutter_svg doesn't support interactivity natively for complex SVG, so use CustomPainter + own coordinate parser from JSON config. Seat data: row, seat, section, price category (stalls / amphitheater / loge), status (available / reserved / sold).
For theater important: seat categories not just by zone but by visibility — "seat with limited view" must be marked. Honest to viewers and reduces complaints.
Season Subscriptions
Theater subscription — buying right to certain set of shows in season. Technically: Subscription contains list of Performance + fixed seats. When adding new show to subscription — auto-reserve same seats (if available) or notify subscriber with option to choose different ones.
Non-trivial from transaction perspective: reserving 8 seats across 12 shows must be atomic or rollback on partial error. PostgreSQL SERIALIZABLE transactions or optimistic locking with versioning.
Programs and Additional Content
Paper program in phone — expected feature. PDF program or native screen with troupe composition, show description, performer bios. Content model: Performance → Acts → Performers. Updatable via CMS part (theater web cabinet).
For classical theaters interesting: archive integration — photos of past productions, rehearsal video clips (accessible only through app). Works on audience retention and creates value beyond just ticket purchase.
Gift Certificates
Theater is popular gift option. Gift certificate: generate unique code, send via email or directly from app via share_plus. On activation code exchanges for real ticket — server logic with certificate TTL (usually 1 year).
Tech Stack
Flutter + Riverpod. Payments with Apple Pay, Google Pay, YooKassa support. Apple Wallet / Google Wallet for tickets — PKpass with theater logo and seat details. Firebase Cloud Messaging for notifications: "your show in 2 hours", "performer lineup changed" (relevant for opera).
Integration with ticket aggregators (Kassir.ru, Ticketland) — if theater already works through them, need seat sync. Double sales between aggregator and app — critical error.
Timeline
MVP (playbill, hall scheme, payment, QR tickets): 12–16 weeks. With subscriptions, programs, archive, aggregator integration: 18–26 weeks. Cost calculated after analyzing hall schemes and integration requirements.







