Иногда, для построения оптимальной логистики нашим клиентам не хватает возможности развозки только с одного склада. Например:
В этих случаях сбор и доставка должны рассматриваться как один групповой заказ. Именно для таких операций в Maxoptra существует функциональность Pickup & Delivery, позволяющая состыковывать подобные заказы в одном рейсе.
Примечание Данная опция отключена по умолчанию. Для подключения обращайтесь в службу поддержки Maxoptra.
В большинстве случаев заказы импортируются в Максоптру через систему CRM (система управления информацией о клиентах) заказчика. Для более эффективного управления заказами типа Pickup & Delivery, мы вводим в обиход Максоптры новое понятие под названием «Групповой заказ», которое означает группу связанны заказов, объединенных одним общим номером (идентификатором). Таким образом, вам не нужно присваивать идентификатор для каждого отдельного связанного заказа в группе – вам достаточно указать один идентификатор группового заказа.
Примечание
Для поддержания функциональности Pickup & Delivery, были произведены следующие изменения в методах API.
Метод | Изменение |
---|---|
save (существующий) | Добавлены два новых поля:
См. раздел save. |
getConsignment (новый) | При использовании данного метода будет возвращаться информация о заказах, входящих в групповой заказ, по его идентификатору. Подробнее см. в разделе getConsignment. |
deleteConsignment (новый) | Данный метод применяется для удаления всех заказов, входящих в групповой заказ, по его идентификатору. Подробнее см. в разделе deleteConsignment. |
Рассмотрим, как работает API для заказов типа Pickup & Delivery на нескольких примерах.
Мы рекомендуем придерживаться исключительно нижеописанного алгоритма действий при работе с API для заказов типа Pickup & Delivery. |
Это обычный алгоритм сохранения и планирования единичных заказов. Пропишите необходимую информацию о заказе в методе save, за исключением двух новых полей– ConsignmentReference и LinkType. После этого вы можете запланировать заказ(ы) либо через интерфейс Максоптры (Экран планирования), либо с помощью метода start.
Для правильной конфигурации заказов типа Pickup & Delivery через API, необходимо провести некоторую подготовительную работу. Независимо от того, как связанные заказы представлены в вашей CRM, их нужно «перевести» на язык, понятный для Максоптры, т.е., привести заказы к виду группового заказа “сбор + доставка”.
1. Первый шаг – это формирование правильного запроса через метод API save. Сначала вы, как обычно, прописываете всю обязательную информацию о заказах. Будьте внимательны при указании адреса и времени доставки (сбор должен быть раньше доставки).
Кроме того, следует указать, что данные заказы входят в группу заказов. Для этого пропишите данные в новые поля:
Рассмотрим пример 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.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <apiRequest> <sessionID>52EBB98234EE0B247BCBA21C038CCA48</sessionID> <orders> <order> <orderReference>2311_1</orderReference> <areaOfControl>Москва</areaOfControl> <date>19.03.2019</date> <location> <name>Вятская улица 16</name> <address>Вятская улица 16, Москва </address> </location> <consignmentReference>111</consignmentReference> <consignmentLinkType>PickupAndDelivery</consignmentLinkType> <collection>true</collection> <dropWindows> <dropWindow> <start>19.03.2019 05:00</start> <end>19.03.2019 23:59</end> </dropWindow> </dropWindows> <priority>1</priority> <additionalInstructions></additionalInstructions> </order> <order> <orderReference>2311_2</orderReference> <areaOfControl>Москва</areaOfControl> <date>19.03.2019</date> <location> <name>Васильевская улица</name> <address>Васильевская улица 35, Москва</address> </location> <consignmentReference>111</consignmentReference> <consignmentLinkType>PickupAndDelivery </consignmentLinkType> <collection>false</collection> <dropWindows> <dropWindow> <start>19.03.2019 05:00</start> <end>19.03.2019 23:59</end> </dropWindow> </dropWindows> <priority>1</priority> <additionalInstructions></additionalInstructions> </order> </orders> </apiRequest> |
<?xml version='1.0'encoding='UTF-8' standalone='yes' ?> <apiResponse version="1.0"> <orders> <order> <orderReference>2311_1</orderReference> <status>Created</status> </order> <order> <orderReference>2311_2</orderReference> <status>Created</status> </order> </orders> </apiResponse> |
<order> <orderReference>2311_1</orderReference> <status>Error</status> <errors> <error> <errorCode>1214</errorCode> <errorMessage> <![CDATA[ "Invalid value for parameter: Consignment has more than two orders"]]> </errorMessage> </error> </errors> </order> |
</order> <order> <orderReference>2311_3</orderReference> <status>Error</status> <errors> <error> <errorCode>1214</errorCode> <errorMessage> <![CDATA["Invalid value for parameter: Link type is not specified"]]> </errorMessage> </error> </errors> </order> |
2. После того, как заказы были заимпортированы в Максоптру, их можно запланировать в обычном порядке с помощью метода start и отпланировать с помощью метода unallocate. Заказы, принадлежащие к одному групповому заказу, будут планироваться и отпланироваться вместе.
3. Для того, чтобы удалить один из заказов в группе, воспользуйтесь методом delete. В этом случае удалится только один заказ, а второй останется в качестве единичного заказа.
4. Для того, чтобы удалить весь групповой заказ, воспользуйтесь новым методом deleteConsignment.
Примечание Удаление группового заказа возможно лишь пока он не был запланирован.
5. Для получения информации о заказах, входящих в групповой заказ, используйте новый метод getConsignment.
В csv-файле импорта заказов были добавлены два поля:
Пример csv-файла с новыми колонками:
Примечания
Также см. Импoрт заказов. Параметры и требования к файлу импорта.
В форме Заказа было добавлено новое поле под названием Групповой заказ (см. раздел Параметры заказа).
Для того, чтобы назначить пару Pickup & Delivery заказов:
1.Нажмите на кнопку +Добавить связь напротив поля Групповой заказ.
Откроется следующий раздел:
В поле Идентификатор группового заказа указан номер группового заказа. Номер генерируется автоматически. Если же групповой заказ импортируется через API или csv-файл, вы должны указать идентификатор сами (из своего CRM).
2. В поле Связанный заказ выберите соответствующий заказ из выпадающего меню.
3. Если вы не нашли нужный заказ в списке, вы можете создать его здесь же. Для этого нажмите на кнопку Создать новый рядом с полем Связанный заказ.
Откроется пустая форма Заказа, которую необходимо заполнить. Номера Идентификатора группового заказа и связанного заказа уже указаны.
После сохранения новый заказ будет автоматически добавлен к групповому заказу.
Примечание: В групповой заказ могут включаться только два связанных заказа.
4. Сохраните изменения.
Связанные заказы с одним групповым идентификатором будут планироваться/отпланироваться/ перепланироваться вместе в одном рейсе; сборы будут планироваться до доставок. С помощью иконки «цепочка» (Связанные заказы) в меню действий с картой можно визуализировать связь двух заказов на карте.
Запустите автопланирование. Система запланирует связанные заказы в один рейс. При ручном перетаскивании из таблицы Незапланированных заказов на график Гантта, оба связанных заказа будут запланированы в один рейс. Любое передвижение одного из связанных заказов на экране планирования (в графике или на карте) автоматически отразится на втором заказе.
В случае неверной последовательности заказов сбора и доставки, заказы будут подсвечиваться розовым и сопровождаться предупреждением: Неверный порядок Pickup&Delivery заказов.
См. также
Импoрт заказов. Параметры и требования к файлу импорта.