@startuml
skinparam monochrome false
skinparam packageStyle rectangle
skinparam shadowing false
'skinparam linetype ortho
'left to right direction
skinparam classAttributeIconSize 0
hide circle
hide methods

title Domain Model US006


class SystemAdministrator extends Employee{
    registerEmployee()
    registerBranch()
    prepareSystem()
    createState()
    createState()
    createDistrict()
    createCity()
    assignDistrictToState()
    assignCityToDistrict()
'    specifyState()
'    specifyDistricts()
'    specifyCities()
}



class State {
    name
}

class District {
    name
}

class City {
    name
}
'class StatesList {
'    save()
'    findById()
'}
'
'class DistrictsList {
'    save()
'    findById()
'}
'
'class CitiesList {
'    save()
'    findById()
'}

''' Business Region
'class Contact{}


''' Relations Region
SystemAdministrator "1" -- "0.*" City : creates and manages >
SystemAdministrator "1" -- "0.*" State : creates and manages >
SystemAdministrator "1" -- "0.*" District : creates and manages >

District "0.*" -- "1" State : contains <
City "0.*" -- "1" District : contains <
'StatesList "0.*" - "1" State : are store <
'DistrictsList "0.*" - "1" District : are store <
'CitiesList "0.*" - "1" City : are store <




@enduml