Location (lokalizacja)
Location (lokalizacja) to zasób reprezentujący dowolne miejsce fizyczne – niezależnie od kontekstu: strefa/regał/półka w magazynie, biuro, oddział, budynek, piętro, pomieszczenie itd. Location ma managingParty (Reference Party – podmiot zarządzający miejscem) i owner (Reference Party – właściciel/właściciel organizacyjny). Party to zawsze firma, organizacja, osoba lub jednostka organizacyjna. Hierarchia miejsc jest budowana przez partOf (Location nadrzędny). Dodatkowe cechy w attribute[] (Attribute). Pojedynczy model dla WMS, HR, organizacji, nieruchomości.
Rozszerza DomainResource.
1. Zakres i zastosowanie
Location = pojedyncze miejsce: identifier, name, managingParty (0..1 Reference do Party – zarządca miejsca: firma, organizacja, osoba, jednostka organizacyjna), owner (0..1 Reference do Party – właściciel), partOf (0.. Reference do Location – hierarchia miejsc), attribute[] (0.. Attribute – cechy miejsca: powierzchnia, temperatura, typ strefy itd.). type lub category (z DomainResource) określają rodzaj: np. strefa przyjęć, regał, półka (WMS); biuro, oddział, budynek, piętro, pomieszczenie (organizacja/HR); w ESM miejsce użytkowania oznaczamy kodem usage-place.
- WMS – Location w magazynie: managingParty lub owner = Party (magazyn – firma, oddział, jednostka), partOf = hierarchia (strefa → regał → półka)
- Hierarchia magazynów – Location z type = warehouse: partOf = Location (magazyn nadrzędny); owner lub managingParty = Party reprezentujący magazyn. Drzewo Location (type=warehouse) modeluje zależności magazynów magazyn centralny → magazyny regionalne; tożsamość (identifier, address) w Party
- Biuro / oddział – Location jako biuro lub centrala: owner = Party (organizacja/oddział), partOf = budynek → piętro → pomieszczenie. Employment, Position mogą referować Location (miejsce pracy).
- ESM (miejsce użytkowania) – Location z type i/lub category =
usage-place; alokacja srodka do miejsca odbywa się przez FixedAssetAllocation. Gdy alokacja dotyczy lokalizacji, osoby odpowiedzialne są przekazywane osobno wparticipant[]po stronie FixedAssetAllocation. - Dokumenty – w DocumentPosition (np. goods-receipt-line, issue-line) valueReference może referować Location i Party (magazyn/oddział).
2. Struktura (pola)
Poza polami z DomainResource (id, meta, text, name, attribute, comment, category, status, type, contained):
| Nazwa | Kard. | Typ | Opis |
|---|---|---|---|
| identifier | 0..* | Identifier | Identyfikatory lokalizacji (kod miejsca, id z systemu źródłowego) |
| name | 0..1 | string | Nazwa / opis (np. „Strefa A – regał 1", „Biuro 301", „Magazyn główny – półka A-02-15") |
| managingParty | 0..1 | Reference(Party) | Zarządca miejsca – referencja do Party (firma, organizacja, osoba, jednostka organizacyjna) |
| owner | 0..1 | Reference(Party) | Właściciel / podmiot organizacyjny (firma, organizacja, oddział) |
| partOf | 0..* | Reference(Location) | Lokalizacja nadrzędna (hierarchia: np. strefa → regał → półka lub budynek → piętro → pomieszczenie); typowo 0..1 |
| attribute | 0..* | Attribute | Cechy miejsca (np. powierzchnia, temperatura, typ strefy, kod budynku); code + value* |
Uwaga: type (z DomainResource) – np. warehouse (węzeł magazynu w hierarchii), receiving, storage, picking, shipping (WMS); office, branch, building, floor, room (organizacja); usage-place (ESM). System https://api-erp.kamsoft.pl/ns/location-type. category – np. zone, bin, warehouse-location; office, site; usage-place. Atrybuty (attribute[]) – system np. https://api-erp.kamsoft.pl/ns/location-attribute-type.
3. Użycie międzymodułowe
- WMS: Strefy magazynowe, półki, lokalizacje składowania
- HR: Lokalizacje biur, oddziały
- FK: Adresy biur, centra operacyjne
- CRM: Lokalizacje biur sprzedaży, centra serwisowe
4. Mapowanie na systemy ERP
| System | Odpowiednik WMS | Odpowiednik Org/Biuro | Uwagi |
|---|---|---|---|
| SAP EWM | Storage Section, Storage Bin | Jednostka organizacyjna, Miejsce pracy, Lokalizacja MPK | owner / managingParty = Party (magazyn/org); partOf = hierarchia |
| Oracle WMS | Location, Subinventory | HR Location, Facility | Location z parent; owner = Facility/Party |
| D365 | Location (strefa, alejka, regał, półka) | Jednostka operacyjna, Oddział | Pojedynczy Location dla obu kontekstów; type rozróżnia |
| FHIR | – | Location (miejsce) | address, partOf; nasz model rozszerza o owner, managingParty, attribute |
5. Powiązane zasoby
→ Party — Informacje o właścicielu/zarządcy
→ Core Master Data Overview — Wspólne dane główne