Looking for a plugin

So I am just browsing around looking for the best plugin or series of that would help me on my new project. I can build a stand alone but for time and ease was just looking around. If anyone has ideas and/or plugin recommendations, that would be awesome!!!

Functionality needs

I have Vendors that provide classes, sort of training, on-going support. I need for them to be able to login, setup a class, and give the viewer the opportunity to sign up for the class/classes. Also pay for the classes. Then I need the vendors to have the capability to print class rosters.

Any ideas?

Thanks in advance!!!