Service - Inventory Manager

From Izara Wiki
Jump to navigation Jump to search

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.

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

isInventoryTemplate

{
	isInventoryTemplate: {
		storageResources: {
			myGraph: {
				storageType: "graph",
				graphServerTag: "GraphHandler"			
			}
		},
		links: [
			{
				storageResourceTags: ["myGraph"],
				from: {
					objType: {
						serviceTag: "inventoryManager",
						objectType: "inventory"
					},
					linkType: "many",
				},
				to: {
					objType: {
						serviceTag: "inventoryTemplate",
						objectType: "inventoryTemplate"
					},
					linkType: "one"
				}
			}
		]
	}
}

isInventoryTemplate

{
	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

Working documents

Inventory Manager