Locations: Drawing the Warehouse Floor Plan
Where warehouses, zones, racks, zone types and pallet types are configured — and why the settings tree looks like the building.
Before the platform can track where a pallet lives, it has to know what the floor looks like. /settings/core/locations is where the topology gets drawn: warehouses, the zones inside them, the racks inside the zones, plus the zone types and pallet types the rest of Core picks from. The old /settings/core/warehouses address still works; it simply redirects here.
Warehouses
The top-level entity. A warehouse is created with a code, a name, a city, a country and a capacity; it can be activated or deactivated, and renamed without touching the code or the history that hangs off it. Adding a warehouse from the locations page is the right move when a new physical site opens — it slots into every dropdown that asks “which warehouse” without any other configuration. Create the main physical warehouse first. Everything else is a branch.
Zones and zone types
Zones nest inside warehouses. Each zone has a type, and the platform ships seven built-in zone types: receiving, processing, storage, staging, shipping, quarantine and recycling. Tenants with a floor that does not fit those seven add custom zone types on the same page and remove them again when they fall out of use. Zones can be created and renamed freely; a zone can only be deleted when it no longer holds racks, because a rack with no zone is a label with no address.
Racks inside zones
Racks live inside zones. Each rack has a code and a name (A3, B12, whatever the floor already calls it), a number of rows and columns that defines its positions, a sort order and an active flag. The position labels print from this configuration, and a new rack’s positions are scannable the moment the labels are stuck on. Adding a rack expands the warehouse without restarting anything except the label printer.
Pallet types
Pallet types describe the physical carrier, not the contents. The seven presets are euro, half, quarter, industrial, roll container, gitterbox and custom, each with a label, a dimensions note and a maximum asset count; the maximum must be a positive number, because a pallet that holds zero assets is a floor tile. Tenants add their own pallet types and delete the ones they never use. Keep the list to what actually rolls through the dock.
Why floor-plan-shaped UI
The locations page is a tree, not a flat list. Drilling into a warehouse shows its zones; drilling into a zone shows its racks. The hierarchy on screen mirrors the hierarchy on the floor, which is what makes the data easy to maintain over years instead of weeks. Make the zone and rack structure only as detailed as the team will genuinely keep up to date. When somebody adds a third warehouse to the org, the tree grows by one branch — not by re-tagging every existing row.