{"id":321280,"date":"2026-06-11T14:17:19","date_gmt":"2026-06-11T14:17:19","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/bookinda-booking-widget\/"},"modified":"2026-09-25T16:27:11","modified_gmt":"2026-09-25T16:27:11","slug":"bookinda-booking-widget","status":"publish","type":"plugin","link":"https:\/\/ary.wordpress.org\/plugins\/bookinda-booking-widget\/","author":23507982,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.2.0","stable_tag":"1.2.0","tested":"7.1.2","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Bookinda Booking Widget","header_author":"Bookinda","header_description":"Native booking widget for the Bookinda SaaS platform. Gutenberg block, Elementor widget, Classic editor button, shortcode, lightbox mode. Requires an active Bookinda account.","assets_banners_color":"f5f2e5","last_updated":"2026-09-25 16:27:11","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/bookinda.hu\/integracio\/wordpress","header_author_uri":"https:\/\/bookinda.hu","rating":0,"author_block_rating":0,"active_installs":0,"downloads":316,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.1.3":{"tag":"1.1.3","author":"bookinda","date":"2026-06-11 16:24:17","revision":3569151},"1.2.0":{"tag":"1.2.0","author":"bookinda","date":"2026-09-25 16:27:11","revision":3713320}},"upgrade_notice":{"1.2.0":"<p>The booking now uses the Bookinda widget (same flow as bookinda.hu, all features). Fixes the endless loading when the full URL was entered as the slug. Recommended upgrade.<\/p>","1.1.3":"<p>Text domain aligned with the plugin slug for WordPress.org Plugin Directory compliance.<\/p>","1.1.2":"<p>WordPress.org Plugin Check compliance: Tested up to 7.0 and removed redundant text domain loader. Recommended upgrade.<\/p>","1.1.1":"<p>WordPress.org compliance pass: external services disclosure, escape audit, i18n improvements. Recommended upgrade.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3568980,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3568980,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3569147,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3569147,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"bookinda\/booking":{"name":"bookinda\/booking","title":"Bookinda Foglal\u00e1s"}},"tagged_versions":["1.1.3","1.2.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3569151,"resolution":"1","location":"assets","locale":"","width":1280,"height":707},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3569151,"resolution":"2","location":"assets","locale":"","width":1280,"height":655},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3569151,"resolution":"3","location":"assets","locale":"","width":1280,"height":669}},"screenshots":{"1":"Elementor widget settings, Content tab.","2":"Lightbox modal on mobile.","3":"Inline mode iframe on a page.","4":"Plugin settings page with Bookinda tenant slug and optional tracking configuration."}},"plugin_section":[],"plugin_tags":[276,269,76538,148076,268],"plugin_category":[40],"plugin_contributors":[266680],"plugin_business_model":[],"class_list":["post-321280","plugin","type-plugin","status-publish","hentry","plugin_tags-appointment","plugin_tags-booking","plugin_tags-elementor","plugin_tags-gutenberg","plugin_tags-scheduling","plugin_category-calendar-and-events","plugin_contributors-bookinda","plugin_committers-bookinda"],"banners":{"banner":"https:\/\/ps.w.org\/bookinda-booking-widget\/assets\/banner-772x250.png?rev=3569147","banner_2x":"https:\/\/ps.w.org\/bookinda-booking-widget\/assets\/banner-1544x500.png?rev=3569147","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/bookinda-booking-widget\/assets\/icon-128x128.png?rev=3568980","icon_2x":"https:\/\/ps.w.org\/bookinda-booking-widget\/assets\/icon-256x256.png?rev=3568980","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/bookinda-booking-widget\/assets\/screenshot-1.png?rev=3569151","caption":"Elementor widget settings, Content tab."},{"src":"https:\/\/ps.w.org\/bookinda-booking-widget\/assets\/screenshot-2.png?rev=3569151","caption":"Lightbox modal on mobile."},{"src":"https:\/\/ps.w.org\/bookinda-booking-widget\/assets\/screenshot-3.png?rev=3569151","caption":"Inline mode iframe on a page."}],"raw_content":"<!--section=description-->\n<p>The Bookinda Booking Widget plugin embeds the Bookinda online booking experience natively into any WordPress site. It supports four embed methods (Gutenberg block, Elementor widget, Classic editor toolbar button, shortcode) and two display modes (inline, or a button that opens the booking fullscreen).<\/p>\n\n<p>The plugin is a thin client for the Bookinda SaaS booking platform (https:\/\/bookinda.hu). Since 1.2.0 it loads the Bookinda booking widget script from bookinda.hu, the same booking flow as on the Bookinda site, so every new Bookinda booking feature appears on your site without a plugin update. The older iframe embed is still available with <code>engine=\"iframe\"<\/code>. Booking lifecycle events are bridged to the host page as native DOM CustomEvents.<\/p>\n\n<p>You need an active Bookinda account to use this plugin. The plugin itself is free.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li><strong>Gutenberg block<\/strong> in the Widgets category with sidebar InspectorControls for every parameter.<\/li>\n<li><strong>Elementor widget<\/strong> with three tabs (Content, Preselection, Style) in the sidebar.<\/li>\n<li><strong>Classic editor (TinyMCE) toolbar button<\/strong> with a dialog that inserts the appropriate shortcode.<\/li>\n<li><strong>Shortcode<\/strong> <code>[bookinda]<\/code> \/ <code>[bookinda mode=\"lightbox\"]<\/code> for any template, widget area, or content block.<\/li>\n<li><strong>Inline mode<\/strong>: the booking flow is embedded directly in the content and grows with it.<\/li>\n<li><strong>Lightbox mode<\/strong>: a button opens a fullscreen modal with the booking flow (mobile-optimized with sticky continue button, ESC and backdrop click to close).<\/li>\n<li><strong>Preselection and deep links<\/strong>: <code>services<\/code>, <code>staff<\/code>, <code>category<\/code>, <code>promo<\/code>, <code>location<\/code>, plus <code>view<\/code> (skip the \"what would you like to book\" step: services, packages, memberships, groupClasses, giftVouchers), <code>package<\/code> and <code>membership<\/code> (open a specific package or membership purchase).<\/li>\n<li><strong>Slug from any URL<\/strong>: paste <code>bioskin<\/code>, <code>bioskin.bookinda.hu<\/code> or <code>https:\/\/bioskin.bookinda.hu<\/code>, the plugin reads the slug from it.<\/li>\n<li><strong>Host DOM events<\/strong>: <code>bookinda:complete<\/code>, <code>bookinda:error<\/code>, <code>bookinda:step<\/code>, <code>bookinda:resize<\/code> CustomEvents dispatched on <code>document<\/code> for custom integrations.<\/li>\n<li><strong>Optional GA4 and Meta Pixel tracking<\/strong>: if the host page already loads <code>gtag<\/code> or <code>fbq<\/code>, the plugin can fire a <code>purchase<\/code> event on booking completion. Configured via plugin settings (off by default).<\/li>\n<\/ul>\n\n<h4>Where to find your tenant slug<\/h4>\n\n<p>Your tenant slug is the prefix of your Bookinda URL: <code>https:\/\/YOUR-SLUG.bookinda.hu\/manager\/calendar<\/code>. The slug is the part before <code>.bookinda.hu<\/code>.<\/p>\n\n<h3>External Services<\/h3>\n\n<p>This plugin connects to <strong>Bookinda<\/strong> (https:\/\/bookinda.hu), a third-party SaaS booking platform operated by Bookinda Kft. The connection is required for the plugin to function: the booking widget script is loaded from https:\/\/bookinda.hu\/embed\/v2\/bookinda-widget.js and talks to the Bookinda API (https:\/\/api.bookinda.hu). With <code>engine=\"iframe\"<\/code> the booking flow is loaded in an iframe from your tenant subdomain instead.<\/p>\n\n<p><strong>What is sent to Bookinda:<\/strong><\/p>\n\n<ul>\n<li>When a visitor opens a page containing the booking widget, their browser loads <code>https:\/\/{your-tenant-slug}.bookinda.hu\/embed\/{your-tenant-slug}<\/code> in an iframe. The URL includes the embed configuration parameters you set (mode, color, preselected service IDs, etc.) and an analytics-only <code>source=wp-plugin<\/code> parameter so Bookinda can distinguish WordPress plugin traffic from other embed sources.<\/li>\n<li>When the visitor proceeds with a booking, they interact directly with the Bookinda iframe. Any data they enter (name, email, phone, payment details) is sent to Bookinda's servers, not to your WordPress site. The plugin does not collect or store visitor data on the WordPress site.<\/li>\n<\/ul>\n\n<p><strong>What is received from Bookinda:<\/strong><\/p>\n\n<ul>\n<li>The booking widget HTML, CSS, and JavaScript, served from the Bookinda CDN.<\/li>\n<li>postMessage events containing booking lifecycle data (completion confirmation, step changes, iframe height). The plugin re-broadcasts these as DOM CustomEvents on the host page.<\/li>\n<\/ul>\n\n<p><strong>Service documentation:<\/strong><\/p>\n\n<ul>\n<li>Bookinda website: https:\/\/bookinda.hu<\/li>\n<li>Privacy Policy: https:\/\/bookinda.hu\/adatkezeles<\/li>\n<li>Cookie Policy: https:\/\/bookinda.hu\/cookie-szabalyzat<\/li>\n<li>Terms of Service: https:\/\/bookinda.hu\/aszf<\/li>\n<li>Data deletion request: https:\/\/bookinda.hu\/adatok-torlese<\/li>\n<\/ul>\n\n<p>By installing and activating this plugin you acknowledge that visitor interactions with the embedded widget are subject to Bookinda's Privacy Policy and Terms of Service. Please review them and ensure your site's privacy notice reflects the data flow described above.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Download the plugin zip from https:\/\/bookinda.hu\/integracio\/wordpress<\/li>\n<li>In WordPress admin, go to <strong>Plugins \u2192 Add New \u2192 Upload Plugin<\/strong> and select the zip file.<\/li>\n<li>Click <strong>Install Now<\/strong>, then <strong>Activate<\/strong>.<\/li>\n<li>Go to <strong>Settings \u2192 Bookinda<\/strong> and enter your tenant slug.<\/li>\n<li>Embed the widget anywhere using the Gutenberg block, Elementor widget, Classic editor button, or shortcode <code>[bookinda]<\/code>.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20a%20bookinda%20account%20to%20use%20this%20plugin%3F\"><h3>Do I need a Bookinda account to use this plugin?<\/h3><\/dt>\n<dd><p>Yes. The plugin embeds the Bookinda booking widget, which requires an active Bookinda account. You can sign up at https:\/\/bookinda.hu. The plugin itself is free.<\/p><\/dd>\n<dt id=\"is%20this%20plugin%20free%3F\"><h3>Is this plugin free?<\/h3><\/dt>\n<dd><p>Yes. The plugin is licensed under GPLv2 or later and is free to use. There is no one-time purchase fee and no annual subscription cost for the plugin. A Bookinda SaaS account is required for the booking functionality (separate from the plugin).<\/p><\/dd>\n<dt id=\"where%20can%20i%20find%20my%20tenant%20slug%3F\"><h3>Where can I find my tenant slug?<\/h3><\/dt>\n<dd><p>It is the prefix of your Bookinda URL: <code>https:\/\/YOUR-SLUG.bookinda.hu\/manager\/calendar<\/code>. The part before <code>.bookinda.hu<\/code> is your slug.<\/p><\/dd>\n<dt id=\"what%20is%20sent%20to%20bookinda%27s%20servers%3F\"><h3>What is sent to Bookinda's servers?<\/h3><\/dt>\n<dd><p>When a visitor opens a page with the booking widget, their browser loads the Bookinda widget script from bookinda.hu, which then talks to the Bookinda API. The plugin does not send data from your WordPress site to Bookinda. All visitor interactions (filling in name, email, payment) go directly from the visitor's browser to Bookinda and are subject to Bookinda's Privacy Policy.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20track%20visitors%3F\"><h3>Does the plugin track visitors?<\/h3><\/dt>\n<dd><p>By default, no. The plugin only sends one analytics-only parameter to Bookinda (<code>source=wp-plugin<\/code>) so Bookinda can identify WordPress plugin traffic on its own analytics.<\/p>\n\n<p>The plugin can optionally fire a Google Analytics 4 or Meta Pixel <code>purchase<\/code> event when a booking completes, but only if you explicitly configure the GA4 measurement ID or Meta Pixel ID in the plugin settings, and only if the host page already loads <code>gtag<\/code> or <code>fbq<\/code> (the plugin does not load any tracking scripts itself).<\/p><\/dd>\n<dt id=\"inline%20or%20lightbox%20mode%3F\"><h3>Inline or lightbox mode?<\/h3><\/dt>\n<dd><p><strong>Lightbox<\/strong> (recommended for most cases): a button on the page opens a fullscreen modal with the booking flow. Mobile-friendly because the iframe gets its own scroll context.<\/p>\n\n<p><strong>Inline<\/strong>: the iframe is embedded directly in the content. Good for dedicated booking pages.<\/p><\/dd>\n<dt id=\"how%20do%20i%20update%20the%20plugin%3F\"><h3>How do I update the plugin?<\/h3><\/dt>\n<dd><p>Download the latest zip from https:\/\/bookinda.hu\/integracio\/wordpress, deactivate and delete the current plugin in WP-admin, then install the new zip. Your settings (slug, primary color, tracking IDs) are preserved across updates.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Tested up to WordPress 7.1 (block editor controls use the new 40px default size).<\/li>\n<li>The plugin now embeds the Bookinda booking widget (the same booking flow as on bookinda.hu) instead of the old iframe page: images, packages, memberships, installments, online payments and every future booking feature work on your site automatically. The old iframe embed is available with <code>engine=\"iframe\"<\/code>.<\/li>\n<li>The tenant slug field accepts a full URL (<code>https:\/\/bioskin.bookinda.hu<\/code>); an earlier, wrongly saved slug is repaired automatically. Before, a pasted URL left the booking loading forever.<\/li>\n<li>New shortcode parameters: <code>view<\/code> (skip the \"what would you like to book\" step), <code>package<\/code> and <code>membership<\/code> (open a specific purchase). <code>services<\/code> and <code>category<\/code> now also skip that step.<\/li>\n<li>Moving to the next step no longer jumps to the top of your page.<\/li>\n<\/ul>\n\n<h4>1.1.3<\/h4>\n\n<ul>\n<li>Aligned the text domain with the plugin slug (bookinda-booking-widget) for all translatable strings.<\/li>\n<li>Added the text domain to the block editor (JavaScript) strings and registered script translations via wp_set_script_translations().<\/li>\n<li>Renamed the translation template to bookinda-booking-widget.pot.<\/li>\n<\/ul>\n\n<h4>1.1.2<\/h4>\n\n<ul>\n<li>Tested up to WordPress 7.0.<\/li>\n<li>Removed the manual load_plugin_textdomain() call. WordPress.org loads translations automatically for plugins hosted in the Plugin Directory.<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>External Services disclosure section in readme (WordPress.org plugin guideline 6).<\/li>\n<li>Privacy Policy and Terms of Service links on settings page.<\/li>\n<li>Output escape audit on settings page (defense-in-depth).<\/li>\n<li>User-facing strings wrapped with <code>__()<\/code> \/ <code>esc_html__()<\/code> for i18n.<\/li>\n<li>Empty <code>\/languages<\/code> folder + <code>.pot<\/code> template so the Domain Path declaration validates cleanly.<\/li>\n<li>Plugin name set to ASCII for the WordPress.org repository (\"Bookinda Booking Widget\").<\/li>\n<li>Tested up to WordPress 6.7.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>New: Gutenberg block (\"Bookinda Foglal\u00e1s\") with sidebar InspectorControls for every parameter.<\/li>\n<li>New: Classic editor (TinyMCE) toolbar button with shortcode-inserting dialog.<\/li>\n<li>New: Host-side DOM events (<code>bookinda:complete<\/code>, <code>bookinda:error<\/code>, <code>bookinda:step<\/code>, <code>bookinda:resize<\/code>).<\/li>\n<li>New: GA4 + Meta Pixel auto-purchase tracking via plugin settings.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release. Shortcode + Elementor widget + lightbox modal mode.<\/li>\n<\/ul>","raw_excerpt":"Native WordPress plugin for the Bookinda online booking widget. Gutenberg block, Elementor widget, Classic editor button, shortcode, lightbox.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ary.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/321280","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ary.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ary.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ary.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=321280"}],"author":[{"embeddable":true,"href":"https:\/\/ary.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/bookinda"}],"wp:attachment":[{"href":"https:\/\/ary.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=321280"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ary.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=321280"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ary.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=321280"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ary.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=321280"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ary.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=321280"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ary.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=321280"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}