Мастер-Web:Выбор услуг списком в экране Упрощенная корзина
Версия статьи от 20-07-2012.
Содержание
Введение
Данная настройка экрана "Упрощенная корзина" позволяет определить, какие классы услуг должны отображаться в виде списка для каждого туриста, в случае если услуга была исключена из состава заказа при расчете прайс-листа. Главная цель - оптимизировать работу по бронированию дополнительных услуг Виза и Страховка в ПК «Мастер-Web» с помощью добавления выбора дополнительных услуг в виде списка для каждого туриста.
Добавление настроек в конфигурационный файл web.config
Настройка работает в экране "Упрощенная корзина" и распространяется исключительно на услуги, исключенные из состава заказа при расчете прайс-листа.
№ |
Описание |
Значение |
Настройка |
1 |
Настройка, определяющая ключи классов услуг, выбор которых будет осуществляться из выпадающих списков для каждого туриста. Услуги, ключ которых не указан в настройке, добавляются к составу заказа проставлением флага. |
- ключ класса услуги – из таблицы Service базы данных. |
<add key="dropdownOptionalServiceKeys" value="5,6,7"/> |
2 |
Настройка, определяющая ключи классов услуг, указанных в настройке dropdownOptionalServiceKeys, добавление которых к составу заказа повлечет удаление всех рассчитанных услуг того же класса. |
- ключ класса услуги – из таблицы Service базы данных. |
<add key="replacingOptionalServiceKeys" value="6,7" /> |
Формирование и расчет туров в Мастер-Туре
Ввод услуг в туре
Дополнительные услуги, в том числе Страховка и Виза должны быть добавлены в состав тура через конструктор туров ПК "Мастер-Тур". На рисунке представлен тестовый тур, в котором:
Страховка Австрия/Медицинская/A1/30000/0/EUR – Базовая услуга, рассчитана в прайс-листе
Страховка Австрия/Медицинская+Невыезд/A1/30000/0/EUR - Дополнительная услуга, исключена из расчета прайс-листа
Если от дополнительной услуги можно отказаться при бронировании, то необходимо выставить для услуги атрибут "Удаляемая" в кострукторе туров, если от дополнительной услуги нельзя отказаться при бронировании, то необходимо выставить для услуги атрибут "Не удаляемая" и при расчете прайс-листа выставить следуюшие параметры, указанные ниже.
Ввод цен на услуги
Для каждой дополнительной услуги типа Страховка или Виза должна быть введена цена в экране Цена услуги.
Цены могут быть занесены как в текущем рассчитанном пакете, так и в отдельном пакете.
В зависимости от наличия цены варианты услуг будут отображаться в выпадающем списке для выбора в экране "Упрощенная корзина".
Если цена для варианта дополнительной услуги не задана, то в списке данный вариант показан не будет.
Если не заведена цена ни на один из вариантов услуги, то список для выбора услуги скрывается.
Для формирования разных списков услуг в зависимости от типа тура или его наименования необходимо задавать на дополнительную услугу разные наборы цен, путем привязки цены услуги к разным пакетам, в которых заведены цена на этот тип услуги, или заводить цены в рамках пакета на тур.
Например, для тура 1 введены цены на 2 вида дополнительных страховок, для тура 2 введены цены на 3 вида дополнительных страховок и т.п.
В корзине для тура 1 в списке будут показаны 2 вида страховок.
В корзине для тура 2 в списке будут показаны 3 вида страховок.
Добавление услуг к составу заказа
На рисунке ниже представлена форма для ввода туристов в корзине Simple Basket, где услуги Страховка и Виза показаны в виде выпадающего списка.
Добавление услуг без подмены базового варианта услуги
Для выбора нужного типа услуги Виза или Страховка необходимо выбрать в выпадающем списке подходящее значение. Для отказа от услуги Виза или Страховка необходимо выбрать в выпадающем списке значение "Не требуется". Значение "Не требуется" отображается только для услуг, которые являются удаляемыми. При выводе дополнительных услуг в корзине сначала отображаются услуги, ключи которых указаны в настройке dropdownOptionalServiceKeys. После будут выведены все прочие дополнительные услуги, исключенные при расчете прайс-листа. При выборе варианта услуги из выпадающего списка происходит добавление услуги к составу заказа. При этом базовый вариант услуги остается в составе заказа наряду с добавленным вариантом. Базовым вариантом услуги считается вариант услуги, который не был исключен при расчете прайс-листа. При выборе варианта услуги "Не требуется", в состав заказа не будет добавлена дополнительная услуга. При этом базовый вариант услуги остается в составе заказа.
Добавление услуг с подменой базового варианта услуги
Для выбора нужного типа услуги Виза или Страховка необходимо также выбрать в выпадающем списке подходящее значение. Для отказа от услуги Виза или Страховка необходимо выбрать в выпадающем списке значение "Не требуется". При выводе дополнительных услуг в корзине сначала отображаются услуги, ключи которых указаны в настройке (см. раздел Определение классов услуг, для выбора через выпадающий список). После будут выведены все прочие дополнительные услуги, исключенные при расчете прайс-листа. При выборе варианта услуги из выпадающего списка происходит добавление услуги к составу заказа. При этом базовый вариант услуги удаляется из состава заказа и остается только добавленный вариант. Базовым вариантом услуги считается вариант услуги, который не был исключен при расчете прайс-листа. При выборе варианта услуги "Не требуется" в случае, когда Базовый вариант услуги имеет признак "Удаляемая", в состав заказа не будет добавлена дополнительная услуга, базовая услуга при этом будет удалена. При выборе варианта услуги "Не требуется" в случае, когда Базовый вариант услуги имеет признак "Не удаляемая", в состав заказа не будет добавлена дополнительная услуга, базовая услуга при этом остается в заказе.
Для того, чтобы реализовать работу алгоритма поглощения страховых рисков необходимо завести отдельные услуги "Страховка" для каждого набора рисков и указать ключ класса услуги "Страховка" в настройке replacingOptionalServiceKeys. В этом случае выбранный вариант страховки будет замещать базовый вариант услуги.
- Примеры заведения услуг типа "Страховка":
- Медицинская – риск медицина
- Медицинская + невыезд – риск медицина+невыезд
Фильтрация данных в выпадающих списках
Фильтрация услуг
При фильтрации списка вариантов услуг необходимо производить проверку наличия атрибутов услуги "Возможность выбора местоположения услуги" (другие варианты в зависимости от класса услуги: выбор места отправления, выбор страны и города, выбор страны). При проставлении отметки для атрибута "Возможность выбора местоположения услуги" фильтрация услуги по данному признаку не осуществляется. Т.е. в списке отображаются все варианты услуги, цены на которые есть в пакете. При отсутствии отметки для атрибута "Возможность выбора местоположения услуги" услуги в списке фильтруются по данному признаку. Т.е. в списке отображаются только те варианты услуги, у которых местоположение совпадает с местоположением базовым вариантом услуги. Базовым вариантом услуги в данном случае является вариант, сохраненный в конструкторе туров. Местоположение услуги определяется привязкой к стране и к городу. В зависимости от наличия признака "Привязка к городу" для того или иного класса услуги фильтрация осуществляется либо только по стране, либо и по стране и по городу.
Дополнительная фильтрация данных по услуге "Виза"
В списке вариантов услуги "Виза" отображаются услуги в соответствии с настройками, указанными в надстройке "График работы консульств". Крайний срок подачи документов для агентств должен быть больше текущей даты. В случае если услуга "Виза" не удаляемая и нет ни одного варианта услуги с актуальными сроками подачи документов в консульство, список для данной услуги блокируется. При этом пользователь получает уведомление. Кнопка "Оформить" при этом становится недоступной. В случае если услуга "Виза" удаляемая и нет ни одного варианта услуги с актуальными сроками подачи документов в консульство, в списке для данной услуги отображается вариант "Не требуется". При этом пользователь получает уведомление. Кнопка «Оформить» при этом остается активной.
- Уведомление, которое получает пользователь, должно формироваться поэтапно:
- Сначала производится подбор вариантов услуг в соответствии с наличием цен. Если для каких-либо услуг нет цен ни на один из вариантов, то в сообщение выводится следующее: "Не найдены варианты следующих услуг: "{1}", "{2}". ", где {1} и {2} – это классы услуг, для которых не найдены варианты (кроме услуги "Виза", см. этап 2).
- Если среди классов услуг из первого этапа присутствует услуга «Виза», то к сообщению добавляется следующее: "Истек крайний срок подачи документов на визу".
- Далее производится проверка услуги «Виза» по признаку "Удаляемая":
- Если услуга "Виза" является удаляемой, то к сообщению добавляется следующее: "Возможно оформление заявки только без услуги "Виза"";
- Если услуга "Виза" является не удаляемой, то к сообщению добавляется следующее: "Бронирование невозможно".