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): 
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.