+11

Загородный тариф таксометра

Михаил 8 years ago updated by Андрей 6 years ago 12

Нужно добавить в загородный тариф стоимость возврата пустой машины в город, по тому же принципу как и стоимость подачи

Какой алгоритм должен работать при возврате авто?

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


Написал сумбурно, но надеюсь понятно ;)

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

Это ж сколько мне геозон надо нарисовать? Точно не скажу сейчас, на вскидку около 50-60 деревень надо нарисовать

Для нашей службы такой подход не актуален.

Мы просто загородный тариф ставим больше городского с учетом возврата авто пустым.

Аналогично и вся проблема решена

А как быть с заказами когда клиент едет из деревни "А" в деревню "Б" без заезда в город? Или когда клиент едет из города в деревню и потом обратно в город, а то и того хуже - из деревни в город и обратно в деревню?

Вариант с двойным тарифом я рассматривал в первую очередь. Допустим цена за городом 30 р/км и деревня в 10 км. от границы города. Рассматриваем вариант что клиент едет от самой границы города (что бы исключить влияние городской цены).


с таким маршрутом все хорошо выходит:

Город -> деревня = 30*10=300 р. (пробег 10 с клиентом +10 пустой =20 км)

Деревня -> город = 30*10=300 р. (пробег 10 пустой +10 с клиентом =20 км)


а вот с таким получаются не стыковки по сумме и пробегу

Город ->деревня -> город = 30*20=600 р. (пробег 10 с клиентом +10 с клиентом =20 км)

Деревня -> город -> деревня = 30*20=600 р. (пробег 10 пустой +10 с клиентом +10 с клиентом +10 пустой =40 км)


Где стоимость км подачи авто?

"Деревня -> город -> деревня = 30*20=600 р. (пробег 10 пустой +10 с клиентом +10 с клиентом +10 пустой =40 км)"

Если ввести стоимость подачи в размере 15 р/км, то она отразиться тут:

Деревня -> город = 30*10=300 р. (пробег 10 пустой +10 с клиентом =20 км) 150+30*10=450

и тут:

Деревня -> город -> деревня = 30*20=600 р. (пробег 10 пустой +10 с клиентом +10 с клиентом +10 пустой =40 км) 150+30*20=750

Все равно идут не стыковки.

"Все равно идут не стыковки" о чем речь?

"Если ввести стоимость подачи в размере 15 р/км" введите другую стоимость км.

Нужно доработать алгоритм работ подачи - рассчитывать до ближайшей точки, а не как сейчас до пункта отправления. И 2-е это не учитывать подачу если автомобиль освободился в городе. Эти 2 галочки позволят закрыть все вопросы касательно подачи.