This table contains data for implementing simple, matrix and modular options.
Simple options are options that a customer can combine arbitrarily, such as size and color. The selected options might affect price. See the accessories tag for more detail on option values for simple options.
Matrix options are preconfigured combinations of options. For example, if you sell titanium and carbon-fiber bike frames, but offer only certain combinations of frame material and color, your checkout page might include a select box with only the following entries:
- Silver Titanium: $1672
- Black Titanium: $1672
- Red Titanium: $1674
- Black Carbon Fiber: $1290
- Yellow Flame Carbon Fiber: $1300
Note that there is no Yellow Flame Titanium offering, for example.
Modular options are like a structured bill of materials, where one product is a master item and other products are subitems for that master item. The subitems can also be master items to subitems at a lower level. In addition, subitems may be designated as 'phantom', which means that they are placeholders in the hierarchy of the structured bill of materials with their own subitems, but are not actual items themselves.
The foundation catalog with the computer data set uses modular options.
For more information, see the following pages and components in the foundation catalog:
Note: Subsequent foundation catalog releases may place simple, matrix, and modular option types in separate tables.
|code||Unique ID for the product option|
|o_master||SKU of the master item for the option|
|sku||SKU for the option (foreign key into products table)|
|o_group||Product grouping code|
|o_sort||Sorting prefix for list display|
|phantom||Boolean -- Item is a phantom placeholder (as in structured bill of materials) with suboptions.|
|o_enable||Boolean -- enables suboptions for the option|
|o_matrix||Matrix-type option (preconfigured combinations of attributes)|
|o_modular||Modular-type option (master/subitem relationship like modular bill of materials)|
|o_default||Default selection for the option group or suboption for a phantom option|
|o_label||Short name for option display|
|o_value||Simple option values (in Interchange option format)|
|o_widget||The HTML widget to use for displaying the option group|
|o_footer||Not used in foundation catalog|
|o_header||Not used in foundation catalog|
|o_height||Height of widget (if applicable)|
|o_width||Width of widget|
|description||Option/Variant description (for description in display)|
|price||Price of this option/variant|
|wholesale||Dealer price of this option/variant|
|differential||Differential to add to the base item price when using a phantom bill of materials|
|weight||Weight difference with this option/variant (for shipping)|
|volume||Volume difference with this option/variant|
|o_exclude||Option groups to exclude (trumped by o_include). Modular only.|
|o_include||Option groups to include (trumps o_exclude). Modular only.|
1002 1003 1004 1005
Unique ID for the option.
00010 999000 999001 999002
SKU of the master item for the option. The master item is one level up in the modular hierarchy, and must be one of the following:
- An item in the products table (matching products.sku)
- Another option in the options table (matching options.sku)
- A phantom item in the options table.
If an option has a master item, then a customer can not choose that option without having previously selected the master item.
The price for a master item is the sum of the master item's price and the price for each of the subitems. Because the subitems are recursively defined, the top-level item reflects the top level price plus the price of all selected options.
00010 999000 7000015 7000030
The sku for the item or option. This may not be unique for matrix options or if an option that belongs to multiple o_masters is listed for each master.
A B C I
Product group (scanned to see whether it applies to this product or not)
01 02 03 04 47 48 49 50
Sorting prefix for listing order of options.
Modular options only.
Boolean -- if true (1), then this is a phantom item acting as a placeholder for other items rather than an actual product. The item's sku will not match an entry in the products table, though the o_master will match either the sku of another phantom item in the options table or the sku of an item in the products table.
Boolean -- Enables subitems for this item or option. Note that an option with o_enable false may itself still be a subitem for an option or item above it.
Boolean. Set true (1) for matrix-type options. See the options table in the tools data set for examples of matrix options. Matrix options that are part of a set have the same value for options.sku.
Specifies a modular option. See main heading for description of modular options.
1 11002 7000062 7000087
Selects the default option for a group.
Add a second hard drive Case Color Case color Case style Include tapes Red
This is the short name for option display.
1=One 8GB tape,\r2=Two 8GB tapes,\r=None* a=One 8GB tape,\rb=Two 8GB tapes,\r=None* baby=Baby Tower,\rmid=Mid-tower,\rfull=Full Tower baby=Baby tower,\rmid=Mid-tower,\rfull=Full tower red=Passion Red,\rblue=Electric Blue,\rgreen=Sea Green,\rgrey=S... red=Passion Red,\ryellow=Lemon Yellow,\rblue=Electric Blue,\rgr... red=Rage Red,\ryellow=Honey Yellow
This is an Interchange value set for a simple option. It is typically a comma-delimited list of labels and values with '*' indicating the default value. See the accessories tag for more detail.
Note that the "\r" characters in the above example represent carriage returns in the actual data ("\r" in perl, or Ctrl-M, or hexadecimal 0D), and the ... indicates a line too long to show.
This allows you to set the height of the HTML widget, if appropriate.
This allows you to set the width of the HTML widget, if appropriate.
ATX Mid Tower-Grey (3)5.25 (2)3.5 & (1)3.5 Hidden Enlight ATX Desktop Case (2)5.25 & (2)3.5 Enlight ATX Tower Case (4) 5.25 & (2)3.5 Micro ATX Tower - Honey Yellow Micro ATX Tower - Moody Blue Micro ATX Tower - Rage Red Micro ATX Tower - Smoky Grey Super Tower Case (6)5.25 & (3)3.5
Longer description to show when displaying the options.
0.00 10 20 29 75
This sets the retail price of the option.
This sets the dealer price of the option.
-209 -40 -79
The phantom bill of materials for an option group can have a differential, which is an amount to add to the base price of the master product to get to a new base price that accommodates the phantom bill of materials. Note that the differential can be negative.
For example, in the computer data set of the foundation catalog, SKU 00011 in the products table is an $849.95 pre-configured Athlon 800MHz computer that includes a 17" monitor (in this case, SKU 7000087 in the products table).
The monitor by itself would otherwise have cost $209. It is much more convenient if you can use the same option part number and price for each item. To do this, you need a phantom option (in this case, SKU 999105 in the options table only) with a differential of -209 and the available monitors as suboptions. When you include the phantom option in the bill of materials for the computer (SKU 00011), the $-209 differential adjustment makes the price work out properly.
For instance, suppose that a $499 computer is configured as follows:
500 MHz Athlon -- $499 32 MB SDRAM -- ZERO 10 GB disk -- ZERO TOTAL -- $499
Suppose it costs $90 to upgrade the base computer to 128M of RAM and $150 for a 30 GB hard disk.
If you also sell an 128MB 800 MHz $899 computer, and the customer upgrades to the 30 GB hard disk,
800 MHz Athlon -- $899 (memory differential) -- $-90 128 MB RAM -- $90 30 GB disk -- $150 TOTAL -- $1039
If you did not have the differential, you would need a different option part number for each item make the number come out right.
With the differential, you can use the same part number for 128MB RAM no matter what the base part is. The price is always $90 -- there is just a -90 differential when ordered with the 800MHz Athlon, making the effective price zero.
Shipping weight of the option. Interchange uses this to calculate shipping cost.
Volume added by the option.
Modular options only.
Lists the option groups to exclude once the include has been done. Takes the form of a number of wildcard atoms.
Modular options only.
Lists the option groups to include with your item. Takes the form of a number of wildcard atoms.