@startuml
skinparam monochrome true
skinparam packageStyle rectangle
skinparam shadowing false

'left to right direction

skinparam classAttributeIconSize 0

hide circle
hide methods


class Person {
    passportNumber
    taxNumber
    phoneNumber
    password
    Roles.AGENT
}

class User {
    name
    email
    password

}

class Address {
    street
    district
    state
    zipcode
    state
}

class Visit {
    announcement
    date
    message
    timeSlot
    person
    idVisit
    status
}

class Announcement {
    announcementRequest
    comission
    date
    status
    Roles.AGENT
    id
}

class Property {
    areaM2
    cityCenterDistance
    photos
    address
    price
    owner
    propertyType

}




Person "1" - "0..*" Visit : sees >
Visit "0..*" - "1" Announcement : belong to  >
User <|-- Person
Announcement "1" - "1 "Property  : has a >
Property "1" - "1" Address : is of >
@enduml