@startuml
skinparam monochrome true
skinparam packageStyle rectangle
skinparam shadowing false


skinparam classAttributeIconSize 0

hide circle
hide methods

class HumanResourcesManager {
name
phoneNumber
email
}

class Organization{

}

class Skill {
skillName
id
}

class Collaborator {
name
birthDate
admissionDate
address
phoneNumber
email
idDocType
idDocNumber
street
zipcode
city
}

class Job {
jobName
}

class CheckUp{
     checkUpDate
     checkUpID
     description
     scheduledDate
}

class Vehicle{
    brand
    model
    type
    tare
    grossWeight
    currentKm
    registerDate
    acquisitionDate
    checkUpFrequency
    plateId
    lastMaintenanceDate
    status
}

class VehicleFleetManager{
name
phoneNumber
email
}

class Team{
teamSize
id
}

VehicleFleetManager "1" -- "*" CheckUp : registers >
VehicleFleetManager "1" -- "*" Vehicle : registers >
CheckUp "1" -- "1" Vehicle : for >
Team "1" -- "1..*" Collaborator : includes >
Team "1" -- "1..*" Skill : requires >
Collaborator "1" -- "0..*" Skill : possesses >
HumanResourcesManager "1" -- "*" Team : requests >
HumanResourcesManager "1" -- "*" Skill : registers >
HumanResourcesManager "1" -- "*" Collaborator : registers >
HumanResourcesManager "1" -- "*" Job : registers >
Collaborator "1" -- "1" Job : has >
Vehicle "1" -- "1" Team : transports >

Organization "1" -- "1..*" HumanResourcesManager: has >
Organization "1" - "*" VehicleFleetManager : has >

HumanResourcesManager "1" --> "*" Collaborator: manages

VehicleFleetManager "1" --> "*" Vehicle: manages

CheckUp "1" --> "1" Vehicle: associated with

@enduml