## Общие сведения об условиях

В общем случае условие состоит из трех элементов:

- Свойство — содержимое поля на маске билета или значение, вычисляемое на основе других значений. Это может быть строка, число, набор строк и т. п.
- Условие — логическое условие, которому должно соответствовать свойство, например равно, не равно, содержит и т. п. Состав логических условий различен для разных свойств.
- Значение — число (строка и т. п.), на соответствие которому проверяется свойство.

Пример условия:

Свойство | Условие | Значение
--- | --- | ---
Валидирующий перевозчик | содержит | SU

Это условие выполняется, если валидирующим перевозчиком в авиабилете является «Аэрофлот».

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

- Содержит — условие выполняется, если набор строк или элементов списка содержит хотя бы один из элементов, указанных в текстовом поле условия.
- Не содержит — условие выполняется, если набор строк или элементов списка не содержит ни один из элементов, указанных в текстовом поле условия.
- Содержит только — условие выполняется, если набор строк или элементов списка в точности совпадает со списком элементов, указанных в текстовом поле условия.
- Состоит из — условие выполняется, если набор строк или элементов списка содержит ровно те элементы, что указаны в текстовом поле условия.
- Равно — условие выполняется, если значение в текстовом поле условия есть в наборе строк или элементов списка. Если же задан список значений, то хотя бы один элемент из этого списка должен совпадать с одним элементом из набора.
- Не равно — условие выполняется, если значение в текстовом поле не равно ни одному элементу из набора. Если же задан список значений, то ни один элемент из этого списка не должен совпадать ни с одним элементом из набора.

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

- Внутри интервала — дата задана и находится внутри указанного интервала дат.
- Вне интервала — дата задана и находится вне указанного интервала дат.

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

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