{"id":318241,"date":"2026-05-25T14:02:47","date_gmt":"2026-05-25T14:02:47","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/littlebig-universal-caldav-for-fluentbooking\/"},"modified":"2026-07-20T08:06:27","modified_gmt":"2026-07-20T08:06:27","slug":"littlebig-universal-caldav-for-fluentbooking","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/littlebig-universal-caldav-for-fluentbooking\/","author":14371876,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.1","stable_tag":"1.0.1","tested":"7.0.2","requires":"6.0","requires_php":"8.3","requires_plugins":null,"header_name":"LittleBig Universal CalDAV for FluentBooking","header_author":"Andre Daus \/ LittleBig.Co","header_description":"Adds generic CalDAV calendar synchronisation to FluentBooking. Works with any RFC 4791-compliant CalDAV server including Zoho Calendar, Fastmail, Nextcloud, and others. Requires FluentBooking (free) and FluentBooking Pro.","assets_banners_color":"223d48","last_updated":"2026-07-20 08:06:27","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/littlebig-universal-caldav-for-fluentbooking\/","header_author_uri":"https:\/\/littlebig.co","rating":5,"author_block_rating":0,"active_installs":0,"downloads":165,"num_ratings":1,"support_threads":1,"support_threads_resolved":1,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"adcgn","date":"2026-05-25 14:02:16"},"1.0.1":{"tag":"1.0.1","author":"adcgn","date":"2026-07-20 08:06:27"}},"upgrade_notice":{"1.0.1":"<p>Fixes a connection error on CalDAV servers (e.g. Spacemail) that reply to PROPFIND with HTTP 200 instead of 207.<\/p>","1.0.0":"<p>Initial release.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3547698,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3547698,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.jpg":{"filename":"banner-1544x500.jpg","revision":3547698,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":3547698,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3547698,"resolution":"1","location":"assets","locale":"","width":3580,"height":1684},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3547698,"resolution":"2","location":"assets","locale":"","width":3580,"height":1684},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3547735,"resolution":"3","location":"assets","locale":"","width":3580,"height":1888}},"screenshots":{"1":"Global settings: CalDAV server URL configured once by the site administrator.","2":"Host connection screen: each host enters their own username and app password.","3":"Calendar selection for event creation and conflict checking."}},"plugin_section":[],"plugin_tags":[269,164447,416,264327,264328],"plugin_category":[40],"plugin_contributors":[264329],"plugin_business_model":[],"class_list":["post-318241","plugin","type-plugin","status-publish","hentry","plugin_tags-booking","plugin_tags-caldav","plugin_tags-calendar","plugin_tags-fluentbooking","plugin_tags-zoho-calendar","plugin_category-calendar-and-events","plugin_contributors-adcgn","plugin_committers-adcgn"],"banners":{"banner":"https:\/\/ps.w.org\/littlebig-universal-caldav-for-fluentbooking\/assets\/banner-772x250.jpg?rev=3547698","banner_2x":"https:\/\/ps.w.org\/littlebig-universal-caldav-for-fluentbooking\/assets\/banner-1544x500.jpg?rev=3547698","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/littlebig-universal-caldav-for-fluentbooking\/assets\/icon-128x128.png?rev=3547698","icon_2x":"https:\/\/ps.w.org\/littlebig-universal-caldav-for-fluentbooking\/assets\/icon-256x256.png?rev=3547698","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/littlebig-universal-caldav-for-fluentbooking\/assets\/screenshot-1.png?rev=3547698","caption":"Global settings: CalDAV server URL configured once by the site administrator."},{"src":"https:\/\/ps.w.org\/littlebig-universal-caldav-for-fluentbooking\/assets\/screenshot-2.png?rev=3547698","caption":"Host connection screen: each host enters their own username and app password."},{"src":"https:\/\/ps.w.org\/littlebig-universal-caldav-for-fluentbooking\/assets\/screenshot-3.png?rev=3547735","caption":"Calendar selection for event creation and conflict checking."}],"raw_content":"<!--section=description-->\n<p>LittleBig Universal CalDAV for FluentBooking adds a generic CalDAV driver to <a href=\"https:\/\/fluentbooking.com\/\">FluentBooking Pro<\/a>, allowing you to sync bookings with any CalDAV-compliant calendar server.<\/p>\n\n<p><strong>Supported CalDAV servers:<\/strong><\/p>\n\n<ul>\n<li>Zoho Calendar (.com, .eu, .in, .au, .jp datacenters)<\/li>\n<li>Fastmail<\/li>\n<li>iCloud (via CalDAV)<\/li>\n<li>Any RFC 4791-compliant server<\/li>\n<\/ul>\n\n<p><strong>Features:<\/strong><\/p>\n\n<ul>\n<li>Automatic event creation when a booking is scheduled<\/li>\n<li>Event updates on reschedule<\/li>\n<li>Cancellation sync (STATUS:CANCELLED) to preserve calendar history<\/li>\n<li>Hard delete on booking deletion<\/li>\n<li>Conflict-checking (checks remote calendar for busy slots)<\/li>\n<li>HTTP Basic Auth \u2014 each host connects with their own username and password (or app password)<\/li>\n<li>Credentials stored encrypted using libsodium<\/li>\n<li>Supports multiple CalDAV connections per host user<\/li>\n<\/ul>\n\n<p><strong>Requirements:<\/strong><\/p>\n\n<ul>\n<li>WordPress 6.0 or higher<\/li>\n<li>PHP 8.3 or higher<\/li>\n<li>FluentBooking Pro 1.2.4 or higher<\/li>\n<li>libsodium PHP extension (bundled with PHP 7.2+)<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate FluentBooking Pro first.<\/li>\n<li>Upload the <code>littlebig-universal-caldav-for-fluentbooking<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install via <strong>Plugins &gt; Add New<\/strong>.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Go to <strong>Settings &gt; Integrations &gt; CalDAV (Generic)<\/strong> and enter your CalDAV server base URL (e.g. <code>https:\/\/calendar.zoho.eu\/caldav<\/code>). This is set once by the site administrator and shared across all hosts.<\/li>\n<li>Each calendar host goes to <strong>FluentBooking &gt; Host Settings &gt; Remote Calendars<\/strong>, selects <strong>CalDAV (Generic)<\/strong>, and clicks <strong>Connect CalDAV Calendar<\/strong>.<\/li>\n<li>Enter the host's CalDAV username and password (or app password \u2014 see the FAQ for Zoho Calendar).<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20do%20i%20connect%20zoho%20calendar%3F\"><h3>How do I connect Zoho Calendar?<\/h3><\/dt>\n<dd><ol>\n<li>In your site's WordPress admin, go to <strong>Settings &gt; Integrations &gt; CalDAV (Generic)<\/strong> and enter your Zoho CalDAV base URL. Use the URL that matches your Zoho datacenter:\n\n<ul>\n<li><code>https:\/\/calendar.zoho.com\/caldav<\/code> \u2014 Americas \/ default<\/li>\n<li><code>https:\/\/calendar.zoho.eu\/caldav<\/code> \u2014 Europe<\/li>\n<li><code>https:\/\/calendar.zoho.in\/caldav<\/code> \u2014 India<\/li>\n<li><code>https:\/\/calendar.zoho.com.au\/caldav<\/code> \u2014 Australia<\/li>\n<li><code>https:\/\/calendar.zoho.jp\/caldav<\/code> \u2014 Japan<\/li>\n<\/ul><\/li>\n<li>Each host generates a Zoho app password: log in to <a href=\"https:\/\/myaccount.zoho.com\/\">myaccount.zoho.com<\/a>, go to <strong>Security &gt; App Passwords<\/strong>, and create a new password for CalDAV access.<\/li>\n<li>In <strong>FluentBooking &gt; Host Settings &gt; Remote Calendars<\/strong>, select <strong>CalDAV (Generic)<\/strong> and enter the Zoho email address as the username and the app password as the password.<\/li>\n<\/ol><\/dd>\n<dt id=\"what%20is%20an%20app%20password%20and%20why%20do%20i%20need%20one%3F\"><h3>What is an app password and why do I need one?<\/h3><\/dt>\n<dd><p>Some CalDAV servers \u2014 including Zoho Calendar \u2014 do not accept your main account password for CalDAV access. An app password is a dedicated token you generate in your account security settings. It works only for CalDAV and can be revoked independently of your main password.<\/p><\/dd>\n<dt id=\"is%20this%20plugin%20gdpr-compliant%3F\"><h3>Is this plugin GDPR-compliant?<\/h3><\/dt>\n<dd><p>This plugin is designed with GDPR in mind. Here is a full breakdown of how it handles personal data:<\/p>\n\n<p><strong>Personal data transmitted<\/strong><\/p>\n\n<p>When a booking is created, updated, cancelled, or deleted, the plugin sends the following data to the CalDAV server you configure: attendee name, attendee email address, booking start\/end time, and any booking notes. No other personal data is transmitted. Nothing is sent to the plugin author or any third party.<\/p>\n\n<p><strong>Data stored locally (WordPress user meta)<\/strong><\/p>\n\n<p>The following values are stored in WordPress user meta for each calendar host:<\/p>\n\n<ul>\n<li>Encrypted CalDAV credentials (username and password or app password)<\/li>\n<li>CalDAV server URL and discovered calendar list<\/li>\n<li>Per-booking event URL and UID (used for updates and deletion)<\/li>\n<li>A flag indicating whether a connection needs re-authorisation<\/li>\n<\/ul>\n\n<p>All credential values are encrypted with libsodium (<code>sodium_crypto_secretbox<\/code>) before storage. They are never stored in plaintext.<\/p>\n\n<p><strong>Data deletion<\/strong><\/p>\n\n<p>When the plugin is deleted (not just deactivated), <code>uninstall.php<\/code> removes all plugin user meta for every user. You can also disconnect an individual host at any time via <strong>FluentBooking &gt; Host Settings &gt; Remote Calendars<\/strong>, which deletes that host's credentials and cached calendar data immediately.<\/p>\n\n<p><strong>Your CalDAV server as a data processor<\/strong><\/p>\n\n<p>The CalDAV server you connect to (e.g. Zoho Calendar, Fastmail, iCloud) receives and stores personal data from your bookings. As the site owner and data controller, you are responsible for ensuring that server complies with applicable data protection law and that you have a lawful basis for transferring attendee data to it. Review the privacy policy of your CalDAV provider before use.<\/p>\n\n<p><strong>No telemetry<\/strong><\/p>\n\n<p>This plugin makes no outbound requests except to the CalDAV server URL you explicitly configure. No usage data, error reports, or analytics are sent anywhere.<\/p><\/dd>\n<dt id=\"does%20this%20require%20the%20nextcloud%20calendar%20integration%3F\"><h3>Does this require the Nextcloud Calendar integration?<\/h3><\/dt>\n<dd><p>No. This plugin is completely independent from the Nextcloud Calendar integration included with FluentBooking Pro. You can use both simultaneously.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fix: \"CalDAV PROPFIND returned unexpected status 200\" error when connecting to servers (e.g. Spacemail) that respond to PROPFIND\/REPORT with HTTP 200 instead of the RFC 4918 standard 207 Multi-Status.<\/li>\n<li>Fix: fatal error when saving a connection with no conflict-check calendars selected (<code>patchConflictSettings(): Argument #1 must be of type array, null given<\/code>).<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Generic CalDAV driver with HTTP Basic Auth and app password support.<\/li>\n<li>Central server URL configured once by the administrator; each host authenticates individually.<\/li>\n<li>Full booking lifecycle sync: create, update, cancel, delete.<\/li>\n<li>Conflict checking with transient caching.<\/li>\n<\/ul>","raw_excerpt":"Sync FluentBooking Pro appointments with any RFC 4791-compliant CalDAV calendar server \u2014 including Zoho Calendar, Fastmail, and others.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/318241","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=318241"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/adcgn"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=318241"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=318241"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=318241"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=318241"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=318241"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=318241"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}