Event registrion and Drupal Commerce API

For an upcoming project, we have a client that needs an event registration system set up.

A given event registration has a base registration cost and fees for each workshop, with various discounts applied based on multiple factors.

Is it possible to use the Drupal Commerce API to avoid the 'Cart' portion of the package, and instead programatically generate an invoice with the appropriate line items, and send a user to a payment page?

Also, is there a way to handle refunds if someone changes their signup details (Use case: user decides they don't want to attend a specific workshop, so they deregister from it)?

Once again, the amount of refund would be determined in a custom module, and need to have an invoice created which the client would then use process a refund.

Thanks in advance for any suggestions / answers!

Posted: Feb 22, 2011