Kit Maker
Copyright © 2001, William Weiland
Overview
Combine several related products into a kit and offer them as a group price. You can also combine unrelated products to establish a bundle offering.
Initial Setup
Use the Merchant admin upload feature to upload the module. Once uploaded, click the Add button to add it to the mall/domain.

In admin, under your store, click on the link for Utilities Configuration Screen. Assign the module and Update it to install it in your store.

Configuration settings are accessed through the individual product editing screen of the products you want to make into kits. Click on the tab link called Assemble Kit.

If you want to show a strike thru price when cost is greater than price, install the striker.mv module (included with kitmaker.mv) or one of the other strike thru modules available. The install notes for striker are in the comments section of striker.mv.


Configuration Settings
Enter data into the applicable input fields.

Discount Rate
Enter numbers only for the percentage of the aggregate total that you want discounted. If you enter 0.00 (zero), the kit price will equal the aggregate total of the component prices. If you enter 10.00, the kit price will be 10% less than the aggregate total.

Product Codes in Kit
Enter one product code per line. Each line must be terminated with a ^ character.

Display Component List (OpenUI)
If you are using the OpenUI, the component list will appear at the location that you select. If using the MMUI, you will edit the mmui.mv for where you want the component list to display.

Cost Field Calculation
In most stores the amount that is charged customers is based on the price field. Hence the cost field is available for other uses. This option determines what will go in the cost field for kits. It can sum the cost field of each of the components and apply or not apply the discount rate for the kit. Or it can sum the price field of each of the components and not apply the discount. These calculations are useful if you have a module for Strike Thru price which looks at the cost field as analagous to the MSRP (retail) and the price field as the selling price. The Strike Thru module can then display both prices with the MSRP struck through. Included with the Kit Maker is a basic Strike Through module which does this.

Display Savings Percentage
If you check the box, the amount of discount rate will be displayed right after the word Components (if you selected above to display the component list).


Editing Requirements (skip if using the OpenUI)
If you are using the Miva Merchant User Interface (mmui) you will need to make some very simple edits to the core files. Be sure to do that with a text editor (NO WYSIWYG editors) such as Programmer's File Editor (PFE) so as not to damage the mv files. ALWAYS BACKUP your unmodified mv files in case you make a mistake.

1) In the mmui.mv file, locate the MMUI_ProductDisplay function which begins with
<MvFUNCTION NAME = "MMUI_ProductDisplay" Then locate the two lines:
<BR>
<BLOCKQUOTE>
On the line before the <BR> insert the following line of code:
<MvDO FILE="{g.Module_Root $ 'modules/util/kitmaker.mv'}" NAME = "g.calculatekitprice" VALUE = "{KitMaker_Product_Price(Products.d.id)}">

2) Further down in the same MMUI_ProductDisplay function locate the line which displays the narrative description, <MvEVAL EXPR = "{Products.d.desc}">. Inside that same table cell and also beteen the font tags, include the following two lines:
<MvDO FILE="{g.Module_Root $ 'modules/util/kitmaker.mv'}" NAME = "l.components" VALUE = "{KitMaker_Display_Components(Products.d.id)}">
<BR> <MvEVAL EXPR = "{l.components}">


Limitations

The kit price is calculated by identifying each component in the list, looking up it's price and cost, summing the totals, then applying the discount rate to arrive at a new price for the kit. This multi-step process will occur at two different times. I considered other trigger points but it would have significantly effected performance when importing products from a flat file.

  • Assemble Kit in Product Editing - when you click the Update button
  • Product Screen displayed - when a customer views the individual product screen for the kit
As you can see, it is possible that you could update the price of one of the components and if you did not edit the kit assembly, the kit price would not update until a customer selected the individual product screen (Screen=PROD). Therefore it would be possible for them to purchase a kit from the category or search screen and not have the latest calculated kit price. The chance that they would purchase a kit without viewing the components would be very slim. The chance that they would do that between when you updated a single component price and "anybody" viewed the kit product screen would be even slimmer. If this is a concern that a customer might not get a discount because they didn't view the individual product screen during this unlikely time period, then you will probably want to view the kit's product screen in your store to force a recalculation if you have changed component prices.

The kit does not have inventory management oversight of the individual components. If you are using any of the various inventory management systems, your inventory count is the quantity equal to the lowest quantity among the individual components.