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

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


Управление агентской сетью
  • Управление структурой агентов и их субагентов (название, реквизиты, контакты, комиссия C\Y, доступ к системам бронирования «GDS» и «Квоты»).
  • Ведение справочника сотрудников субагента (ABJ, электронная почта, логин/пароль для бронирования, логин/пароль для выписки, доступы).
  • Ведение справочника сборов (доход Агента). Ведутся данные по каждому направлению, доступному в системе бронирования: период действия сбора, период рейсов, класс, вид тарифа, страна и город отправления/прибытия, фиксированное и процентное значение, тип и величина отклонения).
  • Управление финансами. Различного рода лимиты продаж — финансовые и по услугам. Администрирование взаиморасчетов.
  • Управление шаблонов маршрут-квитанции.
  • Отчетность.



Система бронирование квотируемых билетов
  • Продажа ограниченного объёма билетов, по специальным ценам.
  • Ведение авиационного расписания.
  • Управление блоками мест, для квотируемых продаж.
  • Управление тарифами на продажу квотируемых билетов.
  • Управление агентскими сборами.



Управление продажами
  • Бронирование из различных систем бронирования
  • Рабочий стол (Доходы за период, Истекающие заказы по тайм-лимиту, Улетающие пассажиры, Переписка, Текущий остаток предоплаты).
  • Просмотр своих заказов.
  • Выписка билетов и формирование маршрут-квитанций.
  • Обмен и Возврат билетов.

Внешнее API, для подключения онлайн-агенства (Суперкасса, Билетикс и т.п.).

Общая архитектура


Состав:
Web сервер, и он же балансировщик. Классический – Nginх, Vue.JS, PHP.

Сервер интеграции. Сервер приложений. Тут же расположен шлюз, предоставляющий сторонним front системам API.JSON, архитектурный стиль REST. И тут же живут модули – Бронирование, Блоки, управление заказами.
Технологии:
• Vue.JS;
• PHP (Laravel), backend реализующий основную бизнес логику;
• Менеджер процессов FastCGI + Supervisor.

Сервер административных АРМов
Технологии:
• PHP (Laravel), управление агентскими сетями, поставщиками и работой с заказами. Как и выше, все процессы захардкорены, BPMS не использовали;
• Менеджер процессов FastCGI + Supervisor.

Сервер СУБД.
Технологии:
• PostgreSQL, БД административная. Для административных АРМов (валюты, с курсами IATA; настройки партнеров; пользователи; возвраты / обмены and etc);
• PostgreSQL, БД системы бронирования Квоты (расписание; блоки; рейсы; загрузка мест; тарифы; тарифные группы и классы обслуживания), из GDS и управления заказами;
• Gearman — сервер очередей;
• REDIS — сервис кэширования данных, в первую очередь кэширование предложений, подгруженных из партнёрских систем. Например, при входе в корзину, мы формируем пул предложений от партнеров, и переходя в новые разделы корзины, подгружаем предложения из Redis, а не запрашиваем предложения от тематических партнеров. Цель — увеличение скорости работы корзины;
• PHP (Laravel). Как обычно — backend бизнес-процессов и как обычно, пока все процессы захардкорены.