Instruction Sheet for Product Based Price or Availability Group Membership with Term Limits Do you sell subscription or membership products? Here's the "how to" sheet for doing that. You can use the Emporium Plus Tool Kit functions to automatically assign customers to price or availability groups based on specific products purchased. You can further designate a term limit before the membership expires. If the customer logs in after the expiration date/time they will automatically be removed from the group. The Tool Kit can also send an email at the time they are enrolled and the time they are removed. If you also have the Emporium Plus Follow On Contact module (which many already do), you can even send the customer a reminder that their membership is about to expire. You can include a link in that email so that they can re-order and extend their membership. For the purpose of this tutorial, I have set certain parameters. You may want to run these exact steps just to see how it works. Then you can change these to meet your specific store's needs. 1) This will be an assignment to a price group. 2) The price group is named VP. 3) The term of membership is 30 days before it expires. 4) The membership product code will be PGVP. 5) The custom customer field code is vp_expires. 6) The enrollment email template page code is PGVP_IN. 7) The expiration email template page code is PGVP_OUT. Steps: 1) Create a price group called VP. Set the discount to whatever you want. 2) Go to the admin > utilities screen. Click custom customer fields. Create one called vp_expires for this example. Each group will have a different expires value as a customer could be in several groups. So you might end up with a vp_expires, abc_expires, xyz_expires. 3) Create a standard product with code PGVP. Set the price to whatever you are going to charge for the membership. The number of days is set in the code below to be 30. 4) Go to admin > pages > INVC. Click the link at the top called Order Contents. Locate this line: Right after that line insert the following 20 lines.
You've been inserted into the &mvte:global:maxgrp; price group.
Note that this code checks to make sure AUTH is in the Action variable from the previous page's form. Normally you cannot display the invoice screen without that value in the action. If you try to display it without AUTH, you get an error message. If you try to display it a second time with it, you also get an error message. So an invoice page should only be displayed immediately following the authorization of payment. That said, there are many modules (e.g. order history or print invoice screen) which can redisplay the invoice screen. They have code that bypasses the check for Action. It is important that for any redisplay of the invoice screen that they remove AUTH from the Action variable. You can test this by putting TEST: &mvte:global:action; in the global header and running those module's invoice redisplay. If you see AUTH in that test, you need to get an update of that module or not use this system for memberships. If the 3rd party module redisplays the invoice with a url instead of a form, make sure you cannot put &Action=AUTH or &Action=NEW,AUTH in the url to stuff the AUTH value into the page. 5) Go to admin > pages > ACED. Insert the following 10 lines anywhere on the page. You'll probably put it near the top so the message will be seen.
Your membership in the &mvte:global:term; price group has been terminated.
6) Now go to admin > pages > OCST and put the same code you put on the ACED page. That way if they wait to login when checking out, they will still be removed from the group. 7) Add a new page with code PGVP_IN. Name it whatever you want. Insert the code below into the template. Edit the lines accordingly. %subject|Welcome to the VP Price Group% %from|g.store:email% %to|g.customer:bill_email% %cc|g.mycc%
&mvte:global:customer:bill_fname; &mvte:global:customer:bill_lname;,%lf%

Congratulations! You have been added to our special VP price group. When you visit our store in the future, simply log in before shopping. This will alert the store pricing system that you are a member of the VP price group and are eligible for 10% off most products in the store. You will see the prices are lower than if you had not logged in as you browse the store. %lf%
%lf%
YOUR_NAME
Store Owner
&mvt:global:store:name;
%lf% 8) Add a new page with code PGVP_OUT. Name it whatever you want. Insert the code below into the template. Edit the lines accordingly. %subject|Your VP Price Group Has Expired% %from|g.store:email% %to|g.customer:bill_email% %cc|g.mycc%
&mvte:global:customer:bill_fname; &mvte:global:customer:bill_lname;,%lf%

Your membership in the VP price group has expired. Don't lose out on the benefits which go with this membership. Renew now. %lf%
%lf%
YOUR_NAME
Store Owner
&mvt:global:store:name;
%lf%