The Google Calendar can be added to your own and we use invites to manage registration.

Any empty (white space) on the calendar is available for signing up. Any one-hour time slot that does not have two in it has the potential to also be available. In this case, "busy" means someone is already signed up at that time.