=== Salvod Availability Scheduler ===
Contributors: salvod
Donate link: https://ko-fi.com/salvod
Tags: calendar, booking, appointments, google-calendar, whatsapp
Requires at least: 5.0
Tested up to: 7.1
Requires PHP: 7.0
Stable tag: 2.0.10
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

A powerful booking calendar with Google Calendar ICS integration and WhatsApp booking requests, developed by Salvo D.

== Description ==

Salvod Availability Scheduler allows you to display a booking calendar on your WordPress site with Google Calendar ICS integration. Users can view available time slots and send booking requests directly via WhatsApp.

= Features =

* Display a beautiful booking calendar with a shortcode [salvod_availability_scheduler]
* Integration with Google Calendar ICS public URLs
* Customizable texts (labels, placeholders)
* Configurable opening hours for each day
* Configurable break times with visual indicators
* WhatsApp integration for booking requests
* Responsive design
* No third-party API keys needed
* AJAX loading with caching
* Works with any WordPress theme
* Automatic timezone conversion for visitors worldwide
* Supports events of any duration (30min, 2h, 4h, etc.)
* Supports multi-day events
* Clean black and white design
* Lightweight and fast

== Installation ==

1. Upload the `salvod-availability-scheduler` folder to the `/wp-content/plugins/` directory
2. Activate the plugin through the 'Plugins' menu in WordPress
3. Go to the Calendar settings page and configure your settings
4. Use the shortcode `[salvod_availability_scheduler]` on any page or post

== Frequently Asked Questions ==

= Where do I get the Google Calendar ICS URL? =

1. Open your Google Calendar
2. Click the three dots next to the calendar name under "My calendars"
3. Select "Settings and sharing"
4. Scroll to "Public URL to this calendar"
5. Copy the ICS URL

= How do I use the shortcode? =

Simply add `[salvod_availability_scheduler]` to any page or post where you want the calendar to appear.

= Can I customize the texts? =

Yes! All texts can be customized in the Calendar settings page under the "Texts" tab.

= Can I set different hours for different days? =

Yes! You can configure separate hours for each day in the "Hours & Days" tab.

= How does the booking work? =

Users select a day and time, fill in the form, and the request is sent via WhatsApp to your configured number.

= Does the plugin handle timezones correctly? =

Yes! The plugin automatically detects the visitor's timezone and converts all appointment times from Google Calendar ICS to their local time.

= Does the plugin support events of any duration? =

Yes! Whether an event lasts 30 minutes, 2 hours, or multiple days, the plugin will correctly mark all time slots as booked.

= How often does the plugin update from Google Calendar? =

The plugin uses a caching system for optimal performance. Updates from Google Calendar are checked every 5 minutes.

= How does the plugin handle break times? =

Break times are shown as "BREAK" slots with a gray disabled style. Users cannot book these slots.

= What happens if Google Calendar is temporarily unavailable? =

The plugin uses caching to store the last successfully loaded calendar data. If Google Calendar is temporarily unavailable, the plugin will continue to show the last cached data.

= Is there a way to see the calendar without Google Calendar ICS? =

Yes! If you leave the ICS URL field empty in the settings, the calendar will still work and show all days as available for booking.

== Screenshots ==

1. Calendar view with available and booked days
2. Day view with time slots
3. Booking form
4. Settings page - General tab
5. Settings page - Hours & Days tab
6. Settings page - Texts tab
7. Settings page - Credits tab
8. Mobile Responsive - optimized for mobile devices

== Changelog ==

= 2.0.10 =
* Changed plugin name to "Salvod Availability Scheduler" for better distinction
* Security: Added proper escaping for all translated strings
* Security: Removed external proxy service (allorigins.win)
* Performance: Optimized asset loading with wp_enqueue
* Code: Removed unnecessary load_plugin_textdomain() call
* Code: Added proper inline CSS with wp_add_inline_style()
* Added index.php files in all directories for security

= 2.0.9 =
* Fixed responsive layout issues on mobile devices
* Added automatic timezone conversion for Google Calendar ICS events
* Added timezone selection in admin settings
* Improved mobile responsiveness with better padding and margins
* Added support for events of any duration (reads DTEND from ICS)
* Added support for multi-day events
* Added break time support with visual indicators
* Improved error handling for Google Calendar connectivity
* Clean black and white design
* Optimized code for better performance

= 2.0.8 =
* Initial public release

== Upgrade Notice ==

= 2.0.10 =
* Important security and performance update. We recommend updating to this version.

== External Services ==

This plugin connects to the following external services:

1. **Google Calendar ICS**
   - Purpose: Fetches calendar data from public ICS URLs provided by the user
   - Data sent: The ICS URL provided by the user in the plugin settings
   - When: When the calendar is loaded and every 5 minutes for cache updates
   - Privacy Policy: https://policies.google.com/privacy
   - Terms of Service: https://cloud.google.com/terms/

Note: No user data (names, phone numbers, etc.) is sent to any external service. The plugin only fetches calendar events from the ICS URL you configure.

== Credits ==

Developed by Salvo D.

== License ==

This plugin is licensed under the GPLv2 or later. See the LICENSE file for more information.

== Support ==

For support, feature requests, or bug reports, please visit:
https://salvod.de

Or contact:
info@salvod.de

== Donate ==

If you find this plugin useful, please consider supporting my work:
https://ko-fi.com/salvod