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.
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 gain access to a Google Calendar and operate with its data, TeamBooking needs to be connected to the Google APIs. To make such connection, a Google Project
has to be created. Let's see how.
-
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!
-
Go to the Google API Console (the link should open the page in a new tab). If a Google Cloud free trial banner appears on top, just dismiss it. Note that "Create a project" should appear in the dropdown. Click
Continue
.PLEASE NOTE: Google often changes the console aspect. If you find those screenshots not being updated to the current state, just drop a message to our support.
-
The Google Calendar API are enabled. Click
Go to credentials
. -
The Console will ask you three questions.
- "Which API are you using?" should be already set to "Google Calendar API".
- "Where will you be calling the API from?" select "Web server".
- "What data will you be accessing?" select "User data".
Then click
What credentials do I need?
. -
By clicking the
Set up consent screen
button, the browser will open a new tab (we'll go back to the previous tab later, so don't close it). -
In the new tab, select
External
and then clickCreate
. -
Choose an
App name
(it can be anything, just take note of it as you have to provide it in TeamBooking later).Select the
User support email
from the dropdown. -
Scroll down the page and click on
Add domain
to add the main domain of your website. For instance, if your website is "http://mywebsite.com" you need to write "mywebsite.com".Under "Developer contact information" write an email address (it can be the same as the "User support email" one).
-
Then click
Save and continue
. -
On the next step ("Scopes"), do nothing. Just hit
Save and continue
. -
On the next step ("Test users"), do nothing as well. Just hit
Save and continue
. -
Now it's time to go back to the previous browser tab.
Insert the
Authorized Redirect URI
and theAuthorized Javascript origins
.Where you can find both? Just open another browser tab and go to the WordPress admin dashboard of your website. Go to
TeamBooking => Core Settings
tab and copy the URIs from there. Ensure you are pasting them in the correct destination fields.Finally, hit the
Refresh
button. -
After few seconds the button becomes
Create oAuth client ID
. Click on it. -
Take note of the
Client ID
.Then hit
Done
. -
Click on the pencil icon as shown in picture.
-
Take note of the
Client secret
. -
Now the final step. Go to
oAuth consent screen
and click onPublish app
.
The Google Project
is now successfully created and configured. If the above steps were done correctly, you should have the following 3 pieces of configuration:
- App name
- Client ID
- Client Secret
It's time to go back into the plugin dashboard to do the Core configuration.
1.4Core configuration
Go to Team Booking => Core Settings
tab. Fill in the data you've got from the previous step (please note: Product name or Application name, depending on the plugin version, are the App name
).
Save the changes.

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 theAdd new
button. -
Choose a good
Name
(e.g. "House Survey", or "Piano Class", or "Dental Care Session"), the correctClass
and anID
.Note: the name and the ID must be unique, and the ID can't contain white spaces.
-
Press the
Add service
button. Done!
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!