AnnoVisio

Description

AnnoVisio displays events in a compact yearly calendar through the shortcode [annovisio].

The fixed standard configuration uses exactly one source:

  • one public iCalendar feed, or
  • one Calendly account connected with a Personal Access Token.

Key features:

  • Yearly calendar with event detail dialog
  • Public iCalendar feed support
  • Calendly event type and occurrence synchronization
  • Manual or optional automatic Calendly synchronization
  • Multi-day Calendly events
  • Direct Calendly booking popup
  • Availability and sold-out checks before booking
  • Manual display-cache update without starting a Calendly synchronization

External services

The plugin contacts external services only when the corresponding source is configured.

Public iCalendar feed

When an iCalendar source is selected, the plugin sends a server-side HTTP GET request to the public ICS URL entered by the site administrator. The request is used only to retrieve and parse the calendar data. The destination and its terms and privacy policy depend on the service chosen by the administrator.

Calendly

When Calendly is selected, the plugin uses Calendly to synchronize event data, check availability, and open the official booking popup.

External Calendly resources:

  • Service: https://calendly.com
  • API: https://api.calendly.com
  • Widget script: https://calendly.com/assets/external/widget.js
  • Widget stylesheet: https://calendly.com/assets/external/widget.css

What is sent and when:

  • During manual or automatic synchronization, authenticated server-side GET requests are sent to the Calendly API with the Personal Access Token configured by the administrator.
  • The plugin requests the connected user, active event types, occurrences, and available times required by the existing synchronization and availability logic.
  • When a visitor clicks a Calendly event, the browser first calls this plugin’s REST endpoint on the same WordPress site. The plugin then checks the relevant event type, date, or UTC slot against Calendly.
  • The Calendly widget script and stylesheet are loaded only on calendar output that contains a Calendly source. Booking interactions inside the popup are handled by Calendly.

Calendly legal information:

  • Terms: https://calendly.com/legal/customer-terms-conditions
  • Privacy: https://calendly.com/legal/privacy-notice

Screenshots

Installation

  1. Install and activate AnnoVisio.
  2. Open AnnoVisio in the WordPress administration.
  3. Select iCalendar or Calendly for the standard configuration.
  4. For iCalendar, enter one public ICS feed URL.
  5. For Calendly, open the Calendly management page, save one Personal Access Token, and run the synchronization.
  6. Add [annovisio] to a page or post.

FAQ

Which sources are supported?

The standard configuration uses either one public iCalendar feed or one connected Calendly account.

Does updating the shortcode start a Calendly synchronization?

No. Updating the shortcode refreshes its iCalendar data, reads the existing Calendly tables, and rebuilds the display cache. Calendly synchronization is controlled separately on the Calendly page.

Are old Calendly events retained?

Yes. AnnoVisio continues to use the existing Calendly tables and synchronization logic, including its handling of past events and occurrences.

Does AnnoVisio support multi-day events?

Yes. Existing Calendly multi-day handling and iCalendar date ranges are displayed in the yearly calendar.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“AnnoVisio” is open source software. The following people have contributed to this plugin.

Contributors

“AnnoVisio” has been translated into 4 locales. Thank you to the translators for their contributions.

Translate “AnnoVisio” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

2.0.0

  • Added iCalendar connections.
  • Improved the backend layout.

1.1.5

  • Removed bundled non-German language files from the ZIP package.
  • Hardened scalar request handling in merged admin and frontend refresh actions.

1.1.4

  • Restored the standard WordPress plugin language-pack loading behavior.

1.1.3

  • Updated bundled German admin translations on manually installed ZIP builds.

1.1.2

  • Moved cache duration below the save button in the shortcode editor.
  • Restored the manual synchronization status refresh icon and start-time display.
  • Renamed the shortcode editor Calendly button to Connect Calendly.

1.1.1

  • Merged the iCalendar yearly overview into AnnoVisio.
  • Added one public iCalendar source as an alternative to Calendly.
  • Added the fixed standard shortcode configuration [annovisio].
  • Added a separate Calendly administration area for connection, synchronization, and multi-day events.
  • Preserved the existing Calendly import, synchronization, database, availability, and booking logic.

1.0.1

  • Improved compatibility with page caching plugins by loading calendar markup dynamically.

1.0.0

  • Initial release.