Team Booking – the innovative WordPress booking plugin

A deep Google Calendar integration

Make availability plans through Google Calendar… Calendar events become free slots, ready to be booked… Once booked, the relative Google Calendar event will be updated!

Just some plugin’s features

A complete booking solution – services, events, appointments, rooms and so on…

– services, events, appointments, rooms and so on… Planning via Google Calendar – use your Google Calendar to plan availability and manage reservations

– use your Google Calendar to plan availability and manage reservations Collaborative – specify WP roles allowed to be service providers. They can work together for the same service, while keeping their own Google Calendars for availability planning!

– specify WP roles allowed to be service providers. They can work together for the same service, while keeping their own Google Calendars for availability planning! Customizable – tweak general and personal reservation behaviour, frontend calendar style, maps, confirmation email and more.

– tweak general and personal reservation behaviour, frontend calendar style, maps, confirmation email and more. Hassle-free – the frontend booking calendar works out of the box with shortcodes!

– the frontend booking calendar works out of the box with shortcodes! Timezone conversion – let the customers choose their timezones!

– let the customers choose their timezones! Reservation form builder – create your perfect reservation forms!

– create your perfect reservation forms! Payments – with PayPal and Stripe!

– with PayPal and Stripe! Promotions – discount coupons and campaigns!

– discount coupons and campaigns! Complete notification e-mail system – build custom e-mail content with dynamic user data

– build custom e-mail content with dynamic user data Export data – a full reservations database, downloadable as *.CSV and *.XLSX files

– a full reservations database, downloadable as *.CSV and *.XLSX files Fully WPML compatible – requires WPML Multilingual CMS

– requires WPML Multilingual CMS Language support – via .po and .mo files

F.A.Q.

Requirements

Team Booking is a WordPressplugin for appointments and services with a: all the availability plans are made via Google Calendar!Why “team”? Because...and more to come!In order to provide availability for scheduled services, a service provider must do that via Google Calendar. Unscheduled services don’t require a Google Calendar. A customer is not required to have a Google Calendar to book a service.Yes. All these Google Calendar possibilities are perfectly matched by Team Booking! Repeating slots in Google Calendar will help you with repeating availabilities, so you don’t have to create every single slot manually!Multiple-days events (i.e. a single event from April 4th to April 6th) are not yet supported.Yes! But please note that the slot will still have a duration, even if not displayed, that the customer can’t change.Yes. Not only, you can also mix them up as you prefer, via shortcodes.Yes. You can either choose to show the calendar in read-only mode for unlogged users.Yes. The registration landing page is the WP default one, or you can choose any link to a custom registration page.No, they don’t.No, this plugin is made for that.Team booking is tested withand strictly requires

The plugin relies on Google Calendar and more generally on Google API infrastructure’s status to work properly.

If you are going to use the PayPal gateway, then ensure your server being SHA256 and TLSv1.2 compliant, accordingly to the current PayPal standards.

AN IMPORTANT NOTE

Please consider that the above requirements are not there as a joke.

Using old PHP versions may expose you or your clients to security vulnerabilities and bugs that have been fixed in more recent versions of PHP.

Changelog

v2.5.7

- Support for SCA with Stripe - Fix: minor bugs

v2.5.6

- Fix: issue with WordPress 5.1 and containers showing the wrong slot times - Fix: batched e-mail messages not sent in some occasions - Fix: frontend timezone sorting and searching according to locale language - Fix: Google Batch endpoints updated

v2.5.5

- Fix: wrong price displayed in the payment step - Fix: tickets selected always reverted to 1 in some configurations - Fix: coupons were not applied to cart reservations

v2.5.4

- Fix: e-mail template can now be edited - Fix: added the "token" property to the API reservation object - Fix: price increments were not recognized when escaped chars are involved - Fix: custom regex expressions with backslashes now work - Fix: the edit_reservation API now edits the form fields too

v2.5.3

- Fix: payment options not shown during a cart checkout

v2.5.2

- Fix: the selection of the number of tickets was not friendly on mobiles

v2.5.1

- Fix: promotions can't be created due to uncorrectly wrong date format - Fix: reminders were not sent - Fix: reservations database timeout setting were not observed - Fix: payment e-mail page wasn't functional

v2.5.0

- Feature: multiple slots selection (cart) - Feature: full WPML compatibility - Feature: e-mail templates - Feature: frontend slot customers list - Feature: slot commands via Google Calendar - Improvement: selectable template for the cancellation/approval/payment pages - Improvement: services can be read-only - Improvement: past slots can be shown in the backend slots list - Improvement: persistent customer's preferences - Improvement: searchable timezone selector and timezone aliases - Fix: general languages directory is now recognized - Fix: Google PHP API library is now namespaced to avoid conflicts - Fix: admins and coworkers (for their own slots) will open/close limits - Fix: TGMPA library conflict with some themes should be no longer an issue - Fix: All-day events timezone - Fix: wrong dates in PDF export - Fix: reservations were computed 2 times in multisite environments - Fix: sorting order of the form fields were inconsistent - Minor bugfixes

v2.4.3

- Improvement: containers (and only containers) can now be created in a shared Google Calendar also by non-owners - Improvement: e-mail reminders can now be set up to 5 days before - Fix: Stripe payment errors now give some feedback to the user - Fix: recurring events causing bad performance in a multisite environment - Fix: coworker_url e-mail hook now works - Fix: service providers should be able to cancel a confirmed reservation - Fix: "Error calling GET[...]" in rare occasions - Fix: slots were incorrectly set as read-only in rare occasions - Fix: all-day recurring instances were wrongly addressed

v2.4.2

- Improvement: ability to add or prevent the customer being added as a guest to the Google Calendar event - Improvement: customer's phone number available as additional event title data - Improvement: ability to hide the service's name from the frontend slots - Fix: slider's height went crazy when service description contains images - Fix: upcoming events were not showing correctly in some occasions - Fix: recurring containers were not showing correctly when the start time passes while the end date still not

v2.4.1

- Fix: fixed coupons were not working - Minor bugfixes

v2.4.0

- Feature: backend slots list - Feature: single-use coupons - Feature: query string parameters - Improvement: selectable timezone continents - Improvement: show tickets left only under a threshold - Improvement: query string parameters - Improvement: show/hide the map - Improvement: new reservation_id and service_name e-mail hooks - Improvement: do_reservation API request - Improvement: how to treat discarded free slots (show as booked or totally hidden) - Improvement: customizable login URL and redirect back to the calendar page as option - Improvement: new filter to add custom content inside the thank you message - Improvement: custom meta_keys to populate form fields with - Improvement: better and (way) faster recurring events management - Fix: hide_same_days parameter was not working - Fix: reminder e-mail manual sending process now works - Fix: approval rule setting was not correctly loaded - Fix: coupon validation is now case insensitive - Fix: non-admin coworkers were able to see all the reservations in the Overview tab - Minor bugfixes

v2.3.2

- Fix: localization and timezones for the upcoming events list - Minor bugfixes

v2.3.1

- Fix: coupons were not working properly - Fix: new services were not correctly added - Fix: some upcoming list sorting issues - Fix: upcoming shortcode builder was outputting a wrong parameter for selective services

v2.3.0

- Feature: upcoming events list shortcode and widget - Feature: promotions usage limits - Feature: promotions timeslots date bounds - Improvement: a new slots display style - Improvement: dynamic data for booked event titles in Google Calendar (Appointment services only) - Improvement: the Service's name too can now be shown inside the numbered dots - Improvement: PayPal checkout logo and other tweaks - Improvement: data tabbed modals - Improvement: reservations table's items per page is now configurable and persistent on a user-basis - Fix: reminder e-mail messages were not sent under some circumstances - Fix: all-day slots overlapping timezone logic - Fix: create api token read/write was not working - Fix: backend display issues with Firefox - Fix: Google Calendar reminders were set even if not selected - Minor bugfixes

v2.2.2

- Improvement: more colored dots display settings (name of the service can now be added) - Fix: approval/decline issue - Fix: double e-mail messages were sent - Fix: reminder e-mail setting issue - Fix: all-day containers are now correctly parsed

v2.2.1

- Fix: booked slot were always visible regardless of the relative setting

v2.2.0

- Feature: coworkers can be limited to certain services only - Feature: Visual Composer's TeamBooking elements added - Improvement: form fields now can have a description text/html - Improvement: reservations list with bulk actions (you can export selected reservations only) and better filtering - Improvement: incremental price can be set also when the base price is zero - Improvement: sortable built-in form fields - Improvement: basic Google Maps style implemented, Snazzy Maps plugin supported (you can create your own style!) - Improvement: more actions/filters (e-mail generate/send process is completely customizable by a custom script) - Improvement: frontend timezones are now translated to the current language - Improvement: non-decimal currencies are formatted out of the box - Improvement: form elements in the builder now show a preview - Improvement: a reservation now shows an #ID number in any exported stylesheets - Some bugfixes

v2.1.5

- Improvement: cancel/approve/deny e-mail links landing page now inherits your theme's template - Fix: CSS and scripts were not loaded on some themes - Fix: some strings and times were not localized correctly - Fix: CSS issues - Minor bugfixes

v2.1.4

- Improvement: custom WordPress actions for extreme customizations - Improvement: CSS are loaded at the top - Improvement: new API function (get_slots) - Fix: some strings were not translatable - Fix: issue when unscheduled forms are shown directly - Fix: dropdown now works with IE - Fix: decline_link e-mail hook not correctly displayed - Minor bugfixes

v2.1.3

- Fix: Overview time sorting issues - Fix: Full-day events showing the wrong day in some timezones - Fix: Overview error when there is a reservation for a removed service - Fix: Safari and old browser's frontend issues

v2.1.2

Fix: activation issue

v2.1.1

- Feature: realtime Google Maps directions - Feature: Google Calendars interdependence - Improvement: a more clean and informative overview table - Improvement: Stripe's credit card dynamic form - Improvement: database size optimization - Improvement: map zoom level now configurable - Improvement: new [timezone] e-mail hook - Improvement: payment step skipped when the price goes down to 0 due to a promotion - Improvement: built-in fields are now translated on the fly - Improvement: support for .po editing plugins like LocoTranslate - Improvement: a new "review" step during the reservation process - Fix: frontend calendar timezone issues - Fix: Google Calendar event reminders are revert to default when a reservation is cancelled - Fix: selective price not updated in the frontend and e-mail templates - Fix: availabilities not in sync in some multisite environments - Fix: REST API "invalid resource" error - Fix: dropdown overlapping issues - Minor bugfixes

v2.0.5

- Fix: double cancellation email to the coworker/admin - Fix: sold-out label not correctly shown - Fix: minor bugfixes

v2.0.4

- Improvement: added cancellation notification email back to admin/coworker - Improvement: cancellation reason is now configurable in the e-mail body (it's a hook) - Improvement: e-mail hooks start_datetime and end_datetime are splitted in date only and time only too, for a better customization. - Improvement: better-looking, translatable status labels in the frontend reservations list - Fix: visualization issues on some mobile devices - Fix: Event color not correctly restored in particular configurations

v2.0.3

- Fixed reservations were not inserted in the overview tab - Added multisite compatibility - Code cleanups

v2.0.2

- Fixed overview tab getting slow when handling an high number of reservations - Fixed errors in some booking circumstances - Fixed the redirect URL option that can't be de-selected - Fixed the widget when hiding the timezone selector - Fixed a blocking error when full-day events are present - Fixed some database memory leaks - Fixed wrong frontend slot sorting - Added versioning to the scripts/stylesheets (should avoid caching issues after a plugin's upgrade) - Minor bugfixes

v2.0.1

- Fix: some settings were not saved - Fix: "booked" label was displayed also for available events - Fix: wrong count of reservations made by the same customer - Fix: redirect URLs now work - Fix: POST error when using the container mode - Fix: sorting in the backend reservation table - Minor bugfixes

v2.0

- Feature: promotion campaigns and discount coupons - Feature: incremental price depending on selected options - Feature: REST API - Feature: Customer's Timezone selector - Feature: Cancel/Approve/Decline/Pay via e-mail link are now implemented (read the documentation!) - Feature: e-mail reminder for customers (read the documentation!) - Feature: Customer's backend list - Feature: 2-way Google Calendar Sync and overlapping events management - Feature: PDF reservation basic report - Improvement: faster and powerful overview table - Improvement: faster and more reliable Google fetcher - Improvement: additional mapstyles! - Improvement: completely new frontend slot's list and restyled calendar (no more modals, less conflicts) - Improvement: frontend accessibility - Improvement: memory optimizations - Improvement: reservation's customer details can now be edited via backend - Improvement: "When reservations should be opened?" setting implemented - Improvement: reservation database id parameter is passed along the redirection URL for conversion tracking - Fix: Google Maps API token requirement is now supported and documented - Fix: XLSX and CSV issue about missing details - Fix: PayPal IPN server requirements are now enforced - Minor bugfixes

v1.4.2.2

- Several minor bugfixes - Speed and memory optimizations

v1.4.2.1

- Fixed an important speed issue - Fixed ICS issues - Fixed frontend form glitches - Enforced Google Event's privacy

v1.4.2

- Feature: new and more reliable auto update notification system - Feature: frontend reservation list via shortcode - Feature: cancellation by customer - Feature: custom redirect for each service - Improvement: more refined backend overview tab - Improvement: new status management (todo/done) for unschedued services - Improvement: more patterns and borders in the style panel - Improvement: CSS fix for small fonts (themes using 62.5% font-size method) - Bugfixes

v1.4.1.5

- Improvement: selective resource loading - Fix: issues with cloned services - Fix: PayPal IPN don't fail anymore if taxes are added - Fix: a little issue with accented letters in Google Calendar event's description

v1.4.1.4

- Improvement: notification emails to admin/coworker when approval is required - Improvement: pending payment reservations can now be confirmed by admins - Improvement: admins now bypass the payment system in the frontend calendar - Optimization: more efficient external resource loading - Fix: PayPal IPN issue when price is set > 999 - Fix: ICAL file can't be downloaded by non-logged users - Fix: wrong time shown in admin area / emails when PHP default timezone is not UTC - Fix: exception thrown for logged-users-only reservation's modal - Minor bugfixes

v1.4.1.3

- Improvement: notification bubbles for new reservations added in the admin dashboard - Improvement: faster animation types - Bugfixes for coworker approvals - Bugfixes for tickets left counting logic

v1.4.1.2

- Improvement: added 2 new email hooks (coworker_name, service_location) - Bugfixes

v1.4.1.1

- Fix: "Error calling patch"

v1.4.1

- Feature: approval system (no approval, Admin approval, Coworker approval) - Feature: Google Map style customization - Improvement: added a TinyMCE button for shortcodes! - Improvement: the slot's list is now a modal - Improvement: added filtering functions in the slot list - Improvement: general cosmetic refinements both frontend/backend - Fix: fixed "Please reload the page" error in some server's caching circumstances - Fix: a bunch of minor bugfixes

v1.4.0.9

- Fix: cloning bug - Fix: "error calling GET: not found"

v1.4.0.8

- Fix: activation bug - Fix: stucked loading wheel

v1.4.0.7

- Fix: conflict with transit.js - Fix: PayPal listener - Fix: Stripe gateway - Fix: issue with booked slots not correctly excluded

v1.4.0.6

- Bugfix

v1.4.0.5

- Improvement: added a search field in the Overview tab - Fix: coworkers without admin privileges can't save their settings

v1.4.0.4

- Fix: reservations won't be confirmed when paying with Stripe

v1.4.0.3

- Fix: payment gateways were not included correctly

v1.4.0.2

- Fix: first activation error

v1.4.0.1

- Feature: Stripe gateway! - Feature: multiple services container mode! - Feature: custom validation rules for reservation form text fields! - Improvement: auto updater (a valid Envato purchase code is required) - Improvement: way faster frontend calendar when navigating through days. - Improvement: frontend calendar fast month/year selector - Improvement: now also the "Event" class service reservations can be cancelled (revoked)! - Improvement: the core configuration is now very simple thanks to JSON file importer - Improvement: the coworker's auth process and the Google Calendars selection was simplified a lot, less room for user errors! - Improvement: backend overview tab, now multiple reservations records can be selected - Improvement: backend overview tab, reservations can be sorted by "Date of reservation" or by "when" value. - Improvement: better currency management - Improvement: frontend slots list, less space wasted, get rid of "Book now" button - Improvement: the service/event address, when present, is shown in the slots list too - Improvement: reservation modal is more refined and good-looking - Fixes: a lot of bug fixes.

v1.3.9.2

- Fixed a lot of issues when using Container Mode + Event classes - Code refactoring and commenting

v1.3.9.1

- Added option to skip Google Maps library loading if the theme is already loading it - Fix: the thankyou message after the reservation now loads correctly - Fix: cancellation now works well for container slots - Fix: cancellation now correctly resets the event color! - Code cleanup

v1.3.9

- Improvement: a complete admin restyle! - Improvement: CSS classes namespaced (to avoid some themes conflicts) - Fix: annoying bug, date_time hooks not converted in email content - Improvement: added HTML editor to service description textarea - Improvement: added an "update built-in field translation" button - Minor bugfixes

v1.3.8.1

- Fix: the buffer duration now can be correctly set to 0 - Fix: email not sent if php < 5.4 (it causes some hangs during reservations, with buttons that keeps loading) - Fix: avoid uncaught exception on overview tab when a service was previously deleted - Other minor issues fixed

v1.3.8

- Feature: multiple Google Calendars per Coworker! - Improvement: more values added to "when reservations should close" - Improvement: added option to hide/show the "Save on my calendar" button - Improvement: minimum time for "when reservation should close" can be now relative to the slot's end time too. - Improvement: a more correct way to set the From header to comply with security domain policies - Fix: PayPal IPN certificate updated (should fix some IPN issues) - Fix: Google Fonts now load over https too - Fix: fixed dropdown conflict with Bootstrap - Fix: fixed date/time translations issue - Other bugfixes

v1.3.7.1

- fixed a typo

v1.3.7

- Feature: location and maps! - Optimization: frontend ticket selection doesn't rely anymore on ajax calls - Cosmetic tweak: frontend ticket selection now is made with a less fancy select. - Documentation update - Bugfixes

v1.3.6.2

- Documentation updated - Bugfix

v1.3.6.1

- Bugfix

v1.3.6

- Feature: added a new "container mode" for placing availability. - Feature: reservations can now be cancelled (revoked) by admins (Appointments only). - Improvement: it's possible now to manually book/un-book a slot on Google Calendar by changing the title (Appointments only). - Documentation lifting - Major changes in Timezone handlings. - Minor styling changes - Better, clearer and polished settings grouping in back-end - Bugfix

v1.3.5

- Improvement: added TinyMCE editors to email bodies - Improvement: added service color setting - Improvement: added color setting for price tags - Important bugfix: service cloning now does't mess up with custom fields anymore - Bugfixes

v1.3.4

- Improvement: added [post_id] and [post_title] hooks - Improvement: fixed some CSS conflicts with Foundation framework and Enfold theme - Improvement: added option to open the calendar at the nearest month with free slots by default - Bugfix

v1.3.3

- Improvement: a custom profile page can be linked to Coworker's name, if shown - Improvement: services can now be cloned - Improvement: ability to import/export settings - Improvement: custom selects can now be "required" - Improvement: extensions whitelist for file fields - Improvement: frontend calendar cosmetic tweaks (the little numbers inside the gray pointing label now represent how many slots there are, instead of how many total 'tickets') - Improvement: on frontend calendars, the week starts accordingly to WordPress site settings - Improvement: prefilled form fields for logged users can now be hidden - Improvement: small admin backend refactoring - DST Bugfix on notification email

v1.3.2

- Improvement: option to include uploaded files in notification email - Bugfix (reservations went wrong in some scenarios) - Minor bugfix in file upload

v1.3.1

- Minor bugfix for file fields

v1.3.0

- Feature: payments with PayPal! - Feature: file custom fields - Improvement: permanent database for reservations - Improvement: filtering button can now be removed - Improvement: more buffer values for "when reservations should close" - Improvement: SemanticUI assets upgrade - Improvement: Switch from morris.js to charts.js - Bugfixes

v1.2.8

- Feature: frontend service filtering ability! - Feature: ability to show/hide sold-out slots on service basis - Feature: new service class (unscheduled service) - Improvement: services can now be deactivated - Improvement: Coworkers can now choose to participate/unparticipate to each service - Improvement: more buffer values for "when reservations should close" - Improvement: SemanticUI assets upgrade - Improvement: Service prices (preparing to PayPal payments) - Updated documentation - Bugfix

v1.2.7

- Bugfix

v1.2.6

- Bugfix

v1.2.5

- Added: reservation form builder with custom fields (text, textarea, checkbox, radio, select)! - Added: new specific coworker's shortcodes! - Improved: dramatic speed increase (80% faster) on reservations (API optimization) - Improved: advanced error message front-end display - Improved: advanced error message back-end logging system - Improved: list of currently authorized Coworkers in Administrator panel - Improved: way better ticket management for 'Event' services! - Improved: improved calendar graphic customization in Administrator panel, with preview! - Improved: graphical improvements, a more elegant feel - Optimized: got rid of external icons, now using the WordPress built-in ones (dashicons) - Documentation updated

v1.2.1

- Bugfix

v1.2

- Added: download reservations logs and data in *.CSV and *.XLSX - Added: more values and better logic for "when reservations should close" - Resolved a conflict with jQuery Transit library when present - Resolved a conflict with FontAwesome css when present - Minor bugs fixed - Code refactoring

v1.1

- Added: service custom description - Added: frontend schedule list grouping options - Added: choosable max number of log entries per page to show on Overview Tab - Updated documentation - Better user-error handling - Minor code refactoring - Minor bugfix

v1.0

- Initial release - Languages: English, Italian