Release note Août 2023
Calcul de dates dans l'éligibilité
Objectifs: Améliorer les calculs de dates effectués dans l'éligibilité de sorte à ce que ceux-ci prennent en compte toutes les contraintes métiers telles que les cut-offs et jours ouvrés.
Documentation technique: https://woop.stoplight.io/docs/retailer/c837e98223da4-carrier-and-service-eligibility
Calculs de dates au plus tôt
Tous les calculs effectués dans le cadre de l'éligibilité prennent désormais en compte la notion de "date au plus tôt", déclinée de la manière suivante :
Date de picking au plus tôt :
La date de picking au plus tôt est définie par la valeur la plus haute entre :
- la date de début de l'intervalle de picking (si défini)
- la date du jour + le délai de prévenance (si défini)
Date de livraison au plus tôt théorique :
La date de livraison au plus tôt théorique (ie. sans contrainte) est définie par la valeur maximale entre :
- la date de picking au plus tôt + délai minimum de livraison (si défini) ;
- la date de début de l'intervalle de livraison (si défini)
Date de livraison au plus tôt réelle :
Prise en compte des contraintes de cut-off (same-day et next-day) et plages d'activité. En fonction de ce qui est configuré comme same-day cut-off et/ou next-day cut-off, les règles sont les suivantes :
Si la commande est passée entre le same-day et next-day cut-off :
la date de livraison réelle est définie par la valeur la plus haute entre :
- Le premier jour ouvré après le prochain jour ouvré ;
- Le premier jour ouvré à partir de la date de livraison théorique calculée précédemment.
Si la commande est passée après le next-day cut-off :
la date de livraison réelle est définie par la valeur la plus haute entre :
- Le prochain jour ouvré après le prochain jour ouvré ;
- Le premier jour ouvré à partir de la date de livraison théorique calculée précédemment?
Jours ouvrés et non ouvrés
Nouveautés API
Les évolutions de calculs nécessitent une montée de version de l'API retailer. Les changements notoires sont listés ci-dessous :
Nouvelle gestion des créneaux
La réservation de créneaux (slots) au sein de la route POST /eligibilities ne se fait plus via l'objet slot
mais au moyen de la nouvelle option options.slot
qui doit être activée de la manière suivante :
La plage de dates pour la sélection des créneaux n'est plus définie par les champs fromDate
/ toDate
, mais par les objets delivery.interval.start
et delivery.interval.end
en entrée.
L'objet delivery.interval
devient obligatoire si la valeur de slot.active
est définie à true
. Dans ce cas, si l'objet delivery.interval
n'a pas été défini, l'API renverra une erreur 400.
Nouvelles sections dans la réponse
Les sections cutoffs.nextDay
, cutoffs.sameDay
, minDeliveryDate
ont été ajoutées à la réponse de l'API POST /eligibilities :
-
cutoffs.nextDay
= configuration de la date limite du jour suivant (si définie) -
cutoffs.sameDay
= configuration de la date limite le même jour (si définie) -
minPickingDate
= date de picking au plus tôt -
minDeliveryDate
= date de livraison au plus tôt réelle