Nemo Inventory (компонент): различия между версиями
(→Таблица Рейс) |
(→Изменение расписания) |
||
(не показано 76 промежуточных версий 4 участников) | |||
Строка 1: | Строка 1: | ||
[[Категория:Модули]] | [[Категория:Модули]] | ||
[[Категория:Дополнительные модули]] | [[Категория:Дополнительные модули]] | ||
− | '''Nemo Inventory (Инвентори)''' | + | == О компоненте == |
+ | '''Nemo Inventory (Инвентори)''' — система управления контентом (ресурсом мест и тарифами). Инвентори помогает организовать онлайн-продажи тех перелетов, которые не доступны через обычные интеграции с поставщиками авиаконтента. | ||
− | + | Nemo Inventory разработана в соответствии с рекомендациями IATA. С ее помощью агенты могут полностью контролировать и планировать ресурсы и посадочные места, а перевозчики — управлять собственными ресурсами мест для максимизации дохода. | |
− | == Примеры использования == | + | === Примеры использования === |
− | |||
− | |||
− | |||
− | |||
− | + | Nemo Inventory используется для: | |
− | |||
− | + | * продажи блочных (блок-чартерных) мест на регулярных или чартерных рейсах, когда места на рейсах определённой а/к по определенному маршруту и с определенным расписанием выкуплены заказчиком (фрахтователем); | |
+ | * договорных тарифов, которые существуют на бумаге, но отсутствуют в GDS. Места при этом берутся из обычного общедоступного блока мест в GDS; | ||
+ | * договорных тарифов, брони по которым оформляются авиакомпанией внутри своего хостинга по отдельной процедуре; | ||
+ | * других случаев, при которых невозможно организовать онлайн-продажи через GDS. | ||
− | + | === Преимущества === | |
− | Инвентори | + | ✅ Инвентори помогает организовать онлайн-продажи вашего уникального контента так же просто и эффективно, как и продажи перелётов из классических источников (GDS). Для ваших клиентов — путешественников и субагентов — покупка перелета из Инвентори происходит так же, как из GDS. |
− | + | ✅ Инвентори расширяет общую выдачу доступных авиаперевозок специальными тарифами и чартерными перевозками (классические чартеры, блок чартеры на регулярных рейсах, и т.д.). | |
− | + | ✅ Для туристических компаний, фрахтующих значительные объемы мест, Инвентори дает возможность эффективно реализовывать оставшиеся посадочные места, распродавать «горящие» остатки мест, продавать пустые прогоны на завозных и вывозных рейсах (так называемые «empty lеgs») в начале и конце чартерной программы. | |
− | + | ✅ Контент, заведенный через Инвентори, может использоваться как на вашем собственном сайте, так и на других ресурсах за счет API. | |
+ | |||
+ | Эти преимущества делают Инвентори незаменимым средством для продажи спецтарифов через все возможные каналы продаж. | ||
+ | |||
+ | === Подключение и настройка === | ||
+ | |||
+ | Компонент настраивается в разделе '''Работа с заказами → Nemo Inventory''' и включает в себя подразделы: | ||
+ | |||
+ | * '''Управление контентом''', | ||
+ | * '''Монитор рейсов''', | ||
+ | * '''Простановка номеров билетов'''. | ||
+ | |||
+ | Nemo Inventory подключается администратором {{NameSystem}}. Для подключения обратитесь в [http://helpdesk.nemo.travel трекер техподдержки] {{NameSystem}}. | ||
+ | |||
+ | == Принцип работы компонента == | ||
+ | |||
+ | В {{NameSystem}} компонент Инвентори выступает поставщиком авиаконтента по аналогии с классическими GDS. Это значит, что контент, заведенный в Инвентори, возможно использовать в рамках стандартного функционала {{NameSystem}}: осуществлять поиск, бронирование, отмену перелета. | ||
+ | |||
+ | При этом предоставляются широкие возможности по управлению ресурсом мест и тарифами. Это достигается во многом за счет того, что менеджер агентства самостоятельно заносит контент в XLS-файлы и загружает их в Инвентори. | ||
+ | |||
+ | Nemo Inventory поддерживает следующие типы контента: | ||
− | |||
* рейс, | * рейс, | ||
* ресурс мест, | * ресурс мест, | ||
Строка 33: | Строка 51: | ||
* такса. | * такса. | ||
− | == | + | == Раздел «Управление контентом» == |
− | + | В этом разделе вы можете работать с контентом: загружать его в систему и экспортировать для последующего редактирования. | |
− | |||
− | |||
− | |||
− | === | + | === Подготовка данных к загрузке === |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | Перед загрузкой контента в Инвентори внесите контент в XLS-файлы. Шаблоны файлов: | |
− | |||
− | |||
− | |||
− | + | Рейсы: [[Файл:Flight empty.xls]], | |
− | + | Комбинации: [[Файл:Combination empty.xls]], | |
− | + | Тарифы: [[Файл:Tariff ow empty.xls]]. | |
− | + | ==== Рейс ==== | |
− | + | Этот тип контента содержит информацию о рейсе, на которое агентство продает места. Включает в себя: | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
* тип рейса (чартер/регулярный), | * тип рейса (чартер/регулярный), | ||
* признак активности, | * признак активности, | ||
* номер рейса, компании, | * номер рейса, компании, | ||
− | * | + | * коды маркетинговой и оперирующей а/к, |
* расписание, | * расписание, | ||
− | * | + | * прочее. |
− | |||
− | |||
{| class="wikitable mw-collapsible mw-collapsed" | {| class="wikitable mw-collapsible mw-collapsed" | ||
− | !colspan = 4| | + | !colspan = 4|Как заполнять данные о рейсе |
|- | |- | ||
− | ! scope="col" | | + | ! scope="col" | Поле |
! scope="col" | Описание | ! scope="col" | Описание | ||
! scope="col" | Допустимые значения | ! scope="col" | Допустимые значения | ||
Строка 108: | Строка 82: | ||
|- | |- | ||
| <span id="id">id</span> | | <span id="id">id</span> | ||
− | | Уникальный номер записи о перелете, который присваивает система.< | + | | Уникальный номер записи о перелете, который присваивает система при выгрузке файла. <span style="background-color: #fbecdd;">При загрузке файла не заполняется</span>.<br/>Редактирование правила с заданным id приводит к изменению уже созданного правила, а если поле пустое, то будет создано новое правило. |
| Пустое или системный номер | | Пустое или системный номер | ||
| 30<br/>48 | | 30<br/>48 | ||
|- | |- | ||
| <span id="активен">активен</span> | | <span id="активен">активен</span> | ||
− | | | + | | Определяет, будет ли рейс появляться в поисковой выдаче<br/> |
− | | 1 — активен <br/> 0 — неактивен <br/> -1 — удаление рейса <br/> пустое — неактивен | + | | <code>1</code> — активен<br/> <code>0</code> — неактивен<br/> <code>-1</code> — удаление рейса<br/> пустое — неактивен |
| 1 <br/> 0 <br/> -1 | | 1 <br/> 0 <br/> -1 | ||
|- | |- | ||
| <span id="ВП">маркетинговая компания</span> | | <span id="ВП">маркетинговая компания</span> | ||
− | | Код | + | | Код [[Маркетинговый_перевозчик| перевозчика]], который владеет местами и тарифами на рейсе (для регулярных рейсов)<br/> |
− | | IATA код авиакомпании | + | | IATA-код авиакомпании |
− | | UT <br/> UN | + | | UT<br/>UN |
|- | |- | ||
| <span id="ВП">фрахтователь</span> | | <span id="ВП">фрахтователь</span> | ||
− | | Код | + | | Код перевозчика, который владеет местами и тарифами на рейсе (для чартерных рейсов)<br/> |
− | | IATA код авиакомпании | + | | IATA-код авиакомпании |
− | | UT <br/> UN <br/>S7 | + | | UT<br/>UN<br/>S7 |
|- | |- | ||
| <span id="а/к">оперирующая а/к</span> | | <span id="а/к">оперирующая а/к</span> | ||
− | | | + | | Код [[Оперирующий перевозчик|перевозчика]], выполняющего рейс <br/> |
− | | IATA код авиакомпании | + | | IATA-код авиакомпании |
| SU<br/>UN | | SU<br/>UN | ||
|- | |- | ||
| <span id="вылет">вылет</span> | | <span id="вылет">вылет</span> | ||
− | | | + | | Код аэропорта вылета (допустимы агрегирующие) <br/> |
− | | | + | | IATA-код аэропорта |
| MOW <br/>VKO | | MOW <br/>VKO | ||
|- | |- | ||
| <span id="прилет">прилет</span> | | <span id="прилет">прилет</span> | ||
− | | | + | | Код аэропорта прилета (допустимы агрегирующие) <br/> |
− | | | + | | IATA-код аэропорта |
| MOW <br/>VKO | | MOW <br/>VKO | ||
|- | |- | ||
| <span id="посадка">посадка</span> | | <span id="посадка">посадка</span> | ||
− | | | + | | Код аэропорта технической посадки (допустимы агрегирующие). На рейсе можно указывать более 1 остановки.<br/><br/>Посадка считается остановкой, а не пересадкой, если при этом не происходит смены номера рейса. Даже если воздушное судно садится, пассажиров выгружают, загружают в другой самолет и отправляют дальше, без смены номера рейса это остается технической посадкой, которая отображается как техническая посадка на одном едином сегменте перелета.<br/> |
− | | | + | | IATA-код аэропорта |
| MOW <br/>VKO | | MOW <br/>VKO | ||
|- | |- | ||
| <span id="номер рейса">номер рейса</span> | | <span id="номер рейса">номер рейса</span> | ||
| Уникальный номер рейса<br/> | | Уникальный номер рейса<br/> | ||
− | | Цифры | + | | Цифры (допустимы латинские буквы) |
| 203<br/>11 | | 203<br/>11 | ||
|- | |- | ||
| <span id="терминал вылета">терминал вылета</span> | | <span id="терминал вылета">терминал вылета</span> | ||
− | | Код или номер терминала | + | | Код или номер терминала в аэропорту вылета<br/> |
| Латинские буквы или цифры | | Латинские буквы или цифры | ||
| А<br/>С | | А<br/>С | ||
|- | |- | ||
| <span id="терминал прилета">терминал прилета</span> | | <span id="терминал прилета">терминал прилета</span> | ||
− | | Код или номер терминала | + | | Код или номер терминала в аэропорту прилета<br/> |
| Латинские буквы или цифры | | Латинские буквы или цифры | ||
| А<br/>С | | А<br/>С | ||
Строка 168: | Строка 142: | ||
|- | |- | ||
| <span id="время прилета">время прилета</span> | | <span id="время прилета">время прилета</span> | ||
− | | Время прилета рейса по временной зоне аэропорта | + | | Время прилета рейса по временной зоне аэропорта прилета<br/> |
| HH:MM | | HH:MM | ||
| 22:05<br/>09:15 | | 22:05<br/>09:15 | ||
|- | |- | ||
| <span id="следующие сутки">следующие сутки</span> | | <span id="следующие сутки">следующие сутки</span> | ||
− | | Признак прилета в предыдущий или следующий день для аэропортов с существенной разницей во временных зонах. <br/>Задается в количестве суток разницы. | + | | Признак прилета в предыдущий или следующий день для аэропортов с существенной разницей во временных зонах.<br/>Задается в количестве суток разницы. |
| +значение<br/>-значение | | +значение<br/>-значение | ||
| +2 (прилет через сутки)<br/>-1 (прилет в предыдущие сутки) | | +2 (прилет через сутки)<br/>-1 (прилет в предыдущие сутки) | ||
|- | |- | ||
| <span id="дни недели">дни недели</span> | | <span id="дни недели">дни недели</span> | ||
− | | | + | | Список дней в рамках двухнедельного периода, который задается на определенный сезон. Дни по нечетным неделям задаются цифрами от 1 до 7, по четным — от 8 до 14.<br/><br/>Стартом для отсчета является первый день недели, с которой начинается сезон полетов (даже если этот день не попадает под расписание). Например, в расписании даты 26.07.2023 — 26.08.2023, где 26.07 — 3 день недели. Если 3 день будет указан в таблице, то рейс будет доступен 26.07, 9.08 и 23.08<br/><br/>В расписании можно задавать несколько сезонов полетов, для каждого из которых может быть свое расписание. Сезоны полетов не могут пересекаться: если рейс выполняется с 1 мая по 20 декабря по одним дням, а с 1 сентября по 1 ноября — по другим, то должно быть 3 сезона: с 1.05 по 31.08, с 1.09 по 1.11, с 2.11 по 20.12. |
− | | Цифры от 1 до 14, разделенные запятой | + | | Цифры от 1 до 14, разделенные запятой |
| 2,4,6,9,11,13 (вторник, четверг, суббота по четным и нечетным неделям) <br/>8,9,10,11,12,13,14 (все дни по четным неделям) | | 2,4,6,9,11,13 (вторник, четверг, суббота по четным и нечетным неделям) <br/>8,9,10,11,12,13,14 (все дни по четным неделям) | ||
|- | |- | ||
| <span id="сезон полетов начало">сезон полетов начало</span> | | <span id="сезон полетов начало">сезон полетов начало</span> | ||
− | | Дата начала | + | | Дата начала сезона полетов<br/> |
| DD.MM.YYYY | | DD.MM.YYYY | ||
| 01.01.2014<br/>02.08.2015 | | 01.01.2014<br/>02.08.2015 | ||
|- | |- | ||
| <span id="сезон полетов конец">сезон полетов конец</span> | | <span id="сезон полетов конец">сезон полетов конец</span> | ||
− | | Дата окончания | + | | Дата окончания сезона полетов<br/> |
| DD.MM.YYYY | | DD.MM.YYYY | ||
| 01.01.2015<br/>02.08.2016 | | 01.01.2015<br/>02.08.2016 | ||
|- | |- | ||
| <span id="тип вс">тип вс</span> | | <span id="тип вс">тип вс</span> | ||
− | | Тип воздушного судна, выполняющего рейс.<br/> | + | | Тип воздушного судна (ВС), выполняющего рейс.<br/>Для того чтобы информация о ВС подтянулась с путеводителя, нужно указать трехзначный код ВС. |
| Текстовая строка | | Текстовая строка | ||
| 139<br/>747 | | 139<br/>747 | ||
|- | |- | ||
| <span id="эконом">эконом</span> | | <span id="эконом">эконом</span> | ||
− | | Количество доступных мест на рейсе в базовом классе «Эконом» по каждому подклассу бронирования | + | | Количество доступных мест на рейсе в базовом классе «Эконом» по каждому подклассу бронирования |
| Литера подкласса + количество мест (без разделителя) | | Литера подкласса + количество мест (без разделителя) | ||
| Y9,T13,N9<br/>L17,M20 | | Y9,T13,N9<br/>L17,M20 | ||
|- | |- | ||
| <span id="бизнес">бизнес</span> | | <span id="бизнес">бизнес</span> | ||
− | | Количество доступных мест на рейсе в базовом классе «Бизнес» по каждому подклассу бронирования | + | | Количество доступных мест на рейсе в базовом классе «Бизнес» по каждому подклассу бронирования |
| Литера подкласса + количество мест (без разделителя) | | Литера подкласса + количество мест (без разделителя) | ||
| J9,C12,D9<br/>C12,D10 | | J9,C12,D9<br/>C12,D10 | ||
|- | |- | ||
| <span id="первый">первый</span> | | <span id="первый">первый</span> | ||
− | | Количество доступных мест на рейсе в базовом классе «Первый» по каждому подклассу бронирования | + | | Количество доступных мест на рейсе в базовом классе «Первый» по каждому подклассу бронирования |
− | | Литера подкласса + количество мест (без разделителя). Комбинации разделяются запятой | + | | Литера подкласса + количество мест (без разделителя). Комбинации разделяются запятой |
| F15,P2<br/>A10 | | F15,P2<br/>A10 | ||
|} | |} | ||
− | + | ==== Комбинации ==== | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | В файле '''Комбинации''' можно указывать: | |
− | + | * несколько перелетов на один и тот же рейс в разных конфигурациях, | |
− | * | + | * разные даты вылетов, |
+ | * список тарифов и тип направления перелета (эти поля носят справочный характер и не влияют на связь таблиц). | ||
− | + | Комбинация может содержать максимум 4 рейса. Информация о каждом рейсе в комбинации включает в себя: | |
− | * | + | * номер рейса, |
+ | * код авиакомпании, | ||
+ | * литеру класса, | ||
+ | * дату начала полетов, | ||
+ | * дату окончания полетов, | ||
+ | * дни между вылетами. | ||
+ | |||
+ | Между последовательными парами рейсов можно задавать ограничения по допустимой длительности путешествия в виде списка количества дней между датами вылета первого и второго рейсов в паре. Длительность путешествия вычисляется как прямое вычитание дат вылета первого и второго рейсов в паре (12.02 — 10.02 = 2 дня длительность путешествия). Если не указано, то никаких ограничений не применяется для данной пары рейсов. | ||
+ | |||
+ | {| class="wikitable mw-collapsible mw-collapsed" | ||
+ | !colspan = 4|Как заполнять данные о комбинациях | ||
+ | |- | ||
+ | ! scope="col" | Поле<br/> | ||
+ | ! scope="col" | Описание<br/> | ||
+ | ! scope="col" | Допустимые значения<br/> | ||
+ | ! scope="col" | Примеры<br/> | ||
+ | |- | ||
+ | | <span id="id">id</span> | ||
+ | | Уникальный номер записи о перелете, который присваивает система при выгрузке файла. <span style="background-color: #fbecdd;">При загрузке файла не заполняется</span>.<br/>Редактирование правила с заданным id приводит к изменению уже созданного правила, а если поле пустое, то будет создано новое правило | ||
+ | | Пустое или системный номер | ||
+ | | 30<br/>48 | ||
+ | |- | ||
+ | | <span id="активен">активен</span> | ||
+ | | Используется для удаления тарифа<br/> | ||
+ | | <code>-1</code> — удаление тарифа,<br/>пустое — без изменений | ||
+ | | -1 | ||
+ | |- | ||
+ | | <span id="тип маршрута">тип маршрута</span> | ||
+ | | Тип маршрута на данной комбинации | ||
+ | | | ||
+ | * OW,<br/> | ||
+ | * RT,<br/> | ||
+ | * CT | ||
+ | | OW<br/>RT | ||
+ | | | ||
+ | |- | ||
+ | | <span id="рейс">фрахтователь</span> | ||
+ | | Код компании, предоставляющей блок мест на данном рейсе (для чартеров - фрахтователь)<br/> | ||
+ | | IATA-код авиакомпании | ||
+ | | SU<br/>UN | ||
+ | |- | ||
+ | | <span id="ВП">номер рейса</span> | ||
+ | | Номер рейса<br/> | ||
+ | | Число | ||
+ | |112<br/>114 | ||
+ | |- | ||
+ | | <span id="литера">литера</span> | ||
+ | | Список литер классов перелета, которые могут участвовать в данной комбинации (минимум одна) <br/> | ||
+ | | Код | ||
+ | | Y<br/>D | ||
+ | |- | ||
+ | | <span id="дата начала полетов">дата начала полетов</span> | ||
+ | | Дата начала выполнения рейсов в рамках комбинации. Не может быть раньше даты первого рейса на основании расписания в '''Мониторе рейсов'''<br/> | ||
+ | | DD.MM.YYYY | ||
+ | | 01.01.2015<br/>02.08.2016 | ||
+ | |- | ||
+ | | <span id="дата окончания полетов">дата окончания полетов</span> | ||
+ | | Дата окончания выполнения рейсов в рамках комбинации. Не может быть позже даты последнего рейса на основании расписания в '''Мониторе рейсов'''<br/> | ||
+ | | DD.MM.YYYY | ||
+ | | 01.01.2014<br/>02.08.2015 | ||
+ | |- | ||
+ | | <span id="дней между">дней между</span> | ||
+ | | Допустимое количество дней между соседними рейсами в комбинации. Если не задано, то между соседними рейсами может быть любая длительность. Несколько значений указываются через <code>;</code><br/>'''Пример''': в комбинации 4 рейса. Между 1 и 2 рейсами должно быть X дней, между 2 и 3 — Y дней, между 3 и 4 — Z дней. В таком случае в поле нужно указать X;Y;Z. | ||
+ | | Цифра | ||
+ | | 1<br/>2;4;6 | ||
+ | |- | ||
+ | |} | ||
− | ==== | + | ==== Тариф ==== |
− | ''' | + | Тариф описывает правила формирования цены для определенного набора рейсов, заведенных в файле [[Nemo_Inventory_(компонент)#Комбинации|'''Комбинации''']]. |
− | + | <span style="background-color: #fbecdd;">Тарифы работают только с комбинациями рейсов, поэтому даже OW-перелеты, состоящие из одного рейса, нужно задавать как комбинации из одного рейса.</span> | |
− | { | + | {| class="wikitable mw-collapsible mw-collapsed" |
+ | !colspan = 4|Как заполнять данные о тарифах | ||
+ | |- | ||
+ | ! scope="col" | Поле<br/> | ||
+ | ! scope="col" | Описание<br/> | ||
+ | ! scope="col" | Допустимые значения<br/> | ||
+ | ! scope="col" | Примеры<br/> | ||
+ | |- | ||
+ | | <span id="id">id</span> | ||
+ | | Уникальный номер записи о перелете, который присваивает система при выгрузке файла. <span style="background-color: #fbecdd;">При загрузке файла не заполняется</span>.<br/>Редактирование правила с заданным id приводит к изменению уже созданного правила, а если поле пустое, то будет создано новое правило. | ||
+ | | Пустое или системный номер | ||
+ | | 30<br/>48 | ||
+ | |- | ||
+ | | <span id="активен">активен</span> | ||
+ | | Используется для удаления тарифа<br/> | ||
+ | | <code>-1</code> — удаление тарифа <br/> пустое — без изменений | ||
+ | | -1 | ||
+ | |- | ||
+ | | <span id="ВП">маркетинговая компания</span> | ||
+ | | Название или код [Маркетинговый перевозчик|маркетинговой авиакомпании]. Маркетинговая компания должна соответствовать фрахтователю из файла информации о рейсе.<br/> | ||
+ | | Текстовая строка | ||
+ | | SU<br/>UN | ||
+ | |- | ||
+ | |<span id="класс">класс</span> | ||
+ | | Базовый класс тарифа<br/> | ||
+ | | Текстовая строка: | ||
+ | * Economy — Эконом-класс (стандарт),<br/> | ||
+ | * Business — Бизнес-класс (стандарт и премиум),<br/> | ||
+ | * First — Первый класс (стандарт и премиум),<br/> | ||
+ | * PremiumEconomy — Премиум-эконом,<br/> | ||
+ | * Other — остальные классы. | ||
+ | | Business<br/>PremiumEconomy | ||
+ | |- | ||
+ | | <span id="код тарифа">код тарифа</span> | ||
+ | | Буквенно-цифровой код тарифа<br/> | ||
+ | | Текстовая строка | ||
+ | | BTWE<br/>ECNN | ||
+ | |- | ||
+ | | <span id="таймлимит">таймлимит</span> | ||
+ | | Время жизни бронирования до автоматической аннуляции.<br/>Задается как количество часов: | ||
+ | * с момента бронирования, | ||
+ | * до вылета, | ||
+ | * до конца суток бронирования (аннуляция запускается в 23:45 суток бронирования). | ||
+ | | | ||
+ | * +H, | ||
+ | * -Н, | ||
+ | * d | ||
+ | | | ||
+ | +24 (заказ аннулируется спустя сутки с момента бронирования)<br/>-120 (заказ аннулируется за 5 суток до вылета)<br/>d (заказ аннулируется в конце суток бронирования) | ||
+ | |- | ||
+ | | <span id="возврат">возврат</span> | ||
+ | | Условия возврата по тарифу<br/> | ||
+ | | | ||
+ | * <code>0</code> — полностью возвратный тариф, | ||
+ | * пустое значение — полностью невозвратный тариф. | ||
− | + | | 0 | |
+ | |- | ||
+ | | <span id="обмен">обмен</span> | ||
+ | | Условия обмена по тарифу<br/> | ||
+ | | | ||
+ | * <code>0</code> — обмен производится бесплатно, | ||
+ | * пустое значение — полностью невозвратный тариф. | ||
− | + | | 0 | |
− | * | + | |- |
− | * | + | | <span id="дата начала продаж">дата начала продаж</span> |
− | * | + | | Дата начала продаж по данному тарифу<br/> |
− | * | + | | DD.MM.YYYY |
− | * | + | | 01.01.2014<br/>02.08.2015 |
− | * | + | |- |
+ | | <span id="дата конца продаж">дата конца продаж</span> | ||
+ | | Дата окончания продаж по данному тарифу<br/> | ||
+ | | DD.MM.YYYY | ||
+ | | 01.01.2015<br/>02.08.2016 | ||
+ | |- | ||
+ | | <span id="дата начала полетов">дата начала полетов</span> | ||
+ | | Дата начала рейсов по данному тарифу. Указывается та же дата, что и в файле [[Nemo Inventory (компонент)#Комбинации|'''Комбинации''']]<br/> | ||
+ | | DD.MM.YYYY | ||
+ | | 01.01.2014<br/>02.08.2015 | ||
+ | |- | ||
+ | | <span id="дата конца полетов">дата конца полетов</span> | ||
+ | | Дата окончания рейсов по данному тарифу. Указывается та же дата, что и в файле [[Nemo Inventory (компонент)#Комбинации|'''Комбинации''']]<br/> | ||
+ | | DD.MM.YYYY | ||
+ | | 01.01.2015<br/>02.08.2016 | ||
+ | <span id="литера">литера</span> | ||
+ | |- | ||
+ | | <span id="цены на комбинации">цены на комбинации</span> | ||
+ | | Комбинация рейсов, к которым применяется тариф. Для каждой комбинации указывается своя цена | ||
+ | | id комбинации(цена) | ||
+ | | 1170(1000 RUB)<br/>4(13000 RUB) | ||
+ | |- | ||
+ | | <span id="скидка для ребенка">скидка для ребенка</span> | ||
+ | | Скидка от базового тарифа для категории пассажира «Ребенок»<br/> | ||
+ | | Процентное значение или значение в валюте базового тарифа | ||
+ | | 30%<br/>2000 | ||
+ | |- | ||
+ | | <span id="скидка для младенцев без места">скидка для младенцев без места</span> | ||
+ | | Скидка от базового тарифа для категории пассажира «Младенец без места»<br/> | ||
+ | | Процентное значение или значение в валюте базового тарифа | ||
+ | | 50%<br/>4000 | ||
+ | |- | ||
+ | | <span id="скидка для младенцев с местом">скидка для младенцев с местом</span> | ||
+ | | Скидка от базового тарифа для категории пассажира «Младенец без места»<br/> | ||
+ | | Процентное значение или значение в валюте базового тарифа | ||
+ | | 90%<br/>8000 | ||
+ | |- | ||
+ | | <span id="скидка для ребенка, летящего отдельно">скидка для ребенка, летящего отдельно</span> | ||
+ | | Скидка от базового тарифа для ребенка без сопровождения взрослого <br/> | ||
+ | | Процентное значение или значение в валюте базового тарифа | ||
+ | | 30%<br/>2000 | ||
+ | |- | ||
+ | | <span id="текст правил">текст правил</span> | ||
+ | | Текст условий применения тарифа | ||
+ | | Текстовая строка | ||
+ | | | ||
+ | |- | ||
+ | | <span id="питание">питание</span> | ||
+ | | Доступные для выбора типы питания на борту. Разделяются запятой | ||
+ | | | ||
+ | * AlcoholBeverages, | ||
+ | * Beverages, | ||
+ | * Breakfast, | ||
+ | * ColdMeal, | ||
+ | * ContinentalBreakfast, | ||
+ | * Dinner, | ||
+ | * HotMeal, | ||
+ | * Lunch, | ||
+ | * Meal, | ||
+ | * Refreshment, | ||
+ | * Snack | ||
+ | | Beverages,Snack,HotMeal<br/>ContinentalBreakfast,Lunch,Meal | ||
+ | |- | ||
+ | | <span id="багаж для взрослого">багаж для взрослого</span> | ||
+ | | Норма бесплатного провоза багажа для категории пассажира «Взрослый» <br/> | ||
+ | | | ||
+ | * Пустое — багаж оплачивается отдельно, | ||
+ | * 1PC — количество багажных мест, | ||
+ | * 10KG — максимальный вес в килограммах, | ||
+ | * 10LB — максимальный вес в фунтах | ||
+ | <!--* 60Х60Х60 — дополнительные ограничения по размеру багажа в сантиметрах, при заданной норме по весу--> | ||
+ | | 1PC (одно место)<br/>10LB (десять фунтов) | ||
+ | |- | ||
+ | | <span id="багаж для ребенка">багаж для ребенка</span> | ||
+ | | Норма бесплатного провоза багажа для категории пассажира «Ребенок»<br/> | ||
+ | | | ||
+ | * Пустое — багаж оплачивается отдельно, | ||
+ | * 1PC — количество багажных мест, | ||
+ | * 10KG — максимальный вес в килограммах, | ||
+ | * 10LB — максимальный вес в фунтах | ||
+ | <!--* 60Х60Х60 — дополнительные ограничения по размеру багажа в сантиметрах, при заданной норме по весу--> | ||
+ | | 1PC (одно место) <br/>10LB (десять фунтов) | ||
+ | |- | ||
+ | | <span id="багаж для младенца без места">багаж для младенца без места</span> | ||
+ | | Норма бесплатного провоза багажа для категории пассажира «Младенец без места»<br/> | ||
+ | | | ||
+ | * Пустое — багаж оплачивается отдельно, | ||
+ | * 1PC — количество багажных мест, | ||
+ | * 10KG — максимальный вес в килограммах, | ||
+ | * 10LB — максимальный вес в фунтах | ||
+ | <!--* 60Х60Х60 — дополнительные ограничения по размеру багажа в сантиметрах, при заданной норме по весу--> | ||
+ | | 1PC (одно место) <br/>10LB (десять фунтов) | ||
+ | |- | ||
+ | | <span id="багаж для младенца с местом">багаж для младенца с местом</span> | ||
+ | | Норма бесплатного провоза багажа для категории пассажира «Младенец с местом»<br/> | ||
+ | | | ||
+ | * Пустое — багаж оплачивается отдельно, | ||
+ | * 1PC — количество багажных мест, | ||
+ | * 10KG — максимальный вес в килограммах, | ||
+ | * 10LB — максимальный вес в фунтах | ||
+ | <!--* 60Х60Х60 — дополнительные ограничения по размеру багажа в сантиметрах, при заданной норме по весу--> | ||
+ | | 1PC (одно место) <br/>10LB (десять фунтов) | ||
+ | |- | ||
+ | | <span id="маска тарифа">маска тарифа</span> | ||
+ | | Маска тарифа для маршрутной квитанции. Если задана, в маршрутной квитанции код тарифа заменяется на заданное значение | ||
+ | | Текстовая строка | ||
+ | | CHRT<br/>CHRT BUSINESS | ||
+ | |- | ||
+ | | <span id="endorsement">endorsement</span> | ||
+ | | Эндорсмент. Задается, если нужно вывести его в маршрутной квитанции | ||
+ | | Текстовая строка | ||
+ | | | ||
+ | |- | ||
+ | | <span id="ticketing gtee">ticketing gtee</span> | ||
+ | | Гарантированный срок отправки маршрутной квитанции пассажиру | ||
+ | | H — количество часов до вылета | ||
+ | | 25<br/>48<br/> | ||
+ | |} | ||
+ | |||
+ | Для того чтобы управлять квотами мест по тарифам на определенном рейсе, вам нужно: | ||
+ | # занести в файл «Рейс» несколько строк, соответствующих данному рейсу на разные даты и с разными квотами (подклассами и количеством мест). | ||
+ | # занести в файл «Комбинации» условия на каждую дату и подкласс. | ||
+ | При этом важно учитывать, что данные в файлах «Рейс» и «Комбинации» связываются по коду фрахтователя. Это значит, что в файле «Рейс» каждая строка с рейсом должна иметь уникальный код фрахтователя. В противном случае система не сможет подобрать нужный рейс для комбинации. | ||
+ | |||
+ | === Загрузка данных в систему === | ||
+ | |||
+ | Для того чтобы загрузить контент в Инвентори: | ||
+ | |||
+ | 1. В выпадающем списке выберите тип файла, который вы собираетесь загрузить. | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | |[[Файл:Инвентори Импорт 1.png]] | ||
+ | |- | ||
+ | |Рисунок 1. Выбор типа импортируемого файла | ||
+ | |} | ||
+ | 2. Нажмите <code>Обзор...</code> и выберите нужный файл. | ||
+ | |||
+ | 3. Нажмите <code>Загрузить</code>. | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | |[[Файл:Инвентори Импорт 2.png]] | ||
+ | |- | ||
+ | |Рисунок 2. Загрузка файлов в Инвентори | ||
+ | |} | ||
+ | |||
+ | === Редактирование данных === | ||
+ | |||
+ | Для того чтобы изменить данные в файле: | ||
+ | |||
+ | # Нажмите на кнопку с соответствующим типом (см. Рисунок 3). | ||
+ | # Отредактируйте содержимое файла. | ||
+ | # [[Nemo Inventory (компонент)#Загрузка данных в систему|Загрузите]] отредактированный файл в систему. | ||
+ | |||
+ | <span style="background-color: #fbecdd;">Все ячейки файла должны быть в текстовом формате без лишних пробелов.</span> | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | |[[Файл:Инвентори Экспорт.png]] | ||
+ | |- | ||
+ | |Рисунок 3. Экспорт файлов | ||
+ | |} | ||
+ | |||
+ | Загружая обновленный файл в систему, вы получите предупреждение <code>Невозможно перезаписать более новые данные указанными устаревшими</code>. Предупреждение связано с контролем версий файла. На этом этапе вы можете: | ||
+ | |||
+ | * принудительно перезаписать данные, | ||
+ | * отказаться от загрузки. | ||
− | + | == Раздел «Монитор рейсов» == | |
+ | В этом разделе отображается расписание, сформированное на основе данных из раздела [[Nemo Inventory (компонент)#Раздел «Управление контентом»|'''Управление контентом''']]. | ||
− | Так | + | В верхней части окна указаны наименования маркетинговых компаний и количество рейсов на выбранный период (день, три дня, неделя, две недели, месяц). Так, на Рисунке 4 отображается 90 рейсов перевозчика Nemo (<code>Nemo : 90</code>, период — месяц). |
− | + | Карточка рейса содержит: | |
− | |||
− | |||
− | + | * наименование маркетингового перевозчика и номер рейса; | |
− | + | * прогресс-бар, отображающий долю проданных мест; | |
+ | * маршрут. | ||
− | + | Кликнув на карточку рейса, вы увидите количество проданных мест и статистику продаж по каждому классу бронирования. Здесь же вы можете изменить расписание, перейдя по соответствующей ссылке. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | {| class="wikitable" | |
+ | |- | ||
+ | |[[Файл:monit.png|1000px|Раздел «Монитор рейсов»]] | ||
+ | |- | ||
+ | |Рисунок 4. Раздел '''Монитор рейсов''' | ||
+ | |} | ||
− | + | === Изменение расписания === | |
− | + | Функция '''Изменение расписания''' полезна, если вам нужно: | |
− | |||
− | + | * закрыть продажи на данный рейс на определенный день, | |
+ | * изменить время вылета/прилета, | ||
+ | * изменить номер рейса, | ||
+ | * добавить новые дни вылета, не входящие в основное расписание рейса. | ||
− | + | {| class="wikitable" | |
− | + | |- | |
− | + | |[[Файл:change1.png|600px|Изменение расписания рейса на конкретные даты]] | |
− | + | |- | |
− | + | |Рисунок 5. Изменение расписания в разделе '''Монитор рейсов''' | |
− | + | |} | |
− | |||
− | |||
− | |||
− | == | + | == Раздел «Простановка номеров билетов» == |
− | + | ||
+ | В этом разделе отображаются заказы, в которых нужно проставить номера билетов. Доступ к разделу имеет [[Менеджер агентства|менеджер]] и [[Эксперт по бронированию|эксперт]] агентства. Проставить номера билетов нужно для того, чтобы завершить выписку заказа (см. [[Nemo Inventory (компонент)#Контент Nemo Inventory в продаже перелетов|Контент Nemo Inventory в продаже перелетов]]). | ||
+ | |||
+ | Раздел представляет собой список форм с указанием даты вылета (несколько забронированных перелетов на одинаковую дату вылета располагаются на одной форме). При нажатии на форму раскрывается список направлений вылетов. | ||
+ | |||
+ | Для того чтобы проставить номера билетов из файла: | ||
+ | # Нажмите <code>Обзор..</code> и выберите нужный файл. | ||
+ | # Нажмите <code>Импорт</code>. | ||
− | = | + | {| class="wikitable" |
+ | |- | ||
+ | |[[Файл:Автоматическая простановка номеров билетов.png|Раздел «Простановка номеров билета»]] | ||
+ | |- | ||
+ | |Рисунок 7. Раздел '''Простановка номеров билетов''' | ||
+ | |} | ||
− | + | Уникальные данные, по которым происходит идентификация заказа при импорте: | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | * Фамилия, Имя (ФИО, разделитель пробел), | |
− | + | * Дата рождения (d.m.Y), | |
− | + | * Номер рейса, | |
− | * | + | * № билета, |
− | * | + | * Дата вылета (d.m.Y). |
− | |||
− | + | {| class="wikitable mw-collapsible mw-collapsed" | |
− | + | !colspan = 5|Пример файла | |
− | + | |- | |
− | + | ! scope="col" | Фамилия, Имя<br/> | |
+ | ! scope="col" | Дата рождения<br/> | ||
+ | ! scope="col" | Номер рейса<br/> | ||
+ | ! scope="col" | № билета<br/> | ||
+ | ! scope="col" | Дата вылета<br/> | ||
+ | |- | ||
+ | | <span id="WOLF JANELLE">WOLF JANELLE</span> | ||
+ | | 18.09.1994 | ||
+ | | 911 | ||
+ | | 1952438681143 | ||
+ | | 22.05.2023 | ||
+ | |- | ||
+ | | <span id="FLAGMANSDG IVAN">FLAGMANSDG IVAN</span> | ||
+ | | 10.10.1990 | ||
+ | | 911 | ||
+ | | 1952438681144 | ||
+ | | 22.05.2023 | ||
+ | |} | ||
− | == | + | == Контент Nemo Inventory в продаже перелетов == |
− | + | Порядок и логика использования разных типов контента при поиске, бронировании и выписке. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | === Поиск === | |
− | |||
− | |||
− | |||
− | + | Поисковый запрос в Инвентори обрабатывается так: | |
− | |||
− | |||
− | |||
− | + | # '''Для запрошенных сегментов строится маршрут'''. Максимальная длина маршрута для запрошенного сегмента ограничена 1 сегментом. На текущий момент пересадочный рейс ищется только как сложный маршрут. Если для одного из сегментов не удалось построить маршрут, то поиск прерывается ошибкой <code>Невозможно построить маршрут для запрошенного сегмента</code>.<br /><br /> | |
+ | # '''Для построенных маршрутов ищутся подходящие рейсы и строятся полные перелеты.'''<br />Поиск прерывается, если: | ||
+ | #* для одного из сегментов не удалось найти подходящих рейсов (ошибка <code>Не удалось найти расписание, удовлетворяющее заданным критериям, для сегмента</code>); | ||
+ | #* не удалось построить ни одного полного перелета (ошибка <code>Невозможно построить полный перелёт, удовлетворяющий заданным критериям</code>); | ||
+ | #* ни для одного из построенных перелетов нет нужного количества мест (ошибка <code>Нет необходимого количества свободных мест на перелётах, удовлетворяющих заданным критериям</code>).<br /><br /> | ||
+ | # '''К построенным перелетам применяются комбинации рейсов.''' При этом перелеты из более чем 4 сегментов отбрасываются.<br />Если для перелета не удалось найти полностью ему соответствующей комбинации, то для каждого сегмента в перелете ищется отдельная комбинация. Если ни для одного из перелетов не удалось найти подходящих комбинаций, то поиск прерывается ошибкой <code>Нет допустимых комбинаций рейсов, удовлетворяющих заданным критериям</code>.<br /><br /> | ||
+ | # '''Для каждого перелета формируется набор тарифов с наименьшей ценой.''' При этом система: | ||
+ | ## Рассматривает каждую комбинацию, которая применилась к перелету. | ||
+ | ## Получает все тарифы для владельца мест на первом рейсе комбинации. <br />Для каждого тарифа проверяется: | ||
+ | ##* применимость к текущей комбинации рейсов (по ID комбинации), | ||
+ | ##* возможность продажи по данному тарифу первого рейса из комбинации. При этом проверяется, что: | ||
+ | ##** текущая дата входит в один из сезонов продажи тарифа (<code>SalesDates</code>) и этот сезон не заканчивается через час; | ||
+ | ##** дата вылета первого рейса в комбинации входит в один из сезонов обслуживания тарифа (<code>ServiceDates</code>); | ||
+ | ##** соблюдены ограничения на минимальное время до вылета и максимальное количество дней до вылета. | ||
+ | ##* доступ к тарифу, если он приватный, а также ограничения по предпочитаемым типам тарифа из поискового запроса; | ||
+ | ##* применимость тарифа для запрошенных типов пассажира (если тариф заведен на тип пассажира, отличный от ADT).<br />Если тариф прошел все проверки, то он считается применимым к данной комбинации. Если подходящих тарифов не нашлось, то оценка данного перелета прекращается, и в поисковую выдачу он не попадает.<br /><br /> | ||
+ | # '''Из всех подходящих тарифов выбирается тариф с наименьшей ценой (с учетом цены комбинации и запрошенных типов пассажиров)'''.<br />Если ни для одного перелета не нашлось подходящих цен, то поиск прерывается ошибкой <code>Не удалось найти цен, удовлетворяющих заданным критериям</code>.<br />Перелеты, цены для которых нашлись, попадают в поисковую выдачу. | ||
− | === | + | === Бронирование === |
− | + | Бронирование в Инвентори происходит следующим образом: | |
+ | # Система проверяет наличие: | ||
+ | #* бронируемых рейсов, | ||
+ | #* нужного количества мест на них. | ||
+ | # Система оценивает забронированный перелет так же, как при поиске. | ||
+ | # На основании всех полученных данных в Инвентори создается объект PNR. <br />Если цену получить не удалось, то взятые места возвращаются в пул доступных для бронирования, и бронирование прерывается соответствующей ошибкой. | ||
− | + | Доступные действия с бронью: | |
− | + | * обновление (получение актуального статуса и цены), | |
− | + | * отмена, | |
− | + | * выписка. | |
− | + | === Выписка === | |
+ | Выписка в Инвентори выполняется в 3 этапа: | ||
+ | # После поступления оплаты от клиента бронь приобретает статус <code>ожидает выписки</code>. | ||
+ | # Представитель агента вручную переносит брони в стороннюю систему (GDS или инвенторную систему а/к) для автоматической выписки билетов. | ||
+ | # Представитель агента загружает файл с выписанными билетами в раздел Инвентори [[Nemo Inventory (компонент)#Раздел «Простановка номеров билетов»|'''Простановка номеров билетов''']]. | ||
− | + | Когда номера билетов будут проставлены, бронь в Инвентори принимет статус <code>выписано</code>. При этом ЭД, сгенерированные на первом этапе, деактивируются со статусом <code>использовано</code>. | |
− | + | Бронь после выписки и до внесения билетов а/к можно войдировать в течение некоторого времени. При этом ЭД на оформление билетов деактивируются со статусом <code>отменено</code>. Удаление внесенных билетов а/к на данный момент не поддерживается. |
Текущая версия на 12:30, 13 июня 2024
Содержание
О компоненте
Nemo Inventory (Инвентори) — система управления контентом (ресурсом мест и тарифами). Инвентори помогает организовать онлайн-продажи тех перелетов, которые не доступны через обычные интеграции с поставщиками авиаконтента.
Nemo Inventory разработана в соответствии с рекомендациями IATA. С ее помощью агенты могут полностью контролировать и планировать ресурсы и посадочные места, а перевозчики — управлять собственными ресурсами мест для максимизации дохода.
Примеры использования
Nemo Inventory используется для:
- продажи блочных (блок-чартерных) мест на регулярных или чартерных рейсах, когда места на рейсах определённой а/к по определенному маршруту и с определенным расписанием выкуплены заказчиком (фрахтователем);
- договорных тарифов, которые существуют на бумаге, но отсутствуют в GDS. Места при этом берутся из обычного общедоступного блока мест в GDS;
- договорных тарифов, брони по которым оформляются авиакомпанией внутри своего хостинга по отдельной процедуре;
- других случаев, при которых невозможно организовать онлайн-продажи через GDS.
Преимущества
✅ Инвентори помогает организовать онлайн-продажи вашего уникального контента так же просто и эффективно, как и продажи перелётов из классических источников (GDS). Для ваших клиентов — путешественников и субагентов — покупка перелета из Инвентори происходит так же, как из GDS.
✅ Инвентори расширяет общую выдачу доступных авиаперевозок специальными тарифами и чартерными перевозками (классические чартеры, блок чартеры на регулярных рейсах, и т.д.).
✅ Для туристических компаний, фрахтующих значительные объемы мест, Инвентори дает возможность эффективно реализовывать оставшиеся посадочные места, распродавать «горящие» остатки мест, продавать пустые прогоны на завозных и вывозных рейсах (так называемые «empty lеgs») в начале и конце чартерной программы.
✅ Контент, заведенный через Инвентори, может использоваться как на вашем собственном сайте, так и на других ресурсах за счет API.
Эти преимущества делают Инвентори незаменимым средством для продажи спецтарифов через все возможные каналы продаж.
Подключение и настройка
Компонент настраивается в разделе Работа с заказами → Nemo Inventory и включает в себя подразделы:
- Управление контентом,
- Монитор рейсов,
- Простановка номеров билетов.
Nemo Inventory подключается администратором Nemo.Travel. Для подключения обратитесь в трекер техподдержки Nemo.Travel.
Принцип работы компонента
В Nemo.Travel компонент Инвентори выступает поставщиком авиаконтента по аналогии с классическими GDS. Это значит, что контент, заведенный в Инвентори, возможно использовать в рамках стандартного функционала Nemo.Travel: осуществлять поиск, бронирование, отмену перелета.
При этом предоставляются широкие возможности по управлению ресурсом мест и тарифами. Это достигается во многом за счет того, что менеджер агентства самостоятельно заносит контент в XLS-файлы и загружает их в Инвентори.
Nemo Inventory поддерживает следующие типы контента:
- рейс,
- ресурс мест,
- комбинация рейсов,
- тариф,
- такса.
Раздел «Управление контентом»
В этом разделе вы можете работать с контентом: загружать его в систему и экспортировать для последующего редактирования.
Подготовка данных к загрузке
Перед загрузкой контента в Инвентори внесите контент в XLS-файлы. Шаблоны файлов:
Рейсы: Файл:Flight empty.xls, Комбинации: Файл:Combination empty.xls, Тарифы: Файл:Tariff ow empty.xls.
Рейс
Этот тип контента содержит информацию о рейсе, на которое агентство продает места. Включает в себя:
- тип рейса (чартер/регулярный),
- признак активности,
- номер рейса, компании,
- коды маркетинговой и оперирующей а/к,
- расписание,
- прочее.
Как заполнять данные о рейсе | |||
---|---|---|---|
Поле | Описание | Допустимые значения | Примеры |
id | Уникальный номер записи о перелете, который присваивает система при выгрузке файла. При загрузке файла не заполняется. Редактирование правила с заданным id приводит к изменению уже созданного правила, а если поле пустое, то будет создано новое правило. |
Пустое или системный номер | 30 48 |
активен | Определяет, будет ли рейс появляться в поисковой выдаче |
1 — активен0 — неактивен-1 — удаление рейсапустое — неактивен |
1 0 -1 |
маркетинговая компания | Код перевозчика, который владеет местами и тарифами на рейсе (для регулярных рейсов) |
IATA-код авиакомпании | UT UN |
фрахтователь | Код перевозчика, который владеет местами и тарифами на рейсе (для чартерных рейсов) |
IATA-код авиакомпании | UT UN S7 |
оперирующая а/к | Код перевозчика, выполняющего рейс |
IATA-код авиакомпании | SU UN |
вылет | Код аэропорта вылета (допустимы агрегирующие) |
IATA-код аэропорта | MOW VKO |
прилет | Код аэропорта прилета (допустимы агрегирующие) |
IATA-код аэропорта | MOW VKO |
посадка | Код аэропорта технической посадки (допустимы агрегирующие). На рейсе можно указывать более 1 остановки. Посадка считается остановкой, а не пересадкой, если при этом не происходит смены номера рейса. Даже если воздушное судно садится, пассажиров выгружают, загружают в другой самолет и отправляют дальше, без смены номера рейса это остается технической посадкой, которая отображается как техническая посадка на одном едином сегменте перелета. |
IATA-код аэропорта | MOW VKO |
номер рейса | Уникальный номер рейса |
Цифры (допустимы латинские буквы) | 203 11 |
терминал вылета | Код или номер терминала в аэропорту вылета |
Латинские буквы или цифры | А С |
терминал прилета | Код или номер терминала в аэропорту прилета |
Латинские буквы или цифры | А С |
время вылета | Время вылета рейса по временной зоне аэропорта вылета |
HH:MM | 23:04 11:15 |
время прилета | Время прилета рейса по временной зоне аэропорта прилета |
HH:MM | 22:05 09:15 |
следующие сутки | Признак прилета в предыдущий или следующий день для аэропортов с существенной разницей во временных зонах. Задается в количестве суток разницы. |
+значение -значение |
+2 (прилет через сутки) -1 (прилет в предыдущие сутки) |
дни недели | Список дней в рамках двухнедельного периода, который задается на определенный сезон. Дни по нечетным неделям задаются цифрами от 1 до 7, по четным — от 8 до 14. Стартом для отсчета является первый день недели, с которой начинается сезон полетов (даже если этот день не попадает под расписание). Например, в расписании даты 26.07.2023 — 26.08.2023, где 26.07 — 3 день недели. Если 3 день будет указан в таблице, то рейс будет доступен 26.07, 9.08 и 23.08 В расписании можно задавать несколько сезонов полетов, для каждого из которых может быть свое расписание. Сезоны полетов не могут пересекаться: если рейс выполняется с 1 мая по 20 декабря по одним дням, а с 1 сентября по 1 ноября — по другим, то должно быть 3 сезона: с 1.05 по 31.08, с 1.09 по 1.11, с 2.11 по 20.12. |
Цифры от 1 до 14, разделенные запятой | 2,4,6,9,11,13 (вторник, четверг, суббота по четным и нечетным неделям) 8,9,10,11,12,13,14 (все дни по четным неделям) |
сезон полетов начало | Дата начала сезона полетов |
DD.MM.YYYY | 01.01.2014 02.08.2015 |
сезон полетов конец | Дата окончания сезона полетов |
DD.MM.YYYY | 01.01.2015 02.08.2016 |
тип вс | Тип воздушного судна (ВС), выполняющего рейс. Для того чтобы информация о ВС подтянулась с путеводителя, нужно указать трехзначный код ВС. |
Текстовая строка | 139 747 |
эконом | Количество доступных мест на рейсе в базовом классе «Эконом» по каждому подклассу бронирования | Литера подкласса + количество мест (без разделителя) | Y9,T13,N9 L17,M20 |
бизнес | Количество доступных мест на рейсе в базовом классе «Бизнес» по каждому подклассу бронирования | Литера подкласса + количество мест (без разделителя) | J9,C12,D9 C12,D10 |
первый | Количество доступных мест на рейсе в базовом классе «Первый» по каждому подклассу бронирования | Литера подкласса + количество мест (без разделителя). Комбинации разделяются запятой | F15,P2 A10 |
Комбинации
В файле Комбинации можно указывать:
- несколько перелетов на один и тот же рейс в разных конфигурациях,
- разные даты вылетов,
- список тарифов и тип направления перелета (эти поля носят справочный характер и не влияют на связь таблиц).
Комбинация может содержать максимум 4 рейса. Информация о каждом рейсе в комбинации включает в себя:
- номер рейса,
- код авиакомпании,
- литеру класса,
- дату начала полетов,
- дату окончания полетов,
- дни между вылетами.
Между последовательными парами рейсов можно задавать ограничения по допустимой длительности путешествия в виде списка количества дней между датами вылета первого и второго рейсов в паре. Длительность путешествия вычисляется как прямое вычитание дат вылета первого и второго рейсов в паре (12.02 — 10.02 = 2 дня длительность путешествия). Если не указано, то никаких ограничений не применяется для данной пары рейсов.
Как заполнять данные о комбинациях | ||||
---|---|---|---|---|
Поле |
Описание |
Допустимые значения |
Примеры | |
id | Уникальный номер записи о перелете, который присваивает система при выгрузке файла. При загрузке файла не заполняется. Редактирование правила с заданным id приводит к изменению уже созданного правила, а если поле пустое, то будет создано новое правило |
Пустое или системный номер | 30 48 | |
активен | Используется для удаления тарифа |
-1 — удаление тарифа,пустое — без изменений |
-1 | |
тип маршрута | Тип маршрута на данной комбинации |
|
OW RT |
|
фрахтователь | Код компании, предоставляющей блок мест на данном рейсе (для чартеров - фрахтователь) |
IATA-код авиакомпании | SU UN | |
номер рейса | Номер рейса |
Число | 112 114 | |
литера | Список литер классов перелета, которые могут участвовать в данной комбинации (минимум одна) |
Код | Y D | |
дата начала полетов | Дата начала выполнения рейсов в рамках комбинации. Не может быть раньше даты первого рейса на основании расписания в Мониторе рейсов |
DD.MM.YYYY | 01.01.2015 02.08.2016 | |
дата окончания полетов | Дата окончания выполнения рейсов в рамках комбинации. Не может быть позже даты последнего рейса на основании расписания в Мониторе рейсов |
DD.MM.YYYY | 01.01.2014 02.08.2015 | |
дней между | Допустимое количество дней между соседними рейсами в комбинации. Если не задано, то между соседними рейсами может быть любая длительность. Несколько значений указываются через ; Пример: в комбинации 4 рейса. Между 1 и 2 рейсами должно быть X дней, между 2 и 3 — Y дней, между 3 и 4 — Z дней. В таком случае в поле нужно указать X;Y;Z. |
Цифра | 1 2;4;6 |
Тариф
Тариф описывает правила формирования цены для определенного набора рейсов, заведенных в файле Комбинации.
Тарифы работают только с комбинациями рейсов, поэтому даже OW-перелеты, состоящие из одного рейса, нужно задавать как комбинации из одного рейса.
Как заполнять данные о тарифах | |||
---|---|---|---|
Поле |
Описание |
Допустимые значения |
Примеры |
id | Уникальный номер записи о перелете, который присваивает система при выгрузке файла. При загрузке файла не заполняется. Редактирование правила с заданным id приводит к изменению уже созданного правила, а если поле пустое, то будет создано новое правило. |
Пустое или системный номер | 30 48 |
активен | Используется для удаления тарифа |
-1 — удаление тарифа пустое — без изменений |
-1 |
маркетинговая компания | маркетинговой авиакомпании]. Маркетинговая компания должна соответствовать фрахтователю из файла информации о рейсе. |
Текстовая строка | SU UN |
класс | Базовый класс тарифа |
Текстовая строка:
|
Business PremiumEconomy |
код тарифа | Буквенно-цифровой код тарифа |
Текстовая строка | BTWE ECNN |
таймлимит | Время жизни бронирования до автоматической аннуляции. Задается как количество часов:
|
|
+24 (заказ аннулируется спустя сутки с момента бронирования) |
возврат | Условия возврата по тарифу |
|
0 |
обмен | Условия обмена по тарифу |
|
0 |
дата начала продаж | Дата начала продаж по данному тарифу |
DD.MM.YYYY | 01.01.2014 02.08.2015 |
дата конца продаж | Дата окончания продаж по данному тарифу |
DD.MM.YYYY | 01.01.2015 02.08.2016 |
дата начала полетов | Дата начала рейсов по данному тарифу. Указывается та же дата, что и в файле Комбинации |
DD.MM.YYYY | 01.01.2014 02.08.2015 |
дата конца полетов | Дата окончания рейсов по данному тарифу. Указывается та же дата, что и в файле Комбинации |
DD.MM.YYYY | 01.01.2015 02.08.2016 литера |
цены на комбинации | Комбинация рейсов, к которым применяется тариф. Для каждой комбинации указывается своя цена | id комбинации(цена) | 1170(1000 RUB) 4(13000 RUB) |
скидка для ребенка | Скидка от базового тарифа для категории пассажира «Ребенок» |
Процентное значение или значение в валюте базового тарифа | 30% 2000 |
скидка для младенцев без места | Скидка от базового тарифа для категории пассажира «Младенец без места» |
Процентное значение или значение в валюте базового тарифа | 50% 4000 |
скидка для младенцев с местом | Скидка от базового тарифа для категории пассажира «Младенец без места» |
Процентное значение или значение в валюте базового тарифа | 90% 8000 |
скидка для ребенка, летящего отдельно | Скидка от базового тарифа для ребенка без сопровождения взрослого |
Процентное значение или значение в валюте базового тарифа | 30% 2000 |
текст правил | Текст условий применения тарифа | Текстовая строка | |
питание | Доступные для выбора типы питания на борту. Разделяются запятой |
|
Beverages,Snack,HotMeal ContinentalBreakfast,Lunch,Meal |
багаж для взрослого | Норма бесплатного провоза багажа для категории пассажира «Взрослый» |
|
1PC (одно место) 10LB (десять фунтов) |
багаж для ребенка | Норма бесплатного провоза багажа для категории пассажира «Ребенок» |
|
1PC (одно место) 10LB (десять фунтов) |
багаж для младенца без места | Норма бесплатного провоза багажа для категории пассажира «Младенец без места» |
|
1PC (одно место) 10LB (десять фунтов) |
багаж для младенца с местом | Норма бесплатного провоза багажа для категории пассажира «Младенец с местом» |
|
1PC (одно место) 10LB (десять фунтов) |
маска тарифа | Маска тарифа для маршрутной квитанции. Если задана, в маршрутной квитанции код тарифа заменяется на заданное значение | Текстовая строка | CHRT CHRT BUSINESS |
endorsement | Эндорсмент. Задается, если нужно вывести его в маршрутной квитанции | Текстовая строка | |
ticketing gtee | Гарантированный срок отправки маршрутной квитанции пассажиру | H — количество часов до вылета | 25 48 |
Для того чтобы управлять квотами мест по тарифам на определенном рейсе, вам нужно:
- занести в файл «Рейс» несколько строк, соответствующих данному рейсу на разные даты и с разными квотами (подклассами и количеством мест).
- занести в файл «Комбинации» условия на каждую дату и подкласс.
При этом важно учитывать, что данные в файлах «Рейс» и «Комбинации» связываются по коду фрахтователя. Это значит, что в файле «Рейс» каждая строка с рейсом должна иметь уникальный код фрахтователя. В противном случае система не сможет подобрать нужный рейс для комбинации.
Загрузка данных в систему
Для того чтобы загрузить контент в Инвентори:
1. В выпадающем списке выберите тип файла, который вы собираетесь загрузить.
Рисунок 1. Выбор типа импортируемого файла |
2. Нажмите Обзор...
и выберите нужный файл.
3. Нажмите Загрузить
.
Рисунок 2. Загрузка файлов в Инвентори |
Редактирование данных
Для того чтобы изменить данные в файле:
- Нажмите на кнопку с соответствующим типом (см. Рисунок 3).
- Отредактируйте содержимое файла.
- Загрузите отредактированный файл в систему.
Все ячейки файла должны быть в текстовом формате без лишних пробелов.
Рисунок 3. Экспорт файлов |
Загружая обновленный файл в систему, вы получите предупреждение Невозможно перезаписать более новые данные указанными устаревшими
. Предупреждение связано с контролем версий файла. На этом этапе вы можете:
- принудительно перезаписать данные,
- отказаться от загрузки.
Раздел «Монитор рейсов»
В этом разделе отображается расписание, сформированное на основе данных из раздела Управление контентом.
В верхней части окна указаны наименования маркетинговых компаний и количество рейсов на выбранный период (день, три дня, неделя, две недели, месяц). Так, на Рисунке 4 отображается 90 рейсов перевозчика Nemo (Nemo : 90
, период — месяц).
Карточка рейса содержит:
- наименование маркетингового перевозчика и номер рейса;
- прогресс-бар, отображающий долю проданных мест;
- маршрут.
Кликнув на карточку рейса, вы увидите количество проданных мест и статистику продаж по каждому классу бронирования. Здесь же вы можете изменить расписание, перейдя по соответствующей ссылке.
Рисунок 4. Раздел Монитор рейсов |
Изменение расписания
Функция Изменение расписания полезна, если вам нужно:
- закрыть продажи на данный рейс на определенный день,
- изменить время вылета/прилета,
- изменить номер рейса,
- добавить новые дни вылета, не входящие в основное расписание рейса.
Рисунок 5. Изменение расписания в разделе Монитор рейсов |
Раздел «Простановка номеров билетов»
В этом разделе отображаются заказы, в которых нужно проставить номера билетов. Доступ к разделу имеет менеджер и эксперт агентства. Проставить номера билетов нужно для того, чтобы завершить выписку заказа (см. Контент Nemo Inventory в продаже перелетов).
Раздел представляет собой список форм с указанием даты вылета (несколько забронированных перелетов на одинаковую дату вылета располагаются на одной форме). При нажатии на форму раскрывается список направлений вылетов.
Для того чтобы проставить номера билетов из файла:
- Нажмите
Обзор..
и выберите нужный файл. - Нажмите
Импорт
.
Рисунок 7. Раздел Простановка номеров билетов |
Уникальные данные, по которым происходит идентификация заказа при импорте:
- Фамилия, Имя (ФИО, разделитель пробел),
- Дата рождения (d.m.Y),
- Номер рейса,
- № билета,
- Дата вылета (d.m.Y).
Пример файла | ||||
---|---|---|---|---|
Фамилия, Имя |
Дата рождения |
Номер рейса |
№ билета |
Дата вылета |
WOLF JANELLE | 18.09.1994 | 911 | 1952438681143 | 22.05.2023 |
FLAGMANSDG IVAN | 10.10.1990 | 911 | 1952438681144 | 22.05.2023 |
Контент Nemo Inventory в продаже перелетов
Порядок и логика использования разных типов контента при поиске, бронировании и выписке.
Поиск
Поисковый запрос в Инвентори обрабатывается так:
- Для запрошенных сегментов строится маршрут. Максимальная длина маршрута для запрошенного сегмента ограничена 1 сегментом. На текущий момент пересадочный рейс ищется только как сложный маршрут. Если для одного из сегментов не удалось построить маршрут, то поиск прерывается ошибкой
Невозможно построить маршрут для запрошенного сегмента
. - Для построенных маршрутов ищутся подходящие рейсы и строятся полные перелеты.
Поиск прерывается, если:- для одного из сегментов не удалось найти подходящих рейсов (ошибка
Не удалось найти расписание, удовлетворяющее заданным критериям, для сегмента
); - не удалось построить ни одного полного перелета (ошибка
Невозможно построить полный перелёт, удовлетворяющий заданным критериям
); - ни для одного из построенных перелетов нет нужного количества мест (ошибка
Нет необходимого количества свободных мест на перелётах, удовлетворяющих заданным критериям
).
- для одного из сегментов не удалось найти подходящих рейсов (ошибка
- К построенным перелетам применяются комбинации рейсов. При этом перелеты из более чем 4 сегментов отбрасываются.
Если для перелета не удалось найти полностью ему соответствующей комбинации, то для каждого сегмента в перелете ищется отдельная комбинация. Если ни для одного из перелетов не удалось найти подходящих комбинаций, то поиск прерывается ошибкойНет допустимых комбинаций рейсов, удовлетворяющих заданным критериям
. - Для каждого перелета формируется набор тарифов с наименьшей ценой. При этом система:
- Рассматривает каждую комбинацию, которая применилась к перелету.
- Получает все тарифы для владельца мест на первом рейсе комбинации.
Для каждого тарифа проверяется:- применимость к текущей комбинации рейсов (по ID комбинации),
- возможность продажи по данному тарифу первого рейса из комбинации. При этом проверяется, что:
- текущая дата входит в один из сезонов продажи тарифа (
SalesDates
) и этот сезон не заканчивается через час; - дата вылета первого рейса в комбинации входит в один из сезонов обслуживания тарифа (
ServiceDates
); - соблюдены ограничения на минимальное время до вылета и максимальное количество дней до вылета.
- текущая дата входит в один из сезонов продажи тарифа (
- доступ к тарифу, если он приватный, а также ограничения по предпочитаемым типам тарифа из поискового запроса;
- применимость тарифа для запрошенных типов пассажира (если тариф заведен на тип пассажира, отличный от ADT).
Если тариф прошел все проверки, то он считается применимым к данной комбинации. Если подходящих тарифов не нашлось, то оценка данного перелета прекращается, и в поисковую выдачу он не попадает.
- Из всех подходящих тарифов выбирается тариф с наименьшей ценой (с учетом цены комбинации и запрошенных типов пассажиров).
Если ни для одного перелета не нашлось подходящих цен, то поиск прерывается ошибкойНе удалось найти цен, удовлетворяющих заданным критериям
.
Перелеты, цены для которых нашлись, попадают в поисковую выдачу.
Бронирование
Бронирование в Инвентори происходит следующим образом:
- Система проверяет наличие:
- бронируемых рейсов,
- нужного количества мест на них.
- Система оценивает забронированный перелет так же, как при поиске.
- На основании всех полученных данных в Инвентори создается объект PNR.
Если цену получить не удалось, то взятые места возвращаются в пул доступных для бронирования, и бронирование прерывается соответствующей ошибкой.
Доступные действия с бронью:
- обновление (получение актуального статуса и цены),
- отмена,
- выписка.
Выписка
Выписка в Инвентори выполняется в 3 этапа:
- После поступления оплаты от клиента бронь приобретает статус
ожидает выписки
. - Представитель агента вручную переносит брони в стороннюю систему (GDS или инвенторную систему а/к) для автоматической выписки билетов.
- Представитель агента загружает файл с выписанными билетами в раздел Инвентори Простановка номеров билетов.
Когда номера билетов будут проставлены, бронь в Инвентори принимет статус выписано
. При этом ЭД, сгенерированные на первом этапе, деактивируются со статусом использовано
.
Бронь после выписки и до внесения билетов а/к можно войдировать в течение некоторого времени. При этом ЭД на оформление билетов деактивируются со статусом отменено
. Удаление внесенных билетов а/к на данный момент не поддерживается.