Функциональность Pickup & Delivery
Иногда, для построения оптимальной логистики нашим клиентам не хватает возможности развозки только с одного склада. Например:
- У компании есть центральный склад, с которого происходит развоз товара по конечным клиентам. При этом, часть товара нужно забрать из магазинов, чтобы в тот же день развести по клиентам;
- У компании есть центральный склад + набор дополнительных складов, с которых также можно забирать товар. Машина стартует с центрального склада и по ходу маршрута может заезжать на дополнительные склады для дозагрузки.
В этих случаях сбор и доставка должны рассматриваться как один групповой заказ. Именно для таких операций в Maxoptra существует функциональность Pickup & Delivery, позволяющая состыковывать подобные заказы в одном рейсе.
Примечание Данная опция отключена по умолчанию. Для подключения обращайтесь в службу поддержки Maxoptra.
Групповой заказ в Максоптре
В большинстве случаев заказы импортируются в Максоптру через систему CRM (система управления информацией о клиентах) заказчика. Для более эффективного управления заказами типа Pickup & Delivery, мы вводим в обиход Максоптры новое понятие под названием «Групповой заказ», которое означает группу связанны заказов, объединенных одним общим номером (идентификатором). Таким образом, вам не нужно присваивать идентификатор для каждого отдельного связанного заказа в группе – вам достаточно указать один идентификатор группового заказа.
Примечание
- Идентификатор группового заказа должен быть уникальным в рамках одного аккаунта (для всех РЦ одного аккаунта);
- В данный момент групповой заказ может включать в себя только два заказа разных типов (1 сбор + 1 доставка). В дальнейшем функциональность будет расширена более сложными комбинациями заказов.
Методы API
Для поддержания функциональности Pickup & Delivery, были произведены следующие изменения в методах API.
Метод | Изменение |
---|---|
save (существующий) | Добавлены два новых поля:
См. раздел save. |
getConsignment (новый) | При использовании данного метода будет возвращаться информация о заказах, входящих в групповой заказ, по его идентификатору. Подробнее см. в разделе getConsignment. |
deleteConsignment (новый) | Данный метод применяется для удаления всех заказов, входящих в групповой заказ, по его идентификатору. Подробнее см. в разделе deleteConsignment. |
Рассмотрим, как работает API для заказов типа Pickup & Delivery на нескольких примерах.
Мы рекомендуем придерживаться исключительно нижеописанного алгоритма действий при работе с API для заказов типа Pickup & Delivery.
Пример 1. Импорт и планирование единичных заказов
Это обычный алгоритм сохранения и планирования единичных заказов. Пропишите необходимую информацию о заказе в методе save, за исключением двух новых полей– ConsignmentReference и LinkType. После этого вы можете запланировать заказ(ы) либо через интерфейс Максоптры (Экран планирования), либо с помощью метода start.
Пример 2. Импорт и планирование заказов типа Pickup & Delivery
Для правильной конфигурации заказов типа Pickup & Delivery через API, необходимо провести некоторую подготовительную работу. Независимо от того, как связанные заказы представлены в вашей CRM, их нужно «перевести» на язык, понятный для Максоптры, т.е., привести заказы к виду группового заказа “сбор + доставка”.
1. Первый шаг – это формирование правильного запроса через метод API save. Сначала вы, как обычно, прописываете всю обязательную информацию о заказах. Будьте внимательны при указании адреса и времени доставки (сбор должен быть раньше доставки).
Кроме того, следует указать, что данные заказы входят в группу заказов. Для этого пропишите данные в новые поля:
- ConsignmentReference – здесь указывается номер (идентификатор) группового заказа. Этот номер вы должны сгенерировать сами. Можно взять из вашей CRM.
Примечание Идентификатор группового заказа должен быть уникальным в рамках аккаунта. - LinkType – здесь указывается тип связи между заказами, а именно – “PickupAndDelivery”. Данное поле является обязательным, если присутствует ConsignmentReference. Если LinkType не указан, то групповой заказ не будет сгенерирован, и связанные заказы будут рассматриваться как единичные.
Рассмотрим пример API запроса и ответа по методу save.
У нас есть два заказа из CRM:
1) Заказ номер 2311_1 необходимо забрать по адресу Вятская улица 16, Москва, дата 19.03.2019, время 05:00-23:59;
2) Заказ номер 2311_2 необходимо отвезти по адресу Васильевская улица 35, Москва, дата 19.03.2019, время 05:00-23:59.
2. После того, как заказы были заимпортированы в Максоптру, их можно запланировать в обычном порядке с помощью метода start и отпланировать с помощью метода unallocate. Заказы, принадлежащие к одному групповому заказу, будут планироваться и отпланироваться вместе.
3. Для того, чтобы удалить один из заказов в группе, воспользуйтесь методом delete. В этом случае удалится только один заказ, а второй останется в качестве единичного заказа.
4. Для того, чтобы удалить весь групповой заказ, воспользуйтесь новым методом deleteConsignment.
Примечание Удаление группового заказа возможно лишь пока он не был запланирован.
5. Для получения информации о заказах, входящих в групповой заказ, используйте новый метод getConsignment.
Импорт через .csv-файл
В csv-файле импорта заказов были добавлены два поля:
- consignmentReference – идентификатор группового заказа (из CRM);
- consignmentLinkType – тип связи между заказами (“PickupAndDelivery”).
Пример csv-файла с новыми колонками:
Примечания
- Поле orderReference можно не заполнять, достаточно заполнить consignmentReference;
- Значения поля capacity для двух заказов одной группы должны быть одинаковыми, поскольку это один и тот же груз.
Также см. Импoрт заказов. Параметры и требования к файлу импорта.
Создание "групповых заказов" вручную
В форме Заказа было добавлено новое поле под названием Групповой заказ (см. раздел Параметры заказа).
Для того, чтобы назначить пару Pickup & Delivery заказов:
1.Нажмите на кнопку +Добавить связь напротив поля Групповой заказ.
Откроется следующий раздел:
В поле Идентификатор группового заказа указан номер группового заказа. Номер генерируется автоматически. Если же групповой заказ импортируется через API или csv-файл, вы должны указать идентификатор сами (из своего CRM).
2. В поле Связанный заказ выберите соответствующий заказ из выпадающего меню.
3. Если вы не нашли нужный заказ в списке, вы можете создать его здесь же. Для этого нажмите на кнопку Создать новый рядом с полем Связанный заказ.
Откроется пустая форма Заказа, которую необходимо заполнить. Номера Идентификатора группового заказа и связанного заказа уже указаны.
После сохранения новый заказ будет автоматически добавлен к групповому заказу.
Примечание: В групповой заказ могут включаться только два связанных заказа.
4. Сохраните изменения.
Заказы Pickup & Delivery на экране планирования
Связанные заказы с одним групповым идентификатором будут планироваться/отпланироваться/ перепланироваться вместе в одном рейсе; сборы будут планироваться до доставок. С помощью иконки «цепочка» (Связанные заказы) в меню действий с картой можно визуализировать связь двух заказов на карте.
Запустите автопланирование. Система запланирует связанные заказы в один рейс. При ручном перетаскивании из таблицы Незапланированных заказов на график Гантта, оба связанных заказа будут запланированы в один рейс. Любое передвижение одного из связанных заказов на экране планирования (в графике или на карте) автоматически отразится на втором заказе.
В случае неверной последовательности заказов сбора и доставки, заказы будут подсвечиваться розовым и сопровождаться предупреждением: Неверный порядок Pickup&Delivery заказов.
См. также
Импoрт заказов. Параметры и требования к файлу импорта.