I have a client using appointy (search for appointy in plugins) then Go to http://www.appointy.com. It has a plugin for wordpress, but really its a web service that is embedded in your website. It works pretty well for when you want to directly book open spots. I have it on a driver's training website where trainees can book the actual driving time with an instructor or behind the wheel with a simulator.
Be aware, there's quite a bit to set up for something like this. Plan on spending 1-3 hours setting up everything. You need to set up instructors (or hairdressers, or service people or a conference room or whatever you are booking). You also need to create text for your confirmation messages, and many other parts. Appointy even allows you to SMS text users a couple hours (or whatever interval you want) before the appointment. It has lots of features.
Even with that amount of time, it would take CONSIDERABLY more time if you decided to code something like this.
Okay, now that sounds great, it's also got it's downsides. For one, it can be a challenge to figure out on your own. It can be done, but it takes some dedicated work. Secondly, you may need support which is only an email system. You send the developer an email, they respond within a day or two, sometimes faster. They do provide documentation that covers most things and is continuing to improve.
Once all of it's setup, you go to your dashboard and answer a couple questions and it embeds the whole system into your designated page. You do have -some- css customization possible, but there are limits. Most customization is done at their website.
I would say it's a great system that works quite well, but has a lot of work to set it up. In the end, for my client it was worth it.
Here's the client's page where you can see it working. http://www.drive-driverstraining.com
It looks like they now have the page password protected for Schedule lessons, so I took a screenshot and put it on flickr here: http://www.flickr.com/photos/13023487@N04/6756508733/
I hope that helps. Best of luck, Larry