Orders

Una Order es un pedido que luego será planificado por el operador. Para ello, es necesario que una Order tenga al menos los siguientes datos:

  • code: el código o número de pedido del sistema a integrar
  • date: fecha de entrega comprometida del pedido
  • poiId: id del PoI donde se debe entregar el pedido

Algunas consideraciones importantes respecto a una Order:

  • El código del pedido debe ser único en QuadMinds y el alta será rechazada si se encuentra un pedido cargado con anterioridad con el mismo código.

  • La fecha de entrega es un dato importante para el usuario que realiza la planificación de los pedidos, pues su trabajo comienza seleccionando una fecha de entrega para obtener todos los pedidos que corresponden a dicha fecha. En caso de reprogramación, es posible actualizar una Order y cambiar la fecha de entrega.

  • El PoI debe estar creado con anticipación, antes de crear la Order. La asignación de un PoI es por el ID de PoI de QuadMinds y no por el código de PoI de tu sistema.

Ventana horaria de atención

Los clientes suelen tener una ventana horaria de atención. Por ejemplo, un cliente atiende su negocio de 10:00 a 20:00, mientras que una persona que espera un desayuno sorpresa para un integrante de su familia exige que la entrega se realice de 8:30 a 9:00.

La plataforma QuadMinds tiene en cuenta las ventanas horarias de atención de cada pedido para construir una ruta optimizada que respete dichas ventanas horarias.

Las ventanas horarias de atención deben indicarse en el POI Mediante el timeWindow

Detalle del pedido

En forma adicional, es posible definir el detalle o "líneas" de una Order. Si se define el detalle de un pedido, el conductor podrá indicar en su aplicación móvil si el pedido fue entregado en su totalidad o si alguno de los ítems o sus cantidades no pudieron ser completadas.

Cada "línea" de una Order está definida en el objeto OrderItem. Cada OrderItem requiere la definición al menos de:

  • productId: el ID del producto (ver objeto Product)
  • quantity: la cantidad a entregar del producto asociado

Los OrderItems pueden incluirse en la creación de la Order o bien ser agregados a la Order con posterioridad a su creación.

Dimensiones de una Order

Además de respetar las ventanas horarias de atención, la plataforma QuadMinds puede tener en cuenta las capacidades de los vehículos que transportarán los pedidos. Por ejemplo, un vehículo utilitario puede tener una carga máxima de 800 kg mientras que un camión mediano puede transportar algunas toneladas.

Para que la plataforma pueda calcular combinaciones de pedidos y rutas posibles hasta encontrar un plan óptimo, es necesario que cada Order contenga el detalle de estas capacidades (denominados también "cortes"). Por ejemplo, si una Order pesa en total (sumando el peso de todos los OrderItems, pallets, cajones, etc) 80 kg, quiere decir que un vehículo de 800 kg no podrá cargar más de 10 órdenes de estas características. La plataforma puede considerar más de una capacidad (por ejemplo "volumen", "monto asegurado", "cantidad de bultos normalizados", etc).

Para indicar las dimensiones de una Order, es necesario definir la colección orderMeasures, indicando el valor para cada capacidad o constraintId.

"orderMeasures": [
      {
        "constraintId": 0,
        "value": 0
      }
    ]

🚧

Todos las capacidades definidas deben tener valores

Para que el algoritmo de optimización pueda encontrar una solución satisfactoria, debe conocer el valor de cada dimensión de cada una de las Orders ingresadas. Si una Order no se ve afectada por alguna de las dimensiones definidas, debe enviarse su valor en 0.