I know a company that build billing for medical and they tried to build out a product like this but the people running it just hated it. They either get people all booked in horrible times or for a non-busy place people see that and associate it with being bad. One solution they never tried is trying to make it like the Apple store booking engine.