Appointment Scheduling
We use the signup module for this - we actually used it for tax appointments this year. Yes, it's 7 version is in development but I don't see it being very much different from the 6.x version.

It enables you to attach "slots" to nodes and have people sign up for them. They can be timed or untimed. As the 7.x version is a straight port from the 6.x version, all the tutorials should be the same.