This week I started building out the punch / timecard module that will let employees and managers track time and attendance in the system. Early on in the project I identified that the punch process should be quick and mobile friendly. Punches should be immediately viewable with hours worked and timeliness data.
The basic punch system is working. Any employee with a role that “canWork” is able to punch in, and record their hours in Decaf. All they need to do is load up the punch page and enter their username and password. It already knows if they are punched in, so it isn’t necessary to specify wether they’re starting or finishing. Employees should punch in and out at the beginning and end of their shift, as well as any unpaid breaks (lunches).
The more challenging part of the module is on the backend. This is the Payroll page, where managers can view, add and edit their employees’ punches. They can also track total time for the week including regular and overtime hours (soon).
My next goal is to build in more logic so that shifts aren’t allowed to extend over days or weeks, and to track when employees don’t show up or arrive late for work. I am also considering giving users a punch pin instead of using the full username and password to save even more time. in a production version–punching would be limited to a certain network (like the business Wi-Fi network) or even a company owned device.
The other piece to the puzzle is the employee facing Timecard page. This provides the punch information to employees so they can easily access when they punched in and out, and how long they worked for in total. This page will also show them when they were late or absent for a shift.