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

'title Domain Model from Global Artifacts


class Organization {
    name
    vatNumber
    website
    phoneNumber
    email
}

class Collaborator {
     name
     admissionDate
     dateOfBirth
     adress
     mobileNumber
     email
     idDocument
     idNumber
     taxpayerNumber
}

class VFM {
    name
    email
    phoneNumber
}

class System {}

class Job {
    jobName
}

class Skills {
     description
    }

class HRM {
    name
    email
    phoneNumber
}


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

class ListVehicleCheckUp {
    plateID
}

class TeamProposal {
    'a list of members
    teamMembers
    'status of the proposal: if it was accepted or not
    status
    'if not, why
    explanation
}





'US001
Organization "1" - "1" HRM : has >
Organization "1" -- "1..*" Skills : has >
HRM "1" -- "1..*" Skills : create >

'US002
Organization "1" - "0..*" Job: owns >
HRM "1" -- "1..*" Job : creates >

'US003
Organization "1" - "0..*" Collaborator : has >
Collaborator "1" -- "1" Job : is assign

'US004
HRM "1" - "1..*" Collaborator: assign skills to >
HRM "1" -- "0..*" Skills: assigns >
Collaborator "1..*" -- "0..*" Skills: is assign to >

'US005
'the human resources manager asks the system to create a team proposal
HRM -- "1" System : asks >
'the system automatically generates it, or it doesn't (0,1)
System -- "0,1" TeamProposal : automatically generates >
'the team proposal consists on a minimum of two members (?)
TeamProposal -- "2..*" Collaborator : consists of >
'each member possesses one or more skills (?)
Collaborator -- "1..*" Skills : possesses >

'US006
Organization "1" - "1" VFM : has >
Organization "1" - "0..*" Vehicle: owns >
VFM "1" -- "1..*" Vehicle : creates >

'US007
Organization "1" - "1" System: owns >
System "1" --- "1 " ListVehicleCheckUp: create >
ListVehicleCheckUp "1    " -- "    0..*" Vehicle: contains >
VFM "1.. " - "0..*   " Vehicle: manages >
Collaborator "1..  " -- "0..*" Vehicle: > repair



@enduml