Page 1 of 2 12 LastLast
Results 1 to 10 of 12
  1. #1
    Join Date
    Sep 2005
    Location
    Austria
    Posts
    104
    Plugin Contributions
    6

    Default Customer Loyalty Discount

    Plugin:
    https://www.zen-cart.com/downloads.php?do=file&id=1917

    Got this question via PM (please do not PM me for support)
    I have installed this but before enabling want to know if it is a Global program for every customer (I have over 3,800 website accounts) or if I can exclude some who may already have a preferred pricing structure?
    The read me is pretty basic and admin only allows me to set up calendar segments, taxes, shipping and discount amounts.
    Also, is there a way to let customers know a program is in place other than emailing them individually to announce (other than social media of course)
    Thank you for your answers and recent update to the plug in.
    This is a basic plugin, the discounts apply to every customer.
    If you want to restrict it to certain customers only you would have to write the desired logic yourself.
    To let ciustomers know about the program you could simply create a define page or EZ page to promote the loyalty program.

  2. #2
    Join Date
    Feb 2019
    Location
    Kamloops, BC
    Posts
    9
    Plugin Contributions
    0

    Default Re: Customer Loyalty Discount

    Thank you for your reply. Sorry to have PM'd inappropriately.

  3. #3
    Join Date
    Sep 2009
    Location
    Stuart, FL
    Posts
    12,366
    Plugin Contributions
    87

    Default Re: Customer Loyalty Discount

    Noting that this discount is not compatible with One-Page Checkout, since it looks at the total-orders' history based on the current customer's id ... and OPC re-uses the same customer-id for all guests' checkouts!

    I'll suggest the following insertion to the order-total's constructor:
    Code:
        public function __construct() {
            $this->code = 'ot_loyalty_discount';
            $this->title = MODULE_LOYALTY_DISCOUNT_TITLE;
            $this->description = MODULE_LOYALTY_DISCOUNT_DESCRIPTION;
            $this->enabled = (defined('MODULE_LOYALTY_DISCOUNT_STATUS') && MODULE_LOYALTY_DISCOUNT_STATUS == 'true'); 
            $this->sort_order = defined('MODULE_LOYALTY_DISCOUNT_SORT_ORDER') ? MODULE_LOYALTY_DISCOUNT_SORT_ORDER : null;
            if (null === $this->sort_order) return false;
            if (function_exists('zen_in_guest_checkout') && zen_in_guest_checkout()) return false;
            $this->include_shipping = MODULE_LOYALTY_DISCOUNT_INC_SHIPPING;
            $this->include_tax = MODULE_LOYALTY_DISCOUNT_INC_TAX;
            $this->calculate_tax = MODULE_LOYALTY_DISCOUNT_CALC_TAX;
    ...
    I didn't include the entire constructor, since one of the variable names was getting ###'d. That will correct the issue on the storefront, but not if the order-total is used in conjunction with Edit Orders.

  4. #4
    Join Date
    Jul 2011
    Posts
    47
    Plugin Contributions
    0

    Default Re: Customer Loyalty Discount

    Can anyone tell me which number relates to which order status, please? I want mine to be on 'shipped', which is 4th down my list of order statuses, should I set the order status to '4'? Hard to check as an admin if the mod is working on checkout...couldn't find a list anywhere that gave numbers to given order statuses. Any info appreciated!

  5. #5
    Join Date
    Sep 2005
    Location
    Austria
    Posts
    104
    Plugin Contributions
    6

    Default Re: Customer Loyalty Discount

    Quote Originally Posted by Heresy Miniatures View Post
    Can anyone tell me which number relates to which order status, please? I want mine to be on 'shipped', which is 4th down my list of order statuses, should I set the order status to '4'? Hard to check as an admin if the mod is working on checkout...couldn't find a list anywhere that gave numbers to given order statuses. Any info appreciated!
    The number (id) of an order status is individual for every store. It depends on which order stati you have defined in Localization > Orders Status
    Click on an order status in the list in Localization > Orders Status and look at the URL in the browser address bar.
    You will see something like orders_status.php?page=1&oID=2
    oID is the id of the selected status

  6. #6
    Join Date
    Jul 2011
    Posts
    47
    Plugin Contributions
    0

    Default Re: Customer Loyalty Discount

    Thanks!

  7. #7
    Join Date
    Sep 2009
    Location
    Stuart, FL
    Posts
    12,366
    Plugin Contributions
    87

    Default Re: Customer Loyalty Discount

    v2.0.0 is now available for use on zc157 and zc158: https://www.zen-cart.com/downloads.php?do=file&id=1917


    • CHANGE: Refactoring for now-current styling; pre-define all class variables (PHP 7.4+ support).
    • BUGFIX: Correcting PHP notices due to undefined variables.
    • BUGFIX: Use the order's products, not the shopping-cart version, since this is an order-total!
    • CHANGE: Validate the configuration settings and auto-disable if an issue is found.
    • CHANGE: Disallow the discount for guest-purchases.
    • CHANGE: Disallow the discount if a coupon has been used for the order.
    • CHANGE: Update the customer 'messaging' on the order to indicate what elements of the order are discounted.

  8. #8
    Join Date
    Sep 2009
    Location
    Stuart, FL
    Posts
    12,366
    Plugin Contributions
    87

    Default Re: Customer Loyalty Discount

    v2.0.1 of the Loyalty Discount order-total is now available for download. This version corrects a MySQL Fatal error when an order is placed via the PayPal Express Payment's shortcut button.

  9. #9
    Join Date
    Jun 2016
    Location
    Suffolk VA
    Posts
    590
    Plugin Contributions
    0

    Default Re: Customer Loyalty Discount

    Do I understand correctly that there is no way to reset an order total after a customer has been given a discount? In other words, if the customer's all-time order amount added up to enough to get the discount, then their next order would also generate that discount? I have a very high percentage of repeat customers, but I don't want them getting the discount over and over. The way around that, obviously, is to set the time interval to a shorter period. But that would shut out the people who are repeat customers but might order only once a year or less.

  10. #10
    Join Date
    Sep 2009
    Location
    Stuart, FL
    Posts
    12,366
    Plugin Contributions
    87

    Default Re: Customer Loyalty Discount

    Quote Originally Posted by HeleneWallis View Post
    Do I understand correctly that there is no way to reset an order total after a customer has been given a discount? In other words, if the customer's all-time order amount added up to enough to get the discount, then their next order would also generate that discount? I have a very high percentage of repeat customers, but I don't want them getting the discount over and over. The way around that, obviously, is to set the time interval to a shorter period. But that would shut out the people who are repeat customers but might order only once a year or less.
    You understand correctly. The discount applies to the a customer's purchase history over the past month, quarter, year or all-time.

 

 
Page 1 of 2 12 LastLast

Similar Threads

  1. I want to make a Loyalty Discount module
    By CaDyMaN in forum General Questions
    Replies: 3
    Last Post: 23 Feb 2011, 11:57 AM
  2. Customer Loyalty Program
    By Adds in forum General Questions
    Replies: 0
    Last Post: 3 Nov 2007, 02:13 PM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
disjunctive-egg
Zen-Cart, Internet Selling Services, Klamath Falls, OR