Work Scheduler

Description
Work Scheduler was designed to help bosses easily create effective work schedules for their employees. The version pictured above has been customized for the BYU computer labs located in the JSFB.
First, a boss defines work areas for the employees and then adds schedules to those different areas specifying dates and times for which that schedules is valid. Next, employees are added to the system with each employee being assigned a color. Finally, workers are assigned to specific time slots in the schedules.
Assigning employees to schedules is done simply by selecting a worker and clicking on a table displaying the available times in the schedule. Once a time slot is clicked on, an AJAX call runs in the background to check if there are any work or busy time conflicts for the employees. If there is, an error message is returned to the user. If not, the information is saved in the database. Creating a schedule is done simply by painting a table with mouse clicks. AJAX avoids all required page refreshes and makes the process extremely quick and fluid.
Employees use a similar interface to mark what times they are unable to work. If their boss attempts to schedule them during that time, the assignment will be rejected and the boss informed that the employee is busy during that time.