When selling across multiple channels, with multiple potential locations for pickup or shipping, it is important to track product availability and prevent frustrating delays for your customers. Availability information is handled through the classes described in this section.
The AvailableToPromise
class contains a list of AvailabilityDate
objects, each of which provides an availabilityDate
(as a calendar object) and a quantity
property. The getQuantityByDate()
method takes a pair of dates and returns the quantity available between those dates. If no start date is provided, the current date is used; if no end date is provided, all quantities after the start date are returned. The getNextAvailabilityDate()
method takes a date and returns the next available date information after that date.
The LocationInventoryManager
extends the InventoryManager
interface with location-aware methods. For information on the InventoryManager
, refer to the InventoryManager section. It allows for handling inventory from multiple locations. It inspects and then allows the state of the inventory system to change using the item ID and the location ID.
In order for availability information to be useful, it must be associated with a product. The InventoryInfo
class retrieves inventory information for a given SKU by calling the InventoryManager
. The LocationInventoryManager
uses the InventoryInfo
queryInventoryInformation
method to obtain the InventoryInfo
object for the given inventoryId
and the locationId
. The LocationInventoryManager
queryInventoryInformation
method provides a way to get inventory information for multiple locations and/or SKUs in a single cell by returning an InventoryInfo
object for each of the given ID and location combinations. The queryInventoryInformation
method iterates over all of the provided SKU and location combinations and creates a new InventoryInfo
, using itself as the inventory manager, and then returns the resulting set.
Refer to the ATG Platform API Reference for detailed information.