Repository
Repository Type
Represents a storage location in the warehouse system. Repositories can be anything that holds goods - from entire warehouses down to individual bins or movable containers like pallets.
Fields
id
ID!
Unique identifier of the repository
tenantID
UUID!
Tenant identifier
createdAt
Time!
Creation timestamp
createdBy
UUID!
User identifier who created the repository
updatedAt
Time
Last update timestamp
updatedBy
UUID!
User identifier who last updated the repository
deletedAt
Time
Deletion timestamp
deletedBy
UUID!
User identifier who deleted the repository
dataTypeID
UUID
Data type identifier
dataTypeSlug
String
Data type slug
data
Map
Custom data associated with the repository
name
String!
Name of the repository
type
RepositoryType!
Type (static or dynamic)
virtualRepo
Boolean!
Whether this is a virtual repository
parentID
UUID
ID of the parent repository (null for root)
parent
Repository
Parent repository object
children
[Repository!]
Child repositories
stocks
[Stock!]
Stock records in this repository
repositorymovements
[RepositoryMovement!]
Movements of this repository
Interfaces
Node
Repository Types
Static Repository: Fixed locations like warehouses, zones, shelves, bins
Dynamic Repository: Movable containers like pallets, totes, trolleys, forklifts
Virtual Repositories
Virtual repositories allow stock to be allocated without validation. They're used at warehouse boundaries:
Incoming goods (supplier deliveries)
Outgoing shipments (customer orders)
Adjustments (damaged, stolen, corrections)
Usage Example
Notes
Root-level repositories (parentID = null) typically represent warehouses
The actual purpose (warehouse, shelf, bin, etc.) is determined by naming and hierarchy
Virtual repositories don't enforce stock validation for movements
Dynamic repositories can change parents via repository movements
Last updated
Was this helpful?
