Где возникли сложности
Несмотря на удобную структуру данных, первые дни ушли на то, чтобы разобраться, какое поле Nemo соответствует какому полю интерфейса ZCTS. Как только формат стал понятен, скорость разработки выросла.
Отдельная история — тестовые данные. Nemo использует тестовые аккаунты конечных поставщиков. Часть рейсов приходила от несуществующих авиакомпаний, часть — не позволяла выполнить определенные операции. Приходилось искать подходящие рейсы для каждого тест-кейса вручную.
Процесс аннуляции потребовал нестандартного решения. При аннуляции билета прокси-поставщик переводит услугу в статус «Забронирован», после чего требуется отдельный запрос на отмену. В ZCTS пользователь ожидает, что кнопка «Аннулировать» завершает процесс сразу. Команда решила скрыть эту разницу от пользователя: при нажатии на кнопку система отправляет запрос на аннуляцию, затем фоновая задача периодически проверяет статус. Как только Nemo завершает аннуляцию, автоматически уходит запрос на отмену.
Нормализовали поведение поставщика под ожидаемую модель портала. Пользователь делает одно действие, а система сама проходит нужную последовательность шагов у вендора и возвращает финальный результат.