Appointments+ Variable Rates based on Membership

I have read enough posts to know that this is not directly possible, but I'm hoping that someone (and I'll give you as many points as it'll let me!) can offer some insight.

Here is the scenario. I am developing a nanny referral site to which families pay a membership fee (using Membership2 Pro). There are several levels of membership and they affect the minimum booking as well as the rate per hour. There is also a different fee if the family has a special-needs child.

Here's how it should work in a few scenarios. I hope it's clear:

EXAMPLE ONE. Family @ Member Level 1. Child is not special needs.
1. Family logs in, searches for a nanny (that part is already built), then they click "book now" to book the sitter. (Again -- this is all working fine.)
2. Family is taking to a page for MEMBER LEVEL 1 families which offers time slots in half hour increments, minimum 3-hour booking.
3. Reservation fee charged: $5/hour

EXAMPLE TWO. Family @ Member Level 2. Child is not special needs.
1. Same as above.
2. Taken to MEMBER LEVEL 2 appointment page. The rates are the same, but there is only a 1-hour minimum.
3. Reservation fee charged: $5/hour.

EXAMPLE THREE. Family @ Member Level 1. Special Needs child.
1. Same as above.
2. Taken to MEMBER LEVEL 1 - SPECIAL NEEDS appointment page. Minimum 3 hour booking.
3. Reservation fee charged: $7/hour

EXAMPLE FOUR. Family @ Member Level 2. Special Needs child.
1. Same.
2. Taken to MEMBER LEVEL 2 - SPECIAL NEEDS appointment page. Minimum 1 hour booking.
3. Reservation fee charged: $7/hour.

Etc.

Only some nannies are qualified/experienced enough to serve Special Needs kids, so I will be able to control which nanny appears on which page.

I am happy to integrate with Marketplace or whatever I need to do.

THANK YOU!!

  • Adam Czajczyk

    Hello James,

    I hope you're well today!

    This is pretty complex setup that's not quite possible "out of the box" but I think there may be a workaround for this, although please be warned that it would be quite tricky and may take some "trials and errors" before you'll be able to get it to work flawlessly. Let me then explain what I'm thinking of :slight_smile:

    Let's say there are 2 nannies (N1, N2) plus one that is capable of taking care of both no special needs kids and special needs kids (NS).
    Let's also assume there are 2 memberships: M1 and M2

    A nanny would be a "Service provider". You will need to create additional membership for special needs kids (MS) and enable "Multiple memberships" add on. Parents then can join one of M1 and M2 memberships depending on their choice and if this is necessary additionally join MS (to be able to use "special needs kids" service).

    Therefore we got total of 3 memberships and 3 nannies. What we want to do know is to create services for available "combinations" (I'll mark them with S letter to follow convention):

    - for M1 (S1)
    - for M1 + MS (S1S)
    - for M2 (S2)
    - for M2 + MS (S2S)

    Each service has a price and duration set (e.g. $5, 180 minutes for S1; $5, 60 minutes for S1S etc) and capacity is not altered so it'd suit the number of nannies assigned to it (parents cannot book more slots than there are nannies available at all).

    At this point we're pretty much close to the end of the road but there's still some things to set up. You'll need to assign services to service providers (that is nannies to services), so all nannies offer S1 and S2 services and nanny NS additionally offer S1S and S2S service.

    At this point the booking part should be working. To point parents to proper booking calendars you will want to use Membership 2 protection shortcodes and Appointments+ shortcodes. First put all booking calendars on single page:

    [app_monthly_schedule service="1"]
    [app_monthly_schedule service="2"]
    ....
    repeat shortcode for each available service

    This would display separate calendars for all services on a single page but still all parents would be able to book any service. Therefore we need to protect these calendars with Membership 2 Pro like this:

    [ms-protect-content id="M1"]
    [app_monthly_schedule service="1"]
    [/ms-protect-content]
    [ms-protect-content id="M2"]
    [app_monthly_schedule service="2"]
    [/ms-protect-content]
    ....
    and so on for all memberships/services combinations

    This way calendars should be displayed according to the Membership levels, thus allowing to book proper service/nanny.

    I realize this seems quite complex but I think it should do the trick. It may need some additional tweaks and adjustments but I'm afraid we will only know that once you start testing this. That said, please note that this my idea of how to set it up and not an already tested and proven solution so it would be great if you could first think it through and then give it a try and hopefully it will work for you.

    Let me know please if you have any further questions on this.

    Best regards,
    Adam
    [/ms-protect-content]

  • jamesdonegan

    SOMETIMES THERE'S A SIMPLE ANSWER!

    I wasn't super-satisfied with having multiple providers because then each provider would have to update their availability, bios and other preferences I've set up for them in two places.

    Instead, I'm just going to use CSS to hide the options I don't want people to select on a given post or page.

    VOILA!

    Thanks to these folks for making me think of it...
    https://premium.wpmudev.org/forums/topic/appointments-service-list-dropdown-filter-to-hook

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.