1. Use Cases - ranuga/TimeSheetManagement GitHub Wiki

Actors Description
Manager Manager is who the employee report to or the whole team reports to
Program Manager Each project has a project/program manager, who may be responsible of approving the timesheet recorded against the project or acknowledging employees time off request
HR Human resource department is responsible of acknowledging the time off requests.
Employee Employee includes Managers, program manager, HR's etc. Employee's enter timesheet and time off requests

Employee creates a Timesheet or Time off requests which would be approved by the Managers and Program managers before sending the hours to Payroll system. Approver can reject the timesheet for any rework. The system would include business rules to validate the request and make any routing decisions.

System also includes a notification feature to remind users about goal time and dead lines of their tasks.

Time off requests and Timesheets are integrated to reduce any duplicate efforts from the users.

Timesheet (State Diagram)

Time Off Request (State Diagram)