Service - Inventory Manager: Difference between revisions
Jump to navigation
Jump to search
(Created page with "= Overview = Each inventory is handled by a Service - Inventory (handlers) service. The Inventory Manager service handles detail shared by all Inventory Handler services. = Repository = .... = Object Schemas = ; Additional Information: Per Service Schemas == objType == === inventory === <syntaxhighlight lang="JavaScript"> { objectType: "inventory", canDelete: false, belongTo: { serviceTag: "user", objectType: "user" }, addOnDataStructure: [ {...") |
No edit summary |
||
| (7 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
= Overview = | = Overview = | ||
Each inventory is handled by a [[Service - Inventory (handlers)]] service. | 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. | The Inventory Manager service handles detail shared by all Inventory Handler services. | ||
| Line 21: | Line 23: | ||
canDelete: false, | canDelete: false, | ||
belongTo: { | belongTo: { | ||
serviceTag: " | serviceTag: "Business", | ||
objectType: " | objectType: "business" | ||
}, | }, | ||
addOnDataStructure: [ | addOnDataStructure: [ | ||
| Line 52: | Line 54: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== | * Describes an inventory descriptor, or SKU, interchangeable units (fungible) are classified under the same inventory instance | ||
=== inventoryUnit === | |||
<syntaxhighlight lang="JavaScript"> | |||
{ | |||
objectType: "inventoryUnit", | |||
canDelete: false, | |||
belongTo: { | |||
serviceTag: "Business", | |||
objectType: "business" | |||
}, | |||
addOnDataStructure: [], | |||
storageResources: { | |||
myGraph: { | |||
storageType: "graph", | |||
graphServerTag: "GraphHandler" | |||
}, | |||
dynamoDB: { | |||
storageType: "dynamoDB", | |||
"tableName": "inventoryUnit", | |||
} | |||
}, | |||
fieldNames: { | |||
inventoryUnitId: { | |||
type: "string", | |||
randomOnCreate: true, | |||
storageResourceTags: ['myGraph', 'inventoryUnit'] | |||
}, | |||
cost: { // sums all costs, or COGS for the unit | |||
type: "numeric", | |||
storageResourceTags: ['myGraph'] | |||
}, | |||
}, | |||
identifiers: [ | |||
{ | |||
type: "identifier", | |||
fieldName: "inventoryUnitId" | |||
} | |||
] | |||
} | |||
</syntaxhighlight> | |||
* A single unit of inventory | |||
* Use dynamo table to perform actions such as reserving the unit to a unique flow which moves it's location before releasing the reservation | |||
=== | == RelationshipSchemas == | ||
=== isInventory === | |||
<syntaxhighlight lang="JavaScript"> | <syntaxhighlight lang="JavaScript"> | ||
{ | { | ||
isInventory: { | |||
storageResources: { | storageResources: { | ||
myGraph: { | myGraph: { | ||
| Line 71: | Line 119: | ||
objType: { | objType: { | ||
serviceTag: "inventoryManager", | serviceTag: "inventoryManager", | ||
objectType: " | objectType: "inventoryUnit" | ||
}, | }, | ||
linkType: "many", | linkType: "many", | ||
| Line 77: | Line 125: | ||
to: { | to: { | ||
objType: { | objType: { | ||
serviceTag: " | serviceTag: "inventoryManager", | ||
objectType: " | objectType: "inventory" | ||
}, | }, | ||
linkType: "one" | linkType: "one" | ||
| Line 87: | Line 135: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
= Media = | |||
* all inventory instances link to Media | |||
= Working documents = | = Working documents = | ||
Latest revision as of 14:25, 19 January 2026
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: "Business",
objectType: "business"
},
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: "Business",
objectType: "business"
},
addOnDataStructure: [],
storageResources: {
myGraph: {
storageType: "graph",
graphServerTag: "GraphHandler"
},
dynamoDB: {
storageType: "dynamoDB",
"tableName": "inventoryUnit",
}
},
fieldNames: {
inventoryUnitId: {
type: "string",
randomOnCreate: true,
storageResourceTags: ['myGraph', 'inventoryUnit']
},
cost: { // sums all costs, or COGS for the unit
type: "numeric",
storageResourceTags: ['myGraph']
},
},
identifiers: [
{
type: "identifier",
fieldName: "inventoryUnitId"
}
]
}
- A single unit of inventory
- Use dynamo table to perform actions such as reserving the unit to a unique flow which moves it's location before releasing the reservation
RelationshipSchemas
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