session[:cart] << inventory_item << inventory_item << inventory_item

customer adds inventory to cart. Calculate total price taking into account volume discounts on the fly. When they checkout, formalize this on the order and line item tables:

line_items table:
order_id,inventory_id,qty,price_plan_id,customer_price,ready_to_ship_at,shipped_at,package_id

one line item per unique inventory item. package_id if you're going to part-ship orders... then you could have order has_many :packages but that's getting a bit complex.

orders table:
created_at,updated_at,user_id,payment_status,fulfillment_status,fulfilled_at


line_items_orders table:
line_item_id,order_id

Order
has_and_belongs_to_many :line_items
belongs_to :user

LineItem
has_and_belongs_to_many :orders
belongs_to :inventory