Мастер-Web:Добавление доплат к рейсам в экране Упрощенная корзина
Версия статьи от 21-07-2016.
Введение
В данном документе описан механизм добавления доплат за авиарейсы в экране "Упрощенная корзина".
Настройки web.config
№ | Описание | Значение | Настройка |
---|---|---|---|
1 | Включение отображения блока доплат к рейсу. | Ключ типа тура - поле TP_KEY из таблицы [TipTur] , к которому должны привязываться туры, содержащие доплаты к рейсам.
|
<add key="addFlightTourType" value="13" />
|
2 | Название доплаты за изменение рейса. | Текст - название доплаты за изменение рейса, которое будет отображаться в блоке доплат. | <add key="changeFlightPaymentName" value="Доплата за выбор рейса" />
|
3 | Настройка, скрывающая поле с доплатой за изменение рейса в блоке доплат. | false - поле с доплатой за изменение рейса скрыто;
true или отсутствие настройки - поле с доплатой за изменение рейса отображается. |
<add key="showFlightVariantDifference" value="true" />
|
Для того, что бы получить все связанные дополнительные услуги, необходимо добавить в файл web.config
настройку <add key="addFlightTourType" value="ххх" />
, где ххх - ключ типа тура, откуда берутся доплаты. Например, ключ типа у текущего тура - 17, а дополнительная услуга топливного сбора лежит в пакете с ключом типа тура 50. Значит, нам надо указать 50 вместо ххх. При получении списка услуг необходимо использовать метод GetCalculatedServices
сервиса ServiceProvider.asmx
. Услуга топливного сбора будет находиться в подразделе AdditionalPayments
раздела Service
структуры XML.
Подробнее о работе сервиса бронирования можно узнать из статьи Дополнительный модуль Сервис бронирования.
Подготовка данных
Заведение типа тура
Для корректного подбора доплат в экране «Упрощенная корзина» необходимо завести отдельный тип тура. К данному типу будут привязываться туры, в которых будут храниться доплаты к рейсам. Тип тура создается в справочнике «Типы тура» в ПК Мастер-Тур. Для каждого набора доплат должен заводится отдельный тур.
Рассмотрим пример. Для рейса № 001 есть только одна доплата – Топливный сбор, а для рейса № 002 доплат несколько – Топливный сбор и Гарантия рейса. В этом случае должно быть заведено два отдельных тура:
- Тур для набора доплат, включающего доплату Топливный сбор
- Тур для набора доплат, включающего доплаты Топливный сбор и Гарантия рейса.
Рассмотрим другой пример. Для рейса № 001 есть доплата Топливный сбор по цене 50$ на человека, а для рейса № 002 есть доплата Топливный сбор по цене 60$. В этом случае должно быть заведено два отдельных тура:
- Тур для набора доплат, включающего доплату Топливный сбор по цене 50$
- Тур для набора доплат, включающего доплату Топливный сбор по цене 60$
Заведение цен на доплаты
При заведении цен на доплаты к рейсам необходимо уделять внимание к отметкам «Комиссия» и «Групповая»:
Проставление отметки «Комиссия» означает, что с данной стоимости услуги будет даваться комиссия. Отсутствие отметки означает, что услуга некомиссионная.
Проставление отметки «Групповая» означает, что сумма доплаты не зависит от количества человек по путевке и взимается один раз. При отсутствии отметки стоимость доплаты будет умножаться на количество человек по путевке.
Заведение пакетов с доплатами
Каждый набор доплат заводится в отдельном туре.
Кроме списка доплат тур должен содержать список рейсов, для которых эти доплаты действуют.
Каждый рейс должен быть заведен отдельной услугой в туре.
Цены в данных турах заводятся только на доплаты. Цены на услуги «Авиаперелет» в данном туре не заводятся.
Для удаляемых услуг «Доплата к рейсам» необходимо проставить атрибут «Удаляемая». Удаляемые доплаты могут быть добавлены по желанию пользователя, бронирующего путевку в экране «Упрощенная корзина».
Для обязательных доплат к рейсам атрибут «Удаляемая» не должен проставляться. Такие доплаты автоматически будут включены в стоимость тура и отказ от них будет недоступен в экране «Упрощенная корзина».
Работа в системе
Блок доплат к рейсу
Блок доплат к рейсу представляет собой набор списков доплат по каждому рейсу. Он отображается справа от блока выбора рейсов:
По умолчанию списки скрыты. Раскрытие того или иного списка производится по клику на элемент , расположенный справа от названия рейса.
При раскрытии списка доплат элемент изменяется на .
По нажатию на элемент происходит закрытие списка доплат.
Список доплат представляет собой таблицу, содержащую поля:
- Название доплаты
- Стоимость доплаты
Сортировка: вверху списка отображаются обязательные доплаты (сортировка по алфавиту), внизу списка отображаются необязательные доплаты (сортировка по алфавиту).
При отображении стоимости доплат проверяется отметка «Групповая» в ценах на услугу. При отсутствии отметки после стоимости доплаты добавляется «/ чел.».
Для добавления стоимости доплаты к стоимости тура пользователь проставляет отметку в чек-боксе справа от названия нужной доплаты.
Добавление доступно только для удаляемых доплат.
Обязательные доплаты включаются в стоимость тура автоматически и отказ от них невозможен.
Стоимость доплат автоматически прибавляется к стоимости тура при проставлении отметки в соответствующем чек-боксе.
Стоимость доплат, у которых в ценах проставлена отметка «Групповая», прибавляется к стоимости тура один раз вне зависимости от количества человек по заявке.
Стоимость доплат, у которых в ценах не установлена отметка «Групповая», умножается на количество человек по заявке и полученный результат прибавляется к стоимости тура.
Стоимость доплат отображается в валюте заказа – валюте, в которой отображается стоимость тура и сумма к оплате в экране «Упрощенная корзина».
Если валюта, в которой заведены цены на доплату, отличается от валюты заказа, то стоимость доплат в экране «Упрощенная корзина» пересчитывается по текущему кросс-курсу.
При изменении рейса в экране «Упрощенная корзина» список доплат к рейсу обновляется автоматически.
При отсутствии доплат к тому или иному рейсу раздел доплат для этого рейса недоступен.
Подбор доплат
Подбор доплат к рейсам осуществляется по турам, ключ типа которых равен значению настройки addFlightTourType. В этих турах ищется рейс, соответствующий рейсу, выбранному в экране «Упрощенная корзина». Соответствие рейсов проверяется по следующим параметрам:
- Ключ рейса (поле TS_Code в таблице TurService)
- Ключ партнера (поле TS_PartnerKey в таблице TurService)
Если найдено соответствие, то производится проверка актуальности цен на услуги (кроме услуг Авиаперелет), заведенные в туре, в котором хранится рейс, соответствующий рейсу, выбранному в экране «Упрощенная корзина».
Актуальность цен проверяется на дату рейса, выбранного в экране «Упрощенная корзина».
Если найдены актуальные цены, то в экране «Упрощенная корзина» отображается блок доплат для соответствующего рейса. В списке доплат отображаются только услуги (кроме услуг Авиаперелет) с актуальными на дату рейса ценами.
Доплаты за изменение рейса
При изменении рейсов в экране «Упрощенная корзина» разница в стоимости между базовым рейсом (рейсом, с которым производился расчет прайс-листа) и рейсом, выбранным в экране «Упрощенная корзина», отображается в списке доплат к рейсам на последнем месте. Текст названия этого типа доплат задается настройкой changeFlightPaymentName. Это поле можно скрыть с помощью настройки showFlightVariantDifference.
Важным условием для корректных расчетов стоимости доплат за изменение рейсов является заведение цен на рейсы. Цены должны заводиться и на прямой рейс и на обратный. Т.е. цены не должны заводиться только на прямой рейс.
Бронирование заявки
Бронирование путевки с доплатами к рейсам
При бронировании заявки в экране «Упрощенная корзина» доплаты к рейсам, отмеченные как включенные в стоимость добавляются в состав заказа.
Пакетом таких услуг прописывается пакет, указанный для этой услуги в туре, в котором данная услуга заведена.
Стоимость доплат учитывается в стоимости путевки автоматически.
Отправка заявки с доплатами к рейсам по e-mail
При отправке заявки с доплатами к рейсам по e-mail из экрана «Упрощенная корзина» информация об отмеченных доплатах к рейсам добавляется в письмо с заказом на бронирование путевки.
Стоимость доплат учитывается в стоимости заказа автоматически.