Release notes for 2025 is moved to DispatchService release notes on egretail.cloud |
Implementing Nshift API V2 integration.
Minor Performance Improvement in Stock Management logic
Two new identifiers isDangerousGoods and ExternalItemNumber are added to support Dangerous Goods information in Dispatch Service.
When an item, which is considered as a dangerous good, is added in CreateShipment, the external item number of the item is passed on to Nshift to be able to trigger printing of the Dangerous Goods Letter. The response includes a dangerousGoods section, which could be used by a client to determine that there was an item that is a dangerous good in the shipment. This would only work with Nshift V2, which supports dangerous goods.
CreateShipment is extended to include token and allocatedTimeSlotToken for orders to be shipped through Instabox. These fields should be included in the request to be able to reserve lockers where the customer will pick-up their order.
PAC.CW is presented as a delivery option if store never had stock on item for the store which are included as a PAC store in the Dispatch Service Rule.
While contacting Consignor services api and if the Consignor services is unavailable then Dispatch service won't try to de-serialize the response but will return an appropriate failure response.
PAC.CW is presented as a delivery option if store never had stock on item for the store which are included as a PAC store in the Dispatch Service Rule.
Enhanced BlobStagingImport to import 'ChainStockBatchUpdate' blobs into [staging].[FlatBatch] and [staging].[FlatBatchJson], and updated BlobStagingMerger to handle merging data from these staging tables into the stock tables.
Removed health check for nShift/Consignor to ensure uninterrupted functionality in Dispatch Service
Check If Lifecycle of the Startup in the DispatchService is Proper. Removed few dependencies which were unnecessary.
This is a Tech Debt. Implementing overhaul on BlobStaginMerger has decoupled from Inventory.StockStatus.Export blob type, ensuring greater flexibility and enabling easy extension to support other blob types as needed.
Verified triggering Inventory.StockStatus.Export blobs via FileService, confirming successful data import into staging tables (FlatBatch, FlatBatchJson), and verifying BlobStagingMerger updates to [dbo].[stock], along with scheduled stock exports. Ensured jobs are correctly enabled and operational
Quantity with 0 value in the request will provide delivery alternatives for both Dispatch Suggestion and Delivery Suggestion.
Inactive stores are not returned as delivery alternatives in pacstores method.
Inactive items will be under "notDeliverable" parameter in the response of /api/stock/{storeNo}/deliverability endpoint
Remove obsolete hardcoded delivery products. Delivery products Click&Collect, Helthjem standard and Helthjem NA are removed from hardcoded values
Renaming to Dispatch Management which was earlier Inventory Management
Response parameter expectedDeliveryDescription value is changed from "2 timer" to ""(null). This value will be later configured dynamically.
Splitting an order with multiple items is possible when the StockStoreNumber and StoreNumber in the used Rule are set different.
Item Stock equals to zero or less than zero, will suggest PAC.CW as delivery option and Item stock greater than zero, will suggest PAC
(RTM-4377)
There is an API method in DispatchService to check if the service is enabled and configured for a specific tenant.
This is a new feature that can add a list of delivery methods for each store in the dispatch rule. The delivery method set at the store level overrides the common delivery method set in the rule.
When using StoreStatuses in the request of Dispatch suggestion endpoint, "isFallback" parameter in the response will provide accurate value.
When there are no delivery products set up in dispatch rule, dispatch suggestion returns the correct split suggestion for picking.
When provider is Consignor (nShift) then ProdconceptID is returned instead of ProdCSID in the "code" and "deliveryMethod" fields in the methods GetProducts, Delivery Overview and Delivery Suggestion.
When the entire order cannot be fulfilled, based on fallback value, the following is returned in dispatch suggestion:
A new field in the dispatch suggestion response called IsFallback is added. If this is set true, then we know it's because of fallback mechanism for non-deliverable items.
Order is split according to the item availability when order consists of more than one item. Delivery options are suggested based on each order line.
A new dispatch rule parameter, excludeFromStockCalc, is introduced to control whether stock in the store defined in dispatchingWarehouse.storeNumber will be considered in stock availability calculation in Dispatch Service.
If excludeFromStockCalc = TRUE, dispatchingWarehouse.storeNumber will be included in the stock stock availability calculation
If excludeFromStockCalc = FALSE, dispatchingWarehouse.storeNumber will NOT be included in the stock stock availability calculation
This parameter is by FALSE by default.
When using ProdConceptID as the deliveryTypeMethod in the CreateShipment request, it no longer results in an error. Instead, the shipment is properly created with the specified ProdConceptID. The default value for deliveryTypeMethod was changed to pass ProdConceptID, instead of the previous ProdCSID in case of the TypeMethod not being specified in the request.
Orders placed to a webshop store will automatically be dispatched to a central warehouse. The central warehouse should be set as a dispatch store also for this to work.
This change includes adding extra parameter to createshipment end point to get response with some data. Below parameters are added to the request and response of the endpoint:
This change also updates the order number in the references section of NShift portal.
GetDispatchSuggestionAsync will return default warehouse as the suggestion when fallback is set to true in the request and there are no other stores that can fulfill the order.
Delivery alternatives are correctly suggested for a split order scenario, where a web order will be fulfilled by more than one store.
When changing stock in InventoryService, the changes are now also imported into the DispatchService, and reflected in the service's responses.
The prerequisite for it to work, is to have the BlobStagingmerger and BlobStagingImport jobs from DispatchServiceIntegration LIP package enabled on a given tenant. They can be running with the default configuration.
Introduced a new method to return if requested item/s and quantity are deliverable or not in a store: POST/api/stock/{storeNo}/deliverability
Deliverability for multiple items can be sent in a single request and the method returns a list of items with available quantity and grouped into deliverable or not deliverable. Items will be returned as notDeliverable if they do not exist in the store or available stock value in the store is less than the requested quantity.
When there are no suggestions from dispatch suggestion and fallback is used, the orders fall back to webshop and webshop store is suggested.
When returning delivery alternatives, delivery suggestion now follows rules that are set in configuration (delivery products).
The GetShipment method was added in order to allow for searching the NShift shipment information by using the ShipmentCSID number (assigned when the shipment is created). The method gives back data including date, place, ID, tag etc. and can be used to easily fetch information about previous shipments.
.NET Framework for DispatchServiceIntegration was upgraded to version 4.8 so that the DispatchService jobs for transferring items, stock and store info will not be affected with the end-of-life for TLS 1.0 and 1.1 by nShift.
ReprintLables method is added to the DispatchApi.Client, which makes it now possible to reprint shipping labels of already printed labels using nShift. If you are unlucky and run out of paper, you now have the option to print again.
(RTL-5397)
Dispatch Service module is migrated to .NET 6.
When creating a shipment, it is now possible to print return label at the same time as shipping label.
Logic of dispatch suggestion has been improved. Postcode calculation has been fixed, so correct stores are now suggested.
A new delivery type - Pay&Collect CW was added. It allows suggesting stores, that do not have enough stock, but where missing items exist in warehouse.
CreateShipment
It is now possible to set the DropPoinId parameter as NULL or not assign it any value.
It is now possible to add different actors and keys and assign them to a given shipment provider/store. Later the stores can be used in SubmitShipment, ReprintLabels, TransmitShipment.
When using the delivery/suggestion method, PAC is now properly suggested when it was previously available in the overview.
Drop points lets the end-user select where they want to pick up their parcels.
DropPointId is added while creating a shipment. This later allows for printing labels with the pick up point address on them.
DispatchSerivce does now import items from ItemService.
Updates and additions is imported to database through the ItemImport job.
The service still support import from Chain Classic.
New stores are now imported and updated from StoreService.
A new method called TransmitShipments was added.
It needs to be called to make the consignments go to carriers, while the CreateShipment method is meant to only print now.
(RTM-4710)
When creating nShift shipments it is now possible to finish the order with different delivery contact info than the one assigned to customer's account.
New delivery contact info is generated on the shipment label.
It is now possible to reprint shipping labels of already printed labels using NShift.
If you are unlucky and run out of paper, you now have the option to print again.