6.4. But what do these options do? Where do they live?

If you know Perl, you know what a hash reference is. An Interchange shopping cart consists of an array of hash references. If you dump the structure of the main shopping cart you would see something like:

        [
        {
            mv_ip       => '0',
            price_group => 'general',
            mv_ib       => 'products',
            code        => 'os28080',
            quantity    => '1',
        },
        {
            mv_ip       => '1',
            price_group => 'general',
            mv_ib       => 'products',
            code        => 'os28080',
            size        => 'L',
            color       => 'black',
            quantity    => '1',
        },
     ]

Each key of the hash is an attribute. There are a number of special attributes:

Attribute Description
code The item SKU
sku The SKU of the base item (in the case of matrix options)
mv_ip The line number of the shopping cart (minus 1)
mv_ib The database table the product was ordered from
quantity The number on order
group The order group for a master item or subitem
mv_si Subitem indicator
mv_mi Master item code
mv_mp Modular item
mv_price Price of the item (to directly set pricing)
mv_order_route Special order route for this item

Any attribute besides the above is a product option or modifier, and can be displayed with [item-modifier attribute_name].