{"id":348077,"date":"2026-08-06T13:04:48","date_gmt":"2026-08-06T13:04:48","guid":{"rendered":"https:\/\/de.wordpress.org\/plugins\/bookivy\/"},"modified":"2026-09-03T11:58:04","modified_gmt":"2026-09-03T11:58:04","slug":"bookivy","status":"publish","type":"plugin","link":"https:\/\/eo.wordpress.org\/plugins\/bookivy\/","author":1889493,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.2.0","stable_tag":"2.2.0","tested":"7.0.4","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"BookIvy","header_author":"Re-Thought Consulting","header_description":"Bindet die BookIvy Kalender-Buchung und den BookIvy Chatbot per Shortcode in WordPress ein. Die Konfiguration wird \u00fcber den Lizenzschl\u00fcssel automatisch aus der BookIvy-Instanz \u00fcbernommen.","assets_banners_color":"edeae1","last_updated":"2026-09-03 11:58:04","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/bookivy.ai\/","header_author_uri":"https:\/\/www.re-thought.de\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":190,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"2.0.1":{"tag":"2.0.1","author":"thomasgericke","date":"2026-08-06 13:04:11","revision":3636635},"2.1.1":{"tag":"2.1.1","author":"thomasgericke","date":"2026-09-02 12:59:31","revision":3678042},"2.2.0":{"tag":"2.2.0","author":"thomasgericke","date":"2026-09-03 11:58:04","revision":3679676}},"upgrade_notice":{"2.2.0":"<p>Two changes to existing shortcodes. <code>[bookivy-products product=&amp;quot;\u2026&amp;quot;]<\/code> now opens the order form\ninstead of the filtered catalogue. And <code>planroom<\/code> is finally described for what it does \u2013 the\ninteractive floor plan; the new <code>room<\/code> attribute is the way to open a meeting room. Nothing\nyou have published stops working. After updating, click <strong>Refresh data<\/strong> once so your\ninstance reports its version.<\/p>","2.0.0":"<p>The credit line naming the provider and the author is switched off by default from this\nversion on. If it was active on your site, enable it again on the &quot;Chatbot&quot; tab. The\ncalendar and the chat now depend solely on which addresses your instance provides.<\/p>","1.6.0":"<p>The shortcodes have been renamed. Replace <code>[booking-embed]<\/code> with <code>[bookivy-calendar]<\/code> and\n    [booking-chat-widget] with <code>[bookivy-chat-widget]<\/code>. Existing settings are imported\nautomatically; you need to connect to your instance once.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3636632,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3636632,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3636632,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3636632,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3636632,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["2.0.1","2.1.1","2.2.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3636632,"resolution":"1","location":"assets","locale":"","width":936,"height":1226},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3636632,"resolution":"2","location":"assets","locale":"","width":940,"height":1206},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3636632,"resolution":"3","location":"assets","locale":"","width":924,"height":1206}},"screenshots":{"1":"Settings tab with the licence key and the details of the connected instance.","2":"Appointment calendar tab with the booking URL and the available shortcodes.","3":"Chatbot tab with the colour scheme selector and the display options."}},"plugin_section":[],"plugin_tags":[8132,269,416,2364,80],"plugin_category":[40,43],"plugin_contributors":[97191],"plugin_business_model":[],"class_list":["post-348077","plugin","type-plugin","status-publish","hentry","plugin_tags-appointments","plugin_tags-booking","plugin_tags-calendar","plugin_tags-chatbot","plugin_tags-shortcode","plugin_category-calendar-and-events","plugin_category-customization","plugin_contributors-thomasgericke","plugin_committers-thomasgericke"],"banners":{"banner":"https:\/\/ps.w.org\/bookivy\/assets\/banner-772x250.png?rev=3636632","banner_2x":"https:\/\/ps.w.org\/bookivy\/assets\/banner-1544x500.png?rev=3636632","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/bookivy\/assets\/icon.svg?rev=3636632","icon":"https:\/\/ps.w.org\/bookivy\/assets\/icon.svg?rev=3636632","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/bookivy\/assets\/screenshot-1.png?rev=3636632","caption":"Settings tab with the licence key and the details of the connected instance."},{"src":"https:\/\/ps.w.org\/bookivy\/assets\/screenshot-2.png?rev=3636632","caption":"Appointment calendar tab with the booking URL and the available shortcodes."},{"src":"https:\/\/ps.w.org\/bookivy\/assets\/screenshot-3.png?rev=3636632","caption":"Chatbot tab with the colour scheme selector and the display options."}],"raw_content":"<!--section=description-->\n<p>BookIvy connects your WordPress site to your BookIvy instance. You enter your licence key\nonce and confirm the connection in your BookIvy backend. From then on the plugin picks up\neverything else automatically: the booking URL and the chatbot address of your instance.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li><strong>Appointment calendar<\/strong> \u2013 The booking flow is embedded directly into your page with a\ntransparent background and no visible frame. Its height adjusts automatically to each\nstep, so there is no inner scrollbar and no empty space below the form.<\/li>\n<li><strong>Events<\/strong> \u2013 Embed your event overview, a single event or a whole series. Shown only if\nevents are enabled for your instance.<\/li>\n<li><strong>Products<\/strong> \u2013 Embed your product page, a single product or a product group. Shown only\nif products are enabled for your instance.<\/li>\n<li><strong>Entry points<\/strong> \u2013 Show only part of your offer on a page: just the rooms, just the\nevents, or any combination. Everything else stays out of reach, so several embeds can\nrun side by side, each with its own section.<\/li>\n<li><strong>Chatbot<\/strong> \u2013 An AI booking assistant, either as a floating button on every page or\nplaced inline on selected pages.<\/li>\n<li><strong>No manual configuration<\/strong> \u2013 Addresses come straight from your instance and are\nrefreshed every time you reconnect. There is nothing to copy and paste.<\/li>\n<li><strong>Brand colours<\/strong> \u2013 Optionally use the colours defined in your instance instead of the\nplugin defaults. Text colour on coloured surfaces is calculated automatically for\nreadable contrast.<\/li>\n<li><strong>No advertising on your site<\/strong> \u2013 The credit line naming the provider and the author is\nswitched off by default and only appears if you explicitly turn it on.<\/li>\n<\/ul>\n\n<h4>Shortcodes<\/h4>\n\n<p>Appointment calendar:<\/p>\n\n<pre><code>[bookivy-calendar]\n[bookivy-calendar height=\"900px\"]\n[bookivy-calendar service=\"3\"] \u2013 a specific service\n[bookivy-calendar service=\"3\" person=\"7\"] \u2013 a service with a specific person\n[bookivy-calendar room=\"2\"] \u2013 a specific meeting room\n[bookivy-calendar table=\"5\"] \u2013 a specific table\n[bookivy-calendar planroom=\"2\"] \u2013 the interactive floor plan of a room\n<\/code><\/pre>\n\n<p>Entry points \u2013 show only part of your offer:<\/p>\n\n<pre><code>[bookivy-calendar only=\"rooms\"] \u2013 meeting rooms only\n[bookivy-calendar only=\"tables\"] \u2013 tables and desks only\n[bookivy-calendar only=\"services\"] \u2013 people and services only\n[bookivy-calendar only=\"events\"] \u2013 events only\n[bookivy-calendar only=\"products\"] \u2013 the shop only\n[bookivy-calendar only=\"rooms,tables\"] \u2013 several of them side by side\n<\/code><\/pre>\n\n<p>Anything not listed is neither visible nor reachable by a link, so several embeds can run\nnext to each other, each showing its own section. Needs instance version 0.67.12 or newer.<\/p>\n\n<p>Events:<\/p>\n\n<pre><code>[bookivy-events] \u2013 all bookable events\n[bookivy-events event=\"summer-party-2026\"] \u2013 a single event\n[bookivy-events serie=\"afterworks\"] \u2013 a series with all its dates\n<\/code><\/pre>\n\n<p>Products:<\/p>\n\n<pre><code>[bookivy-products] \u2013 the full catalogue\n[bookivy-products product=\"4\"] \u2013 opens the order form of that product\n[bookivy-products group=\"2\"] \u2013 a product group\n<\/code><\/pre>\n\n<p>Chatbot:<\/p>\n\n<pre><code>[bookivy-chat-widget]\n[bookivy-chat-widget height=\"500px\"]\n<\/code><\/pre>\n\n<h4>External services and data processing<\/h4>\n\n<p>This plugin communicates with the BookIvy platform. It cannot work without that\nconnection, because all content it displays is provided by your instance.<\/p>\n\n<ol>\n<li><strong>Licence connection<\/strong> \u2013 When you click \"Connect\", you are redirected to\n   https:\/\/app.bookivy.ai\/admin\/endpoint\/wp-connect.php. Your licence key and the return\naddress of your site are transmitted. The platform sends back the master data of your\ninstance, cryptographically signed. This step happens exclusively in the WordPress\nadmin area and is always triggered by a logged-in administrator.<\/li>\n<li><strong>Appointment calendar<\/strong> \u2013 The booking page of your instance is embedded as an iframe.\nVisitor data is exchanged directly between the browser and your instance.<\/li>\n<li><strong>Chatbot<\/strong> \u2013 Chat messages are forwarded server-side through WordPress to the chatbot\naddress stored in your instance, so that address never appears in the page source.<\/li>\n<\/ol>\n\n<p>Provider: Re-Thought Consulting, https:\/\/www.re-thought.de\/\nProduct information: https:\/\/bookivy.ai\/\nPrivacy policy: https:\/\/bookivy.ai\/ivy\/recht\/datenschutz\/\nLegal notice: https:\/\/bookivy.ai\/ivy\/recht\/impressum\/<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload and activate the plugin.<\/li>\n<li>Open the <strong>BookIvy<\/strong> menu and enter your licence key. You will find it in your backend\nat https:\/\/app.bookivy.ai\/login.php under <strong>Settings \u2192 Licence<\/strong>.<\/li>\n<li>Click <strong>Connect<\/strong> and confirm the connection once in your backend.<\/li>\n<li>The <strong>Appointment calendar<\/strong> and <strong>Chatbot<\/strong> tabs then show the addresses of your\ninstance together with the matching shortcodes. <strong>Events<\/strong> and <strong>Products<\/strong> appear as\nadditional tabs if those features are enabled for your instance.<\/li>\n<\/ol>\n\n<p>Do not have an account yet? You can get started right away at\nhttps:\/\/bookivy.ai\/ivy\/get-ivy\/<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"a%20shortcode%20does%20not%20display%20anything.%20why%3F\"><h3>A shortcode does not display anything. Why?<\/h3><\/dt>\n<dd><p>The plugin embeds whatever your instance provides. If no booking or chatbot address is\navailable for your account, there is nothing to embed and the shortcode stays empty.\nLogged-in administrators see an explanatory note in that spot; visitors see nothing. Click\n<strong>Refresh data<\/strong> on the <strong>Settings<\/strong> tab to fetch the addresses again.<\/p><\/dd>\n<dt id=\"the%20%22only%22%20attribute%20has%20no%20effect.%20why%3F\"><h3>The \"only\" attribute has no effect. Why?<\/h3><\/dt>\n<dd><p>Entry points exist from BookIvy version 0.67.12 on. Older instances ignore the parameter and\nshow the full booking page. The <strong>Settings<\/strong> tab lists the version your instance reported;\nif it says \"unknown\", click <strong>Refresh data<\/strong> once and it will be filled in.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20my%20licence%20expires%3F\"><h3>What happens when my licence expires?<\/h3><\/dt>\n<dd><p>The plugin contains no lock and no countdown of its own. It simply displays what the\nplatform provided at the last sync. Whether and for how long your account continues to be\nserved is decided by the platform, not by this plugin. The licence status last reported is\nshown in the admin area.<\/p><\/dd>\n<dt id=\"will%20my%20site%20advertise%20bookivy%3F\"><h3>Will my site advertise BookIvy?<\/h3><\/dt>\n<dd><p>Not without your consent. The credit line \"BookIvy made by Re-Thought Consulting\" in the\nchat header is switched off by default. It only appears once you enable it on the\n<strong>Chatbot<\/strong> tab, and you can switch it off again at any time.<\/p><\/dd>\n<dt id=\"can%20i%20use%20the%20floating%20widget%20and%20the%20shortcode%20at%20the%20same%20time%3F\"><h3>Can I use the floating widget and the shortcode at the same time?<\/h3><\/dt>\n<dd><p>Yes. The floating button and an inline chat can run on the same page without conflicting.\nOne inline chat per page is supported.<\/p><\/dd>\n<dt id=\"the%20booking%20form%20is%20wrapped%20in%20a%20coloured%20box.%20what%20can%20i%20do%3F\"><h3>The booking form is wrapped in a coloured box. What can I do?<\/h3><\/dt>\n<dd><p>The booking flow brings its own background and is embedded transparently on purpose. If\nyou place the shortcode inside a container that has its own background, border or padding,\nthat container shows through. Remove those styles from the surrounding element.<\/p><\/dd>\n<dt id=\"the%20chat%20shows%20technical%20output%20instead%20of%20an%20answer.\"><h3>The chat shows technical output instead of an answer.<\/h3><\/dt>\n<dd><p>On the <strong>Chatbot<\/strong> tab, the option \"Remove internal output from answers\" is enabled by\ndefault and strips tool calls and raw data that were passed through. Check that this\noption is still enabled.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.2.0<\/h4>\n\n<ul>\n<li>Added: Entry points. <code>[bookivy-calendar only=\"rooms,tables\"]<\/code> shows only the parts of your\noffer you name \u2013 rooms, tables, services, events or products. Anything else is neither\nvisible nor reachable by a link, so several embeds can run side by side.<\/li>\n<li>Added: <code>[bookivy-calendar room=\"2\"]<\/code> opens a specific meeting room.<\/li>\n<li>Changed: <code>planroom<\/code> is documented correctly. It opens the interactive floor plan of a room,\nwhich needs the \"Floor plans\" feature, the matching setting and a published layout \u2013 it is\nnot the way to open a meeting room. Use <code>room<\/code> for that. Existing shortcodes keep working\nexactly as before.<\/li>\n<li>Changed: <code>[bookivy-products product=\"4\"]<\/code> now opens the order form of that product instead\nof filtering the catalogue.<\/li>\n<li>Added: The plugin reads the version of the connected instance and offers the new attributes\nonly where they work. The Settings tab shows that version.<\/li>\n<li>Fixed: The event and product addresses reported by the platform are now stored instead of\nbeing derived from the instance address every time.<\/li>\n<li>Fixed: Uninstalling removes the two height settings of the Events and Products tabs.<\/li>\n<\/ul>\n\n<h4>2.1.1<\/h4>\n\n<ul>\n<li>Fixed: The Events and Products tabs did not appear even when the instance reported the\nfeature. The feature check looked at the wrong place in the stored connection data.<\/li>\n<\/ul>\n\n<h4>2.1.0<\/h4>\n\n<ul>\n<li>Added: Events tab and the <code>[bookivy-events]<\/code> shortcode. Embed the event overview, a single\nevent or a whole series. Events and series are addressed by their slug, so a published\nshortcode keeps working even after the address is changed in the instance.<\/li>\n<li>Added: Products tab and the <code>[bookivy-products]<\/code> shortcode. Embed the full catalogue, a\nsingle product or a product group.<\/li>\n<li>Added: Both tabs appear only when the connected instance reports the matching feature.\nEnable it in your instance and click \"Refresh data\" to make the tab show up.<\/li>\n<li>Fixed: The \"where to find the IDs\" links in the admin screens pointed to a fixed reference\ninstance instead of the instance you are connected to.<\/li>\n<\/ul>\n\n<h4>2.0.1<\/h4>\n\n<ul>\n<li>Fixed: The privacy policy URL in the readme pointed to a page that no longer exists. It\nnow points to the current address, and the legal notice has been added alongside it.<\/li>\n<li>Fixed: Height values are now validated as real CSS lengths (a number plus px, em, rem,\nvh, vw or %) instead of only having disallowed characters stripped. This applies to the\nsetting as well as to the height attribute of both shortcodes.<\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>Removed: The 14-day grace period and the frontend lock attached to it. The plugin no\nlonger contains any time limit or access restriction.<\/li>\n<li>Removed: The check against a feature entitlement list. What is displayed now depends\nsolely on whether the platform provides the corresponding addresses.<\/li>\n<li>Changed: The credit line naming the provider and the author is switched off by default\nand has to be enabled explicitly before it appears on the site.<\/li>\n<li>Changed: All tabs are reachable at any time; their content follows the available data.<\/li>\n<li>Changed: Custom icons replace the third-party icons used before, so that only the\nplugin's own licence applies.<\/li>\n<li>Added: LICENSE.txt with licence and provenance information.<\/li>\n<\/ul>\n\n<h4>1.7.0<\/h4>\n\n<ul>\n<li>Added: The colour scheme can be switched between the plugin colours and the brand\ncolours of the instance. The brand colours are shown on the Chatbot tab together with\ntheir purpose and the full palette; text colour on coloured surfaces is set\nautomatically for readable contrast.<\/li>\n<li>Added: Direct entry points for the appointment calendar through the <code>planroom<\/code> and\n  table attributes for rooms and tables. The matching view is selected automatically.<\/li>\n<li>Improved: \"Refresh data\" and \"Disconnect\" now sit next to each other instead of\noverlapping.<\/li>\n<\/ul>\n\n<h4>1.6.0<\/h4>\n\n<ul>\n<li>Merged the previous separate plugins for the appointment calendar and the chat into a\nsingle plugin.<\/li>\n<li>Added: Connection to the instance through the licence key; addresses and functions are\npicked up automatically.<\/li>\n<li>Added: Interface with three tabs.<\/li>\n<li>Added: Filter against tool calls and raw data passed through into chat answers, which\ncan be switched off.<\/li>\n<li>Added: Automatic import of the settings from the predecessor plugins.<\/li>\n<li>Changed: The shortcodes are now <code>[bookivy-calendar]<\/code> and <code>[bookivy-chat-widget]<\/code>.<\/li>\n<li>Fixed: The response of the chat endpoint no longer contains raw data from the upstream\nservice.<\/li>\n<\/ul>","raw_excerpt":"Embed the BookIvy appointment calendar and the BookIvy chatbot anywhere on your site using shortcodes.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/eo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/348077","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/eo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/eo.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/eo.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=348077"}],"author":[{"embeddable":true,"href":"https:\/\/eo.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/thomasgericke"}],"wp:attachment":[{"href":"https:\/\/eo.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=348077"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/eo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=348077"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/eo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=348077"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/eo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=348077"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/eo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=348077"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/eo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=348077"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}