Disponibilité par date

La fonction de disponibilité par date fournit la quantité de disponibilité du stock qui est séparée par une période. Chaque période est un sous-produit d'une considération différente qui inclut les fenêtres de réservation, de demande et d'offre.

Disponibilité du noeud par date

Inventory Visibility publie toujours l'image de disponibilité lorsque le stock est mis à jour sur un noeud. La disponibilité par date utilise des horodatages de stock pour calculer la plage de dates. Les horodatages de stock incluent le moment où une nouvelle offre devient disponible (supplies.eta) ou le moment où l'offre expire (supplies.shipByDate). Pour plus d'informations, voir Get Network Availability by date V2.

Par exemple, si la date en cours est le 1er octobre 2022, et que vous avez 10 ONHAND et 20 PO arrivant le 10 octobre 2022 sans réservation. Ensuite, la disponibilité du noeud renvoie les informations suivantes. La sortie est séparée par currentAvailability et futureAvailability avec les horodatages associés, fromTs (horodatage de début inclusif) et toTs (horodatage de fin exclusif). Si vous transmettez requestedEndTs dans la demande, la disponibilité du noeud par date avec fromTs antérieure ou incluse à cette date est renvoyée, et toTs de cette dernière disponibilité de noeud par date dans la réponse est inférieure ou égale à requestedEndTs. Si vous ne transmettez pas requestedEndTs dans la demande, par défaut, requestedEndTs est considéré comme la valeur définie pour la règle de titulaire dateBreakups.defaultLimitInDays . La valeur initiale de requestedEndTs est définie sur to15 jours. En d'autres termes, la valeur par défaut de requestedEndTs est current date + 15 days , comme indiqué dans la réponse, toTs: 2022-10-15T16:42:06.942Z. Vous pouvez remplacer temporairement la valeur par défaut en transmettant explicitement la valeur requestedEndTs dans l'entrée de la demande.
Remarque: Si possible, veillez à conserver la valeur requestedEndTs inférieure à 30 jours. Si vos besoins métier le justifient, tenez compte du fait que le stock calculé par l'API de disponibilité est proportionnel à l'heure de fin de la demande. Le temps de réponse peut être affecté lorsque vous définissez un grand horizon pour requestedEndTs.
De même, vous pouvez transmettre requestedQuantity dans la demande pour restreindre la réponse en fonction de la quantité.
{
    "availabilityType": "SELL",
    "considerFulfillmentOptions": false, 
    "considerSafetyStock": true,
    "lines": [
        {
            "itemId": "PLATE",
            "unitOfMeasure": "EACH",
            "productClass": "NEW",
            "deliveryMethod": "SHP",
            "segment": "ONLINE",
            "segmentType": "Channel",
            "shipNodes": [
                "Matrix-Store-001"
            ],
            "lineId": "1",
            "shipNodeAvailabilities": [
                {
                    "shipNode": "Matrix-Store-001",
                    "currentAvailability": {
                        "toTs": "2022-10-10T00:00:00.000Z",
                        "availableQuantity": 10.0,
                        "shortageQuantity": 0.0,
                        "thresholdLevel": 0,
                        "thresholdType": "ONHAND"
                    },
                    "futureAvailability": [
                        {
                            "toTs": "2022-10-15T16:42:06.942Z",
                            "availableQuantity": 30.0,
                            "shortageQuantity": 0.0,
                            "fromTs": "2022-10-10T00:00:00.000Z"
                        }
                    ]
                }
            ]
        }
    ]
}

Supposons maintenant que les réservations suivantes ont abouti.
Tableau 1. Nom de la réservation, quantité, heure et expiration lorsque toutes les réservations ont abouti
Réservation Quantité de réservation Heure de réservation (rsrv_ts) Expiration (exp_ts)
A 1 2022-10-01T13:10:00Z 2020-10-01T13:26:00Z
B 2 2022-10-01T13:10:00Z 2020-10-01T13:26:00Z
C 3 2022-10-01T13:10:00Z 2020-10-01T13:26:00Z
D 4 2022-10-12T13:10:00Z 2020-10-12T13:26:00Z

Lorsque le nom de la réservation, la quantité, l'heure et l'expiration ont abouti, la disponibilité du noeud renvoie les informations suivantes:

{
    "availabilityType": "SELL",
    "considerSafetyStock": true,
    "lines": [
        {
            "itemId": "PLATE",
            "unitOfMeasure": "EACH",
            "productClass": "NEW",
            "deliveryMethod": "SHP",
            "segment": "ONLINE",
            "segmentType": "Channel",
            "shipNodes": [
                "Matrix-Store-001"
            ],
            "lineId": "1",
            "shipNodeAvailabilities": [
                {
                    "shipNode": "Matrix-Store-001",
                    "currentAvailability": {
                        "toTs": "2022-10-10T00:00:00.000Z",
                        "availableQuantity": 4.0,
                        "shortageQuantity": 0.0,
                        "thresholdLevel": 0,
                        "thresholdType": "ONHAND"
                    },
                    "futureAvailability": [
                        {
                            "toTs": "2022-10-15T17:48:39.490Z",
                            "availableQuantity": 20.0,
                            "shortageQuantity": 0.0,
                            "fromTs": "2022-10-10T00:00:00.000Z"
                        }
                    ]
                }
            ]
        }
    ]
}
Les réservations A, B et C pour le 1er octobre 2022 affectent à la fois la disponibilité actuelle et la disponibilité future. La réservation D pour le 12 octobre 2022 n'a d'effet que sur la disponibilité future.
  • currentAvailability = 4 (10 en main moins 1 de la réservation A moins 2 de la réservation B moins 3 de la réservation C)
  • futureAvailability = 20 (4 actuellement disponibles plus 20 à partir du bon de commande moins 4 à partir de la réservation D)
Maintenant, prenez le même exemple avec 10 ONHAND, et 20 PO arrivant le 10 octobre sans réservation, mais l'exécution est désactivée sur le noeud jusqu'au 8 octobre. Les substitutions d'exécution de noeud qui sont fournies avec une date d'expiration affectent également la disponibilité du noeud par date. Dans cet exemple, la disponibilité du noeud renvoie uniquement la disponibilité future lorsque la substitution d'exécution expire le 8 octobre. L'API de disponibilité ne renvoie pas la disponibilité future du noeud par date qui n'a pas de disponibilité.
"shipNodeAvailabilities": [ {
   "shipNode": "Matrix-Store-001",
   "currentAvailability": {
   "toTs": "2022-10-08T00:00:00.000Z",
   "availableQuantity": 0.0,
   "shortageQuantity": 0.0,
   "thresholdLevel": 0,
   "thresholdType": "FUTURE"
   },
   "futureAvailability": [ {
      "toTs": "2022-10-10T00:00:00.000Z",
      "availableQuantity": 10.0,
      "shortageQuantity": 0.0,
      "fromTs": "2022-10-08T00:00:01.000Z"
      },
      {
          "toTs": "2022-10-15T20:07:45.812Z",
          "availableQuantity": 30.0,
          "shortageQuantity": 0.0,
          "fromTs": "2022-10-10T00:00:00.000Z"
      }
    ]
  }
]
Remarque :
  • Si vous spécifiez considerSafetyStock dans l'appel API, le stock de sécurité configuré est soustrait de availableQuantity Par exemple, si le stock de sécurité est de 1, la sortie devient availableQuantity=29
  • Si vous spécifiez considerFulfillmentOptions comme vrai dans l'appel API, les options d'exécution spécifiées sont remplacées au niveau du nœud et l'appel d'élément est pris en compte. Si considerFulfillmentOptions est faux, la disponibilité est calculée sans tenir compte des dérogations en matière d'exécution.
    For more information, see Get Node Availability by Date V1 API.
    By default, the value of considerFulfillmentOptions as vrai.

Les API de disponibilité de réseau et de noeud V2 possèdent un attribut de niveau d'en-tête de demande appelé isAggregationNeeded avec la valeur par défaut false. Si la valeur est true, cette API renvoie les zones onhandAvailableQuantity, futureAvailableQuantity, futureLatestShipTset futureEarliestShipTs en réponse au niveau de la ligne (similaire aux API de disponibilité V1 ). Toutefois, la réponse de l'API isAggregationNeeded ne contient pas les informations de tableau futureAvailability .

Voici un exemple de sortie d'un paramètre isAggregationNeeded.
"shipNodeAvailabilities" : [ {
   "currentAvailability" : {
      "availableQuantity" : 20.0,
      "shortageQuantity" : 0.0,
      "thresholdLevel" : 0,
      "thresholdType" : "ONHAND",
      "toTs" : "2021-06-10T00:00:00.182Z"
      },
   "futureAvailableQuantity" : 0.0,
   "futureEarliestShipTs" : "2500-01-01T00:00:00.000Z",
   "futureLatestShipTs" : "2500-01-01T00:00:00.000Z",
   "onhandAvailableQuantity" : 20.0,
   "shipNode" : "store-BostonMA"
   }
]
Pour optimiser le débit des demandes de stock, assurez-vous que la demande de disponibilité pour les lignes de noeud d'article est limitée à un maximum de 100 lignes pour chaque appel d'API.
Important: La limite de ligne sera appliquée à la fin du mois de juillet 2024.

Fournitures disponibles pour le noeud

L'API availableSupplies fournit l'image de l'offre disponible, qui comprend également les réservations non expirées. La seule différence entre l'API availability et l'API availableSupplies est que availableSupplies n'agrège pas la disponibilité par date avec des dates qui se chevauchent. Par exemple, si la date en cours est le 1er décembre 2022 et qu'il existe un bon de commande de 10, l'heure d'arrivée prévue est le 1er janvier 2023 et le shipByDate est le 1er avril 2023. Pour un autre PO de 10, l'ETA est le 1er février 2023 et shipByDate est le 1er avril 2023.

Les entrées de l'API availableSupplies sont les suivantes (sans agrégation des quantités).
"availableSupplies": [ {
   "toTs": "2023-04-01T00:00:01.000Z",
   "availableQuantity": 10.0,
   "shortageQuantity": 0.0,
   "fromTs": "2023-01-01T00:00:00.000Z"
   },
   {
   "toTs": "2023-04-01T00:00:01.000Z",
   "availableQuantity": 10.0,
   "shortageQuantity": 0.0,
   "fromTs": "2023-02-01T00:00:00.000Z"
   }
]
La sortie de l'API Availability est la suivante (avec des disponibilités qui se chevauchent).
"futureAvailability": [
   {
   "toTs": "2023-02-01T00:00:00.000Z",
   "availableQuantity": 10.0,
   "shortageQuantity": 0.0,
   "fromTs": "2023-01-01T00:00:00.000Z"
   },
   {
   "toTs": "2023-04-01T00:00:00.000Z",
   "availableQuantity": 20.0,
   "shortageQuantity": 0.0,
   "fromTs": "2023-02-01T00:00:00.000Z
   }
]

Disponibilité du groupe de distribution par date

A l'instar de la disponibilité des noeuds, la disponibilité des groupes de distribution fournit également une disponibilité des groupes de distribution par plage de dates. L'image de disponibilité du groupe de distribution est une vue agrégée de la disponibilité de tous les noeuds associés par date pour le stock disponible à la vente.

La disponibilité du groupe de distribution par date fournit l'image de la disponibilité de niveau réseau actuelle et future, y compris les réservations actives. La disponibilité est renvoyée pour le produit ou l'article en entrée. Si la demande est un produit parent, la disponibilité de ses enfants est également renvoyée par l'API de disponibilité du réseau par date.

Lorsqu'une modification d'un horodatage de stock se produit via une nouvelle offre ou demande avec des dates autres que les dates de disponibilité existantes, la disponibilité par date est calculée et publiée. Une modification de la plage d'horodatage peut se produire lorsqu'une nouvelle date d'approvisionnement ou d'expédition est déterminée. La disponibilité du stock du groupe de distribution est calculée uniquement pour les réservations de commandes ouvertes.

Par exemple, supposons que vous disposez du groupe de distribution US_Group avec deux noeuds d'expédition Matrix-Store-001 et Matrix-Store-002et l'ID article PROD1. Dans cet exemple, un élément est disponible sous la forme ONHAND. En outre, deux articles arrivent le 7 février 2020 et trois articles arrivent le 14 février 2020 (sans réservation) pour chaque noeud d'expédition individuel. Par conséquent, le groupe de distribution a deux fois la disponibilité de chaque noeud d'expédition pour l'intervalle de temps. La disponibilité du groupe de distribution renvoie les informations suivantes. Notez que la sortie est séparée par currentAvailability et futureAvailability avec les horodatages associés, fromTs (horodatage de début inclus) et toTs (horodatage de fin exclusif).
{
   "considerSafetyStock": true,
   "considerFulfillmentOptions": false, 
   lines: [ {
      itemId: "PROD1",
      lineId: "0",
      productClass: "NEW",
      unitOfMeasure: "EACH",
      deliveryMethod: "SHP",
      networkAvailabilities: [
      {
         distributionGroupId: "US_Group",
         currentAvailability: {
         availableQuantity: 2.0,
         shortageQuantity: 0.0,
         toTs:"2020-02-07T05:00:00Z”,
         thresholdLevel: 3,
         thresholdType: "ONHAND",
         thresholdQuantity: 5.5,
      },
      futureAvailability: [ {
         fromTs: "2020-02-07T05:00:00Z",
         toTs:"2020-02-14T05:00:00Z",
         availableQuantity: 6.0,
         shortageQuantity: 0.0
      },
      {
         fromTs: "2020-02-14T05:00:00Z",
         toTs:"2500-01-01T00:00:00Z",
         availableQuantity: 12.0,
         shortageQuantity: 0.0
      }
      ]
      }
      ]
    }
  ]
}
Prenons un autre exemple de groupe de distribution avec deux nœuds et un élément, comme suit :
  • Nœud A - 10 offres, 1 demande et 9 disponibles, 0 pénurie
  • Nœud B - 5 offres, 7 demandes et 0 disponible, 2 pénuries
Un appel de disponibilité réseau pour ce groupe de distribution indique 9 quantités disponibles et 2 quantités en rupture de stock, car il s'agit de la somme des quantités disponibles et en rupture de stock sur l'ensemble des nœuds.
Reportez-vous à l'extrait JSON suivant :
currentAvailability: {
  availableQuantity: 9.0,
  shortageQuantity: 2.0,
  toTs:"2025-12-30T05:00:00Z",
  thresholdLevel: 3,
  thresholdType: "ONHAND",
  thresholdQuantity: 5.5,
}

Pour plus d'informations, consultez la documentation relative à l'API REST « Network Availability Product by Date » (Disponibilité du réseau par date).