Rooster is a resource scheduling framework for Human and Non-Human resource scheduling considering various attributes & rules like number of hours , over time , skills , capabilities etc to suggest optimal resource allocation to minimize the gaps and resource idle time.