Expected Stock in Availability
Last updated
Last updated
In some cases, stock should be available for sale before it has even arrived at the site or has been produced. This means that expected stock needs to be tracked and communicated to shop systems. It is also necessary that reservations can be made on expected stock.
A company is selling gift items online and in retail stores. As a special service, the company offers to send the gift directly to the recipient on the day of the birthday. As the delivery date often lies far in the future, it should be possible to take expected stock into account when ordering. Furthermore, some of the gift baskets contain perishable goods. As the company only wants to sell items up to 30 days before their expiration date, this attribute must also be taken into account when customers place orders and reservations are made.
In most set-ups, listings should already be created for all products that are managed via fulfillmenttools' systems. Still, make sure that a listing exists for each product whose expected stocks should be considered. If goods are perishable and/or should only be available for a certain time frame, stock properties and/or stockAvailableUntil must be configured.
Create a purchase order for all items that have already been (re-)ordered. After the purchase order has been created, an expected stock is automatically created for each position in requestedItems
. If stock properties such as expiry date or batch number are already known at the time of the order placement they can be defined as well.
Do not create purchase orders with requestedDate.type
"ASAP". As we expect these deliveries to arrive as soon as possible, there is no exact date that our systems can use to check the potential availability of these stocks for incoming orders.
Query one of the checkout options endpoints to get the future availability for a specific delivery date or time period. In the future availability, all stock is included that:
has already arrived at the site at the start of the picking
does not exceed its availableUntil date until the (desired) delivery date
Before using the delivery/earliest or the /delivery/timeperiod endpoint, the transit times in the carrier country service mapping for the requested carrier(s) must be configured.
Expected stocks are only considered in the checkout options endpoint if the desiredDeliveryTime
is specified in the request and the mode for reservationPreferences
is set to "ALAP" (as late as possible).
Example:
Request availability for a gift item in the store in Cologne for the delivery date 14/09/2024:
Request: POST /api/promises/checkoutoptions/delivery/timepoint
desiredDeliveryDate
: "2024-09-14"
tenantArticleId
: gift-set-01
facilityRef
: facility-CGN
latestPickingStart
for Cologne: "2024-09-10"
If the latest possible picking start for a certain delivery date in a facility is not known, it can be requested via the /api/promises/checkoutoptions endpoint. Systems then calculate the latestPickingStart
based on cut-off time of carriers and fulfillment process buffer.
Availability Check:
After the request has been made, an availability check is performed which validates if the expected stock fulfills all necessary criteria to be considered for the (potential) order.
Is desiredDeliveryDate
< availableUntil date? -> Items should not have expired until they have reached the customer
Is latestPickingStart
> requested date of stock -> Items must have arrived in the facility before they can be picked.
Response:
The response returns all stock in the requested facility that is currently available and will not expire until the desired delivery date plus all expected stock that fulfills the criteria of the availability check.
Available: 30
If an item should already be reserved but has not been ordered yet (e.g., a customer placed it in the shopping cart), the deliveryPromise endpoint can be used. If an order was placed and the item should be reserved, the order endpoint can be used.
Go here for more information on reservations.
Expected stocks are only considered in promising and order routing if the desiredDeliveryTime
is specified in the request and the mode for reservationPreferences
is set to "ALAP" (as late as possible).
Go here for more information on expected stock.
If the delivery of the ordered products has arrived or the production was finished, a receipt needs to be added to the inbound process of the purchase order to create stock. Use the GET /api/purchaseorders/{purchaseOrderId} endpoint to query the respective inboundProcessRef
if it is not stored in your systems.
After the stock was created in the facility, reservations are shifted from expected stock to "real" stock. When shifting reservations, an available stock in the facility is chosen, considering the running sequence (if defined). This means the reservation is not necessarily made on the exact item that has arrived in the delivery.
Reservations on expected stock can be monitored via the in the Backoffice.