BookSync to Google Calendar
BookSync to Google Calendar
Description
BookSync to Google Calendar is a WordPress plugin that allows users to book appointments directly on your website and automatically sync them with Google Calendar.
Features:
* Interactive calendar with date and time slots.
* Customizable working hours, breaks, and holidays.
* Save appointments to your WordPress database.
* Automatic event creation in Google Calendar.
* Editable labels for frontend fields (e.g., Name, Phone).
* Multilingual admin panel with i18n/l10n support.
System Requirements
- PHP: 8.0 or higher
- WordPress: 6.0 or higher
- Database: MySQL 5.7+ or MariaDB 10.2+
- PHP Extensions: curl, json, openssl
- Server: Apache/Nginx with mod_rewrite enabled
External services
This plugin connects to Google Calendar API to create and manage calendar events. This integration is required for the core functionality of syncing bookings with Google Calendar.
What data is sent and when:
-
During OAuth authorization: When you connect your Google account, the plugin sends OAuth authorization requests to Google’s servers. This includes your Client ID, Client Secret (stored securely in WordPress), and redirect URI. This happens only when you click “Connect Google Account” in the plugin settings.
-
When creating events: Each time a booking is made through the calendar, the plugin sends the following data to Google Calendar API:
- Event title (summary) – contains the client’s name
- Event description – contains the client’s phone number
- Event start and end times (date and time)
- Timezone information
This data is sent immediately when a booking is confirmed.
-
When checking availability: The plugin queries Google Calendar API to check for existing events and conflicts. This includes:
- Date range queries for available time slots
- Calendar ID to identify which calendar to check
This happens when users view available time slots on the booking calendar.
-
Token refresh: The plugin may periodically refresh OAuth access tokens by sending refresh token requests to Google’s OAuth servers. This happens automatically when tokens expire.
Data storage:
* OAuth access tokens and refresh tokens are stored securely in your WordPress database (in the wp_options table).
* Booking data (client names, phone numbers, appointment times) is stored in your WordPress database.
* No data is sent to Google unless you explicitly connect your Google account and configure the API credentials.
Service provider:
This service is provided by Google LLC. By using this plugin with Google Calendar integration, you agree to Google’s terms of service and privacy policy.
- Google Terms of Service: https://policies.google.com/terms
- Google Privacy Policy: https://policies.google.com/privacy
- Google Calendar API Terms: https://developers.google.com/calendar/api/terms
Note: The Google Calendar integration is optional. The plugin can function without Google Calendar connection, but booking events will only be stored in your WordPress database and not synced to Google Calendar.
Security & Stability Recommendations
- Regular Database Backups: Create daily backups of your WordPress database
- Power Protection: Use UPS to prevent data corruption from power outages
- Disk Health: Regularly check disk integrity and replace failing drives
- Keep Updated: Maintain latest versions of your hosting environment and WordPress
- Monitoring: Monitor server logs for any database errors or warnings
Installation
- Upload the plugin files to the
/wp-content/plugins/booksync-to-google-calendardirectory, or install via WordPress. - Activate the plugin through the ‘Plugins’ screen in WordPress.
- Go to “BookSync to Google Calendar” menu in the admin dashboard to configure your settings.
- Add the calendar to any page using the shortcode:
[event_to_calendar].
Faq
Yes. In the plugin settings, you can rename “Name”, “Phone”, and other labels to any language you need.
Yes. You can connect it with Google API credentials and events will be created automatically.
Yes, the admin panel supports WordPress localization with .po/.mo files.
No. BookSync to Google Calendar only creates and manages its own plugin tables using WordPress database APIs. It cannot damage MySQL system files or cause database corruption. Any database issues are typically related to server hardware, power problems, or MySQL configuration issues.
If you experience MySQL issues:
1. Check your hosting control panel for error messages
2. Review MySQL error logs in your hosting environment
3. Ensure regular database backups
4. Contact your hosting provider if issues persist
Reviews
Changelog
1.1.2
- Fixed remaining WordPress Coding Standards warnings for interpolated table names in SQL queries.
- Improved phpcs:ignore comment placement for better code compliance.
1.1.1
- Fixed WordPress Coding Standards errors in database queries.
- Fixed variable naming conventions in uninstall script.
- Improved code quality and compliance with WordPress.org standards.
1.1.0
- Fixed archive structure – files now in root of archive without nested folder.
- Improved plugin installation and activation process.
1.0.9
- Improved plugin activation function with better error handling.
- Enhanced file path validation in activation callbacks.
- Fixed potential issues with plugin file detection.
1.0.8
- Fixed archive structure – removed double folder nesting.
- Renamed main plugin file from event-to-calendar.php to booksync-to-google-calendar.php to match folder name.
- Fixed “Plugin file does not exist” activation error.
1.0.7
- Removed Domain Path header from plugin file (WordPress.org handles translations automatically).
- Excluded .distignore file from distribution archive (hidden files not permitted).
- Fixed automated plugin scanning issues for WordPress.org submission.
1.0.6
- Replaced all plugin prefixes from “ges” (3 chars) to “bsgcal” (6 chars) to meet WordPress.org requirements.
- Updated all function names, class names, constants, options, and AJAX actions with new unique prefix.
- Fixed generic function/class/define/namespace/option names issue for WordPress.org compliance.
- All plugin identifiers now use unique “bsgcal” prefix to prevent conflicts with other plugins.
1.0.5
- Fully compliant with WordPress Coding Standards (WPCS) for WordPress.org submission.
- Fixed all MissingTranslatorsComment errors – translators comments now properly placed inside sprintf/printf functions.
- Improved code quality and security standards compliance.
- Ready for WordPress.org repository publication.
1.0.4
- Fixed WordPress coding standards compliance issues.
- Added translators comments for all translatable strings with placeholders.
- Fixed output escaping issues in admin interface.
- Improved input sanitization with proper wp_unslash() usage.
- Fixed prepared SQL statements with proper phpcs comments.
- Enhanced security by properly escaping all output variables.
1.0.3
- Updated plugin name to “BookSync to Google Calendar” for better uniqueness and clarity.
- Improved plugin branding and professional appearance.
1.0.2
- Fixed WordPress coding standards compliance issues.
- Added proper nonce verification for AJAX requests.
- Improved input sanitization with wp_unslash().
- Enhanced security with proper escaping functions.
- Added debug logging controls for production environments.
1.0.1
- Fixed time format display issue – now uses 24-hour format by default.
- Added time format setting in admin panel (24-hour vs 12-hour format).
- Improved compatibility with different WordPress locales.
- Enhanced user experience for international users.
1.0.0
- Initial release.
- Interactive booking calendar with Google Calendar sync.
- Customizable working hours and time slots.
- Multilingual admin interface.
- Comprehensive system compatibility checks.