Nemo Inventory (компонент)
Содержание
О компоненте
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. Раздел Простановка номеров билетов |
Уникальные данные, по которым происходит идентификация заказа при импорте:
1. Фамилия, Имя"(ФИО, разделитель пробел) 2. Дата рождения(d.m.Y) 3. Номер рейса 4. № билета 5. Дата вылета(d.m.Y) Пример файла:
Контент Nemo Inventory в продаже перелетов
Порядок и логика использования разных типов контента при поиске, бронировании и выписке.
Поиск
Поисковый запрос в Инвентори обрабатывается так:
- Для запрошенных сегментов строится маршрут. Максимальная длина маршрута для запрошенного сегмента ограничена 1 сегментом. На текущий момент пересадочный рейс ищется только как сложный маршрут. Если для одного из сегментов не удалось построить маршрут, то поиск прерывается ошибкой
Невозможно построить маршрут для запрошенного сегмента
. - Для построенных маршрутов ищутся подходящие рейсы и строятся полные перелеты.
Поиск прерывается, если:- для одного из сегментов не удалось найти подходящих рейсов (ошибка
Не удалось найти расписание, удовлетворяющее заданным критериям, для сегмента
); - не удалось построить ни одного полного перелета (ошибка
Невозможно построить полный перелёт, удовлетворяющий заданным критериям
); - ни для одного из построенных перелетов нет нужного количества мест (ошибка
Нет необходимого количества свободных мест на перелётах, удовлетворяющих заданным критериям
).
- для одного из сегментов не удалось найти подходящих рейсов (ошибка
- К построенным перелетам применяются комбинации рейсов. При этом перелеты из более чем 4 сегментов отбрасываются.
Если для перелета не удалось найти полностью ему соответствующей комбинации, то для каждого сегмента в перелете ищется отдельная комбинация. Если ни для одного из перелетов не удалось найти подходящих комбинаций, то поиск прерывается ошибкойНет допустимых комбинаций рейсов, удовлетворяющих заданным критериям
. - Для каждого перелета формируется набор тарифов с наименьшей ценой. При этом система:
- Рассматривает каждую комбинацию, которая применилась к перелету.
- Получает все тарифы для владельца мест на первом рейсе комбинации.
Для каждого тарифа проверяется:- применимость к текущей комбинации рейсов (по ID комбинации),
- возможность продажи по данному тарифу первого рейса из комбинации. При этом проверяется, что:
- текущая дата входит в один из сезонов продажи тарифа (
SalesDates
) и этот сезон не заканчивается через час; - дата вылета первого рейса в комбинации входит в один из сезонов обслуживания тарифа (
ServiceDates
); - соблюдены ограничения на минимальное время до вылета и максимальное количество дней до вылета.
- текущая дата входит в один из сезонов продажи тарифа (
- доступ к тарифу, если он приватный, а также ограничения по предпочитаемым типам тарифа из поискового запроса;
- применимость тарифа для запрошенных типов пассажира (если тариф заведен на тип пассажира, отличный от ADT).
Если тариф прошел все проверки, то он считается применимым к данной комбинации. Если подходящих тарифов не нашлось, то оценка данного перелета прекращается, и в поисковую выдачу он не попадает.
- Из всех подходящих тарифов выбирается тариф с наименьшей ценой (с учетом цены комбинации и запрошенных типов пассажиров).
Если ни для одного перелета не нашлось подходящих цен, то поиск прерывается ошибкойНе удалось найти цен, удовлетворяющих заданным критериям
.
Перелеты, цены для которых нашлись, попадают в поисковую выдачу.
Бронирование
Бронирование в Инвентори происходит следующим образом:
- Система проверяет наличие:
- бронируемых рейсов,
- нужного количества мест на них.
- Система оценивает забронированный перелет так же, как при поиске.
- На основании всех полученных данных в Инвентори создается объект PNR.
Если цену получить не удалось, то взятые места возвращаются в пул доступных для бронирования, и бронирование прерывается соответствующей ошибкой.
Доступные действия с бронью:
- обновление (получение актуального статуса и цены),
- отмена,
- выписка.
Выписка
Выписка в Инвентори выполняется в 3 этапа:
- После поступления оплаты от клиента генерируются электронные документы (ЭД) на оформление билетов от а/к. Бронь приобретает статус
ожидает выписки
. - Представитель агента вручную переносит брони в стороннюю систему (GDS или инвенторную систему а/к) для автоматической выписки билетов.
- Представитель агента загружает файл с выписанными билетами в раздел Инвентори Простановка номеров билетов.
Когда номера билетов будут проставлены, бронь в Инвентори принимет статус выписано
. При этом ЭД, сгенерированные на первом этапе, деактивируются со статусом использовано
.
Бронь после выписки и до внесения билетов а/к можно войдировать в течение некоторого времени. При этом ЭД на оформление билетов деактивируются со статусом отменено
. Удаление внесенных билетов а/к на данный момент не поддерживается.