Proper way to implement CB Subs with upgrade options

7 years 1 month ago #291170 by cpaschen
We're getting ready to set-up a new subscription configuration with multiple subscription 'plans' and different upgrade 'paths'.

I need to know what the 'proper' way would be to set-up the following scenario (i.e. what is the root subscription and general configuration to make this work).

Group A
- Plan A1 - 30-Day Trial, with option to subscribe to Plan A2
- Plan A2 - 1 year paid subscription

Group B
- Plan B1 - 30-Day Trial, with option to subscribe to Plan B2
- Plan B2 - 1 year paid subscription

Group C
- Plan C1 - 30-Day Trial, with option to subscribe to Plan C2
- Plan C2 - 1 year paid subscription

Group D
- Plan D1 - 30-Day Trial, with option to subscribe to Plan D2
- Plan D2 - 1 year paid subscription

ADDITIONALLY:

Plan A2 should be able to upgrade to Plan C2
Plan B2 should be able to upgrade to Plan C2

Each of the different Groups just give users a different usergroup (so they can access different resources on the site)
When someone upgrades from A2 or B2 to C2 the remaining subscription should be discounted from the C2 price
Users CAN have a subscription to A2 and B2 and D2 concurrently but not C2 (although the C2 exclusion doesn't need to be enforced).


None of the plans will be auto-renew. Users will need to manually renew each year.

I looked again in the docs/tutorials and didn't see anything that explained how to do this.
Can you give me some tips on how to set this up in the best way (before I start trying to figure this out and messing things up significantly first :-) )

Please Log in to join the conversation.

7 years 1 month ago #291174 by krileon
Your 1 plans can probably be set exclusive and your 2 plans be non-exclusive if they're just addon plans. You can control accessibility using the conditions under the Workflows tab. You can probably group them using free lifetime parent plans as well. I would probably just do the following.

Plan A1 - Exclusive
Plan A2 - non-Exclusive
Plan B1 - Exclusive
Plan B2 - non-Exclusive
Plan C1 - Exclusive
Plan C2 - non-Exclusive
Plan D1 - Exclusive
Plan D2 - non-Exclusive

If A2 should only be accessible if subscribed to A1 then I'd make A2 a child plan of A1 for example.


Kyle (Krileon)
Community Builder Team Member
Before posting on forums: Read FAQ thoroughly + Read our Documentation + Search the forums
CB links: Documentation - Localization - CB Quickstart - CB Paid Subscriptions - Add-Ons - Forge
--
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 CST to 4:00 PM CST. 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.

Please Log in to join the conversation.

7 years 1 month ago #291185 by cpaschen
Sorry, I'm still trying to wrap my head around the 'design' of the exclusivity and parent/child relationships.

I forgot one detail.

A user should be able to also subscribe to:
A1 AND D1
B1 and D1
C1 and D1

(i.e. D plans should be completely 'independent' of all other plans).

Is that possible.

Actually, as I think about it, there really isn't any business reason to make any 'exclusive' (if the exclusive in CBsubs translates to globally exclusive), with the exception that if someone purchases C2 it would 'upgrade' (i.e. 'replace') their existing A2 or B2 plan. All plan Ds (D1/D2) are completely independent of A/B/C.

Some examples of what a user SHOULD be able to have:

* A1, D1
* B1, D1
* A2, D1
* A2, D2
* A2, B2, D2
* A2, B2, D1
etc.

Note sure if that helped or not.

I guess the main 'functionality' that we need is that when someone's X1 trial subscription expires, they need to be encouraged to subscribe to the X2 version. And when any X2 subscription expires they need to be reminded to renew that same X2 subscription. (And it would be nice to be able to 'suggest' upgrading from A2 to C2 or B2 to C2). Other than that, they all could just be handled by handled under the conditions workflow tab (for 'visibility').

Is there some setting/configuration to make that workflow happen at the end of their subscription?

Please Log in to join the conversation.

7 years 1 month ago #291223 by krileon
If all your #1 plans are exclusive then you can only subscribe to 1 of them. This means A1 can not be subscribed at same times as B1. If all your #2 plans are non-Exclusive it means they can be subscribed with any combination of plans (e.g. A1 with A2 and D2).

If you need to allow A1 and D1 then basically all your plans need to be marked non-Exclusive and to limit who can select what you'll have to use entirely conditions configured under the Workflows tab of your plans. So for example you could have a condition that prevents seeing B1 if A1 is Active (visible if expired, etc..).


Kyle (Krileon)
Community Builder Team Member
Before posting on forums: Read FAQ thoroughly + Read our Documentation + Search the forums
CB links: Documentation - Localization - CB Quickstart - CB Paid Subscriptions - Add-Ons - Forge
--
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 CST to 4:00 PM CST. 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.

Please Log in to join the conversation.

7 years 1 month ago #291377 by cpaschen
OK ... non-exclusive makes sense.

However, how would I 'encourage' someone who has an A1 (an 'A' trial) to upgrade to A2 (full/paid 'A' package) once their A1 subscription expires?
Esp. considering that A2 needs to be available even if a user never takes the A1 trial (i.e. they can pay without a trial)

I'm guessing I just need to do that manually via email notices and custom HTML module reminders (displayed only for those who's A1 subscription is about ot expire)?

Or are there any other means of 'upgrade notifications' that I could use within CB Subs (that I haven't found yet)?

Please Log in to join the conversation.

7 years 1 month ago #291382 by krileon
So A1 is just a trial subscription for A2? If that's the case you don't need 2 plans, but instead can just use 1 and use the initial price/duration parameters to have a trial price and duration that costs less and has shorter duration for example.

Or are there any other means of 'upgrade notifications' that I could use within CB Subs (that I haven't found yet)?

You can automate an email to be sent on expiration under the Presentation tab of the plan or use CBSubs Mailer.


Kyle (Krileon)
Community Builder Team Member
Before posting on forums: Read FAQ thoroughly + Read our Documentation + Search the forums
CB links: Documentation - Localization - CB Quickstart - CB Paid Subscriptions - Add-Ons - Forge
--
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 CST to 4:00 PM CST. 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.

Please Log in to join the conversation.

Moderators: beatnantkrileon
Time to create page: 0.965 seconds

Facebook Twitter LinkedIn