Авиа. Mixvel. Не удается создать бронирование на один из одинаковых заказов.

Иногда при работе на платформе может возникнуть ситуация, когда мы делаем поиск на несколько человек, получаем тарифы, добавляем пассажиров и создаем заказы. По умолчанию, если не активирован мод “Объединение авиа заказов”, то будет создано количество заказов равное количеству пассажиров (если только не были выбраны дети или младенцы).

Как это может быть связано с тем, что заказы на одного или нескольких пассажиров создадутся без брони?

В Mixvel существует строгое правило, что для создания успешного бронирования количество пассажиров на поиске должно строго совпадать с их количеством при бронировании

Влияние этой особенности на процесс бронирования в системе выглядит так

На платформе осуществляется поиск на N количество пассажиров.

На выбранном рейсе есть M мест по самому дешевому тарифу и X мест по тарифу подороже.

При этом актуален момент, что

M<N<=X

Поскольку ГДС не может отдать тариф, по которому мест в продаже меньше количества пассажиров, то будет предложен тариф подороже, где мест больше или равно количеству пассажиров в запросе.

Далее будет оценена стоимость перелета и все будет гладко, до момента создания набора заказов.

Помня о том, что бронирование успешно создастся только для совпадающего количества пассажиров из запроса поиска и добавляемых в заказ пассажиров система делает параллельные поиски на 1 пассажира и получает в ответе класс c количеством мест M, где 1<=M.

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

В тот момент, как количество заказов станет M+1, бронирования больше создаваться не смогут, т.к. количество мест в этом классе закончилось.

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