How can I handle restricted items on a Drupal Commerce site with special display and checkout rules? I'm about to undertake the building of a Drupal Commerce site that has special restrictions around purchasing some of it's items.  Specifically these items will not have displayed prices and a sales rep must approve their purchase. I'm new to Commerce but not Drupal I'm basically looking for advice here...

The use case is not set in stone but the case that I would like to achieve is basically this:

user can see restricted item and can add it to their cart but the price displays as 'request a quote' (I thought maybe views could do this with rewrites but I need logic it doesn't offer) I need to add other actions regarding line items as well ('request a sample' in particular).

when request a quote item is added to the cart trigger modal legal mumbo jumbo

once in the cart view the order is categorized into 'purchasable items' and 'request a quote items' 

When the cart is submitted only purchasable items will be actually purchased, request a quote items will sent via email to reps/automated in some way/saved in the cart for later.

Maybe a rep can trigger user status change and prices become reveled/items are moved to purchasable, perhaps not?

I'm guessing I'm going to need a custom module?  Is this even possible, processing part of a cart like this?  Any of you E-comm pros build something similar, how did you do it?
So found that I was mostly in uncharted water on this but I waded through and I am mostly done building, so I will explain how I did it for the next guy.

I used quite a few modules, including a few custom modules...

Commerce wishlist was used as a template to create two custom modules 'request a quote' and 'request a sample'.` They are essentially extra carts with custom actions.

Another custom modules was used to alter/disable parts of the commerce line item based on CCK field values. It will also be responsible for altering the checkout process/adding safety coniditions when I get around to that.

Taxonomy maintains a multi-dimensional product hierarchy. Tokens, Url Aliases and Views with 'global exposed filter' + views_php create the catalog. Views are embedded into tpl files and passed arguments programmatically from node properties in lue of using product references (I needed more customization/arguments) than they offered.

The answer in short to building most of my problems was to be very Drupal-y about it and ignore a lot of the out of the box functionality of commerce...Aka: Take the views hammer to it!

That's about it. Good luck future Drupal Commerce dev!