Автоматизация отдела доставки с помощью PHP и JavaScript

Данный скрипт легко установить на свой хостинг, поддерживающий PHP, или использовать локально с помощью эмуляторов PHP типа Denwer. Вы сможете при помощи открытого API Яндекс.Карт составлять оптимальный маршрут для своих курьеров, будете знать требуемое время и общий километраж.

На написание данной статьи меня сподвигнул этот стартап:

Вспомнил, что когда то давно, когда у меня были свои водители для доставки по Ростов-на-Дону, сделал тогда себе нехитрый скрипт (php + javascript) для составления оптимального плана доставки, который при необходимости легко разделить на нескольких водителей.

Скачиваете дистрибутив (php + javascript):

И заливаете все содержимое к себе на сайт в отдельную папку, скажем в папку route, далее в адресной строке браузера набираете ваш_сайт.ru/route/, появится такое окно:

Загружаете csv файл c кодировкой utf-8, его в excel можно сделать, нажав "сохранить как" и выбрав там "Текст CSV(.csv)".

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

Нажав кнопку "найти оптимальный маршрут", вы через минуту работы javascript кода получите такой результат:

Ниже будет список оптимальной последовательности адресов:

Можно кликнуть по ссылке "открыть маршрут" и в режиме навигатора начать двигаться по адресам.

Этим скриптом я также начислял водителям компенсацию за использование их автомобиля, заранее рассчитав с конкретным водителем стоимость одного км пробега, исходя из расхода топлива по городу и стоимости планового ТО.

0
92 комментария
Написать комментарий...
Артем Таранов

2к18 который мы заслужили:
* Код в зипке
* Denwer
* Инструкция как получить csv в нужной кодировке
---
К автору претензий никаких, понятно что он не разработчик, и что его творение решает бизнес-задачу и это хорошо. Просто забавно :)

Ответить
Развернуть ветку
Денис Демидов
Автор

Не стреляйте в музыканта, играю как умею )))

Ответить
Развернуть ветку
Артём Лисовский

Ваш пример очень показателен. Еще много болей в процессах, которые не решены.
Например, я обнаружил что брать билет Самара-Бангкок выгоднее на 7тыс с носа если брать Самара-Внуково, такси, Домодедово-Бангкок. Возможно случайный читатель расскажет мне есть ли сервис, который умеет делать такое автоматом и не только в России, был бы благодарен. А пока приходится перебирать сотни вариантов, чтобы немного сэкономить, когда разница во времени не столь велика и критична.

Ответить
Развернуть ветку
Денис Демидов
Автор

В америке такой есть, странно что никто не скопировал
https://vc.ru/services/45839-mobilnye-prilozheniya-bez-kotoryh-ne-vyzhit-v-amerike

Ответить
Развернуть ветку
Артём Лисовский

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

Ответить
Развернуть ветку
Пользователь Удален

Авиасейлз пока не может это сделать, это связано с тем, что авиакомпании не могут дать более выгодные варианты (уточню. это про транзитные рейсы, когда маршрут вида А-Б-В дешевле, чем А-Б). А если еще работать с такси/электричками и прочим, то авиасейлз вообще скорее всего не ввяжется в это ближайшее время

Ответить
Развернуть ветку
Артём Лисовский

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

Ответить
Развернуть ветку
89 комментариев
Раскрывать всегда