1.Getting started

1.1Plugin installation

In your WordPress admin dashboard, go to Plugins > Add New, and click on Upload Plugin button.

Choose the team-booking.zip file to upload (the one inside the main .zip package you have downloaded from CodeCanyon), and click to Install Now

Once done, activate the plugin.

Note: TeamBooking requires a version of PHP >= 5.3 and it's tested from WordPress 4.0 to the latest version.

Something's wrong after the activation? Please read this paragraph

1.2Updating the plugin

Something's wrong after the update? Before asking for assistance, please try to go to the Core settings tab and press the Repair database button.

There are two ways to keep TeamBooking up to date.

1.2.1Automatic update notification (recommended)

After the plugin activation, you'll be asked to install the recommended Envato Market plugin (if you don't already have it). This additional plugin, when configured, handles all the updates of your installed themes/plugins from Envato.

Great, but it's my first time with Envato Market plugin... what should I do, exactly?

Once installed and activated, you will notice a new dashboard item with a leaf logo. Click on it and go to the Settings tab:

Here you can chose between Global OAuth Personal Token or Single Use OAuth Personal Token.

A Single Use personal token is the one you should use if you have purchased TeamBooking on behalf of a client. Follow the instructions, then save the changes. From now on, you'll be notified by the Envato Market plugin of any item update, which you can do with just a click.

The update process should be seamless, anyway you'd better do a backup before updating, just in case.

1.2.2Manual update, via FTP

Assuming you have just downloaded the latest plugin version from Envato, then follow those steps:

  • deactivate the plugin
  • replace via FTP the Team Booking plugin folder with the content of team-booking.zip file
  • activate the plugin

1.3Google Project setup

In order to have access to a Google Calendar and operate with its data, TeamBooking uses the Google APIs. To allow TeamBooking to use the Google APIs, a Google Project needs to be created. Let's see how.

  1. Log into your Google Account.

    A Google Account is essential to create a Google Project, but which Account it is of no importance, it can be any, either you'll use its Google Calendar to plan availability or not.

    You DO NOT NEED to activate the Google Cloud trial, nor any other paid storage option!

  2. Go to the Google API Console and press the Create button.

    PLEASE NOTE: Google often changes the console aspect. If you find that those screenshots are not updated to the current state, please drop a message to our support.

  3. Name the project as you prefer, and create the project.

  4. Wait for the project creation, you will be automatically redirected to the IAM & Admin overview page.

    Now reach the API Manager overview by clicking to the upper left corner three-lined icon, select the "API Manager" from the menu and click on "Library" (or just by following this link).

    In the search field, write the word "calendar" to quickly select the Google Calendar API. Click on it.

  5. Click on Enable API button, to enable the Calendar API.

  6. Once enabled, click on Create Credentials button.

  7. Skip the questions by clicking directly on Client ID link, as in picture:

  8. You'll be asked to configure the consent screen, so click on Configure consent screen button.

  9. Provide a consistent Product Name (e.g. your site name) and a nice logo URL (this will give a more professional look to the auth requests). The Product Name is not optional. Please also be sure that your e-mail address is correctly in place, then save.

  10. You'll now be asked for the Application type. Choose the Web Application option and insert the Authorized Redirect URI and Authorized JavaScript Origins.

    Where you can find both? Just open another browser tab and go to your site's WordPress admin dashboard. Go to Team Booking => Core Settings tab and copy the URIs from there, as shown in picture. Ensure you are pasting them in the correct destination field. Then press the Create button.

  11. A popup will show your Client ID and Client Secret. Just press OK to close the modal. Now, press the Download JSON button to download the configuration file, as shown in picture.

The Google Project is now successfully created and configured. It's time to go to the TeamBooking dashboard.

1.4Core configuration

Do you remember the JSON file you've downloaded from the previous step?

Go to Team Booking => Core Settings tab. Click on Import from JSON file button.

Select that JSON file and hit OK. Now, the Client ID and Client Secret should be populated (and locked). The only empty field left is the Product name one. Fill it with the product name you just gave to the Google Project, and save the changes.

Now, the Product name field should be populated and locked too.

WARNING: once populated, Client ID, Client Secret and Product Name must not be changed. Doing this at some point later, will certainly cause issues with any already authorized coworker. Please keep this in mind, when you have multiple WordPress Administrators that can accidentally change those values. But if you really need to edit their values, assuming you know what you're doing, just press the lock switch, and the fields become editable.

TeamBooking is now ready to work with Google APIs. At this point you should define your business workflow.

1.5Create services

What is a service? It's an event, an appointment, a conference, a class, an estimate request, a room and so on: everything you're offering to your customers that needs to be booked.

There are three classes of services:

  • Event: a conference, a collective music class, rooms... Everything that involves tickets and/or attendees.

  • Appointment: the service providers can be techicians, psychologists, medics. This Class is made for that kind of reservations, with just one customer per timeslot.

  • Unscheduled: a service with no scheduling needs. Think about support tickets, estimate request, and so on. Just a plain request form will be shown, with no calendar.

How to create a new service?
  • Go to Team Booking => Services tab, and press the Add new button.

  • Choose a good Name (e.g. "House Survey", or "Piano Class", or "Dental Care Session"), the correct Class and an ID.

    Note: the name and the ID must be unique, and the ID can't contain white spaces.

  • Press the Add service button. Done!

1.6Authorize the plugin

In order to make an availability plan for the services, a service provider (coworker) must give permission to TeamBooking to operate with his Google Calendar.

Depending on your business workflow, you may have just one service provider (e.g. the admin), or several service providers (e.g. the admin and a team of coworkers).

Since the authorization process is something that happens between TeamBooking (or rather the Google Project behind it) and the Google Account of the service provider, it's important to understand that a service provider must go through the following authorization steps while logged in his own Google Account.

Note: If you are working with a team of service providers (coworkers), this step must be done by each of them.

How can I (or any other service provider) give this authorization?

In order to give the authorization, go to the Personal settings tab in your TeamBooking dashboard. Press the Authorize button.

Now, two things can happen:

  • You are not logged in your Google Account. A Google Login prompt will appear, and you are invited to login. After the login, Google asks you to confirm the authorization to TeamBooking (or whatever was the Product name given during the core settings step).

    Just confirm, and you will be redirected back to your Personal settings tab, where your Google Account is now authorized.

  • You are already logged into your Google Account. Same as the previous one, but without the login step.

TeamBooking is now able to interact with your Google Account. Just one thing is left: choose one or more Google Calendars from your account.

1.7Select your Google Calendar(s)

Once a service provider (coworker) gave the authorization, TeamBooking is able to interact with his Google Account. After that, he must choose the Google Calendar(s) he want to use (as you may already know, a Google Account can have unlimited Google Calendars).

Go to Team Booking => Personal Settings tab, and press the Add new button.

A modal will appear. Here you can select one of your Google Calendars.

Add it, and a new row in the table appears with your calendar properties. It's very important to ensure that the status is synced. Otherwise, just press the Sync button under actions to perform a manual sync request.

You can also check the Google Calendar's timezone and compare it to the local WordPress timezone. The plugin's frontend calendar always transpose all the times to the local timezone by default, unless the customer changes the displayed timezone.

You can add multiple Google Calendars, if you need to. Just repeat the step.

At this point, Team Booking knows from which of your Google Calendars the data must be fetched.

1.7.1Google Calendar's interdependency

Note: the following is useful only if you have added more than one Google Calendar

By default, a calendar is set to independent. That means that events on it can't affect (and can't be affected by) the events that reside in all the other added Google Calendars.

Viceversa, if you de-select the independent status of a calendar, the events on it will affect (and will be affected by) the events that reside in all the other non-independent Google Calendars. This is particularly interesting, just as example, when you are used to keep your personal events in a separate Google Calendar but still want those events to block the services availabilities when they overlaps (see the Personal availability settings paragraph for more details about overlapping features).

1.7.2Keep them clean

The Delete past events button offers an interesting feature: you can keep your Google Calendar clean (and the database lighter and faster) by deleting the past events on it (going backwards from the last week as a security buffer). The eventual reservation records in the database won't be deleted. Please note: all kind of events will be deleted, not only those related to TeamBooking.

1.8Let's go

If you have followed all the previous steps, now the plugin is ready to work. You, or your service providers (coworkers) should now begin to plan availabilities and fine-tune the settings. In order to learn how, please read the dedicated chapters of this documentation.

The next chapters are about configurations, settings and so on, so you can trim all the aspects in order to suit your needs.

Enjoy!