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

Изменения

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

51 097 байт добавлено, 18:42, 11 марта 2016
Нет описания правки
[[CategoryКатегория:Модули(Авиабилеты)]] [[Category:Функции]]<!-- -->==Назначение==Модуль '''«Ценообразование 2.0»Ценообразование''' разработан автоматизирует процесс расчета [[Комиссия (термин)|комиссий]] и [[Комиссия (термин)|сборов]] для гибкого [[Авиабилет|авиабилетов]], управления комиссионными правилами поставщиков[[Перевозчик|перевозчиков]], сборами [[Агентство|агентства ]] и комиссионными вознаграждениями субагентов.<br/>С его помощью можно точно соблюдать в онлайне сложные условия, предоставляемые авиакомпаниями и построить удобную схему ценообразования.
Все * позволяет быстро настроить даже сложные комиссионные правила, * позволяет построить удобную и понятную схему ценообразования,* точно соблюдать сложные условия, предоставляемые авиакомпаниями, * гарантирует правильные расчеты на каждом этапе их применения логируются и отображаются в удобной таблице, упрощая их контроль и обновление* предоставляет инструмент контроля за корректностью расчетов.
Модуль управления предназначен для ==Принцип работы с компонентом '''«Авиабилеты»'''==Работа модуля основана на правилах ценообразования, которые заводит агентство.
== Импорт '''Правило''' - набор условий применения правила и экспорт правил ==[[Файл:Ценоообразование_Ошибки_импортапараметров правила.png|400px|thumb|right|Ошибки импорта ценовых правил]][[Файл:Экспорт.png|400px|thumb|right|Ссылки для экспорта правил в форматах XLS и XLSX]]
Правила ценообразования задаются внесением ряда параметров в файл таблице в формате файле формата XLS/или XLSX, который импортируется в систему в разделе '''«Ценообразование 2.0» → «Импорт/экспорт Excel»'''. Пример файла для заполнения и полное описание формата внесения данных размещен в статье [[Ценообразование. Импорт правил]].где:
''Строка таблицы'' - правило. <br />''Ячейка строки'' - значение параметра. <br />''Заголовок столбца'' - название параметра. <br />Каждая строка в таблице является отдельным правилом. Каждый параметр правила задается в отдельном столбце. Формат внесения данных в каждый столбец должен соответствовать задокументированному формату.<br />
При импорте система валидирует все введенные значенияПрежде чем рассчитать комиссии, модуль ценообразования определяет доступность перелета к выписке и если в какой-то ячейке значение внесено в некорректном форматеправило, система сообщит об ошибкепо которому рассчитываются комиссии и сборы, сохранив при этом все корректно заданные правила.по алгоритму:
Экспорт # Модуль фиксирует, какую авиакомпанию [[ГРС]] определила как [[Валидирующий перевозчик|валидирующую]];# Находит в файле ценообразования все правила для данной [[Авиакомпания|авиакомпании]];# Подбирает правила, которые соответствуют перелету по всем параметрам;# Выбирает по критериям приоритета одно из подходящих правил доступен в форматах XLS или XLSX;#* Если сработавшее правило не содержит переопределения валидирующего перевозчика, устанавливается валидирующий перевозчик, полученный от ГРС.#* Если сработавшее правило содержит переопределение валидирующего перевозчика, устанавливается переопределенный валидирующий перевозчик.# Правило применяется.
Возможно импортировать/экспортировать файл с параметрами на английскомАгентство может [[Выписка (Авиабилеты)|выписывать]] онлайн перелеты только '''контрактных авиакомпаний'''. Язык выгружаемой таблицы зависит от настройки Авиакомпания считается контрактной, если для нее заведено хотя бы 1 правило в профиле пользователязагруженном файле ценообразования.
== Определение валидирующего перевозчика ==При использовании модуля Перелет '''«Ценообразование 2.0»не может быть выписан''' белые списки , если:* правила для авиакомпании не заведены. Такие перелеты рекомендуется удалять из выдачи [[Фильтр результатов поиска (списки контрактных авиакомпаний и интерлайновАвиабилеты) система |фильтром результатов поиска]] «А/к не является контрактной».* правила для авиакомпании заведены, но параметры перелета не рассматриваетсоответствуют параметрам правила.Порядок работы модуля приведен в схеме:
Доступность конкретного перелета к выписке в автоматическом режиме проверяется по такому алгоритму:{| class="wikitable"# Запись авиакомпании, определенной и переданной в ответе ГДС как ВП;|-# Проверка наличия в файле ценообразования всех правил для данной авиакомпании;|[[Файл:Схема_ценообразование.png|1000px]]# Фильтрация правил, которые не соответствуют перелету по какому|-либо параметру;# Определение из подходящих по всем параметрам правил срабатывающего по приоритетам;|Схема работы модуля Ценообразование# Установка ВП.|}
Если сработавшее правило не содержит переопределения ВП — устанавливается ВП полученный от ГДС.<br/>Комиссии и сборы '''рассчитываются при каждом обновлении [[Заказы|заказа]] по правилам, загруженным в систему на момент проверки''': *при формировании выдачи результатов поиска, *при [[Бронирование (Авиабилеты)|бронировании]], *при переходе к оплате и выписке билетов,Если сработавшее правило содержит переопределение ВП — устанавливается переопределенный ВП*при обновлении страницы заказа.<br/>
Срабатывает простой принцип: Если для авиакомпании есть запись в загруженном файле ценообразованияпромежуток между бронированием и выпиской '''''правила изменили''''', после бронирования заказа комиссии будут рассчитываться по новым правилам, таким образом цена при бронировании и эта запись соответствует параметрам найденного перелета — то она считается контрактнойцена при выписке может отличаться. Если Поведение системы при возникновении такой записи не найдено — она контрактной не считаетсяситуации задается параметром '''''Пересчитать сервисный сбор''''' в разделе {{Menu|Настройки системы|Фоновые процессы|События синхронизации}}. Расчет комиссий, поэтомудействующих на момент бронирования, перелет может быть отфильтрован из выдачи фильтром «А/к не является контрактной»можно отследить в логах по заказу.
=== Переопределенный валидирующий перевозчик Расчет комиссий для неконтрактных авиакомпаний ===Используется для выписки билетов на условиях чистого интерлайна между авиакомпаниями.Например, если у агентства нет контракта с авиакомпанией «АА», но есть контракт с авиакомпанией «BB», и между компаниями существует интерлайн-соглашение, позволяющее выписывать билеты для «АА» на бланке «ВВ». В этом случае проставляется комиссионное вознаграждение от компании «ВВ» (переопределенного валидирующего перевозчика), которое она предоставляет за билеты со 100% интерлайн сегментов.
<span style="background-color:#fff0f5;">Агентство может '''<span style="color:#ff0000;">Внимание!</span>выписывать билеты ''неконтрактных' Ответственность за допустимость замены и за адекватность цены перелета ' авиакомпаний''' на условиях '''чистого [Интерлайн (которая была рассчитана GDS по предложенному ей перевозчикутермин) полностью лежит на агентстве. Nemo не отслеживает наличие интерлайн-соглашений |[интерлайна]]''' между перевозчикамиавиакомпаниями.</span>
== Определение приоритета правил ==Например, Осуществляется по таким приоритетам:* У агентства нет контракта с авиакомпанией «АА».* У агентства есть контракт с авиакомпанией «ВВ».* Между компаниями «АА» и «BB» интерлайн-соглашение, позволяющее выписывать билеты для «АА» на бланке «ВВ».
Чтобы выписывать билеты авиакомпании «АА», агенство заводит правило для авиакомпанией «АА», в котором заданы:# валидирующий перевозчик: '''№1 Колонка приоритет''«АА»'<br/>'''',# переопределенный перевозчик: '''''«BB»''''',# доля сегментов интерлайнов: '''''«1»''''',# комиссия авиакомпании: ''укажите размер комиссионного вознаграждения, предоставляемого компанией «ВВ» за билеты со 100% долей интерлайн [[Сегмент|сегментов]]''.
Если срабатывает несколько правил с указанным приоритетом, то выбирается одно с наибольшим приоритетом{{Attention|Система {{NameSystem}} не отслеживает наличие интерлайн-соглашений между перевозчиками.<br/>Если существует несколько правил с одинаковым приоритетом (или приоритет не указан) выбирается более новое правило, выбор осуществляется по следующим параметрам приоритезацииОтветственность за переопределение полностью лежит на агентстве.<br/>}}
'''№2 Наличие переопределенного перевозчика'''<br/>=== Выбор правила для расчета ===Комиссии для перелета рассчитываются по одному правилу. Если существует для перелета подходит несколько правил с одинаковым приоритетом (или приоритет , система выбирает правило для расчета по критериям приоритета. Правила сравниваются по первому критерию, если критерий в данном случае не срабатывает, по второму и так далее, пока не указан) выбирается будет определено одно правило с переопределенным ВП.<br/>
Порядок сравнения правил для выбора правила для расчета:#'''По колонке ''Приоритет''''' - если у сработавших правил указан приоритет, то выбирается правило с наибольшим приоритетом.#'''№3 Не пустая комиссияПо наличию переопределенного перевозчика'''<br/>- если срабатывает несколько правил с одинаковым приоритетом (или приоритет не указан), выбирается правило с переопределенным ВП.Приоритет #'''По непустой ячейке ''Комиссия''''' - приоритет правил с установленной комиссией (даже в 0%) выше, чем у правил с пустой ячейкой комиссии.#''' Дополнительный приоритет''' - ''устанавливается вручную'' в разделе {{Menu|Управление продажами|Авиабилеты|Ценообразование|Настройки}} параметром '''''Дополнительный приоритет''''':#*'''''Нет''''' - не установлен дополнительный приоритет.#*'''''Максимальная комиссия авиакомпании''''' - выбирается правило с максимальной комиссиейот авиакомпании.#*'''''По количеству параметров в правиле''''' - выбирается правило с наибольшим числом непустых параметров.#''' Порядковый номер правила''' - если ни один из приоритетов не применим, приоритетным считается более новое правило (расположенное таблице ниже других).<br/>
'''№4 Дополнительный приоритет'''<br/>== Тестирование и отладка срабатывания правил ==Учитывается, если все предыдущие параметры равныВсе расчеты на каждом этапе их применения [[Логи системы|логируются]] и отображаются в таблице отладки. Таблица отладки используется для контроля срабатывания правил. Она содержит информацию о применении правил к выбранному перелету.<br/>
Определяется настройкой в разделе Ссылка на таблицу отладки доступна менеджеру агентства:* на выдаче результатов поиска для каждого перелета по ссылке '''''Комиссия''«Ценообразование 2.0» — «Настройки»'''., <br!--* на странице подтверждения бронирования и информации о заказе по добавлению гет-параметра '''?(&)test''' в адресную строку (например, http:/>Возможные значения:<br/>*Нет дополнительного приоритетаhost/XXXXXX?test).<br/-->*Максимальная комиссия авиакомпании.*По количеству параметров на странице заказа в правиледетализации стоимости по щелчку на сумму комиссии или сбора.<br/>
'''№5 Порядковый номер правила'''<br/>{| class="wikitable"Если существует несколько правил с одинаковым приоритетом (или приоритет не указан) выбирается более новое правило (расположено ниже в импортируемой таблице)|-|[[Файл:Ссылка на таблицу отладки на странице поиска.png|800px]]|-|Ссылка на таблицу отладки на странице поиска|}
{| class="wikitable"|-|[[Файл:Страница заказа.png|700px]]|-|Ссылка на детализацию стоимости на странице заказа|} {| class= Тестирование "wikitable"|-|[[Файл:Детализация_стоимости.png|600px]]|-|Ссылки на таблицу отладки на странице детализации стоимости|} В таблице отладки отображаются все правила для валидирующего перевозчика данного перелета. В ней отражается порядок проверки параметров: параметры каждого правила сравниваются в параметрами перелета:# если они совпадают:#* ячейка подсвечивается зеленым,#* проверяется следующей параметр; # если значение параметра перелета не совпадает со значением параметра правила:#* ячейка подсвечивается красным цветом, #* проверка правила прекращается.'''Если правило подошло по всем параметрам, то правило применяется, комиссии и отладка срабатывания правил =сборы подсвечиваются зеленым светом, рядом отображаются их вычисленные значения.''' {| class="wikitable"|-|[[Файл:Таблица_отладки.png|1200px]]|-|Таблица отладки содержит информацию о применении правил к выбранному перелету|} Параметры (столбцы) таблицы отладки:
* проверяемые перевозчики, установленный валидирующий перевозчик;
* данные по о группе и пользователюпользователе, к которому которым привязан заказ;
* все параметры выбранного перелета, которые определены системой;
* проверка совпадения с параметрами в правилах для проверяемого перевозчика;
* размер рассчитанных комиссий и сборов, примененное для расчета правило.
Таблица доступна == Включение модуля. Импорт и экспорт правил == Чтобы включить расчет комиссий с использованием Ценообразования, включите опции '''Комиссии 2.0''' и '''Сборы и скидки 2.0''' в разделе {{Menu|Управление продажами|Авиабилеты|Ценообразование|Настройки}}. Чтобы задать правило ценообразования: # Зайдите в раздел {{Menu|Управление продажами|Авиабилеты|Ценообразование|Импорт/экспорт Excel}}.# Нажмите '''Выгрузка в формате "xls"''' или '''Выгрузка в формате xlsx"'''. Откройте файл для редактирования.# Установите правило: '''заполните параметры строки'''. Формат внесения данных в каждый столбец должен соответствовать строго определенному формату (см. [[Ценообразование (Авиабилеты)#Импорт правил|Импорт правил]]). <br /> Обязательные параметры для менеджера агентствазаполнения:#* '''''валидирующий перевозчик'''''#* '''''комиссия'''''# Сохраните изменения в файле.# На странице '''Импорт/экспорт Excel''' в панели администрирования нажмите '''Обзор''', откройте файл.# Нажмите '''Отправить''' для загрузки файла в систему. При импорте система валидирует все введенные значения. Если в какой-то ячейке значение внесено в некорректном формате, система сообщит об ошибке, сохранив при этом все корректно заданные правила. {| class="wikitable"|-|[[Файл:Ошибки_импорта_Ценообразование.png|500px]]|-|Ошибки при валидации параметров|} После валидации на странице отображается таблица, в которой в сжатой форме отражены все загруженные правила. {| class="wikitable"|-|[[Файл:Правила ценообразования.png|900px]]|-|Правила ценообразования|} == Параметры правил ценообразования=='''Шаблон файла для внесения правил ценообразования:'''<br/>[[File:CommImportExampleV1.0.5.xlsx]] {{Attention|Запрещено переименовывать столбцы!}}<br/> При этом допускается удаление ненужных столбцов. {| class="wikitable mw-collapsible mw-collapsed"|-! scope="col" | Заголовок! scope="col" | Внутреннее название! scope="col" | Описание! scope="col" | Допустимые значения! scope="col" | Примеры|-| id| <span id="id">id</span>| Уникальный номер записи из любой внешней системы (или БД). Необязательный параметр. Не участвует в логике расчетов и используются для удобства идентификации правила.| любое значение| 123|-| валидирующий перевозчик GDS| <span id="valCompanyId">valCompanyId</span>| Авиакомпания, для которой задается правило. Должна являться контрактной авиакомпанией агента. Если необходимо проводить выписку на стоке другой авиакомпании (по ссылке на выдаче интерлайну), валидирующий перевозчик переопределяется (см. [[Ценообразование (Авиабилеты)#Переопределенный валидирующий перевозчик|Переопределенный валидирующий перевозчик]]). Если валидирующий перевозчик от ГРС недопустим указанными правилами ценообразования и не переопределен - перелет считается недопустимым к выписке и удаляется из результатов поиска для каждого при соответствующих настройках фильтрации результатов.| пустое игнорируется 2-значный IATA-код авиакомпании| SU LH|-| переопределенный вп| <span id="manualVV">manualVV</span>| Если валидирующий перевозчик, предложенный ГРС не является контрактным или не устраивает агента по комиссии, его можно переопределить принудительно через это поле. В поле ВП указывается ВП от ГРС (или оно оставляется пустым), а в этом поле указывается переопределенный агентством перевозчик. Ответственность за допустимость замены и за адекватность цены перелета (которая была рассчитана GDS по предложенному ей перевозчику) берет на себя агент. Приоритет у правил с переопределением выше, чем у правил без него.| пустое игнорируется 2-значный IATA-код авиакомпании| SU LH|-| перевозчики первого сегмента| <span id="airlines">airlines</span>| Набор допустимых маркетинговых перевозчиков первого сегмента маршрута.| пустое = любые<br/>КОД,КОД...<br/><>КОД,КОД...(кроме)| SU,LH,BA <>S7,SU|-| перевозчики любого сегмента| <span id="airlinesAny">airlinesAny</span>| Набор допустимых маркетинговых перевозчиков (интерлайнов) любого сегмента маршрута. Допустимые варианты ввода:* КОД,КОД,КОД&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 1|-| операторы| <span id="operatingAirlines">operatingAirlines</span>| Допустимые оперирующие авиакомпании (проверяются на странице подтверждения всех сегментах). Варианты ввода:* КОД,КОД,КОД&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| 0.88|-| доля сегментов интерлайнов| <span id="interlinePart">interlinePart</span>| Минимально допустимая доля несобственных сегментов (сегментов, где валидирующий перевозчик не равен маркетинговому) должна быть больше или равна указанному значению(любое число от 0 до 1).* 1 - все сегменты интерлайны* 0.5 - половина или больше сегментов интерлайнов* 0.25 - четверть или больше сегментов интерлайнов* 0.01 - присутствует минимум один сегмент интерлайна* 0 - все сегменты собственные| пустое = любое количество<br/>любое число от 0 до 1| 0.88|-| тип контракта| <span id="contractType">contractType</span>| Система взаиморасчетов BSP или ТКП| пустое = любой,<br/>BSP<br/>TCH| TCH|-| системы бронирования и информации о заказе по добавлению гет| <span id="gds">gds</span>| Глобальная распределительная система / PCC конкретных реквизитов / ID пакета реквизитов системы {{}}Перечисляются в любой последовательности, можно смешивать разные типы. Действует правило "или": если указан Sabre целиком, все его PCC/пакеты указывать уже нет смысла.| пустое = любые<br/>SABRE, GALILEO, AMADEUS, SIRENA, SITA - GDS<br/>[буквы+цифры] - PCC<br/>[цифры] - ID пакета| SABRE,670P,123 AMADEUS,GALILEO|-| начало продажи| <span id="paymentDateFrom">paymentDateFrom</span>| Минимально допустимая дата оформления заказа (не путать с датой вылета). Для срабатывания правила, текущая дата должна быть больше или равна указанной.| пустое = игнорируется<br/>DD.MM.YYYY| 01.01.2012 31.01.2010|-| конец продажи| <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|-| номера рейсов| <span id="flightNumber">flightNumber</span>| Допустимые номера рейсов, можно указывать с кодом маркетинговой компании или без неё. Варианты ввода:* NNN,NNN: должен совпасть номер рейса из любого сегмента с одним из заданного списка.* NNN,NNN!&nbsp;: номера рейсов из всех сегментов перелета должны встречаться в этом списке* <>NNN,NNN&nbsp;: хотя бы один номер из перелета не должен быть в этом списке* <>NNN,NNN!&nbsp;: все номера из перелета не должны встречаться в этом списке| пустое = любые<br/>- одно или несколько значений (см. описание)| SU 123,SU 345<br/>123,345<br/><>LH 555|-| тип вс| <span id="aircraft">aircraft</span>| Допустимые коды воздушных судов, коды указывать в том же виде, в котором возвращает ГРС Варианты ввода:* 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/ - первая буква любая (&'''.''' - любой символ )test, вторая буква в коде тарифа должна быть L, например "QLFST"* /OK'''.*'''RT/ - ( '''.*' '' = любое количество любых символов) "..OK..RT..", например "ANOKURTN"| пустое = любые<br/>- одно или несколько значений (см. описание)| WRUTH9PL,ARUTH9PL<br/>/TN.*OW/|-| максимальный тариф| <span id="maxTariff">maxTariff</span>| Ограничение на максимальное ценовое значение "базовой стоимости" (сумма всех тарифов от перевозчиков в перелете или стоимость от ГРС за вычетом такс). Если параметр задан, то правило, записанное в строке, срабатывает только, если тариф перелета меньше указанного.| пустое = ограничения нет<br/>xxxКОД (см примеры)| 10000RUB<br>300EUR|-| конф. тариф| <span id="privateFare">privateFare</span>| Для срабатывания правила у перелета должен присутствовать тариф с признаком конфиденциального (приватного). Об этом сообщает ГРС. Если для однозначного определения правила достаточно указать конкретный код приватного тарифа, признак выставлять необязательно.| пустое = любые тарифы<br/>1 - должен присутствовать приватный<br/>0 - приватных тарифов не должно быть| 0<br/>1|-| коды такс| <span id="taxes">taxes</span>| Допустимые коды такс Варианты ввода:* КОД,КОД: должна совпасть любая такса из перелета с одной из заданного списка.* КОД,КОД!&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|-| сервис классы| <span id="serviceClass">serviceClass</span>| Допустимые категории классов обслуживания. Варианты ввода:* КОД,КОД: должен совпасть класс из любого сегмента с одним из заданного списка.* КОД,КОД!&nbsp;: классы из всех сегметнов перелета должны встречаться в этом списке* <>КОД,КОД&nbsp;: хотя бы один класс из перелета не должен быть в этом списке* <>КОД,КОД!&nbsp;: все классы из перелета не должны встречаться в этом спискегде КОД:* B - бизнес* E - эконом* F - первый* EB - сочетание эконом + бизнес* EF - сочетание эконом + первый* BF - сочетание бизнес + первый| пустое = любые<br/>- одно или несколько значений (см. описание)| B,E<br/>F<br/>EB,EF,F|-| классы бронирования (коды)| <span id="bookingClass">bookingClass</span>| Допустимые литеры (однобуквенные коды) классов бронирования. Латинскими буквами, русские буквы допустимые только для правил поставщика Sirena. Варианты ввода:* КОД,КОД: должен совпасть класс из любого сегмента с одним из заданного списка.* КОД,КОД!&nbsp;: классы из всех сегментов перелета должны встречаться в этом списке* <>КОД,КОД&nbsp;: хотя бы один класс из перелета не должен быть в адресную строку этом списке* <>КОД,КОД!&nbsp;: все классы из перелета не должны встречаться в этом списке| пустое = любые<br/>- одно или несколько значений (напримерсм. описание)| A,B,C<br/><>A,B, C|-| зоны| <span id="zones">zones</span>| Географические зоны перелета. Весь перелет не должен выходить за пределы одной из указанных зон для срабатывания правила. [http://hostwww.geonames.org/XXXXXX?testcountries/ разделение стран по указанным зонам]* AF - Африка,* AN - Антарктика* AS - Азия* EU - Европа* NA - Северная Америка* OC - Австралия и Океания* SA - Южная Америкаперелет должен находиться в обеих зонах ( "EUSA, EUNA" - трансатлантический перелет ):* EUSA - Европа + Южная Америка,* EUNA - Европа + Северная Америка* EUAS - Европа + Азия* EUAF - Европа + Африка* EUOC - Европа + Австралия и Океания* AFNA - Африка + Северная Америка* ASNA - Азия + Северная Америка| пустое = любые - одно или несколько значений| AS,EU<br/>SA<br/>EUSA, EUNA|-| страны вылета| <span id="depCountries">depCountries</span>| Допустимые страны вылета для перелета (проверяется только страна вылета первого сегмента маршрута).| пустое = любые<br/>КОД,КОД...<br/><>КОД,КОД...(кроме)| RU<br/><>LV,LT|-| страны назначения| <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="routeFull">routeFull</span>| Цепочка из IATA кодов городов или аэропортов, описывающая весь маршрут перелета с учетом пересадок, без разрывов и повторов. Всегда следует использовать IATA код города, если он имеется (агрегирующий аэропорт). К примеру перелет VKO-ORY, ORY-VKO приводится к маршруту MOW-PAR-MOW.| пустое = любые<br/>КОД-КОД,КОД-КОД,...<br/><>КОД-КОД,КОД-КОД,...(кроме)| MOW-LON,LON-MOW<br/><>MOW-BER-PAR|-| содержит маршруты| <span id="routePart">routePart</span>| Указывается только часть маршрута, составленного по аналогии с предыдущим.| пустое = любые<br/>КОД-КОД,<br/>-КОД-,...<br/><>-КОД-,...(кроме)| -CAI-<br/><>-PRG-,PRG-SVX|-| маршруты (из аэропортов)| <span id="routeAirportsFull">routeAirportsFull</span>| Используйте в правиле IATA коды аэропортов (не городов). Остальное аналогично с "маршруты"| см. описание| см. описание|-| содержит маршруты (из аэропортов)| <span id="routeAirportsPart">routeAirportsPart</span>| Используйте в правиле IATA коды аэропортов (не городов). Остальное аналогично с "содержит маршруты"| см. описание| см. описание|-| вылет (аэропорты, города)| <span id="depAirports">depAirports</span>| Проверяется только аэропорт вылета первого сегмента. При указании кодов аэропортов необходимо точное совпадение. При указании кодов городов (агрегирующий аэропортов) сопоставление происходит по внутреннему справочнику аэропортов. Рекомендуется указывать коды конкретных аэропортов.| пустое = любые<br/>КОД,КОД...<br/><>КОД,КОД...(кроме)| MOW,PAR,BER <>VKO,LON|-| прилет (аэропорты, города)| <span id="arrAirports">arrAirports</span>| Аэропорт прилета определяется аналогично "стране назначения". Проверка на сопоставление происходит по аналогии с "вылетом (аэропорты, города)"| пустое = любые<br/>КОД,КОД...<br/><>КОД,КОД...(кроме)| MOW,PAR,BER <>VKO,LON|-| начало вылета| <span id="dateBegin">dateBegin</span>| Дата вылета первого сегмента должна быть больше или равна указанной дате| пустое = игнорируется<br/>DD.MM.YYYY| 01.01.2012 31.01.2010|-| вылет через (в часах)| <span id="dateBegin">dateDepartureAfter</span>| От текущей даты задается максимальное значение или диапазон вылета. Например, если необходимо выделить перелеты не позднее 5 дней до вылета, то задается диапазон [0,120].| пустое = ограничения нет <br/> максимальное значение <br/>[X,X] - диапазон| 13 [10,100]|-| конец вылета| <span id="dateEnd">dateEnd</span>| Дата вылета первого сегмента должна быть меньше или равна указанной дате| пустое = игнорируется<br/>DD.MM.YYYY| 31.12.2022|-| возврат не ранее| <span id="dateBackBegin">dateBackBegin</span>| Дата вылета последнего сегмента маршрута должна быть больше или равна указанной дате| пустое = игнорируется<br/>DD.MM.YYYY| 31.12.2022|-| возврат не позднее| <span id="dateBack">dateBack</span>| Дата вылета последнего сегмента маршрута должна быть меньше или равна указанной дате| пустое = игнорируется<br/>DD.MM.YYYY| 31.12.2022|-| длительность в днях| <span id="daysDuration">daysDuration</span>| Ограничение на максимальный разрыв в днях между первой датой перелета и завершением маршрута. Можно задавать диапазон.
Также Длительность в днях считается, как математическая разность дат. При вылете и возврате в один день длительность равна 0 дней.| пустое = ограничения нет<br/>число дней - максимальное значение (включительно)<br/>[X,X] - диапазон| 13<br/>[3,13]|-| дни недели| <span id="dayOfWeek">dayOfWeek</span>| Допустимые дни недели для даты вылета первого сегмента маршрута. Значения указываются числом, соответствующим порядку дня недели, начиная с понедельника.| пустое = игнорируется<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|-| маска перелета|| Формализованное описание полета в текстовом формате, для создания сложных правил<br/>Будет добавлено в след. версии программы|||-| приоритет| <span id="priority">priority</span>| Если срабатывает несколько правил, то выбирается одно с наибольшим приоритетом. Если существует несколько правил с одинаковым приоритетом (или приоритет не указан) выбирается более новое правило (расположено ниже в импортируемой таблице)| целое число<br/>пустое = 0| 1<br/>2|-| код акции|| Уникальный код промоакции. Создается в панели администрирования в разделе {{Menu|Управление продажами|Модули|Программа лояльности|Промоакции и промокоды}}.| любой набор букв/цифр/символов| 12022014_Promo|-| utm source| <span id="utmSource">utmSource</span>| ID источника перехода, который отображается в поле «№» таблицы источников переходов в метрике.<br/> Допустимо вводить несколько источников.| пустое = любые<br/>КОД,КОД...<br/><>КОД,КОД...(кроме)| 123,456<br/><>123,456|-| комиссия авиакомпании| <span id="commission">commission</span>| Прибыль агента, получаемая от авиакомпании за проданные билеты. Обязательное для заполнения поле, должно строго соответствовать указанному в контракте значению. Значение передается в ГРС при выписке. Может указываться в процентах от тарифа или в абсолютной стоимости (за каждого пассажира).Правила с указанной нулевой комиссией имеют больший приоритет перед правилами с пустой комиссией.| "xxxКОД" (код валюты) или "XX%"| 100RUB<br/>13%|-| комиссия субагентам| <span id="agencyCommission">agencyCommission</span>| Часть прибыли от авиакомпании, которую агент отписывает субагентам. Указанное значение сразу действует как скидка только для субагентов, уменьшая стоимость авиабилетов. Можно указать идентификаторы отдельных субагентов. Если комиссия задана для всех субагентов, и задана комиссия для конкретного субагента X, то комиссиясубагента X = Комиссия субагента X + Комиссия установленная для всех субагентов. <br/>Например: 5%,(123:6%), (345:8%) <br/>Комиссия субагента с ID 123 = 6% + 5%. <br/>Формат:* "xxxКОД" (код валюты) или "XX%" (процент от тарифа) - значение применяется ко всем субагентам* (субъект:цена)&nbsp;: для применения к конкретным, указывается ID субагентства в {{NameSystem}}* (субъект:цена),(субъект:цена),(субъект:цена)...&nbsp;: комбинации| см. описание| 100RUB<br/>5%,(123:6%), (345:8%)|-| посегментный расчет комиссии| <span id="modeForSegment">modeForSegment</span>| Признак применения комиссии или бонуса за каждый сегмент перелета. Например 100 руб. за каждый сегмент.| пустое = 0<br/>0 - комиссия одна на странице забронированных весь перелет<br/>1 - комиссию необходимо умножить на кол-во сегментов| 0<br/>1|-| бонус авиакомпании| <span id="bonus">bonus</span>| Дополнительная прибыль агента, которую агентство получает от авиакомпании, но в запросах к ГРС она не учитывается. Задается и вычисляется полностью аналогично комиссиям (при вычислении учитывается параметр "посегментный расчет комиссии"). Используется для расчета "прибыльности" авиаперелета, влияет на работу микшера и выписанных заказов менеджерам доступна ссылка может повлиять на логи ценообразования:сбор при установке параметра "минимальная прибыль".
Из всех сработавших правил бонус будет учтен только из одного по следующему приоритету:* Максимальный приоритет за сработавшим комиссионным правилом* Если в комиссионном правиле бонуса нет, будет использован бонус из другого сработавшего '''некомиссионного''' правила (дополнительного правила с пустой комиссией). Если таких правил несколько, используется правило с наибольшим идентификатором (ниже в таблице)| "xxxКОД" (код валюты) или "XX%"| 100RUB<br/>13%|-| бонус за сегмент (допустимые авиакомпании)| <span id="modeForAirlines">modeForAirlines</span>| Установка текущего параметра принудительно включает режим расчета бонуса за каждый сегмент перелёта (для абсолютно заданного бонуса), но в расчете учитываются только сегменты с валидирующим или с интерлайновыми перевозчиками из заданного здесь списка.| пустое<br/>КОД (код АК)<br/>КОД,КОД...| SU<br/>SU,FV|-| сбор агентства| <span id="charge">charge</span>| Здесь указываются все наценки/скидки, которые будут применены для описанного правилом перелета. В одном поле можно указать несколько ценовых правил, разделив их по типам пользователя.<br/>формат = (субъект:сумма),(субъект:сумма),(субъект:сумма)...<br/>субъект = ID групп, пользователей и два значения "B2C", "B2B" с возможностью <>отрицания<br/>сумма = слагаемое + слагаемое + слагаемое...[ограничение]<br/>ограничение = диапазон итоговой величины сбора, задается как [цена,цена]<br/>слагаемое = цена*множитель*множитель...<br/>цена = "xxxКОД" (код валюты) или "XX%" (проценты от итоговой стоимости ГРС)<br/>множитель = одно из значений:* PAS - общее количество пассажиров* ADT - количество взрослых* CLD - количество детей (2-12)* INF - количество младенцев (0-2)* INS - количество младенцев с местом (0-2)* SEG - количество сегментов перелета (перелет из А в Б с 1 пересадкой => 2 сегмента)* LEG - количество плечей (перелет из А в Б с 1 пересадкой => 1 плечо)* TRF - для получения цены тарифа, равен сумме тарифов* SGV - количество сегментов валидирующего перевозчикаПримеры:* 100RUB*SEG&nbsp;: плюс 100 руб к стоимости заказа за каждый сегмент* 150RUB*SEG*PAS;: плюс 150 руб за каждый сегмент, на каждого пассажира. Например: перелет с двумя сегмента и двумя пассажирами = 600 руб.* -10%*TRF&nbsp;: 10% скидка от тарифа* 50RUB*LEG*ADT[Файл,1000RUB]&nbsp;: 50 руб за каждый билет для взрослого на каждом плече перелета, но не более 1000RUB* (<>123,345:ЛКссылка100RUB), (123,345: -100RUB)&nbsp;: субъекты 123 и 345 получат скидку 100 руб.jpg, остальные наценку в 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 руб.
Внешний вид таблицы Если срабатывает несколько ценовых правил, перечисленных через запятую, берется их сумма. Если это не подходящее поведение, разделяйте ценовые правила в отдельные перелетные правила (строки), их можно регулировать приоритетом.| см. описание| см. описание|-| признак доп.сбора| <span id="chargeExt">chargeExt</span>| Настройка позволяет изменять процедуру расчета правил:сбора, добавляя к итоговому результату дополнительные расчетные правила.* 0 - Стандартный сбор (значение по умолчанию). Из всех указанных сборов будет применен один по приоритету.<br/>* 1 - Дополнительный сбор. Сборы, указанные как дополнительные, проверяются отдельно. Аналогично применится один дополнительный сбор с максимальным приоритетом* 2 - Обязательный сбор. Будет обязательно применен, если все параметры сбора удовлетворены. Приоритет игнорируется.| пустое = 0<br/>1<br/>2|0<br/>1|-| минимальная прибыль| <span id="minProfit">minProfit</span>| Минимальная прибыль, которую агентство получит за заказ. Если рассчитанная прибыль агентства меньше минимальной, то сбор будет увеличен до необходимого значения.Формат аналогичен формату сбора агентства. Для расчетов будет применено значение из правила, по которому будет определена комиссия авиакомпании. Если требуется изменить это поведение, следует установить параметр "приоритет мин. прибыли" (см. ниже)| см. описание| 50RUB*LEG*PAS|-| приоритет мин. прибыли| <span id="minProfitPriority">minProfitPriority</span>| Дополнительный параметр, отвечающий за расчет минимальной прибыли. Сработает правило с наибольшим приоритетом, если приоритет совпадает, то будет использовано правило, которое находится ниже| Положительные числовые значения.| 1, 2, ...|-| округление| <span id="chargeRounding">chargeRounding</span>| Порядок арифметического округления сбора| пустое = 0,<br/>0 = до целого значения,<br/>0.1 = до десятых,<br/>0.01 = до сотых| 0.1<br/>0.01|-| <br/>| <br/>| <br/>| <br/>| <br/>|}
[[Файл:логи== Дополнительные параметры правил для {{NameSystem}} платформы =={| {| class="wikitable mw-collapsible mw-collapsed"|-! scope="col" | Заголовок! scope="col" | Внутреннее название! scope="col" | Описание! scope="col" | Допустимые значения! scope="col" | Примеры|-| tour code| <span id="id">gdsTourCode</span>| Тур код| любое значение| 15ZU|-цены2.0.jpg| ticket designator| <span id="id">gdsTicketDesignator</span>| Тикет десигнатор| любое значение| PP08|-| endorsement| <span id="id">gdsEndorsment</span>| Эндорсменты| любое значение| Non-Endorsable/Valid on BA/IB only/Refund only to issuing agent|-| собственная прибыль агента| <span id="id">comAgentProfit</span>| Собственная прибыль агента| "xxxКОД" (код валюты) или "XX%"| 100RUB<br/>2%|1200px]]}
Этот расчет выполняется в реальном времени, то есть использует правила, загруженные в систему на момент проверки. Расчет правил, действующих на момент бронирования, можно просмотреть в логах по заказу== Ценообразование.ГРС SITA Gabriel ==
Первый расчет комиссий Задание ценовых правил для авиакомпании '''«Сибирь» (S7 Airlines)''' в ГРС ''SITA Gabriel'' имеет свою специфику. Поскольку в ГРС ''SITA Gabriel'' осуществляется только бронирование и сборов происходит уже выписка, а [[Поиск (Авиабилеты)|поиск]] ведется в других ГРС, цена перелета при формировании выдачи результатов поиска. Для неоплаченного поиске и невыписанного заказа перерасчет цены и комиссий происходит при бронировании и каждом последующем обновлении заказаможет отличаться на размер такс, которые есть в ГРC, используемой для поиска, но не нет в том числе ''SITA Gabriel''. Чтобы цена при переходе к оплате и выписке билетовбронированию не менялась, в ценообразовании задают специальные правила, где устанавливают скидку на размер таксы с использованием параметра '''Цена подтверждена''' (см. [[Ценообразование (Авиабилеты)#Параметры правил ценообразования|Параметры правил ценообразования]]).
Нужно учитывать, что после бронирования Коды такс: * ГРС Sabre – YQF.* ГРС Sirena – ZZ.* ГРС Galileo и до выписки правила могут быть измененыAmadeus – YQ. В таком случае размер комиссий, измененный при пересчете будет применен всегда. Применение пересчитанных сборов зависит Размеры такс варьируются в зависимости от значения настройки '''''«Пересчитать сервисный сбор»''''' в разделе '''«Заказы»''' → '''«События синхронизации»'''курса.
== Переход со старой версии на новую==В разделе Правило для перелетов авиакомпании '''«Ценообразование 2.0»«Сибирь» (S7 Airlines)''' → '''«Настройки»''' можно активировать применение правил из файла в любой момент, как для всего агентства так и для любого из пользователей. Применение комиссий и применение сборов из файла активируется отдельно.разбивается на 2:
Таким образом можно регулировать работу модуля во время тестирования# Правило ''для поиска'': #* валидирующий перевозчик: '''''S7''''';#* системы бронирования: '''''SITA''''';#* цена подтверждена: '''0''';#* сбор агентства: ''укажите размер сбора агентства и скидку на размер таксы от ГРС, и проводить тестирование не останавливая работу в боевом режимеиспользуемой для поиска''.# Правило ''для бронирования'':#* валидирующий перевозчик: '''''S7''''';#* системы бронирования: '''''SITA''''';#* цена подтверждена: '''1''';#* сбор агентства: ''укажите только размер сбора агентства''.
При включенном {| class="wikitable"|-|[[Файл:Правила_цо_для_ак_сибирь.png|1000px]]|-|Правила ценообразования для агентства модуле '''«Ценообразование 2авиакомпании «Сибирь« (S7 Airlines)|}<!--Например ([[Файл:Example.xls|200px|thumb|left|пример файла]]): * для строки поиска задать скидку на размер таксы ''' доступ ко всем настройкам по работе с ценами версии 1.0 перенесен в раздел ''«YQF - для Сейбр/ZZ - для Сирены/YQ - для Галилео»'«Ценообразование 2.0»''' → '''«Настройки»''', и в столбце «[http://support.nemo.travel/ru/Ценообразование._Импорт_правил#charge Сбор]» нужно проставить "0" - что означает, что цена еще не подтверждена, и к ней применится сбор, установленный вами.* во второй строке, для бронирования, для GDS SITA в столбце «Цена подтверждена» проставить «1», и скидку с размером таксы уже не указывать. Тогда цена не изменится при переходе с поиска.-->
Перенесены разделы:== См. также ==* Старые комиссии от авиакомпаний* Старые комиссии субагентам* Старый справочник контрактных авиакомпаний* Старый справочник интерлайнов* Старые сборы* Старые настройки сборов[[Ценообразование для субагентов (Авиабилеты)]]
'