Subscription with various discounts based on years subscribed

6 months 2 weeks ago #302651 by boyjahq
I need to be able to offer reduced pricing for customers renewing based on the number of years they have been a subscriber.

1st year = price 1
2-4 year = price 2
5-7 year = price 3
8 and 9th year = price 4
10 years or more = price 5

I have tried having multiple plans, one for each year segment, but that is an upgrade situation and when upgrading it simply replaces the plan without extending the expiration date.

I played around with Parent/Child plans but that seems to be the same as the Upgrade situation.

I am now trying Promotions, but it seems that if a promotion with custom display is chosen, then ALL previous plans get renamed to the newest promotion that is active, which is confusing to customers and admins.

Is there a way to achieve this multi-year discount requirement?
6 months 1 week ago #302676 by krileon
You should be able to do that by setting up 5 different promotions and using "Discount priority", "Exclusive within this priority", and "Maximum uses per customer (0=unlimited)" parameters to create stages of promotions. Example as follows.

Promotion 1 (should cover years 2-4)
Basic
Promotion Type: Applies to all purchases
Discount Rate in PERCENT (%): 10
Discount priority: 2
Exclusive within this priority: Yes, no other promotions with same priority and lower ordering can apply same time
Maximum uses in total (0=unlimited): 0
Maximum uses per customer (0=unlimited): 3
To which plans this promotion applies: YOUR_PLAN_HERE
Advanced
Applies to registrations: No
Applies to upgrades: No
Applies to renewals: Yes

Promotion 2 (should cover years 5-7)
Basic
Promotion Type: Applies to all purchases
Discount Rate in PERCENT (%): 20
Discount priority: 2
Exclusive within this priority: Yes, no other promotions with same priority and lower ordering can apply same time
Maximum uses in total (0=unlimited): 0
Maximum uses per customer (0=unlimited): 3
To which plans this promotion applies: YOUR_PLAN_HERE
Advanced
Applies to registrations: No
Applies to upgrades: No
Applies to renewals: Yes

Promotion 3 (should cover years 8-9)
Basic
Promotion Type: Applies to all purchases
Discount Rate in PERCENT (%): 30
Discount priority: 2
Exclusive within this priority: Yes, no other promotions with same priority and lower ordering can apply same time
Maximum uses in total (0=unlimited): 0
Maximum uses per customer (0=unlimited): 2
To which plans this promotion applies: YOUR_PLAN_HERE
Advanced
Applies to registrations: No
Applies to upgrades: No
Applies to renewals: Yes

Promotion 4 (should cover years 10+)
Basic
Promotion Type: Applies to all purchases
Discount Rate in PERCENT (%): 40
Discount priority: 2
Exclusive within this priority: Yes, no other promotions with same priority and lower ordering can apply same time
Maximum uses in total (0=unlimited): 0
Maximum uses per customer (0=unlimited): 0
To which plans this promotion applies: YOUR_PLAN_HERE
Advanced
Applies to registrations: No
Applies to upgrades: No
Applies to renewals: Yes

Note make sure they are ordered exactly as shown above as they need to take priority 1 by 1. You may also need to add a condition under Conditions to only apply to an existing plan, but shouldn't be needed. I did not test the above, but in theory should work since priority only allows 1 of these promotions to be applied and it should work its way through them.


Kyle (Krileon)
Community Builder Team Member
Before posting on forums: Read FAQ thoroughly + Read our Documentation + Search the forums
CB links: Documentation - Templates - CBSubs - Hosting - Forge - Incubator - GroupJive
--
If you are a Professional, Developer, or CB Paid Subscriptions subscriber and have a support issue please always post in your respective support forums for best results!
--
If I've missed your support post with a delay of 3 days or greater and are a Professional, Developer, or CBSubs subscriber please send me a private message with your thread and will reply when possible!
--
Please note I am available Monday - Friday from 8:00 AM EST to 4:00 PM EST. I am away on weekends (Saturday and Sunday) and if I've missed your post on or before a weekend after business hours please wait for the next following business day (Monday) and will get to your issue as soon as possible, thank you.
--
My role here is to provide guidance and assistance. I cannot provide custom code for each custom requirement. Please do not inquire me about custom development.
The following user(s) said Thank You: boyjahq
6 months 1 week ago - 6 months 1 week ago #302692 by boyjahq
Thank you for this example!

Just to confirm, Discount Priority for all promotions should be the same (2) as in your example?
6 months 1 week ago #302702 by boyjahq
Well, I tested it out with the settings you described and...IT WORKS!

THANK YOU THANK YOU THANK YOU!!!

If I may ask a follow up question: This membership is for organic farms. It puts their information on a list so volunteers can find and contact them. Sometimes these farms want to take a 1 year break from being listed. There is a small fee for them to remove themselves from the list for up to a year, but they have the choice of rejoining their previous membership at any time and being listed again.

I created a separate plan called BREAK and made it as an upgrade possibility. That works fine, but when that plan is activated for them, I cannot get the previous base plan with all the discounts to show up as an option in their Membership tab so they can choose to be relisted.

I set the base plan to allow upgrades

WORKFLOW

Allow upgrade to this = Yes

Propose plan for upgrades only if it is more expensive = No: It will be possible to upgrade to this plan (for free with pro-rating) if all conditions below and elsewhere are met

First static condition = This condition must be met to allow upgrades:

Any of the following plans subscriptions = BREAK

Must be in state = ACTIVE or EXPIRED or UNSUBSCRIBED or UPGRADED TO OTHER

Or can be purchased same time = No, those plan(s) must already be existing

ACCESS

Allow new subscriptions = Yes

Allow access from site frontend = Yes

Visible for Access Level = Public

Visible for Group (and above this group) = Public

I have tried every variation of settings but cannot get the base plan to show as an upgrade or renew option once they have activated the BREAK plan.
6 months 1 week ago #302729 by krileon

Just to confirm, Discount Priority for all promotions should be the same (2) as in your example?

Yes.

If I may ask a follow up question: This membership is for organic farms. It puts their information on a list so volunteers can find and contact them. Sometimes these farms want to take a 1 year break from being listed. There is a small fee for them to remove themselves from the list for up to a year, but they have the choice of rejoining their previous membership at any time and being listed again.

I created a separate plan called BREAK and made it as an upgrade possibility. That works fine, but when that plan is activated for them, I cannot get the previous base plan with all the discounts to show up as an option in their Membership tab so they can choose to be relisted.

Ensure both plans are set to be Exclusive then under Workflows ensure both have the following set. Should allow going back and forth as needed.

Allow upgrade to this: Yes
Propose plan for upgrades only if it is more expensive: No: It will be possible to upgrade to this plan (for free with pro-rating) if all conditions below and elsewhere are met
Propose spontaneously plan for upgrades: Yes: show automatically plan for normal upgrades (recommended)


Kyle (Krileon)
Community Builder Team Member
Before posting on forums: Read FAQ thoroughly + Read our Documentation + Search the forums
CB links: Documentation - Templates - CBSubs - Hosting - Forge - Incubator - GroupJive
--
If you are a Professional, Developer, or CB Paid Subscriptions subscriber and have a support issue please always post in your respective support forums for best results!
--
If I've missed your support post with a delay of 3 days or greater and are a Professional, Developer, or CBSubs subscriber please send me a private message with your thread and will reply when possible!
--
Please note I am available Monday - Friday from 8:00 AM EST to 4:00 PM EST. I am away on weekends (Saturday and Sunday) and if I've missed your post on or before a weekend after business hours please wait for the next following business day (Monday) and will get to your issue as soon as possible, thank you.
--
My role here is to provide guidance and assistance. I cannot provide custom code for each custom requirement. Please do not inquire me about custom development.
6 months 1 week ago #302831 by boyjahq
I got to the next phase of testing this scheme--seeing what happens when subscriptions expire. What I find is that after expiration when the user logs in they only see a message that says that their account is expired, but there is no option to resubscribe. In fact, no plans or options of any kind showing. I can activate them from the CB User Management and the choices shown to me are what the user should be seeing from the front end (with proper promotion discounts showing). However, when the subscription that was enabled from the backend expires, then the user just sees the message that your account has been blocked when they try to login
Moderators: beatnantkrileon
Time to create page: 0.384 seconds
Facebook Twitter Google LinkedIn