Below is the system detailed in details on all the requirements we have!
Customer will get points for the following:
1. purchasing a product
2. Paying invoices on time or early.
3. Referring people.
4. For having active products (monthly bonus) and extra bonus for each 3/6/9/12/24/36 months etc (needs to be configured in admin area)
5. for each dollar spend they will get points.
Customer will lose points if they do not pay on time or their service is cancelled/refunded etc.
Customer will get an initial signup bonus but this will be marked as a initial bonus and will only be applied to the account when the customer has earned X amount of points.
Customer will earn up to X amount of additional points on their first invoice.
EXAMPLE: customer signed up got 5000 points, for each dollar spend they should get 1 point but as it is their first invoice they get x5 points.
Once customers have a predefined amount of points example 5,000 they will be able to redeem this in the following ways; (customer can chose)
1. Get a new product, for X many points
2. Renew a new product for X many points
3. Upgrade a product for X many points.
4. Create a discount coupon for X many points
5. Change it to "company cash"
6. Request withdrawal.
Rates for each of the following will have to be adjusted in the admin area.
[url removed, login to view] customer wants to get a new product that costs $100 they will pay 100 credits.
[url removed, login to view] customer wants to renew a product that costs $100 they will pay 200 credits.
[url removed, login to view] customer wants to upgrade a product they will pay 300 points per month for the upgrade they want to have (they will chose how many months to prepay) once the time has passed their product will be downgraded.) or they will pay 3000 points and get the upgrade free of charge for the life of the account.
[url removed, login to view] customer wants to create a discount coupon they will be charged X credits for X dollars, example a $10 discount for product category 1 will cost $5 where for a different product category a $10 discount code will cost $2.
[url removed, login to view] customer wants to exchange points to credit they will be charged an optional handling fee of lets say 100 points and then an exchange rate example 1/2 (so 5000 points will be 2400 dollars)
[url removed, login to view] customer requests withdrawal they will be charged a handling fee of 500 points and an exchange rate of 1/4 so 5000 points will be 750$ paid to customer.
Option 6 will have handling fees based on method, example paypal, wire-transfer, cash, check etc.
Admin area requirements:
Points given will be shown in numbers.
Today, This month, This year.
A statistics tab will have the points issued over the past 12 months in a graph.
A settings tab will be shown to have all the settings mentioned above to be set.
A history tab and a transaction records tab.
History will be points given by admin and system. (seperated)
It will have the following info.
Issue date, client name, reason, and amount
If admin added points it will say John Doe, 2011-05-05, Customer reported bug, 25 points
If system added points it will say, John doe, 2011-05-05, Paid invoice on time, 10 points.
The transactions log will have the transactions of customers. (detail log of actions carried out on redemption. example given a discount code for this or used credits to pay this invoice etc.
An API to check, add, remove points would be nice (which requires authentication)