Фильтрация заказов


Содержание

Фильтр — настройка, позволяющая из всех заказов отображать только те, которые нужны водителю. В программном модуле "Mobile Taxi" (далее МТ) есть простой и расширенный фильтры.

Работать будет только один из видов фильтров, представленных на главной странице или Фильтр, или Расширенный фильтр:

  • если активен старый фильтр, то при попытке нажать на расширенном фильтре в MT отобразится: “У вас активирован простой фильтр. Пожалуйста, деактивируйте его, чтобы войти в расширенный фильтр”.
  • если активен расширенный фильтр, то при попытке нажать на старом фильтре в MT отобразится: “У вас активирован расширенный фильтр. Пожалуйста, деактивируйте его, чтобы войти в простой фильтр”.


Простой фильтр

Для того, чтобы настроить фильтр, нужно:

  1. В главном меню МТ выбрать пункт Фильтр
  2. В открывшемся окне "Фильтр" отметить галочкой "Фильтр включен".
  3. Выбрать взаимодействие критериев фильтрации:
    • По сектору И по тарифу — в эфире будут отображены заказы, которые соответствуют и фильтру по тарифу, и фильтру по сектору, при условии, что включены оба фильтра (если включен только один из фильтров, то будут отображаться заказы, соответствующие настройкам этого фильтра).
    • По сектору ИЛИ по тарифу — в эфире будут отображены заказы, которые соответствуют настройкам хотя бы одного из фильтров.
  4. Задать значения фильтров:
    • Фильтрация по сектору — на предварительные заказы не распространяется — позволяет водителю видеть информацию о заказах из своего сектора и из соседних секторов. Сектор можно выбрать из списка или ввести в соответствующее поле название нужного сектора.
    • Фильтр по тарифу — позволяет водителю видеть информацию о заказах, которые будут соответствовать настройкам этого фильтра. Фильтр по тарифу задается 4-мя значениями:
      • Цена минималки -минимальная стоимость заказа. Цена посадки, которая может включать в себя какую-то дистанцию.
      • Км в минималке — максимальное количество км, для которого применяется минимальная стоимость заказа.
      • Тариф за 1 км — тариф в грн., который добавляется к минималке за каждый последующий км.



Расширенный фильтр

Расширенный фильтр — настройка, позволяющая из всех заказов отображать только те, которые будут соответствовать условиям расширенного фильтра, а именно заданным условиям фильтрации по следующим блокам (сектор подачи, сектор назначения, тариф, тип заказа, тип расчета, шаблон адреса).

Настройка расширенного фильтра

Для того, чтобы настроить расширенный фильтр, нужно:

  1. В главном меню МТ выбрать пункт Расширенный фильтр.
  2. В открывшемся окне "Расширенный фильтр" нажать кнопку "Добавить фильтр" или выбрать из списка уже существующий.

При добавлении нового фильтра для удобства предлагается ввести его имя.

В блоке все заданные параметры объединяются по принципу «И» (заказ пройдет по фильтру, если он соответствует ВСЕМ заданным в фильтре параметрам).

Блоки, включенные в фильтр, объединяются по принципу «ИЛИ» (заказ пройдет по фильтру, если он соответствует ЛЮБОМУ из блоков в фильтре). Максимальное количество км, которые можно указать в настройке радиуса подачи, настраивается диспетчерской службой. При превышении максимального радиуса в МТ под фильтром "Радиус" появится предупреждение "Установленное значение превышает лимит, заданный сервером".

Для фильтра эфира дистанция рассчитывается по прямой, для автовзятия - с учетом развязок. Максимальное количество секторов, которые можно включить в фильтре “Сектор подачи” и “Сектор назначения” задает диспетчерская. При попытке включить большее количество секторов отобразится сообщение: “Выбрано слишком много секторов. Максимально доступное количество: __”.

Максимальное количество фильтров, которые можно включить - 3. При попытке включить больше 3 блоков отобразится сообщение: “Выбрано слишком много фильтров. Максимально доступное количество: 3”.

Число блоков считается отдельно для включенных опций расширенного фильтра и для автовзятия.

Сектора подачи и назначения можно выбрать:

    • список секторов;
    • один сектор + галочка «соседние сектора»;
    • заказы без сектора.

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

С помощью кнопки «Очистить» можно удалить из фильтра все выбранные сектора. Также на этой кнопке есть информация о количестве секторов: выбрано/доступно для выбора.

Тариф

Фильтр по тарифу задается 4-мя значениями:

    1. "Цена минимального тарифа" (Цена посадки, которая может включать в себя какую-то дистанцию);
    2. "Км в минимальном тарифе" - километраж, включены в минимальную стоимость;
    3. "Тариф за 1 км" - стоимость каждого километра по городу, сверх "Км в минимальном тарифе";
    4. "Тариф за 1 км за городом" - стоимость каждого километра за городом.

На основании этих значений рассчитывается "ожидаемый тариф" для каждого заказа в эфире и сравнивается с "реальным тарифом" заказа. Если "реальный тариф" больше ожидаемого тарифа или равен ему, то заказ проходит фильтр и отображается в эфире (или принимается автовзятием).

Типы заказаМожно выбрать предварительные или обычные заказы.

Тип расчетаМожно выбрать наличный и безналичный.

Шаблон адреса (подачи и назначения)

Шаблон сравнивается с названием объекта или названием улицы и номером дома (через запятую). Адрес формируется по правилу: [Название улицы], [Номер дома].

В шаблоне можно использовать: * (заменяет неограниченное количество любых символов), ? (заменяет один любой символ).

Звёздочек можно использовать максимум 2;

Максимальная длина шаблона 50 символов.

Например:

    • для поиска заказов по улице Крещатик необходимо в шаблоне ввести: *крещатик*;
    • для поиска заказов по адресу ул. Крещатик, 3 необходимо в шаблоне ввести: *крещатик ул.,3*;
    • для поиска заказов по улице, окончание названия которой может писаться по-разному - "Шевченко" или "Шевченка" - необходимо в шаблоне ввести: *шевченк?*.


Описание работы фильтра по тарифу

Ожидаемый тариф рассчитывается следующим образом.

  1. Вся дистанция заказа делится на три участка:
    1. дистанция включенная в минимальную стоимость (На основании "Км в минимальном тарифе");
    2. дистанция по городу, сверх включенной в минимальную стоимость;
    3. дистанция за городом.
  2. Рассчитывается стоимость каждого участка пути:
    1. стоимость первого участка всегда равна минимальной стоимости заказа ("Цена минимального тарифа");
    2. стоимость второго участка равна произведению длины второго участка на "Тариф за 1 км";
    3. стоимость третьего участка равна произведению длины третьего участка на "Тариф за 1км за городом".
  3. Полученные стоимости каждого участка пути суммируются, и эта сумма является "Ожидаемым тарифом".

Например:

Заданы настройки: "Цена минимального тарифа" = 10 грн; "Км в минимальном тарифе" = 2 км; "Тариф за 1 км" = 5 грн/км; "Тариф за 1 км за городом" = 10 грн/км;

Возьмем заказ и рассчитаем для него "Ожидаемый тариф" согласно заданных настроек.

"Заказ":

Длина маршрута 20км, из них 5км в городе и 15км за городом.

  1. Разбиваем дистанцию на три участка:
    1. Длина первого участка равна 2км (т.к. "Км в минимальном тарифе" = 2 км).
    2. Длина второго участка равна 3км (Отнимаем от городского пути дистанцию, учтенную в минимальном тарифе. 5км - 2км = 3км).
    3. Длина третьего участка равна 15 км (Длина третьего участка содержит всю загороднюю дистанцию, не зависимо от дистанции учтенной в минимальном тарифе).
  2. Рассчитываем стоимости каждого участка пути:
    1. Стоимость первого участка равна 10 грн (т.к. "Цена минимального тарифа" = 10 грн).
    2. Стоимость второго участка равна 15 грн (3 км * 5 грн/км = 15 грн).
    3. Стоимость третьего участка равна 150 грн (15 км * 10 грн/км = 150 грн).
  3. Просуммируем полученные стоимости всех участков пути:
    1. "Ожидаемый тариф" = 10 грн + 15 грн + 150 грн = 175 грн;

Т.е. "Заказ 1" пройдет фильтр и отобразиться в эфире (будет принят автовзятием) только если его стоимость будет больше или равной 150 грн.

Что будет, если не задать любое из значений фильтра, оставив его значение равным нулю?

Это, соотвественно, повлияет на стоимость участков пути.

Например, если не задать стоимость загороднего тарифа ("Тариф за 1 км за городом"), то стоимость третьего участка будет равна 0, и в ожидаемом тарифе вся загородная дистанция будет считаться "бесплатной".