A calendar based on timeslots which can be set as available, occupied and so on.
Javascript component to creating calendars.