I am looking for a mechanism to maintain history of working hours of an user changed over time and run the report on them. Initially we give the AVAILABLE HOURS of an user. After working on some tickets, the total TIME SPENT on the tickets may exceed/fall behind the available hours. The availability of the user have to be updated based on the time spent on tickets. The availability can be calculated on daily/weekly/monthly basis.