Изменения

Перейти к навигации Перейти к поиску

Nemo Inventory (компонент)

493 байта добавлено, 20 март
Выписка
Nemo Inventory подключается администратором {{NameSystem}}. Для подключения обратитесь в [http://helpdesk.nemo.travel трекер техподдержки] {{NameSystem}}.
== Принцип работы Nemo Inventory компонента ==
В Nemo.Travel {{NameSystem}} компонент Инвентори выступает поставщиком авиаконтента по аналогии с классическими GDS. Это значит, что контент, заведенный в Инвентори, возможно использовать в рамках стандартного функционала {{NameSystem}}: осуществлять поиск, бронирование, отмену перелета.
При этом предоставляются широкие возможности по управлению ресурсом мест и тарифами. Это достигается во многом за счет того, что менеджер агентства самостоятельно заносит контент в XLS-файлы и загружает их в Инвентори.
* такса.
== Управление контентом Раздел «Управление контентом» ==
Раздел '''Управление В этом разделе вы можете работать с контентом''' представляет собой форму : загружать его в систему и экспортировать для импорта и экспорта данных в формате XLSпоследующего редактирования.
=== Подготовка данных к загрузке ===
==== Комбинации ====
<span style="background-colorВ файле '''Комбинации''' можно указывать: #fbecdd;">Тарифы привязываются * несколько перелетов на один и применяются исключительно к комбинациям рейсовтот же рейс в разных конфигурациях, поэтому даже OW-перелеты из одного рейса должны быть заданы как комбинации из одного рейса* разные даты вылетов,* список тарифов и тип направления перелета (эти поля носят справочный характер и не влияют на связь таблиц).</span>
В файле '''Комбинации''' можно указывать несколько перелетов на один и тот же рейс в разных конфигурациях, будь то перелет в одну сторону или туда/обратно, а также указывать разные даты вылетов. Между последовательными парами рейсов можно задавать ограничения по допустимой длительности путешествия в виде списка количества дней между датами вылета первого и второго рейсов в паре. Длительность путешествия вычисляется как прямое вычитание дат вылета первого и второго рейсов в паре (12.02 — 10.02 = 2 дня длительность путешествия). Если не указано, то никаких ограничений для данной пары рейсов не применяется. В комбинации можно указывать Комбинация может содержать максимум 4 рейса. Информация о каждом рейсе в комбинации включает в себя:
* номер рейса,
* код авиакомпании,
* литера литеру класса,* дата дату начала полётовполетов,* дата дату окончания полётовполетов,
* дни между вылетами.
Между последовательными парами рейсов можно задавать ограничения по допустимой длительности путешествия в виде списка количества дней между датами вылета первого и второго рейсов в паре. Длительность путешествия вычисляется как прямое вычитание дат вылета первого и второго рейсов в паре (12.02 — 10.02 = 2 дня длительность путешествия). Если не указано, то никаких ограничений не применяется для данной пары рейсов.
Также в {| class="wikitable mw-collapsible mw-collapsed"!colspan = 4|Как заполнять данные о комбинациях|-! scope="col" | Поле<br/>! scope="col" | Описание<br/>! scope="col" | Допустимые значения<br/>! scope="col" | Примеры<br/>|-| <span id="id">id</span>| Уникальный номер записи о перелете, который присваивает система при выгрузке файла. <span style="background-color: #fbecdd;">При загрузке файла не заполняется</span>.<br/>Редактирование правила с заданным id приводит к изменению уже созданного правила, а если поле пустое, то будет создано новое правило| Пустое или системный номер| 30<br/>48|-| <span id="активен">активен</span>| Используется для удаления тарифа<br/>| <code>-1</code> — удаление тарифа,<br/>пустое — без изменений| -1|-| <span id="тип маршрута">тип маршрута</span>| Тип маршрута на данной комбинации можно указывать список тарифов|* OW,<br/>* RT,<br/>* CT| OW<br/>RT | |-| <span id="рейс">фрахтователь</span>| Код компании, применяющихся к предоставляющей блок мест на данном рейсе (для чартеров - фрахтователь)<br/>| IATA-код авиакомпании| SU<br/>UN |-| <span id="ВП">номер рейса</span>| Номер рейса<br/>| Число|112<br/>114|-| <span id="литера">литера</span>| Список литер классов перелета, которые могут участвовать в данной комбинации и тип направления перелёта (минимум одна) <br/>| Код| Y<br/>D|-| <span id="дата начала полетов">дата начала полетов</span>| Дата начала выполнения рейсов в рамках комбинации. Не может быть раньше даты первого рейса на основании расписания в '''Мониторе рейсов'''<br/>| DD.MM.YYYY| 01.01.2015<br/>02.08.2016|-| <span id="дата окончания полетов">дата окончания полетов</span>| Дата окончания выполнения рейсов в рамках данной комбинации. Не может быть позже даты последнего рейса на основании расписания в '''Мониторе рейсов'''<br/>| DD.MM.YYYY| 01.01.2014<br/>02.08.2015|-| <span id="дней между">дней между</span>| Допустимое количество дней между соседними рейсами в комбинации. Если не задано, то между соседними рейсами может быть любая длительность. Несколько значений указываются через <code>;</code><br/>'''Пример''': в комбинации 4 рейса. Между 1 и 2 рейсами должно быть X дней, эти поля на данный момент являются исключительно информативными между 2 и 3 — Y дней, между 3 и не влияют на логику привязки таблиц друг к другу4 — Z дней. В таком случае в поле нужно указать X;Y;Z.| Цифра| 1<br/>2;4;6|-|}
==== Тариф ====
Тариф описывает правила формирования цены для определённого определенного набора перелётоврейсов, заведенных в файле [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 Комбинации|'''Комбинации''']]. <span style="background-color: #fbecdd;">Тарифы работают только с комбинациями рейсов, поэтому даже OW-перелеты, состоящие из одного рейса, нужно задавать как комбинации из одного рейса.</span> 
{| class="wikitable mw-collapsible mw-collapsed"
!colspan = 4|Как заполнять данные о тарифах
* Пустое — багаж оплачивается отдельно,
* 1PC — количество багажных мест,
* 10KG — максимальный вес в киллограммахкилограммах,
* 10LB — максимальный вес в фунтах
<!--* 60Х60Х60 — дополнительные ограничения по размеру багажа в сантиметрах, при заданной норме по весу-->
* Пустое — багаж оплачивается отдельно,
* 1PC — количество багажных мест,
* 10KG — максимальный вес в киллограммахкилограммах,
* 10LB — максимальный вес в фунтах
<!--* 60Х60Х60 — дополнительные ограничения по размеру багажа в сантиметрах, при заданной норме по весу-->
* Пустое — багаж оплачивается отдельно,
* 1PC — количество багажных мест,
* 10KG — максимальный вес в киллограммахкилограммах,
* 10LB — максимальный вес в фунтах
<!--* 60Х60Х60 — дополнительные ограничения по размеру багажа в сантиметрах, при заданной норме по весу-->
| 25<br/>48<br/>
|}
 
Для того чтобы управлять квотами мест по тарифам на определенном рейсе, вам нужно:
# занести в файл «Рейс» несколько строк, соответствующих данному рейсу на разные даты и с разными квотами (подклассами и количеством мест).
# занести в файл «Комбинации» условия на каждую дату и подкласс.
При этом важно учитывать, что данные в файлах «Рейс» и «Комбинации» связываются по коду фрахтователя. Это значит, что в файле «Рейс» каждая строка с рейсом должна иметь уникальный код фрахтователя. В противном случае система не сможет подобрать нужный рейс для комбинации.
=== Загрузка данных в систему ===
Для того чтобы загрузить контент в Инвентори:
1. В выпадающем списке выберите тип файла, который вы собираетесь импортироватьзагрузить.
{| class="wikitable"
|-
|}
=== Экспорт Редактирование данных ===
Функция экспорта используется в случаях, когда вам нужно Для того чтобы изменить данные в загруженных ранее таблицах.файле:
Чтобы изменить данные в таблицах:# Экспортируйте файл(ы) — нажмите Нажмите на кнопку с соответствующим типом(см. Рисунок 3).# Отредактируйте содержание файлысодержимое файла.# [[Nemo Inventory (-овкомпонент).# Снова импортируйте измененные файлы Загрузка данных в систему|Загрузите]] отредактированный файл в систему.
Это необходимо для контроля даты версии файлов. Таким образом, при попытке загрузить в систему файл с более ранней датой изменения, чем у уже имеющегося <span style="background-color: #fbecdd;">Все ячейки файла должны быть в системе, появляется предупреждение ''Невозможно перезаписать более новые данные указанными устаревшими '' и предлагаются два варианта действий: * принудительно перезаписать данные* отказаться от загрузкитекстовом формате без лишних пробелов.</span>
{| class="wikitable"
|[[Файл:Инвентори Экспорт.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 />Если ни для одного из перелётов не удалось найти подходящих комбинаций рейсов, то поиск прерывается и Инвентори возвращает ошибку ''Нет допустимых комбинаций рейсов, удовлетворяющих заданным критериям''. # '''Оценка полученных перелётов.''' Для каждого из перелётов ''формируется набор тарифов'', которые обеспечивают наименьшую цену для данного перелёта. При этом выполняется следующая последовательность действийимпорте:## система рассматривает каждую комбинацию, которая применилась к перелёту.## система получает все тарифы для владельца мест на первом рейсе рассматриваемой комбинации.
Для каждого ''тарифа'' выполняется следующий набор проверок:* Фамилия, Имя (ФИО, разделитель пробел), # проверяется на применимость к текущей комбинации рейсов * Дата рождения (по её IDd.m.Y), # проверяется на возможность продажи по данному тарифу первого * Номер рейса из комбинации — при этом проверяется:, *текущая дата входит в один из сезонов продажи тарифа (SalesDates) и этот сезон не заканчивается через час№ билета, *дата Дата вылета первого рейса в комбинации входит в один из сезонов обслуживания тарифа (ServiceDatesd.m.Y)*проверяются ограничения на минимальное время до вылета и максимальное количество дней до вылета.
# проверяется доступ к тарифу{| class="wikitable mw-collapsible mw-collapsed"!colspan = 5|Пример файла|-! scope="col" | Фамилия, если он приватный, а так же ограничения по предпочитаемым типам тарифа из поискового запросаИмя<br/>! scope="col" | Дата рождения<br/>! scope="col" | Номер рейса<br/>! scope="col" | № билета<br/>! scope="col" | Дата вылета<br/># для тарифа заведённых на тип пассажира, отличный от ADT выполняется проверка на применимость данной тарифа к какому|-либо из запрошенных типов пассажиров.| <span id="WOLF JANELLE">WOLF JANELLE<br /span>Если тариф прошёл все проверки, то он считается применимым к данной комбинации рейсов| 18. Если подходящих тарифов не нашлось, то оценка данного перелёта прекращается и он в поисковую выдачу не попадает09.1994| 911# из всех подходящих тарифов выбирается тот, у которого итоговая эффективная цена наименьшая (с учётом цены комбинации и запрошенных типов пассажиров)| 1952438681143Если ни для одного из перелётов не нашлось подходящих цен, то поиск прерывается и Инвентори возвращает ошибку ''Не удалось найти цен, удовлетворяющих заданным критериям''| 22.05.2023|-| <span id="FLAGMANSDG IVAN">FLAGMANSDG IVAN<br /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# Система проверяет наличие:#* бронируемых рейсов, #* нужного количества мест на них. # Система оценивает забронированный перелет так же, как при поиске.# На основании всех полученных данных в Инвентори создается объект PNR. <br />Если цену получить не удалось, то взятые места возвращаются в пул доступных для бронирования, и бронирование прерывается соответствующей ошибкой.png|400px|Раздел «Простановка номеров билета»]]
В данном разделе отображаются заказы, ожидающие проставления номеров билета. Доступ к разделу имеет менеджер и эксперт агентства. Доступные действия с бронью: При оформлении заказа выписка не будет завершена, пока не внесены номера билетов в разделе '''Простановка номеров билетов''' * обновление (''см. Отправление заказа на выписку''получение актуального статуса и цены)., Чтобы выполнить выписку заказа* отмена, необходимо созданные в инвентори брони перенести в ГРС или авиакомпанию (туда, где хранится блок мест) и оформить выписку. Далее полученные номера билета вносятся в разделе ''Простановка номеров билетов''. После внесения номеров нужно вернуться к заказу и запустить выписку* выписка.
Раздел представляет собой последовательность форм с указанием даты вылета === Выписка ===Выписка в Инвентори выполняется в 3 этапа:# После поступления оплаты от клиента бронь приобретает статус <code>ожидает выписки</code>.# Представитель агента вручную переносит брони в стороннюю систему (несколько забронированных перелетов на одинаковую дату вылета располагаются на одной формеGDS или инвенторную систему а/к)для автоматической выписки билетов. При нажатии на одну из плашек раскрывается форма # Представитель агента загружает файл с перечислением направлений вылетов. При нажатии на конкретное направление отображается поле для внесения номера билетавыписанными билетами в раздел Инвентори [[Nemo Inventory (компонент)#Раздел «Простановка номеров билетов»|'''Простановка номеров билетов''']].
Если выписан один номер билетаКогда номера билетов будут проставлены, для направления тудабронь в Инвентори принимет статус <code>выписано</обратно номер проставляется только в code>. При этом ЭД, сгенерированные на первом окне. Если два номераэтапе, во втором необходимо указать второй номер билетадеактивируются со статусом <code>использовано</code>.
[[Файл:tickБронь после выписки и до внесения билетов а/к можно войдировать в течение некоторого времени.png|600px|Отправление заказа При этом ЭД на выписку]]оформление билетов деактивируются со статусом <code>отменено</code>. Удаление внесенных билетов а/к на данный момент не поддерживается.
190
правок

Навигация

'