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

Материал из Центр поддержки системы бронировании
Перейти к навигации Перейти к поиску
м (Принцип работы Nemo Inventory)
м (Тариф)
Строка 207: Строка 207:
  
 
==== Тариф ====
 
==== Тариф ====
Тариф описывает правила формирования цены для определённого набора перелётов, заведенных в файле [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_(компонент)#Комбинации|Комбинации]].
 
{|  class="wikitable mw-collapsible mw-collapsed"
 
{|  class="wikitable mw-collapsible mw-collapsed"
 
!colspan = 4|Как заполнять данные о тарифах
 
!colspan = 4|Как заполнять данные о тарифах

Версия 10:03, 1 августа 2023

О компоненте

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.

Подготовка данных к загрузке

Перед загрузкой контента в Инвентори внесите контент в 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

Комбинации

Тарифы привязываются и применяются исключительно к комбинациям рейсов, поэтому даже OW-перелеты из одного рейса должны быть заданы как комбинации из одного рейса.

В файле Комбинации можно указывать несколько перелетов на один и тот же рейс в разных конфигурациях, будь то перелет в одну сторону или туда/обратно, а также указывать разные даты вылетов. Между последовательными парами рейсов можно задавать ограничения по допустимой длительности путешествия в виде списка количества дней между датами вылета первого и второго рейсов в паре. Длительность путешествия вычисляется как прямое вычитание дат вылета первого и второго рейсов в паре (12.02 — 10.02 = 2 дня длительность путешествия). Если не указано, то никаких ограничений для данной пары рейсов не применяется.

В комбинации можно указывать максимум 4 рейса. Информация о каждом рейсе в комбинации включает в себя:

  • номер рейса,
  • код авиакомпании,
  • литера класса,
  • дата начала полётов,
  • дата окончания полётов,
  • дни между вылетами.

Между последовательными парами рейсов можно задавать ограничения по допустимой длительности путешествия в виде списка количества дней между датами вылета первого и второго рейсов в паре. Длительность путешествия вычисляется как прямое вычитание дат вылета первого и второго рейсов в паре (12.02 — 10.02 = 2 дня длительность путешествия). Если не указано, то никаких ограничений не применяется для данной пары рейсов.

Также в комбинации можно указывать список тарифов, применяющихся к данной комбинации и тип направления перелёта в рамках данной комбинации, эти поля на данный момент являются исключительно информативными и не влияют на логику привязки таблиц друг к другу.

Тариф

Тариф описывает правила формирования цены для определенного набора рейсов, заведенных в файле Комбинации.

Как заполнять данные о тарифах
Поле
Описание
Допустимые значения
Примеры
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. В выпадающем списке выберите тип файла, который вы собираетесь импортировать.

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

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

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

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

Экспорт данных

Функция экспорта используется в случаях, когда вам нужно изменить данные в загруженных ранее таблицах.

Чтобы изменить данные в таблицах:

  1. Экспортируйте файл(ы) — нажмите на кнопку с соответствующим типом.
  2. Отредактируйте содержание файлы(-ов).
  3. Снова импортируйте измененные файлы в систему.

Это необходимо для контроля даты версии файлов. Таким образом, при попытке загрузить в систему файл с более ранней датой изменения, чем у уже имеющегося в системе, появляется предупреждение Невозможно перезаписать более новые данные указанными устаревшими и предлагаются два варианта действий:

  • принудительно перезаписать данные
  • отказаться от загрузки.
Инвентори Экспорт.png
Экспорт файлов

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

Монитор рейсов

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

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

  • День
  • Три дня
  • Неделя
  • Две недели
  • Месяц

Окно монитора рейсов выглядит как таблица с информацией о перелетах на выбранный временной диапазон. Доступны переходы по кнопкам к следующему и предыдущему месяцу, неделе и т.д.

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

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

Изменение расписания рейса на конкретные даты

Изменения в рейсе позволяют тонко управлять информацией о рейсе на определённые даты, которые могут как входить в расписание, так и не входить в него. Это позволяет, к примеру, закрывать продажи на данный рейс на определённый день, менять время вылета/прилёта, номер рейса, переносить вылет рейса на другой день или даже добавлять новые дни вылета, которые не входят в основное расписание рейса.

В рейсе можно задавать изменения следующего набора данных:

  • Активность рейса
  • Аэропорт отправления/прибытия
  • Терминал отправления/прибытия
  • Время отправления/прибытия
  • Номер рейса
  • Прилет на следующие сутки
  • Тип воздушного судна
  • Посадка

Использование контента в продаже перелётов

Порядок и логика использования разных типов контента при поиске, бронировании и выписке.

Поиск

Для того, что бы забронировать и выписать перелёт, его надо сначала найти. Внутри Инвентори процедура обработки поискового запроса состоит из следующих этапов:

  1. Построение маршрута для каждого из запрошенных сегментов. На данный момент максимальная длина маршрута для запрошенного сегмента ограничена 1 сегментом. Если для одного из запрошенных сегментов не удалось построить маршрут, то поиск прерывается и Инвентори возвращает ошибку Невозможно построить маршрут для запрошенного сегмента с указанием соответствующего сегмента.
  2. Поиск подходящих рейсов для построенных маршрутов с учётом их расписания, времени стыковок, фильтров по а/к и наличия мест на нужных классах и построение из них полных перелётов. Если для одного из запрошенных сегментов не удалось найти подходящих рейсов, то поиск прерывается и Инвентори возвращает ошибку Не удалось найти расписание, удовлетворяющее заданным критериям, для сегмента с указанием соответствующего сегмента.
    Если не удалось построить ни одного полного перелёта из найденных рейсов, то поиск прерывается и Инвентори возвращает ошибку Невозможно построить полный перелёт, удовлетворяющий заданным критериям.
    Если ни для одного из построенных перелётов нет необходимого количества мест, то поиск прерывается и Инвентори возвращает ошибку Нет необходимого количества свободных мест на перелётах, удовлетворяющих заданным критериям.
  3. Применение комбинаций рейсов к построенным перелётам. На данный момент перелёты из более чем 4-х сегментов отбрасываются при данной процедуре. Для каждого из построенных перелётов ищется подходящая комбинация рейсов.
    Если для перелёта не удалось найти комбинации рейсов, полностью ему соответствующей, то для каждого сегмента в перелёте ищется отдельная соответствующая ему комбинация.
    Если ни для одного из перелётов не удалось найти подходящих комбинаций рейсов, то поиск прерывается и Инвентори возвращает ошибку Нет допустимых комбинаций рейсов, удовлетворяющих заданным критериям.
  4. Оценка полученных перелётов. Для каждого из перелётов формируется набор тарифов, которые обеспечивают наименьшую цену для данного перелёта. При этом выполняется следующая последовательность действий:
    1. система рассматривает каждую комбинацию, которая применилась к перелёту.
    2. система получает все тарифы для владельца мест на первом рейсе рассматриваемой комбинации.

Для каждого тарифа выполняется следующий набор проверок:

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

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

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

При бронировании перелёта

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

Бронь можно:

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

Выписка

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

  1. Выписка, запускаемая после поступления оплаты от клиента. Генерируются электронные документы (ЭД) на предоставление услуги оформления билетов от а/к. Бронь приобретает статус ожидает выписки.
  2. Внесение билетов а/к — на данный момент Инвентори не поддерживает автоматического переноса созданных броней в ГРС или инвентори системы а/к для автоматической выписки билетов а/к, поэтому уполномоченный представитель агента раз в некий период времени выполняет ручной перенос броней в нужные системы и выписку билетов а/к в них. После чего вносит выписанные билеты в нужные ПНРы в Инвентори. После внесения билетов для всех пассажиров бронь в Инвентори принимает статус выписано.
    При этом ЭД, сгенерированные на предыдущем этапе, деактивируются со статусом использовано.

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

Простановка номеров билетов

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

В данном разделе отображаются заказы, ожидающие проставления номеров билета. Доступ к разделу имеет менеджер и эксперт агентства.

При оформлении заказа выписка не будет завершена, пока не внесены номера билетов в разделе Простановка номеров билетов (см. Отправление заказа на выписку). Чтобы выполнить выписку заказа, необходимо созданные в инвентори брони перенести в ГРС или авиакомпанию (туда, где хранится блок мест) и оформить выписку. Далее полученные номера билета вносятся в разделе Простановка номеров билетов. После внесения номеров нужно вернуться к заказу и запустить выписку.

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

Если выписан один номер билета, для направления туда/обратно номер проставляется только в первом окне. Если два номера, во втором необходимо указать второй номер билета.

Отправление заказа на выписку