Задача
Разработать международный круизный агрегатор, который даст новый взгляд на бронирование круизов.
Решение
Одна из массивных частей веб-сервиса – интеграции с компаниями, представляющая собой отдельный слой в архитектуре проекта и объединяющая апи разных компаний в единый интерфейс. Архитектура слоя разбита на множество репозиториев кода, что позволяет разрабатывать интеграции параллельно и независимо друг от друга, с сохранением конфиденциальности.
Список круизных компании и агрегаторов, предоставляющие каталожные данные (offline api) и методы для реального бронирования (online api):
Mundomar Cruceros (Cunard, Princess), Pullmantur, Costa, IST (Royal Caribbean Cruises Ltd, Azamara Cruises, Celebrity Cruises, MSC, Holland America Line, Carnival Cruise Line, Seabourn Cruise Line, Silversea Cruises, Cruise Europe, Norweigian Cruise Lines, P&O Cruises, Oceania Cruises, Regent Seven Seas Cruises, Crystal Cruises, Disney Cruise Line, Ponant Cruises), MSC Russia.
1. Дизайн
Дизайн сервиса отражает его современность и легкость. Цвета подобраны таким образом, чтобы отличаться от общего фона круизных сервисов, а размеры элементов интерфейса сделаны слегка укрупненными, чтобы людям старшего возраста было легко читать текст.
2. Каталог
Раз в день для всех круизных компаний по Offline API подгружаются данные, нормализуются и сохраняются в собственную БД. Для быстрого поиска по фильтрам сделан отдельный слой кешированных данных, обновляющий также раз в день.
3. Карта
Одной из ключевых и отличительных возможностей веб-сервиса GoldenCruises является возможность подобрать маршрут следования на карте. Пользователь указывает несколько фильтров и визуально на карте видит маршрут следования круиза с отображением портов и городов. Если пользователь хочет посетить какие-либо города, он просто указывает порты, находящиеся в них и видит все круизы, которые отправляются или проходят через выбранный порт.
4. Объединение портов, городов и направлений
Каждая компания, с которой происходит интеграция, имеет собственный список портов, городов и направлений, со своими кодами и названиями, которые могут быть на разных языках, а иногда и вовсе отсутствовать. Чтобы пользователь мог искать по всем этим группам данных, необходимо найти между ними соответствие.
Поскольку портов много (около 22000), то находить соответствие вручную - затруднительно. Поэтому было принято находить соответствие между одинаковыми портами и одинаковыми городами через их координаты. Были написаны соответствующие команды, которые по названиям портов и городов через Google API находили вероятные координаты. Затем, с учетом определенного радиуса погрешности, схожие координаты объединялись в единую точку. Так появилась карта всех портов:
5. Бронирование
Внутренний биллинг веб-сервиса позволяет выставлять счета, привязывать их к созданным броням и оплачивать их одной из платежных систем. Первый подключаемый платежный шлюз – RedSys, позволяющий оплачивать банковской картой.
6. Наполнение контента
Чтобы пользователь мог выбрать круиз, необходимо рассказать о нем как можно больше. Текущие интеграции с компаниями не предоставляют информации о кораблях, портах и маршрутах, поэтому эта информация вносится вручную через специально созданную панель управления.
Созданный интерфейс позволяет видеть все получаемые от компаний данные (порты, регионы, корабли, маршруты, круизы, категории кают) и добавлять к ним описание на нескольких языках, фотографии и прочие данные.
Система позволяет вести наполнение сразу несколькими контент-менеджерами и ведет учет производительности за каждый день.
7. Направления, тематические круизы и акции
Чтобы увеличить вовлеченность пользователя на сайте и увеличить конверсию, созданы дополнительные разделы сайта, которые позволяют найти подходящий круиз через созданные контент-менеджерами подборками.
8. Мобильная Версия
Статистика говорит, что в современном мире больше половины просмотров сайтов делается с мобильных телефонов. Поэтому к адаптивной мобильной версии круизного агрегатора было уделено особое внимание, чтобы не потерять функциональность сервиса и сохранив его удобство.
Результат
Круизный агрегатор “GoldenCruises” представляет собой веб-сервис, который позволяет в удобной форме подобрать, забронировать и оплатить круиз. Помимо круизов сервис также предлагает купить авиабилеты и забронировать отели.