Общие сведения по использованию условий

Под условием нужно понимать совокупность трех величин:

Достаточно большое число свойств представляет собой коллекцию строк или элементов списка (например, классы обслуживания, ограничения на форму оплаты). В качестве Значения указывается строковое значение, либо несколько строковых значений, разделенных запятой, либо точкой с запятой. Если Свойство является элементом списка, то значение, либо набор значений предлагается выбрать из списка. С такими свойствами, как правило, используются следующие логическое условия:

Также встречаются логические условия на даты (вылета, прилета, выписки). С такими свойствами, как правило, используются следующие условия:

Если начальная или конечная дата интервала не указана, то по этой дате сравнение не производится. Начальная дата округляется до начала соответствующего дня, конечная - до конца дня.

Ниже представлен список свойств, которые можно использовать в правилах начисления комиссий/сборов на авиабилеты.

% комиссии от поставщика

В примере на снимке экрана приведено условие: если комиссия от поставщика меньше либо равна 1%, то надо установить простой сбор в 200 рублей.

MCO Категория

Это свойство типа «Элемент списка», которое считается равным значению поля «Категория MCO» из маски билета. К этому свойству применимы условия: равно и не равно.

Система бронирования

Может принимать значение «Равно» и «Не равно» для параметров «Sabre», «Mixvel» и т д.

One-Way flight

Это флаг, который принимает значение истина в случае, если билет выписан «в одну сторону». При этом билет считается выписанным «туда-обратно», если город вылета равен городу прилета. Аэропорты при этом могут различаться. К этому свойству применимы условия равно и не равно.

PCC

Может принимать значение «Равно» и «Не равно», в параметрах вводится PCC.

А/к на первом сегменте

Это свойство типа "Коллекция строк", которая заполняется кодами IATA и CRT, а также расчетным кодом авиакомпании на первом сегменте. Возможные условия: содержит и не содержит.

Валидатор

Может принимать значение «Равно» и «Не равно», в параметрах вводится номер валидатора.

Валидирующий перевозчик

Это свойство типа «Коллекция строк», которая заполняется кодами IATA и CRT, а также расчетным кодом валидирующего перевозчика. Возможные условия: «содержит» и «не содержит».

Владелец бланка

Это свойство типа "Коллекция строк", которая заполняется кодами IATA и CRT, а также расчетным кодом авиакомпании-владельца бланка. Возможные условия: «содержит» и «не содержит». Если условие не срабатывает, проверьте, указан ли в маске билета владелец бланка. Если да, то откройте профиль этого владельца бланков и убедитесь, что этот профиль с связан с авиакомпанией (вкладка «Параметры»). Если связан, то проверьте правильность указания расчетного, IATA и CRT кодов для этого перевозчика.

Время выписки билета

Это время выписки билета (с начала дня). К этому свойству применимы условия: «внутри интервала» и «вне интервала». При определении интервала можно не указывать одну из границ.

Групповой билет

Флаг, который принимает значение "Истина", если билет выписан по групповому тарифу. К этому свойству применимы условия: «равно» и «не равно».

Глубина продажи (дни)

Количество календарных дней между датой выписки билета и датой вылета включительно, например если дата выписки — 2 ноября 2022 г., а дата вылета — 4 ноября 2022 г., то глубина продажи составляет два дня. Если в билете не указана хотя бы одна граница — дата выписки или дата вылета, условие будет считаться невыполненным.

Дата вылета

Это свойство типа «Дата», вычисляемое как дата вылета на первом сегменте. С ним могут быть использованы следующие условия: «внутри интервала» и «вне интервала».

Дата выписки билета

Это свойство типа «Дата», вычисляемое как дата выписки билета. С ним могут быть использованы следующие условия: внутри интервала и вне интервала.

Дата прибытия

Это свойство типа «Дата», вычисляемое как дата прилета на последнем сегменте. С этим условием можно использовать следующие условия: «внутри интервала» и «вне интервала».

День выписки билета

Это свойство типа «Элемент списка», который является списком дней недели. К этому свойству применимы условия:

Интерлайн

Это свойство специального типа, с которым можно использовать следующие условия:

Класс обслуживания

Это свойство типа «Коллекция элементов списка», которая заполняется значениями из списка «Класс обслуживания» (Эконом, Бизнес, Премиум, Первый). К этому свойству применимы условия: «содержит», «не содержит», «содержит только» и «состоит из».

Определить ограничения на классы обслуживания более подробно можно при выборе параметра Ограничение на класс бронирования.

Код агентства (ТКП)

Может принимать значение «Равно» и «Не равно», в параметрах вводится номер аккредитованного агентства в ТКП.

Коды страны агентства

В этом условии задаются IATA-коды страны, в которой расположено агентство. Коды в поле надо разделять запятой без пробелов.

Коды стран ППР

Это свойство типа «Коллекция строк», что заполняется IATA и CRT кодами стран, в которой расположена точка продаж, где был выписан билет. К нему применимы условия: содержит, не содержит.

Если правило не сработало, проверьте, правильно ли выставилась точка продаж в соответствующем поле маски билета. Если правильно, проверьте профиль точки продаж на предмет корректного указания адреса на вкладке «Контакты» (город). Если правильно, то зайдите в справочник «Географические пункты» и посмотрите, правильно ли заданы IATA и CRT коды этого города.

Категория продукта

Это свойство типа «Элемент списка», которое считается равным значению поля «Продукт» маски билета. К этому свойству применимы условия: равно и не равно.

Коды такс

Возможные значения: «Не содержит» и «Содержит». В параметрах вводятся коды такс, присутствующих в билете.

Количество сегментов

Возможные значения: «Больше либо равно», «Больше чем», «Меньше либо равно», «Меньше чем», «Не равно», «Равно» для параметра числа, равного количеству сегментов в билете.

Количество собственных сегментов

Число сегментов в билете, в которых маркетинговый перевозчик совпадает с валидирующим. К этому свойству применимы условия: «равно», «не равно», «меньше чем», «меньше чем, либо равно», «больше чем», «больше чем, либо равно».

Маркетинговый перевозчик

Возможные значения: «Не содержит», «Содержит», «Содержит только», параметр может заполняться IATA и CRT кодами, а также расчетными кодами маркетинговых перевозчиков со всех сегментов авиабилета.

Маршрут (ТКП)

Это свойство специального типа, которое ограничивает данные по маршруту, либо по одному и сегментов. Набор таких ограничений используется ТКП при формировании уведомлений о комиссиях. Выполнение ограничения на маршрут подразумевает одновременное выполнение нескольких условий. Подробнее см. ниже в разделе Условие «Маршрут ТКП».

НДС

Это свойство, к которому применимы следующие условия:

Наличие трансферного тарифа

Имеет только значения «Равно» для параметров «Да» или «Нет». Это флаг, который принимает значение «Истина», если в билете есть тарификация сразу нескольких сегментов. На маске билета трансферный тариф показан с помощью флага «Связ.» таблице с информацией о сегментах. Для этого свойства условие равно является единственно возможным для проверки.

Номер бронирования

Это свойство типа «Строка», которому присваивается значение номера бронирования (RECLOC, PNR и т.п.). К нему применимы условия: равно, не равно, начинается и заканчивается.

Ограничение на класс бронирования

Возможные значения: «Содержит» и «Не содержит», в параметрах указываются буквенные классы бронирования (например «J,C,H»)

Ограничение на код тарифа

«равно», «не равно», «начинается», «заканчивается», «содержит», «содержит только» и «не содержит». В параметрах указывается код тарифа.

Номер бронирования

Это свойство типа «Строка», которой присваивается значение номера бронирования. Возможные условия: «равно», «не равно», «начинается» и «заканчивается».

Ограничение на сегмент

Это свойство специального типа, которое проверяет ограничение по одному из сегментов. Выполнение ограничения на сегмент подразумевает одновременное выполнение нескольких условий:

Условие содержит означает, такой сегмент должен присутствовать, в противном случае стоит использовать условие не содержит.

Ограничение на класс бронирования

Это свойство типа «Коллекция строк», которое заполняется значениями кодов класса обслуживания. Логика заполнения следующая: для каждого сегмента используется значение из столбца «Класс» таблицы сегментной информации маски билета. Если эта колонка пуста, то используется первая буква кода тарифа. К нему применимы условия: содержит, не содержит, содержит только и состоит из.

Ограничение на код тарифа

Это свойство типа «Строка», которой присваивается значение кода тарифа с последнего из сегментов. Возможные условия: «равно», «не равно», «начинается», «заканчивается», «содержит», «содержит только» и «не содержит».

Ограничение на маршрут

Это свойство специального типа, вычисляемое на основании маршрутной информации. С ним могут быть использованы следующие условия:

Некоторые дополнительные особенности работы этого условия: вся строка из поля значения разбивается на набор подстрок, разделенных запятой или точкой с запятой. Анализ для каждой такой подстроки производится независимо. Если хотя бы для одной из подстрок условие выполняется, то оно выполняется и для всей строки. Из каждой подстроки создается коллекция географических пунктов (деление производится с помощью дефиса). Эта коллекция («ожидаемая коллекция») сравнивается с пунктами маршрута в билете («реальная коллекция»). Коллекции равны, если каждый элемент «реальной коллекции» билета присутствует среди элементов «ожидаемой коллекции» и, наоборот, каждый элемент из «ожидаемой коллекции» присутствует в «реальной коллекции».

Несколько примеров:

  1. Перелет по Украине: состоит из «UA»
  2. Перелет из России в Америку(как one-way, так и roundtrip): состоит из «RU-US»

Ограничения на рейс

Это условие позволяет выполнять отбор по наличию тех или иных номеров рейсов в сегментах заказа. Поддерживаются следующие условия: содержит, не содержит и содержит только.

В текстовом поле этого условия можно задавать номера рейсов, разделенные запятой, а также диапазоны номеров рейсов, обозначаемые дефисом. Пример заполнения условия: 12548,19254,32100-32199,94800

Ограничения на форму оплаты

Это свойство типа коллекция элементов списка, которая заполняется типами ФОП «Поставщику». Если же ФОП «Поставщику» не указан, то используются типы ФОП «Клиента». Доступны следующие условия: содержит и не содержит.

Оперирующий перевозчик

Свойство заполняется IATA и CRT кодами, а также расчетными кодами оперирующих перевозчиков со всех сегментов авиабилета. Если на сегменте не указан оперирующий перевозчик, то используется маркетинговый перевозчик. Возможные условия: «содержит», «не содержит». Используйте условие на оперирующего перевозчика только при задании условий на code-share.

Перевозка code-share

Принимает значение "истина", когда хотя бы у одного из сегментов есть признак "code-share". К этому свойству применимы условия: «равно» и «не равно».

Пакет услуг в заказе

Это условие позволяет отбирать заказы в зависимости от присутствующих в нем продуктов, например можно потребовать, чтобы в заказе был авиабилет и ж/д билет.

Подразделение

Свойство специального типа, в качестве значения которого можно выбрать профиль подразделения, щелкнув кнопку «Редактировать». На маске билета подразделение указано в окне «Дополнительно» рядом с блоком свойств об агенте, субагенте и т.п. К этому свойству применимы условия: равно и не равно.

Разрыв маршрута

Свойство специального типа, вычисляемое на основании разрыва маршрута. С ним могут использоваться следующие условия:

Расчетный код

Может принимать значения «Равно», «Не равно», «Начинается» и «Заканчивается», в параметрах указывается значение расчетного кода валидирующего перевозчика.

Сегменты маршрута

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

Название столбцаОписание
Кол-во сегментовВозможные значения:
  • пусто
  • число (1)
  • два числа, разделенные дефисом (0-2)

Если значение отсутствует, то строка может описывать любое число сегментов, включая 0. Если указано число, то в маршруте должно присутствовать указанное число сегментов с ограничениями, указанными в других колонках таблицы. Два числа, разделенных запятой, означает диапазон чисел сегментов. В частности, запись 0-2 означает, что сегмента может и не быть вовсе, но может быть 1 или даже 2 таких сегмента.

МаршрутВозможные значения:
  • пусто
  • Пары пунктов, разделенные запятой. Каждая пара состоит из кодов пунктов, разделенных "-". Каждый код пункта, в свою очередь, может состоять из нескольких кодов, разделенных знаками "&" либо "|". Наконец, каждый такой код является кодом аэропорта/города/страны/региона и опционально может содержать префикс "!". Например, MOW-RU|UA означают перелеты из Москвы в другой город России, или на Украину.

Если значение отсутствует, то ограничений на маршрут не накладывается. Знаки "|" и "&" между кодами пунктов означают, соответственно, логическое "ИЛИ" и "И". Коды в составном коде пункта могут разделяться только одним знаком, либо "|", либо "&"; например код RU|UA&GE не допустим. Знак "!" перед кодом пункта означает "НЕ"; например, !UA означает любой город, не находящийся на территории Украины.

Маркет. пер-кВозможные значения:
  • пусто
  • Коды маркетинговых перевозчиков, разделенных запятой.

Если значение отсутствует, то ограничений на маркетингового перевозчика не накладывается. Можно вводить IATA, ЦРТ, либо расчетные коды перевозчиков; регистр при этом не важен.

Опер. пер-кВозможные значения:
  • пусто
  • Коды оперирующих перевозчиков, разделенных запятой.

Если значение отсутствует, то ограничений на оперирующего перевозчика не накладывается. Можно вводить IATA, ЦРТ, либо расчетные коды перевозчиков; регистр при этом не важен.

№ рейсовВозможные значения:
  • пусто
  • Диапазоны номеров рейсов, разделенные запятой; при этом каждый диапазон может состоять либо из одного числа, либо из двух чисел, разделенных "-"; например 101, 105-111.

Если значение отсутствует, то ограничений на номера рейсов не накладывается.

Статус пассажира

Это свойство специального типа. Значение выбирается из списка типов пассажиров. К нему применимы условия: равно и не равно. Это условие, как правило, используется при начислении комиссий от ТКП.

Стоимость (тариф + таксы)

Применимые условия: «Равно», «Не равно», «Меньше чем», «Меньше либо равно», «Больше чем», «Больше либо равно». Параметр принимает значение полной стоимости билета: тариф + таксы.

Стоимость проданного билета

Число, которое принимает значение стоимости исходного проданного билета. Свойство имеет смысл для билетов со статусом Возврат и Обмен. Для билетов со статусом Продажа значение поля равно нулю. К этому свойству применимы следующие условия: «равно», «не равно», «меньше чем», «меньше чем, либо равно», «больше чем», «больше чем, либо равно».

Страна валидирующего перевозчика

Может принимать значение «содержит» и «не содержит», параметр заполняется IATA и CRT кодами страны, «домашней» для валидирующего перевозчика.

Тип кредитной карты

Может принимать значение «равно» и «не равно», параметры выбираются из выпадающего списка типов кредитных карт (например, Visa, MasterCard, Amex и т. п.)

Тип пассажира

Может принимать значения «равно» и «не равно», параметры выбираются из выпадающего списка типов (например, Взрослый, Младенец без места, Сопровождаемый ребенок и т. п.)

Тип бронирования

Это свойство типа «Элемент списка», которое считается равным значению поля «Тип» из вкладки «Бронирования» заказа. К этому свойству применимы условия: равно и не равно.

Тип возврата/обмена

Свойство специального типа, с которым можно использовать следующие условия:

Тип перевозки

ВНИМАНИЕ! В значении можно использовать только одну строку; набор строк через запятую не поддерживается.

Тип тарифа

Это свойство специального типа, с которым можно использовать следующие условия:

Точка продаж

Это свойство типа Строка, которое заполняется идентификатором точки продаж, что берется из поля «Точка продаж» на маске билета. К нему применимы условия: равно и не равно. Значение идентификатора выбирается с помощью специального редактора (управление редактора простое и не требует объяснений).

Туркод

Это свойство типа «Строка», которой присваивается значение кода тура для авиабилета. Возможные условия: «равно»,«не равно», «начинается», «заканчивается», «содержит» и «не содержит».

Экв. Тариф

Возможные значения: «равно», «не равно», «меньше чем», «меньше либо равно», «больше чем», «больше либо равно». Параметр содержит число, которое принимает значение эквивалентного тарифа билета.

Электронный билет

Это флаг, который выставляется на основании типа бланка, что был использован для выписки билета. Если в справочнике «Типы бланков» для данного бланка выставлена категория «Электронный», то свойство принимает значение «Истина». К этому свойству применимы условия: равно и не равно.

Свойство «Маршрут (ТКП)»

Ниже представлена таблица описания возможных свойств условия «Маршрут (ТКП)».

Название свойстваУсловияЗначения
Интерлайн
  • Все — ограничение не накладывается.
  • Включая — интерлайн есть, и в него входит по крайней мере одна из перечисленные А/К.
  • Исключая интерлайн с — интерлайн есть, и в него не входит ни одна из перечисленные А/К.
  • Ничего — интерлайн отсутствует.
  • Только с — интерлайн есть, и все перечисленные А/К участвуют в перелете.
  • Интерлайн (с участием АК) с — интерлайн есть, при этом на одном из сегментов перевозку осуществляет валидирующий перевозчик, а на других все перечисленные А/К.
  • Интерлайн (без участия АК) с — интерлайн есть, при этом ни на одном из сегментов перевозку не осуществляет валидирующий перевозчик, а на других осуществляют все перечисленные А/К.
Список IATA (или CRT) кодов авиакомпаний через запятую или точку с запятой.
Маршрут
  • Все — ограничение не накладывается.
  • Кроме — маршрут не описывается строками в поле значения.
  • Только — маршрут описывается одной из строк в поле значения.
  • Начать с — город вылета на первом сегменте перечислен в списке в поле значения.
Строки, разделенные точкой с запятой. Каждая строка представляет собой IATA (или CRT) коды городов, разделенные символами «-», «/», либо «,». Символы «/» и «,» эквивалентны: они разделяют разные сегменты. Символ «-» разделяет города на сегменте. Эти подстроки надо рассматривать как точное описание маршрута.
Номера рейсов
  • Все — ограничение не накладывается
  • Кроме — ни один из рейсов (или комбинаций рейсов) не перечислен в поле значения.
  • Только — хотя бы один из рейсов(или комбинаций рейсов) встречается в списке в поле значения.
Строки, разделенные точкой с запятой. Каждая строка представляет собой либо номер рейса, либо номера рейсов, разделенные символом «/» (либо «,»). Символ «/» означает, что в маршруте должны быть оба рейса, разделенных «/». Если все разделительные символы раны «/», или «,», то они заменяются на «;». Если одновременно указаны ограничения и на маршрут и на номера рейсов, то ограничения должны выполняться согласованно, т.е. маршруту, указанному в позиции n в ограничении на маршрут, должны соответствовать номера рейсов, указанные в позиции n, где под позицией понимается номер строки (не забывайте, что строки разделены символом «;»).
Дата отъезда
  • Все — ограничение не накладывается.
  • Кроме — дата вылета на первом сегменте вне указанного интервала.
  • Только — дата вылета на первом сегменте внутри указанного интервала.
Нужно указать одну или две даты — границы интервала.
Дни рейса
  • Все — ограничение не накладывается.
  • Кроме — ни один из дней вылета на первом сегменте не перечислен в поле значения.
  • Только — один из дней вылета на первом сегменте перечислен в поле значения.
Число от 1 до 7; понедельник соответствует единице.
Класс бронирования
  • Все — ограничение не накладывается
  • Except Subclasses — ни один из кодов класса бронирования не перечислен в поле значения.
  • Subclasses — один из кодов класса бронирования перечислен в поле значения.
Строки, разделенные запятой, либо точкой с запятой.
Коды тарифов
  • Все — ограничение не накладывается.
  • Кроме кодов — ни один из кодов тарифа не перечислен в поле значения.
  • Включая коды — фрагмент одного из кодов тарифа перечислен в поле значения.
  • Не включая коды — ни один фрагмент ни одного из кодов тарифа не перечислен в поле значения.
  • Не начинать с кодов — ни один из кодов тарифов не начинается со строк, описанных в поле значения.
  • Только коды — все коды тарифов перечислены в поле значения.
  • Начинать с кодов — начало одного из кодов тарифов перечислено в поле значения.
Строки, разделенные запятой, либо точкой с запятой.

В сочатении с условиями «Включая коды» и «Не включая коды» в значениях можно использовать символ «%», что означает любое количество любых символов.

Само условие на маршрут может быть применимо либо ко всей перевозке, либо к одному из сегментов.

Дополнительные примеры

Правила комиссий могут совмещаться. На снимке экрана показано правило с формулировкой: «ЕСЛИ валидирующий перевозчик содержит авиакомпанию CA или TK, (И) при наличии интерлайна (И) если класс бронировании не содержит классов «J,C,D», то к билету применится комиссия в 7%.»

В приведенном ниже правиле формулировка такая: «ЕСЛИ валидирующий перевозчик содержит а/к CA или TK, (И) при наличии интерлайна, то к билету применится комиссия в 10%

На основании двух вышеперечисленных примеров необходимо обратить внимание на порядок расположения правил друг относительно друга и порядок их применения в соответствии с расположением. Более ограниченное правило должно находиться выше, общее - ниже (применение правил идет сверху вниз).