I setup a custom Multi-Select field for days of the week along with a checkbox noting an employee as having scheduled access. You can then have a workflow that runs once a day with 2 actions per day, each one running a saved search if the employees is scheduled to work that day. If they do not, the action marks them inactive, if they are inactive and they do work that day, the other action makes them active. It works pretty well for the most part until people change schedules/swap days and you have to just go manually activate them. Only happened a handful of times over the last year or so of using this.