Разработка мобильного приложения для театра/концертного зала
Театр и концертный зал — специфический билетный рынок. Здесь нет «случайного» зрителя: люди планируют посещение заранее, покупают абонементы на сезон, хотят знать состав исполнителей. Приложение — это и афиша, и билетная касса, и программка в телефоне вместо бумажной.
Сложность схем залов
Концертный зал — не кинотеатр с прямыми рядами. Амфитеатр, бельэтаж, ложи, партер с нумерацией по секциям — у каждого театра своя уникальная планировка. Хранить схему как статичное изображение не получится: нужен интерактивный план с поместной нумерацией.
Решение: SVG-схема зала, где каждое место — отдельный SVG-элемент с id = "seat_A12". На Flutter: flutter_svg не поддерживает интерактивность нативно для сложных SVG, поэтому используем CustomPainter + собственный парсер координат мест из JSON-конфига. Данные мест: ряд, место, сектор, категория цены (партер / амфитеатр / ложа), статус (available / reserved / sold).
Для театра важны категории мест не только по зоне, но и по видимости — «место с ограниченным обзором» должно быть помечено. Это честно по отношению к зрителю и снижает количество претензий.
Абонементы на сезон
Театральный абонемент — покупка права на определённый набор спектаклей в сезоне. Технически: Subscription содержит список Performance + фиксированные места. При добавлении нового спектакля в абонемент — автоматическое бронирование тех же мест (если доступны) или уведомление абоненту с предложением выбрать другие.
Это нетривиально с точки зрения транзакционности: бронирование 8 мест на 12 спектаклей должно быть атомарным или с rollback при частичной ошибке. PostgreSQL SERIALIZABLE транзакции или оптимистичные блокировки с версионированием.
Программки и дополнительный контент
Бумажная программка в телефоне — ожидаемая функция. PDF-программка или нативный экран с составом труппы, описанием спектакля, биографиями артистов. Контент-модель: Performance → Acts → Performers. Обновляемо через CMS-часть (веб-кабинет театра).
Для классических театров интересна интеграция с архивом: фото прошлых постановок, видео фрагменты репетиций (доступны только через приложение). Это работает на удержание аудитории и создаёт ценность выше, чем просто покупка билета.
Подарочные сертификаты
Театр — популярный вариант подарка. Подарочный сертификат: генерация уникального кода, отправка по email или прямо из приложения через share_plus. При активации код обменивается на реальный билет — серверная логика с TTL сертификата (обычно 1 год).
Стек
Flutter + Riverpod. Платежи с поддержкой Apple Pay, Google Pay, ЮKassa. Apple Wallet / Google Wallet для билетов — PKpass с логотипом театра и деталями места. Firebase Cloud Messaging для уведомлений: «до вашего спектакля осталось 2 часа», «состав исполнителей изменился» (актуально для оперы).
Интеграция с билетными агрегаторами (Kassir.ru, Ticketland) — если театр уже работает через них, нужна синхронизация остатков мест. Двойные продажи между агрегатором и приложением — критическая ошибка.
Сроки
MVP (афиша, схема зала, оплата, QR-билеты): 12–16 недель. С абонементами, программками, архивом и интеграцией с агрегаторами: 18–26 недель. Стоимость рассчитывается после анализа схем залов и интеграционных требований.







