Авиа. Логика применения фильтра "Багаж" на поиске.
В процессе поиска подходящего варианта перелета может возникнуть потребность отфильтровать только варианты тарифов с багажом. В этом случае для подключения доступен клиентский мод “Фильтрация вариантов авиа по багажу”. С его активацией на шаге 2 “Варианты” появляется фильтр "Багаж", при включении которого будут отображены только варианты из семейства с багажом.
Почему же тогда из выдачи могут пропасть некоторые тарифы, хотя они предлагают возможность провоза багажа?
В рамках стандартной логики системы на шаге 2 “Варианты” мы получаем только самое дешевое семейство, которое передает в ответ на запрос та или иная GDS. В этом варианте может отсутствовать включенный багаж. Далее, на шаге 3 “Тарифы” мы получаем более расширенное предложение, тут уже поставщик может передать и тарифы с багажом.
Таким образом на шаге 2 семейство без багажа будет отсеяно фильтром “Багаж” несмотря на то, что на шаге 3 могут вернуться другие семейства, в том числе и с возможностью провоза багажа.
Рассмотрим на примере разных поставщиков:
с выключенным фильтром “Багаж”
с включенным фильтром “Багаж”. Из выдачи на шаге 2 скрыт вариант SU_NDC.
При этом на шаге 3 мы видим, что поставщик предлагает варианты с включенным багажом.
Если мы обратимся к логам, то увидим, что на шаге 2 SU_NDC возвращает только семейство с минимальной стоимостью:
<ItineraryUpsell FamilyName="NB" Airline="SU" FamilyCode="NB" EquivTotal="20977" EquivTotalDifference="0" HasFreeBaggage="false" BaggageCodes="0PC" />
В то же время другие поставщики передают более одного тарифа, поэтому а\к остается в выдаче:
Mixvel
<ItineraryUpsell FamilyName="PR" Airline="U6" FamilyCode="PR" EquivTotal="16575" EquivTotalDifference="0" HasFreeBaggage="false" BaggageCodes="0PC" />
<ItineraryUpsell FamilyName="EC" Airline="U6" FamilyCode="EC" EquivTotal="19575" EquivTotalDifference="3000" HasFreeBaggage="true" BaggageCodes="1PC" />
S7
<ItineraryUpsell FamilyName="BASIC ECONOMY" Airline="S7" FamilyCode="BASIC ECONOMY" EquivTotal="21315" EquivTotalDifference="0" HasFreeBaggage="false" BaggageCodes="NO" />
<ItineraryUpsell FamilyName="STANDARD ECONOMY" Airline="S7" FamilyCode="STANDARD ECONOMY" EquivTotal="26895" EquivTotalDifference="5580" HasFreeBaggage="true" BaggageCodes="1PC" />