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 coupon 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 coupon codes. Explore going through the checkout for one of the courses and try FORTYOFF or CHIHULIY on the coupon code section on the checkout screen to see different custom coupon codes in action (feel free to check out with the coupon 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)