Клиент
Ник Вуйчич
Экспертиза
HTML/CSS верстка макета. Программирование на PHP, JavaScript. База данных MySQL. Высокие пиковые нагрузки, кеширование. Массовые рассылки писем. Прием оплаты на сайте.
Платформа
Сайт и система управления контентом написаны с нуля под запросы заказчика.
Дата запуска
2016-01-24
📃 Задача
  1. Сделать функцию продажи билетов в шести разных городах по всей России
  2. Сделать интеграцию с внутренними системами площадок и турникетными системами, в особенности с помещением государственного Кремлевского дворца. Площадки имеют разные схемы залов и форму секторов.
  3. Сделать собственный конструктор билетов с биллингом и генерируемыми штрихкодами.
  4. Написать систему проверки билетов контроллерами при входе.
💡 Решение
  1. Благодаря отказу от использования готовых CMS получилось реализовать очень быструю и функциональную систему, точно соответствующую запросам клиента. В моменты пиковых нагрузок и форс-мажоров на концертах удавалось максимально эффективно адаптировать и поддерживать работу сайта.
  2. Были полностью закрыты потребности по формированию залов с посадочными местами, бронирования (в том числе массового), оплаты, отмены билетов и всех остальных аспектов работы учетной системы мероприятий.
  3. Правильный подбор площадок и групп для проведения рекламной кампании

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

 Разработка личного кабинета

В проекте был реализован личный кабинет покупателя, где пользователь мог отслеживать свои билеты и функционал возврата/обмена билетов по требованию. Верификация происходила через e-mail или мобильный телефон.

 Что мы сделали

  1. Реализовали систему конструирования схемы зала по размерам и формам секторов. Также добавлены функции учета специфических секторов: с проходами, с отметкой стола режиссера, местами для малогабаритных граждан.
  2. Разработали интеграцию через API с платежными системами, и билетными агрегаторами.
  3. Сделали интеграцию с системами эквайринга и генерацией билета с защитой от подделок.
  4. Была разработана программа для мобильного телефона, которая считывала штрих коды и проверяла доступность и уникальность билета.
  5. Сделали интеграцию с системами турникетов в залах. При входе посетитель сканировал свой билет со штрих-кодом и турникет открывался.
  6. Реализация личного кабинета администраторов мероприятия по ролям с доступами к требуемым модулям системы.
  7. Дизайн и разработка непосредственно сайта самого мероприятия.

 Решения и процессы

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

Дополнительная верификация была сделана с помощью номеров мобильных телефонов или электронной почты. Билет генерировался именно на эти данные, поэтому перепродать билет было затруднительно. Контролер на входе в зал проверял дополнительные данные. Схема похожа на систему проверки электронных сертификатов вакцинации, которая работала в 2021 году. Наша команда реализовала такое решение в 2016 году.

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

Важным моментом была интеграция и работа с Государственным Кремлевским Дворцом. Эта площадка предъявляет жесткие требования к безопасности и оформлению штрих-кодов билетов. Для этой площадки была сделана отдельная система интеграции.

На фронтэнде мы сделали адаптивный сайт с функцией выбора города, выбора зала, выбора места и покупки билетов с более чем 15-ю способами оплаты.

Сложности при реализации

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

Это был очень важный момент. Нам и организаторам не хотелось создавать очереди на мероприятия. Порядка 20% всех зрителей были люди с ограниченными возможностями и одной из главных задач было не заставлять их ждать. Важно было сделать сервис работающий четко, корректно и прозрачно, дабы люди не ждали и совершенно спокойно рассаживались на свои места.

 Платформа и интеграция

В связи с многочисленными специфическими требованиями клиента и предполагаемыми высокими нагрузками было принято решение написать весь функционал сайта с нуля вместо встраивания решений в крупные популярные CMS, в которых за универсальность пришлось бы расплачиваться скоростью работы в целом и быстротой написания кода. Несколько PSD макетов дизайна было сверстано в HTML/CSS с адаптивом под мобильные системы. Особенно непросто было реализовать вывод различных залов и мест для бронирования под разные экраны. Бэкенд и вывод на фронт программировали на PHP, JavaScript использовался для работы с динамическими элементами и асинхронной подгрузки. База данных MySQL была взята как самая распространенная, бесплатная, открытая и множество раз доказавшая свою надежность.

 Результат

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