We need to develop a Web based Work Scheduler for a Customer Support/Call Center.
This Scheduler should allow a Small to Mid sized support center/service center to manage personnel scheduling for their
employees (up to 100 employees).
Employees need to be able to sign up each week or month for the following week/month's work schedule. The employee should be able to fill out his preferred workload of hours and x% of alternative workload. For example, an employee may sign up for a 40 hour work week, but he will also need to specify an additional 20 hours of "second choice" hours.
Each employee will have an account which includes contact information for the employee, username/password for the system, and an employee weight factor, hourly wage rate, and overtime hourly wage rate (set by manager). The weighting factor will affect the priority that a given employee receives when the weekly or monthly scheduling engine runs and creates the master schedule for that week or month. A manager can run the scheduler and try to maximize by employee weight factors, cost to the company, or employee preference (try to make everyone happy).
The coordinator in charge of running the scheduler should be able to override and manually move employees. The coordinator also needs to be able to see some stats on the propsed schedule: 1) cost to company, total hours, total overtime hours, % of first request fulfilled, % of second requests fulfilled.
The company needs to be able to set additional rules such as the maximum amount of overtime allowed per employee per month or per week.
Employees need to be able to propose potential swaps. Employees can only propose swaps with other employees of equal position (a supervisor can only swap with a supervisor, etc.).
Employees should be able to view schedule filtered by employee and by employees existing schedule and alternative available schedule. If i want to change my shift, i should initially see all employees who had my particular hours either as a first or second choice. These will be the employees most likely to want to swap.
The application should use Ajax or flash to make the schedule attractive and easy to use. The scheduler should be easy to rebrand with a company's logo (skinnable). The scheduler should be moduler so that we can include it in a larger business software at a later date.
Attached is a file which shows how our client currently manages work scheduling. This file is an email which is sent out weekly to all employees so that they can see their shifts. This email is based on a master Excel spreadsheet which is maintained by the scheduling coordinator. Currently, all proposed scheduling swaps need to be approved by the scheduling cordinator making the process very slow.
The business rules at the bottom of the attached sheet also need to be considered.
We prefere Linux/PHP but are open to suggesions.