Providing Availability (3-way)

The unique system to plan availability through Google Calendar

Requires the presence of one or more services

Introduction

Providing time slots (availability) using Google Calendar is quite simple.

As you may know, you can have multiple Calendars in your Google Account, so imagine to use one of them (or many of them) to put events that will be interpreted as free (bookable) time slots.

You will manage your whole schedule - not just the busy times as with any other booking systems, but also your working hours, entirely through Google Calendar.

In this guide you will see how though an example. Let's begin.

Connecting Services to Calendars

Let's say our business consists of two services for which we intend to provide time slots in Google Calendar. We've already created and configured those services.

All we have to do now is to go to Availability > Google, where all our Google Calendars are listed.

We have a calendar called Team Booking Demo, created for the sake of this guide, and we want to use it as availability source for both our services.

All we have to do to achieve our goal is to link those two services to that calendar, by selecting them in the field under the Services column. Forget the other columns, for now.

Et voilΓ . What happens now? Well, we have just created the Team Booking Demo Calendar so it's empty (there are no events on it). Therefore, the plugin won't produce any time slot until we create at least one event in the calendar.

So, let's do that!

Creating events in Google Calendar

We want to provide some availability for our 2 services. In this occasion, let's say we are available on:

  1. November 15th, from 9:00 AM to 1:00 PM

  2. November 17th, from 9:00 AM to 1:00 PM and again from 2:00 PM to 5:00 PM

Therefore, we are going to create events that cover those date and times, as shown in the picture.

Now that we have created those events, let's see how they are interpreted by the plugin, in the frontend of our website:

We can see that both our services are present on both days. Our demo instance of the plugin is configured to display the number of slots available for each service, inside the service colored dot (this behaviour can be changed through the frontend customization).

Now you may wonder why, for example, the 15th of November only contains one slot (per service). More specifically, if we select that day and go through the booking process until we reach the time slots selection, let's see how those slots look like for one of the services:

Wait... why there is only one slot that goes from 9:00 AM to 13:00 AM covering the entire availability period?

That's because the service is configured to do so.

But what if that's not what we wanted, for the Dental Care service? We want to offer 1-hour time slots, and those slots must fill the availability period we specified. So we change the service configuration, and then see how it looks like after the change:

So, to recap: we created some events in Google Calendar and they are automatically converted by the plugin into time slots, according to any specific service configuration.

There are many other things that we can do thanks to this simple concept to adapt it to our desired workflow, and something that you may already wonder at this point:

  • We linked 2 services to 1 calendar, that means any event on this calendar will be converted to available time for both services. What if we need to differentiate the available time? What happens to the time slots of a service when we get a reservation for the other one?

  • We created single events in Google Calendar. What happens if we create repeating events?

  • What if we need a buffer time between two adjacent timeslots?

Differentiating availability

We are happy with the configuration of our two example services so far, but we are not quite reached the desired workflow yet.

What we want to do now, is to remove the afternoon availability for the Therapy Session service on 17th November while keeping it for the Dental Care service.

This is how differentiate the availability between the two services in our example:

  1. Unlink the Therapy Session service from the Team Booking Demo calendar.

  2. Link it to another Google Calendar (in our case the existing Team Booking Test, but you can create a new one, remember that you can create unlimited Google Calendars with just one click).

  3. Create events on Team Booking Test calendar as we did before, but with the modifications needed for the Therapy Session service.

Use repeating events

We are not obviously offering our services only on November 15th and 17th, so we have to create more events for them. Are we forced to create availability for any day of the week, month, year? Of course not!

We can use the repeating events feature of Google Calendar, so we can plan in advance and with great flexibility the entire availability of all our services:

Buffer time

We are close... but not yet there. Our Dental Care service actually requires some time between reservations for the facility to get cleaned.

We estimated this time to be 10 minutes. We do not want our customer to book a 1 hour time slot but then tell them to leave after 50 minutes as we feel this unprofessional.

To accomodate this, and considering the fact that our availability can't be extended (again, in our example situation), we face two options:

  • Configuring the service to have a 10 minutes buffer time and keeping the 1 hour slot duration (then sacrificing one slot because, again, our available time can't be extended)

  • Configuring the service to have a 10 minutes buffer time and adapt the slot duration to 50 minutes so we end up with the same number of slots

Both solutions are reasonable, we ended up with the second one.

Reservation time frame

One last thing to do to reach our truly desired workflow!

We have a lot of requests for our Therapy Session service. If we program the availability in Google Calendar for, let's say 3 months, we'll easily end up with all those slots reserved in 1 or 2 days.

We don't want to have 3 months already reserved in advance, so we need to instruct the plugin to "open" the bookings for a given day only when we are 1 week close to it.

Let's configure the service that way, and we're done with this last step!

Last updated