Everything you need for
your creative projects, for
one low cost
I have a request for an enhancement of the calendar view. By clicking on a day with free slots, the calender disappears and the slot’s list will be displayed. Would it be possible to keep the calendar and show the free slots below the calendar? This would increase the usability a lot when searching free slots at different days.
Thanks a lot and best regards
first of all thanks a lot for this great plugin!
When selecting an appointment, the timeslots are shown.
Can you please provide a css rule to customize the color of the green “available” label within the timeslots?
Would it also be possible to hide this label?
Thanks a lot
hello, I have a doubt and it is that I have an Study Academy and I would like people who reserve an hour, for example on Tuesday from 5 to 6, that every Tuesday of the course is already reserved. And not having to manually book each day of the week and time.
I would only need it to show 7 days of the week and to be able to select the hours if they are available.
And that you have the option of coming with more people for a cheaper price, and calculate the price of the days
I don’t have this plugin but if I could do these functions I could buy it
Would that be possible with your plugin?
Dear Mr. VonStroheim,
I am in love with this plugin, but I need to be able to make it work.
Once I start the authorization process of my Google Calendar, it get this message:
You don’t have permission to access this resource.
Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.
Neuroscience & Coaching Institute
Please revise the firewall settings of your webserver, it must accept incoming calls from the Google domains.
Apart from the firewall, anything like mod_security restrictions, security plugins restrictions (WordFence?), .htaccess rules and wrong files permissions may also have an impact on that.
Thank you, will look into that! Great support, by the way.
Dear VonStroheim, may I send you snapshots via email, so we can troubleshoot this?
Kindly, Luis Gaviria
You can find a contact form in my profile page, to engage an email conversation.
Thank you. Will do.
I cannot get the Stripe gateway to active. I complete all the information, and toggle it to “yes” but then the page refreshes and it’s still set to “No”.
I tried removing the keys or updating them and I get a critical error:
An error of type E_ERROR was caused in line 402 of the file /home/username/domains/example.com/public_html/wp-content/plugins/team-booking/src/TeamBooking/PaymentGateways/Stripe/new_lib/ApiRequestor.php. Error message: Uncaught TypeError: array_key_exists(): Argument #2 ($array) must be of type array, Stripe\Util\CaseInsensitiveArray given in /home/username/domains/example.com/public_html/wp-content/plugins/team-booking/src/TeamBooking/PaymentGateways/Stripe/new_lib/ApiRequestor.php:402
#0 /home/username/domains/example.com/public_html/wp-content/plugins/team-booking/src/TeamBooking/PaymentGateways/Stripe/new_lib/ApiRequestor.php(402): array_key_exists()
#1 /home/username/domains/example.com/public_html/wp-content/plugins/team-booking/src/TeamBooking/PaymentGateways/Stripe/new_lib/ApiRequestor.php(125): Stripe\ApiRequestor->_requestRaw()
#2 /home/username/domains/example.com/public_html/wp-content/plugins/team-booking/src/TeamBooking/PaymentGateways/Stripe/new_lib/ApiOperations/Request.php(57): Stripe\ApiRequestor->request()
#3 /home/username/domains/example.com/public_html/wp-content/plugins/team-booking/src/TeamBooking/PaymentGateways/Stripe/new_lib/ApiOperations/Create.php(23): Stripe\ApiResource::_staticRequest()
#4 /home/username/domains/example.com/public_html/wp-content/plugins/team-booking/src/TeamBooking/PaymentGateways/Stripe/Settings.php(264): Stripe\WebhookEndpoint::create()
#5 /home/username/domains/example.com/public_html/wp-content/plugins/team-booking/src/TeamBooking/Admin.php(1483): TeamBooking_PaymentGateways_Stripe_Settings->saveBackendSettings()
#6 /home/username/domains/example.com/public_html/wp-includes/class-wp-hook.php(307): TeamBooking\Admin->savePaymentsSettings()
#7 /home/username/domains/example.com/public_html/wp-includes/class-wp-hook.php(331): WP_Hook->apply_filters()
#8 /home/username/domains/example.com/public_html/wp-includes/plugin.php(476): WP_Hook->do_action()
#9 /home/username/domains/example.com/public_html/wp-admin/admin-post.php(85): do_action()
This is a known issue with some PHP versions. Please get in touch with me privately via my profile page, providing FTP access, for a quick fix.
This comment is currently being reviewed.
Please explain in detail why the plugin doesn’t suit your needs.
It seems that it only works with Google Calendar and I don’t want to use it with Google Calendar. I had understood that it was optional. If it can’t be used independently of Google Calendar, it’s useless to me. I am sorry.
Please request the refund through the Envato website, as you bought from them and I can’t issue refunds automatically. Select “Other” as a refund reason.
I’m experiencing the same issue as someone else who posted a comment here yesterday. When clients press confirm button they get this message.
Oops, there was an error making the reservation!
Sorry, you should contact the administrator providing these informations: Error calling GET https://www.googleapis.com//calendar/v3/calendars/bookingeoinlongphysio%40gmail.com/events/5nmqdo5njovm0pu25lgcq2823v_20220929T070000Z: (404) Not Found
I’ve like 5 licenses of your plugin, not sure if all of them have expired. Happy to renew the support if needed, but please resolve this asap if you can, thank you for your help.
This “error calling GET” error is returned by Google when the event in Google Calendar can’t be found. In my experience, the only reason for that is that the timezone in your WordPress general settings is not set as an actual city timezone.
1) Check your WordPress timezone
2) Ensure that you are running the latest plugin version
3) Check if an event actually exists in your Google Calendar at 2022-09-29 h07:00 GMT
Eventually, get in touch with me privately via my profile page.
I think your plugin will work well for what we need. I was wondering, though, why my site shows the Select and Book buttons when the preview doesn’t. I’d prefer that it either only has the book option or nothing visible but take them to the booking form when they click on it. My site is https://bakeroos.org/calendar to see what I’m referring to. Also, if it does have the button, I’m not sure why it has that weird offset shadow part when hovered. Thanks for your time.
1) The “select” option shows up only if you have activated the “cart” function inside the Core settings tab of the plugin (“select multiple slots”).
2) The strange aspect of the hovered buttons depends on conflicting CSS rules with this file:
especially this rule:
box-shadow: inset 0 0 0 120px rgb(0 0 0 / 18%);
Perfect! Thanks so much!
Hello, my client informs me about a synchronisation problem between a slot booked and the slot display in the Google Calendar.
This company have a particular process of work : the business manager have a Google Calendar where he can see all the employees calendars. So when he see availabilities in the employee calendar, he add appointments.
The problem is that the employee can see the slot from Team Booking in their calendar but the business manager doesn’t. So he add appointments to the employees when they already have appointments booked from Team Booking. That create some big troubles.
Yet, the business manager is capable to see a slot created manually by the employee in his calendar. So it’s technically possible, but it not works when slots are created from Team Booking.
Do you know how to get rid of this problem ? Thanks for your help.
What a Google Calendar shares with another Google Account is a matter of configuration that is made in Google, not something that the plugin can control.
The Google Calendar events created by the plugin have nothing different from an event created manually, except for the fact that they inherit all their visibility properties from the default values of the calendar. When a user creates an event manually instead, they can override certain properties that may affect their visibility.
Long story short: what the business manager sees depends on the configuration of the employee’s calendars and other aspects such as wether they are on a Google business network or not and so on.
I’ve tested right now to share a whole calendar between my Google Accounts with “see all event details” permission, and any of them is capable to see the events that are created by the plugin, also retroactively.
Ok thanks for your answer, I will investigate and coming back to you to give a feedback.
Hello, here is the answer of my client. Do you think their demand is possible ? Because indeed the container take lot of place and is not very readable, especially when they are dozen of calendar managed on the same calendar. Thanks for your answer and your help.
“I have managed to share all the diaries with the business manager but my question is this: Do you know how I could switch the appointments made online (i.e. the ones that appear on the “containers” diary) to the main diary (on which the telephone appointments are made)?
I would like to know how I could switch the appointments made online (i.e. those that appear on the “containers” calendar) to the main calendar (on which the telephone appointments are made). I would like to explain that, as my mother and the business manager manage the appointments of several employees (i.e. several calendars), they find it difficult to see the available slots as the “containers” calendar takes up a lot of space on the slots. The impression is that the slots are already taken. So, for the sake of readability, they uncheck the “containers” diary, but when they make an appointment they have to check the main diary (the appointments made by telephone) as well as the two “containers” diaries of the two employees.
At the moment it’s quite simple as there aren’t many appointments made online but if it develops this organisation could be a source of errors.
So, do you know how I could display the online appointments on the main calendar without displaying the containers?”
The reason behind this request is indeed what I also consider a problem of the current implementation.
The next version which will be out soon will change the way in which providers are supposed to provide availabilities in their Google Calendar towards a simpler (I believe) way which shifts from the event-title-based system to a whole-calendar system.
After granting the authorization, the providers will see the list of all their calendars in the Personal tab. There, they can conveniently assign one or more services to one or more calendar, so that any event in a given calendar (specifically, the union of the events that have the visibility set to “busy”) will be considered as availability for the selected services. No more messing with titles and so on.
Then, a provider may (or may not) select a “destination” calendar for each calendar, that will host the reservation events made for the origin calendar (if someone wants to “emulate” the current behaviour, they can choose the destination calendar to be the same as the origin).
The origin calendar(s) can then be hidden from the main calendar view, if one wants to keep the Google Calendar interface clean and in order.
Let me know by email if you want to “test” this version.
Thanks for your answer. I want to be sure to fully understand : with this new version, it would be possible to :
- hide the containers (or delete it ?) and display only the real appointments made online
- allow someone to have full access to ALL the task in the employee calendar, including those created with Team Booking.
If so, it would be perfect because my client only want this simple thing : see each appointments made online, without seeing the containers.
1) You can hide the Google Calendar where the containers (the word “container” won’t make sense anymore, anyway) resides, so you won’t see the containers in your Google Calendar webpage. This will encourage a service provider to create a new Google Calendar where creating availability events only (do not confuse “new Google Calendar” with “new Google Account”, a Google account can have infinite Google Calendars).
2) Again, the access/sharing settings are a Google Calendar thing, the plugin plays no role there and never did.
Do I have to recreate an event to benefit from this improvement or will it happen automatically? I admit it’s a bit complex to understand, maybe it would be easier with tutorial videos. With Loom for example, it is very easy and quick to do. Sorry.
You won’t need to re-create an event, but eventually you would need to delete some events producing unwanted availability or (more likely) move the availability events in another Google Calendar (creating a new Google Calendar is literally a one-click operation).
I will ensure that the plugin backend, after the upgrade, will present a “guide” that illustrates the adaptations needed.
The shift will happen automatically, but again, since the event title won’t count anymore, any event on the calendar will be considered as an availability time. So if it will work straight after the update, higly depends on how the calendar is currently used by the provider.
I noticed starting yesterday that reservations can’t be booked in the Google calendar.
Timeslots are shown correctly, and the Booking form is also. But after Confirming the reservation, the following error is displayed (and not booking made):
“Oops, there was an error making the reservation!
Sorry, you should contact the administrator providing these informations: Error calling GET https://www.googleapis.com//calendar/v3/calendars/*google-account*/events/qflht44jai98idpiftqfdr50ki_20220928T040000Z: (404) Not Found”
No changes have been made to the server for a long time, so can only think of a change in Google API or their service.
Maybe related to the issue experienced by @teevee70
I noticed the double // after .com
Not sure if that would make the call fail or not.
Which plugin version are you using?
P.S. changes in Google API would have an impact on any user, that can’t be the case.
Thanks for getting back to fast.
Right, the version in use is 2.6.
Is the double // an issue or is that normal behavior?
As mentioned, I didn’t do any change so I am unsure why this started to fail.
Any suggestions to what I can try out to correct this?
2) Check if an event actually exists in your Google Calendar at 2022-09-28 h04:00 GMT
Well, the timezone was set correctly.
However, the calendar series of repeated container entries had stopped earlier this week (sorry for not noticing earlier).
I wonder why I could find free slots in the calendar when there were no more valid container entries?!?
Anyway, I added new container entries but still got the same error.
Then I revoked and reauthorized the authorization on the personal tab. Same error.
Then I revoked the authorization on the coworker tab, reauthorized on the personal tab and then the reservation was possible.
I don’t know what to make of this. The only trigger here was missing containers in the calendar, but free slots still showing up despite that.
I hope this gives you feedback, and thank you for your continued great work!
Thanks for the feedback. Those “random” issues with edited recurring containers on Google Calendar are the primary cause of the next version dropping this event-title-based system in favor of a more intuitive one based on a free/busy query on the whole calendar.
More info will be released soon.
Critical issue with TB Plugin
Hi Von Stroheim, I use your great plugin more than 6 years form my medical practice.
In last days my clients told me , they can not open my web page and use booking calendar . I started with investigation. Average loading time of my homepage was more than 40s.
After deactivation of each plugins step by step I have found TB is a reason of slow loading .
What I did more :
1) clean past reservations
2) optimize and reduce size of WP datase
3) repair TB database
4) reconnect with Google project
5) I tried to make fresh new google project and reconnect
6) switch to original WP theme
But with no success. Only one way to fix loading time is whole TB deactivation or avoid to use TB calendar shortcode.
PHP version 7.4.30
XLSX export Supported
Arg separator &
I will appreciate your advice . Tomas
Speed performance issues depends on your server network performance and on how many calendars/events you let the plugin to fetch.
Are you Google Calendar(s) crowded with events, like unlimited recurring event instances?
I use last version from August 2021. My calendar is not crowded at all. It contains container style of 3 kind of services for working days .
After TB deactivation is loading time les than 1s . With active TB calendar is loading time more than 40 seconds. After page is fully loaded there is error message about Severe wordpress error instead teambooking calendar section. I have recieved wordpress notification e-mail about TeamBooking repeated severe errors in my installation. I have to remark I did not make any changes of my TB config for minimal 2 years.
When I say “crowded” I also mean endless recurring instances.
The “Severe” error you received looks like just the result of a timeout. In any case, feel free to get in touch with me privately via my profile page to investigate more.
P.S. The fact that the loading time increases with TB activated means nothing more than the network is having troubles fetching data from Google (which is what the plugin does in the frontend).The fact that you didn’t change anything, and the fact that the plugin is not changed in the last year still points to a server performance issue.
Thank you VS, I have set end date for repeating events to 1/2024 and situation tends to be better now. Loading time less than 6s. I will try delete all past events as well from my calendar….
Buongiorno, ho un problema della ripetizione di uno slot in particolare quello dalle 9.30 alle 10.00 (dal lunedì al venerdì) vorrei che si visualizzasse solo 1 slot al posto di 2 grazie
Rimango a disposizione
Replied via email.
Hello ! I would like to know how to send multiple notification emails to all website admin each time a reservation is booked. Thanks for your help
Do you intend to send an automatic single email message to many recipients? This is asking for troubles, as almost any email client out there will likely flag that email message as SPAM.
In case you absolutely need this, you can write a very simple extension and hook it into the “tbk_reservation_email_to_admin” action.
If you need help with the process, feel free to reach me via email.
Thanks for your answer. The goal is to inform the business manager each time an employee has a booking. For now it seems that I am the only one who receive this notification by mail. I would like my client to receive too, including the boss and the business manager. Plus, I want the employees to be notified to in their email address. I recently receive a message from my client telling that they did not receive anything to inform them about this booking.
So it is normal that I am the only one who receive notification ? And why I receive it as an admin of the website, but the other admin did not receive ?
Of course, I don’t want these emails to go on spam or create troubles… But if there are booking and nobody is aware, the situation would be complicated.
Thanks for your help.
Have you had a chance to read this paragraph of the documentation?
Hint: get rid of your mailserver, install and configure a proper SMTP plugin such as PostSMTP, for start.
Ok thanks I will check it and try to resolve the problem.
We need to develop a system where customers can make a booking for every 5 minutes on the time chart. There are 3 employees that are able to handle the appointments
Employee 1 can have an appt every 5 mins from 9 – 10 am but have 0900 – 0905, 0905-0910,0910-0915 and so on.
Can we have the booking displayed like 0900 – 0905 3 spaces available
There is a maximum of 12 Persons per booking so we need to identify how many adults and how many children so the booking when it reaches 12 it is then gone. As adults are free there is a maximum of 2 adults per child and a maximum of 4 adults per booking.
Yes, you can do that kind of scheduling (through Google Calendar).
Anyway, you can’t differentiate adults and children in the way you presented. You likely need a custom solution for that.
I’m contacting you because I don’t receive any email when someone makes an appointment. Is this normal?
Assuming that your services are correctly configured about notifications, email delivery issues are not a responsibility of the plugin. The documentation contains an extensive paragraph about email delivery issues as well as many hints to resolve them.
The most important thing is to get rid of your mailserver by installing and configuring an SMTP plugin such as PostmanSMTP.
Let me know!
In the reservation list – how do I remove the “1 ticket” wording?
Are you referring to the backend or to the frontend? Have you had a chance to look at this paragraph of the documentation?
Why does the unsubscribe link not work?
For this, please get in touch with me privately via my profile page, providing FTP access.
I want to customize the font type – how to do that – for all fonts in their tool (frontend*?)
This would require a plugin modification at the moment. Please let me know which fonts do you intend to replace (feel free to get in touch privately via my profile page, so you can eventually send screenshots of the fonts that you intend to customize).
I get this fatal error when trying to add a new email template :
Fatal error: Uncaught TypeError: call_user_func(): Argument #1 ($callback) must be a valid callback, non-static method TeamBooking\Database\EmailTemplates::editor() cannot be called statically in wp-admin/includes/template.php:1401
Can you help?
Which plugin version are you using? Which PHP version are you using?
Hi! Plugin version is 2.6 and PHP version is 8.0.23
Please get in touch with me via my profile page, providing both WP access and FTP access.
The events from Google Calendar are not all displayed on the page. This problem we have only in the current month (September) in the next month are again all displayed. I have removed and added the calendar several times, synchronized several times, gone through the settings but have not found anything, why not all events are displayed.
Can you help me here or do you have any tips?
Use, by you or one client, in a single end product which end users are not charged for. The total price includes the item price and a buyer fee.
Use, by you or one client, in a single end product which end users can be charged for. The total price includes the item price and a buyer fee.
View license details
Price is in US dollars and excludes tax
Millions of creative assets, unlimited downloads.
One low cost subscription. Cancel any time.
Effortless design and video. Made online by you.
Smart templates ready for any skill level.
We'd like to ask you a few questions to help improve CodeCanyon.