Открыть главное меню

Изменения

Ценообразование (Авиабилеты)

15 408 байт добавлено, 1 март
Параметры правил ценообразования
[[Категория:Модули (Авиабилеты)]] [[Категория:Встроенные модули]]
<!-- -->
==Назначение==
Модуль '''Ценообразование''' автоматизирует процесс расчета [[Комиссия (термин)|комиссий]] и [[Комиссия (термин)|сборов]] для [[АвиабилетБилет#Авиабилеты|авиабилетов]], управления комиссионными правилами [[Перевозчик|перевозчиков]], сборами [[Агентство|агентства]] и комиссионными вознаграждениями субагентов.
* позволяет быстро настроить даже сложные комиссионные правила,
Работа модуля основана на правилах ценообразования, которые заводит агентство.
'''Правило''' - набор условий ''значений комиссий и сборов'' и ''условия их применения''. <br />'''Значения комиссий и сборов''' — это:<br /> *комиссия от авиакомпании, <br />*бонус авиакомпании, <br />*сбор агентства, <br />*комиссия субагентам. <br />'''Условие применения правила комиссий и сборов''' — набор параметров перелетов, к которым будут применяться комиссии и сборы правила(''валидирующий перевозчик'', ''ГРС'', ''тип рейса'', ''типы пассажиров'' и пр. )
Правила ценообразования задаются в таблице в файле формата XLS или XLSX, где:
*''Строка таблицы'' - правило. <br />*''Ячейка строки'' - значение параметра. <br />*''Заголовок столбца'' - название параметра. <br />Каждая строка является отдельным правилом. <br />'''К одному перелету выбирается по критериям и применяется только одно правило'''
Прежде чем рассчитать комиссии, модуль ценообразования определяет доступность перелета к выписке и правило, по которому рассчитываются комиссии и сборы, по алгоритму:
# Находит в файле ценообразования все правила для данной [[Авиакомпания|авиакомпании]];
# Подбирает правила, которые соответствуют перелету по всем параметрам;
# Выбирает по критериям приоритета '''одно ''' из подходящих правил;
#* Если сработавшее правило не содержит переопределения валидирующего перевозчика, устанавливается валидирующий перевозчик, полученный от ГРС.
#* Если сработавшее правило содержит переопределение валидирующего перевозчика, устанавливается переопределенный валидирующий перевозчик.
# Правило применяется.
Агентство может [[Выписка (Авиабилеты)|выписывать]] онлайн перелеты только '''контрактных авиакомпаний'''. Авиакомпания считается контрактной, если для нее заведено хотя бы 1 правило в загруженном файле ценообразования.
{{Attention|Перелет '''не может быть выписан''', если:}}* правила для авиакомпании не заведены. Такие перелеты рекомендуется удалять из выдачи [[Фильтр Фильтры результатов поиска (Авиабилеты)|фильтром результатов поиска]] «А/к не является контрактной».
* правила для авиакомпании заведены, но параметры перелета не соответствуют параметрам правила.
Порядок работы модуля приведен в схеме:
*при обновлении страницы заказа.
Если в промежуток между бронированием и выпиской '''''правила изменили''''', после бронирования заказа комиссии будут рассчитываться по новым правилам, таким образом цена при бронировании и цена при выписке может отличаться. Поведение системы при возникновении такой ситуации задается параметром '''''Пересчитать сервисный сбор''''' в разделе Настройки системы → Фоновые процессы → События синхронизации<!--{{Menu|Настройки системы|Фоновые процессы|События синхронизации}}-->. Расчет комиссий, действующих на момент бронирования, можно отследить в логах по заказу. В детализации стоимости (на странице заказа) и в маршрут-квитанции информация по сборам представлена в соответствии с одним из '''режимов разделения сбора на пассажиров''':* Поровну между ненулевыми стоимостями билетов - сбор агентства, субагентства разделяется поровну между всеми пассажирами, у которых сумма тарифа и такс больше 0. Этот режим выбран по умолчанию.* Поровну между всеми тарифами - сбор агентства, субагентства разделяется поровну между всеми пассажирами.* Пропорционально тарифам - сбора агентства, субагентства разделяется пропорционально стоимости тарифа для конкретного пассажира в общей сумме заказа, т.е. чем больше стоимость тарифа, тем большая часть сбора на него отводится.* Только первому типу пассажира - сбор агентства, субагентства определяется первому типу пассажира.* Пропорционально тарифам, за исключением младенцев - сбора агентства, субагентства разделяется пропорционально стоимости тарифа для конкретного пассажира в общей сумме заказа, за исключением младенца.''Сборы в детализации стоимости представлены с учетом разбиения только если скрыты в таксы XP/XX, а иначе отображаются отдельной строкой без разделения.'' <br>Настройка находится в разделе '''«Управление продажами - Авиабилеты - Ценообразование - Настройки - Режим разделения сбора на пассажиров».'''
=== Расчет комиссий для неконтрактных авиакомпаний ===
#'''По наличию переопределенного перевозчика''' - если срабатывает несколько правил с одинаковым приоритетом (или приоритет не указан), выбирается правило с переопределенным ВП.
#'''По непустой ячейке ''Комиссия''''' - приоритет правил с установленной комиссией (даже в 0%) выше, чем у правил с пустой ячейкой комиссии.
#''' Дополнительный приоритет''' - ''устанавливается вручную'' в разделе Настройки системы '''Управление продажами → Авиабилеты Фоновые процессы Ценообразование События синхронизации Настройки''' <!--{{Menu|Управление продажами|Авиабилеты|Ценообразование|Настройки}}--> параметром '''''Дополнительный приоритет''''':
#*'''''Нет''''' - не установлен дополнительный приоритет.
#*'''''Максимальная комиссия авиакомпании''''' - выбирается правило с максимальной комиссией от авиакомпании.
== Тестирование и отладка срабатывания правил ==
Все расчеты на каждом этапе их применения [[Логи системы|логируются]] и отображаются в таблице отладки. Таблица отладки используется для контроля срабатывания правил. Она содержит , предоставляя информацию о применении правил к выбранному перелету.
Ссылка на таблицу отладки доступна менеджеру и экспертам корневого агентства:
* на выдаче результатов поиска для каждого перелета по ссылке '''''Комиссия''''', <!--* на странице подтверждения бронирования и информации о заказе по добавлению гет-параметра '''?(&)test''' в адресную строку (например, http://host/XXXXXX?test).-->
* на странице заказа в детализации стоимости перелета по щелчку на сумму комиссии или сбора.
{| class="wikitable"
|}
В таблице отладки отображаются все '''Столбцы таблицы''' — параметры ценообразования. <br />'''Заголовок столбца''' — значения параметров ценообразования для проверяемого перелета. <br />'''Строки таблицы''' — правила ценообразования ''для валидирующего перевозчика данного '' перелета. <!--* проверяемые перевозчики, установленный валидирующий перевозчик;* все параметры выбранного перелета, которые определены системой;* размер рассчитанных комиссий и сборов, примененное для расчета правило.--> В ней таблице отражается порядок проверки параметров: .параметры Параметры каждого правила сравниваются в параметрами перелета:
# если они совпадают:
#* # ячейка подсвечивается зеленым,#* # проверяется следующей параметр;
# если значение параметра перелета не совпадает со значением параметра правила:
#* # ячейка подсвечивается красным цветом, #* # проверка правила прекращается.
'''Если правило подошло по всем параметрам, то правило применяется, комиссии и сборы подсвечиваются зеленым светом, рядом отображаются их вычисленные значения.'''
|Таблица отладки
|}
 
Параметры (столбцы) таблицы отладки:
* проверяемые перевозчики, установленный валидирующий перевозчик;
* данные о группе и пользователе, к которым привязан заказ;
* все параметры выбранного перелета, которые определены системой;
* проверка совпадения с параметрами в правилах для проверяемого перевозчика;
* выделение параметров, по которым есть несовпадение;
* размер рассчитанных комиссий и сборов, примененное для расчета правило.
== Включение модуля. Импорт и экспорт правил ==
Чтобы задать правило ценообразования:
# Зайдите в раздел Управление продажами → Авиабилеты → Ценообразование → Импорт/экспорт Excel<!--{{Menu|Управление продажами|Авиабилеты|Ценообразование|Импорт/экспорт Excel}}-->.
# Нажмите '''Выгрузка в формате "xls"''' или '''Выгрузка в формате "xlsx"'''. Откройте файл для редактирования.
# Установите правило: '''заполните параметры строки'''. Формат внесения данных в каждый столбец должен соответствовать строго определенному формату (см. [[Ценообразование (Авиабилеты)#Импорт правил|Импорт правил]]). <br /> Обязательные параметры для заполнения:
#* '''''валидирующий перевозчик'''''
|Правила ценообразования
|}
 
В таблице предусмотрено цветовое выделение правил, которые на данный момент недействительны:
* правила, срок действия которых ещё не наступил (дата начала продажи больше текущей даты, см. раздел [[Ценообразование (Авиабилеты)#Параметры правил ценообразования|Параметры правил ценообразования]]), выделяются оранжевым цветом,
* правила, срок действия которых истёк (дата окончания продажи больше текущей даты), выделяются фиолетовым цветом.
== Параметры правил ценообразования==
'''Шаблон файла для внесения правил ценообразования:'''<br/>[[File:CommImportExampleV1.0.5.xlsx]]
{{Attention|Запрещено переименовывать столбцы!}}<br/> При этом допускается удаление ненужных столбцовменять столбцы местами и удалять ненужные столбцыДля просмотра описания параметров <span style="background-color:gold">разверните таблицу</span>:
{| class="wikitable mw-collapsible mw-collapsed"
|colspan="5"| '''Параметры правил ценообразования'''
|-
! scope="col" | Заголовок
| валидирующий перевозчик GDS
| <span id="valCompanyId">valCompanyId</span>
| Авиакомпания, для которой задается правило. Должна являться контрактной авиакомпанией агента. Если необходимо проводить выписку на стоке другой авиакомпании (по интерлайну), валидирующий перевозчик переопределяется (см. [[Ценообразование (Авиабилеты)#Переопределенный валидирующий перевозчик|Переопределенный валидирующий перевозчик]]). Если валидирующий перевозчик от ГРС недопустим указанными правилами ценообразования и не переопределен - перелет считается недопустимым к выписке и удаляется из результатов поиска при соответствующих настройках фильтрации результатов.| width="20%"| пустое игнорируется
2-значный IATA-код авиакомпании
| переопределенный вп
| <span id="manualVV">manualVV</span>
| Если валидирующий перевозчик, предложенный ГРС не является контрактным или не устраивает агента по комиссии, его можно переопределить принудительно через это поле. В поле ВП указывается ВП от ГРС (или оно оставляется пустым), а в этом поле указывается переопределенный агентством перевозчик. Можно указать только одного перевозчика. Если есть два и более, указываем разными строками.
Ответственность за допустимость замены и за адекватность цены перелета (которая была рассчитана GDS по предложенному ей перевозчику) берет на себя агент. Приоритет у правил с переопределением выше, чем у правил без него.
Допустимые варианты ввода:
* КОД,КОД,КОД&nbsp;: правило применится, если хотя бы один маркетинговый перевозчик из перелета должен быть есть в списке.* КОД,КОД,КОД!&nbsp;: правило применится, если каждый маркетинговый перевозчик из перелета должен встречаться встречается в этом списке* <>КОД,КОД,КОД&nbsp;: правило не применится, если хотя бы один маркетинговый перевозчик из перелета не встречается в этом списке* <>КОД,КОД,КОД!&nbsp;: правило не применится, если все маркетинговые перевозчики из перелета не должны встречаться встретятся в этом списке
| пустое = любые<br/>- одно или несколько значений (см. описание)
| SU,LH,BA<br/>SU,LH!<br/><>S7,SU<br/><>S7,BA!
| <span id="codeSharing">codeSharing</span>
| Допустимость выполнения рейса другой (оперирующей) авиакомпанией
| пустое - все перелеты<br/>1 - код-шеринг обязателен <br/>0 - код шеринг запрещён
| 0
Варианты ввода:
* КОД,КОД,КОД&nbsp;: должен совпасть правило применится, если хотя бы один оперирующий перевозчик из перелета с одним из заданного спискавстречается в списке.* КОД,КОД,КОД!&nbsp;: правило применится, если каждый оперирующий перевозчик из перелета должен встречаться есть в этом списке.* <>КОД,КОД,КОД&nbsp;: правило не применится, если хотя бы один оперирующий перевозчик из перелета не должен быть встречается в этом списке.* <>КОД,КОД,КОД!&nbsp;: правило не применится, если все оперирующие перевозчики из перелета не должны встречаться есть в этом списке.
| пустое = любые<br/>- одно или несколько значений (см. описание)
| SU,LH,BA<br/>SU,LH!<br/><>S7,SU<br/><>S7,BA!
| <span id="ownPart">ownPart</span>
| Минимально допустимая доля собственных сегментов (сегментов, где валидирующий перевозчик равен маркетинговому) должна быть больше или равна заданному значению (любое число от 0 до 1):
* 1 - все сегменты собственные* 0.5 - половина или больше собственных сегментов* 0.25 - четверть или больше собственных сегментов* 0.01 - присутствует минимум один собственный сегмент* 0 - все сегменты интерлайны
| пустое = любое количество<br/>
любое число от 0 до 1
| <span id="interlinePart">interlinePart</span>
| Минимально допустимая доля несобственных сегментов (сегментов, где валидирующий перевозчик не равен маркетинговому) должна быть больше или равна указанному значению(любое число от 0 до 1).
* 1 - все сегменты интерлайны* 0.5 - половина или больше сегментов интерлайнов* 0.25 - четверть или больше сегментов интерлайнов* 0.01 - присутствует минимум один сегмент интерлайна* 0 - все сегменты собственные
| пустое = любое количество<br/>
любое число от 0 до 1
| системы бронирования
| <span id="gds">gds</span>
| Глобальная распределительная система , в которой найден перелет/ PCC конкретных реквизитов / ID пакета реквизитов системы {{NameProject1}}(Nemo 1)
Перечисляются в любой последовательности, можно смешивать разные типы. Действует правило "или": если указан Sabre целиком, все его PCC/пакеты указывать уже нет смысла.
 {{Attention|При указании названия ГРС строго соблюдайте формат названия, указанный в документации. При расхождении с шаблоном правило не будет применяться!}}| пустое = любые<br/>ГРС: <code>SABRE, GALILEO, AMADEUS, SIRENA, SITA - GDS, SIG23, MIXVELNDC, U6, ACCELAERO, RADIXX, S7 NDC</code><br/>PCC: [буквы+цифры] - PCC<br/>ID пакета в '''Nemo 1''': [цифры] - ID пакета
| SABRE,670P,123
AMADEUS,GALILEO
 
SITA
|-
| начало продажи
| конец продажи
| <span id="paymentDateTo">paymentDateTo</span>
| Максимально допустимая дата оформления заказа. Для срабатывания правила, текущая дата должна быть меньше или равна указанной.
| пустое = игнорируется<br/>DD.MM.YYYY
| 31.12.2022
| <span id="airlineType">airlineType</span>
| Международный или внутренний (весь перелет в пределах одной страны) перелет. Одно значение
| пустое = любой<br/>IA (international airlines - международные)<br/>DA (domestic airlines - внутренние)
| IA<br/>DA
|-
Варианты ввода:
* NNN,NNN: должен совпасть правило применится, если хотя бы один номер рейса из перелета из любого сегмента с одним из заданного спискавстречается в списке.* NNN,NNN!&nbsp;: правило применится, если все номера рейсов из всех сегментов перелета должны встречаться встретятся в этом списке.* <>NNN,NNN&nbsp;: правило не применится, если хотя бы один номер из перелета не должен быть встретится в этом списке.* <>NNN,NNN!&nbsp;: правило не применится, если все номера из перелета не должны встречаться встретятся в этом списке. 
| пустое = любые<br/>- одно или несколько значений (см. описание)
| SU 123,SU 345<br/>123,345<br/><>LH 555
Варианты ввода:
* CODE,CODE: должен совпасть правило применится, если хотя бы один код судна из любого сегмента совпадет с одним из заданного списка.* CODE,CODE!&nbsp;: правило применится, если коды судов из всех сегментов перелета должны встречаться есть в этом списке.* <>CODE,CODE&nbsp;: правило не применится, если хотя бы один код из перелета не должен быть в этом есть списке.* <>CODE,CODE!&nbsp;: правило не применится, если все коды из перелета не должны встречаться есть в этом списке. 
| пустое = любые<br/>- одно или несколько значений (см. описание)
| 73C,DH4<br/>735
| коды тарифов
| <span id="tariffs">tariffs</span>
| Допустимые коды тарифов. Должен совпасть хотя бы один тариф из перелета с одним из заданного списка. При правиле с отрицанием никаких совпадений быть не должно. Совпадение не точное: код из правила может содержаться в коде из перелета (к примеру введенное S1GREY26 совпадет с S1GREY26CH из перелета).
Варианты ввода:
* КОД,КОД: должен совпасть любой правило применится, если хотя бы один тариф с одним из заданного спискавстречается в списке.* КОД,КОД!&nbsp;: правило применится, если все тарифы перелета должны встречаться есть в этом списке.* <>КОД,КОД&nbsp;: правило не применится, если хотя бы один тариф из перелета не должен быть встречается в этом списке.* <>КОД,КОД!&nbsp;: правило не применится, если все тарифы из перелета не должны встречаться есть в этом списке.
Можно указать [http://ru.wikipedia.org/wiki/Регулярные_выражения регулярное выражение]. Для этого нужно написать параметр в формате /XXX/ Примеры:
* /ABC/ - код должен содержать "..ABC..", например "NBABCS"* /abc/i - регистронезависимая проверка, код может содержать символы в любом регистре, например "NBABCS" или "Abcof"* /'''^'''TN/ - код должен начинаться с "TN..", например "TNQRTY"* /OW'''$'''/ - код должен заканчиваться на "..OW", например "SRSOW"* /'''^.'''L/ - первая буква любая ( '''.''' - любой символ ), вторая буква в коде тарифа должна быть L, например "QLFST"* /OK'''.*'''RT/ - ( '''.*''' = любое количество любых символов) "..OK..RT..", например "ANOKURTN"
| пустое = любые<br/>- одно или несколько значений (см. описание)
| WRUTH9PL,ARUTH9PL
| максимальный тариф
| <span id="maxTariff">maxTariff</span>
| Ограничение на максимальное ценовое значение "базовой стоимости" (сумма всех тарифов от перевозчиков в перелете или стоимость от ГРС за вычетом такс). Если параметр задан, то правило, записанное в строке, срабатывает только, если тариф перелета меньше указанногозначения или равен ему.
| пустое = ограничения нет<br/>xxxКОД (см примеры)
| 10000RUB<br>
| <span id="privateFare">privateFare</span>
| Для срабатывания правила у перелета должен присутствовать тариф с признаком конфиденциального (приватного). Об этом сообщает ГРС. Если для однозначного определения правила достаточно указать конкретный код приватного тарифа, признак выставлять необязательно.
| пустое = любые тарифы<br/>1 - должен присутствовать приватный<br/>0 - приватных тарифов не должно быть
| 0<br/>1
|-
Варианты ввода:
* КОД,КОД: должна совпасть правило применится, если любая такса из перелета с одной из заданного спискавстретится в списке.* КОД,КОД!&nbsp;: правило применится, если все таксы перелета должны встречаться встретятся в этом списке.* <>КОД,КОД&nbsp;: хотя бы одна правило не применится, если любая такса из перелета не должна быть встретится в этом списке.* <>КОД,КОД!&nbsp;: правило не применится, если все таксы из перелета не должны встречаться встретятся в этом списке.где КОД - набор заглавных латинских букв.
| пустое = любые<br/>- одно или несколько значений (см. описание)
| YQ,YR<br/><>YQ!
| <span id="priceIsActual">priceIsActual</span>
| Признак подтвержденной цены перелета. Цена в перелете после поиска считается неподтвержденной, ее статус меняется на "подтверждена" ("актуальна") при создании реального PNR или при запросе актуализации цен в рамках вебсервисов {{NameProject2}} (до создания PNR)
| пустое = любые перелеты<br/>1 - перелет в PNR или его цена проверена заранее <br/>0 - перелет только что получен из результатов поиска
| 0<br/>1
|-
| <span id="valSegmentsInTariff">valSegmentsInTariff</span>
| Проверка: среди сегментов любого тарифа должен присутствовать сегмент валидирующего перевозчика (минимум один)
| пустое или 0 = любые тарифы<br/>1 - условие должно выполняться
| 0<br/>1
|-
| Допустимые категории классов обслуживания.
Варианты ввода(вносятся одно- или двухбуквенные значения):* КОД: правило применится, если класс встречается в списке.* КОДКОД: правило применится, если сочетание классов встречается в списке.* КОД,КОД: должен совпасть правило применится, если класс из любого сегмента с одним из заданного спискавстречается в списке.* КОД,КОД!&nbsp;: правило применится, если все классы из всех сегметнов сегментов перелета должны встречаться есть в этом списке.* <>КОД,КОД&nbsp;: хотя бы один правило не применится, если класс из перелета не должен быть любого сегмента встречается в этом списке.* <>КОД,КОД!&nbsp;: правило не применится, если все классы из всех сегментов перелета не должны встречаться есть в этом списке.
где КОД:
* B - бизнес* E - эконом* F - первый* EB - сочетание эконом + бизнес* EF - сочетание эконом + первый* BF - сочетание бизнес + первый
| пустое = любые<br/>- одно или несколько значений (см. описание)
| B,E<br/>F<br/>EB,EF,F
Варианты ввода:
* КОД,КОД: должен совпасть правило применится, если хотя бы один класс из любого сегмента с одним из заданного спискавстречается в списке.* КОД,КОД!&nbsp;: правило применится, если классы из всех сегментов перелета должны встречаться есть в этом списке.* <>КОД,КОД&nbsp;: правило не применится, если хотя бы один класс из перелета не должен быть любого сегмента встречается в этом списке.* <>КОД,КОД!&nbsp;: все правило не применится, если классы из всех сегментов перелета не должны встречаться есть в этом списке.
| пустое = любые<br/>- одно или несколько значений (см. описание)
| A,B,C<br/><>A,B,C
|-
| перевозчики и классы
| <span id="airlinesAndClasses">airlinesAndClasses</span>
|
Набор пар "маркетинговый перевозчик" + "класс бронирования" любого сегмента маршрута.
 
Допустимые варианты ввода:
 
* КОД:КОД,КОД:КОД,КОД:КОД : правило применится, если хотя бы один сегмент перелета совпадёт с одним из перечисленных в списке.
* КОД:КОД,КОД:КОД,КОД:КОД! : правило применится, если все сегменты из перелета встретятся в списке.
* <>КОД:КОД,КОД:КОД,КОД:КОД : правило не применится, если хотя бы один сегмент перелета совпадет с любым сегментом из перечисленных в списке.
* <>КОД:КОД,КОД:КОД,КОД:КОД! : правило не применится, если все сегменты перелета встретятся в списке.
|
пустое = любые<br/>- одно или несколько значений (см. описание)
 
|
SU:A,LH:B,BA:C<br/>
SU:A,LH:B!<br/>
<>S7:A,SU:B<br/>
<>S7:A,BA:B!
|-
| зоны
| <span id="zones">zones</span>
| Географические зоны перелета. Весь перелет не должен выходить за пределы одной из указанных зон для срабатывания правила. [http://www.geonames.org/countries/ разделение стран по указанным зонам]
* AF - Африка,* AN - Антарктика* AS - Азия* EU - Европа* NA - Северная Америка* OC - Австралия и Океания* SA - Южная Америкаперелет должен находиться в обеих зонах ( "EUSA, EUNA" - трансатлантический перелет ):* EUSA - Европа + Южная Америка,* EUNA - Европа + Северная Америка* EUAS - Европа + Азия* EUAF - Европа + Африка* EUOC - Европа + Австралия и Океания* AFNA - Африка + Северная Америка* ASNA - Азия + Северная Америка* EUAN — Европа + Антарктика* AFAS — Африка + Азия* AFAN — Африка + Антарктика * AFOC — Африка + Австралия и Океания* AFSA — Африка + Южная Америка* ANNA — Антарктика + Северная Америка* ANOC — Антарктика + Австралия и Океания* ANSA — Антарктика + Южная Америка* ASAN — Азия + Антарктика* NASA — Северная Америка + Южная Америка* OCSA — Австралия и Океания + Южная Америка* ASSA — Азия + Южная Америка* NAOC — Северная Америка + Австралия и Океания* OCAS — Австралия и Океания + АзияДопустимы только перечисленные комбинации зон!
| пустое = любые
- одно или несколько значений
| AS,EU<br/>SA<br/>EUSA, EUNA
|-
| зона из стран
| <span id="countryZones">countryZones</span>
| Перечисленные коды стран образуют зону, за пределами которой самолет не должен садиться и взлетать.
| пустое = любые
КОД,КОД...
| RU,IT,DE,FR
|-
| страны вылета
| страны назначения
| <span id="arrCountries">arrCountries</span>
| Проверяется страна назначения (для OW и CR: это последняя страна последнего сегмента, для RT: это последняя страна первого плеча маршрута). К примеру для перелета MOW-PAR-MOW страна назначения FR, для MOW-PAR-LON - GB. '''Правило страна вылета=RU, страна назначения=RU не означает местный рейс''' - не забывайте указывать тип рейса DA (ВВЛ).
| пустое = любые<br/>КОД,КОД...<br/><>КОД,КОД...(кроме)
| RU<br/><>LV,LT
| <span id="isDirect">isDirect</span>
| Признак прямого рейса
| пустое = любые<br/>0 - только с пересадками<br/>1 - только прямые<br/>дополнительно:<br/>2 - начальный перелет прямой<br/>3 - начальный перелет с пересадками
| 0<br/>1
|-
| <span id="routeType">routeType</span>
| Можно оставить поле пустым или указать одно значение:
* В одну сторону - OW,* Туда и обратно - RT,* Сложный маршрут - CR.
| пустое = любой<br/>КОД(см. примеры)
| OW<br/>RT<br/>CR
| <span id="routeAirportsFull">routeAirportsFull</span>
| Используйте в правиле IATA коды аэропортов (не городов). Остальное аналогично с "маршруты"
| см. описаниепараметра "маршруты"| см. описаниепараметра "маршруты"
|-
| содержит маршруты (из аэропортов)
| <span id="routeAirportsPart">routeAirportsPart</span>
| Используйте в правиле IATA коды аэропортов (не городов). Остальное аналогично с "содержит маршруты"
| см. описаниепараметра "содержит маршруты"| см. описаниепараметра "содержит маршруты"
|-
| вылет (аэропорты, города)
| <span id="dateBegin">dateDepartureAfter</span>
| От текущей даты задается максимальное значение или диапазон вылета. Например, если необходимо выделить перелеты не позднее 5 дней до вылета, то задается диапазон [0,120].
| пустое = ограничения нет <br/> максимальное значение <br/>[X,X] - диапазон
| 13
Длительность в днях считается, как математическая разность дат. При вылете и возврате в один день длительность равна 0 дней.
| пустое = ограничения нет<br/>число дней - максимальное значение (включительно)<br/>[X,X] - диапазон
| 13<br/>
[3,13]
| Допустимые дни недели для даты вылета первого сегмента маршрута. Значения указываются числом, соответствующим порядку дня недели, начиная с понедельника.
| пустое = игнорируется<br/>
1 - понедельник<br/>...<br/>7 - воскресенье<br/>- одно или несколько значений
| 2<br/>3,5
|-
| <span id="passengers">passengers</span>
| Допустимые типы пассажиров в перелете. Для срабатывания правила в перелете обязательно должны присутствовать все перечисленные типы.
| пустое = любые<br/>ADT - взрослый<br/>CLD - ребенок (2-12)<br/>INF - младенец (0-2)<br/>INS - младенец с местом (0-2)<br/>- одно или несколько значений
| INF<br/>ADT,CLD
|-
| код акции
|
| Уникальный код промоакции. Создается в панели администрирования в разделе {{Menu|Управление продажами |Модули |Программа лояльности |Промоакции и промокоды.}}.
| любой набор букв/цифр/символов
| 12022014_Promo
| комиссия авиакомпании
| <span id="commission">commission</span>
| Прибыль агента, получаемая от авиакомпании за проданные билеты. Обязательное для заполнения поле, должно строго соответствовать указанному в контракте значению. Значение передается в ГРС при выписке. Может указываться в процентах от тарифа или в абсолютной стоимости (за . Комиссия всегда вычисляется для каждого пассажира).
Правила с указанной нулевой комиссией имеют больший приоритет перед правилами с пустой комиссией.
| "xxxКОД" (код валюты) или "XX%"
| комиссия субагентам
| <span id="agencyCommission">agencyCommission</span>
| Часть Комиссия субагенту - это часть прибыли от авиакомпании, которую агент отписывает субагентам. Значение комиссии действует как скидка только для субагентов, уменьшая стоимость авиабилетов.Форматы задания комиссии:* Для всех субагентов:** Фиксированная сумма: {{Syntax|code=XRUB}}, где ''X'' - сумма комиссии, ''RUB'' - IATA-код любой валюты. Применяется ко всем субагентам.** Процент Комиссия всегда вычисляется для каждого пассажира от стоимости тарифа: {{Syntax|code=X%}}, где ''X'' - процент от тарифа. Применяется ко всем субагентам.* Для указанных субагентов или групп субагентов:** {{Syntax|code=(ID:значение),(ID:значение),(ID:значение),...}}, где ''ID'' - номер субагента (группы) в {{NameSystem}}, ''значение'' - размер комиссии для этого субагенства (группы) в формате {{Syntax|code=X%}}В одном правиле можно комбинировать комиссию для всех субагентов и комиссии для указанных субагентов в формате {{Syntax|code=X%,(ID:значение),(ID:значение),(ID:значение),...}}. В этом случае всех, кроме указанных субагентов, действует размер комиссии "X%", а для указанных размер комиссии составляет:<br />Если задана ''комиссия для всех субагентов'', и задана ''комиссия для субагента X'', то:Комиссия субагента X = Комиссия установленная для всех субагентов + Комиссия субагента X.Например: 5%,(123:6%), (345:8%) <br/>Комиссия субагента с ID 123 = 6% + 5%сумма которого не равна 0. <br/>
'''Форматы задания комиссии субагентам: '''
 
Для всех субагентов:<br/>
* Фиксированная сумма: <code>XRUB</code>, где:
** ''X'' - сумма комиссии, целое число или десятичная дробь с разделителем в виде точки: <code>60</code>, <code>-3</code>, <code>0.5</code>
** ''RUB'' - IATA-код валюты: <code>EUR</code>, <code>UAH</code>.
* Процент от тарифа: <code>X%</code>,
**где ''X'' - процент от тарифа, целое число или десятичная дробь с разделителем в виде точки: <code>60}</code>, <code>-3</code>, <code>0.5</code>.
Для опеределенных субагентов или групп субагентов:<br/>
* <code>(ID:значение),(ID:значение),(ID:значение),...</code>, где ''ID'' - номер субагента (группы) в {{NameSystem}}, ''значение'' - размер комиссии для этого субагенства (группы) в формате <code>X%</code> или <code>XRUB</code>.
 
В одном правиле можно комбинировать комиссию для всех субагентов и комиссии для указанных субагентов в формате:
* <code>XX,(ID:YY),(ID:YY),(ID:YY),...}}, где:
** XX - комиссия для всех субагентов в формате, описанном выше,
** YY - комиссия для заданного субагента в формате, описанном выше.
 
В этом случае размер комиссии:
* для всех субагентов, кроме указанных: XX,
* для указанных: XX + YY.
 
'''Пример:''' <br/>
 
<pre>5%,(123:2%),(345:3%)</pre>.
 
*Комиссия субагента под номером 123 составляет: 5% + 2% = 7% от тарифа. <br/>
*Комиссия субагента под номером 345 составляет: 5% + 3% = 8% от тарифа.
 
Если требуется ввести сумму десятичной дробью, то дробная часть отделяется "." , например: <code>0.5%</code>
 
{{Attention|В случае, если для вашего агентства планируется создание большого количества индивидуальных правил ценообразования, в каждом из которых будет указываться значение комиссии субагента для отдельных субагентов/групп/пользователей, то рекомендуемая форма записи является следующей (12345,12346,12347:3%) вместо (12345:3%),(12346:3%),(12347:3%). То есть, с использованием группировки одинаковых значений.}}
| см. описание
| <code>100RUB<br/code> <code>6EUR</code> <code>2%</code> <code>5%,(123:6100RUB%), (345:82%),(345:-0.5%)</code> 
|-
| посегментный расчет комиссии
| <span id="modeForSegment">modeForSegment</span>
| Признак применения комиссии или бонуса за каждый сегмент перелета. Например 100 руб. за каждый сегмент.
| пустое = 0<br/>0 - комиссия одна на весь перелет<br/>1 - комиссию необходимо умножить на кол-во сегментов
| 0<br/>1
|-
| <span id="charge">charge</span>
| Здесь указываются все наценки/скидки, которые будут применены для описанного правилом перелета. В одном поле можно указать несколько ценовых правил, разделив их по типам пользователя.<br/>
формат = (субъект:сумма),(субъект:сумма),(субъект:сумма)...<br/>субъект = ID групп, пользователей и два значения "B2C", "B2B" с возможностью <>отрицания<br/>сумма = слагаемое + слагаемое + слагаемое...[ограничение]<br/>ограничение = диапазон итоговой величины сбора, задается как [цена,цена]<br/>слагаемое = цена*множитель*множитель...<br/>цена = "xxxКОД" (код валюты) или "XX%" (проценты от итоговой стоимости (тариф+таксы) ГРС)<br/>множитель = одно из значений:* PAS - общее количество пассажиров(включая INF)* ADT - количество взрослых* CLD - количество детей (2-12)* INF - количество младенцев (0-2)* INS - количество младенцев с местом (0-2)* SEG - количество сегментов перелета (перелет из А в Б с 1 пересадкой => 2 сегмента)* LEG - количество плечей (перелет из А в Б с 1 пересадкой => 1 плечо)* TRF - для получения цены тарифа, равен сумме тарифов* SGV - количество сегментов валидирующего перевозчика
Примеры:
* 100RUB*SEG&nbsp;: плюс 100 руб к стоимости заказа за каждый сегмент
* 50RUB*LEG*ADT[,1000RUB]&nbsp;: 50 руб за каждый билет для взрослого на каждом плече перелета, но не более 1000RUB
* (<>123,345: 100RUB), (123,345: -100RUB)&nbsp;: субъекты 123 и 345 получат скидку 100 руб., остальные наценку в 100 руб.
* (B2B: 1000RUB*ADT - 100RUB*CLD[-10%,-1%]), (B2C: 10% [10USD,]), (123: -1000RUB)&nbsp;: B2B пользователи получают наценку 1000 руб. за каждый взрослый билет и 100 руб скидку за каждый детский билет, но не менее 1% от общей стоимости и не более 10%. B2C пользователи получают 10% наценку, но не менее 10 долларов. Пользователь ID=123 получит скидку 1000 руб.
Если срабатывает несколько ценовых правил, перечисленных через запятую, берется их сумма. Если это не подходящее поведение, разделяйте ценовые правила в отдельные перелетные правила (строки), их можно регулировать приоритетом.
 
{{Attention|В случае, если для вашего агентства планируется создание большого количества индивидуальных правил ценообразования, в каждом из которых будет указываться значение сбора агентства для отдельных субагентов/групп/пользователей, то рекомендуемая форма записи является следующей (12345,12346,12347:3%) вместо (12345:3%),(12346:3%),(12347:3%). То есть, с использованием группировки одинаковых значений.}}
 
Если требуется ввести сумму десятичной дробью, то дробная часть отделяется "." , например: <code>0.5%</code>
| см. описание
| см. описание
|-
|Комиссия метапоиску
|MetasearchCommission
|Комиссия, взимается метапоисковой системой (для {{NameSystem}} на данный момент это только Aviasales) и рассчитывается на этапе поиска. Значение должно быть указано как десятичное представление процентной ставки - это доля от 1, например, если задано 0.05 - 5%. Можно задавать с/без знака "%". Комиссия рассчитывается от суммы = цена перелета от поставщика + сборы/скидки + доп.сборы + мин.прибыль. Рассчитанное значение округляется до 2х знаков после разделителя. Более подробно данный параметр описан [http://support.nemo.travel/ru/%D0%92%D0%B7%D0%B0%D0%B8%D0%BC%D0%BE%D0%B4%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D0%B5_%D1%81_%D0%BC%D0%B5%D1%82%D0%B0%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%BE%D0%B2%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8#%D0%9A%D0%BE%D0%BC%D0%B8%D1%81%D1%81%D0%B8%D1%8F_%D0%BC%D0%B5%D1%82%D0%B0%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0 здесь].
| см. описание
|0.05
0.025%
|-
| признак доп.сбора
| <span id="chargeExt">chargeExt</span>
| Настройка позволяет изменять процедуру расчета сбора, добавляя к итоговому результату дополнительные расчетные правила.
* 0 - Стандартный сбор (значение по умолчанию). Из всех указанных сборов будет применен один по приоритету.<br/>* 1 - Дополнительный сбор. Сборы, указанные как дополнительные, проверяются отдельно. Аналогично применится один дополнительный сбор с максимальным приоритетом* 2 - Обязательный сбор. Будет обязательно применен, если все параметры сбора удовлетворены. Приоритет игнорируется.
| пустое = 0<br/>
1<br/>
== Дополнительные параметры правил для {{NameSystem}} платформы ==
Трёхсторонних договор между авиакомпанией, агентом и корпоративным клиентом позволяет корпоративному клиенту получать скидку при оформлении перелета через агентаПараметры для работы с приватными (конфиденциальными) тарифами.
Чтобы оформлять билеты с учетом 3Для просмотра описания параметров <span style="background-сторонних договоров, агенту нужно указать в файле ценообразования ряд параметровcolor:gold">разверните таблицу</span>:* id субъекта, к которому применяется скидка,* скидку* и код авторизации.
{| {| class="wikitable mw-collapsible mw-collapsed"|colspan="5"| '''Дополнительные параметры правил'''
|-
! scope="col" | Заголовок<br/>! scope="col" | Внутреннее название<br/>! scope="col" | Описание<br/>! scope="col" | Допустимые значения<br/>! scope="col" | Примеры<br/>
|-
| tour code
| <span id="id">gdsTourCode</span>
| Тур код<br/>| любое значение<br/> На примере Amadeus: если не нужно указывать PAX (passengerType), указываем только туркод RU084P, перед туркодом на стороне поставщика всегда добавляется * и внесенная команда в терминале выглядит как FT *RU084P. Если требуется указать PAX (passengerType), то необходимо его указывать с тур кодом без пробела PAXRU084P, в терминале внесенная команда выглядит как FT PAX *RU084P| 15ZU<br/> RU084P
|-
| ticket designator
| <span id="id">gdsTicketDesignator</span>
| Тикет десигнатор<br/>
| любое значение
| PP08
| endorsement
| <span id="id">gdsEndorsment</span>
| Эндорсменты<br/>| любое значение<br/> или %VAT_VALUE% для передачи значения НДС в эндорсменте только для ГРС Amadeus, Sabre, Galileo, GalileouAPI и S7 NDC; для Sabre значение передается в ГРС, но не попадает в МК| Non-Endorsable/Valid on BA/IB only/Refund only to issuing agent; %VAT_VALUE%
|-
| собственная прибыль агента
| <span id="id">comAgentProfit</span>
| Собственная прибыль агента<br/>| "xxxКОД" (код валюты) или "XX%" Допустимы только целые значения| 100RUB<br/>2% |-| субъект скидки по туркоду| <span id="id">corpClient</span>| ID субъекта, которому будет предоставлена скидка по туркоду| ID,ID<>ID,ID| 2772,2653<>2786,2361|-| скидка по туркоду| <span id="id">discount</span>| Скидка<br/>
| "xxxКОД" (код валюты) или "XX%"
| 100RUB<br/>213%|-| код авторизации| <span id="id">authCode</span>| Код авторизации<br/>| любое значение| MB10
|}
<!-- выпилила АЛ, ибо для S7 уже неактуально == Ценообразование. ГРС SITA Gabriel ==
Задание ценовых правил для авиакомпании '''«Сибирь» (S7 Airlines)''' в ГРС ''SITA Gabriel'' имеет свою специфику. Поскольку для авиакомпании S7 в ГРС ''SITA Gabriel'' осуществляется только бронирование и выписка, а [[Поиск (Авиабилеты)|поиск]] ведется в других ГРС, цена перелета при поиске и при бронировании может отличаться на размер такс, которые есть в ГРC, используемой для поиска, но не нет отсутствуют в ''SITA Gabriel''. Чтобы цена при переходе к бронированию не менялась, в ценообразовании задают специальные правила, где устанавливают скидку на размер таксы с использованием параметра '''Цена подтверждена''' (см. [[Ценообразование (Авиабилеты)#Параметры правил ценообразования|Параметры правил ценообразования]]).
Коды такс:
Размеры такс варьируются в зависимости от курса.
Правило Каждое правило для перелетов авиакомпании '''«Сибирь» (S7 Airlines)''' разбивается на 2отдельных строки:
# Правило ''для поиска'':
#* системы бронирования: '''''SITA''''';
#* цена подтверждена: '''0''';
#* сбор агентства: ''укажите размер сбора агентства и скидку на размер таксы от ГРС, используемой для поиска+ задайте размер сбора агентства''.
# Правило ''для бронирования'':
#* валидирующий перевозчик: '''''S7''''';
#* системы бронирования: '''''SITA''''';
#* цена подтверждена: '''1''';
#* сбор агентства: ''укажите задайте только размер сбора агентства''.
{| class="wikitable"
|-
|[[Файл:Правила_цо_для_ак_сибирь.png|1000px800px]]
|-
|Правила ценообразования для авиакомпании «Сибирь« (S7 Airlines)
|}
<!--
Например ([[Файл:Example.xls|200px|thumb|left|пример файла]]):
* для строки поиска задать скидку на размер таксы '''''«YQF - для Сейбр/ZZ - для Сирены/YQ - для Галилео»''''', и в столбце «[http://support.nemo.travel/ru/Ценообразование._Импорт_правил#charge Сбор]» нужно проставить "0" - что означает, что цена еще не подтверждена, и к ней применится сбор, установленный вами.
-->
== ЕМД (EMD)== <!--тикет №35178-->
ЕМД - электронный многоцелевой документ или ваучер (см. [[Ваучер|Ваучер]]).
В разделе "Управление продажами → Авиабилеты → Ценообразование → Настройки" есть настройка '''Выпускать EMD на величину сборов заказа'''. Она отвечает за выпуск ЕМД на сбор агентства (доступно только для Сирены Трэвел). Принцип работы: если для агентства, которое покупает билет, в правилах ценообразования заведён сбор агентства для валидирующей компании авиа перевозчика, то при выписке заказа помимо маршрут-квитанции и ЕМД для дополнительных услуг, будет выписан отдельный ЕМД на сбор агентства. Если в заказе присутствуют несколько людей, то сбор разделится между ними, общая сумма сбора увеличена не будет.
== См. также ==
* [[Ценообразование для субагентов]]
* [[Валюта]]
'