Announcement

Collapse
No announcement yet.

Points & Loyalty Module is now Live!

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Brennan
    replied
    We may add a single function in the future, but for now, you have to loop though each product and add the point totals to be the total for the basket.

    Leave a comment:


  • Bruce - PhosphorMedia
    replied
    If you not doing exclusions or changes by product, then you could just use l.setting:global_minibasket:total to calculate the points acquired. If there are any product level settings then you'll have to run through the basket items individually.

    Leave a comment:


  • Beefy Nugget
    replied
    Is there a better way to get the points that a basket should give than doing a loop over each product individually and getting a total? I feel like there should be a function to get basket point total.
    Code:
    <mvt:foreach iterator="item" array="basket:items">
    <mvt:item name="points" param="Product_Points( l.settings:basket, l.settings:item, 0, 0, l.settings:item:quantity, l.settings:product:points_information )" />
    <mvt:assign name="l.settings:point_total" value="l.settings:point_total + l.settings:product:points_information:points_total" />

    Leave a comment:


  • Brennan
    replied
    delcorsets I'm not sure there is an easy solution to that when using the per point method of redemption without changing your point accrual amount. Miva itself only supports 2 decimal places currently.

    However, you could use the Fixed Point redemption method. Then you can define tiers where 500 = $1.00. Keep in mind with fixed redemption, customers can only redeem those specific tiers so you'll need setup a bunch of different tiers otherwise customers will only be able to redeem $1.00 at a time. For example you could so:

    2500 = $5.00
    5000 = $10.00
    10,000 = $20.00

    etc.

    Leave a comment:


  • Viscott
    replied
    Originally posted by Brennan View Post
    Viscott Another option after talking to our dev team would be to just always hide the points payment method for your wholesale customers. So they could still technically accrue points, but would never be able to use them as that payment method would always be excluded.
    Thanks Brennan!

    Leave a comment:


  • delcorsets
    replied
    Another issue that I've encountered while trying to migrate from Sebenza Points to Miva Points is that Miva does not allow for a redemption rate that has more than 2 places to the right of the zero.

    Somewhere along the line when researching reward points best practices I read that it was more favorable to have a larger number of points earned per transaction (like airline miles) so my existing point structure in the Sebenza module rewards 20 points per dollar spent. For redemption the Sebenza module is set to reward $1. for 500 points (so, .002 cents per point) that will calculate fractionally and round to the nearest cent.

    At the moment it appears that it won't be possible for this same point structure to carry over to Miva's new module.

    Brennan any suggestions on a workaround, or might this be addressed in v.2?

    Leave a comment:


  • K Series Parts
    replied
    don't really want to spend the time to write that code so I will just wait until it is an option.

    Leave a comment:


  • Brennan
    replied
    Got it. That is not something the module currently supports, but we can add it as a phase 2. A potential work around would be to via template code and JavaScript to only let the customer redeem x% of their points on the OPAY page. This already has the ability to do a partial payment using points so it would not be too difficult to limit how much they can use and hide the option to pay the total via points.

    pay-by-pts2.jpg

    Leave a comment:


  • delcorsets
    replied
    Brennan , I think K Series Parts (and me too) is looking for a way to cap the discount as a percent of the order sub-total. This is a feature I'm currently using in the E.O.L. Sebenza Points Redemption module. I can't allow a shopper to redeem points for a value more than 50% of their order sub-total.

    I've attached a screenshot of the Sebenza admin screen as it shows a pretty simple setup of the various settings that the module offers.

    Leave a comment:


  • Beefy Nugget
    replied
    I think there is also a slight bug or rounding error with the points. Our current settings are to offer 3points per dollar on an item. When a customer adds two quantity of an item wih a value of $1.50, it should award them 9 points but it currently only offers 8. My guess is that its doing the rounding prior to multiplying the quantity. So 1.5 x3 -> 4.50 then it rounds down to 4, then runs the same item again for another 4 and adds them. Instead of just doing 1.5x3 -> 4.5x2 -> Round

    Leave a comment:


  • K Series Parts
    replied
    Brennan percents would be nice, can't just afford to give it all way on an order, that happened to us in the past and it wasn't sustainable. Point cap for ranges are also very hard to explain and customers to understand, we found that saying a 5% max discount was the easiest.

    Leave a comment:


  • Brennan
    replied
    Viscott Another option after talking to our dev team would be to just always hide the points payment method for your wholesale customers. So they could still technically accrue points, but would never be able to use them as that payment method would always be excluded.

    Leave a comment:


  • Brennan
    replied
    Viscott We're looking at adding availability group restrictions in a future update. Currently points will apply to all customers. However, you can work around this today by using the template level functions to remove the points from customers you don't want to receive them

    Example:

    Code:
    <mvt:comment>Load the current ponit balance of the customer</mvt:comment>
    <mvt:item name="points" param="CustomerPoints_Load( l.settings:order:cust_id, g.customerpoints )" />
    
    
    <mvt:comment>Clear any points for this customer</mvt:comment>
    <mvt:assign name="l.settings:transaction:cust_id"      value="l.settings:order:cust_id" />
    <mvt:assign name="l.settings:transaction:user_id"      value="0" />
    <mvt:assign name="l.settings:transaction:pending"      value="0" />
    <mvt:assign name="l.settings:transaction:order_id"  value="l.settings:order:id" />
    <mvt:assign name="l.settings:transaction:line_id"      value="0" />
    <mvt:assign name="l.settings:transaction:descrip"      value="'Wholesale Customers Not Eligible for Points'" />
    <mvt:assign name="l.settings:transaction:points"      value="g.customerpoints:points * -1" />
    
    
    <mvt:item name="points" param="CustomerPointTransaction_Insert( l.settings:transaction )" />
    K Series Parts Points are removed automatically when the order is refunded or cancelled via Miva. If you wanted to offer a discount to customers paying with points you could use the give them the discount using https://docs.miva.com/how-to-guides/...-template-code. I have not tested this though, It may be late in the checkout to apply a discount to the order since you don't know they want to pay via points until OPAY.

    Leave a comment:


  • K Series Parts
    replied
    just read through the docs and it does refund so that is nice. Right now we offer up to 5% off an order with your points but it doesn't appear that is an option, unless I am missing it.

    Leave a comment:


  • K Series Parts
    replied
    are points removed if an item/order is returned?

    Leave a comment:

Working...
X