Description
CasavoLab Booking Manager helps accommodation websites manage availability, booking requests and local reservations from WordPress.
The free plugin is fully functional and does not require a license, account, trial period or payment. It includes:
- Multiple accommodation properties.
- Import of one or more iCal calendar feeds per property.
- Automatic and manual calendar synchronization.
- Public availability calendar and availability search.
- Booking request forms and email notifications.
- Multilingual public interface and guest emails with Auto language detection from the WordPress site language.
- Booking and manual block management in WordPress.
- Elementor widgets.
- Email workflow with secure Accept/Reject actions and optional click-to-WhatsApp links (wa.me); no WhatsApp Business API is used.
Optional commercial add-ons distributed separately by CasavoLab.it may add features that are not included in this plugin. No paid feature code is bundled in the WordPress.org plugin.
External services
This plugin can connect to external services only when the site administrator configures or enables the related feature.
User-configured iCal calendar feeds
The plugin sends HTTP GET requests from your WordPress site to the calendar feed URLs that you enter in the plugin settings. These URLs may belong to services such as Google Calendar, Booking.com, Airbnb, Vrbo or another calendar provider. The request is used only to download iCalendar availability data. The plugin does not send guest booking form data to those calendar providers.
Because the destination is selected by the site administrator, the applicable terms and privacy policy are those of the selected calendar provider. Before adding a feed, review that provider’s terms and privacy information.
WhatsApp click-to-chat
When a guest provides a phone number, the owner notification email can include a normal wa.me click-to-chat link. The plugin does not send messages through the WhatsApp Business API and does not require Meta credentials.
Development and source code
All PHP, CSS and JavaScript source code executed by the plugin is included directly in this plugin package in human-readable form. The JavaScript files under assets/js/ are the source files loaded by WordPress; they are not minified or compiled bundles. No npm, webpack, transpiler or other external build step is required to reproduce the distributed plugin.
Privacy
Booking requests can contain personal information entered by visitors, such as name, email address and phone number. This information is stored in the site’s WordPress database so the site owner can process the request. Site owners are responsible for configuring their privacy notice and retention practices.
The plugin does not send booking data to CasavoLab.it.
Screenshots





Installation
- Upload the plugin to
/wp-content/plugins/casavolab-booking-manager/or install it from WordPress.org. - Activate CasavoLab Booking Manager.
- Open CasavoLab Booking Manager in the WordPress admin area.
- Add your properties and, if desired, their iCal feed URLs.
- Add the provided shortcodes or Elementor widgets to your pages.
FAQ
-
Is a license required?
-
No. This WordPress.org plugin is free and has no license checks or time limits.
-
Does it connect directly to booking-channel APIs?
-
The core calendar synchronization uses standard iCal feeds supplied by the site administrator. It is not a real-time channel-manager API.
-
Can I use Elementor?
-
Yes. When Elementor is active, dedicated widgets are available in the editor.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“CasavoLab Booking Manager” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “CasavoLab Booking Manager” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.0.20
- Aligned the FREE release version with CasavoLab Booking Manager PRO 1.0.20.
- No feature, database, booking, iCal, Elementor, security, or public-interface behavior was changed in this FREE release.
- The FREE plugin continues to use the standard WordPress.org update channel; the private CasavoLab PRO updater is not included.
1.0.16
- Added a public-language selector with Auto as the default. Auto follows the WordPress site language and keeps locale-aware calendar/date formatting.
- Added complete built-in public UI and guest/booking email translations for Italian, English, Spanish, French, German, Portuguese, Dutch, Polish, Romanian, Greek, Croatian, Czech, Hungarian, Turkish, Russian and Ukrainian.
- Auto can still use normal WordPress.org language-pack translations for other site languages; untranslated fallback text is English.
- Existing Elementor widgets that still store the old Italian default labels are translated automatically without requiring the widget to be recreated.
- Preserved the standard WordPress gettext workflow for the back office and did not reintroduce
load_plugin_textdomain(). - No booking, database, iCal, access-role or Pro feature logic was changed.
1.0.15
- Fixed the public booking-request submit button appearing white/invisible until hover when a theme or Elementor applies global button styles.
- The submit button now keeps the property accent or the Elementor-selected colors in normal, hover and compact/mobile portal states.
- No booking, email, iCal import, or access-role workflow was changed.
1.0.14
- Replaced the remaining dynamic WHERE/IN SQL fragments with fixed prepared queries so Plugin Check can statically verify every placeholder and parameter.
- Hardened the public booking-request form against theme/Elementor focus styles that could hide the border of the active text field.
- No booking workflow, iCal import, Elementor widget, email, or access-role feature was removed.
1.0.13
- Removed the unused Domain Path header so Plugin Check no longer expects a bundled languages directory.
- Passed the two remaining dynamic prepared custom-table queries directly to
get_results()without intermediate SQL variables, improving static verification. - No functional changes to booking, iCal, Elementor, email, or access-role behavior.
1.0.12
- Replaced the final warning-only DB annotations with real object-cache invalidation for booking update/delete operations.
- Added object caching for single booking lookups and automatic invalidation after writes.
- Passed prepared dynamic SELECT queries directly into
get_results()so Plugin Check can statically verify the prepared DB parameter. - No booking, iCal, Elementor, access-role or email workflow behavior changed.
1.0.11
- Final Plugin Check warning cleanup for the WordPress.org review build.
- Documented intentional custom-table writes so NoCaching warnings are not reported for update/delete operations.
- Marked prepared dynamic custom-table reads with narrowly scoped Plugin Check/PHPCS annotations after all identifiers, filters and values are passed through $wpdb->prepare().
- No booking, iCal, Elementor, role-management or email workflow behavior changed.
1.0.10
- WordPress.org review cleanup: tightened nonce placement and request sanitization so static analysis can verify the protections directly.
- Prepared custom-table identifiers with the WordPress
%iplaceholder where applicable. - Documented intentional direct custom-table queries with narrowly scoped PHPCS annotations.
- Hardened uninstall cleanup and prefixed plugin-owned uninstall variables.
- Moved the development hand-off context to
docs/CASAVOLAB_DEV_CONTEXT.txtso production Plugin Check does not treat it as an unexpected Markdown file.
1.0.9
- WordPress.org review hardening: added a WordPress nonce to the public email Accept/Reject confirmation POST while retaining the signed booking token.
- Removed the legacy
load_plugin_textdomain()call; WordPress.org language packs are loaded automatically on supported WordPress versions. - Reformatted the public booking/search JavaScript as human-readable source shipped directly with the plugin.
- Added explicit source/build documentation to the readme and tightened request input handling.
1.0.8
- Added per-user access control for users with the WordPress Editor role.
- Editors can be assigned no access, booking-only management, or full Booking Manager administration.
- Booking-only users can view, create, edit, delete and update booking/manual-block records without access to structures, iCal settings, appearance or email configuration.
- Administrators always retain full access.
1.0.7
- Restored the property name directly inside each booking/event shown in the admin calendar.
- Added a property color legend to make multi-property calendars easier to read.
- Aligned FREE and PRO release numbering.
1.0.6
- Set a dedicated Plugin URI for CasavoLab Booking Manager, distinct from the CasavoLab author website.
1.0.5
- Fixed the remaining Plugin Check translator-comment errors for translatable strings with placeholders.
1.0.4
- WordPress.org Plugin Check cleanup: output escaping annotations for renderer methods, prepared database queries and translator comments.
- Clarified iCal external-service detection to avoid false offloading warnings.
- Updated Stable tag to match the plugin version.
1.0.3
- Removed WhatsApp Business / Meta Cloud API integration.
- Restored secure Accept/Reject actions from owner email.
- Restored click-to-WhatsApp (wa.me) for the guest phone number.
1.0.1
- Fixed Elementor editor compatibility on installations using older widget registration APIs.
- Added safe fallback between
register()andregister_widget_type(). - Relaxed Elementor widget method signatures for broader PHP/Elementor compatibility.
1.0.0
- First WordPress.org-ready CasavoLab release.
- All license and trial restrictions removed from the free plugin.
- Outgoing iCal export moved to a separately distributed Pro add-on.
- Added WordPress.org external-services and privacy documentation.
