git @startuml
'https://plantuml.com/activity-diagram-beta

start
:User marks attendance for specific student;
if () then ([Argument prefixes appear more than once])
    :Error for duplicate prefixes is shown to user;
    end;
else ([Else])
    if () then ([Student index is invalid])
        :Error for invalid index input is shown;
        end;
    else ([Else])
        if () then ([Tutorial field is invalid])
            :Error for invalid tutorial is thrown;
            end;
        else if () then ([Tutorial has been marked for the week])
            :Error indicating attendance for the week has been marked;
            end;
        else ([Tutorial is valid])
            if () then ([Attendance is invalid or not present])
                :Error for invalid attendance status is shown;
                end;
            else ([Status is valid])
                :Student's attendance for the week is marked with the status;
                :Message is returned indicating that the student's attendance has been marked succesfully;
stop

@enduml
