Мастер-Web:Выбор услуг списком в экране Упрощенная корзина

Материал из Megatec
Перейти к: навигация, поиск

Версия статьи от 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 - Дополнительная услуга, исключена из расчета прайс-листа
Tb008.png
Если от дополнительной услуги можно отказаться при бронировании, то необходимо выставить для услуги атрибут "Удаляемая" в кострукторе туров, если от дополнительной услуги нельзя отказаться при бронировании, то необходимо выставить для услуги атрибут "Не удаляемая" и при расчете прайс-листа выставить следуюшие параметры, указанные ниже.
Tb009.png

Ввод цен на услуги

Для каждой дополнительной услуги типа Страховка или Виза должна быть введена цена в экране Цена услуги. Цены могут быть занесены как в текущем рассчитанном пакете, так и в отдельном пакете.
В зависимости от наличия цены варианты услуг будут отображаться в выпадающем списке для выбора в экране "Упрощенная корзина".
Если цена для варианта дополнительной услуги не задана, то в списке данный вариант показан не будет.
Если не заведена цена ни на один из вариантов услуги, то список для выбора услуги скрывается.
Для формирования разных списков услуг в зависимости от типа тура или его наименования необходимо задавать на дополнительную услугу разные наборы цен, путем привязки цены услуги к разным пакетам, в которых заведены цена на этот тип услуги, или заводить цены в рамках пакета на тур. Например, для тура 1 введены цены на 2 вида дополнительных страховок, для тура 2 введены цены на 3 вида дополнительных страховок и т.п.
В корзине для тура 1 в списке будут показаны 2 вида страховок.
В корзине для тура 2 в списке будут показаны 3 вида страховок.

Добавление услуг к составу заказа

На рисунке ниже представлена форма для ввода туристов в корзине Simple Basket, где услуги Страховка и Виза показаны в виде выпадающего списка.
Tb010.png

Добавление услуг без подмены базового варианта услуги

Для выбора нужного типа услуги Виза или Страховка необходимо выбрать в выпадающем списке подходящее значение. Для отказа от услуги Виза или Страховка необходимо выбрать в выпадающем списке значение "Не требуется". Значение "Не требуется" отображается только для услуг, которые являются удаляемыми. При выводе дополнительных услуг в корзине сначала отображаются услуги, ключи которых указаны в настройке dropdownOptionalServiceKeys. После будут выведены все прочие дополнительные услуги, исключенные при расчете прайс-листа. При выборе варианта услуги из выпадающего списка происходит добавление услуги к составу заказа. При этом базовый вариант услуги остается в составе заказа наряду с добавленным вариантом. Базовым вариантом услуги считается вариант услуги, который не был исключен при расчете прайс-листа. При выборе варианта услуги "Не требуется", в состав заказа не будет добавлена дополнительная услуга. При этом базовый вариант услуги остается в составе заказа.

Добавление услуг с подменой базового варианта услуги

Для выбора нужного типа услуги Виза или Страховка необходимо также выбрать в выпадающем списке подходящее значение. Для отказа от услуги Виза или Страховка необходимо выбрать в выпадающем списке значение "Не требуется". При выводе дополнительных услуг в корзине сначала отображаются услуги, ключи которых указаны в настройке (см. раздел Определение классов услуг, для выбора через выпадающий список). После будут выведены все прочие дополнительные услуги, исключенные при расчете прайс-листа. При выборе варианта услуги из выпадающего списка происходит добавление услуги к составу заказа. При этом базовый вариант услуги удаляется из состава заказа и остается только добавленный вариант. Базовым вариантом услуги считается вариант услуги, который не был исключен при расчете прайс-листа. При выборе варианта услуги "Не требуется" в случае, когда Базовый вариант услуги имеет признак "Удаляемая", в состав заказа не будет добавлена дополнительная услуга, базовая услуга при этом будет удалена. При выборе варианта услуги "Не требуется" в случае, когда Базовый вариант услуги имеет признак "Не удаляемая", в состав заказа не будет добавлена дополнительная услуга, базовая услуга при этом остается в заказе.

Для того, чтобы реализовать работу алгоритма поглощения страховых рисков необходимо завести отдельные услуги "Страховка" для каждого набора рисков и указать ключ класса услуги "Страховка" в настройке replacingOptionalServiceKeys. В этом случае выбранный вариант страховки будет замещать базовый вариант услуги.

    Примеры заведения услуг типа "Страховка":
  1. Медицинская – риск медицина
  2. Медицинская + невыезд – риск медицина+невыезд

Фильтрация данных в выпадающих списках

Фильтрация услуг

При фильтрации списка вариантов услуг необходимо производить проверку наличия атрибутов услуги "Возможность выбора местоположения услуги" (другие варианты в зависимости от класса услуги: выбор места отправления, выбор страны и города, выбор страны). При проставлении отметки для атрибута "Возможность выбора местоположения услуги" фильтрация услуги по данному признаку не осуществляется. Т.е. в списке отображаются все варианты услуги, цены на которые есть в пакете. При отсутствии отметки для атрибута "Возможность выбора местоположения услуги" услуги в списке фильтруются по данному признаку. Т.е. в списке отображаются только те варианты услуги, у которых местоположение совпадает с местоположением базовым вариантом услуги. Базовым вариантом услуги в данном случае является вариант, сохраненный в конструкторе туров. Местоположение услуги определяется привязкой к стране и к городу. В зависимости от наличия признака "Привязка к городу" для того или иного класса услуги фильтрация осуществляется либо только по стране, либо и по стране и по городу.

Дополнительная фильтрация данных по услуге "Виза"

В списке вариантов услуги "Виза" отображаются услуги в соответствии с настройками, указанными в надстройке "График работы консульств". Крайний срок подачи документов для агентств должен быть больше текущей даты. В случае если услуга "Виза" не удаляемая и нет ни одного варианта услуги с актуальными сроками подачи документов в консульство, список для данной услуги блокируется. При этом пользователь получает уведомление. Кнопка "Оформить" при этом становится недоступной. В случае если услуга "Виза" удаляемая и нет ни одного варианта услуги с актуальными сроками подачи документов в консульство, в списке для данной услуги отображается вариант "Не требуется". При этом пользователь получает уведомление. Кнопка «Оформить» при этом остается активной.

    Уведомление, которое получает пользователь, должно формироваться поэтапно:
  1. Сначала производится подбор вариантов услуг в соответствии с наличием цен. Если для каких-либо услуг нет цен ни на один из вариантов, то в сообщение выводится следующее: "Не найдены варианты следующих услуг: "{1}", "{2}". ", где {1} и {2} – это классы услуг, для которых не найдены варианты (кроме услуги "Виза", см. этап 2).
  2. Если среди классов услуг из первого этапа присутствует услуга «Виза», то к сообщению добавляется следующее: "Истек крайний срок подачи документов на визу".
  3. Далее производится проверка услуги «Виза» по признаку "Удаляемая":
    • Если услуга "Виза" является удаляемой, то к сообщению добавляется следующее: "Возможно оформление заявки только без услуги "Виза"";
    • Если услуга "Виза" является не удаляемой, то к сообщению добавляется следующее: "Бронирование невозможно".