The Free and Open Employee Scheduling Tool.
This app is intended to assist a business with scheduling employees. The back-end houses a database that can store employee data (name, skills, availability, etc). The front-end is divided into two sections. (1) is designed to allow a user to manipulate the backend database, and (2) is an interface that builds a schedule for one week. (2) is also intended to be able to use the back-end database to staff automatically.
Any auto-staffing algorithm must be able to respect employee skills, turn-around times, weekly work-hour constraints, and a fair balancing of hours among employees.