{"id":246441,"date":"2025-08-28T11:16:47","date_gmt":"2025-08-28T11:16:47","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/easy-calendar-appointment-booking\/"},"modified":"2026-05-14T05:32:56","modified_gmt":"2026-05-14T05:32:56","slug":"reventor-calendar-appointment-booking","status":"publish","type":"plugin","link":"https:\/\/test.wordpress.org\/plugins\/reventor-calendar-appointment-booking\/","author":17095883,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.2.0","stable_tag":"1.2.0","tested":"6.9.4","requires":"6.3","requires_php":"8.1","requires_plugins":null,"header_name":"REVENTOR Calendar Appointment Booking","header_author":"REVENTOR","header_description":"A REVENTOR calendar appointment booking system with CalDAV integration for seamless scheduling and calendar synchronization.","assets_banners_color":"7babec","last_updated":"2026-05-14 05:32:56","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/reventor-calendar-appointment-booking\/","header_author_uri":"https:\/\/reventor.eu","rating":0,"author_block_rating":0,"active_installs":10,"downloads":536,"num_ratings":0,"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":"reventor","date":"2025-08-28 11:15:10"},"1.0.1":{"tag":"1.0.1","author":"reventor","date":"2025-08-28 12:56:33"},"1.0.2":{"tag":"1.0.2","author":"reventor","date":"2025-08-28 22:12:34"},"1.1.0":{"tag":"1.1.0","author":"reventor","date":"2025-12-02 11:21:08"},"1.1.1":{"tag":"1.1.1","author":"reventor","date":"2025-12-02 13:24:32"},"1.1.2":{"tag":"1.1.2","author":"reventor","date":"2025-12-02 16:06:33"},"1.1.3":{"tag":"1.1.3","author":"reventor","date":"2026-02-18 08:00:45"},"1.1.5":{"tag":"1.1.5","author":"reventor","date":"2026-05-11 12:17:33"},"1.2.0":{"tag":"1.2.0","author":"reventor","date":"2026-05-14 05:32:56"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3351939,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3351939,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.jpg":{"filename":"banner-1544x500.jpg","revision":3351939,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":3351939,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1","1.0.2","1.1.0","1.1.1","1.1.2","1.1.3","1.1.5","1.2.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3352003,"resolution":"1","location":"assets","locale":"","width":1681,"height":1325},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3352003,"resolution":"2","location":"assets","locale":"","width":1629,"height":1583},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3352003,"resolution":"3","location":"assets","locale":"","width":1650,"height":1586}},"screenshots":[],"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[8132,269,416,268],"plugin_category":[40],"plugin_contributors":[245942,246995],"plugin_business_model":[],"class_list":["post-246441","plugin","type-plugin","status-publish","hentry","plugin_tags-appointments","plugin_tags-booking","plugin_tags-calendar","plugin_tags-scheduling","plugin_category-calendar-and-events","plugin_contributors-alaminit","plugin_contributors-reventor","plugin_committers-alaminit","plugin_committers-reventor","plugin_support_reps-alaminit","plugin_support_reps-giorgiogermani","plugin_support_reps-reventor"],"banners":{"banner":"https:\/\/ps.w.org\/reventor-calendar-appointment-booking\/assets\/banner-772x250.jpg?rev=3351939","banner_2x":"https:\/\/ps.w.org\/reventor-calendar-appointment-booking\/assets\/banner-1544x500.jpg?rev=3351939","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/reventor-calendar-appointment-booking\/assets\/icon-128x128.png?rev=3351939","icon_2x":"https:\/\/ps.w.org\/reventor-calendar-appointment-booking\/assets\/icon-256x256.png?rev=3351939","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/reventor-calendar-appointment-booking\/assets\/screenshot-1.png?rev=3352003","caption":""},{"src":"https:\/\/ps.w.org\/reventor-calendar-appointment-booking\/assets\/screenshot-2.png?rev=3352003","caption":""},{"src":"https:\/\/ps.w.org\/reventor-calendar-appointment-booking\/assets\/screenshot-3.png?rev=3352003","caption":""}],"raw_content":"<!--section=description-->\n<p>REVENTOR Calendar Appointment Booking is a WordPress plugin that allows you to manage appointments and bookings on your website. It provides a simple interface for customers to book appointments and for administrators to manage them.<\/p>\n\n<h3>Features<\/h3>\n\n<h4>Booking Form<\/h4>\n\n<ul>\n<li>3-step booking wizard: service selection, date &amp; time picker, customer details<\/li>\n<li>Interactive calendar widget with month navigation<\/li>\n<li>Shortcode <code>[reventor-booking]<\/code> for any page or post<\/li>\n<li>Optional <code>calendar<\/code> attribute to target a specific calendar (e.g., <code>[reventor-booking calendar=\"cal_1\"]<\/code>)<\/li>\n<\/ul>\n\n<h4>Multi-Calendar Support<\/h4>\n\n<ul>\n<li>1 to 10 independent calendars, each with its own settings<\/li>\n<li>Manage Calendars page to set the number of calendars and rename them<\/li>\n<li>Each calendar has its own working hours, appointment types, CalDAV integration, theme color, and email settings<\/li>\n<\/ul>\n\n<h4>Appointment Types<\/h4>\n\n<ul>\n<li>Multiple configurable appointment types with custom name and duration (15, 30, 45, 60, 90, or 120 minutes)<\/li>\n<li>Max per day limit per appointment type to control availability<\/li>\n<li>Appointment type-specific date filtering with CalDAV conflict checking<\/li>\n<\/ul>\n\n<h4>Time Slot Settings<\/h4>\n\n<ul>\n<li>Timeslot granularity: 15, 30, 60, 75, 90, or 120 minutes<\/li>\n<li>Working hours: configurable start and end time<\/li>\n<li>Break times: configurable start and end time<\/li>\n<li>Working days: select which days of the week are available (Mon\u2013Sun)<\/li>\n<li>Minimum booking advance time: 1h, 2h, 4h, next day, up to 7 days<\/li>\n<li>Administration buffer time: 15, 30, 45, or 60 minutes blocked after each appointment<\/li>\n<li>Max appointments per day (global and per-type limits)<\/li>\n<\/ul>\n\n<h4>CalDAV Integration<\/h4>\n\n<ul>\n<li>Configurable CalDAV URL, username, and password<\/li>\n<li>Connection test button to verify settings<\/li>\n<li>Conflict checking against CalDAV server events<\/li>\n<li>Events synced with CalDAV calendar on booking, update, and deletion<\/li>\n<li>Live schedule preview showing available, past, booked, and outside-hours slots for any date<\/li>\n<\/ul>\n\n<h4>Email Notifications<\/h4>\n\n<ul>\n<li>Customer confirmation email with appointment details<\/li>\n<li>Admin notification email for new and updated appointments<\/li>\n<li>ICS file attachment for calendar import<\/li>\n<li>Configurable sender name and email address<\/li>\n<li>Available in German and English (auto-detected from browser language)<\/li>\n<\/ul>\n\n<h4>Video Meeting Integration<\/h4>\n\n<ul>\n<li>Automatic Jitsi Meet room generation for every appointment<\/li>\n<li>Meeting URL included in emails, ICS attachments, and CalDAV events<\/li>\n<\/ul>\n\n<h4>Appointment Reminders<\/h4>\n\n<ul>\n<li>Configurable reminder time: none, 5, 10, 15, 30, or 60 minutes before appointment<\/li>\n<li>Reminders included in ICS file attachments and CalDAV events<\/li>\n<\/ul>\n\n<h4>Timezone<\/h4>\n\n<ul>\n<li>Plugin-level timezone setting with all IANA timezone identifiers<\/li>\n<li>Automatic user timezone detection<\/li>\n<li>Timezone display with human-readable names and DST info<\/li>\n<li>Live timezone and time display in admin<\/li>\n<\/ul>\n\n<h4>General Settings<\/h4>\n\n<ul>\n<li>Booking days ahead (1\u2013365)<\/li>\n<li>Theme color picker for the entire booking form UI<\/li>\n<li>Time format: 12h or 24h<\/li>\n<li>Date format: DD.MM.YYYY, MM\/DD\/YYYY, YYYY-MM-DD, DD\/MM\/YYYY<\/li>\n<li>Custom CSS field for frontend booking form styling<\/li>\n<li>Dark mode support<\/li>\n<li>Responsive layout for all screen sizes<\/li>\n<\/ul>\n\n<h4>Import &amp; Export<\/h4>\n\n<ul>\n<li>Export all settings to a JSON file<\/li>\n<li>Import settings from a JSON file with validation<\/li>\n<\/ul>\n\n<h4>Localization<\/h4>\n\n<ul>\n<li>German translation included<\/li>\n<li>Translation-ready with .pot template file<\/li>\n<\/ul>\n\n<h4>Uninstall Cleanup<\/h4>\n\n<ul>\n<li>Deactivation clears all plugin cache<\/li>\n<li>Uninstall (plugin deletion) removes all settings and database tables<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to the <code>\/wp-content\/plugins\/reventor-calendar-appointment-booking<\/code> directory, or install the plugin through the WordPress plugins screen directly.<\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress<\/li>\n<li>Use the Settings-&gt;REVENTOR Calendar Appointment Booking screen to configure the plugin<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20do%20i%20display%20the%20booking%20form%3F\"><h3>How do I display the booking form?<\/h3><\/dt>\n<dd><p>Use the shortcode [reventor-booking] to display the booking form on any page or post. For multi-calendar setups, use [reventor-booking calendar=\"cal_1\"] to target a specific calendar.<\/p><\/dd>\n<dt id=\"can%20i%20customize%20the%20available%20time%20slots%3F\"><h3>Can I customize the available time slots?<\/h3><\/dt>\n<dd><p>Yes, you can configure timeslot granularity, working hours, break times, working days, and per-type limits in the plugin settings.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20support%20multiple%20calendars%3F\"><h3>Does the plugin support multiple calendars?<\/h3><\/dt>\n<dd><p>Yes, you can configure up to 10 independent calendars, each with its own settings, working hours, appointment types, and CalDAV integration.<\/p><\/dd>\n<dt id=\"is%20timezone%20handling%20supported%3F\"><h3>Is timezone handling supported?<\/h3><\/dt>\n<dd><p>Yes, the plugin detects the user's timezone automatically and converts all times between the user's timezone and the configured plugin timezone. This includes time slot display, CalDAV operations, and booking confirmation.<\/p><\/dd>\n<dt id=\"can%20i%20style%20the%20booking%20form%20to%20match%20my%20theme%3F\"><h3>Can I style the booking form to match my theme?<\/h3><\/dt>\n<dd><p>Yes, you can set a theme color that dynamically generates the entire UI, and you can add custom CSS for further styling. Dark mode is also supported automatically.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Added multi-calendar support for managing multiple calendars with individual settings<\/li>\n<\/ul>\n\n<h4>1.1.5<\/h4>\n\n<ul>\n<li>Added administration buffer time option (15, 30, 45, 60 minutes) to block time after appointments<\/li>\n<li>Fixed responsive booking form layout for narrow and embedded containers using CSS container queries<\/li>\n<li>Improved calendar positioning on all screen sizes<\/li>\n<\/ul>\n\n<h4>1.1.4<\/h4>\n\n<ul>\n<li>Enhanced frontend slot management and date availability checks<\/li>\n<li>Refactored code structure for improved readability and maintainability<\/li>\n<li>Added uninstall hook and enhanced deactivation process to clean up plugin data<\/li>\n<li>Refactored code style and optimized translation loading<\/li>\n<li>Added cache clearing functionality for improved performance<\/li>\n<li>Fixed duplicate settings registrations<\/li>\n<\/ul>\n\n<h4>1.1.3<\/h4>\n\n<ul>\n<li>Added Break times feature<\/li>\n<\/ul>\n\n<h4>1.1.2<\/h4>\n\n<ul>\n<li>Added automated scrolling to the form to make it easier to see the form fields in all 3 steps<\/li>\n<li>Added email notification copy to sender email for new appointments<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Fixed a language translation<\/li>\n<li>Tested the plugin for WordPress 6.9<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Added automatic saving in admin settings<\/li>\n<li>Changed dropdown to calendar for easier date selection<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Added appointment reminder feature<\/li>\n<li>Added configurable reminder time (5, 10, or 15 minutes) in admin settings<\/li>\n<li>Added VALARM component to ICS files for email notifications<\/li>\n<li>Added VALARM component to CalDAV events for admin calendar reminders<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Minor CSS fixes<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Basic appointment booking functionality<\/li>\n<li>Admin dashboard<\/li>\n<li>Email notifications<\/li>\n<li>CalDAV integration support<\/li>\n<\/ul>","raw_excerpt":"A simple and easy-to-use appointment booking plugin for WordPress with CalDAV integration, multi-calendar support, and timezone handling.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/246441","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=246441"}],"author":[{"embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/reventor"}],"wp:attachment":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=246441"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=246441"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=246441"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=246441"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=246441"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=246441"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}