Location
Location is a generic container in the organization/geography area: it models an operational place whose business meaning is given by kind. It does not replace Country (national level and macro rules) or Address (street-level detail); it combines them via references (countryId, addressId) plus operational fields (code, timezone, status, tags).
How this maps to sites, offices, and warehouses
The same JSON shape covers multiple business concepts, distinguished by kind:
Typical kind | Role |
|---|---|
site | Manufacturing site, plant, or campus—often with hierarchy (parentLocationId) |
office | Administrative or commercial office—billing presence, local business hours |
warehouse | Warehouse or logistics hub—inventory, shipments, receipts (as in the sample) |
Additional values (store, datacenter, branch, …) may be introduced by tenant or connector convention, as long as mapping to the destination system stays consistent.
In short: a Location is the “where we operate / where we stock” record; site, office, and warehouse are types of location, not three separate entity schemas.
Full JSON example
{
"id": "loc_wh_MIL01",
"channel": "demoipaas",
"createdAt": "2026-01-03T08:00:00+00:00",
"updatedAt": "2026-02-10T14:30:00+00:00",
"kind": "warehouse",
"code": "MIL01",
"name": "Magazzino Milano Nord",
"description": "Hub logistico regione nord",
"organizationId": "org_acme_holding",
"parentLocationId": null,
"addressId": "addr_9Qw2Rt5Yu8Za1",
"countryId": "country_IT",
"timezone": "Europe/Rome",
"status": "active",
"tags": ["primary-fulfillment", "b2b"],
"attributes": {
"dockDoors": 6,
"surfaceSqm": 4200
}
}
Remarkable notes
organizationIdties the location to a company context (legal entity, tenant); format depends on the integrated product.parentLocationIdsupports trees (e.g. country → region → plant → line) when the connector models hierarchy;nullfor a root node.attributesis an extensible bag for local metrics (square meters, dock doors, hours); avoid duplicating first-class ERP/WMS fields when the connector exposes them separately.