{"id":223607,"date":"2025-05-10T16:59:54","date_gmt":"2025-05-10T16:59:54","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/tidybot\/"},"modified":"2026-02-17T17:48:44","modified_gmt":"2026-02-17T17:48:44","slug":"tidybot","status":"publish","type":"plugin","link":"https:\/\/cn.wordpress.org\/plugins\/tidybot\/","author":23236687,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.9.85","stable_tag":"1.9.85","tested":"6.9.4","requires":"5.0","requires_php":"7.4","requires_plugins":null,"header_name":"TidyBot","header_author":"The Viking Webdesign","header_description":"A frontend planning tool that works with Tidycal agenda tool.","assets_banners_color":"deebf9","last_updated":"2026-02-17 17:48:44","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/thevikingwebdesign.com\/","header_plugin_uri":"https:\/\/thevikingwebdesign.com\/tidybot","header_author_uri":"https:\/\/thevikingwebdesign.com","rating":5,"author_block_rating":0,"active_installs":10,"downloads":997,"num_ratings":1,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.9.76":{"tag":"1.9.76","author":"thevikingwebdesign","date":"2025-05-10 17:01:52"},"1.9.77":{"tag":"1.9.77","author":"thevikingwebdesign","date":"2025-05-13 08:44:22"},"1.9.78":{"tag":"1.9.78","author":"thevikingwebdesign","date":"2025-05-13 10:06:14"},"1.9.79":{"tag":"1.9.79","author":"thevikingwebdesign","date":"2025-05-13 10:53:10"},"1.9.80":{"tag":"1.9.80","author":"thevikingwebdesign","date":"2025-12-28 16:21:39"},"1.9.81":{"tag":"1.9.81","author":"thevikingwebdesign","date":"2025-06-17 13:52:49"},"1.9.82":{"tag":"1.9.82","author":"thevikingwebdesign","date":"2025-12-28 16:21:39"},"1.9.83":{"tag":"1.9.83","author":"thevikingwebdesign","date":"2025-12-28 17:17:34"},"1.9.84":{"tag":"1.9.84","author":"thevikingwebdesign","date":"2026-02-17 17:48:44"},"1.9.85":{"tag":"1.9.85","author":"thevikingwebdesign","date":"2026-02-17 17:48:44"}},"upgrade_notice":{"1.9.85":"<p>TidyCal embed link in settings, subscription check hourly, Plugin Check compliant.<\/p>","1.9.82":"<p>Production-ready update! Removes all debug logging and console output for clean production deployment. All functionality maintained while cleaning up the codebase.<\/p>","1.9.80":"<p>Critical update! Fixes database structure issues that could prevent plugin operation on some hosts. Adds required columns and includes visual improvements with rounded corners and a smaller toggle button.<\/p>","1.9.79":"<p>This update improves compatibility with various WordPress configurations, enhances plugin stability, fixes color picker issues in admin settings, and includes various code optimizations. Recommended for all users.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3291416,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3291416,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.9.76","1.9.77","1.9.78","1.9.79","1.9.80","1.9.81","1.9.82","1.9.83","1.9.84","1.9.85"],"block_files":[],"assets_screenshots":[],"screenshots":[],"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[276,269,416,268,242106],"plugin_category":[40],"plugin_contributors":[242107],"plugin_business_model":[],"class_list":["post-223607","plugin","type-plugin","status-publish","hentry","plugin_tags-appointment","plugin_tags-booking","plugin_tags-calendar","plugin_tags-scheduling","plugin_tags-tidycal","plugin_category-calendar-and-events","plugin_contributors-thevikingwebdesign","plugin_committers-thevikingwebdesign"],"banners":{"banner":"https:\/\/ps.w.org\/tidybot\/assets\/banner-772x250.png?rev=3291416","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/tidybot\/assets\/icon-256x256.png?rev=3291416","icon_2x":"https:\/\/ps.w.org\/tidybot\/assets\/icon-256x256.png?rev=3291416","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Tidybot is a WordPress plugin that integrates with Tidycal to provide scheduling and appointment booking functionality directly on your website. The plugin displays a customizable chat-like widget that allows your visitors to book appointments through your Tidycal calendar.<\/p>\n\n<p><strong>Key Features:<\/strong><\/p>\n\n<ul>\n<li>Easy integration with Tidycal<\/li>\n<li>Customizable widget position (bottom-right or bottom-left)<\/li>\n<li>Adjustable button color to match your brand<\/li>\n<li>Configurable delay time for automatic widget opening<\/li>\n<li>Subscription verification system<\/li>\n<\/ul>\n\n<p><strong>Important Note:<\/strong>\nAs of version 1.9.77, an email address is required for the widget to display on the frontend. This ensures proper subscription validation and prevents unauthorized usage.<\/p>\n\n<h3>Configuration<\/h3>\n\n<ol>\n<li><strong>Email Address<\/strong>: Required for subscription verification and for the widget to display<\/li>\n<li><strong>TidyCal Embed Code<\/strong>: Paste your TidyCal embed code from your Tidycal account<\/li>\n<li><strong>Button Color<\/strong>: Choose a color for the widget button that matches your site's branding<\/li>\n<li><strong>Chat Position<\/strong>: Select the position where the chat widget should appear (bottom-right or bottom-left)<\/li>\n<li><strong>Delay Time<\/strong>: Set the time in seconds before the widget automatically opens (0 = never)<\/li>\n<\/ol>\n\n<h3>External Services<\/h3>\n\n<p>This plugin connects to the following external services:<\/p>\n\n<ol>\n<li><p>TidyCal Booking System\nWhat this service is for: TidyCal is used to embed your appointment scheduling calendar within the chat widget on your website.\nData sent: The TidyCal embed code that you configure in the plugin settings.\nWhen data is sent: When a visitor views a page where the Tidybot widget is displayed.\nService provider: TidyCal (https:\/\/tidycal.com)\nJavaScript loaded from: https:\/\/asset-tidycal.b-cdn.net\/js\/embed.js\nWhat the JavaScript does: Loads the TidyCal booking widget interface and handles appointment scheduling functionality.\nTerms of Service: https:\/\/tidycal.com\/terms-of-service\nPrivacy Policy: https:\/\/tidycal.com\/privacy-policy<\/p><\/li>\n<li><p>The Viking Webdesign API\nWhat this service is for: This service verifies your subscription status for using the plugin.\nData sent: The email address you enter in the plugin settings.\nWhen data is sent: During initial plugin setup, when settings are updated, and periodically (every hour) to validate your subscription.\nService provider: The Viking Webdesign (https:\/\/thevikingwebdesign.com)\nAPI endpoint: https:\/\/thevikingwebdesign.com\/wp-content\/check-subscription\nTerms of Service: https:\/\/thevikingwebdesign.com\/terms-of-service\nPrivacy Policy: https:\/\/thevikingwebdesign.com\/privacy-policy<\/p><\/li>\n<li><p>Plugin Update Service\nWhat this service is for: This service checks for and delivers plugin updates.\nData sent: Your site URL and current plugin version.\nWhen data is sent: Periodically when WordPress checks for plugin updates.\nService provider: The Viking Webdesign (https:\/\/thevikingwebdesign.com)\nUpdate URL: https:\/\/thevikingcoaching.com\/wp-content\/downloads\/tidybotC.json\nWhat data is received: Plugin version information and update files when available.\nTerms of Service: https:\/\/thevikingwebdesign.com\/terms-of-service\nPrivacy Policy: https:\/\/thevikingwebdesign.com\/privacy-policy<\/p><\/li>\n<li><p>Content Delivery Network (CDN)\nWhat this service is for: Fast and reliable delivery of JavaScript files needed for the booking widget.\nService provider: BunnyCDN (via TidyCal)\nDomain used: asset-tidycal.b-cdn.net\nWhat is loaded: JavaScript files for widget functionality\nWhen accessed: When a page with the booking widget is loaded\nData sent: Standard HTTP request data (user agent, IP address)\nTerms of Service: https:\/\/bunny.net\/terms\/\nPrivacy Policy: https:\/\/bunny.net\/privacy\/<\/p><\/li>\n<\/ol>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>tidybot<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress<\/li>\n<li>Go to the 'Tidybot' settings page<\/li>\n<li>Enter your email address for subscription verification<\/li>\n<li>Paste your TidyCal embed code<\/li>\n<li>Configure additional settings as needed<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"the%20widget%20isn%27t%20showing%20on%20my%20site\"><h3>The widget isn't showing on my site<\/h3><\/dt>\n<dd><p>Make sure you have:\n1. Entered a valid email address in the Tidybot settings\n2. Pasted your TidyCal embed code correctly\n3. Activated your subscription<\/p><\/dd>\n<dt id=\"how%20do%20i%20change%20the%20appearance%20of%20the%20widget%3F\"><h3>How do I change the appearance of the widget?<\/h3><\/dt>\n<dd><p>You can customize the widget's position and button color in the Tidybot settings page.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.9.85<\/h4>\n\n<ul>\n<li>TidyCal embed code: link in same line as description (\"You can find your embed code here!\" to tidycal.com\/dashboard\/booking-types)<\/li>\n<li>Subscription check runs hourly (WordPress cron)<\/li>\n<li>Plugin Check: removed hidden .DS_Store file<\/li>\n<\/ul>\n\n<h4>1.9.84<\/h4>\n\n<ul>\n<li>TidyCal embed link, subscription check hourly, Plugin Check fix<\/li>\n<\/ul>\n\n<h4>1.9.83<\/h4>\n\n<ul>\n<li>Added shop link when subscription ends (https:\/\/thevikingwebdesign.com\/shop\/)<\/li>\n<li>Trial link only shown if user hasn't used trial yet<\/li>\n<li>Improved trial detection logic to prevent trial reuse after uninstall\/reinstall<\/li>\n<li>Updated all URLs from localhost to production URLs<\/li>\n<\/ul>\n\n<h4>1.9.82<\/h4>\n\n<ul>\n<li>Fixed unlimited subscription detection and entitlements check<\/li>\n<li>Improved subscription lookup with site_url primary and email fallback<\/li>\n<li>Updated tested up to WordPress 6.9<\/li>\n<li>Removed discouraged load_plugin_textdomain() function<\/li>\n<li>Fixed security issues: input validation and output escaping<\/li>\n<li>Removed all error logging and console.log statements for production readiness<\/li>\n<li>Cleaned up debug output throughout the plugin<\/li>\n<li>Plugin now production-ready without debug information<\/li>\n<\/ul>\n\n<h4>1.9.81<\/h4>\n\n<ul>\n<li>Security update: Changed database table name from tidycal_settings to tidybot_settings<\/li>\n<li>Updated trial link to https:\/\/thevikingwebdesign.com\/tidybot-14day-trial<\/li>\n<li>Added website domain to subscription verification<\/li>\n<li>Fixed database table migration<\/li>\n<\/ul>\n\n<h4>1.9.80<\/h4>\n\n<ul>\n<li>Fixed database structure issues by ensuring all required columns exist<\/li>\n<li>Added robust column verification and creation system<\/li>\n<li>Improved database table repair system for compatibility across all hosting environments<\/li>\n<li>Fixed errors related to missing database columns<\/li>\n<li>Enhanced plugin stability when running on various WordPress configurations<\/li>\n<li>Added rounded corners to the booking container for improved aesthetics<\/li>\n<li>Reduced toggle button size from 80px to 65px for less intrusive appearance<\/li>\n<li>Improved database prefix handling for compatibility with all WordPress configurations<\/li>\n<li>Enhanced plugin stability with better database table creation and validation<\/li>\n<li>Fixed issues with color picker in admin settings<\/li>\n<li>Added database caching for improved performance and reduced direct database queries<\/li>\n<li>Fixed nonce verification warnings for better security compliance<\/li>\n<li>Optimized database operations with proper phpcs:ignore comments<\/li>\n<li>Various code optimizations and cleanup<\/li>\n<\/ul>","raw_excerpt":"A frontend planning tool that works with Tidycal agenda tool.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/223607","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=223607"}],"author":[{"embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/thevikingwebdesign"}],"wp:attachment":[{"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=223607"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=223607"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=223607"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=223607"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=223607"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/cn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=223607"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}