Hi,
As you described in function #1 and #2 it is quick task to develop such system. But i see also a dashboard with calendar in attachment, may you describe a little bit more what functionality expected from this dashboard? (i can help with frontend and backend both)