globall.dev — студия Telegram-ботов globall.dev
Продажа билетов на мероприятия

Telegram-бот продажи билетов с Mini App и выбором места в зале

Покупатель выбирает место на интерактивной карте зала прямо в Telegram, оплачивает — а партнёрские начисления и антифрод считаются сами. Без таблиц, калькуляторов и путаницы с местами.

Ниша: билеты на события Тип: бот + Mini App Стек: Aiogram 3 + Vue 3
24/7
Оплата и выдача билетов без участия владельца
Карта зала
Выбор места в Mini App с зумом и легендой по ценам
Реф. сеть
Многоуровневые начисления партнёрам с заморозкой до события
Бэкап 7 дней
Безопасные бэкапы SQLite с ретенцией и планировщиком
Проблема

Билеты продавались вручную — а это потолок и постоянные ошибки

До бота продажа билетов держалась на ручном труде. Места согласовывали в переписке, бронь фиксировали в таблице, оплату подтверждали глазами по скриншотам. На каждом шаге терялось время и появлялись ошибки: одно место могли продать дважды, бронь зависала, а покупатель не понимал, что именно он берёт.

Отдельная боль — партнёры. Мероприятия часто продвигают через агентов и амбассадоров, и каждому надо посчитать процент: со своих продаж и с продаж приведённых рефералов. Это считали на калькуляторе, спорили о цифрах и платили вручную. С ростом числа партнёров такая схема ломается первой.

Запрос был чёткий: нужен инструмент, который сам показывает свободные места, принимает деньги, выдаёт билет и без ошибок начисляет партнёрам — и всё это внутри Telegram, без отдельного сайта и приложения.

Подход

Как мы разложили задачу на части

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

  1. Выбор места — в Mini App, не в чате. Карту зала невозможно нормально показать кнопками. Нужен интерфейс с зумом, панорамированием и цветовой легендой по ценовым категориям — это полноценное веб-приложение внутри Telegram.
  2. Деньги и статусы — в боте на Python. Заказ проходит через цепочку статусов, и при каждом переходе должны срабатывать начисления. Это серверная логика, которую нельзя отдавать клиенту в браузер.
  3. Партнёрская программа — отдельный домен со своими правилами. Промокоды, уровни, заморозка средств до даты события, вывод по реквизитам. Это считается автоматически и должно быть защищено от двойных начислений.
  4. Админка — чтобы владелец сам всё менял. События, цены, проценты, скидки, тексты, рассылки — без обращения к разработчику.

Такая нарезка позволила собрать понятный покупателю продукт, не превращая бота в «чёрный ящик», который умеет всё, но падает на первом нестандартном сценарии.

Решение

Что получил владелец

Покупатель открывает бота, выбирает мероприятие и попадает в Mini App с картой зала. Места подсвечены по категориям цен — видно сразу, где партер, а где балкон, и сколько это стоит. Можно приблизить нужный сектор, выбрать конкретное место и оформить заказ. Оплата и выдача билета работают без ручного участия — в любое время суток.

Партнёрская программа, которая считает сама

Партнёр получает промокод и реферальную ссылку. Бот сам начисляет ему процент со своих продаж и с продаж приведённых им людей — это многоуровневая схема, а не плоский реферал. Чтобы исключить возвраты и фрод, средства замораживаются до даты события и размораживаются автоматически фоновым планировщиком. Вывод — по реквизитам (карта или СБП), а сами партнёры проходят верификацию через нативный контакт Telegram, так что за цифрами стоит реальный человек.

Админ-панель под владельца

Владелец сам заводит события, настраивает цены и проценты, включает скидки по промокоду тумблером, рассылает анонсы, смотрит статистику и управляет менеджерами. Антифрод и гибкие настройки процентов вшиты в админку — менять экономику можно без разработчика. Если нужно — есть демо: бот в Telegram и живой Mini App.

Технически

Что под капотом

Python · Aiogram 3 Vue 3 Mini App (TWA) SQLite nginx + systemd Cloudflared-туннель

Mini App: интерактивная карта зала

Карта зала с зумом и панорамированием
Vue 3 внутри Telegram WebApp: выбор мест, масштабирование и перемещение по большому залу.
Цветовая легенда по ценам
Места подсвечены по ценовым категориям — покупатель сразу видит, сколько стоит сектор.

Партнёрская экономика и антифрод

Многоуровневые начисления
Промокоды и проценты со своих продаж и с продаж рефералов — без ручного счёта.
Заморозка средств до события
Начисления замораживаются и размораживаются фоновым планировщиком в дату мероприятия.
Идемпотентные начисления
При смене статуса заказа партнёру начисляется ровно один раз — без дублей при повторах.
Верификация партнёров
Подтверждение через нативный Telegram-контакт + вывод по реквизитам (карта/СБП).

Админка, надёжность и деплой

Полная админ-панель
События, заказы, тексты, рассылки, менеджеры, гибкие проценты, скидки-тумблеры, статистика.
Фоновый планировщик
Разморозка средств, напоминания и регламентные задачи — по расписанию, без участия владельца.
Безопасные бэкапы
Снимки через sqlite .backup с ретенцией 7 дней — данные продаж не теряются.
Production-деплой на VPS
systemd, nginx и cloudflared-туннель для Mini App — без открытых наружу портов.
Результат

Продажа билетов работает сама

Вместо переписки и таблиц — единый продукт внутри Telegram. Покупатель выбирает место на карте зала в Mini App и платит, а партнёрские начисления и антифрод считаются сами. Владелец управляет событиями, ценами и процентами через админку, а деньги и выдача билетов работают круглосуточно — без ручных подтверждений.

  • Двойные продажи одного места исключены: выбор идёт по живой карте зала.
  • Партнёрам больше не считают проценты вручную — схема многоуровневая и идемпотентная.
  • Средства партнёров под защитой: заморозка до события и автоматическая разморозка.
  • Данные продаж защищены бэкапами с ретенцией, бот живёт на VPS под systemd.
Конкретные показатели по выручке и конверсии — на стороне владельца проекта; готовы добавить их в кейс по запросу, когда накопится статистика продаж за событие.

Нужен такой же бот под ваше мероприятие?

Расскажите про зал, цены и партнёров — за день пришлём фиксированную смету и план запуска. Исходники ваши с первого дня.

Бесплатно. Отвечу в течение часа в рабочее время. Без спама.

Берём в работу ограниченное число проектов одновременно — ближайший слот ограничен.