Exclusive children plans

3 years 10 months ago #318419 by joomally
Exclusive children plans was created by joomally
I'm trying to understand how 'exclusive' plans and 'parent' plans work together.

I create a plan A, and then I create a Plan B which is Plan A's only 'exclusive' (and therefore mandatory) child.
At registration, its only possible to subscribe to Plan A by also subscribing to Plan B at the same time (as is expected)
but it is then possible for the user to unsubscribe from Plan B, leaving them with a subscription to Plan A but with no subscription to Plan B.

Is it possible to ensure that the user cannot be subscribed to a parent plan without being subscribed to one of its exclusive children ?

Here is how to recreate it:

create a 'new user subscription plan' with all the default settings (Plan A)
create a second 'new user subscription plan' (Plan B)
set the 'parent plan' of 'Plan B' to 'Plan A'
confirm that 'Exclusive Plan' of 'plan B' is set to 'Exclusive'
sign up to Plan B using the 'Url of plan to display only this plan ('-' to display multiple plans)'
once logged in, navigate to /index.php?option=com_comprofiler&view=pluginclass&plugin=cbpaidsubscriptions&do=display_subscriptions

The layout is

Plan A
Active, expiring on 09/05/21
Plan B
Active, expiring on 09/05/21
[renew button]
[unsubscribe button]
[renew button]
[unsubscribe button]

Clicking the first 'unsubscribe button' unsubscribes the user from Plan B (as would be expected because of the indenting of the layout).
The user is now subscribed to Plan A, but not to Plan B.
I thought that since 'Plan B' was the only exclusive plan, it's subscription would be mandatory. ie it wouldn't be possible to be subscribed to plan A without also being subscribed to plan B.

Is there some way to ensure that it's not possible to be subscribed to a parent plan without also being subscribed to one of its exclusive and mandatory children ?

Thanks

Please Log in to join the conversation.

3 years 10 months ago #318437 by krileon
Replied by krileon on topic Exclusive children plans
Nope, if the child plan is set to Exclusive (also Mandatory) you have to subscribe to one of the child plans. Set it to non-Exclusive (also non-Mandatory) if you don't want to require subscribing to a child plan. You can make child plans non-exclusive then use conditions to limit select of the child plans to only 1 child plan if you want.


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.

3 years 10 months ago #318472 by joomally
Replied by joomally on topic Exclusive children plans
Thanks for the reply.

I was expecting it to work as you described.

What I'm confused by is the scenario that I described above which resulted in the user being subscribed to a parent plan and not to any of the mandatory child plans.

Is there some way to avoid this ?

Thanks

Please Log in to join the conversation.

3 years 10 months ago #318492 by krileon
Replied by krileon on topic Exclusive children plans
The user unsubscribing from a child plan and being only with the parent plan is expected behavior. It doesn't enforce anything when it comes to unsubscribing (e.g. what if a user needs to unsubscribe a recurring child plan for example). You can however turn off unsubscribing globally, but I don't recommend this unless you're using strictly single payment plans. It also affects all plans and isn't available per plan. This is done in CBSubs > Settings > Display > Unsubscribe.


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.

3 years 10 months ago - 3 years 10 months ago #318505 by joomally
Replied by joomally on topic Exclusive children plans
OK, thanks.

On our site there are several different membership types (each with different access rights).
Each membership type has several different payment options - people can pay monthly, quarterly or annually. Regardless of which payment plan they choose, they get the same access permissions for the site.

ie Plan A has a monthly price, quarterly price and annual price.
Plan B (which has different benefits to plan A) has its own monthly price, quarterly price and annual price

I think this would be a fairly common setup for a website.

I structured it as:

Top
---Plan A (not exclusive)
--- ---Plan A with monthly payments (exclusive)
--- ---Plan A with quarterly payments (exclusive)
--- ---Plan A with annual payments (exclusive)
---Plan B (not exclusive)
--- ---Plan B with monthly payments (exclusive)
--- ---Plan B with quarterly payments (exclusive)
--- ---Plan B with annual payments (exclusive)

I'm just wondering if there is a better way to structure it ?

Thanks

Please Log in to join the conversation.

3 years 10 months ago #318533 by krileon
Replied by krileon on topic Exclusive children plans

I'm just wondering if there is a better way to structure it ?

That should work fine, but you could also do the following to get rid of needing parent plans which seam to just be used for categorization.

Plan A with monthly payments (not exclusive)
Plan A with quarterly payments (not exclusive)
Plan A with annual payments (not exclusive)

Plan B with monthly payments (not exclusive)
Plan B with quarterly payments (not exclusive)
Plan B with annual payments (not exclusive)

Now under the workflows plans condition your plans so Plan A monthly hides if quarterly or annual is selected. This would ensure you could only select 1 Plan A and 1 Plan B.


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.206 seconds

Facebook Twitter LinkedIn