{"id":302163,"date":"2026-05-06T08:41:38","date_gmt":"2026-05-06T08:41:38","guid":{"rendered":"https:\/\/fr.wordpress.org\/plugins\/availio-google-calendar-availability\/"},"modified":"2026-05-06T09:08:08","modified_gmt":"2026-05-06T09:08:08","slug":"icalviz","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/icalviz\/","author":18662026,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"6.9.4","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Icalviz","header_author":"Killian Santos","header_description":"Display your iCal availability as a visual front-end calendar. Free, partial availability, and fully booked days \u2014 updated in real time from any public iCal feed (Google Calendar, Outlook, Apple Calendar and more).","assets_banners_color":"5772ec","last_updated":"2026-05-06 09:08:08","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/killian-santos.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":70,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"killiansantos","date":"2026-05-06 09:08:08"}},"upgrade_notice":{"1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3524093,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3524093,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3524093,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3524093,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3524093,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3524093,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3524093,"resolution":"3","location":"assets","locale":""},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3524093,"resolution":"4","location":"assets","locale":""}},"screenshots":{"1":"Front-end calendar \u2014 2-month view with free, partial, and fully booked days (iCal feed from Google Calendar)","2":"Admin \u2014 onboarding wizard (step 1: connect your calendar)","3":"Admin \u2014 shortcode generator","4":"Admin \u2014 shortcode reference"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[1279,269,416,4743,7103],"plugin_category":[40],"plugin_contributors":[222935],"plugin_business_model":[],"class_list":["post-302163","plugin","type-plugin","status-publish","hentry","plugin_tags-availability","plugin_tags-booking","plugin_tags-calendar","plugin_tags-google-calendar","plugin_tags-ical","plugin_category-calendar-and-events","plugin_contributors-killiansantos","plugin_committers-killiansantos"],"banners":{"banner":"https:\/\/ps.w.org\/icalviz\/assets\/banner-772x250.png?rev=3524093","banner_2x":"https:\/\/ps.w.org\/icalviz\/assets\/banner-1544x500.png?rev=3524093","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/icalviz\/assets\/icon-128x128.png?rev=3524093","icon_2x":"https:\/\/ps.w.org\/icalviz\/assets\/icon-256x256.png?rev=3524093","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/icalviz\/assets\/screenshot-1.png?rev=3524093","caption":"Front-end calendar \u2014 2-month view with free, partial, and fully booked days (iCal feed from Google Calendar)"},{"src":"https:\/\/ps.w.org\/icalviz\/assets\/screenshot-2.png?rev=3524093","caption":"Admin \u2014 onboarding wizard (step 1: connect your calendar)"},{"src":"https:\/\/ps.w.org\/icalviz\/assets\/screenshot-3.png?rev=3524093","caption":"Admin \u2014 shortcode generator"},{"src":"https:\/\/ps.w.org\/icalviz\/assets\/screenshot-4.png?rev=3524093","caption":"Admin \u2014 shortcode reference"}],"raw_content":"<!--section=description-->\n<p><strong>Icalviz<\/strong> connects to any public iCal feed and displays your availability day by day on any page or post, using a simple shortcode. Works with Google Calendar, Outlook, Apple Calendar, Nextcloud, and any service that exposes a public <code>.ics<\/code> link.<\/p>\n\n<p>Each day is automatically classified:<\/p>\n\n<ul>\n<li>\ud83d\udfe2 <strong>Free<\/strong> \u2014 no events scheduled<\/li>\n<li>\ud83d\udfe1 <strong>Partial availability<\/strong> \u2014 some time slots are taken<\/li>\n<li>\ud83d\udd34 <strong>Fully booked<\/strong> \u2014 your entire working hours are covered<\/li>\n<\/ul>\n\n<p>Visitors can click any day to see occupied time slots in a clean timeline modal. Optionally display a <strong>call-to-action button<\/strong> (e.g. \"Book this slot\") that links to your booking system.<\/p>\n\n<p><strong>Why Icalviz?<\/strong><\/p>\n\n<p>Stop copy-pasting your schedule into a webpage. Connect your Google Calendar, Outlook, Apple Calendar, or any iCal-compatible calendar \u2014 Icalviz reads your public iCal feed and updates automatically, every 30 minutes.<\/p>\n\n<h4>Use cases<\/h4>\n\n<p>\ud83c\udfe2 <strong>Meeting room &amp; shared space booking<\/strong> \u2014 Display a room's availability calendar so your team or clients can instantly see open slots, without logging into any system.<\/p>\n\n<p>\ud83d\udcc5 <strong>Show your public availability as a freelancer or consultant<\/strong> \u2014 Let potential clients see when you are free before they even reach out. Display months of availability from your Google Calendar, Outlook or any iCal feed in seconds.<\/p>\n\n<p>\ud83c\udf93 <strong>Training sessions &amp; open office hours<\/strong> \u2014 Show students or participants which session slots are still open. Mark them as full automatically when your agenda is blocked.<\/p>\n\n<p>\ud83c\udfe1 <strong>Seasonal rental &amp; short-stay property<\/strong> \u2014 Display your g\u00eete, studio, or vacation rental availability directly on your WordPress site, synced live from any iCal-compatible calendar.<\/p>\n\n<p>\ud83d\ude97 <strong>Fleet &amp; equipment availability<\/strong> \u2014 Track and display the availability of a shared vehicle, camera kit, or any bookable asset \u2014 simply by blocking time in Google Calendar, Outlook, or any other iCal calendar.<\/p>\n\n<h4>Key features<\/h4>\n\n<ul>\n<li><strong>Zero configuration<\/strong> \u2014 Paste your iCal URL, copy the shortcode, done.<\/li>\n<li><strong>No API key required<\/strong> \u2014 Works with any public iCal feed: Google Calendar, Outlook, Apple Calendar, Nextcloud, and more.<\/li>\n<li><strong>Responsive<\/strong> \u2014 2 columns on desktop, 1 on mobile. Navigation arrows for multi-month views.<\/li>\n<li><strong>Timeline modal<\/strong> \u2014 Click a day to see occupied time slots in a visual hourly timeline.<\/li>\n<li><strong>Call-to-action button<\/strong> \u2014 Add a custom button (e.g. \"Request a slot\") inside the modal, linking to your booking page or contact form.<\/li>\n<li><strong>Custom labels<\/strong> \u2014 Rename \"Free\", \"Partial availability\", \"Fully booked\" to match your vocabulary.<\/li>\n<li><strong>Dark mode<\/strong> \u2014 Built-in light and dark themes.<\/li>\n<li><strong>Booking window<\/strong> \u2014 Limit how many days ahead users can see (e.g. next 90 days only).<\/li>\n<li><strong>Onboarding wizard<\/strong> \u2014 Step-by-step setup guides you from iCal URL to ready shortcode in under a minute.<\/li>\n<li><strong>Inline iCal tester<\/strong> \u2014 Paste a URL and instantly see whether it connects, how many events it contains, and what the next upcoming events are.<\/li>\n<li><strong>Debug panel<\/strong> \u2014 One-click diagnostic report covering WordPress environment, plugin version, cache status, iCal feed health, and slot calculation trace. Designed for quick support.<\/li>\n<\/ul>\n\n<h4>How it works<\/h4>\n\n<ol>\n<li>Get your public iCal URL (<code>.ics<\/code> link) from your calendar app:\n\n<ul>\n<li><strong>Google Calendar<\/strong>: \u22ee \u2192 Settings and sharing \u2192 Make available to public \u2192 Public address in iCal format<\/li>\n<li><strong>Outlook<\/strong>: Calendar settings \u2192 Shared calendars \u2192 Publish \u2192 ICS link<\/li>\n<li><strong>Apple Calendar \/ iCloud<\/strong>: Calendar settings \u2192 Public Calendar \u2192 Copy link<\/li>\n<li><strong>Any other app<\/strong>: look for \"Subscribe\", \"iCal export\" or \"public ICS link\"<\/li>\n<\/ul><\/li>\n<li>In WordPress: go to <strong>Settings \u2192 Icalviz<\/strong>, paste your iCal URL and follow the 3-step wizard.<\/li>\n<li>Copy the generated shortcode and paste it into any page or post.<\/li>\n<\/ol>\n\n<h4>Shortcode reference<\/h4>\n\n<p>Basic:\n    [icalviz url=\"https:\/\/calendar.google.com\/calendar\/ical\/\u2026\/basic.ics\"]<\/p>\n\n<p>All options:\n    [icalviz url=\"\u2026\" start=\"9\" end=\"17\" months=\"3\" days_ahead=\"90\" show_titles=\"0\" disable_modal=\"0\" legend=\"1\" theme=\"light\" lbl_free=\"Available\" lbl_partial=\"Limited availability\" lbl_full=\"Fully booked\" cta_label=\"Request this slot\" cta_url=\"https:\/\/your-booking-page.com\"]<\/p>\n\n<ul>\n<li><code>url<\/code> (required) \u2014 Your public <code>.ics<\/code> iCal link (Google Calendar, Outlook, Apple Calendar, etc.)<\/li>\n<li><code>start<\/code> (0\u201323, default: 8) \u2014 Start of your working day in hours<\/li>\n<li><code>end<\/code> (1\u201324, default: 18) \u2014 End of your working day in hours<\/li>\n<li><code>months<\/code> (1\u201312, default: 2) \u2014 Number of months to display<\/li>\n<li><code>days_ahead<\/code> (0\u2013730, default: 0) \u2014 Days ahead to show; 0 = unlimited<\/li>\n<li><code>show_titles<\/code> (0 or 1, default: 0) \u2014 Show event titles in the modal timeline<\/li>\n<li><code>legend<\/code> (0 or 1, default: 1) \u2014 Show colour legend below calendar<\/li>\n<li><code>theme<\/code> (light \/ dark, default: light) \u2014 Colour theme<\/li>\n<li><code>lbl_free<\/code> (text, default: Free) \u2014 Label for free days<\/li>\n<li><code>lbl_partial<\/code> (text, default: Available) \u2014 Label for partially available days<\/li>\n<li><code>lbl_full<\/code> (text, default: Fully booked) \u2014 Label for fully booked days<\/li>\n<li><code>cta_label<\/code> (text) \u2014 Text for the call-to-action button in the modal<\/li>\n<li><code>cta_url<\/code> (URL) \u2014 Link for the call-to-action button<\/li>\n<li><code>disable_modal<\/code> (0 or 1, default: 0) \u2014 Disable day-click modal; show only availability colour<\/li>\n<\/ul>\n\n<h4>Privacy<\/h4>\n\n<p>Icalviz connects only to the iCal URL you provide. No data is sent to any third party. The iCal feed is cached locally in your WordPress database for 30 minutes. If <code>show_titles<\/code> is set to 0 (default), event titles are never exposed to visitors.<\/p>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>WordPress 5.8 or higher<\/li>\n<li>PHP 7.4 or higher<\/li>\n<li>A <strong>public iCal URL<\/strong> (<code>.ics<\/code> link) from Google Calendar, Outlook, Apple Calendar, Nextcloud, or any iCal-compatible service<\/li>\n<li>Your WordPress timezone must be set correctly (Settings \u2192 General \u2192 Timezone)<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>icalviz<\/code> folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate the plugin via <strong>Plugins \u2192 Installed Plugins<\/strong><\/li>\n<li>Go to <strong>Settings \u2192 Icalviz<\/strong> and follow the setup wizard<\/li>\n<li>Copy the generated shortcode and paste it into any page or post<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20a%20google%20api%20key%3F\"><h3>Do I need a Google API key?<\/h3><\/dt>\n<dd><p>No. Icalviz uses the standard public iCal (<code>.ics<\/code>) URL exposed by most calendar apps. No API key or account login is required for Google Calendar, Outlook, Apple Calendar, or any other supported service.<\/p><\/dd>\n<dt id=\"my%20calendar%20says%20%22libre%22%20%28free%29%20but%20the%20modal%20shows%20nothing.\"><h3>My calendar says \"Libre\" (Free) but the modal shows nothing.<\/h3><\/dt>\n<dd><p>Make sure your events are set to <strong>\"Busy\"<\/strong> (not \"Free\/Available\") in Google Calendar. Events marked as \"Show as: Free\" are intentionally ignored by Icalviz. Also check that your WordPress timezone (Settings \u2192 General) matches the timezone of your calendar.<\/p><\/dd>\n<dt id=\"why%20do%20some%20days%20show%20incorrect%20availability%3F\"><h3>Why do some days show incorrect availability?<\/h3><\/dt>\n<dd><p>Run the <strong>Debug diagnostic<\/strong> in Settings \u2192 Icalviz. It shows a detailed trace of how each event is parsed and whether slots are calculated correctly. The most common cause is a timezone mismatch between WordPress and the iCal feed.<\/p><\/dd>\n<dt id=\"how%20often%20does%20the%20calendar%20update%3F\"><h3>How often does the calendar update?<\/h3><\/dt>\n<dd><p>The iCal feed is cached for 30 minutes. To force an immediate refresh, click <strong>\"Flush cache\"<\/strong> in Settings \u2192 Icalviz.<\/p><\/dd>\n<dt id=\"can%20i%20display%20multiple%20calendars%3F\"><h3>Can I display multiple calendars?<\/h3><\/dt>\n<dd><p>Yes \u2014 place multiple shortcodes on the same page, each with a different <code>url<\/code> parameter.<\/p><\/dd>\n<dt id=\"can%20i%20hide%20event%20titles%20from%20visitors%3F\"><h3>Can I hide event titles from visitors?<\/h3><\/dt>\n<dd><p>Yes. The default is <code>show_titles=\"0\"<\/code>. When disabled, the modal shows occupied time slots without any event title.<\/p><\/dd>\n<dt id=\"is%20it%20compatible%20with%20page%20builders%3F\"><h3>Is it compatible with page builders?<\/h3><\/dt>\n<dd><p>Yes \u2014 Elementor, Divi, Beaver Builder, and any builder that supports WordPress shortcodes.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Visual availability calendar from any public iCal feed (Google Calendar, Outlook, Apple Calendar, Nextcloud\u2026)<\/li>\n<li>Day-click modal with 15-minute granularity timeline<\/li>\n<li>Responsive layout: 2 columns desktop \/ 1 mobile with navigation arrows<\/li>\n<li>Configurable working hours, booking window, and colour labels<\/li>\n<li>Call-to-action button in modal<\/li>\n<li>Dark mode theme<\/li>\n<li>Onboarding wizard with inline iCal connection tester<\/li>\n<li>Admin shortcode generator<\/li>\n<li>Debug diagnostic panel with copyable report<\/li>\n<li>GPL-2.0-or-later licence<\/li>\n<\/ul>","raw_excerpt":"Show your real-time Google Calendar availability as a beautiful front-end calendar \u2014 no API key, no coding required.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/302163","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=302163"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/killiansantos"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=302163"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=302163"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=302163"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=302163"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=302163"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=302163"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}