Service - Inventory Manager
Revision as of 13:39, 2 January 2026 by Sven the Barbarian (talk | contribs)
Overview
Each inventory type is handled by a Service - Inventory (handlers) service.
The specific identification method is used for accounting and tracking individual units of inventory, this applies COGS individually to each unit and allows for transparent supply chain at a per unit level. Fractional selling of units is not allowed, so when inputting inventory should input at the smallest divisible unit it can be sold at.
The Inventory Manager service handles detail shared by all Inventory Handler services.
Repository
....
Object Schemas
- Additional Information
- Per Service Schemas
objType
inventory
{
objectType: "inventory",
canDelete: false,
belongTo: {
serviceTag: "user",
objectType: "user"
},
addOnDataStructure: [
{
type: "attributeTree",
attributeTreeTag: "inventoryAttributes"
},
],
storageResources: {
myGraph: {
storageType: "graph",
graphServerTag: "GraphHandler"
}
},
fieldNames: {
inventoryId: {
type: "string",
randomOnCreate: true,
storageResourceTags: ['myGraph']
},
},
identifiers: [
{
type: "identifier",
fieldName: "inventoryId"
}
]
}
- Describes an inventory descriptor, or SKU, interchangeable units (fungible) are classified under the same inventory instance
inventoryUnit
{
objectType: "inventoryUnit",
canDelete: false,
belongTo: {
serviceTag: "user",
objectType: "user"
},
addOnDataStructure: [],
storageResources: {
myGraph: {
storageType: "graph",
graphServerTag: "GraphHandler"
}
},
fieldNames: {
inventoryUnitId: {
type: "string",
randomOnCreate: true,
storageResourceTags: ['myGraph']
},
cost: { // sums all costs, or COGS for the unit
type: "numeric",
storageResourceTags: ['myGraph']
},
},
identifiers: [
{
type: "identifier",
fieldName: "inventoryUnitId"
}
]
}
- A single unit of inventory
Object Relationships
isInventory
{
isInventory: {
storageResources: {
myGraph: {
storageType: "graph",
graphServerTag: "GraphHandler"
}
},
links: [
{
storageResourceTags: ["myGraph"],
from: {
objType: {
serviceTag: "inventoryManager",
objectType: "inventoryUnit"
},
linkType: "many",
},
to: {
objType: {
serviceTag: "inventoryManager",
objectType: "inventory"
},
linkType: "one"
}
}
]
}
}
Media
- all inventory instances link to Media