Wait List Manager
Copyright © 2001, William Weiland
Overview
Customers can identify products that they would like to purchase but are currently out of stock. Once you place the product in stock, you can run the Send Email routine in admin. Each waiting customer will receive an email telling them that the product is back in stock.
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.

Click the link for Wait List Manager to enter the configuration settings.

The compiled version of this module licensed on or after November 7, 2003 has a new file called cim_new.mvc which you need to install. Install through admin as a store system extension module.


Configuration Settings
Enter data into the applicable input fields.

Prompt
Enter the text or image URL for prompting customers to access the Wait List screen. There are two prompt locations (product and category screens). The category screen prompt is optional.

Screen Title
Enter the Wait List form title.

Screen Body
Enter the text you want to appear in the Wait List form.

Input Form
Define the color, size and font of the Wait List form.

Email Subject and Body
When the item comes in and the email is sent to the waiting customer, these define what will be in the subject and top of the email.

Thankyou Email Body
You can optionally send an email when customers sign up to the Wait List.

Expire
Establish how many days the Wait List will remain before it is cancelled.

Block Automatic Wait List Prompt
Blocking product codes. If you are using Miva's Inventory Management module in conjunction with this module, the link to the Wait List will be automatically inserted when the product quantity drops to zero. However, there may be some products that you don't want Wait Listed. You simply add the product code followed by a | symbol in the admin configuration screen to block the link display.


Editing Requirements (skip to #5 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) Skip this paragraph if using compiled Merchant and you licensed this module after Nov 7, 2003. In the mmui.mv file, function UIModule_Dispatch, include the following code. Put this code in the latter half of the function, not near the beginning of the UIModule_Dispatch function.
<MvIF EXPR = "{ g.Screen EQ 'CTWL' }">
<MvIF EXPR = "{g.Action}">
<MvDO FILE="{g.Module_Root$'modules/util/waitlist.mv'}" NAME="l.ok" VALUE="{WaitListUs()}">
<MvIF EXPR = "{len(Category_Code)}">
<MvASSIGN NAME = "g.Screen" VALUE = "CTGY">
<MvASSIGN NAME = "l.ok" VALUE = "{ MMUI_Category() }">
<MvELSE>
<MvASSIGN NAME = "g.Screen" VALUE = "PROD">
<MvASSIGN NAME = "l.ok" VALUE = "{ MMUI_ProductDisplay() }">
</MvIF>
<MvELSE>
<MvASSIGN NAME="l.ok" VALUE="{MMUI_Begin_Screen(Stores.d.name $ ': Wait List', 0, 0 )}">
<MvDO FILE="{g.Module_Root$'modules/util/waitlist.mv'}" NAME="l.ok" VALUE="{WaitListUs()}">
</TD></TR></TABLE>
<MvFUNCTIONRETURN VALUE = "{ MMUI_Close_Store() }">
</MvIF>
</MvIF>

2) Product Screen Display:
If you are using inventory management from Miva Corp, you can add the following code in the MMUI_ProductDisplay just above the Add to Basket buttons. This will automatically check the quantity on hand and display the link if necessary.
<MvIF EXPR = "{l.stock_level EQ 'out'}">
<MvDO FILE="{g.Module_Root $ 'modules/util/waitlist.mv'}" NAME = "l.show_prompt" VALUE = "{ShowPrompt()}">
</MvIF>

3) Category Screen Display:
The Wait List prompt can also be optionally displayed on the category list screens when the products are displayed as expanded (not line). If you are using inventory management from Miva, you can add the following code in the MMUI_Category just above the Add to Basket button. This will automatically check the quantity on hand and display the link if necessary.
<MvIF EXPR = "{l.stock_level EQ 'out'}">
<MvDO FILE="{g.Module_Root $ 'modules/util/waitlist.mv'}" NAME = "l.show_prompt" VALUE = "{ShowPromptCTGY()}">
</MvIF>

4) You can eliminate the mmui.mv edits in paragraphs 2 and 3 if you edit the inventory message that Merchant displays when a product is out. For example, it is probably something like "sold out". You can add to that, the text that is in paragraph 5 below. This will cause the message to display with a link to the wait list for every sold out product. If you have certain products which you would not want to display a wait list link, you would change their individual sold out message in admin.

5) If you are not using inventory management, you can add the link manually in the product narrative description. If you want to display the Wait List link button manually in the product description, you could include the following link in the product description page. You can vary the text between the link and anchor or even use an image. You'll also change the store code and product code to match your store and product codes.
If using uncompiled Merchant or you licensed this module before Nov 7, 2003. <A HREF="yourfullmerchanturl?Screen=CTWL&Store_Code=yourstorecode&Product_Code=specificproductcode">Wait List</A>

If using compiled Merchant and you licensed this module after Nov 7, 2003. <A HREF="yourfullmerchanturl?Screen=NEW&SubScreen=CTWL&Store_Code=yourstorecode&Product_Code=specificproductcode">Wait List</A>


Usage
Wait list notices can be sent out for all products with a quantity greater than zero (if you are using Miva's Inventory Management module) by clicking the image to the left of the word Utilities in the store admin. Then click on the link for Wait List Manager. Wait list notices can be sent out on an individual product by selecting the individual product editing screen. Then click on the link for Wait List. You can send one or more (including all waiting customers) notices by checking the box(es) and selecting Update. This would be the method for sending notices if you are not using an Inventory Management module or you just want to send notices limited to one product. You can also remove waiting customer records by checking the box in the appropriate column and selecting Update.
Upgrade Note
If you are upgrading from a previous version of this module to the compiled version, this paragraph may apply to you. The compiled version of this module licensed on or after November 7, 2003 has a new link for calling the customer entry screen. So if you have a button or link coded on the product description page to call the customer entry screen, you will need to change the Screen to NEW and include SubScreen=CTWL. You will also be installing a new file called cim_new.mvc.