Nemo Inventory (компонент): различия между версиями

Материал из Центр поддержки системы бронировании
Перейти к навигации Перейти к поиску
(Рейс)
(Выписка)
 
(не показаны 43 промежуточные версии 2 участников)
Строка 37: Строка 37:
 
Nemo Inventory подключается администратором {{NameSystem}}. Для подключения обратитесь в [http://helpdesk.nemo.travel трекер техподдержки] {{NameSystem}}.
 
Nemo Inventory подключается администратором {{NameSystem}}. Для подключения обратитесь в [http://helpdesk.nemo.travel трекер техподдержки] {{NameSystem}}.
  
== Принцип работы Nemo Inventory ==
+
== Принцип работы компонента ==
  
В Nemo.Travel компонент Инвентори выступает поставщиком авиаконтента по аналогии с классическими GDS. Это значит, что контент, заведенный в Инвентори, возможно использовать в рамках стандартного функционала {{NameSystem}}: осуществлять поиск, бронирование, отмену перелета.
+
В {{NameSystem}} компонент Инвентори выступает поставщиком авиаконтента по аналогии с классическими GDS. Это значит, что контент, заведенный в Инвентори, возможно использовать в рамках стандартного функционала {{NameSystem}}: осуществлять поиск, бронирование, отмену перелета.
  
 
При этом предоставляются широкие возможности по управлению ресурсом мест и тарифами. Это достигается во многом за счет того, что менеджер агентства самостоятельно заносит контент в XLS-файлы и загружает их в Инвентори.
 
При этом предоставляются широкие возможности по управлению ресурсом мест и тарифами. Это достигается во многом за счет того, что менеджер агентства самостоятельно заносит контент в XLS-файлы и загружает их в Инвентори.
Строка 51: Строка 51:
 
* такса.
 
* такса.
  
== Управление контентом ==
+
== Раздел «Управление контентом» ==
  
Раздел '''Управление контентом''' представляет собой форму для импорта и экспорта данных в формате XLS.
+
В этом разделе вы можете работать с контентом: загружать его в систему и экспортировать для последующего редактирования.
  
 
=== Подготовка данных к загрузке ===
 
=== Подготовка данных к загрузке ===
Строка 186: Строка 186:
 
| F15,P2<br/>A10
 
| F15,P2<br/>A10
 
|}
 
|}
 
<span style="background-color: #fbecdd;">''Пример.'' Рейс ''MOW-LED'' предоставлен авиакомпанией ''SU'', но выполняет рейс авиакомпания ''FV''. Владелец мест и тарифов для данного рейса определяется следующим образом: для чартеров — это фрахтователь, для регулярных рейсов — маркетинговая а/к.</span>
 
 
* '''Изменения в рейсе''' позволяют тонко управлять информацией о рейсе на определённые даты, которые могут как входить в расписание, так и не входить в него. Это позволяет, к примеру, закрывать продажи на данный рейс на определённый день, менять время вылета/прилёта, номер рейса, переносить вылет рейса на другой день или даже добавлять новые дни вылета, которые не входят в основное расписание рейса. Уникальным рейс делает сочетание номера рейса и кода владельца мест на нём.
 
  
 
==== Комбинации ====
 
==== Комбинации ====
'''Комбинация рейсов''' — предоставляет возможность задавать различные комбинации рейсов.
 
 
Кнопка '''Комбинации''', выгружая соответствующую форму,  предоставляет возможность задавать различные комбинации рейсов. <br />Подробный формат файла описан здесь: [[Управление комбинациями в Nemo Inventory|'''Формат файла для заведений комбинаций''']]. <br />
 
  
{{Attention| <u>Тарифы привязываются и применяются исключительно к комбинациям рейсов</u>, поэтому даже OW перелёты из одного рейса должны быть заданы как комбинации из одного рейса.}}
+
В файле '''Комбинации''' можно указывать:
 +
* несколько перелетов на один и тот же рейс в разных конфигурациях,
 +
* разные даты вылетов,
 +
* список тарифов и тип направления перелета (эти поля носят справочный характер и не влияют на связь таблиц).
  
Так же файле '''Комбинации''' можно указывать несколько перелетов на один и тот же рейс в разных конфигурациях, будь то перелет в одну сторону или туда/обратно, а также указывать разные даты вылетов. Между последовательными парами рейсов можно задавать ограничения по допустимой длительности путешествия в виде списка количества дней между датами вылета первого и второго рейсов в паре. Длительность путешествия вычисляется как прямое вычитание дат вылета первого и второго рейсов в паре (12.02 — 10.02 = 2 дня длительность путешествия). Если не указано, то никаких ограничений не применяется для данной пары рейсов.
+
Комбинация может содержать максимум 4 рейса. Информация о каждом рейсе в комбинации включает в себя:
  
В комбинации можно указывать максимум 4 рейса. Информация о каждом рейсе в комбинации включает в себя следующие данные:
 
 
* номер рейса,
 
* номер рейса,
 
* код авиакомпании,
 
* код авиакомпании,
* литера класса,
+
* литеру класса,
* дата начала полётов,
+
* дату начала полетов,
* дата окончания полётов,
+
* дату окончания полетов,
 
* дни между вылетами.
 
* дни между вылетами.
  
 
Между последовательными парами рейсов можно задавать ограничения по допустимой длительности путешествия в виде списка количества дней между датами вылета первого и второго рейсов в паре. Длительность путешествия вычисляется как прямое вычитание дат вылета первого и второго рейсов в паре (12.02 — 10.02 = 2 дня длительность путешествия). Если не указано, то никаких ограничений не применяется для данной пары рейсов.
 
Между последовательными парами рейсов можно задавать ограничения по допустимой длительности путешествия в виде списка количества дней между датами вылета первого и второго рейсов в паре. Длительность путешествия вычисляется как прямое вычитание дат вылета первого и второго рейсов в паре (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
 +
|-
 +
|}
  
 
==== Тариф ====
 
==== Тариф ====
Тариф описывает правила формирования цены для определённого набора перелётов, заведенных в файле [https://support.nemo.travel/ru/Nemo_Inventory_(компонент)#.D0.9A.D0.BE.D0.BC.D0.B1.D0.B8.D0.BD.D0.B0.D1.86.D0.B8.D0.B8 Комбинации].
+
Тариф описывает правила формирования цены для определенного набора рейсов, заведенных в файле [[Nemo_Inventory_(компонент)#Комбинации|'''Комбинации''']].
Чтобы добавлять и редактировать информацию о тарифе в предоставляемом файле формы, нажмите на кнопку '''Тариф''' (подробнее см. [[Управление тарифами в 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/>
 +
|}
 +
 
 +
Для того чтобы управлять квотами мест по тарифам на определенном рейсе, вам нужно:
 +
# занести в файл «Рейс» несколько строк, соответствующих данному рейсу на разные даты и с разными квотами (подклассами и количеством мест).
 +
# занести в файл «Комбинации» условия на каждую дату и подкласс.
 +
При этом важно учитывать, что данные в файлах «Рейс» и «Комбинации» связываются по коду фрахтователя. Это значит, что в файле «Рейс» каждая строка с рейсом должна иметь уникальный код фрахтователя. В противном случае система не сможет подобрать нужный рейс для комбинации.
  
 
=== Загрузка данных в систему ===
 
=== Загрузка данных в систему ===
Строка 220: Строка 467:
 
Для того чтобы загрузить контент в Инвентори:
 
Для того чтобы загрузить контент в Инвентори:
  
1. В выпадающем списке выберите тип файла, который вы собираетесь импортировать.
+
1. В выпадающем списке выберите тип файла, который вы собираетесь загрузить.
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Строка 238: Строка 485:
 
|}
 
|}
  
=== Экспорт данных ===
+
=== Редактирование данных ===
  
Функция экспорта используется в случаях, когда вам нужно изменить данные в загруженных ранее таблицах.
+
Для того чтобы изменить данные в файле:
  
Чтобы изменить данные в таблицах:
+
# Нажмите на кнопку с соответствующим типом (см. Рисунок 3).
# Экспортируйте файл(ы) — нажмите на кнопку с соответствующим типом.
+
# Отредактируйте содержимое файла.
# Отредактируйте содержание файлы(-ов).
+
# [[Nemo Inventory (компонент)#Загрузка данных в систему|Загрузите]] отредактированный файл в систему.
# Снова импортируйте измененные файлы в систему.  
 
  
Это необходимо для контроля даты версии файлов. Таким образом, при попытке загрузить в систему файл с более ранней датой изменения, чем у уже имеющегося в системе, появляется предупреждение ''Невозможно перезаписать более новые данные указанными устаревшими '' и предлагаются два варианта действий:
+
<span style="background-color: #fbecdd;">Все ячейки файла должны быть в текстовом формате без лишних пробелов.</span>
* принудительно перезаписать данные
 
* отказаться от загрузки.
 
  
 
{| class="wikitable"
 
{| class="wikitable"
Строка 255: Строка 499:
 
|[[Файл:Инвентори Экспорт.png]]
 
|[[Файл:Инвентори Экспорт.png]]
 
|-
 
|-
|Экспорт файлов
+
|Рисунок 3. Экспорт файлов
 
|}  
 
|}  
 
{{Attention|Все ячейки файла должны быть в текстовом формате. Не допускаются лишние пробелы.}}
 
  
== Монитор рейсов ==
+
Загружая обновленный файл в систему, вы получите предупреждение <code>Невозможно перезаписать более новые данные указанными устаревшими</code>. Предупреждение связано с контролем версий файла. На этом этапе вы можете:
[[Файл:monit.png|1000px|Раздел «Монитор рейсов»]]
+
 
 +
* принудительно перезаписать данные,
 +
* отказаться от загрузки.
 +
 
 +
== Раздел «Монитор рейсов» ==
 +
В этом разделе отображается расписание, сформированное на основе данных из раздела [[Nemo Inventory (компонент)#Раздел «Управление контентом»|'''Управление контентом''']].
  
В данном разделе можно получить сведения по статистике рейсов. В верхней части окна монитора рейсов указаны наименования маркетинговых компаний и количество рейсов, предоставляемых данной компанией, содержащееся в статистике перелетов на выбранный период. В зависимости от выбранного временного интервала:
+
В верхней части окна указаны наименования маркетинговых компаний и количество рейсов на выбранный период (день, три дня, неделя, две недели, месяц). Так, на Рисунке 4 отображается 90 рейсов перевозчика Nemo (<code>Nemo : 90</code>, период — месяц).
* День
 
* Три дня
 
* Неделя
 
* Две недели
 
* Месяц
 
  
Окно монитора рейсов выглядит как таблица с информацией о перелетах на выбранный временной диапазон. Доступны переходы по кнопкам к следующему и предыдущему месяцу, неделе и т.д.
+
Карточка рейса содержит:
  
Каждая ячейка таблицы отображает маршрут перелета, его маркетинговую компанию и номер рейса. По нажатию на ячейку выводится дополнительная информация о конкретном перелете: количество заведенных мест, класс бронирования и количество реализованных билетов. Также здесь предоставлена возможность изменения информации о рейсе на определенные дни. Переход ко внесению изменений осуществляется кликом по ссылке ''Изменение расписания''.
+
* наименование маркетингового перевозчика и номер рейса;
 +
* прогресс-бар, отображающий долю проданных мест;
 +
* маршрут.
 +
 
 +
Кликнув на карточку рейса, вы увидите количество проданных мест и статистику продаж по каждому классу бронирования. Здесь же вы можете изменить расписание, перейдя по соответствующей ссылке.
 +
 
 +
{| class="wikitable"
 +
|-
 +
|[[Файл:monit.png|1000px|Раздел «Монитор рейсов»]]
 +
|-
 +
|Рисунок 4. Раздел '''Монитор рейсов'''
 +
|}
  
 
=== Изменение расписания ===
 
=== Изменение расписания ===
[[Файл:change1.png|600px|Изменение расписания рейса на конкретные даты]]
 
  
Изменения в рейсе позволяют тонко управлять информацией о рейсе  на определённые даты, которые могут как входить в расписание, так и не входить в него. Это позволяет, к примеру, закрывать продажи на данный рейс на определённый день, менять время вылета/прилёта, номер рейса, переносить вылет рейса на другой день или даже добавлять новые дни вылета, которые не входят в основное расписание рейса.  
+
Функция '''Изменение расписания''' полезна, если вам нужно:
 +
 
 +
* закрыть продажи на данный рейс на определенный день,
 +
* изменить менять время вылета/прилета,
 +
* изменить номер рейса,
 +
* перенести вылет рейса на другой день,
 +
* добавить новые дни вылета, не входящие в основное расписание рейса.
 +
 
 +
{| class="wikitable"
 +
|-
 +
|[[Файл:change1.png|600px|Изменение расписания рейса на конкретные даты]]
 +
|-
 +
|Рисунок 5. Изменение расписания в разделе '''Монитор рейсов'''
 +
|}
 +
 
 +
== Раздел «Простановка номеров билетов» ==
  
В рейсе можно задавать изменения следующего набора данных:
+
В этом разделе отображаются заказы, в которых нужно проставить номера билетов. Доступ к разделу имеет [[Менеджер агентства|менеджер]] и [[Эксперт по бронированию|эксперт]] агентства. Проставить номера билетов нужно для того, чтобы завершить выписку заказа (см. [[Nemo Inventory (компонент)#Контент Nemo Inventory в продаже перелетов|Контент Nemo Inventory в продаже перелетов]]).
* Активность рейса
 
* Аэропорт отправления/прибытия
 
* Терминал отправления/прибытия
 
* Время отправления/прибытия
 
* Номер рейса
 
* Прилет на следующие сутки
 
* Тип воздушного судна
 
* Посадка
 
  
== Использование контента в продаже перелётов ==
+
Раздел представляет собой список форм с указанием даты вылета (несколько забронированных перелетов на одинаковую дату вылета располагаются на одной форме). При нажатии на форму раскрывается список направлений вылетов.
Порядок и логика использования разных типов контента при поиске, бронировании и выписке.
+
 
 +
Для того чтобы проставить номера билетов из файла:
 +
# Нажмите <code>Обзор..</code> и выберите нужный файл.
 +
# Нажмите <code>Импорт</code>.
  
=== Поиск ===
+
{| class="wikitable"
 +
|-
 +
|[[Файл:Автоматическая простановка номеров билетов.png|Раздел «Простановка номеров билета»]]
 +
|-
 +
|Рисунок 7. Раздел '''Простановка номеров билетов'''
 +
|}
  
Для того, что бы забронировать и выписать перелёт, его надо сначала найти. Внутри Инвентори процедура обработки поискового запроса состоит из следующих этапов:
+
Уникальные данные, по которым происходит идентификация заказа при импорте:
#  '''Построение маршрута для каждого из запрошенных сегментов'''. На данный момент максимальная длина маршрута для запрошенного сегмента ограничена 1 сегментом. Если для одного из запрошенных сегментов не удалось построить маршрут, то поиск прерывается и Инвентори возвращает ошибку ''Невозможно построить маршрут для запрошенного сегмента'' с указанием соответствующего сегмента.
 
#  '''Поиск подходящих рейсов для построенных маршрутов с учётом их расписания, времени стыковок, фильтров по а/к и наличия мест на нужных классах и построение из них полных перелётов.''' Если для одного из запрошенных сегментов не удалось найти подходящих рейсов, то поиск прерывается и Инвентори возвращает ошибку ''Не удалось найти расписание, удовлетворяющее заданным критериям, для сегмента'' с указанием соответствующего сегмента. <br />Если не удалось построить ни одного полного перелёта из найденных рейсов, то поиск прерывается и Инвентори возвращает ошибку ''Невозможно построить полный перелёт, удовлетворяющий заданным критериям''.<br />Если ни для одного из построенных перелётов нет необходимого количества мест, то поиск прерывается и Инвентори возвращает ошибку ''Нет необходимого количества свободных мест на перелётах, удовлетворяющих заданным критериям''.
 
# '''Применение комбинаций рейсов к построенным перелётам.''' На данный момент перелёты из более чем 4-х сегментов отбрасываются при данной процедуре. Для каждого из построенных перелётов ищется подходящая комбинация рейсов. <br />Если для перелёта не удалось найти комбинации рейсов, полностью ему соответствующей, то для каждого сегмента в перелёте ищется отдельная соответствующая ему комбинация. <br />Если ни для одного из перелётов не удалось найти подходящих комбинаций рейсов, то поиск прерывается и Инвентори возвращает ошибку ''Нет допустимых комбинаций рейсов, удовлетворяющих заданным критериям''. 
 
# '''Оценка полученных перелётов.''' Для каждого из перелётов ''формируется набор тарифов'', которые обеспечивают наименьшую цену для данного перелёта. При этом выполняется следующая последовательность действий:
 
## система рассматривает каждую комбинацию, которая применилась к перелёту.
 
## система получает все тарифы для владельца мест на первом рейсе рассматриваемой комбинации.
 
  
Для каждого ''тарифа'' выполняется следующий набор проверок:
+
* Фамилия, Имя (ФИО, разделитель пробел),   
# проверяется на применимость к текущей комбинации рейсов (по её ID)
+
* Дата рождения (d.m.Y),   
# проверяется на возможность продажи по данному тарифу первого рейса из комбинации — при этом проверяется:
+
* Номер рейса,   
*текущая дата входит в один из сезонов продажи тарифа (SalesDates) и этот сезон не заканчивается через час
+
* № билета,   
*дата вылета первого рейса в комбинации входит в один из сезонов обслуживания тарифа (ServiceDates)
+
* Дата вылета (d.m.Y).   
*проверяются ограничения на минимальное время до вылета и максимальное количество дней до вылета
 
  
# проверяется доступ к тарифу, если он приватный, а так же ограничения по предпочитаемым типам тарифа из поискового запроса
+
{|  class="wikitable mw-collapsible mw-collapsed"
# для тарифа заведённых на тип пассажира, отличный от ADT выполняется проверка на применимость данной тарифа к какому-либо из запрошенных типов пассажиров.<br />Если тариф прошёл все проверки, то он считается применимым к данной комбинации рейсов. Если подходящих тарифов не нашлось, то оценка данного перелёта прекращается и он в поисковую выдачу не попадает.
+
!colspan = 5|Пример файла
# из всех подходящих тарифов выбирается тот, у которого итоговая эффективная цена наименьшая (с учётом цены комбинации и запрошенных типов пассажиров)
+
|-
Если ни для одного из перелётов не нашлось подходящих цен, то поиск прерывается и Инвентори возвращает ошибку ''Не удалось найти цен, удовлетворяющих заданным критериям''.<br />Перелёты, для которых нашлись цены попадают в поисковую выдачу.
+
! 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 в продаже перелетов ==
При бронировании перелёта
+
Порядок и логика использования разных типов контента при поиске, бронировании и выписке.
# Система проверяет:
 
#* наличие бронируемых рейсов,
 
#* наличие нужного количества мест на них.
 
# Система оценивает забронированный перелёта так же, как при поиске.
 
# На основании всех полученных данных создаётся объекта PNRа в системе Инвентори. <br />Если цену получить не удалось в силу каких-то причин, то взятые места возвращаются в пул доступных для бронирования и бронирование прерывается с соответствующей ошибкой.
 
  
Бронь можно:
+
=== Поиск ===
*обновить (получить её актуальные статус и цену),
 
*отменить,
 
*выписать.
 
  
=== Выписка ===
+
Поисковый запрос в Инвентори обрабатывается так:
Выписка выполняется в 2 этапа:
 
# Выписка, запускаемая после поступления оплаты от клиента. Генерируются '''электронные документы (ЭД)''' на предоставление услуги оформления билетов от а/к. Бронь приобретает статус ''ожидает выписки''.
 
# Внесение билетов а/к — на данный момент Инвентори не поддерживает автоматического переноса созданных броней в ГРС или инвентори системы а/к для автоматической выписки билетов а/к, поэтому уполномоченный представитель агента раз в некий период времени выполняет ручной перенос броней в нужные системы и выписку билетов а/к в них. После чего вносит выписанные билеты в нужные ПНРы в Инвентори. После внесения билетов для всех пассажиров бронь в Инвентори принимает статус ''выписано''.<br />При этом ЭД, сгенерированные на предыдущем этапе, деактивируются со статусом ''использовано''.
 
  
Бронь после выписки (но до внесения билетов а/к) можно войдировать в течение некоторого промежутка времени. При этом ЭД на оформление билетов а/к деактивируются со статусом ''отменено''. Удаление внесённых билетов а/к на данный момент не поддерживается.
+
# '''Для запрошенных сегментов строится маршрут'''. Максимальная длина маршрута для запрошенного сегмента ограничена 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 />Перелеты, цены для которых нашлись, попадают в поисковую выдачу.
  
=== Простановка номеров билетов ===
+
=== Бронирование ===
[[Файл:prostanovka.png|400px|Раздел «Простановка номеров билета»]]
+
Бронирование в Инвентори происходит следующим образом:
 +
# Система проверяет наличие:
 +
#* бронируемых рейсов,
 +
#* нужного количества мест на них.
 +
# Система оценивает забронированный перелет так же, как при поиске.
 +
# На основании всех полученных данных в Инвентори создается объект PNR. <br />Если цену получить не удалось, то взятые места возвращаются в пул доступных для бронирования, и бронирование прерывается соответствующей ошибкой.
  
В данном разделе отображаются заказы, ожидающие проставления номеров билета. Доступ к разделу имеет менеджер и эксперт агентства.
+
Доступные действия с бронью:
   
+
* обновление (получение актуального статуса и цены),
При оформлении заказа выписка не будет завершена, пока не внесены номера билетов в разделе '''Простановка номеров билетов''' (''см. Отправление заказа на выписку'').
+
* отмена,
Чтобы выполнить выписку заказа, необходимо созданные в инвентори брони перенести в ГРС или авиакомпанию (туда, где хранится блок мест) и оформить выписку. Далее полученные номера билета вносятся в разделе ''Простановка номеров билетов''. После внесения номеров нужно вернуться к заказу и запустить выписку.
+
* выписка.
  
Раздел представляет собой последовательность форм с указанием даты вылета (несколько забронированных перелетов на одинаковую дату вылета располагаются на одной форме). При нажатии на одну из плашек раскрывается форма с перечислением направлений вылетов. При нажатии на конкретное направление отображается поле для внесения номера билета.
+
=== Выписка ===
 +
Выписка в Инвентори выполняется в 3 этапа:
 +
# После поступления оплаты от клиента бронь приобретает статус <code>ожидает выписки</code>.
 +
# Представитель агента вручную переносит брони в стороннюю систему (GDS или инвенторную систему а/к) для автоматической выписки билетов.
 +
# Представитель агента загружает файл с выписанными билетами в раздел Инвентори [[Nemo Inventory (компонент)#Раздел «Простановка номеров билетов»|'''Простановка номеров билетов''']].
  
Если выписан один номер билета, для направления туда/обратно номер проставляется только в первом окне. Если два номера, во втором необходимо указать второй номер билета.
+
Когда номера билетов будут проставлены, бронь в Инвентори принимет статус <code>выписано</code>. При этом ЭД, сгенерированные на первом этапе, деактивируются со статусом <code>использовано</code>.
  
[[Файл:tick.png|600px|Отправление заказа на выписку]]
+
Бронь после выписки и до внесения билетов а/к можно войдировать в течение некоторого времени. При этом ЭД на оформление билетов деактивируются со статусом <code>отменено</code>. Удаление внесенных билетов а/к на данный момент не поддерживается.

Текущая версия на 13:53, 20 марта 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,
  • CT
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
класс Базовый класс тарифа
Текстовая строка:
  • Economy — Эконом-класс (стандарт),
  • Business — Бизнес-класс (стандарт и премиум),
  • First — Первый класс (стандарт и премиум),
  • PremiumEconomy — Премиум-эконом,
  • Other — остальные классы.
Business
PremiumEconomy
код тарифа Буквенно-цифровой код тарифа
Текстовая строка BTWE
ECNN
таймлимит Время жизни бронирования до автоматической аннуляции.
Задается как количество часов:
  • с момента бронирования,
  • до вылета,
  • до конца суток бронирования (аннуляция запускается в 23:45 суток бронирования).
  • +H,
  • -Н,
  • d

+24 (заказ аннулируется спустя сутки с момента бронирования)
-120 (заказ аннулируется за 5 суток до вылета)
d (заказ аннулируется в конце суток бронирования)

возврат Условия возврата по тарифу
  • 0 — полностью возвратный тариф,
  • пустое значение — полностью невозвратный тариф.
0
обмен Условия обмена по тарифу
  • 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
текст правил Текст условий применения тарифа Текстовая строка
питание Доступные для выбора типы питания на борту. Разделяются запятой
  • AlcoholBeverages,
  • Beverages,
  • Breakfast,
  • ColdMeal,
  • ContinentalBreakfast,
  • Dinner,
  • HotMeal,
  • Lunch,
  • Meal,
  • Refreshment,
  • Snack
Beverages,Snack,HotMeal
ContinentalBreakfast,Lunch,Meal
багаж для взрослого Норма бесплатного провоза багажа для категории пассажира «Взрослый»
  • Пустое — багаж оплачивается отдельно,
  • 1PC — количество багажных мест,
  • 10KG — максимальный вес в килограммах,
  • 10LB — максимальный вес в фунтах
1PC (одно место)
10LB (десять фунтов)
багаж для ребенка Норма бесплатного провоза багажа для категории пассажира «Ребенок»
  • Пустое — багаж оплачивается отдельно,
  • 1PC — количество багажных мест,
  • 10KG — максимальный вес в килограммах,
  • 10LB — максимальный вес в фунтах
1PC (одно место)
10LB (десять фунтов)
багаж для младенца без места Норма бесплатного провоза багажа для категории пассажира «Младенец без места»
  • Пустое — багаж оплачивается отдельно,
  • 1PC — количество багажных мест,
  • 10KG — максимальный вес в килограммах,
  • 10LB — максимальный вес в фунтах
1PC (одно место)
10LB (десять фунтов)
багаж для младенца с местом Норма бесплатного провоза багажа для категории пассажира «Младенец с местом»
  • Пустое — багаж оплачивается отдельно,
  • 1PC — количество багажных мест,
  • 10KG — максимальный вес в килограммах,
  • 10LB — максимальный вес в фунтах
1PC (одно место)
10LB (десять фунтов)
маска тарифа Маска тарифа для маршрутной квитанции. Если задана, в маршрутной квитанции код тарифа заменяется на заданное значение Текстовая строка CHRT
CHRT BUSINESS
endorsement Эндорсмент. Задается, если нужно вывести его в маршрутной квитанции Текстовая строка
ticketing gtee Гарантированный срок отправки маршрутной квитанции пассажиру H — количество часов до вылета 25
48

Для того чтобы управлять квотами мест по тарифам на определенном рейсе, вам нужно:

  1. занести в файл «Рейс» несколько строк, соответствующих данному рейсу на разные даты и с разными квотами (подклассами и количеством мест).
  2. занести в файл «Комбинации» условия на каждую дату и подкласс.

При этом важно учитывать, что данные в файлах «Рейс» и «Комбинации» связываются по коду фрахтователя. Это значит, что в файле «Рейс» каждая строка с рейсом должна иметь уникальный код фрахтователя. В противном случае система не сможет подобрать нужный рейс для комбинации.

Загрузка данных в систему

Для того чтобы загрузить контент в Инвентори:

1. В выпадающем списке выберите тип файла, который вы собираетесь загрузить.

Инвентори Импорт 1.png
Рисунок 1. Выбор типа импортируемого файла

2. Нажмите Обзор... и выберите нужный файл.

3. Нажмите Загрузить.

Инвентори Импорт 2.png
Рисунок 2. Загрузка файлов в Инвентори

Редактирование данных

Для того чтобы изменить данные в файле:

  1. Нажмите на кнопку с соответствующим типом (см. Рисунок 3).
  2. Отредактируйте содержимое файла.
  3. Загрузите отредактированный файл в систему.

Все ячейки файла должны быть в текстовом формате без лишних пробелов.

Инвентори Экспорт.png
Рисунок 3. Экспорт файлов

Загружая обновленный файл в систему, вы получите предупреждение Невозможно перезаписать более новые данные указанными устаревшими. Предупреждение связано с контролем версий файла. На этом этапе вы можете:

  • принудительно перезаписать данные,
  • отказаться от загрузки.

Раздел «Монитор рейсов»

В этом разделе отображается расписание, сформированное на основе данных из раздела Управление контентом.

В верхней части окна указаны наименования маркетинговых компаний и количество рейсов на выбранный период (день, три дня, неделя, две недели, месяц). Так, на Рисунке 4 отображается 90 рейсов перевозчика Nemo (Nemo : 90, период — месяц).

Карточка рейса содержит:

  • наименование маркетингового перевозчика и номер рейса;
  • прогресс-бар, отображающий долю проданных мест;
  • маршрут.

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

Раздел «Монитор рейсов»
Рисунок 4. Раздел Монитор рейсов

Изменение расписания

Функция Изменение расписания полезна, если вам нужно:

  • закрыть продажи на данный рейс на определенный день,
  • изменить менять время вылета/прилета,
  • изменить номер рейса,
  • перенести вылет рейса на другой день,
  • добавить новые дни вылета, не входящие в основное расписание рейса.
Изменение расписания рейса на конкретные даты
Рисунок 5. Изменение расписания в разделе Монитор рейсов

Раздел «Простановка номеров билетов»

В этом разделе отображаются заказы, в которых нужно проставить номера билетов. Доступ к разделу имеет менеджер и эксперт агентства. Проставить номера билетов нужно для того, чтобы завершить выписку заказа (см. Контент Nemo Inventory в продаже перелетов).

Раздел представляет собой список форм с указанием даты вылета (несколько забронированных перелетов на одинаковую дату вылета располагаются на одной форме). При нажатии на форму раскрывается список направлений вылетов.

Для того чтобы проставить номера билетов из файла:

  1. Нажмите Обзор.. и выберите нужный файл.
  2. Нажмите Импорт.
Раздел «Простановка номеров билета»
Рисунок 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. Для запрошенных сегментов строится маршрут. Максимальная длина маршрута для запрошенного сегмента ограничена 1 сегментом. На текущий момент пересадочный рейс ищется только как сложный маршрут. Если для одного из сегментов не удалось построить маршрут, то поиск прерывается ошибкой Невозможно построить маршрут для запрошенного сегмента.

  2. Для построенных маршрутов ищутся подходящие рейсы и строятся полные перелеты.
    Поиск прерывается, если:
    • для одного из сегментов не удалось найти подходящих рейсов (ошибка Не удалось найти расписание, удовлетворяющее заданным критериям, для сегмента);
    • не удалось построить ни одного полного перелета (ошибка Невозможно построить полный перелёт, удовлетворяющий заданным критериям);
    • ни для одного из построенных перелетов нет нужного количества мест (ошибка Нет необходимого количества свободных мест на перелётах, удовлетворяющих заданным критериям).

  3. К построенным перелетам применяются комбинации рейсов. При этом перелеты из более чем 4 сегментов отбрасываются.
    Если для перелета не удалось найти полностью ему соответствующей комбинации, то для каждого сегмента в перелете ищется отдельная комбинация. Если ни для одного из перелетов не удалось найти подходящих комбинаций, то поиск прерывается ошибкой Нет допустимых комбинаций рейсов, удовлетворяющих заданным критериям.

  4. Для каждого перелета формируется набор тарифов с наименьшей ценой. При этом система:
    1. Рассматривает каждую комбинацию, которая применилась к перелету.
    2. Получает все тарифы для владельца мест на первом рейсе комбинации.
      Для каждого тарифа проверяется:
      • применимость к текущей комбинации рейсов (по ID комбинации),
      • возможность продажи по данному тарифу первого рейса из комбинации. При этом проверяется, что:
        • текущая дата входит в один из сезонов продажи тарифа (SalesDates) и этот сезон не заканчивается через час;
        • дата вылета первого рейса в комбинации входит в один из сезонов обслуживания тарифа (ServiceDates);
        • соблюдены ограничения на минимальное время до вылета и максимальное количество дней до вылета.
      • доступ к тарифу, если он приватный, а также ограничения по предпочитаемым типам тарифа из поискового запроса;
      • применимость тарифа для запрошенных типов пассажира (если тариф заведен на тип пассажира, отличный от ADT).
        Если тариф прошел все проверки, то он считается применимым к данной комбинации. Если подходящих тарифов не нашлось, то оценка данного перелета прекращается, и в поисковую выдачу он не попадает.

  5. Из всех подходящих тарифов выбирается тариф с наименьшей ценой (с учетом цены комбинации и запрошенных типов пассажиров).
    Если ни для одного перелета не нашлось подходящих цен, то поиск прерывается ошибкой Не удалось найти цен, удовлетворяющих заданным критериям.
    Перелеты, цены для которых нашлись, попадают в поисковую выдачу.

Бронирование

Бронирование в Инвентори происходит следующим образом:

  1. Система проверяет наличие:
    • бронируемых рейсов,
    • нужного количества мест на них.
  2. Система оценивает забронированный перелет так же, как при поиске.
  3. На основании всех полученных данных в Инвентори создается объект PNR.
    Если цену получить не удалось, то взятые места возвращаются в пул доступных для бронирования, и бронирование прерывается соответствующей ошибкой.

Доступные действия с бронью:

  • обновление (получение актуального статуса и цены),
  • отмена,
  • выписка.

Выписка

Выписка в Инвентори выполняется в 3 этапа:

  1. После поступления оплаты от клиента бронь приобретает статус ожидает выписки.
  2. Представитель агента вручную переносит брони в стороннюю систему (GDS или инвенторную систему а/к) для автоматической выписки билетов.
  3. Представитель агента загружает файл с выписанными билетами в раздел Инвентори Простановка номеров билетов.

Когда номера билетов будут проставлены, бронь в Инвентори принимет статус выписано. При этом ЭД, сгенерированные на первом этапе, деактивируются со статусом использовано.

Бронь после выписки и до внесения билетов а/к можно войдировать в течение некоторого времени. При этом ЭД на оформление билетов деактивируются со статусом отменено. Удаление внесенных билетов а/к на данный момент не поддерживается.