@startuml
skinparam monochrome true
skinparam packageStyle rectangle
skinparam shadowing false
skinparam classAttributeIconSize 0
hide circle
hide methods

title Domain Model

class Organization {
    name
    vatNumber
    website
    phoneNumber
    email
}

class Collaborator {
    name
    dateOfBirth
    dateOfAdmission
    address
    mobileNumber
    email
    idDocument
    idNumber
}

class Vehicle {
    brand
    model
    type
    tare
    grossWeight
    currentKm
    registerDate
    acquisitionDate
    maintenanceFrequency
}

class Skill {
    name
}

class Job {
    description
}

class Team {
    reference
    description
    size
}

class CheckUp {
    date
}

class VehicleCheckUpList{
}

class HRM {
    name
    email
    phoneNumber
}

class VFM {
    name
    phoneNumber
    email
    ID
}

class PostalAddress{
    street
    zipCode
    city
}

Organization "1" -- "0...*" Collaborator : has >
Organization "1" -- "0...*" Vehicle: has >
Organization "1" - "1" PostalAddress : located At >

HRM "1" -- "0...*" Skill : create >
HRM "1" -- "0....*" Job : register >
HRM "1" -- "0...*" Collaborator : register >
HRM "1" -- "0...*" Collaborator : assign skills >
HRM "1" -- "0...*" Team: create >

Collaborator "1" -- "1" Job : has >
Collaborator "1" -- "0...*" Skill : has >

Team "1" -- "1...*" Collaborator : comprises >

VFM "1" -- "0...*" Vehicle: register >
VFM "1" -- "0...*" CheckUp : register >
VFM "1" -- "1" VehicleCheckUpList: create >

Vehicle "1" -- "1" CheckUp : has >
VehicleCheckUpList "1" -- "1...*" Vehicle: contains >

@enduml
