Билеты на мероприятие — оплата в боте, вход по QR
Телеграм-бот продаёт билеты на офлайн-мероприятие: участник платит по ссылке из чата, получает именной билет с QR, а на входе билет гасится сканером и повторно не срабатывает.

Контекст
Перед офлайн-конференцией всё узкое место — регистрация и вход. Заявки приходят из разных мест, оплаты сверяются руками, списки участников живут в таблицах, а на входе очередь упирается в человека, который ищет фамилию глазами. Отдельная боль — повторный проход по одному и тому же билету: пока учёт на бумаге, поймать это невозможно.

Решение
Весь путь участника уместился в чат. Человек заходит в бота, выбирает тип билета — конференция или вечеринка, обычный или VIP, — оставляет контакты и получает ссылку на оплату. После оплаты бот выдаёт именной билет: короткий код, ссылка на страницу билета и QR, который и есть пропуск.
Страница билета открывается на телефоне и показывает тип, статус и действительность прямо на экране. Оформление разное: у VIP свой вид, чтобы на входе не приходилось разбираться.
На входе работает второй сценарий — сканер. Администратор наводит камеру на QR, видит карточку билета и гасит его одним нажатием. Погашенный билет помечается как использованный, и вторая попытка пройти по тому же коду просто не сработает.
Заявки и оплаты уходят в CRM не напрямую, а через очередь: если CRM недоступна или отвечает медленно, заявка ждёт в очереди и доезжает позже, а участник этого даже не замечает. Параллельно данные ложатся в таблицу, привычную организаторам.

Как устроено
- Типы билетов. Конференция и вечеринка, обычный и VIP — с разным оформлением страницы билета.
- Оплата. Счёт выставляется из чата, билет выдаётся после подтверждения оплаты.
- Билет. Короткий код, личная страница и QR, который сканируют на входе.
- Гашение. Разовое: повторный скан того же кода отбивается.
- Заявки в CRM. Через очередь, чтобы ничего не терялось при сбоях на стороне CRM.
- Учёт. Выгрузка участников в таблицу и админский раздел со списком.
Роль и результат
Мы сделали проект целиком: бота, страницу билета, сканер для входа и серверную часть с оплатами и выдачей. Организаторы получили один источник правды по участникам вместо трёх таблиц, а вход перестал упираться в человека со списком: очередь двигается со скоростью сканирования QR.
Расскажите о своём проекте



