[Appointments+] Booking Steps (vs. Visible Calendar (Manual Update))

Eventhough the Appointment+ (registered) version is full off nice features a few things is annoying. The thing that one have to manually "Show visible time slots" (which also select the proper service) each time a new service is selected is confusing to the customer.
So my suggestion is to make the selection of the service step one (no visible calendar before pressing "show visible timeslots"), picking the date and time is step two, and confirming - putting in details step 3.
If it is already possible please let me know, I wasn't able to find it.

  • Adam Czajczyk

    Hello Jan Andersen

    I hope you're well today and thank you for your question!

    The "3-steps" booking like you described is not possible "out of the box" but the "flow" can be changed a bit so that might be a workaround for you.

    1. Both [app_services] and [app_service_providers] shortcodes can use "autorefresh" attribute like this:

    [app_services autorefresh="1"]

    [app_service_providers autorefresh="1"]

    Adding that that attribute would hide the "Show available times" button and the page would automatically reload, loading relevant calendar, when a customer select service/provider from the drop-down list.

    2. Another option is to "spread" the booking across multiple pages. Instead of single booking page (by default it is a "make an appointment" page) you could create multiple pages dedicated for booking:

    - first page would include a list of available services (or service providers, depending on your booking specifics), that'd be just links to separate pages

    - then on these separate pages you can add booking shortcodes (the same set as on default booking page would work) but with additional attributes so the booking would be for a specific service or provider only; for example, a page for booking specific service could use an [app_services] shortcode like this:

    [app_services worker="123"]

    where value for worker attribute is an ID of a service provider that provides that service only;

    Best regards,
    Adam

  • Jan Andersen

    Hej Adam.

    Thanks you for you swift reply.

    I thought you might have some hidden features or tricks up your sleves :wink:

    I've tried to add no. 1 suggestion - with limited success:

    <td>[app_services autorefresh="1"]</td>
    <td>[app_service_providers autorefresh="1"]</td>

    ... to the make_an_appoint page, but didn't got it working, it update the calendar below but the timeslot is not updated to fit the service intervals, and the button hasn't dissapeared....

    Do I need to enable or tick off/on something to make it working ?

    Kind regards,
    Jan

  • Adam Czajczyk

    Hi Jan Andersen

    Thanks for letting me know and I'm glad that it worked for you :slight_smile:

    As for prices. I understand that you'd like the price to be displayed right on the drop-down list next to the service name, is that correct?

    If so, that's not possible out of the box but I took a look inside the plugin's code and created this little code snippet for you that seems to do the trick. I tested it on my end and I didn't notice any "side-effects" but I'd recommend that you test it again on your end anyway, just to make sure.

    <?php 
    
    function wpmu_app_services_add_price( $services ) {
    
    	// set your price format in this line where %d will be replaced
    	// with price value
    	$price_format = ' - $%d'; 
    
    	$priced_services = array();
    	foreach ( $services as $service ) {
    		$service->name .= sprintf( $price_format, $service->price );
    		$priced_services[] = $service;
    	}
    
    	return $priced_services;
    }
    add_filter( 'app_services', 'wpmu_app_services_add_price', 10, 1);

    To apply it to your site:

    - create an empty file with a .php extension (e.g. "app-services-price.php")
    - copy and paste the code into the file (using some "clean text" editor such as e.g. Notepad++, Sublime or similar)
    - adjust the price format if necessary (see comment in the code, it explains it)
    - save the file and upload it to the "/wp-content/mu-plugins" folder of your site's WP install; if there's no "mu-plugins" inside "wp-content", just create it.

    There's no need to activate anything, it should automatically start showing prices. If anything goes wrong (e.g. the code breaks something on site) it's enough to delete the file.

    Let me know if that worked for you, please.

    Best regards,
    Adam

  • Adam Czajczyk

    Hi Jan Andersen

    Should i make a new request for questions in regards to sorting services in the service selection page, i have the Default Service enabled.

    If you would, please :slight_smile: It's better to keep issues separate if they are not strictly related, even if it's the same plugin. So yes, please :slight_smile:

    after upgrading the plugin the default language text below the service selection pull-down menu ("Our schedule for juni 2018") suddenly changed CSS and back to default english instead of danish

    It would be great if you could start yet another separate ticket for it as well. Just make sure, please, that support access to the site is granted (via "WPMU DEV -> Support" page in site's back-end) and that you post as much details as possible.

    Have a great day!
    Adam

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.