Rather than only supporting recurring weekly shifts, add calendar shifts so that customers can plan holidays, changes in schedule week over week, etc.