Кастомизация бланков маршрутных квитанций (МК) и ваучеров
- 1 Кастомизация бланков маршрутных квитанций (МК)
- 2 Кастомизация отельного ваучера
Кастомизация бланков маршрутных квитанций (МК)
Для редактирования бланка необходимо перейти в админку агентства по адресу: https://prd.admin.corteos.ru
Для входа использовать административные логин и пароль своего агентства.
Далее спускаемся до блока "Настройки маршрут-квитанций":
Блок настройки маршрут-квитанций состоит из трех блоков:
Формат файла, в котором конечный пользователь будет получать файлы билетов;
Блок с шаблонами по умолчанию. Здесь можно скачать шаблон в формате .html, а также скачать пример ваучера (по умолчанию в формате .pdf);
Блок с загружаемыми в данный момент и последним загруженным ранее шаблоном в формате .html, а также примеры сформированного файла ваучера или МК в формате .pdf.
Кастомизация МК авиабилета
Для кастомизации маршрут-квитанции авиабилета необходимо скачать шаблон МК:
Скачанный файл следует открыть в любом редакторе, где можно редактировать html (например, Блокнот или Notepad++).
В шаблоне можно менять верстку, но нельзя добавлять служебные поля или изменять их названия (служебные поля начинаются с "@", например, "@(Model.SUPPLIER_NAME)").
Сохраняем файл обратно в .html.
Загрузка логотипа агентства
В шаблон МК логотип вставляется кодированным в формат BASE64.
Чтобы выполнить кодирование, можно воспользоваться онлайн-конвертером (например, этим). Нажимаем на кнопку загрузки на страничке конвертера:
Выбираем файл с логотипом и нажимаем кнопку "Открыть". Конвертер загрузит файл и проведет его кодирование в формат BASE64, после чего предложит, в каком формате отдать код. Выбираем опцию "Show code":
Выбираем вариант "For use in <img> elements:" и нажимаем кнопку "Copy to Clipboard":
Теперь возвращаемся в наш редактор и вставляем логотип в нужное место в нашем шаблоне и сохраняем файл:
Пример блока для логотипа в шапке письма
Обратите внимание, содержание представленного блока прописывается самостоятельно.
<table cellspacing="0" cellpadding="0" style="border-collapse:collapse">
<tbody><tr style="page-break-inside:avoid !important">
<td style="width:262.5pt; vertical-align:top;text-align:right">
<p style="margin-top:0pt; margin-bottom:0pt; font-size:14pt">
<img alt="" src="data:image/png;base64"
width="250" height="165" style="-aw-left-pos:0pt; -aw-rel-hpos:column; -aw-rel-vpos:paragraph; -aw-top-pos:0pt; -aw-wrap-type:inline">
</p>
</td>
<td style="width:500pt">
<p style="margin-top:0pt; margin-bottom:0pt; text-align: center">
<span style="font-family:Cambria; color:#000000">TEXT
</span>
<span style="font-family:Cambria; color:#000000"></span>
</p>
<p style="margin-top:0pt; margin-bottom:0pt;text-align:center">
<span style="font-family:Cambria; color:#000000">TEXT
</span>
<span style="font-family:Cambria; color:#000000"></span>
<p style="margin-top:0pt; margin-bottom:0pt;text-align:center">
<span style="font-family:Cambria; color:#000000">TEXT
</span>
<span style="font-family:Cambria; color:#000000"></span>
</p>
</p>
</td>
</tr>
</table>
Проверка шаблона
Чтобы проверить, насколько корректно мы сверстали шаблон МК, необходимо в блоке настроек маршрут-квитанций нажать на кнопку "Проверить шаблон" и далее кнопку "Загрузить":
Далее в открывшемся окне выбрать сохраненный файл шаблона и нажать кнопку "Открыть":
После загрузки бланка наша форма проверки шаблона обновится и будет иметь вид:
Прежде чем применить изменения в настройках шаблона, необходимо проверить его корректность.
Для этого нажимаем на кнопку "Новый бланк":
Опция "Шаблон" выгрузит нам тот шаблон, который мы только что загрузили.
Опция "Сгенерированный файл" выгрузит в формате .pdf пример сгенерированной МК на основе только что загруженного шаблона.
Если с шаблоном все в порядке и выгруженный пример заполненной МК нас устраивает, нажимаем кнопку "Применить" на форме проверки шаблона.
Если при проверке шаблона при выгрузке примера сформированной МК вместо файла PDF выгружается пустой архив - значит, в самом формате шаблона была допущена ошибка!
Ее необходимо исправить и добиться корректной выгрузки примера маршрут-квитанции!
После применения настроек шаблона необходимо пролистать страницу админки вниз до конца и нажать кнопку "Сохранить":
Просмотр предыдущего загруженного шаблона и примера выгружаемой МК
Для того, чтобы просмотреть, какой шаблон и МК были загружены ранее, необходимо нажать кнопку "Проверить шаблон".
В открывшеся окне будет доступна кнопка "Старый бланк":
Аналогично проверке новых бланков при нажатии на эту кнопку нам будут доступны два варианта:
"Шаблон" - будет выгружаться непосредственно редактируемый шаблон, который используется в данный момент;
"Сгенерированный файл" - выгрузится предзаполненная МК для просмотра финального вида.
Служебные поля, которые могут быть использованы в шаблоне маршрут-квитанции
Переменные модели корневого уровня
Пример синтаксиса в шаблоне МК:
@(Model.SELL_DATE) |
Список полей:
PAX_NAME_EN - Имя пакса латиницей (поле ПАССАЖИР);
SELL_DATE - Дата выписки билета (поле ДАТА ПРОДАЖИ);
TICKET_NUMBER - Номер билета (поле НОМЕР БИЛЕТА);
PNR_LOCATOR - Номер брони (поле НОМЕР БРОНИРОВАНИЯ);
AIRLINE_LOCATOR - Номера броней авиакомпаний для данного маршута, через запятую (поле ЛОКАТОР АВИАКОМПАНИИ);
PAX_DOCUMENT - Номер документа пакса (поле НОМЕР ДОКУМЕНТА);
PAX_MILECARD - Номер мильной карты (поле НОМЕР БОНУСНОЙ КАРТЫ);
VALIDATOR_EN - Валидирующий перевозчик латиницей (поле VALIDATING CARRIER);
VALIDATOR_RU - Валидирующий перевозчик кириллицей (поле ВАЛИДИРУЮЩИЙ ПЕРЕВОЗЧИК);
CURRENCY_RATE - Курс валюты к рублю, если валюта отличается от рубля;
BASE_FARE - Базовый тариф (поле “Тариф”);
CURRENCY - Валюта (поле “Тариф”);
EQUIV_VALUE - Значение базового тарифа в эквивалентной валюте (поле “Эквив.”);
EQUIV_CODE - Код эквивалентной валюты (поле “Эквив.”);
TAXES - Комиссии и сборы списком в формате Код таксы, сумма, валюта (поле “Аэропортовые сборы”);
SERVICE_FEE - Сервисный сбор;
VAT - НДС (поле НДС);
VAT_DETALIZATION - Расшифровка НДС;
BASE_FARE_VAT - Отображения размера ставки и величины НДС для тарифа с НДС;
TAXES_VAT - Отображение ставки и величины НДС для такс, облагаемых НДС;
TOTAL - Итоговая сумма;
TOTAL_NOFEE - Итоговая сумма за вычетом сервисного сбора (поле “Всего”);
ENDORSMENT - Поле авиабилета, где указываются различные ограничения (restrictions) на перевозку по данному билету, а также возможность “передачи” (endorsement) пассажира другому перевозчику в случае, если пассажир по каким-либо причинам не сможет улететь на рейсе, указанном в билете (поле “Эндорсмент”).
TECHNICAL_STOPS - Информация о технической остановке. Город остановки и кол-во минут.
Переменные модели уровня Leg
Пример синтаксиса в шаблоне МК:
@foreach (var leg in Model.Legs) |
Список полей:
LEG_ORIGIN - Город отправления кириллицей/латиницей (поле ДЕТАЛИ ПЕРЕЛЕТА);
LEG_DESTINATION - Город назначения кириллицей/латиницей (поле ДЕТАЛИ ПЕРЕЛЕТА);
LEG_DURATION - Длительность лега ЧЧ:ММ (поле ДЕТАЛИ ПЕРЕЛЕТА).
Переменные модели уровня Flight
Пример синтаксиса в шаблоне МК:
@foreach (var flight in leg.Flights) |
Список полей:
FLIGHT_POINTS - Код аэропорта вылета - код аэропорта прилета (например, "VKO - LED");
FLIGHT_NUMBER - Номер рейса (поле РЕЙС /FLIGHT);
FLIGHT_CLASS - Тип тарифа, например, "Бизнес";
FLIGHT_DATE - Дата вылета рейса
FLIGHT_DEPARTURE_RU - Город вылета, название аэропорта вылета;
FLIGHT_DEPARTURE_EN - Город вылета, название аэропорта вылета латиницей;
FLIGHT_DEPARTURE_TERMINAL - Терминал в аэропорте отправления, если есть;
FLIGHT_DEPARTURE_TIME - Время вылета рейса;
FLIGHT_ARRIVAL_RU - Город прилета, название аэропорта прилета;
FLIGHT_ARRIVAL_EN - Город прилета, название аэропорта прилета латиницей;
FLIGHT_ARRIVAL_TERMINAL - Терминал в аэропорте назначения, если есть;
FLIGHT_ARRIVAL_TIME - Время прилета рейса. Если дата отличается от даты вылета - то дата и время прилета;
FLIGHT_OPERATING_CARRIER_RU - Валидирующий перевозчик;
FLIGHT_OPERATING_CARRIER_EN - Валидирующий перевозчик латиницей;
FLIGHT_RBD - код тарифа, название тарифа (например, "YLEERT") (поле “Код тарифа”);
FLIGHT_EQUIPMENT - Название самолета и его код, если есть (например, "Boeing 737-500");
FLIGHT_BAGGAGE - информация о багаже на рейсе (поле Багаж);
CONNECTION - время ожидания следующего рейса для перелета с пересадками в формате ЧЧ:ММ.
@(Model.VALIDATOR_AG) — Валидатор агентства;
@(Model.AGENCY_NAME) — Наименовании агентства;
@(Model.AGENCY_PHONE) — Контакты агентства;
@(Model.AGENCY_ADDRESS) — Адрес агентства.
Кастомизация отельного ваучера
Аналогично с файлом маршрут-квитанции авиабилета, описанной выше, производится и кастомизация отельного ваучера.
Скачиваем шаблон, редактируем, не меняя служебные поля.
Далее загружаем новый ваучер на сайт, проверяем шаблон выгрузкой сгенерированного файла и, если все ОК - сохраняем.
Служебные поля, которые могут быть использованы в шаблоне отельного ваучера
Переменные модели корневого уровня
Пример синтаксиса в шаблоне ваучера:
@(Model.VOUCHER_NUMBER) |
Список полей:
VOUCHER_NUMBER - Номер брони;
HOTEL_NAME_EN - Название гостиницы латиницей;
HOTEL_NAME_RU - Название гостиницы;
HOTEL_ADDRESS_EN - Адрес гостиницы латиницей;
HOTEL_ADDRESS_RU - Адрес гостиницы;
HOTEL_LOCATION_RU - Расположение гостиницы, формируется из названия страны и города;
HOTEL_LOCATION_EN - Расположение гостиницы латиницей, формируется из названия страны и города;
HOTEL_PHONE_RU - Телефон отеля;
HOTEL_PHONE_EN - Телефон отеля латиницей;
HOTEL_ROOM_TYPE_EN - Название номера латиницей;
HOTEL_ROOM_TYPE_RU - Название номера;
HOTEL_MEAL_NAME_EN - Информация о питании латиницей (например, "Breakfast not included");
HOTEL_MEAL_NAME_RU - Информация о питании (например, "Завтрак включен");
DURATION_DATES - Даты заезда и выезда;
CHECK_IN_TIME - Время заезда, не раньше, чем;
CHECK_OUT_TIME - Время выезда, не позже, чем;
PENALTIES_INFO_RU - Информация о штрафах;
PENALTIES_INFO_EN - Информация о штрафах (англ.);
TOTAL_PRICE - Полная стоимость заказа с учетом сбора агента;
NUMBER_OF_NIGHTS - Количество ночей;
TRAVEL_AGENCY_RU - Название агентства (например, Транстур Тревел - не субагенты);
TRAVEL_AGENCY_EN - Название агентства латиницей;
NOTE_EN - Справочная информация для клиента латиницей;
NOTE_RU - Справочная информация для клиента (описания, отметки о РЗПВ и т. д.);
TOTAL_GUESTS - Количество гостей всего;
SUPPLIER_NAME - Название поставщика;
PAID_BY_EN - Название поставщика латиницей;
PAID_BY_RU - Название поставщика.
Изображения
Пример синтаксиса в шаблоне ваучера:
<img alt="" src="data:image/jpg;base64,@(Convert.ToBase64String(Model.SUPPLIER_LOGO))" /> |
Список полей:
SUPPLIER_LOGO - Логотип поставщика;
HOTEL_MAP_IMAGE_EN - Карта с расположением отеля, англ.;
HOTEL_MAP_IMAGE_RU - Карта с расположением отеля.
Переменные модели уровня гостя
Пример синтаксиса объектов модели в шаблоне ваучера:
@foreach (var guest in Model.GuestsRu) |
Список полей:
GUEST_TITLE_EN - Обращение, например MR, MS, CHD 5;
GUEST_TITLE_RU - Обращение, например Г-Н, Г-ЖА, РЕБ 5;
GUEST_FIRST_NAME_EN - Имя гостя латиницей;
GUEST_FIRST_NAME_RU - Имя гостя;
GUEST_LAST_NAME_EN - Фамилия гостя латиницей;
GUEST_FIRST_NAME_RU - Фамилия гостя.
____