Мастер-Web:Добавление доплат к рейсам в экране Упрощенная корзина — различия между версиями
Tarasov (обсуждение | вклад) |
|||
(не показаны 3 промежуточные версии 2 участников) | |||
Строка 5: | Строка 5: | ||
==Настройки web.config== | ==Настройки web.config== | ||
− | {| style="border-collapse: collapse | + | {| border="1" cellpadding="8" style="background-color:#F9F9F9; border:#AAAAAA; border-collapse:collapse" |
− | ! | + | |
− | ! | + | |- style="background-color:#F2F2F2" |
− | ! | + | |
− | ! | + | ! width="2%" | № |
− | |- | + | ! width="28%" | Описание |
− | + | ! width="35%" | Значение | |
− | | | + | ! width="35%" | Настройка |
− | + | ||
− | | | + | |- style="vertical-align:text-top" |
− | |- | + | |
− | + | | 1 | |
− | | | + | | Включение '''отображения блока доплат''' к рейсу. |
− | + | | '''Ключ типа тура''' - поле '''TP_KEY''' из таблицы <code>'''[TipTur]'''</code>, к которому должны привязываться туры, содержащие доплаты к рейсам. | |
− | | | + | | <syntaxhighlight lang="xml" enclose="div"> |
− | |- | + | <add key="addFlightTourType" value="13" /> |
− | + | </syntaxhighlight> | |
− | + | ||
− | + | |- style="vertical-align:text-top" | |
− | | | + | |
+ | | 2 | ||
+ | | '''Название доплаты за изменение рейса'''. | ||
+ | | '''Текст''' - название доплаты за изменение рейса, которое будет отображаться в блоке доплат. | ||
+ | | <syntaxhighlight lang="xml" enclose="div"> | ||
+ | <add key="changeFlightPaymentName" value="Доплата за выбор рейса" /> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |- style="vertical-align:text-top" | ||
+ | |||
+ | | 3 | ||
+ | | Настройка, '''скрывающая поле с доплатой за изменение рейса''' в блоке доплат. | ||
+ | | '''false''' - поле с доплатой за изменение рейса скрыто; | ||
+ | '''true''' или '''отсутствие настройки''' - поле с доплатой за изменение рейса отображается. | ||
+ | | <syntaxhighlight lang="xml" enclose="div"> | ||
+ | <add key="showFlightVariantDifference" value="true" /> | ||
+ | </syntaxhighlight> | ||
+ | |||
|} | |} | ||
+ | |||
+ | Для того, что бы получить все связанные дополнительные услуги, необходимо добавить в файл <code>web.config</code> настройку <code><add key="addFlightTourType" value="<span style="color:red">ххх</span>" /></code>, где <span style="color:red">ххх</span> - ключ типа тура, откуда берутся доплаты. Например, ключ типа у текущего тура - 17, а дополнительная услуга топливного сбора лежит в пакете с ключом типа тура 50. Значит, нам надо указать 50 вместо <span style="color:red">ххх</span>. При получении списка услуг необходимо использовать метод <code>GetCalculatedServices</code> сервиса <code>ServiceProvider.asmx</code>. Услуга топливного сбора будет находиться в подразделе <code>AdditionalPayments</code> раздела <code>Service</code> структуры XML. | ||
+ | |||
+ | Подробнее о работе сервиса бронирования можно узнать из статьи [[Web-сервисы: Сервис бронирования|Дополнительный модуль Сервис бронирования]]. | ||
==Подготовка данных== | ==Подготовка данных== | ||
Строка 74: | Строка 95: | ||
<br>Если валюта, в которой заведены цены на доплату, отличается от валюты заказа, то стоимость доплат в экране «Упрощенная корзина» пересчитывается по текущему кросс-курсу. | <br>Если валюта, в которой заведены цены на доплату, отличается от валюты заказа, то стоимость доплат в экране «Упрощенная корзина» пересчитывается по текущему кросс-курсу. | ||
<br>При изменении рейса в экране «Упрощенная корзина» список доплат к рейсу обновляется автоматически. | <br>При изменении рейса в экране «Упрощенная корзина» список доплат к рейсу обновляется автоматически. | ||
− | <br>При отсутствии доплат к тому или иному рейсу раздел доплат для этого рейса | + | <br>При отсутствии доплат к тому или иному рейсу раздел доплат для этого рейса недоступен. |
− | |||
===Подбор доплат=== | ===Подбор доплат=== |
Текущая версия на 15:34, 21 июля 2016
Версия статьи от 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 из экрана «Упрощенная корзина» информация об отмеченных доплатах к рейсам добавляется в письмо с заказом на бронирование путевки.
Стоимость доплат учитывается в стоимости заказа автоматически.