@startuml
skinparam monochrome true
skinparam packageStyle rectangle
skinparam shadowing false

autonumber

'hide footbox
actor "Vehicle and Equipment Fleet Manager" as ADM
participant ":VehicleCheckupUI" as UI
participant ":VechicleMaintenanceController" as CTRL
participant ":Repositories" as RepositorySingleton
participant ":repositories\n:VehicleMaintenanceRepository" as PLAT
participant ":Vehicle" as _APP
participant "appSession\n:ApplicationSession" as APP
participant "currentSession\n:UserSession" as SESSAO
participant "organizationRepository:\nOrganizationRepository" as OrganizationRepository
participant "nameCheckupRepository: \nnameCheckupRepository" as CUR
participant "organization\n:Organization" as ORG
participant "task\n:Task" as TAREFA

activate ADM

        ADM -> UI : asks to register a vehicle maintenance
        activate UI
        UI -> ADM : requests data
        deactivate UI
        ADM -> UI : types the requested data(vehicle id, date, currentKm)
activate UI

'            UI --> ADM : requests data (reference, description,  informal \n description, technical description, duration, cost)
            'create CTRL
            UI -> CTRL** : create





            UI -> CTRL : registerCheckupData(vehicle id, date, currentKm)
            deactivate UI
            activate CTRL

            ref over CTRL
             GetRepository
             end ref
             deactivate PLAT


                CTRL -> PLAT : CheckupDataByID()
                      activate PLAT


ref over PLAT
Compare Data Vehicle by ID
end ref


                PLAT -> CTRL : vehicle maintenance registered
                  deactivate PLAT


                   CTRL --> UI: shows vehicle maintenance
                     deactivate CTRL
                   activate UI
                deactivate CTRL

               UI -> ADM : requests confirmation


                    ADM --> UI : confirms


                UI --> ADM : displays operation sucess
            deactivate CTRL
            deactivate CTRL
@enduml