4.Manage availability

4.1Introduction

In order to place availability for the scheduled services (Appointment and Event classes), a service provider must give the authorization to TeamBooking to operate with his Google Calendar.

There are two modes of placing availabilities for services via Google Calendar: the Slot Mode and the Container Mode. You can use both, as you prefer, under the right circumstances.

4.2Slot mode

This mode is very simple. Just create an event in your Google Calendar, give the name of the service as title of the event, and it will be read as free slot for that service.

Note: the event title must be exactly the same (case insensitive) as the Event title (free slot) field value (Team Booking => Services => Personal availability settings button, under Actions column). By default, it's equal to the service name.

If the Slot duration rule for that service is set to Inherited from Google Calendar event, the slot start/end times will be the same as the Google Calendar event.

You can create as many events you need, even overlapping ones. They will be read as separate slots.

When a slot is booked, the relative event will be updated accordingly to the settings of Team Booking => Services => Your Google Calendar.

4.3Container mode

The container mode works by the creation of a container event in Google Calendar. This container will be used by Team Booking to put free slots in it automatically.

WARNING: The container mode will not be available if the slot duration rule is set to Inherited from Google Calendar event.

An example: let's say you have a service called Music Class (with the Event title (free slot) setting unaltered), with fixed slot duration of 1 hour and Buffer between consecutive slots set to 30min. Then you can create in Google Calendar an event called Music Class container, let's say from 8:00 AM to 12:00 AM.

Note: In order to be identified as a container for a particular service, an event in Google Calendar should be named as the Event title (free slot) value, plus the word container at the end.

The result on the frontend calendar will be: 3 free slots for Music Class service, respectively from 8:00 AM to 9.00 AM, from 9:30 AM to 10:30 AM and from 11:00 AM to 12:00 AM.

When one of them is booked, a new event will be created on your Google Calendar, inside the container event.

4.3.1Multiple services container

The container mode can also be used for multiple services management, and this is a very interesting feature.

Let's assume you have two kind of services, with different fixed durations (i.e. 60 min and 30 min) and so on. Let's assume you are available from 8:00 AM to 06:00PM, and you want to be available for both services, but if someone book a slot for service 1 (60 min each slot), then you can't be available for service 2 (30 min each slot) in those 60 min (so at least two slots of service 2 will be dropped), and viceversa if someone book a slot for service 2, you can't be available for service 1 in those 30 min (at least one slot of service 1 will be dropped).

Well, you should use the container mode in multiple service dress. How? It's very easy, just name your event in Google Calendar with your service's Event title (free slot) joined with a "+" sign, and put the "container" word at the end.

So, in our example, in order to use a Multiple Service Container for Service 1 (Event title (free slot) = 'Service 1') and Service 2 (Event title (free slot) = 'Service 2'), then the Google Calendar event must be named Service 1 + Service 2 container. That's it!

4.4Slot commands

As of version 2.5.0 you can use some handy commands to put directly into the Google event title in order to apply specific properties to that slot only.

The way to use the commands is to write them at the end of the event title, after the >> separator:

My event title >> command

You can mix multiple commands by writing them comma-separated, as in the example (where command_b requires a value to be specified):

My event title >> command_a, command_b=value

4.4.1Basic commands

Currently, those commands are the following:

  • booked

    to put the slot in a booked/sold-out status.

  • full

    an alias of booked, it produces the same effects.

4.4.2Advanced commands

Note: those commands can be used by service providers with Administrator capabilities. To let the other service providers use them as well, you need to turn the relative setting on (Core settings tab).

Currently, those commands are the following:

  • price=value

    to override the service base price for that slot only (the currency must not be specified).

  • readonly

    to put the slot in a read-only status (it can't be booked).

4.5How events are updated

When a slot is booked, what happens to the relative Google Calendar event? It changes color and title, but that's not the end of the story. Let's have a closer look.

4.5.1Service Class: Appointment

The Google Calendar event for Appointment Service, right after the reservation, will encounter the following changes:

  • Title: from Services > Your Google Calendar > Event title (free slot) value to Services > Your Google Calendar > Event title (booked slot) value.

    Note: If you have selected some Customer's data to appear dynamically in the booked event title, that data will be appended after a || delimiter.

  • Color: from Google Calendar default to Services > Your Google Calendar > Event color after reservation.

  • Description: from whatever it was to Services > Email settings (your reservations)> Notification email body.

  • Location: if the reservation form had an address field, and it was correctly filled, the event location will contain that address. This won't happen anyway, if the service has a fixed location settings, or inherited location setting.

  • Guests: if you have choose to automatically add the customer as guest of the event and if a customer email address is available, then the customer will be added as a guest of the Google Calendar Event. The guest line of comment will have the customer's name and the reservation's date.

4.5.2Service Class: Event

The Google Calendar event for Event Service, right after the reservation, will encounter the following changes:

  • Title: unmodified.

  • Color: from Google Calendar default to Services > Your Google Calendar > Event color after reservation.

  • Description: a text line will be added with customer's full name, phone (if available), email address, number of tickets/seats he booked (e.g. +6 means a total of 6), reservation's ID and date.

    Note: If you have choose to automatically add the customer as guest of the event, then keep in mind that the customer will be able to read the whole event description and therefore the details of the other customers, if any. If you want to avoid that, you can open the "Personal availability settings" and either set the event description to be empty OR disable the automatic inclusion of the customer as guest of the event.

  • Guests: if you have choose to automatically add the customer as guest of the event and if a customer email address is available, then the customer will be added as a guest of the Google Calendar Event. The guest line of comment will have the customer's name, the number of tickets/seats (e.g. +5 means a total of 6) and the reservation's date.

4.6Editing the events

What happens if I edit or move an event in the Google Calendar?

It depends on what kind of event it is.

  • The event is a free/empty slot.

    • If you modify the start/end times, or just translate it, the availability in the frontend calendar will be modified accordingly.
    • If you edit the event's title AND the new title corresponds to the Event title (free slot) of another service, then the slot will be considered for that service. If the new title doesn't correspond to any of your service, the event will be considered as a personal one. If you add some text after a || delimiter, only the text before will be taken as the actual title.
  • The event is a booked/full slot.

    • If you modify the start/end times, or just translate it, the reservation(s) in the database will be modified accordingly.

      Warning: the customer(s) won't be automatically notified of that change. You should possibly take care of that.

    • If you edit the event's title AND the new title corresponds to the Event title (booked slot) of another service, then the slot will be considered for that service. If the new title doesn't correspond to any of your service, the event will be considered as a personal one. If you add some text after a || delimiter, only the text before will be taken as the actual title.
  • The event is a container.

    • If you modify the start/end times, or just translate it, the availability in the frontend calendar will be modified accordingly.