Git Product home page Git Product logo

easyblue's Introduction

CraigT543

Integration tools for Amelia - WordPress Appointment and Event Booking Plugin and Woocommerce

I am sharing some functions that help more completely integrate Amelia with Woocommerce. Out of the box Amelia does ok if a client books on their own. But if payment is recieved in the office there is no integration. One must record the payment in both Amelia and in Woocommerce if you need your clients to have access to a pay invoices on line.

The amilia-users-update.zip WP Plugin

I am a solo practitioner and not a clinic. So this works great in that context. If you plan to impliment the functions for your clinic, adjustments may need to be made. These tools presuppose that you have a website that requires log in prior to booking an appointment. In my case I have a client portal that clients must log in to use. So, the wordpress User ID needs to be linked to the Amelia User ID and the Woocommerce User ID for all existing clients and for new registers. The first item I have developped is a plugin to migrate all existing wordpress users to be Amelia users: amilia-users-update.zip. You essentially use this plug in once and you are done you can delete it when it has finished. Load it manually. Activate it. And you will then see it in the settings portion of your wp-admin dashboard as "Amelia User Update". When you click into that you will be brought to a page with one button that says "Update Amelia Users Table". Push that button and then all current wp users are now imported into Amelia as users. You now can deactivate and delete the plug in.

WP functions.php

In the functions.php file I have a group of functions that can be pasted into your child theme's functions.php file. Or you can make it into a plug in. Both will work. I recommend the plugin method.

TABLE OF CONTENTS

  1. Add users on login
  2. Schedule Hook to Run update_my_wc_orders() at least daily
  3. My Amelia Orders Webhook Endpoint
  4. Function to Update WC Orders to Reflect Amelia Appointments Payment Status -- update_my_wc_orders()
  5. Function to Update Amelia Orders to Reflect Customer On-line Payment

The first function, add_users_on_login() will make any new regestered user an Amelia user as well. The schedule hook assumes that you are running WP-Cron (recommended but not required). The Amelia Orders Webhook requires that you add the webhook into Amelia's admin pannel at settings>integrations>webhooks. Fill in the form thus:

Click to save this and it will run when an appointment booking is completed. Webhooks have a bit of a delay so wait a few minutes and you will see the order created in Woocommerce. If you have WP-Cron running, every night it will update any changes that you have made in your appointments durring the day. And it will update any time you enter payments in amelia on the admin pannel and mark them as paid. This will then be reflected in Woocommerce.

The last function updates Amelia if a customer makes an on-line payment to the Wordpress Orders Pannel

easyblue's People

Contributors

bullmoose20 avatar craigt543 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

easyblue's Issues

Not Working Calendar Wrong when Week start on monday

Hi Craig, Hi Nick
Really thx to you for this modding it's a really great job !
in my EA mod by you, i don't understand this issue, the 'not working' was wrong
in the setting calendar week start on monday
1
2

thx for you helping

new fields in ea_appointments table

hey , i added two new fields in ea_appointments table and i add them also on the front end ,, like its shown in the picture , but the only problem is that i can not figure out how to insert those values in the database table . i would appreciate a small guide on at lease from where to start or how the data is being added to the database ,any help would be appreciated :)

2017-05-08

Selecting All Providers does not return all available slots

In the appointment selector, choosing - Any Provider - does not return all available slots for a given service.
Choosing any discreet provider does return the available slots.

Shouldn't the - Any Provider - return the composite view of all available providers of a given service?
I have tested this behavior on base EA and with Easy Blue 1.2.1 with same results.

Additionally, the logs show

"ERROR - 2018-02-23 10:41:40 --> Severity: error --> Exception: $provider_id argument is not a valid numeric value: any-provider /path-to-app/application/models/Providers_model.php 319

Any help is appreciated

Ajax: Internal Server Error

Getting an ajax error with details "Internal Server Error" when attempting to schedule appointment from front-end. Also the remove "select provider" function does not seem to be working.

LDAP authentication

Thank you, nice project!

Is LDAP authentication planned?

Best Regards
Husi

Feature Request: Docker

Can we please get a Docker build of this? the recipe is part of Alex's build or circa10a's repositories. Probably wouldn't be difficult to replicate. You'd need to start a hub.docker.com repository to make it really easy, but I'd be happy with one that I can clone from github.
Much appreciation of your work.

Integration into wordpress failed

Hi!

I tried to integrate easyblue into wordpress (WP 4.7.4 out of the box with twentyseventeen template set) using your description under section "Making it all work in WordPress" Option 2)

It all works great, I can install easyblue under subdir in wordpress, insert database Settings in config and can call Setup/Homepage from easyblue under my wordpress URL to configure it.

After that I set "Then when all is installed and running I set the WP_HEADER_FOOTER to true."

And reload URL ... blank page :-(

Tried to set debug flag in wp_config to true, but did not get any error message displayed.

Webbrowser console says "Error 500"

Tried older templates - but same effect.

Can you help?

Best regards,
Kai

Vanilla Build fails on getting unavailable_dates

timeout error of 500,
[23-Mar-2017 00:03:42 CST6CDT] PHP Fatal error: Allowed memory size of 805306368 bytes exhausted (tried to allocate 32 bytes) in /home/complexe/public_html/eb/application/controllers/Appointments.php on line 906

Not sure what is going wrong.....

You also get a json error when you wait about 25 seconds on first page.

Bug in your EA fork in Email.php

Hi Craig,

It looks like I cannot open an issue in your ford of EA (https://github.com/CraigT543/easyappointments ).
Thus, I opened an issue in EasyBlue in order for you to be warned.

So, in your EA fork, the latest revision of Email.php in your master branch contains conflict markers around line 169 (CraigT543/easyappointments@55bdd2b)

        // Prepare template replace array.
        $replaceArray = [
<<<<<<< HEAD
            '$provider_address'	=> str_replace(', ,','',$address_provider), 
=======
            '$provider_address'	=> str_replace(', ,','',$address_provider),  
>>>>>>> 64ef358edd11937ce163961f3d6ece5e5f44eb13

Hope it helps

5-day work week

Hi Craig,

Would you be able to advise how the calendar view could be set to show only 5 days - Monday to Friday?

Thank you

after booking, cannot change or add bew service/provider

Hi,

I found another bug related to your enhancements. Here is the scenario:

Book an appt, then upon completion, go back to booking where there are three buttons. Click on add new. Then change the service and the step 1 of the wizard does not update automatically So the user cannot create a new appointment with a different provider or service.

It's like upon change in step 1, a refresh does not happen. Any ideas?
Nick

available times placement

Hello, having trouble resolving an issue with the way the available appointments are displaying..
issue

Cancel Appointment does not bring up Reason frame

Create an appointment, then in the email you receive, click on the link to edit.

Click on the cancel appointment button - You will get a Reason Frame popup. Hit cancel to exit the reason frame without cancelling the appointment - THIS WORKS

Now do the same, but instead, click on the Edit/Modify button where you end up with the Cancel Appointment button in the top right of the screen. Click cancel here and it cancels without prompting for a reason. - THIS FAILS because it does not prompt for a reason.

User Registration

Is it possible to modify so that participants/users can register and login to the application and see/modify their booking ?

how to install ?

Hi, First, thanks ofr sharing your work.

I 'm a little bit desapointed but I cannot install easyblue ...
I upadte te config file with my db access, but I still have a white creen :-(

Best regards from french alps ;-)

Emmanuel

Begin Utilization of SMS Reminders

Hi, I love the application.

I was wondering how I could get the SMS reminders to work? Right now they do not send. Is there an application I have to purchase or code mods that need to be made for the messages and reminders to go out through email and through texting?

Thank you so much!

All-day events from Google Calendar

The sync feature doesn't seem to pull in all-day events from Gmail. I booked a multi-night hotel stay and Gmail automatically parsed my confirmation email to create an event on my calendar. If I'm on travel I'm not available so I'd like to be able to sync these automatically generated "all-day" events from Gmail.

waiting list shows more than real available times

Set up an appointment in backend as 480 minutes
Setup an availability in the store with less than 480 minutes
Try to find available time slots in the week, none will be found as expected.
Add yourself to the waiting list. When you get the email, a bunch of availabilities show which is the bug.

ajax_change_language

Why would ajax_change_language need to access the roles_model and why is it failing on a foreach line? More details on google groups.

Req: Service Providers OFFERS time-slots

Hi!

is there any solution for Service Providers to offer time-Slots?

Current I have to set working hours per day of week per Provider.

Providers can block some time Slots.

But I´m in search for the "reverse" function:

Calender Settings offers no work time, but Providers can offer working hours (e.g. wors on saturday 13..5.2017 from 9 til 17).

Any hint?

Thanks

Not sending appointment Text Messages.

Not sure if I am missing some configuration somewhere but, text messages do not send to clients. I have tried turning on/off Confidentiality Notice and Agreement and verified receive notifications is checked under client. Does not change anything.

Adding fields in booking front end

Hi, I am trying to add two more fields in the first stage of the appointments, where you select Service and provider, also how do i rename service and provider to something else like subject and tutor

Multiple User Calendars

Hi,

I love Easy Appointments & Easy Blue!

How can I add a second google calendar to the mix that will allow for 2 way sync? Is this possible?

Add customer search in new appointment when cookie session is valid

Suggest enhancement: when operator or admin is logged in, in new appointment add select, like in backend appointment editor. Also I suggest use fiscal code instead of email as unique id because fiscal code is universally unique in the world and also assigned at all people. For searching customer, I suggest a lightbox. If I have time, I try to implement this. For unique id with fiscal code I have made some changes in my installation. Sorry for my bad english

Unable to install!!!HELP

I make all the install steps as describe but I always have a
Unexpected Issue
Details
The installation could not be completed due to an unexpected issue. Please check the browser's console for more information.

I try to install the original E!A and works perfect but when I try to install this one, it always gave me the same error

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.