I am looking to add a component to our system (and build out the database tables) that will allow a user to set their availability with the following characteristics:
- Hours of the day (and day of the week) generally available
- Days during the month generally available
- Days specifically not available - could be a day of the week, recurring, 2 weeks for a vacation, a month for illness.
This type of thing must already have been solved, but searches here come up with other kinds of availability.
Is there a best practices?