Title: What is a Spree loyalty program?
1SpreeCommerce Loyalty Points
- Adds Loyalty Points feature for your customers
2What is a loyalty program?
- Loyalty programs are structured marketing
strategies designed to encourage customers to
continue to shop at or use the services of
businesses associated with each program which in
turn results in increased revenue. A positive
side-effect of loyalty programs is that your
business gets word of mouth publicity to increase
your customer base. Rewards are offered by the
company to customers who frequently make
purchases. A loyalty program may give a customer
free merchandise, rewards, coupons, or even
advance released products.
3Spree Loyalty Points Extension - Overview
- Loyalty Points extension allows customers to earn
loyalty points on the basis of their purchases.
Admin can also reward Loyalty Points to it's
customers manually. Customer can use these
loyalty points to pay for their future orders. - This extension allows admin to create a new
payment method Loyalty Points in the system.
Once this payment method is created and active,
it would appear on checkout screen and customers
can use this payment method for payments. - It also automates the awarding of loyalty points
to customers based on the configuration done by
admin and updating loyalty points based on the
transactions on Spree Commerce platform. - It allows only Loyalty Points payment method for
making a purchase and does not allow the payment
through other payment modes like cash, check,
credit card etc.
4Installation
- In your Gemfile, add
- gem 'spree_loyalty_points'
- For Spree 2.1.x
- gem 'spree_loyalty_points', '1.0.3'
- At present this extention is not compatible with
Spree 2.0.x - Bundle your dependencies and run the installation
generator - bundle
- bundle exec rails g spree_walletinstall
5How it works?
- To add loyalty point feature, Spree admin needs
to create "Loyalty Points" payment method - Configuration -gt Payment Methods -gt New
payment Method - You need to select "SpreePaymentMethodLoyal
tyPoints" as a Provider
6Spree admin need to make following settings on
Configuration page
- Set minimum amount of an order that should be
spent by the customer to earn loyalty points - On
the basis of this, it will be decided by the
system whether loyalty points should be awarded
for the order or not, based on the order value. - Set number of loyalty points to be awarded per
unit amount spent - On the basis of this
configuration, number of loyalty points to be
awarded are calculated based on the order value
and per unit value defined. The loyalty points
get added to the customers account which he can
use in future purchases.
7- Ex. Suppose Admin set this value this value to 1,
it means, Customer will receive 1 Loyalty Point
on spending every 1 on this site. In order to
receive loyalty points the payment should be done
through some other mode like Credit card, Debit
card, Cash, Check etc. No loyalty points are
awarded for purchase done through existing
Loyalty point balance - Set minimum loyalty points balance required for
redeeming - On the basis of this, Customer will
be permitted to make a payment with Loyalty
Points only if he/she has Loyalty Points balance
more than the minimum loyalty points set by the
Admin.
8- Set Loyalty Point to Amount conversion rate -
This conversion rate converts the loyalty points
into amount. This amount is displayed on the
checkout screen with Loyalty Points balance. - Set Time to award Loyalty Points after payment -
Loyalty Points will be credited to the Customer's
account on the basis of this set time period.
This time period will be considered only after
Customer makes the payment and Admin marks this
payment "Capture".
9This field is provided to curb the misuse of the
Loyalty Points by the customers. So, we suggest
to set this time on the basis of the merchant's
"Return Policy".
10Admin can view list of the loyalty point
transactions by following below mentioned steps
- Go to Users Tab.
- Select the user account.
- Click on the Loyalty points Balance value.
11Admin can also credit/debit loyalty points to the
customers manually, by following below mentioned
steps
- Go to Users tab
- Select the User
- Click on Loyalty Points Balance value
- Click on "Update loyalty Points" to Credit/Debit
Loyalty points.
12Loyalty Points and their respective money value
at the time of checkout.
- After setting mentioned configurations, Customer
will be able to see this payment method on
Checkout Page and can view details later on order
detail page.
13His loyalty points transactions and order details.
14- View my points If a user wants to view his
Loyalty Points balance he can go to My Account
page. - Changing system currency Loyalty Points can be
set only for one operating currency at any time.
If Admin wants to change currency for the App,
he/she needs to reset Loyalty Points Settings by
considering that currency. - Cancelling order If Admin wants to "Cancel"
order, He/She needs to "Credit" Loyalty Points
manually into the Users account by following
below mentioned steps
15Cancelling order
- Go to Users tab
- Select the User
- Click on Loyalty Points Balance value
- Select "Transaction Type" "Credit" from drop down
- Select respective "Order number" from "Order"
drop down - Click on "Update Loyalty Points"
16Return Authorization
- Return Authorization In case a user returns the
shipped order by contacting Customer Care then to
return the LP associated with the order admin
needs to create a "New Return Authorization" and
mention LP to be credited into User's account. - Order's Page -gt Order Details Page -gt Return
Authorization -gt New Return Authorization
17(No Transcript)
18Update Loyalty Points in the system
- Loyalty Points will be awarded to the customer
only after - Admin captures the payment manually for his order
- "Time" set in Loyalty Point configuration has
elapsed after capturing the payment. - Add a Cron Job to run the following rake task to
award Loyalty Points to customers who satisfy the
above two conditions. - bundle exec rake spreeloyalty_pointsaward
19Contributing
- Fork the repo.
- Clone your repo.
- Run bundle install.
- Run bundle exec rake test_app to create the test
application in spec/test_app. - Make your changes.
- Ensure specs pass by running bundle exec rspec
spec. - Submit your pull request.
20Testing
- Be sure to bundle your dependencies and then
create a dummy test app for the specs to run
against. - bundle
- bundle exec rake test_app
- bundle exec rspec spec
- When testing your applications integration with
this extension you may use it's factories. Simply
add this require statement to your spec_helper - require 'spree_loyalty_points/factories'
- You can access the code here. follow us on
twitter for more updates.