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

Field
Type
Description

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?