![](https://habrastorage.org/files/b1e/1cb/123/b1e1cb12370c4071a1eda452e2e12ae5.png)
Разбирая архивы наткнулся на свой скрипт трёхгодичной давности для управления окнами доставок интернет магазина. Скрипт называется The Maasdam Project в честь дырок от сыра.
Зачем это?
Любому интернет магазину приходится решать проблему планирования доставок и коммуникации с покупателем:
- на какой день можно обеспечить доставку?
- в какой временной интервал (окно) её можно сделать?
- можно ли в это окно ещё засунуть один заказик или служба доставки лопнет?
Для решения этой проблемы был написан прототип, который позволял разметить географические зоны доставки, создать расписание службы и дать покупателю понятный интерфейс для самостоятельного выбора удобного интервала.
Где взять?
Проект можно взять тут. Серверную часть не выкладываю, так-как была сильно завязана на закрытый фреймворк. Из клиентской части я вычистил всё, что не имело отношения к этому фреймворку :)
Описание пакета
/api.txt — описание серверного API для управления расписанием и получением зон доставок
Обратите внимание, что там нет управления ролями пользователей: скрипт был в стадии прототипа и мы такие ограничения не прикрутили.
/structure.txt — описание структуры БД для хранения данных
Скрипт бэк-офиса
/www/contract.html — Скрипт бэк-офиса для управления зонами доставки и расписанием работы службы. Описания табов:
Разметка зон
![](https://habrastorage.org/files/d20/426/602/d2042660272c420b86f6f56a7b6b2da3.png)
На этой вкладке можно добавлять, удалять, редактировать и размечать зоны доставки, называть их и назначать стоимость доставки по району
Шаблон расписания
![](https://habrastorage.org/files/6e1/29a/4ac/6e129a4acdcb452ba9f899335fe70a36.png)
На этой вкладке задаётся базовый недельный шаблон расписания для каждой зоны доставки. Тут так же можно задать максимальную ёмкость (количество доступных доставок) для временных окон «утро», «день» и «вечер»
Редактор расписания
![](https://habrastorage.org/files/431/bf9/656/431bf9656ab84a2ebca877921a946e82.png)
Управление календарём службы доставки (календарь создаётся на основе недельного шаблона).
Скрипт клиентской части магазина
![](https://habrastorage.org/files/932/34d/482/93234d482dba4f71b26bf544f447dafc.png)
/www/maasdam.html
По клику на карту или при определении адреса из поиска выводит бабл в котором клиент может выбрать ближайшее удобное для него окно доставки.
Mendel
Интересно, но очень СЫРо)
Скорее эскиз, но всё равно спасибо.
Единственное что — не могли бы выложить скриншоты и для клиентского файлика а не только админки?
ymik
Как я писал — это прототип, а не продакшн код.
Скриншот бабла из клиентской части вроде есть. Какой ещё скриншот нужен?
Mendel
Всей картинки, но вообще да, Вы правы, больший скриншот мало что даст.