КЕЙС: Разработка системы онлайн-покупки билетов для сети зоопарков <br/>«Дом Попугаев»

Разработка

КЕЙС: Разработка системы онлайн-покупки билетов для сети зоопарков
«Дом Попугаев»

Спроектировали кастомную систему продажи билетов для четырех локаций: выбор парка, расчет стоимости, SMS-подтверждение, онлайн-оплата, фискальный чек, PDF-билет.

Время работы

2 месяца

ГОД

январь-февраль
2026

О клиенте

(01)

«Дом Попугаев» – сеть контактных парков, где посетители покупают билеты на конкретную локацию, дату и состав визита. У каждой точки своя операционная логика: график, цены, доступность, возрастные параметры, правила посещения и бизнес-настройки.

 

На старте требовалось решить задачу, которая внешне выглядит просто: дать пользователю возможность купить билет онлайн. По факту это была полноценная транзакционная система, где нужно связать пользовательский сценарий, платежный шлюз, фискализацию, генерацию цифровых документов и работу нескольких физических локаций в одной архитектуре.

С чем обратился клиент

Клиенту был нужен рабочий инструмент онлайн-продажи билетов, который позволит уменьшить ручную обработку заявок, принимать оплату заранее и выдавать посетителю понятный цифровой билет без участия администратора.

 

Важно было избежать зависимости от тяжелых типовых решений, где бизнес подстраивается под готовый функционал. Здесь требовалась система под реальный процесс сети парков: с разными локациями, гибким управлением ценами, проверкой пользователя, оплатой, чеком и билетом.

Стартовая точка

Обычный перевод текстов здесь не решал задачу. На сайте были кастомные типы записей, таксономии, AJAX-фильтры, Elementor-шаблоны, ACF-поля, формы Contact Form 7 и Telegram-интеграция. Если перевести только видимые страницы, пользователь быстро столкнулся бы с русскими элементами в меню, фильтрах, формах или карточках автомобилей.

 

Поэтому проект рассматривался как полноценная техническая локализация: нужно было адаптировать все уровни сайта – URL, шаблоны, строки интерфейса, динамические запросы, формы, меню, поля и пользовательский сценарий.

Цель проекта

(01)

Создать единую систему онлайн-покупки билетов, которая работает как простая витрина для пользователя и как управляемый транзакционный backend для бизнеса.

(01)

Пользователь должен быстро выбрать локацию, дату, количество детей и возраст.

(02)

Система должна автоматически рассчитать стоимость и подтвердить пользователя через SMS.

(03)

Оплата должна проходить через безопасный платежный сценарий без хранения данных карты на сайте.

(04)

После оплаты пользователь должен получить чек, билет.

(05)

Администраторы должны управлять ценами, доступностью и текстами без правки кода.

(06)

Архитектура должна выдерживать масштабирование на новые точки и новые платежные системы.

Как мы спроектировали систему

(01)

Решение было реализовано в виде отдельного WordPress-плагина. Это важный архитектурный выбор: бизнес-логика продажи билетов изолирована от темы сайта, не зависит от визуальных шаблонов и может развиваться как самостоятельный модуль.

 

Внутри системы был собран модульный backend на PHP с объектно-ориентированной архитектурой. Для платежей создан абстрактный слой, который описывает базовые операции: создание заказа, временное сохранение данных, получение webhook URL, логирование и управление жизненным циклом оплаты.

 

За счет этого платежная архитектура стала расширяемой. Если бизнесу нужно подключить нового провайдера, разработка не переписывает ядро, а добавляет новый класс интеграции. Это снижает технический риск и делает систему пригодной для долгого использования.

(02)

Мультисайтовая логика для 4 локаций

Система проектировалась под четыре независимые физические точки. У каждой локации могут отличаться цены, условия, тексты, доступность и параметры продажи. Чтобы это не превращалось в ручную правку кода, управление вынесли в ACF Options Page.

 

Администратор может менять параметры в привычной админке WordPress. Для бизнеса это принципиально: операционные изменения не должны каждый раз превращаться в задачу для разработчика. Если меняется цена, акция или доступность локации, это можно обновить через интерфейс управления.

(03)

Пользовательский сценарий покупки

Фронтенд реализован как модульное JavaScript-приложение. Сценарий покупки собран коротко и понятно: пользователь выбирает точку, дату, количество детей и возраст, видит автоматический расчет стоимости, подтверждает телефон через SMS и переходит к оплате.

 

После подтверждения пользователь попадает в iframe платежного провайдера. Это правильная модель для безопасности: данные банковской карты не проходят через сервер сайта, а обработка платежа остается в контуре провайдера.

(04)

Платежи, фискализация и документы

Отдельный блок работ касался платежной модели и перехода на Т-Банк. Процесс оплаты был формализован в строгий backend-пайплайн: фронтенд передает нормализованные данные заказа, сервер проводит валидацию, платежный модуль формирует запрос к API, заказ получает уникальный OrderId и сохраняется до подтверждения оплаты.

 

Фискальная часть приведена к модели ФФД 1.2. Чек формируется как полноценная структура: отдельные позиции билетов, цена до и после скидки, налоговая модель, электронный способ оплаты и контактные данные клиента. Скидка стала частью фискальной модели, а не декоративным расчетом на фронтенде.

 

После подтверждения платежа система генерирует PDF-чек и PDF-билет, отправляет письмо клиенту и удаляет временные файлы. Такой подход снижает риски накопления персональных данных на сервере.

(05)

Webhook как точка истины

Ключевым событием системы стал подтвержденный платеж. Webhook от платежного провайдера запускает всю post-payment логику: проверку заказа, генерацию документов, отправку письма и очистку временных данных. Обрабатывается только статус: CONFIRMED. Все остальные статусы игнорируются на уровне бизнес-логики.

 

Дополнительно реализована идемпотентность: один OrderId обрабатывается только один раз. Это защищает систему от повторной генерации билетов, дублирования писем и ошибок при повторных webhook-запросах.

Что получил клиент

(01)

Единую систему онлайн-продажи билетов для 4 локаций.

(02)

Управление ценами, текстами и параметрами локаций через админку.

(03)

SMS-подтверждение пользователя перед оплатой.

(04)

Подключенную платежную архитектуру с возможностью дальнейшего расширения.

(05)

Корректную фискализацию по ФФД 1.2.

(06)

Автоматическую генерацию PDF-чека, PDF-билета.

(07)

Email-отправку документов после подтверждения оплаты.

(08)

Очистку временных файлов и безопасную модель хранения данных.

(09)

Отказоустойчивую post-payment обработку с защитой от дублей.

Результат

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

Главная ценность проекта – снижение ручной нагрузки. Администратору не нужно вручную принимать оплату, сверять данные, отправлять билет или формировать документы. Система делает это автоматически после подтвержденного платежа.

Для сети зоопарков это особенно важно: чем больше локаций и посетителей, тем дороже становится ручная обработка. Кастомная архитектура позволяет масштабировать продажи без пропорционального роста операционной нагрузки.

Вывод

Этот кейс показывает, как разработка решает бизнес-задачу глубже уровня “поставить оплату на сайт”. В проекте была собрана система, где пользовательский интерфейс, платежи, фискализация, документы, админское управление работают как единый процесс. Для клиента это база для масштабирования сети и более зрелого цифрового сервиса.

Хватит искать команду своей мечты! Мы тут, оставляйте заявку!

Наш специалист по разработке ответит на любые вопросы

img (1)

Или свяжитесь любым другим удобным способом

Заполняйте форму и мы с вами свяжемся!

    Что еще сделали для этого клиента

    Разработка сайта

    Посмотреть кейс
    (01)

    Видеомонтаж

    Посмотреть кейс
    (02)

    Разработка концепции сайта

    Посмотреть кейс
    (03)

    География наших клиентов

    • Беларусь
    • Россия
    • Польша
    • Литва
    • Германия
    • Эстония
    • Индонезия
    • США
    • ОАЭ
    • Испания
    • Франция
    • Тайланд

    Следующий кейс

    КЕЙС: Интеграция CRM-системы X-Прокат с сайтом аренды автомобилей VroomClub
    Интеграция CRM-системы
    X-Прокат