How to integrate Bookings and Gravity Forms, OR, create user login functionality

So my problem is this:

I need my users to book the delivery date that they want their products on an event calendar that has a finite number of slots per day. This is important because I can't get overrun with too much demand one any one day, That way I can smooth my demand, plan my production and get more capacity if I see demand growing in the future.

I've already set up a form for my users to register using Gravity Forms - no problem there

I also have a plugin called Booking Calendar where users can book to a specific date.

My concern is I will not be able to integrate Booking Calendar within Gravity forms, which means I have to set up two entry forms pages and customers will have to enter the same information twice.

So instead, I think a solution could be to have a LOGIN functionality where customers create a profile. That way I think all the customer data from both types of form could reside under the same user account - at least I think in theory.

My question, then, is how to create the login functionality. Can you give me any suggestions?

Thanks,
Eric

  • Bojan Radonic

    Hey there Eric,

    How are you doing today?

    I'm not really sure how Booking Calendar plugin is working so I couldn't really advise on how to integrate it with Gravity Forms.

    Did you consider using our Appointments+ instead? It offers the same functionality in terms of booking and it has login required options that forces users to login in order to make a booking.

    With that you can create custom registration with Gravity Forms or use any other alternative like BuddyPress (using xProfile fields) that allows you to add more fields to registration.

    Hope this helps :slight_smile:

    Cheers,
    Bojan

  • EricGiauque

    Hi Bojan,

    Thanks for the suggestion...

    If I use Appointments+, I will need it to work in a specific way that may be unique from the general use:

    1. Customers will sign up for a day, not a specific hour within the day.
    2. I want multiple customers to be able to sign up for the same day, and I want to be able to control how many slots are available each day.
    3. When the available number of slots are full, I want the day to show fully booked.
    4. I don't want customers to see the word "appointment" or "booking" in their user interface, as I think it will confuse them. They are just signing up for a the delivery day of their product, but I need to control the number of customers that sign up, so I want to have them "sign up" for what is essentially an appointment. I'll play with this plugin today, but I may want to write some code that customizes the look and feel so it's less like they are signing up for a dental appointment.

    Can you also coach me on how to create custom registration with Gravity Forms?

    Thanks, Eric

  • EricGiauque

    Hi Bojan,
    Hope you are well.

    I think Appointments+ could be promising, but there are several areas where I would need some modifications for this to work as I need it.

    1. Is it possible on to completely remove the section called "My appointments" from the Make Appointments Page? It will only confuse my users to see "Service, Provider, Date/time, or status"

    2. Now that I see the user interface with its pull down called "Select a Service" I believe what I need is to say "Please Select a Delivery Week"

    I want to change the number of open slots through time. Right now, I have a small production capacity, so I don't want too many people signing up at once so that I can't handle the demand. But further in the future, I want more slots available so that when people sign up for them, I would have time to bring more production capacity online.

    I believe I could make this work by creating services named by the delivery week, for example, "March 7 to March 11" (see screen shot)

    I'd also like to change the phrase "click on a free day to apply for an appointment" and instead say "click on a day to schedule your delivery"

    Finally, the font size is very small (see screen capture)

  • EricGiauque

    Also, I have been setting test appointments to see how it would work.
    I notice that when I choose one, I get a pop-up to the left with a green date (see screen shot)
    I would much rather it say the date, not the time

    I then get the confirmation screen.
    Instead of "Please check the appointment details below and confirm", I would like it to just say "Please check the delivery date below and confirm"

    I'd like to remove the the Service Name line completely.
    I would also like to remove the Lasts(approx) line
    And I would like to remove the Google Calendar

    And I would like the button to say "Please Click here to confirm the Delivery Date"

  • Bojan Radonic

    Hey again @ericpgiauque,

    1. Customers will sign up for a day, not a specific hour within the day.

    This is possible, booking slot can be up to one day. What you'll need to do is set service duration to be as long as your working hours for that day so you'll have only one time slot available per day.

    2. I want multiple customers to be able to sign up for the same day, and I want to be able to control how many slots are available each day.

    Number of available times one slot can be taken depends on the number of providers that are available for that service. So for example if you have 3 assigned providers for that specific service your users will be able to select that slot up to 3 times. You can use dummy service providers in case you have only one real provider (these simply forward all the confirmation emails to the one real provider).

    3. When the available number of slots are full, I want the day to show fully booked.

    This works out of a box, once all slots are taken the slot is marked as "busy".

    4. I don't want customers to see the word "appointment" or "booking" in their user interface

    Please note that Appointments+ is translation ready so any words can be easily replaced by using plugin translation files. You can find more information on how to translate plugin here

    2.1. Is it possible on to completely remove the section called "My appointments" from the Make Appointments Page? It will only confuse my users to see "Service, Provider, Date/time, or status"

    Yes definitely, If there are parts like this one that you'd like completely removed instead of replacing text we can use some custom CSS to hide it. Could you please post link to your appointment page and I'll be happy to help with that :slight_smile:

    2.2. Now that I see the user interface with its pull down called "Select a Service" I believe what I need is to say "Please Select a Delivery Week"

    This should be covered in one of the responses above.

    2.3 Finally, the font size is very small (see screen capture)

    We'll change that with some custom CSS as well :slight_smile:

    3.1 I notice that when I choose one, I get a pop-up to the left with a green date (see screen shot)
    I would much rather it say the date, not the time

    This is unfortunately not possible with the monthly calendar. As an alternative you can try using weekly calendar that has all slots displayed per day of the week so it doesn't have additional time popup if that makes sense. You can create one in Appointments -> Settings -> General -> Display Settings by selecting "current week's schedule", please see screenshot.

    If you have additional questions please let me know :slight_smile:

    Cheers,
    Bojan

  • EricGiauque

    1. Customers will sign up for a day, not a specific hour within the day.

    This is possible, booking slot can be up to one day. What you'll need to do is set service duration to be as long as your working hours for that day so you'll have only one time slot available per day.

    I have set the time base to 1440 minutes, which is 24 hours x 60 minutes
    and I have set the working hourse from 12:00 am to 12:00 am

    Is that correct?

  • EricGiauque

    2. I want multiple customers to be able to sign up for the same day, and I want to be able to control how many slots are available each day.

    Number of available times one slot can be taken depends on the number of providers that are available for that service. So for example if you have 3 assigned providers for that specific service your users will be able to select that slot up to 3 times. You can use dummy service providers in case you have only one real provider (these simply forward all the confirmation emails to the one real provider).
    -------------------------------------------------------------------------------------------------

    I've tried setting up dummy providers and I'm running into a problem.

    I've chosen the provider name, checked the "Dummy" box, and chosen the service provided for March 7 to March 11.
    I then clicked on "Save Service Providers"

    But when I try to add another dummy provider, I click "Add New Service Provider", choose my name, check the Dummy box and choose the service provided called March 14 to March 18

    But when I click Save Service Providers, it disappears again.

    I do see in the appointments page that I now have a pulldown list of service providers and I can get a pull down list of services, but I thought I needed 3 providers in order for three customers to sign up on the same day.

  • EricGiauque

    2.1. Is it possible on to completely remove the section called "My appointments" from the Make Appointments Page? It will only confuse my users to see "Service, Provider, Date/time, or status"

    Yes definitely, If there are parts like this one that you'd like completely removed instead of replacing text we can use some custom CSS to hide it. Could you please post link to your appointment page and I'll be happy to help with that :slight_smile:

    ________________________________________________________________________________

    Here is the appointment page -
    https://doodlenoodle.com/make-an-appointment/?app_service_id=2#app_services_dropdown_title

    Is that what you need?

    I'd like to remove the following items:
    1. My appointment section
    2. Please choose a service provider. I will always have only one service provider, so I'd like this to default to me and for this to be hidden
    3. On the confirmation screen, I'd like to remove Service Provider, Lasts (Approx) and Google Calendar

    I will also work on the translation process to replace some of words and phrases

  • EricGiauque

    4. I don't want customers to see the word "appointment" or "booking" in their user interface

    Please note that Appointments+ is translation ready so any words can be easily replaced by using plugin translation files. You can find more information on how to translate plugin here

    ________________________________________________________________________________

    This has been a bit more confusing.

    I went to the blogpost
    https://premium.wpmudev.org/blog/how-to-translate-a-wordpress-plugin/

    It asks me translate using Poedit, so I first downloaded the free version of Poedit, but it did not seem to match the screen shots they were showing in the blog. I even upgraded to the Pro version for $20, but I'm still confused.

    According to the blogpost, Poedit will want me to enter the following data elements (see first screen shot):

    Project Name and Version. In the screen shot example, they have Marketpress, but I assume this should be Appointments +. Is that correct?

    Team: Should this be me? or WPMU Dev?

    Team's email address - mine?

    Language - this is where things are confusing. I don't want to translate into another language. I think what I want to do is "translate" several words and phrases in my base version of Appointments + into different phrases. For example:

    Service --------> Delivery Week
    Appointment --------> Delivery Day

    If I input a language, is Poedit going to allow me to make my own modifications, or will it try to pull from their language translation database?

    CharSet, SourceCode CharSet and Plural Forms - Also not sure what these are or if they are needed.

    As I said, when I open Poedit, I don't get the same view as in the in the blog. See additional screen shots

    I click on the third option - Translate Wordpress Theme or Plugin

    I assume I don't want to create a new translation, but instead create a POT

    It then wants me to drag and drop a plugin folder. I'm pretty sure I uploaded the Appointments + plugin directly through my WPMU Dev dashboard rather than downloading it directly from Wordpress.org, so I don't know of a zip file or folder I can reference. Is the file on my server, and if so, how would I access it? I understand that Poedit is a third party application to WPMUDev, so you may not have insight into this. I belive that with my $20 upgrade, I get some support, so I will try to check with them as well.

    thanks, Eric

  • Bojan Radonic

    Hey again Eric,

    Can you coach me on how to either integrate this into a Gravity form, or set up so that my customer creates a password protected account?

    I'm not really an expert with Gravity Forms, Appointments+ can be set to require login in order to make an appointment. This means any kind of registration is completely separate from the Appointments+ so I don't think any kind of special integration is needed. You can use standard registration or use BuddyPress xProfile fields to add new fields for registration but if you insist on using Gravity Forms for registration you can open a ticket on Gravity Forms Forum and they will help you with that.

    You can set login to be required by going to Appointments -> Settings -> General -> Accessibility Settings -> by settings Login required to "Yes".

    I have set the time base to 1440 minutes, which is 24 hours x 60 minutes
    and I have set the working hourse from 12:00 am to 12:00 am

    You don't have to do it for full 24h, simply set the standard working hours (example 8 hours) and just match service duration with that.

    But when I try to add another dummy provider, I click "Add New Service Provider", choose my name, check the Dummy box and choose the service provided called March 14 to March 18

    But when I click Save Service Providers, it disappears again.

    Can you please grant me temporary admin access via our Dashboard plugin so I can take a look? You'll find more info on how do do that by following this link: https://premium.wpmudev.org/manuals/wpmu-dev-dashboard-enabling-staff-login/.

    I'd like to remove the following items:
    1. My appointment section
    2. Please choose a service provider. I will always have only one service provider, so I'd like this to default to me and for this to be hidden
    3. On the confirmation screen, I'd like to remove Service Provider, Lasts (Approx) and Google Calendar

    First two can be done by removing some of the shortcodes from the appointments page in the admin, and the third one will require CSS. Can you please grant me access as I mentioned above and I'll help with that :slight_smile:

    Regarding Poedit

    You definitely do not need the pro version for this. What you need to do is the following:

    1. Go to /wp-content/plugins/appointments/languages/
    2. download appointments.pot
    3. open it with Poedit
    4. Once you do click on save as and save it as appointments-en_US (if you're using English(United States - you can check in Settings -> General in your admin)
    5. This should create 2 files (.po and .mo) with the same name
    6. Open the appointments-en_US.po and edit the strings that you want to change
    5. Once done save it and upload both files to /wp-content/plugins/appointments/languages/

    Regarding Email

    Would you mind opening a new thread related to this so I don't lose track of everything that we're discussing as you have quite a few questions already in this one.

    Best regards,
    Bojan

  • EricGiauque

    But when I try to add another dummy provider, I click "Add New Service Provider", choose my name, check the Dummy box and choose the service provided called March 14 to March 18

    But when I click Save Service Providers, it disappears again.

    Can you please grant me temporary admin access via our Dashboard plugin so I can take a look? You'll find more info on how do do that by following this link: https://premium.wpmudev.org/manuals/wpmu-dev-dashboard-enabling-staff-login/.

    ----------------------------------------------------------------------------------------------------

    I believe I have already granted access.

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.