Skip to main content

Warehouse

Related classes: Loading_Dock · Receiving_Area · Picking_Zone · Forklift · Autonomous_Mobile_Robot · Conveyor · Person · Location_Sensor

There is no Warehouse class. A warehouse is a Building on a Site; what makes it a warehouse is the set of zones, equipment and agents inside it. This page walks through those layers with the classes that exist today.

Site, floors, zones​

Containment follows Place.hasPart / isPartOf: Site → Building → Floor (a mezzanine is REC's MezzanineLevel) → rooms and zones. A Yard is an Outdoor_Area on the site for trailers and outdoor staging.

FunctionClassKind
DockLoading_DockRoom
InboundReceiving_AreaZone
OutboundShipping_AreaZone
BufferStaging_AreaZone; replaces the deprecated Staging_Zone
PickingPicking_ZoneZone
AislesAisleZone
Bulk storageStorage_Room → Hazardous_Materials_Storage, Waste_StorageRoom
Robot chargingCharging_Area (open floor) or Robot_Charging_Room (enclosed)Zone / Room
Access and safetyRestricted_Zone, Security_Patrol_Zone, Fly_Zone / No_Fly_ZoneZone
WorkstationsWorkspaceZone (REC)

Zones and spaces that touch can be linked with isAdjacentTo. Cold storage is equipment, not a place: Walk_In_Freezer and Walk_In_Refrigerator are Refrigeration_Equipment Things located in a room.

Docks, doors and fixed equipment​

A dock position is a Loading_Dock room with an Overhead_Door and a Loading_Dock_Leveler. The site perimeter uses Gate and Boom_Barrier; a staff entrance a Turnstile. Fixed material handling: Conveyor (a Device; Tire_Conveyor is its only subclass), Pallet_Rack and Scale. There is no sorter, shelving or tote class; use the nearest parent (Conveyor, Thing) and the entity name.

Mobile equipment and robots​

These are all Things, so each has exactly one hasLocation → Place; for a mobile asset that is its home or current zone, and the live position comes from points (below). An Asset_Tag is itself a Thing that can be isPartOf the asset it labels. Thing carries serialNumber, assetTrackingID, assetLifecycleState, dateInstalled and firmwareVersion for the asset register, and hasDeviceModel → Device_Model for make and model.

People and organizations​

Person is a direct child of Entity, not a Thing. It has givenName, familyName and additionalName, and the relationships isMemberOf → Organization, hasEmail, hasPhoneNumber, hasCalendar and hasAccessCredential → Access_Credential (a badge; its value doubles as an Access_Credential_Identity).

Organizations descend from REC's Agent: Organization → Company, People_Group. A People_Group (a shift, the maintenance team) isResponsibleFor Things, and an Organization can be the 3PL that a device serves.

Identities are how keys from other systems attach. Every Entity has hasIdentity → Identity, which holds a required value and scope. The useful subclasses here are External_Identity (a WMS or HR system id), Email_Identity, Name_Identity and Postal_Address_Identity.

Live positions and other points​

Points attach with hasPoint / isPointOf to a Thing, Place or Collection and are isHostedBy the device that produces them. isPointOf does not target Person: a person's position is modelled on the Thing they carry (a badge, a phone, an Asset_Tag) or on the zone they are in.

PointReports
Geo_Location_SensorEarth coordinates of the subject
Pose_SensorPosition and orientation in a declared coordinate frame (indoor positioning, robots)
Symbolic_Location_SensorA named place rather than coordinates, "Dock 4"
RFID_Signal, Radio_SignalRaw tag reads, signal strength, angle of arrival
Inertial_Measurement_Unit_SensorAngular rate and acceleration
Battery_Level_SensorRemaining charge of a robot or forklift
Occupancy_Count_Sensor, People_Count_SensorHeadcount in a zone
Utilization_StatusCapacity in use, e.g. of a conveyor

The three location sensors are children of Location_Sensor. Static footprints use Thing.frameGeometry (2D geometry per coordinate frame); 3D representations follow the OpenUSD guide.

Example​

Site "Regional DC 12"
├─ Yard "Trailer yard"
└─ Building "Warehouse"
└─ Floor "Ground"
├─ Loading_Dock "Dock 04"
│ ├─ Overhead_Door "Door 04" hasLocation → Dock 04
│ └─ Loading_Dock_Leveler "Leveler 04"
├─ Receiving_Area "Inbound"
│ └─ Conveyor "CV-1" feeds → Buffer A
├─ Staging_Area "Buffer A"
├─ Picking_Zone "Pick 1"
│ ├─ Pallet_Rack "PR-1-01"
│ └─ Autonomous_Mobile_Robot "AMR-07" hasLocation → Pick 1
│ ├─ Pose_Sensor "pose" isPointOf AMR-07, isHostedBy AMR-07
│ └─ Battery_Level_Sensor "battery"
├─ Charging_Area "Charge bay"
└─ Shipping_Area "Outbound"

Organization "3PL Co" hasMember → Person "J. Doe"
People_Group "Day shift" isResponsibleFor → AMR-07
Person "J. Doe" hasAccessCredential → Access_Credential "badge 4471"