InventoryPosition

An InventoryPosition provides an "on hand" calculation of available inventory, based on it's associated Inventory Quantities and Location. The ref field will be the unique identifier for this position within the specified Inventory Catalogue, as identified by the catalogue field.

The InventoryPosition is an orchestrateable entity. Events for these should specify a parent entity of Inventory Catalogue.

Backward Compatibility Note

With the introduction of Global Inventory, we have introduced new data structures to support this functionality. Existing orchestration enabled clients will have access to their existing product based data via the COMPATIBILITY:<retailerId> catalogue.

For more information, please refer to the Backward Compatibility Guide on Lingo

Implements

Connections

quantities (InventoryQuantityConnection)

A connection to the Inventory Quantities associated with this Position

Argument Type Description
createdOn DateRange
updatedOn DateRange
ref [String!]

The unique reference identifier for the Inventory Quantity

type [String!]

The type field can be used to differentiate between Inventory Quantity workflows. Example types include LAST_ON_HAND, RESERVED, EXPECTED, and ADJUSTMENT.

workflowRef [String!]
workflowVersion [Int!]
status [String]
quantity [Int]

The actual amount of this specific Quantity record

condition [String]

The condition of the Inventory Quantity value. The platform does not enforce any values here. Examples could include NEW, USED, or DAMAGED

expectedOn DateRange
storageAreaRef [String]

A reference to the Storage Area where this inventory is kept

first Int

Returns the first n elements from the list

last Int

Returns the last n elements from the list

before String

Returns the elements in the list that come before the specified global ID

after String

Returns the elements in the list that come after the specified global ID

catalogue InventoryCatalogueKey

DEPRECATED, please use the field catalogues instead.

catalogues [InventoryCatalogueKey]

The catalogues by which the Inventory Quantities should be filtered.

Fields

id (ID!)

ID of the object. For internal use, should not be used externally or by any business logic

createdOn (DateTime)

Time of creation

updatedOn (DateTime)

Time of last update

ref (String!)

The unique reference identifier for the Inventory Position

type (String!)

Type of the InventoryPosition, typically used by the Orchestration Engine to determine the workflow that should be applied. Unless stated otherwise, no values are enforced by the platform.

status (String)

The current status of the InventoryPosition.
By default, the initial value will be CREATED, however no other status values are enforced by the platform.
The status field is also used within ruleset selection during orchestration. For more info, see Orchestration

workflowRef (String!)

The reference used for workflow identification. This is defined by a combination of the entity name and the type, in the format [EntityName]::[Type]. For example, an Order of type CC will have the workflowRef "ORDER::CC".

workflowVersion (Int!)

The version of the workflow assigned to the entity and used for workflow identification. It comprises a major version and minor version number.

attributes ([Attribute])

A list of attributes associated with this Inventory Position. This can be used to extend the existing data structure with additional data for use in orchestration rules, etc.

productRef (String!)

A reference identifying a Product. The referenced product may or may not exist within one or more Product Catalogues. This is a loosely coupled association, since Product and Inventory are separate domains.

product (Product)

The Product (Standard, Variant or Group) the current inventory position refers to.

  • Only products in the same product catalogue are considered in this association
  • The caller must have permission to access the underlying product - PRODUCT_VIEW for all products, plus STANDARDPRODUCT_VIEW for StandardProduct, VARIANTPRODUCT_VIEW for VariantProduct, GROUPPRODUCT_VIEW for GroupProduct. If any required permission is absent, the result will be empty. E.G if the product ref is for a GroupProduct but GROUPPRODUCT_VIEW is not granted, then no product will be returned
  • If there are several products with the same ref in the corresponding product catalogue, the product returned will be selected by priority: GroupProduct -> VariantProduct -> StandardProduct
Argument Type Description
catalogue ProductCatalogueKey
onHand (Int)

The calculated on hand quantity based on the associated quantities, and rules in the orchestration workflow

locationRef (String)

A reference identifying the Location where this inventory exists. This is a loosely coupled association.

location (StoreAddress)
Deprecation notice

No longer supported

DEPRECATED, please use the field locationLink instead - The Location where this inventory exists.

locationLink (Location)

The Agent Location where this inventory exists.

catalogue (InventoryCatalogue)

The Inventory Catalogue in which this Position is managed

quantitiesAggregate (InventoryQuantityAggregateOutput)

Retrieve the aggregate qty of Inventory Quantities of type and statuses

Argument Type Description
type [String!]
status [String!]
expectedOn DateRange