drupal commerce customization I'm trying to build a site for registering educational classes...(sell them)

I want to use Drupal commerce, and add some properties like time,teacher etc. but I want to add some things:

every class has specific capacity. I want users to first, register, then if someone wanted to register, register something like reserved...meanwhile,if sb cancelled order, the reserved people would be registered, after all, we approve the people, no matter registered or reserved, then they can pay....

another thing is that I want that products expire after a while, for example until the tomorrow registration(buying) is allowed.

Is it possible to do these with commerce or Drupal?
I didn't get the first part. About the expiring date you can use Scheduler.

You can decide when you want to unpublish or publish some content (Product display in your case).