69
правок
Изменения
→Поиск
* Поиск подходящих рейсов для построенных маршрутов с учётом их расписания, времени стыковок, фильтров по а/к и наличия мест на нужных классах и построение из них полных перелётов.
Если для одного из запрошенных сегментов не удалось найти подходящих рейсов, то поиск прерывается и Инвентори возвращает ошибку "Не удалось найти расписание, удовлетворяющее заданным критериям, для сегмента" с указанием соответствующего сегмента.
Если не удалось построить ни одного полного перелёта из найденных рейсов, то поиск прерывается и Инвентори возвращает ошибку "Невозможно построить полный перелёт, удовлетворяющий заданным критериям".
Если ни для одного из построенных перелётов нет необходимого количества мест, то поиск прерывается и Инвентори возвращает ошибку "Нет необходимого количества свободных мест на перелётах, удовлетворяющих заданным критериям".
* Применение комбинаций рейсов к построенным перелётам. На данный момент перелёты из более чем 4-х сегментов отбрасываются при данной процедуре. Для каждого из построенных перелётов ищется подходящая комбинация рейсов.
Если для перелёта не удалось найти комбинации рейсов, полностью ему соответствующей, то для каждого сегмента в перелёте ищется отдельная соответствующая ему комбинация.
Для каждого тарифа выполняется следующий набор проверок:
- текущая дата входит в один из сезонов продажи тарифа (SalesDates) и этот сезон не заканчивается через час
- дата вылета первого рейса в комбинации входит в один из сезонов обслуживания тарифа (ServiceDates)
- проверяются ограничения на минимальное время до вылета и максимальное количество дней до вылета
Если тариф прошёл все проверки, то он считается применимым к данной комбинации рейсов. Если подходящих тарифов не нашлось, то оценка данного перелёта прекращается и он в поисковую выдачу не попадает.
* из всех подходящих тарифов выбирается тот, у которого итоговая эффективная цена наименьшая (с учётом цены комбинации и запрошенных типов пассажиров)