Обновления Март 2013

- Проведены работы по оптимизации сетевого трафика между сервером и рабочими местами, увеличена скорость отклика и загрузки заказов.

- Реализована возможность назначать скидку указанной диспетчером суммой, включить и отключить ее можно в настройках службы доставки.

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

  • количество товаров на списание
  • цена списания
  • ценовой диапазон списания – максимальная и минимальная стоимость заказа

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

Включена возможность расчета стоимости заказа с учетом скидки или без нее при применении автосписания. А также применение скидок к автоматически списываемым товарам.

Обновления Февраль 2013

- Переработана система складского учета. Сейчас на складе могут храниться как компоненты (комплектующие), так и сами товары.

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

- Изменение в акциях: Добавлено условие для акции “сумма заказа” – акция активируется, если сумма заказа больше указанного значения, например, если сумма заказа больше 700 рублей применяется скидка 10%.

- Возможна автоматическая печать чеков при сохранении заказа на ESC/POS принтерах в точках комплектации, для этого в настройках точки комплектации нужно указать IP адрес и порт принтера.

API интернет заказа

Для упрощения интеграции вебмагазинов (вебсайтов) наших клиентов с системой mobidel.ru нами разработан программный интерфейс (API)

При формировании запроса используется кодировка UTF8

Создание Internet заказа.
Формат вызова функции:
online.mobidel.ru/makeOrder.php? user=robot&password=123456&wid=1&line=123456&articles[0]=1054&quantities[0]=1&...&
articles[n]=1067&quantities[n]=5&family=Иванов&street=Ленина&home=1&room=1&comment=&phone=223344

Пример вызова:

online.mobidel.ru/makeOrder.php?user=robot&password=123456&wid=1&line=123456&articles[0]=1054&quantities[0]=1&
articles[1]=1154&quantities[1]=8&family=Иванов&street=Ленина&home=1&room=1&comment=&phone=223344

В данном примере вызывается функция создания заказа c двумя товарами один с артикулом: 1054 (articles[0]=1054), и количеством 1 (quantities[0]=1), второй с артикулом: 1154 (articles[1]=1154), и количеством 8 (quantities[1]=8).

Модификаторы:

Для задания модификаторов для товара необходимо заполнить массивы модификаторов additives_a[x][y] и additives_q[x][y]. Оба массива имеют размерность 2. Первый индекс массива [x] указывает на порядковый номер товара в массиве articles , к которому добавляется модификатор, а второй индекс [y] - порядковый номер модификатора к товару (номера начинаются с 0). Массив additives_a содержит артикулы добавляемых модификаторов, массив additives_q - количество соответствующего модификатора.

Пример:

Добавим первый товар с модификаторами:

&articles[0]=1054&quantities[0]=1 (товар, артикул товара 1054, количество 1)
&additives_a[0][0]=2233&additives_q[0][0]=2 (модификатор 0 к товару 0, артикул модификатора 2233, количество 2)
&additives_a[0][1]=1122&additives_q[0][1]=7 (модификатор 1 к товару 0, артикул модификатора 1122, количество 7)
&additives_a[0][2]=0011&additives_q[0][2]=1 (модификатор 2 к товару 0, артикул модификатора 0011, количество 1)

добавим второй товар с модификаторами:

&articles[1]=155&quantities[1]=3 (товар, артикул 155, количество 3)
&additives_a[1][0]=336&additives_q[1][0]=1 (модификатор 0 к товару 1)
&additives_a[1][1]=225&additives_q[1][1]=1 (модификатор 1 к товару 1)
&additives_a[1][2]=772&additives_q[1][2]=1 (модификатор 2 к товару 1)
&additives_a[1][3]=555&additives_q[1][3]=1 (модификатор 3 к товару 1)

ВНИМАНИЕ!!! Для избежания проблем с распределением заказа просим создать дополнительно еще одного диспетчера с установленным флажком "диспетчер-Internet магазин", и производить авторизацию и создание заказов от его имени.



Параметры:

user имя диспетчера
password пароль диспетчера
wid идентификатор предприятия (id)
line телефон службы доставки, используется для привязки заказа к необходимой службе доставки, если не указан, то берется служба по умолчанию для "диспетчер internet магазин"
articles список артикулов товаров заказа
quantities список количества товаров
articles соответствует quantities, т.е. в заказ добавляется товар с артикулом articles и количеством quantities.
family фамилия клиента
street улица адреса доставки
home дом адреса доставки
room квартира адреса доставки
building корпус адреса доставки
comment комментарий к заказу
phone телефон клиента
entrance подъезд
floor этаж
code код
code2 код домофона
deliveryPrice стоимость доставки в копейках, можно задать любое цифровое значение
warehouseID точка комплектации
driverID курьер
advanceDeliveryDate дата доставки в формате 'HH:MM DD/MM/YYYY'
paymentMethod идентификатор метода оплаты (берем из админки)
discount идентификатор скидки (берем из админки)
discountSumm сумма скидки
useDiscountSumm флаг использования суммы скидки, а не идентификатора
margin идентификатор наценки (берем из админки)
marginSumm сумма наценки
useMarginSumm флаг использования суммы наценки, а не идентификатора
staffComment комментарий для кухни
independently флаг самовывоза (1 - самовывоз, 0 - доставка)
persons количество персон в заказе
saleChannel идентификатор канала продаж (берем из админки)
webID идентификатор заказа в вашем интернет магазине (не более 50 символов)
note купюра оплаты для расчета сдачи
promoCode сертификат
bonusPay количество списываемых бонусов


Возвращаемое значение:

ok идентификатор_заказа в том случае если заказ добавлен
error 1 система не смогла создать заказ
error 2 не найден идентификатор предприятия
error 4 не указан wid в запросе
error 5 не указан user в запросе
error 6 не указан password в запросе
error 7 не указаны товары в запросе
error 8 не указано количество товаров в запросе
error 10 проблемы с БД, повторите запрос,обратитесь в тех поддержку

В команду makeOrder добавлены следующие параметры:

advanceDeliveryDate дата доставки в формате 'HH:MM DD/MM/YYYY'
paymentMethod идентификатор метода оплаты (берем из админки)
discount идентификатор скидки (берем из админки)
discountSumm сумма скидки
useDiscountSumm флаг использования суммы скидки, а не идентификатора
margin сумма наценки
marginSumm флаг использования суммы скидки, а не идентификатора
useMarginSumm флаг использования суммы наценки, а не идентификатора
staffComment комментарий для кухни
independently флаг самовывоза (1 - самовывоз, 0 - доставка)
persons количество персон в заказе
saleChannel идентификатор канала продаж (берем из админки)
webID идентификатор заказа в вашем интернет магазине (не более 50 символов)
paid флаг оплаты (1 - оплачен, 0 - неоплачен)

Сменить состояние оплаты заказа:
/changePaymentOrder.php?idOrder=....&user=...&password=....&cid=...

Если оплаты не было, то станет оплачен, если оплачен, то станет неоплаченный

Пример php:

$url="http://online.mobidel.ru/makeOrder.php?".

"user=internet_user".
"&password=internet_zakaz".
"&wid=112".
"&line=22334455".

"&family=".urlencode($myfamily).
"&street=".urlencode($mystreet).
"&building=".urlencode($mybuilding).
"&home=".urlencode($myhome).
"&room=".urlencode($myroom).
"&comment=".urlencode($mycomment).
"&phone=".urlencode($myphone).
"&entrance=".urlencode($myentrance).
"&floor=".urlencode($myfloor).
"&nonCash=".urlencode($mynonCash);

$myi=0;
reset($myitems);
while ($mym=current($myitems)) {
$url.="&articles[".$myi."]=".$mym["id"]."&quantities[".$myi."]=".$mym["quantity"];
$myi++;
next($myitems);
};

$mych = curl_init();
curl_setopt($mych, CURLOPT_URL, $url);
curl_setopt($mych, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($mych, CURLOPT_HEADER, 0);
curl_exec($mych);
curl_close($mych);


Получить описание заказа:
/getOrder.php?idOrder=....&user=...&password=....&cid=...

Возвращается JSON объект следующей структуры:
order.id идентификатор заказа
order.cid идентификатор компании
order.number номер заказа
order.ordertype тип заказа
order.status текущее состояние заказа
order.staffStatus текущее состояние заказа в производстве
order.editing флаг возможности редактирования заказа
order.warning флаг "внимания" заказа (просрочен какой-то интервал)
order.createTime время создания заказа
order.createTimestamp timestamp создания заказа
order.staffTime время взятия в комплектование заказа
order.readyTime время укомплектования заказа
order.readyTimestamp timestamp укомплектования заказа
order.orderTimer служебное
order.advanceDeliveryDate дата доставки заказа предварительного заказа
order.advanceDeliveryHour
order.advanceDeliveryMinute
order.advanceDeliveryDay
order.advanceDeliveryMonth
order.advanceDeliveryYear
order.phone телефон клиента
order.deliveryPrice стоимость доставки
order.discountSumm сумма скидки на заказ
order.useDiscountSumm флаг использования суммы скидки на заказ
order.applicableDiscount идентификатор скидки заказа
order.settlementPeriod смещение относительно начала дня по времени клиента расчетного периода
order.nonCash оплата безналом

Состояние заказа кодируется следующим образом:

order.status текущее состояние заказа
0 заказ отложен - Предварительный заказ (заказ находится во вкладке предварительные)
1 заказ создан - Создан (момент создания заказа - диспетчер нажал на кнопку НОВЫЙ заказ)
2 заказ редактируется - Заказ создали, но еще не сохранили (диспетчер заполняет заказ данными, в списке статусов у диспетчера его нет)
3 заказ готов к исполнению - Новый (диспетчер сохранил заказ)
4 заказ передан водителю на ознакомление - заказ переходит в это состояние после статуса 3 если курьер подключен к системе через мобильное приложение и видит заказ в приложении, в списке статусов у диспетчера его нет
5 заказ блокирован водителем, водитель решает брать его или нет - курьер зашел в заказ через мобильное приложение и принимает решение брать заказ в работу или нет, в этот момент данный заказ другим курьерам для выбора недоступен, в списке статусов у диспетчера его нет
6 курьер взял заказ, но диспетчер его выбор не подтвердил (если включена функция подтверждение заказа диспетчером), в списке статусов у диспетчера его нет
7 заказ укомплектован - на заказ назначен курьер
8 заказ доставляется клиенту - Доставляется (курьер приступил к доставке заказа)
9 заказ выполнен
10 клиент отказался от заказа
order.staffStatus текущее состояние заказа в производстве
0 Создан (момент создания заказа - диспетчер нажал на кнопку НОВЫЙ заказ)
1 заказ передается в точку
2 заказ не передан в точку
3 заказ передан в точку - В производстве, для заказа выбрана точка комплектации
4 заказ взят в работу - Готовится (комплектовщик приступил к изготовлению заказа)
5 заказ отложен - Отложен (комплектовщик отложил изготовление заказа)
6 заказ укомплектован и готов к доставке - Готов к доставке (комплектовщик приготовил заказ)

Значения статусов заказа для интеграции:

status=3,4,5,6,7 staffStatus=3 - В производстве
status=3,4,5,6,7 staffStatus=4 - Готовится
status=0 Отложен (предварительный заказ)
status=3,4,5,6,7 staffStatus=6 - Готов к доставке
status=8 - Доставляется (В пути)
status=9 - Выполнен
status=10 - Отменен

Получение списка товаров:

http://online.mobidel.ru/getMenu.php?restaurantID=1&wid=2

где restaurantID - UID службы доставки

где wid - UID предприятия

Обновления Январь 2013

- Продолжаем переход к новому виду меню в пунктах администрирования “Номенклатура” и ”Компоненты”.

Сегодня от некоторых из вас стали приходить письма по поводу исчезнувшего меню у диспетчера, чтобы меню появилось необходимо обновить страницу браузера (клавиша F5).

- Появилась возможность создания типов клиентов, например VIP клиент или постоянный клиент. Тип клиента назначается в его карточке администратором, а в случае если клиент делает заказ, то его тип будет отображаться в карточке заказа у диспетчера, таким образом, диспетчер будет знать, что он беседует с VIP клиентом. Количество типов клиентов неограниченно, создать их можно администратором предприятия в пункте меню “Типы клиентов”.

Дополнительные настройки персонала

- Появилась возможность каждому диспетчеру указать с какими службами он работает (заказы с каких входящих номеров обслуживает).

- Появилась возможность каждому курьеру устанавливать с какими службами он работает, т.е. заказы каких служб он может доставлять.

- Появилась возможность каждой точке продаж установить с какими службами она работает, т.е. какие заказы она может комплектовать.

Ещё статьи...