Icalviz
Icalviz 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 .ics link. Each day is automatically classified: 🟢 Free — no events scheduled 🟡 Partial availability — some time slots are taken 🔴 Fully booked — your entire working hours are covered Visitors can click any day to see occupied time slots in a clean timeline modal. Optionally display a call-to-action button (e.g. “Book this slot”) that links to your booking system. Why Icalviz? Stop copy-pasting your schedule into a webpage. Connect your Google Calendar, Outlook, Apple Calendar, or any iCal-compatible calendar — Icalviz reads your public iCal feed and updates automatically, every 30 minutes. Use cases 🏢 Meeting room & shared space booking — Display a room’s availability calendar so your team or clients can instantly see open slots, without logging into any system. 📅 Show your public availability as a freelancer or consultant — 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. 🎓 Training sessions & open office hours — Show students or participants which session slots are still open. Mark them as full automatically when your agenda is blocked. 🏡 Seasonal rental & short-stay property — Display your gîte, studio, or vacation rental availability directly on your WordPress site, synced live from any iCal-compatible calendar. 🚗 Fleet & equipment availability — Track and display the availability of a shared vehicle, camera kit, or any bookable asset — simply by blocking time in Google Calendar, Outlook, or any other iCal calendar. Key features Zero configuration — Paste your iCal URL, copy the shortcode, done. No API key required — Works with any public iCal feed: Google Calendar, Outlook, Apple Calendar, Nextcloud, and more. Responsive — 2 columns on desktop, 1 on mobile. Navigation arrows for multi-month views. Timeline modal — Click a day to see occupied time slots in a visual hourly timeline. Call-to-action button — Add a custom button (e.g. “Request a slot”) inside the modal, linking to your booking page or contact form. Custom labels — Rename “Free”, “Partial availability”, “Fully booked” to match your vocabulary. Dark mode — Built-in light and dark themes. Booking window — Limit how many days ahead users can see (e.g. next 90 days only). Onboarding wizard — Step-by-step setup guides you from iCal URL to ready shortcode in under a minute. Inline iCal tester — Paste a URL and instantly see whether it connects, how many events it contains, and what the next upcoming events are. Debug panel — One-click diagnostic report covering WordPress environment, plugin version, cache status, iCal feed health, and slot calculation trace. Designed for quick support. How it works Get your public iCal URL (.ics link) from your calendar app: Google Calendar: ⋮ → Settings and sharing → Make available to public → Public address in iCal format Outlook: Calendar settings → Shared calendars → Publish → ICS link Apple Calendar / iCloud: Calendar settings → Public Calendar → Copy link Any other app: look for “Subscribe”, “iCal export” or “public ICS link” In WordPress: go to Settings → Icalviz, paste your iCal URL and follow the 3-step wizard. Copy the generated shortcode and paste it into any page or post. Shortcode reference Basic: [icalviz url=”https://calendar.google.com/calendar/ical/…/basic.ics”] All options: [icalviz url=”…” 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”] url (required) — Your public .ics iCal link (Google Calendar, Outlook, Apple Calendar, etc.) start (0–23, default: 8) — Start of your working day in hours end (1–24, default: 18) — End of your working day in hours months (1–12, default: 2) — Number of months to display days_ahead (0–730, default: 0) — Days ahead to show; 0 = unlimited show_titles (0 or 1, default: 0) — Show event titles in the modal timeline legend (0 or 1, default: 1) — Show colour legend below calendar theme (light / dark, default: light) — Colour theme lbl_free (text, default: Free) — Label for free days lbl_partial (text, default: Available) — Label for partially available days lbl_full (text, default: Fully booked) — Label for fully booked days cta_label (text) — Text for the call-to-action button in the modal cta_url (URL) — Link for the call-to-action button disable_modal (0 or 1, default: 0) — Disable day-click modal; show only availability colour Privacy 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 show_titles is set to 0 (default), event titles are never exposed to visitors. Requirements WordPress 5.8 or higher PHP 7.4 or higher A public iCal URL (.ics link) from Google Calendar, Outlook, Apple Calendar, Nextcloud, or any iCal-compatible service Your WordPress timezone must be set correctly (Settings → General → Timezone)
Top keywords
- calendar25×3.02%
- ical18×2.17%
- url13×1.57%
- default12×1.45%
- public12×1.45%
- availability11×1.33%
- google9×1.09%
- show9×1.09%
- days8×0.97%
- google calendar8×0.97%
- link8×0.97%
- modal8×0.97%
ShootCal Web Calendar
Using the ShootCal app? Paste your embed – that is the main way. ShootCal hands you a ready-made embed (an iframe snippet). Paste it into this plugin’s block or shortcode and it just displays your live availability calendar – the same one shown on shootcal.com, including client self-booking. It stays current on its own and is immune to page caching, so there is nothing else to set up. (You can also paste that snippet straight into any builder’s HTML / “Embed” block without this plugin at all; the plugin is the WordPress-native convenience.) Other calendars work too. Prefer to render on your own page, or not a ShootCal user? Paste any iCal (.ics) feed URL – Google, Apple, or Outlook – and the plugin draws a clean month grid itself, in availability or full-calendar mode. Those self-rendered calendars are what the Display settings, per-embed colors, and Page caching option apply to; a ShootCal embed carries its own and ignores them. ShootCal Web Calendar is the companion plugin for the ShootCal scheduling app for Mac and iOS. Publish your availability – or a full calendar – on your website straight from the calendar you already keep in ShootCal, which hides your personal events, builds each day’s availability from your session types, and auto-detects your timezone. It also works with any iCal (.ics) feed – Google Calendar, Apple, or Outlook – so you can use it with or without ShootCal. Add it to any WordPress page or post in one of two modes. Availability mode shows which days are available, limited, or booked without ever exposing your event titles, locations, attendees, or descriptions. Full calendar mode shows each event’s title and time on the grid – handy for a public schedule like sunrise/sunset times, office hours, or class times. Built for photographers and other service providers who want to show clients when they can book, without manually updating a calendar on their website every week. How it works Each calendar’s feed URL lives on the embed itself – the block’s Calendar feed URL field, or the shortcode’s url attribute – so different pages can show different calendars. In WP admin, Settings > ShootCal Web Calendar has a shortcode generator: paste a feed URL, pick a mode, and it checks the feed and hands you a ready-to-paste shortcode. Block users just add the “ShootCal Web Calendar” block and paste the URL in its sidebar. Any iCal feed works: Google Calendar – open your calendar’s settings, scroll to Integrate calendar, and copy the Secret address in iCal format. Apple, Outlook, or other iCal feeds – paste the feed’s iCal URL. ShootCal app (for ShootCal users) – open the Mac app, go to Settings > Website > Connect to your website, and click Copy URL. A ShootCal feed additionally hides your personal events, builds each day’s availability from your session types, and auto-detects your timezone and how many months to show. The plugin fetches the feed server-side, caches it for 10 minutes, and renders a clean month grid. In availability mode it keeps only busy start/end times and discards all event detail; in full calendar mode it shows the event titles and times. Privacy The plugin only reads the iCal feed server-side. The cached data lives in your WordPress site’s object cache or database (transient) and is purged when you clear the cache or change settings. The feed URL lives in the shortcode or block where you use it – treat it like a password. Note that full calendar mode intentionally displays event titles and times, so only point it at a feed whose contents are meant to be public. Features Two display modes: availability (free/busy shading, no detail) or full calendar (event titles + times) Per-embed feed URL (shortcode url or block field) plus a built-in shortcode generator – show different calendars on different pages Works with any iCal feed: Google Calendar, Apple, Outlook, or a ShootCal app feed Month grid showing up to 36 months ahead, with previous / today / next navigation and keyboard arrows Available / Limited / Booked status per day, with booked time windows shown on Limited days and a color legend Tap-to-expand booking times, plus a tap indicator on phones Per-embed Limited / Booked day colors (availability mode) and Sunday or Monday week start (the display timezone follows your WordPress site setting) Optional “Page caching” mode that loads the calendar via JavaScript so it stays fresh behind Varnish or page-cache plugins Privacy-first, accessible markup (ARIA grid, keyboard nav, AA contrast), and assets that load only on pages that use the calendar Shortcode attributes url – the iCal (.ics) feed URL to display (required). mode – “availability” (free/busy shading, default) or “full” (show event titles + times). multi_session_day – availability mode only. “1” (default): a day with only timed sessions shows as “Limited”. “0”: any event marks the whole day “Booked”. limited_color – availability mode only. Hex color (e.g. #fce3a8) for the “Limited” day shading. Default: the built-in soft gold. booked_color – availability mode only. Hex color (e.g. #f6b9a3) for the “Booked” day shading. Default: the built-in soft coral. months – how many months to display (1-36). Default: setting value (auto-detected for ShootCal feeds). first_day – “0” for Sunday, “1” for Monday. Default: setting value. timezone – IANA timezone override for this embed. Default: your WordPress site timezone (or, for a ShootCal feed, the feed’s own). Example: [shootcal_web_calendar mode="full" url="https://example.com/feed.ics" months="3"] Tip: build a shortcode under Settings > ShootCal Web Calendar – paste a feed URL, pick a mode, and it validates the feed and outputs the shortcode for you. External Services This plugin reads a calendar from the iCal feed URL(s) you put in your shortcodes or blocks. Each request is made from your web server (not your visitor’s browser) whenever a month grid is rendered and the 10 minute cache has expired. The plugin only ever contacts the URLs you configure; with none set, it makes no external requests. Only the request itself is sent – no data from your site or your visitors is transmitted. In availability mode the plugin keeps only busy start/end times, discarding titles, locations, attendees, and descriptions; in full calendar mode it also keeps event titles and times (by design, to display them). The service contacted depends on the URL you use: Google Calendar If you use a Google Calendar secret iCal address, the request goes to Google’s calendar servers (calendar.google.com). This service is provided by Google. See Google’s Terms of Service (https://policies.google.com/terms) and Privacy Policy (https://policies.google.com/privacy). ShootCal If you use a ShootCal feed URL from the ShootCal Mac app, the request goes to the ShootCal feed service (feed.shootcal.com). This service is provided by Ryan Smith Photography. See the terms and privacy information at https://shootcal.com. Other iCal feeds If you use any other iCal URL (for example from Apple or Outlook), the request goes to whichever service hosts that feed. Refer to that provider’s own terms and privacy policy.