Shortcodes Appointments + Plugin

https://premium.wpmudev.org/project/appointments-plus/

On this URL, it shows the intro video, and I love how that looks in the first 6 seconds, with the "please select a service, and please choose a service provider", how do I get the page to look like this and which codes would I select and use. Your shortcodes seem hard to understand exactly how the functionality works. Also, since I have two locations, I want one page to solely book appoints for that specific location, and another page to book another location, with their service providers and services in that location only. What shortcodes are required to make this happen. Great plugin.

Thanks, Robb

  • Jack Kitterhing

    Hi there @Robb,

    Hope you're well today and welcome to WPMU DEV! :slight_smile:

    To get the same layout as the video, go to your wp-admin > pages > add new, switch to "Text" view, and then copy and paste the following.

    <table>
    <tbody>
    <tr>
    <td colspan="2">[app_my_appointments]</td>
    </tr>
    <tr>
    <td>[app_services]</td>
    <td>[app_service_providers]</td>
    </tr>
    <tr>
    <td colspan="2">[app_monthly_schedule]</td>
    </tr>
    <tr>
    <td colspan="2">[app_pagination month="1"]</td>
    </tr>
    <tr>
    <td colspan="2">[app_login]</td>
    </tr>
    <tr>
    <td colspan="2">[app_confirmation]</td>
    </tr>
    <tr>
    <td colspan="2">[app_paypal]</td>
    </tr>
    </tbody>
    </table>

    (That's so you got the side by side table layout, exactly as the video). :slight_smile:

    If you'd like to have two pages, you can do the same on each page, but where you have [app_monthly_schedule] change that to

    [app_monthly_schedule service="10"]

    Where 10 is the service ID of the service you want to show that's bookable. :slight_smile:

    Any issues at all, we're here to help.

    Thanks!

    Kind Regards
    Jack.

  • Robb

    Thanks Jack! I'll try this.

    My additional question is, I have TWO locations lets say one is called Apple and other is called Oranges, so one page has to show services and providers of that Apple location only, and another page for the Oranges, showcasing the services and then selection of the providers, is this possible to create that output, since we can have different locations among the services and providers in your plugin.

    Thanks, Robb

  • pxwm

    Hi @Jack Kitterhing - I hope you don't mind me chiming in

    Hi @Robb

    If I've understood your requirement correctly could you please confirm the following:-

    1) How many Services will you be offering at Location A and Location B?
    2) Will the Service(s) be unique at each Location?

    I ask because this is achievable if you only have 1 x unique Service at each location but becomes more complicated if you have more than 1 x unique Service.

    Regards
    SteveB

  • pxwm

    Hi @Robb

    Unfortunately A+ doesn't support the Authorize.net payment gateway out the box.

    I'm not sure if anyone has managed to integrate but there are a couple of posts I've included that relate to integrating MarketPress so you have access to many more payment gateways including Authorize.net.

    https://premium.wpmudev.org/forums/topic/can-appointments-plus-take-payments-through-authorizenet

    https://premium.wpmudev.org/forums/topic/payment-gateways-other-than-paypal-authorizenet

    I've also added a very useful post that comprehensive instructions on how to integrate MarketPress.

    https://premium.wpmudev.org/forums/topic/how-to-integrate-appointments-marketpress

    I hope this helps
    Regards
    SteveB

  • Robb

    Hi SteveB,

    I understand, and I will play around with Marketpress IF I can get the LocationA and B to work accordingly.

    Anyway I can pay the staff to somehow integrate Authorize.net into Appointments +.

    I didnt get the answer for the Location A and B question previously.

    LocationA has 3 services,

    LocationB has 3 services

    Both locations have different services, except one service which is the same at both locations, but I put locations to their respected services, under all the services, since the software plugins allows to do this.

    Thanks, Robb

  • Robb

    Jack and SteveB,

    When I do Jack's recommendation list below:

    If you'd like to have two pages, you can do the same on each page, but where you have [app_monthly_schedule] change that to

    [app_monthly_schedule service="10"]

    Where 10 is the service ID of the service you want to show that's bookable.

    This doesnt seem to show up the correct service ID shown, for me it would be: [app_monthly_schedule service="1,3,4"]

    What it does is she all services and provided and not the ones I only selected.

    Thanks, Robb

  • pxwm

    Hi @Robb

    Unfortunately this solution does not support multiple selections as per the notes in the shortcode section of A+, that I have copied below for reference.

    service
    Enter service ID only if you want to force the table display the service with entered ID. Default: "0" (Service is selected by dropdown). Note: Multiple selections are not allowed.
    Example: [app_monthly_schedule ... service="12"]

    As for a possible solution, without using bespoke code, you may wish to consider the following:-

    >Create an Appointment page for each 'Service' you are offering with a title for the 'Service and the relevant Location but don't add to the main menu.
    This would mean creating 6 or 7 Appointment pages, one for each 'Service'

    The next section I'm assuming you are using unique 'Service' names for each of the 'Services' across locations except the 1 x 'Service' that is the same across both locations.

    >Create 3 x unique 'Services' for Location A
    >Create 3 x unique 'Services' for Location B
    >Then create a page with a description of all the 'Services', 'Service Providers' and 'Locations' with a related 'Services' link to each Appointment page

    >For the common 'Service' across both locations then say use Service7 - Location A and Service7 - Location B
    >Create the 'Service Providers' for Location A
    >Create 'Service Providers' for Location B
    >Assign the relevant 'Services' to the relevant 'Service Providers'
    > Then using the shortcode [app_monthly_schedule service="XX"] and replace the XX with the relevant Service ID add to each relevant Appointments page. To confirm you can only use the code once on each Appointment page and it can only contain one 'Service ID'.

    I do have a much neater solution that would be a single page listing all the 'Services' with a linked button for each 'Service Provider' that is assigned to each 'Service' and would also create new buttons as and when new 'Services' are created. There is also just one Appointment page

    However this would involve writing some complex bespoke code to support it that would need to be added to your functions.php file.

    I hope this helps
    Regards
    SteveB

  • Robb

    Hi SteveB,

    I am not trying to do multiple selections at all.

    So under services I have 6 different Services, ID number 1-6 lets say within two locations.

    So I would make two appointment booking pages, one showing service ID's 1-3, and other booking page showing service ID's 4-6.

    So when the user goes to the page it says Please select a service, it would show only services 1-3, then please select a service provider, which would output those providers connected to those services, similar to how the code works already.

    Then I would create another booking appointment page, this time show only services 4-6, then please select a service provider, which would output those providers connected to those services, similar to how the code works already.

    So I am keeping the original just trying to add only certain services in for each appointment booking page.

    You mentioned this: I do have a much neater solution that would be a single page listing all the 'Services' with a linked button for each 'Service Provider' that is assigned to each 'Service' and would also create new buttons as and when new 'Services' are created. There is also just one Appointment page.

    But when I put the code in that Jack gave me, it listed all of the services on one page like you mentioned above, and then clicks the service provider. I just want only certain service ID's to be shown and omit others, like I mentioned above.

    Thanks, Robb

  • pxwm

    Hi @Robb

    When I meant you can't do multiple selections I was referring to the shortcode jack suggested.

    i.e. shortcode [app_monthly_schedule service="XX"]

    Whereas in your earlier post I made the assumption you were trying to add multiple 'Services IDs': [app_monthly_schedule service="1,3,4"] in the Appointment page which the shortcode doesn't support

    Unfortunately what you are trying to achieve is not achievable 'out of the box'.

    ie. You cannot add a subset of 'Services' to one appointment page and then another subset on a 2nd appointment page.

    However, I'm sure this is achievable with some bespoke code.

    Regards
    SteveB

  • Jack Kitterhing

    Hi there @Robb,

    Hope you're well today! :slight_smile:

    Thanks for your patience on this, I've just reviewed the posts between you, me and SteveB and can confirm that SteveB is 100% correct that what you need to achieve isn't specifically out of the box.

    I've added this as a feature request, as it could become a common use case and certainly is interesting, though I couldn't guarantee when that would get added.

    We don't currently undertake custom development work, but you could try posting on the WPMU DEV job board here https://premium.wpmudev.org/wordpress-development/ and I believe SteveB (@pxwm) does undertake custom development work.

    Thank you!

    Kind Regards
    Jack.

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.