@startuml DMWarehouseManagement



package "<<aggregate>> WarehouseManagement"{
  entity Warehouse
  entity City
  entity ChargingStation
  class WarehouseIndentifier
  class WarehouseDesignation
  class WarehouseAddress
  class WarehouseCoordinates
  class CurrentOccupation
  class TotalOccupation
  class WarehouseAltitude
  class CityId
  class CityName

}


entity Warehouse <<entity>> <<Root>>{
  active : boolean
}
class WarehouseIndentifier <<(V,#FF8B40) value object>>
class WarehouseDesignation <<(V,#FF8B40) value object>>
class WarehouseAddress <<(V,#FF8B40) value object>>
class WarehouseCoordinates <<(V,#FF8B40) value object>>
class WarehouseAltitude <<(V,#FF8B40) value object>>


entity ChargingStation <<entity>>
class CurrentOccupation <<(V,#FF8B40) value object>>
class TotalOccupation <<(V,#FF8B40) value object>>

entity City <<entity>>
class CityId <<(V,#FF8B40) value object>>
class CityName <<(V,#FF8B40) value object>>

Warehouse "1" ---> "1" ChargingStation: has
Warehouse "1" ----> "1" City : has

Warehouse "1" --> "1" WarehouseIndentifier
Warehouse "1" --> "1" WarehouseDesignation
Warehouse "1" --> "1" WarehouseAddress
Warehouse "1" --> "1" WarehouseCoordinates
Warehouse "1" --> "1" WarehouseAltitude


ChargingStation "1" --> "1" CurrentOccupation
ChargingStation "1" --> "1" TotalOccupation

City "1" --> "1" CityId
City "1" --> "1" CityName

@enduml