I know a couple of people who work these kinds of shifts, and a major headache is trading shifts so that people can attend life events. If you could program that into this you could have a pretty interesting product.
 replies(3): 
I’ve previously tried starting a scheduling company, and even when one has a product that in testing shows that it would save the potential customers lots of money, it is really hard to gain traction.
There are a ton of players in the market that they cater to specific use case.
The issue is that there are always domain-specific nuances that a generic solver does not capture. Someone needs to encode them.