The flexibility of the Registration tool allows you to also register people for courses, classes, or workshops you might be offering. You can also have groups of them, each with different times and pricing. Here's a great example of how GlassRoots organized their Glassblowing courses. They offer both one-day workshops as well as multi-day courses during different times of the year. They can continue using this campaign for all their glassblowing courses indefinitely, since as courses become sold out or move into the past, they automatically hide from this view. They can easily add new dates for the same courses just by cloning the course and updating the dates - the promo codes, times, pricing options, and how many spots are available and other settings get carried over to the new instance of that course.
This particular example includes promo codes. Explore going through the checkout for one of the courses and try FORTYOFF or CHIHULIY on the promo code section on the checkout screen to see different custom promo codes in action (feel free to check out with the promo code, too, this campaign is just a template and registrations will not actually go to GlassRoots.)
View Template: Class Registration
Clone it | Make it yourself (coming soon)