{"id":339866,"date":"2026-07-15T13:43:48","date_gmt":"2026-07-15T13:43:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/thecalendarpress\/"},"modified":"2026-07-15T13:43:36","modified_gmt":"2026-07-15T13:43:36","slug":"availo","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/availo\/","author":17609973,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0.1","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"Availo","header_author":"Darshan Dagli","header_description":"Appointment scheduling for WordPress \u2014 event types, availability schedules, and a clean booking flow with email confirmations.","assets_banners_color":"709add","last_updated":"2026-07-15 13:43:36","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":25,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"darshandagli","date":"2026-07-15 13:43:36"}},"upgrade_notice":{"1.0.0":"<p>First public release of Availo.<\/p>","0.2.0":"<p>Compatibility release: page builders, block themes, plain permalinks, cached pages. Plus editable confirmation emails and post-booking redirects.<\/p>","0.1.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3608954,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3608954,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3608954,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3608954,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3608954,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"availo\/booking":{"name":"availo\/booking","title":"Availo Booking"}},"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3608954,"resolution":"1","location":"assets","locale":"","width":1920,"height":1804},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3608954,"resolution":"2","location":"assets","locale":"","width":1920,"height":1332},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3608954,"resolution":"3","location":"assets","locale":"","width":1920,"height":768},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3608954,"resolution":"4","location":"assets","locale":"","width":2560,"height":1600},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3608954,"resolution":"5","location":"assets","locale":"","width":2560,"height":1600},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3608954,"resolution":"6","location":"assets","locale":"","width":2560,"height":1600},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3608954,"resolution":"7","location":"assets","locale":"","width":1556,"height":1140},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3608954,"resolution":"8","location":"assets","locale":"","width":1556,"height":950}},"screenshots":{"1":"Booking widget \u2014 invitees pick a day and time in their own time zone","2":"Booking form with your custom questions","3":"Thank-you screen \u2014 per event, show a custom message or redirect to any page","4":"Bookings dashboard with status and event filters","5":"Booking detail \u2014 everything the invitee submitted, in one place","6":"Availability editor \u2014 weekly hours and date overrides per host","7":"Event type scheduling settings \u2014 duration, buffers, notice, booking window","8":"After-booking options \u2014 thank-you message, redirect, and confirmation email editor"}},"plugin_section":[],"plugin_tags":[8132,269,416,341,268],"plugin_category":[40],"plugin_contributors":[271699],"plugin_business_model":[],"class_list":["post-339866","plugin","type-plugin","status-publish","hentry","plugin_tags-appointments","plugin_tags-booking","plugin_tags-calendar","plugin_tags-meetings","plugin_tags-scheduling","plugin_category-calendar-and-events","plugin_contributors-darshandagli","plugin_committers-darshandagli"],"banners":{"banner":"https:\/\/ps.w.org\/availo\/assets\/banner-772x250.png?rev=3608954","banner_2x":"https:\/\/ps.w.org\/availo\/assets\/banner-1544x500.png?rev=3608954","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/availo\/assets\/icon.svg?rev=3608954","icon":"https:\/\/ps.w.org\/availo\/assets\/icon.svg?rev=3608954","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/availo\/assets\/screenshot-1.png?rev=3608954","caption":"Booking widget \u2014 invitees pick a day and time in their own time zone"},{"src":"https:\/\/ps.w.org\/availo\/assets\/screenshot-2.png?rev=3608954","caption":"Booking form with your custom questions"},{"src":"https:\/\/ps.w.org\/availo\/assets\/screenshot-3.png?rev=3608954","caption":"Thank-you screen \u2014 per event, show a custom message or redirect to any page"},{"src":"https:\/\/ps.w.org\/availo\/assets\/screenshot-4.png?rev=3608954","caption":"Bookings dashboard with status and event filters"},{"src":"https:\/\/ps.w.org\/availo\/assets\/screenshot-5.png?rev=3608954","caption":"Booking detail \u2014 everything the invitee submitted, in one place"},{"src":"https:\/\/ps.w.org\/availo\/assets\/screenshot-6.png?rev=3608954","caption":"Availability editor \u2014 weekly hours and date overrides per host"},{"src":"https:\/\/ps.w.org\/availo\/assets\/screenshot-7.png?rev=3608954","caption":"Event type scheduling settings \u2014 duration, buffers, notice, booking window"},{"src":"https:\/\/ps.w.org\/availo\/assets\/screenshot-8.png?rev=3608954","caption":"After-booking options \u2014 thank-you message, redirect, and confirmation email editor"}],"raw_content":"<!--section=description-->\n<p>Availo lets visitors book meetings with you directly on your WordPress site.<\/p>\n\n<ul>\n<li><strong>Event types<\/strong> \u2014 define meetings like \"30-min Intro Call\" with duration, location, buffers, minimum notice, rolling booking window, and a daily cap.<\/li>\n<li><strong>Availability schedules<\/strong> \u2014 weekly working hours per host with date-specific overrides, all timezone- and DST-aware.<\/li>\n<li><strong>Booking flow<\/strong> \u2014 a fast, responsive three-pane widget: pick a day, pick a time (shown in the invitee's own time zone), enter details, done.<\/li>\n<li><strong>Custom questions<\/strong> \u2014 collect extra information from invitees at booking time.<\/li>\n<li><strong>Email notifications<\/strong> \u2014 confirmation, cancellation, and reschedule emails with calendar (.ics) attachments for both invitee and host.<\/li>\n<li><strong>Self-service changes<\/strong> \u2014 invitees cancel or reschedule via a secure tokenized link. No account needed.<\/li>\n<li><strong>Embed anywhere<\/strong> \u2014 Gutenberg block, <code>[availo]<\/code> shortcode (inline or popup button), or auto-generated booking pages at <code>\/schedule\/{host}\/{event}\/<\/code>.<\/li>\n<li><strong>Bookings dashboard<\/strong> \u2014 filterable admin list of all bookings with one-click cancellation.<\/li>\n<\/ul>\n\n<p>Availo stores all data in your own WordPress database. No external services, no accounts, no tracking.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin to <code>\/wp-content\/plugins\/availo<\/code>, or install through the WordPress plugins screen.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Go to <strong>Availo \u2192 Availability<\/strong> to set your working hours.<\/li>\n<li>Create your first event type under <strong>Availo \u2192 Event Types<\/strong>.<\/li>\n<li>Share the booking link, or embed the booking block\/shortcode on any page.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20it%20detect%20the%20visitor%27s%20time%20zone%3F\"><h3>Does it detect the visitor's time zone?<\/h3><\/dt>\n<dd><p>Yes. Slots are displayed in the invitee's local time zone (detected from the browser), with a manual override selector.<\/p><\/dd>\n<dt id=\"can%20invitees%20cancel%20or%20reschedule%3F\"><h3>Can invitees cancel or reschedule?<\/h3><\/dt>\n<dd><p>Yes. Every confirmation email includes a secure manage link where the invitee can cancel or pick a new time.<\/p><\/dd>\n<dt id=\"does%20it%20prevent%20double%20bookings%3F\"><h3>Does it prevent double bookings?<\/h3><\/dt>\n<dd><p>Yes. Slot availability is re-validated inside a per-host lock at the moment of booking, so two invitees can never win the same slot.<\/p><\/dd>\n<dt id=\"will%20my%20data%20be%20removed%20if%20i%20uninstall%3F\"><h3>Will my data be removed if I uninstall?<\/h3><\/dt>\n<dd><p>Only if you explicitly enable \"Delete all data on uninstall\" in Settings. By default your bookings are kept.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20elementor%2C%20divi%2C%20wpbakery%2C%20bricks%2C%20and%20other%20page%20builders%3F\"><h3>Does it work with Elementor, Divi, WPBakery, Bricks, and other page builders?<\/h3><\/dt>\n<dd><p>Yes. Use the <code>[availo event=\"your-event\"]<\/code> shortcode in any builder's shortcode\/text\/code element, or the Availo block in the block editor. The widget also mounts inside content a builder injects dynamically (popups, tabs, accordions), and its styles are isolated from theme and builder CSS. Developers can trigger a manual re-scan with <code>window.Availo.scan()<\/code>.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20block%20themes%20and%20classic%20themes%3F\"><h3>Does it work with block themes and classic themes?<\/h3><\/dt>\n<dd><p>Yes. The booking pages at <code>\/schedule\/{host}\/{event}\/<\/code> render inside your active theme \u2014 block themes (e.g. Twenty Twenty-Five) and classic themes are both supported, and the widget works with pretty or plain permalinks.<\/p><\/dd>\n<dt id=\"can%20i%20customize%20the%20thank-you%20screen%20or%20redirect%20after%20booking%3F\"><h3>Can I customize the thank-you screen or redirect after booking?<\/h3><\/dt>\n<dd><p>Per event type you can edit the thank-you message, fully customize the confirmation email (subject and body with merge tags), or redirect invitees to any URL right after booking.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First public release.<\/li>\n<li>Appointment scheduling: unlimited event types, availability schedules with date overrides, buffers, minimum notice, booking windows, daily caps, and automatic time zone \/ daylight-saving handling.<\/li>\n<li>Booking widget with double-booking prevention, embeddable via block, <code>[availo]<\/code> shortcode, popup button, or automatic booking pages; works with classic themes, block themes, and page builders (Elementor, Divi, WPBakery, Bricks).<\/li>\n<li>Email confirmations with .ics calendar invites, reminder emails, custom per-event confirmation emails with merge tags, and invitee self-service cancel &amp; reschedule.<\/li>\n<li>Custom booking questions, per-event thank-you message or redirect.<\/li>\n<li>Bookings dashboard, month calendar view, booking detail view, manual bookings, and CSV export.<\/li>\n<li>\"Availo Host\" role for teams, plus GDPR export and erase tools.<\/li>\n<\/ul>\n\n<h4>0.7.0<\/h4>\n\n<ul>\n<li>Dev: manual admin bookings now run the <code>availo_booking_data<\/code> filter (source \"admin\"), so add-ons like conferencing integrations apply to them too.<\/li>\n<\/ul>\n\n<h4>0.6.0<\/h4>\n\n<ul>\n<li>Improvement: everywhere a booking's host is shown or notified (emails, calendar invites, bookings list, detail view, CSV export), the booking's assigned host is used \u2014 supports team\/round-robin add-ons where the assigned host differs from the event owner.<\/li>\n<li>Dev: the <code>availo_available_slots<\/code> filter now receives the range, timezone, and reference time, enabling multi-host availability extensions.<\/li>\n<\/ul>\n\n<h4>0.5.0<\/h4>\n\n<ul>\n<li>New: full support for pending bookings (approval workflows) \u2014 a \"request received\" email without a premature calendar invite, the real confirmation with .ics on approval, pending in the bookings list and filters, invitee cancel\/reschedule of pending requests, and a \"Request received\" screen in the booking widget.<\/li>\n<li>Dev: new extension points for add-ons \u2014 <code>availo_booking_data<\/code> filter (modify a booking before insert), <code>availo_booking_row_actions<\/code> filter (add admin list actions), <code>availo_booking_approved<\/code> action (sends the confirmation email).<\/li>\n<\/ul>\n\n<h4>0.4.0<\/h4>\n\n<ul>\n<li>New: booking calendar \u2014 a month view of all bookings in wp-admin, color-coded by event type.<\/li>\n<li>New: manual bookings \u2014 create a booking for an invitee from the admin, with an optional availability override and optional confirmation email.<\/li>\n<li>New: CSV export of bookings (respects the current status\/event filters) including custom question answers.<\/li>\n<li>New: \"Availo Host\" role \u2014 team members can manage their own event types, availability, and bookings without seeing other hosts' data or the rest of wp-admin.<\/li>\n<li>Improvement: all plugin screens now use dedicated capabilities instead of requiring administrator access.<\/li>\n<\/ul>\n\n<h4>0.3.0<\/h4>\n\n<ul>\n<li>New: reminder email to the invitee before the meeting (configurable hours in Settings, 0 disables; scheduled per booking, cleared on cancel\/reschedule).<\/li>\n<li>New: GDPR integration \u2014 bookings and question answers appear in WordPress's Export Personal Data tool, and Erase Personal Data anonymizes the invitee (name, email, answers, manage token) while keeping the slot history intact.<\/li>\n<li>New: full translation template (<code>languages\/availo.pot<\/code>) and block editor script translations.<\/li>\n<li>Fix: browser timezone aliases (e.g. \"Asia\/Calcutta\", reported by Chrome for Indian visitors) are now accepted instead of silently falling back to site time.<\/li>\n<li>Fix: time-slot buttons no longer get squashed when a day has many slots; the times list scrolls instead.<\/li>\n<li>Fix: the widget keeps a sane maximum width inside full-width theme and page-builder containers.<\/li>\n<li>Dev: <code>.distignore<\/code> so tests and docs never ship in the distribution zip.<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>New: booking detail view in the admin showing everything the invitee submitted.<\/li>\n<li>New: per-event thank-you message and fully editable confirmation email (subject + body with merge tags, including a manage-booking link).<\/li>\n<li>New: per-event choice between showing a thank-you message or redirecting to a URL after booking.<\/li>\n<li>Compatibility: widgets now mount inside content injected by page builders (Elementor, Divi, WPBakery, Bricks) after page load; added <code>window.Availo.scan()<\/code>.<\/li>\n<li>Compatibility: widget CSS is isolated against theme\/builder button and input styles; added fallbacks for older browsers (color-mix, inset, aspect-ratio).<\/li>\n<li>Compatibility: booking REST calls now work with plain permalinks; booking pages send correct 200 status and a meaningful page title.<\/li>\n<li>Fix: booking widget no longer sends a nonce that could expire on cached pages and block bookings with a 403.<\/li>\n<li>Fix: a submit error no longer clears everything the invitee typed.<\/li>\n<li>Fix: popup embed restores page scroll and Escape\/backdrop handling reliably; a drag ending on the backdrop no longer closes an in-progress booking.<\/li>\n<li>Fix: failed cancellations now show an error instead of failing silently.<\/li>\n<li>Fix: time slots follow the timezone actually used by the server; month navigation is timezone-accurate around month boundaries.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial release: event types, availability schedules with overrides, timezone-aware slot engine, booking widget (block, shortcode, booking pages), email notifications with ICS attachments, invitee cancel\/reschedule, bookings dashboard.<\/li>\n<\/ul>","raw_excerpt":"Appointment scheduling for WordPress \u2014 event types, availability schedules, and a clean booking flow with email confirmations.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/339866","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=339866"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/darshandagli"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=339866"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=339866"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=339866"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=339866"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=339866"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=339866"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}