operations*

O parâmetro operations é um array de objetos, onde cada objeto representará uma operação a ser resolvida no planejamento logístico. Cada objeto irá conter as características da operação, como o tipo (entrega ou coleta), janela horária do cliente, peso e volume da entrega, entre outros.

É recomendado ter por requisição até no máximo 200 operações para um melhor desempenho da API.

Parâmetros obrigatórios

  • customerSite - Texto com o nome do site, local da operação.

  • customerTimeWindows - Janela de horário que o cliente poderá receber a operação. É possível definir mais de uma janela horária. Parâmetros obrigatórios:

    • start - Horário de início que o cliente atua na operação. Formato timestamp: 1511901826456.

    • end - Horário de fim que o cliente atua na operação. Formato timestamp: 1511904661038.

  • depotSite - Depot de origem para a operação. Usado para identificar de qual depot o produto será embarcado no veículo até a entrega. No caso de operação de coleta, o depot onde será descarregado o produto.

  • id - Texto único com o identificador da operação. Normalmente é a ordem de serviço ou algum id de fácil identificação em outros sistemas.

  • product - Texto único com o nome do produto. Deve estar declarado em products.

  • type - Tipo da operação, de entrega do produto ou coleta do produto. Deve ser um dos seguintes tipos: [COLLECTION, DELIVERY].

  • volume - Número decimal com o volume do produto que será entregue/coletado na operação. É importante estar na mesma unidade em que foi utilizado em vehicleTypes. Por exemplo, metros cúbicos.

  • weight - Número decimal com o peso do produto que será entregue/coletado na operação. É importante estar na mesma unidade em que foi utilizado em vehicleTypes. Por exemplo, quilogramas.

Exemplo com parâmetros obrigatórios

"operations": [ { "customerSite": "MERCADO02GLICERIO", "depotSite": "DEPOSITO01", "type": "DELIVERY", "customerTimeWindows": [ { "start": 1583499600000. "end": 1583506800000 }, { "start": 1583510400000. "end": 1583528400000 } ], "id": "NUMORDEM30", "product": "HD_DIVERSOS", "volume": 1, "weight": 0.15 }, { "customerSite": "MERCADO10SCAETANO", "depotSite": "DEPOSITO01", "type": "DELIVERY", "customerTimeWindows": [ { "end": 1583528400000, "start": 1583492400000 } ], "id": "NUMORDEM27", "product": "HD_DIVERSOS", "volume": 1, "weight": 0.15 } ]

Parâmetros opcionais

  • customerHandlingDuration - Número inteiro com o tempo em segundos que será gasto no cliente para realizar a operação. Para operações de coleta (“COLLECTION”), utilizar o parâmetro siteLoadingFixedTime de LogisticConstraints.

  • depotHandlingDuration - Número inteiro com o tempo em segundos que será gasto no depósito para realizar a operação. Para operações de coleta (“COLLECTION”), utilizar o parâmetro siteUnloadingFixedTime de LogisticConstraints.

  • depotTimeWindows - Janela de horário do depósito em que a operação deve ocorrer. Por exemplo, se for uma operação com atividade de delivery, o produto será carregado no veículo dentro do depósito neste intervalo de horário (na resposta da API aparecerá como Loading). Se for uma operação com atividade de collection, o produto chegará no depósito neste intervalo de horário (na resposta da API aparecerá como Unloading):

    • start - Horário de início que o depot atua na operação. Formato timestamp: 1511901826456.

    • end - Horário de fim que o depot atua na operação. Formato timestamp: 1511904661038.

  • group - Texto com o grupo de operações. Usado para agrupar operações de uma mesma localidade de forma manual. As operações que possuírem o mesmo valor serão executadas juntas. Por exemplo, operações em diferentes lojas que ficam em um mesmo shopping.

  • preAllocatedVehicleName - Texto com o nome do veículo que irá realizar a operação de forma pré-definida. Com isso, a Planning API irá alocar esse veículo associado para colocar a operação em sua rota. Utilize esse parâmetro para exemplos em que um motorista favorito deverá atender um cliente ou um veículo específico precisa realizar a operação.

  • priority - Número inteiro da prioridade da operação. Usado para definir a prioridade na carga, e não na sequência de entrega.

  • quantity - Número decimal com a quantidade da operação. Apenas para descrição, não interfere no peso ou volume da operação, ou no modo em que a operação é processada.

Exemplo com parâmetros opcionais

Este exemplo apresenta 2 operações de entrega para serem realizadas no intervalo das 10:00 até as 12:00 da manhã (customerTimeWindows). A operação no MERCADO01MOOCA possui o depotTimeWindows definido para realizar o carregamento no depósito entre 11:00 e 12:00 com duração de 10 minutos (depotHandlingDuration).

Devido a esta característica, o caminhão só sairá do depósito 11:10 para realizar as duas operações e terá até 12:00 para realizar as duas operações.

Ambas operações são do mesmo "group": "A" e serão atendidos pelo "preAllocatedVehicleName": "VUC01".

"operations": [ { "customerSite": "MERCADO01MOOCA", "depotSite": "DEPOSITO01", "preAllocatedVehicleName": "VUC01", "priority": 20, "type": "DELIVERY", "customerTimeWindows": [ { "start": 1583499600000, "end": 1583506800000 } ], "depotTimeWindows": [ { "start": 1583503200000, "end": 1583506800000 } ], "depotHandlingDuration": 600, "id": "NUMORDEM25", "product": "HD_DIVERSOS", "volume": 12, "weight": 1, "quantity": 10, "group": "A" }, { "customerSite": "MERCADO02GLICERIO", "depotSite": "DEPOSITO01", "preAllocatedVehicleName": "VUC01", "type": "DELIVERY", "customerTimeWindows": [ { "start": 1583499600000, "end": 1583506800000 } ], "customerHandlingDuration": 300, "id": "NUMORDEM30", "product": "HD_DIVERSOS", "volume": 1, "weight": 0.15, "group": "A" } ],