{"id":347337,"date":"2026-09-18T17:21:48","date_gmt":"2026-09-18T17:21:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/sal-booking-calendar\/"},"modified":"2026-09-18T17:21:28","modified_gmt":"2026-09-18T17:21:28","slug":"salvod-availability-scheduler","status":"publish","type":"plugin","link":"https:\/\/az.wordpress.org\/plugins\/salvod-availability-scheduler\/","author":23537939,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.0.10","stable_tag":"2.0.10","tested":"7.1.1","requires":"5.0","requires_php":"7.2","requires_plugins":null,"header_name":"Salvod Availability Scheduler","header_author":"Salvo D.","header_description":"A powerful booking calendar with Google Calendar ICS integration and WhatsApp booking requests","assets_banners_color":"ccd7ed","last_updated":"2026-09-18 17:21:28","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/ko-fi.com\/salvod","header_plugin_uri":"","header_author_uri":"https:\/\/salvod.de","rating":0,"author_block_rating":0,"active_installs":0,"downloads":43,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"2.0.10":{"tag":"2.0.10","author":"salvod","date":"2026-09-18 17:21:28","revision":3702427}},"upgrade_notice":{"2.0.10":"<ul>\n<li>Important security and performance update. We recommend updating to this version.<\/li>\n<\/ul>"},"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3702427,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3702573,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["2.0.10"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3702427,"resolution":"1","location":"assets","locale":"","width":1588,"height":2117},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3702427,"resolution":"2","location":"assets","locale":"","width":1588,"height":3180},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3702427,"resolution":"3","location":"assets","locale":"","width":1576,"height":863},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3702427,"resolution":"4","location":"assets","locale":"","width":1588,"height":1008},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3702427,"resolution":"5","location":"assets","locale":"","width":1588,"height":1648},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3702427,"resolution":"6","location":"assets","locale":"","width":1606,"height":828},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3702427,"resolution":"7","location":"assets","locale":"","width":1588,"height":1279},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3702427,"resolution":"8","location":"assets","locale":"","width":585,"height":1627}},"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 &amp; Days tab","6":"Settings page - Texts tab","7":"Settings page - Credits tab","8":"Mobile Responsive - optimized for mobile devices"}},"plugin_section":[],"plugin_tags":[8132,269,416,4743,3160],"plugin_category":[40],"plugin_contributors":[281510],"plugin_business_model":[],"class_list":["post-347337","plugin","type-plugin","status-publish","hentry","plugin_tags-appointments","plugin_tags-booking","plugin_tags-calendar","plugin_tags-google-calendar","plugin_tags-whatsapp","plugin_category-calendar-and-events","plugin_contributors-salvod","plugin_committers-salvod"],"banners":{"banner":"https:\/\/ps.w.org\/salvod-availability-scheduler\/assets\/banner-772x250.png?rev=3702573","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/salvod-availability-scheduler\/assets\/icon-256x256.png?rev=3702427","icon_2x":"https:\/\/ps.w.org\/salvod-availability-scheduler\/assets\/icon-256x256.png?rev=3702427","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/salvod-availability-scheduler\/assets\/screenshot-1.png?rev=3702427","caption":"Calendar view with available and booked days"},{"src":"https:\/\/ps.w.org\/salvod-availability-scheduler\/assets\/screenshot-2.png?rev=3702427","caption":"Day view with time slots"},{"src":"https:\/\/ps.w.org\/salvod-availability-scheduler\/assets\/screenshot-3.png?rev=3702427","caption":"Booking form"},{"src":"https:\/\/ps.w.org\/salvod-availability-scheduler\/assets\/screenshot-4.png?rev=3702427","caption":"Settings page - General tab"},{"src":"https:\/\/ps.w.org\/salvod-availability-scheduler\/assets\/screenshot-5.png?rev=3702427","caption":"Settings page - Hours &amp; Days tab"},{"src":"https:\/\/ps.w.org\/salvod-availability-scheduler\/assets\/screenshot-6.png?rev=3702427","caption":"Settings page - Texts tab"},{"src":"https:\/\/ps.w.org\/salvod-availability-scheduler\/assets\/screenshot-7.png?rev=3702427","caption":"Settings page - Credits tab"},{"src":"https:\/\/ps.w.org\/salvod-availability-scheduler\/assets\/screenshot-8.png?rev=3702427","caption":"Mobile Responsive - optimized for mobile devices"}],"raw_content":"<!--section=description-->\n<p>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.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>Display a beautiful booking calendar with a shortcode [salvod_availability_scheduler]<\/li>\n<li>Integration with Google Calendar ICS public URLs<\/li>\n<li>Customizable texts (labels, placeholders)<\/li>\n<li>Configurable opening hours for each day<\/li>\n<li>Configurable break times with visual indicators<\/li>\n<li>WhatsApp integration for booking requests<\/li>\n<li>Responsive design<\/li>\n<li>No third-party API keys needed<\/li>\n<li>AJAX loading with caching<\/li>\n<li>Works with any WordPress theme<\/li>\n<li>Automatic timezone conversion for visitors worldwide<\/li>\n<li>Supports events of any duration (30min, 2h, 4h, etc.)<\/li>\n<li>Supports multi-day events<\/li>\n<li>Clean black and white design<\/li>\n<li>Lightweight and fast<\/li>\n<\/ul>\n\n<h3>External Services<\/h3>\n\n<p>This plugin connects to the following external services:<\/p>\n\n<ol>\n<li><strong>Google Calendar ICS<\/strong>\n\n<ul>\n<li>Purpose: Fetches calendar data from public ICS URLs provided by the user<\/li>\n<li>Data sent: The ICS URL provided by the user in the plugin settings<\/li>\n<li>When: When the calendar is loaded and every 5 minutes for cache updates<\/li>\n<li>Privacy Policy: https:\/\/policies.google.com\/privacy<\/li>\n<li>Terms of Service: https:\/\/cloud.google.com\/terms\/<\/li>\n<\/ul><\/li>\n<\/ol>\n\n<p>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.<\/p>\n\n<h3>Credits<\/h3>\n\n<p>Developed by Salvo D.<\/p>\n\n<h3>License<\/h3>\n\n<p>This plugin is licensed under the GPLv2 or later. See the LICENSE file for more information.<\/p>\n\n<h3>Support<\/h3>\n\n<p>For support, feature requests, or bug reports, please visit:\nhttps:\/\/salvod.de<\/p>\n\n<p>Or contact:\ninfo@salvod.de<\/p>\n\n<h3>Donate<\/h3>\n\n<p>If you find this plugin useful, please consider supporting my work:\nhttps:\/\/ko-fi.com\/salvod<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>salvod-availability-scheduler<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress<\/li>\n<li>Go to the Calendar settings page and configure your settings<\/li>\n<li>Use the shortcode <code>[salvod_availability_scheduler]<\/code> on any page or post<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"where%20do%20i%20get%20the%20google%20calendar%20ics%20url%3F\"><h3>Where do I get the Google Calendar ICS URL?<\/h3><\/dt>\n<dd><ol>\n<li>Open your Google Calendar<\/li>\n<li>Click the three dots next to the calendar name under \"My calendars\"<\/li>\n<li>Select \"Settings and sharing\"<\/li>\n<li>Scroll to \"Public URL to this calendar\"<\/li>\n<li>Copy the ICS URL<\/li>\n<\/ol><\/dd>\n<dt id=\"how%20do%20i%20use%20the%20shortcode%3F\"><h3>How do I use the shortcode?<\/h3><\/dt>\n<dd><p>Simply add <code>[salvod_availability_scheduler]<\/code> to any page or post where you want the calendar to appear.<\/p><\/dd>\n<dt id=\"can%20i%20customize%20the%20texts%3F\"><h3>Can I customize the texts?<\/h3><\/dt>\n<dd><p>Yes! All texts can be customized in the Calendar settings page under the \"Texts\" tab.<\/p><\/dd>\n<dt id=\"can%20i%20set%20different%20hours%20for%20different%20days%3F\"><h3>Can I set different hours for different days?<\/h3><\/dt>\n<dd><p>Yes! You can configure separate hours for each day in the \"Hours &amp; Days\" tab.<\/p><\/dd>\n<dt id=\"how%20does%20the%20booking%20work%3F\"><h3>How does the booking work?<\/h3><\/dt>\n<dd><p>Users select a day and time, fill in the form, and the request is sent via WhatsApp to your configured number.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20handle%20timezones%20correctly%3F\"><h3>Does the plugin handle timezones correctly?<\/h3><\/dt>\n<dd><p>Yes! The plugin automatically detects the visitor's timezone and converts all appointment times from Google Calendar ICS to their local time.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20support%20events%20of%20any%20duration%3F\"><h3>Does the plugin support events of any duration?<\/h3><\/dt>\n<dd><p>Yes! Whether an event lasts 30 minutes, 2 hours, or multiple days, the plugin will correctly mark all time slots as booked.<\/p><\/dd>\n<dt id=\"how%20often%20does%20the%20plugin%20update%20from%20google%20calendar%3F\"><h3>How often does the plugin update from Google Calendar?<\/h3><\/dt>\n<dd><p>The plugin uses a caching system for optimal performance. Updates from Google Calendar are checked every 5 minutes.<\/p><\/dd>\n<dt id=\"how%20does%20the%20plugin%20handle%20break%20times%3F\"><h3>How does the plugin handle break times?<\/h3><\/dt>\n<dd><p>Break times are shown as \"BREAK\" slots with a gray disabled style. Users cannot book these slots.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20google%20calendar%20is%20temporarily%20unavailable%3F\"><h3>What happens if Google Calendar is temporarily unavailable?<\/h3><\/dt>\n<dd><p>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.<\/p><\/dd>\n<dt id=\"is%20there%20a%20way%20to%20see%20the%20calendar%20without%20google%20calendar%20ics%3F\"><h3>Is there a way to see the calendar without Google Calendar ICS?<\/h3><\/dt>\n<dd><p>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.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.0.10<\/h4>\n\n<ul>\n<li>Changed plugin name to \"Salvod Availability Scheduler\" for better distinction<\/li>\n<li>Security: Added proper escaping for all translated strings<\/li>\n<li>Security: Removed external proxy service (allorigins.win)<\/li>\n<li>Performance: Optimized asset loading with wp_enqueue<\/li>\n<li>Code: Removed unnecessary load_plugin_textdomain() call<\/li>\n<li>Code: Added proper inline CSS with wp_add_inline_style()<\/li>\n<li>Added index.php files in all directories for security<\/li>\n<\/ul>\n\n<h4>2.0.9<\/h4>\n\n<ul>\n<li>Fixed responsive layout issues on mobile devices<\/li>\n<li>Added automatic timezone conversion for Google Calendar ICS events<\/li>\n<li>Added timezone selection in admin settings<\/li>\n<li>Improved mobile responsiveness with better padding and margins<\/li>\n<li>Added support for events of any duration (reads DTEND from ICS)<\/li>\n<li>Added support for multi-day events<\/li>\n<li>Added break time support with visual indicators<\/li>\n<li>Improved error handling for Google Calendar connectivity<\/li>\n<li>Clean black and white design<\/li>\n<li>Optimized code for better performance<\/li>\n<\/ul>\n\n<h4>2.0.8<\/h4>\n\n<ul>\n<li>Initial public release<\/li>\n<\/ul>","raw_excerpt":"A powerful booking calendar with Google Calendar ICS integration and WhatsApp booking requests, developed by Salvo D.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/az.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/347337","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/az.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/az.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/az.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=347337"}],"author":[{"embeddable":true,"href":"https:\/\/az.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/salvod"}],"wp:attachment":[{"href":"https:\/\/az.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=347337"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/az.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=347337"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/az.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=347337"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/az.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=347337"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/az.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=347337"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/az.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=347337"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}