↪ Subscription Management: Switching for Bundle Types #241
Comments
From #278 --
When a bundle (or any product, for that matter) doesn't require payment, instead of guiding the user through the entire checkout flow, it would be a lot easier (for the user, and for us) to code a solution that works in a similar way as the add-to-sub management feature of SATT. @thenbrent I know I have asked the same question in #278, but as it's also relevant here I'm adding this for reference: Is there a reason why WCS always forces the user to place a "switching" order, even when no payment is needed? Assuming that shipping costs aren't modified, I'd rather end this flow at the single-product page, by redirecting the user to the modified subscription. Switching the contents of a bundle (without switching its scheme) could be implemented as a "remove-and-then-add" action without much effort. |
Note that "add-to-subscription" features in SATT work without modifying the recurring shipping costs. That's OK when charging a flat shipping fee, but will fail for anything else. For future reference, I have opened #280 |
Hey @franticpsyx I've been using SATT with Mix & Match and have developed a plugin that does exactly as you have described. The customer can press an 'Edit' button from their subscription and adjust the quantity and type of products in their container then just press Save to update it within the Subscription. However, I am having issues with changing the container. I realise this is probably only possible from admin and not front end. So I have attempted to add a new container to the subscription and then have added any associated mix and match products. However, they are not saving as Mix and match products despite adding the 'Part of' meta - instead they just save as regular products. I believe this is related to SATT. Is there something I can do from the database or meta to ensure they save correctly? I found a similar comment to this in thread 12 from over a year ago but don't see a resolution in the roadmap. |
Hey @monfrique -- my guess is you'd need to remove and re-add the container and ensure the necessary meta gets added to the newly created order item. I agree it can be quite complex to juggle with order items + the parent/child relationships and meta required by Mix and Match (or any complex product type). Unfortunately, I can't provide much more help with this as it's a complex customization (which is why it hasn't been added to SATT yet) -- and providing help with customizations is beyond the scope of this issue tracker. I'd be happy to provide pointers if this was reasonably simple to explain, but I'm afraid that right now I don't have the complete picture of a solution, either. SATT 2.1, which you can find in the With that said, Mix and Match doesn't include any easy-to-use methods for adding entire MnM collections to orders and would need a significant investment of effort to support the full set of features included with SATT 2.1. This is not something we can prioritize right now, in part because the majority of what you can do with MnM is also possible with Product Bundles. For offering pick-and-mix bundles with SATT, I'd recommend trying Product Bundles (along with this mini-extension) instead of Mix and Match products. |
Thanks so much for your reply - funnily enough I worked out the solution with a friend overnight and we now have it 100% functional. I developed this specifically for a client but I may package it up separately as a plugin for those looking to add the functionality to SATT + Mix and Match in the near future. |
Hey @franticpsyx ! Quoting your last paragraph from message 2 here:
I'm currently working on a SATT + Composite products solution. Version 2.1 added swtcth functionality for Simple and Variation products, but not yet for Bundled and Composite ones. Would it be possible for you to give any direction on how to proceed with implementation of "remove-and-then-add" action? That seems to be much of what it's needed on my end. Thank you! |
@samrgomes we haven't started work on this yet -- without having the design/flow part nailed down, I'm not sure if I can be of much help at this stage. Feel free to contribute thoughts on how you imagine this could work, though! They'll be extremely valuable for speccing things here. |
I can see it's a hard flow to come up with. I'll contribute if any thoughts come up. |
Hi @franticpsyx - this might not be quite the exact issue, but have got a somewhat motivated client looking for us to add in ability to switch (change renewal period & variation information) products around from within the my-account/my-subscriptions page. Am investigating some options for this, and feels like it might be a nice place to add some of this - has this come up or been explored before? |
@robin-scott is this for products in Bundles? |
Among other product types and displays, yes. Also I wondered if there's anywhere more appropriate to shoot around some specifics (WC Slack?). If we go ahead and build some of this out, my feeling is it could be a useful place to manage contents of SATT subscriptions more generally... but am keen not to reinvent wheel, and also, I'd like to understand if you've run into any difficulty with some of this. Probably slack / email will be easier for this discussion, as it strays from issue to issue :) |
Hey @robin-scott -- if you have a clear spec, I'd encourage you to install WCS + SATT and see what's missing. Then, you should be able to identify which of the missing features you need are planned in SATT (and which are not) by looking at the issues in this tracker. If you have something different in mind that you can't find in SATT, feel free to open an issue -- if SATT is the right place for what you are looking to achieve, we'll use your feedback when we prioritize the next chunk of work in SATT. |
@monfrique I was wondering if you ever released your plugin for SATT and mix and match as it sounds like something I might have a use for and pay for. |
@dss-rtm |
@monfrique That sounds really exciting and I look forward to checking it out as it sounds like a valuable addition to SATT. Thanks in advance for sharing your work! Happy 2019. |
@franticpsyx different project, but similar requirement here to my earlier comment, and doing the remove-and-then-add thing. Also this client echoes your earlier "why does WCS send through checkout to switch". Can provide a bit of insight into the desired functionality here in case you're still looking for design / flow guidance. Essentially, what would be useful would be if adding to a subscription containing bundled products were more like editing a cart of bundled products (add / remove quantity of products already in bundle X) - without having to complete checkout afterwards - an add to ( / remove from) subscription with a cart-like interface. |
@robin-scott thanks for the update! Yup, that's more or less the approach we've been thinking about. As far as I remember, currently WCS requires the user to go through checkout even if the price of the modified line item is lower after the switch. I'm pretty sure there are many good reasons to do so (validation, history/logging), at the expense of UX. I'm not sure how we'll handle multi-line switching of Priced Individually bundled items at this point -- statically-priced Bundles shouldn't be a problem. But when it comes to "adding a product to a subscription", SATT already takes the entire checkout flow out of the picture, so I'm certainly tempted to follow the same approach when switching Bundles. But there are consistency considerations here that need to be taken into account, too: If WCS "says" that the checkout flow is an essential part of switching a Simple product, then why should a Bundle behave any different? |
In a nutshell, this is exactly the conundrum here @franticpsyx :) The majority of requests to use SATT and bundles (I think we are running at 5-7 projects in similar ball park) originate because client doesn't want customer to have to re-checkout. AFAIK there is no functional need for the re-checkout to switch subscriptions (except there is the way things presently work) but it is useful that it does demonstrate buyer intent (which is worthwhile in and of itself); the issue here is what bundle subscribed user expects at this part of the UX journey, and "checkout" is (probably) not that. At this point - switching around the subscribe-able bundle - the user expects to be able to switch around the bundle, and "it just works". The development required for this is not so simple though :) We are in workaround territory each time, and really it feels like some My Account "switch subscribed bundled products" is where we should be looking. It would be a big enhancement; my question is would it be useful to all, and my feeling is that it would be useful to all SATT + Bundles merchants to have this option if they want to offer bundle switching in between billing periods. |
Hey @monfrique Can you please share your solution for SATT + MnM subscription switching? Currently, while switching, it creates new subscription instead of updating the existing one. I desperately need the solution for it and can't find a way to do it by myself. Please share your solution even if its not complete for public release, it will give me direction to complete it by myself. Your help is much appreciated. |
I've written a mini extension wocommerce-mnm-switching which allows switching of MnM items in container of a subscription. I tried not to modify any other dependent plugin file but to make it successfully work, I had to modify a file of WooCommerce Subscriptions plugin, the file is: I've created a gist to be useful anyone looking for the same. I've included the https://gist.github.com/malviyaritesh/e4aa32c263287d7ab7ddaaf8483a0b5a |
Moved to the APFS repository. |
Parent Task
#222
Description
Switching here refers to both scheme switching and content switching -- similar to variable products where the user may switch the billing details of the subscription and/or the product configuration (attributes).
UI/UX
Ideally I'd like to replicate the Product Bundles Cart Editing UX here, which relies on showing an "Edit" button next to the cart item title -- that's pretty much in line with how WCS already handles Switching for core types: There's no need to deviate from that. Not sure if "Upgrade/Downgrade" is the best possible choice of words here, but that's minor.
Clicking on that button will take the user to the product page, where a new configuration and/or scheme can be chosen. The rest of the flow after adding to cart can remain the same as now.
Note that in this case we have multiple line items that may need to be deleted/added/modified in parallel: When the modified bundle is added to the cart, SATT will need to figure out how to treat each cart item by comparing the configuration in the cart with the configuration in the Subscription.
Not easy.
The text was updated successfully, but these errors were encountered: