Fechas estimadas de Entrega [v3.00]
Se describe las novedades de la próxima versión 3.00 de iFlow. El mismo presenta las características principales de las funcionalidades.
Fechas estimadas de Entrega
Adaptaciones Iniciales
Descripción
Se implementarán nuevos atributos en las entidades de interés para representar el flujo de los cálculos/notificaciones de las fechas estimadas de envío.
Entidades de interés:
- Reglas de estado (StateRule): «Fechas efectivas de Entrega», referenciando si debe calcular o no las fechas.
- Reglas de Estado de Orden (OrderStateRule): «Notifica fechas de entrega», referenciando a quien debe notificarlas (ninguno, ambos, comprador, vendedor)
- Cliente (Client): «Comunicar fechas efectivas de entrega» (en configuraciones adicionales),referenciando si se le debe notificar las fechas calculadas. De deber notificar las fechas, el campo «días estimados para la entrega» no se tendrá en cuenta.
Atributos y Cálculos
Descripción
Se implementarán nuevos atributos a la entidad Shipping para representar el rango de fechas estimadas de envío.
estimated_delivery_date_min y estimated_delivery_date_max.
Con estos dos nuevos atributos se podrá hacer el cálculo en función de, inicialmente, 2 casos
-
«Inicial» (equivalente a “Registrado”):
- min: fecha de registro del envío + días de colecta del cliente + el tiempo de entrega mínimo de la zona del comprador para el modo de envío Reparto.
- max: Similar al anterior solo que se toma en cuenta el tiempo de entrega máximo de la zona del comprador para el modo de envío Reparto.
-
«Aplicación de estado»: ante la aplicación de un StepState, se debería calcular considerando 3 escenarios
-
Escenario sin Devolución
- min: Fecha del estado + [ tiempo de entrega mínimo de la zona del vendedor - (fecha de estado - fecha el envío )].
- max: Similar al anterior solo que se toma en cuenta el tiempo de entrega máximo de la zona del comprador.
-
Escenario con Devolución en proceso :
- min: Fecha del estado + [ tiempo de entrega mínimo de la zona del vendedor - ( fecha del estado - fecha del proceso de devolución ) ].
- max: Similar al anterior solo que se toma en cuenta el tiempo de entrega máximo.
-
Escenario con Devolución Registrada :
- min: Fecha del estado + [ tiempo de entrega mínimo de la zona del vendedor - (fecha del estado - fecha de registro de devolución )].
- max: Similar al anterior solo que se toma en cuenta el tiempo de entrega máximo.
-
Los valores calculados persisten en los atributos mencionados anteriormente.
En el cálculo de las fechas estimadas se toman en cuenta solo los días hábiles.
El cálculo de las fechas para el flujo de RateService se migró a esta nueva implementación.
Adaptacion de Flujo
Descripción
Se implementó una queue (if_estimated_delivery_date) la cual recibe un mensaje del siguiente tipo
{ 'element_id': Integer, Identificador del Envio , 'type': 'shipping', 'scenario': String (opcional), indica el escenario. Valore posibles: ‘initial’ o bien ‘state_applied’. 'step_state_id': Integer (opcional), identificador del StepState }y el nuevo consumer (ShippingEstimatedDeliveryDateConsumer) es el que se encarga de invocar al servicio de cálculo.
En la creación de órdenes se encola el mensaje indicando el escenario ‘initial’, cuando se aplica un estado ‘state_applied’.
El caso del tarifador recibe ‘rate’ y este no se encola y devuelve los datos que se calcularon, tampoco persiste.
Comunicación
Descripción
Si el cliente tiene habilitada la opción de cálculo se muestra, sino muestra el rango entre la fecha actual y estimated_delivery_date en un mail de notificación con la plantilla que corresponda. (se implementó una nueva plantilla la cual solo muestra datos del cálculo de fechas).
Cuando se aplica un estado a una orden, según su configuración, notificará al comprador, vendedor, ambos o a ninguno. El cálculo, en este escenario, se hace a nivel orden y en el caso que el cambio de estado no se deba notificar por mail pero si el cálculo, se notificará con la nueva template mencionada anteriormente.