Integrating levels of access for Appointments+ with Membership+

Ok I love the fact these two plugins can work together, but there's a big piece of this puzzle I'm still trying to figure out.

We have setup our Membership+ plugin to be a subscription based billing system that provides access to scheduling Appointments.

We have 3 levels of membership; each pays a different price which enables them different levels of service, thus more time per appointment. However when scheduling an appointment with Appointments+; a member with "Level 1" access can schedule an appointment equal to any "level 1,2,3".

I realize I could block/protect the "Other Level" pages. But that not only wastes our "future clients" time but also will confuse them. Since they can all schedule an appointment from the same area, is there a way we can simplify the scheduling an appointment process to the correct level of service? I just feel there has got to be a simpler way.

Attached is a photo that shows the 3 levels of service offered. Each appointment is 30 mins additionally for each level; how could we set this up so a "Lite user (Level 1)" could schedule an appointment for ONLY "Lite user (Level 1)"?

I have also considered and fairly thoroughly researched making appointments a "product" and use the marketpress; but since we're selling an actual Membership that only seems to complicate things.

Creating a custom landing page with the necessary short codes could be a possible solution. However our members would still have to select their level of service subscribed. There doesn't seem to be a way to automatically detect which level they have purchased and to keep them in their level for making the appropriate appointments.

Any tips, tricks or ideas to dig further into this? I'm sorry if there is a solution, I couldn't find anything from my digging and felt because this issue is related to making both plugins work together.

Thanks for your help WPMU guys! You got some incredible features going for these plugins! Inspired!

  • Vinod Dalvi

    Hi Josh,

    I hope you are well today and thank you for your question.

    There are two ways to achieve it.

    You can create 3 separate service providers for your 3 services each and use the shortcode [app_services] along with its worker arguments to display services which are given only by a certain provider according to the provider ID passed here.

    Wrap these three shortcodes in the membership access levels shortcodes as following in the appointment page.

    [level-new-level]
      [app_services  worker="11"]
    [/level-new-level]
    
    [level-new-level-2]
      [app_services  worker="12"]
    [/level-new-level-2]
    
    [level-new-level-3]
      [app_services  worker="13"]
    [/level-new-level-3]

    Alternatively you can develop custom code using app_services filter hook to only display services in the drop down which are accessible for certain users.

    Kind Regards,
    Vinod Dalvi

  • Josh

    Hi Vinod,

    thanks so much for the help! I've been tinkering around with this and think its almost figured out. I'm trying to figure out the variable: "worker="11"" relates to scheduling an appointment.

    My results either has no drop down appointment box or there is 3 identical drop down boxes. The "protected content" feature half way works but doesn't really block the content, or the features as you can still "see & schedule" an appointment from any level. It would be best if the user doesn't see the other levels to prevent/eliminate wrong appointment types. When scheduling any appointment, it appears to be stuck in a default setting on the first level of access (Lite). Which actually is causing/preventing higher level users no access to schedule appointments at their appropriate level. EG; Pro user can only schedule appointments as a "Lite" user.

    Getting closer but not quite there.

    Could you help explain a little more?

    I have opened up access if you would like to see things from your end. Thanks for your help here, this is a major aspect of getting the website flowing and live. If you have any further links or info to look into please send them my way! Thanks!

  • Josh

    Hello Vinad,

    have you had a chance to take a look at the coding here?
    This is what I have implemented:

    [level-monthlyboost-lite]
    [app_services worker="14"]
    [not-level-monthlyboost-lite]

    [level-monthlyboost-standard]
    [app_services worker="15"]
    [not-level-monthlyboost-standard]

    [level-monthlyboost-professional]
    [app_services worker="16"]
    [not-level-monthlyboost-professional]

    Unfortunately I was not born with the gift of code, I can read it and understand it, but I honestly recognize my brain does not formulate it as others can/do. While web design may be one of the simplest forms of coding, I love being able to see the results either work or not.

    So in this case, I'm wondering if I inserted the right short codes in the right place because I'm seeing partial results. My question though is am I even attempting to get the right results? Can setting the specific "access levels" actually prevent the user from literally seeing the other options? I don't want the "Lite" users to see the "Pro" users appointment options.

    Attached is a screen shot that shows the current setup. The membership+ app is "protecting" some aspects of the content, but not on a level of any real value for what we're trying to prevent.

  • DavidM

    Hi there Josh,

    Hope you're well today! :slight_smile:

    I'm pretty sure the following may just take care of that for you:

    [level-monthlyboost-lite]
    [app_services worker="14"]
    [/level-monthlyboost-lite]
    
    [level-monthlyboost-standard]
    [app_services worker="15"]
    [/level-monthlyboost-standard]
    
    [level-monthlyboost-professional]
    [app_services worker="16"]
    [/level-monthlyboost-professional]

    Could you let us know how that works for you?

    Thanks,
    David

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.