О клиенте
Biletik.Aero — онлайн-сервис для поиска, сравнения и бронирования авиабилетов. Проект ориентирован на самостоятельных путешественников: от поиска рейса до оформления страховки и изучения достопримечательностей в точке назначения. Платформа объединяет данные десятков авиакомпаний, предложения по железнодорожным билетам и контентную экосистему для планирования поездок.
Сайт построен на платформе «1С-Битрикс».
С чем пришли: 5 задач
На старте проект представлял собой страницу со строкой поиска — минимальный работающий прототип без интерфейса, без контента и без возможности масштабирования.
1. Примитивная форма поиска. Поиск авиабилетов работал, но интерфейс сводился к единственному текстовому полю на пустой странице. Ни автозаполнения, ни валидации, ни мультиязычности. Пользователь не понимал, что именно и как искать.
2. Отсутствие полноценного бронирования. Система бронирования не была интегрирована в сайт. Дополнительные услуги — страховка, выбор места — либо отсутствовали, либо требовали отдельных действий вне платформы. Оплата уводила пользователя на стороннюю страницу банка.
3. Нулевой контент. Сайт не содержал страниц городов, стран, авиакомпаний или аэропортов. Пользователь, ищущий билет в незнакомый город, не получал контекста: какая там погода, что посмотреть, сколько стоит местная валюта.
4. Отсутствие монетизации помимо продажи билетов. На сайте не было рекламных интеграций, рассылок об акциях авиакомпаний или партнёрских размещений. Контентные каналы — Яндекс Дзен, Турбо-страницы — не использовались.
5. Нет инструментов удержания. Пользователь совершал покупку и уходил. Не было личных кабинетов с историей, блогов путешественников, рейтингов — ничего, что возвращало бы посетителя на сайт после закрытия вкладки.
Решение 1. Переработка поискового ядра
Поиск авиабилетов — ключевая функция сервиса, поэтому работа началась именно с него.
Форма поиска получила автозаполнение по названиям городов и аэропортов, мультиязычный ввод (кириллица и латиница), а также визуальную подсветку ошибок. Пользователь сразу видит, какое поле заполнено некорректно, и получает подсказку по формату ввода. Поиск по различным параметрам — название, дата, направление — стал доступен в одном интерфейсе.

Данные по авиабилетам поступают от двух агрегаторов — Nemo и Zeus. Настроена корректная обработка ответов от обоих провайдеров: унификация форматов, обработка тайм-аутов, fallback-логика при недоступности одного из источников.
Для ускорения повторных запросов внедрено оперативное кэширование. При повторном поиске того же направления данные мгновенно загружаются из кэша. Если с момента последнего запроса цена изменилась, кэш инвалидируется, и в выдаче отображается актуальная стоимость. Это снизило среднее время ответа при повторных поисках и уменьшило нагрузку на внешние API.
Решение 2. Система бронирования и приём платежей
На втором этапе выстроен сквозной процесс от выбора билета до получения чека.
Бронирование. Реализован полный цикл бронирования авиабилетов с обменом данными между сайтом и системами авиакомпаний.
Отдельно добавлен поиск и бронирование железнодорожных билетов — пользователь может сравнить и купить билет на поезд внутри того же интерфейса, не покидая сайт.

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

Приём платежей. Оплата происходит непосредственно на сайте — без редиректа на страницу банка. Для этого площадка прошла сертификацию PCI DSS: проверку кода платёжного модуля, серверной инфраструктуры и процедур обработки данных держателей карт. Пользователь вводит платёжные данные в защищённой форме, не покидая контекст покупки.
Фискализация. Интеграция с Orange Data со стороны «1С-Битрикс» обеспечивает автоматическую отправку электронных чеков. Решение реализовано через механизм агентов на платформе — чеки формируются и отправляются в ОФД без ручного вмешательства.
Решение 3. Контентная экосистема
После отладки транзакционного ядра сайт наполнился контентом для привлечения и удержания аудитории.
Страницы городов. Для популярных туристических направлений созданы выделенные страницы. Каждая содержит: достопримечательности, погоду в реальном времени, курс местной валюты, новости города и спецпредложения на перелёты в этом направлении. Информация о билетах выводится непосредственно на странице города — пользователю не нужно возвращаться к поиску.

Страницы стран. Аналогичная логика для стран: курс валют, новости, подборка мест для посещения, актуальные предложения по авиабилетам. Контент агрегируется из внешних источников и обновляется автоматически.

Страницы авиакомпаний. Каждая авиакомпания-партнёр получила отдельную страницу с общей информацией, новостями, спецпредложениями и списком популярных направлений. Пользователь, выбирающий конкретного перевозчика, видит все его рейсы и акции в одном месте.
Страницы аэропортов. Для каждого аэропорта собрана справочная информация: международная кодировка (IATA/ICAO), расположение на карте, онлайн-табло прилётов и вылетов, расписание рейсов. Пользователь может оценить логистику от аэропорта до центра города ещё до покупки билета.

Тревел-блоги. Для сообщества путешественников создан раздел личных блогов с визуальным редактором. Пользователи публикуют истории поездок, загружают фотографии. Внедрена система геймификации: баллы за публикации и активность, рейтинги авторов, звания. Это формирует дополнительную причину возвращаться на сайт — не только за билетами, но и за контентом и статусом в сообществе.

Административная панель. Расширены возможности админки: статьи можно просматривать без публикации (предпросмотр в интерфейсе администратора), а маршрутные квитанции заказов доступны непосредственно из панели управления.
Решение 4. Интеграции, монетизация и производительность
Финальный этап добавил каналы распространения контента, рекламные инструменты и технические улучшения.
Яндекс Дзен и Яндекс Турбо. Настроена автоматическая публикация статей, блогов и новостей в ленту Яндекс Дзен и на Турбо-страницы. Контент сайта оперативно попадает в рекомендательные алгоритмы Яндекса, что расширяет охват аудитории без дополнительных затрат на продвижение.
Таргетированная реклама. Проведена интеграция с рекламными площадками. Рекламные блоки на сайте учитывают направление перелёта и географию пользователя. Пользователь, ищущий билеты в Париж, видит рекламу отелей и экскурсий во Франции, а не общие баннеры.
Рассылки об акциях. Внедрены сервисы автоматической публикации новостей об акциях авиакомпаний. Информация о спецпредложениях появляется на сайте в виде новостей и одновременно уходит в email-рассылки подписчикам.
Оптимизация изображений. Разработан модуль сжатия и переформатирования изображений. Картинки конвертируются под конкретный браузер пользователя — WebP для поддерживающих, JPEG для остальных. Сжатие применяется на лету при загрузке, без потери визуального качества.
Итоги проекта
| Компонент | Результат |
|---|---|
| Поисковое ядро | Интеграция с двумя агрегаторами (Nemo, Zeus); автозаполнение с мультиязычным вводом; оперативное кэширование с инвалидацией по изменению цены |
| Бронирование | Сквозной цикл: поиск → бронирование → допуслуги → оплата; добавлены железнодорожные билеты в едином интерфейсе |
| Приём платежей | Оплата на сайте без редиректа на банк; сертификация PCI DSS |
| Фискализация | Автоматическая отправка чеков через Orange Data; интеграция через агента на «1С-Битрикс» |
| Контентные страницы | Страницы городов, стран, авиакомпаний, аэропортов с автоматическим обновлением данных |
| Сообщество | Тревел-блоги с визуальным редактором; система баллов, рейтингов и званий |
| Администрирование | Предпросмотр статей без публикации; доступ к маршрутным квитанциям из админки |
| Дистрибуция контента | Автопубликация в Яндекс Дзен и Яндекс Турбо |
| Монетизация | Таргетированная реклама по направлению и географии; рассылки об акциях авиакомпаний |
| Производительность | Сжатие и переформатирование изображений под браузеры |
Типичные ошибки в похожих проектах
1. Отдельная платёжная страница банка. Редирект на внешний шлюз разрывает пользовательский путь: посетитель покидает сайт, теряет контекст заказа, часть пользователей не возвращается. Прямая интеграция платёжного модуля на сайте требует сертификации PCI DSS, но окупается ростом конверсии в оплату.
2. Поиск без кэширования. Каждый повторный запрос к внешним API-агрегаторам — это задержка и платный вызов. Оперативное кэширование с инвалидацией по изменению цены даёт мгновенный ответ на типовые запросы и экономит бюджет на API-трафик.
3. Только авиабилеты без смежных услуг. Пользователь, покупающий авиабилет, почти всегда нуждается в страховке, трансфере, а иногда — в железнодорожном билете до аэропорта. Если эти услуги недоступны в единой корзине, часть выручки уходит конкурентам.
4. Отсутствие контентных страниц направлений. Авиабилетный сайт без страниц городов и стран проигрывает в поисковой выдаче туристическим агрегаторам. Пользователь ищет «что посмотреть в Барселоне» — и попадает на сайт, где можно сразу купить билет в Барселону. Без контента этот трафик не получить.
5. Статичный сайт без сообщества. Авиабилеты — товар с низкой частотой покупки (2-4 раза в год). Между покупками пользователь не возвращается. Тревел-блоги, рейтинги и рассылки об акциях создают повод заходить на сайт еженедельно, а не раз в полгода.
Заключение
Проект Biletik.Aero — пример поэтапного превращения минимального прототипа в полноценную тревел-платформу. На входе была строка поиска на пустой странице, на выходе — экосистема из поискового ядра с двумя агрегаторами, сквозного бронирования с PCI DSS-оплатой, контентных страниц для сотен направлений и сообщества тревел-блогеров с геймификацией.
Результат определило параллельное развитие транзакционного ядра и контентной экосистемы. Поиск и бронирование приносят выручку здесь и сейчас; страницы городов и блоги путешественников формируют долгосрочный органический трафик и возвращаемость аудитории. Проект демонстрирует, что авиабилетный сервис может быть одновременно кассой, путеводителем и социальной площадкой.