{"id":292614,"date":"2026-03-30T14:05:00","date_gmt":"2026-03-30T14:05:00","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/booking-widget-for-mews\/"},"modified":"2026-03-30T14:04:27","modified_gmt":"2026-03-30T14:04:27","slug":"booking-widget-for-mews","status":"publish","type":"plugin","link":"https:\/\/hat.wordpress.org\/plugins\/booking-widget-for-mews\/","author":23469736,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.1.1","stable_tag":"1.1.1","tested":"6.9.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Booking Widget for Mews","header_author":"WP Assist","header_description":"Easily integrate the Mews Booking Engine into your WordPress site with shortcodes and Gutenberg blocks.","assets_banners_color":"12354e","last_updated":"2026-03-30 14:04:27","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/wp-assist.biz","rating":0,"author_block_rating":0,"active_installs":0,"downloads":126,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.1.1":{"tag":"1.1.1","author":"wpassistbiz","date":"2026-03-30 14:04:27"}},"upgrade_notice":{"1.1.1":"<p>Maintenance release: fixes the Pro upgrade URL and hardens CI\/SVN deploy automation; no settings changes required.<\/p>","1.1.0":"<p>Security and packaging update: shortcode HTML is further hardened for WordPress.org guidelines; no settings changes required.<\/p>","1.0.7":"<p>WordPress.org compliance release: use <code>[bwfm_booking_widget]<\/code>, <code>[bwfm_booking_button]<\/code>, and <code>[bwfm_booking_link]<\/code> in new content; old <code>[mews_*]<\/code> shortcodes still work.<\/p>","1.0.0":"<p>Initial release of Booking Widget for Mews.<\/p>"},"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3494668,"resolution":"256x256","location":"assets","locale":"","width":1376,"height":768}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3494668,"resolution":"772x250","location":"assets","locale":"","width":1376,"height":768}},"assets_blueprints":{},"all_blocks":{"bwfm\/booking-button":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"bwfm\/booking-button","version":"1.1.0","title":"Mews Booking Button","category":"widgets","icon":"calendar-alt","description":"A button that opens the Mews Booking Engine.","keywords":["booking","mews","hotel","reservation"],"supports":{"html":false,"align":["left","center","right"]},"attributes":{"text":{"type":"string","default":"Book Now"},"style":{"type":"string","default":"fill","enum":["fill","outline"]},"alignment":{"type":"string","default":"center"}},"textdomain":"booking-widget-for-mews","editorScript":"file:.\/index.js","style":"bwfm-public"}},"tagged_versions":["1.1.1"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Settings page with Configuration ID and display options.","2":"The booking button rendered on the front end.","3":"Gutenberg block in the editor."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[269,4487,4488,259010,722],"plugin_category":[40],"plugin_contributors":[259012,259011],"plugin_business_model":[],"class_list":["post-292614","plugin","type-plugin","status-publish","hentry","plugin_tags-booking","plugin_tags-booking-engine","plugin_tags-hotel","plugin_tags-mews","plugin_tags-reservation","plugin_category-calendar-and-events","plugin_contributors-indyzen","plugin_contributors-wpassistbiz","plugin_committers-wpassistbiz"],"banners":{"banner":"https:\/\/ps.w.org\/booking-widget-for-mews\/assets\/banner-772x250.png?rev=3494668","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/booking-widget-for-mews\/assets\/icon-256x256.png?rev=3494668","icon_2x":"https:\/\/ps.w.org\/booking-widget-for-mews\/assets\/icon-256x256.png?rev=3494668","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>Booking Widget for Mews<\/strong> simplifies the integration of the <a href=\"https:\/\/www.mews.com\/\">Mews Booking Engine<\/a> into any WordPress website. Hotels, rental companies, and hospitality businesses can add a \"Book Now\" button or link anywhere on their site using simple shortcodes or the included Gutenberg block.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li><strong>Easy setup<\/strong> \u2014 just enter your Mews Configuration ID and you are ready to go.<\/li>\n<li><strong>Default widget<\/strong> \u2014 <code>[bwfm_booking_widget]<\/code> displays arrival\/departure date pickers and a \"Check Availability\" button, matching the standard Mews Booking Engine experience.<\/li>\n<li><strong>Multiple modes<\/strong> \u2014 use <code>mode=\"button\"<\/code> for a simple button, or <code>mode=\"hidden\"<\/code> to load the engine invisibly for use with your own UI elements.<\/li>\n<li><strong>Shortcodes<\/strong> \u2014 <code>[bwfm_booking_button]<\/code> for a button and <code>[bwfm_booking_link]<\/code> for a link that opens the booking engine.<\/li>\n<li><strong>Gutenberg block<\/strong> \u2014 a native \"Mews Booking Button\" block with text and style controls.<\/li>\n<li><strong>Open Elements<\/strong> \u2014 define CSS selectors so any existing element on your site can open the booking engine on click.<\/li>\n<li><strong>Language &amp; Currency<\/strong> \u2014 set default language and currency for the booking engine.<\/li>\n<li><strong>Demo mode<\/strong> \u2014 test with the Mews demo environment before going live.<\/li>\n<li><strong>Developer-friendly<\/strong> \u2014 action and filter hooks for extensions and customization.<\/li>\n<\/ul>\n\n<h4>How It Works<\/h4>\n\n<ol>\n<li>Install and activate the plugin.<\/li>\n<li>Go to <strong>Settings &gt; Mews Booking<\/strong> and enter your Configuration ID.<\/li>\n<li>Add <code>[bwfm_booking_widget]<\/code> to any page \u2014 it displays date pickers and a \"Check Availability\" button by default. Visitors pick dates, click the button, and the Mews Booking Engine opens with their dates pre-filled.<\/li>\n<li>Alternatively, use <code>[bwfm_booking_button]<\/code> for a simple booking button, or <code>[bwfm_booking_widget mode=\"hidden\"]<\/code> to load the engine invisibly alongside your own custom buttons.<\/li>\n<\/ol>\n\n<h3>External services<\/h3>\n\n<p>This plugin relies on external services operated by Mews Systems B.V. (\u201cMews\u201d) to load and run the booking engine.<\/p>\n\n<p><strong>Mews Distributor (production)<\/strong><\/p>\n\n<p>When a page uses a booking shortcode or the included block, the plugin loads JavaScript from:<\/p>\n\n<pre><code>https:\/\/app.mews.com\/distributor\/distributor.min.js\n<\/code><\/pre>\n\n<p>This script is required to display the Mews Booking Engine and handle availability and reservations. Your saved Configuration ID(s) are passed to this script when the page loads so the correct property is targeted. No visitor personal data is sent to Mews until the visitor interacts with the booking flow.<\/p>\n\n<ul>\n<li><a href=\"https:\/\/www.mews.com\/en\/legal\/terms-and-conditions\">Mews Terms of Service<\/a><\/li>\n<li><a href=\"https:\/\/www.mews.com\/en\/legal\/privacy-statement\">Mews Privacy Policy<\/a><\/li>\n<\/ul>\n\n<p><strong>Mews Demo API<\/strong><\/p>\n\n<p>If you enable <strong>Demo Mode<\/strong> in the plugin settings (Advanced tab), the booking engine uses Mews\u2019 demo environment. The front-end code then directs API traffic to:<\/p>\n\n<pre><code>https:\/\/api.mews-demo.com\n<\/code><\/pre>\n\n<p>This happens only while Demo Mode is on. The same Configuration ID(s) from your settings are used against the demo sandbox for testing; no live bookings are made. The same Mews terms and privacy policy apply.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>booking-widget-for-mews<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory, or install directly through the WordPress plugin screen.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> screen in WordPress.<\/li>\n<li>Navigate to <strong>Settings &gt; Mews Booking<\/strong> to configure your Mews Configuration ID.<\/li>\n<li>Add <code>[bwfm_booking_widget]<\/code> to any page to display the date selection form and \"Check Availability\" button, or use <code>[bwfm_booking_button]<\/code> \/ the Gutenberg block for a simple button.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"where%20do%20i%20find%20my%20mews%20configuration%20id%3F\"><h3>Where do I find my Mews Configuration ID?<\/h3><\/dt>\n<dd><p>You can find it in Mews Operations under your Booking Engine configuration. See the <a href=\"https:\/\/docs.mews.com\/booking-engine-guide\/faq#where-can-i-get-configuration-id\">Mews documentation<\/a> for detailed instructions.<\/p><\/dd>\n<dt id=\"can%20i%20use%20multiple%20configuration%20ids%3F\"><h3>Can I use multiple Configuration IDs?<\/h3><\/dt>\n<dd><p>Yes. Enter multiple IDs separated by commas in the settings. This enables Chain mode for multi-property setups.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20work%20with%20page%20builders%3F\"><h3>Does this plugin work with page builders?<\/h3><\/dt>\n<dd><p>Yes. The shortcodes work in any page builder that supports WordPress shortcodes. A native Gutenberg block is also included.<\/p><\/dd>\n<dt id=\"can%20i%20customize%20the%20button%20appearance%3F\"><h3>Can I customize the button appearance?<\/h3><\/dt>\n<dd><p>You can add custom CSS classes via the \"Button CSS Class\" setting or the <code>class<\/code> shortcode attribute. For advanced styling options including date pickers, color customization, and multiple skins, see <strong>Booking Widget for Mews Pro<\/strong>.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Fix: Updated the Pro upgrade link to <code>wp-assist.biz<\/code>.<\/li>\n<li>Build: Improved GitHub Actions deploy flow (SVN deploy skips cleanly when no release artifact exists; artifact actions updated for Node 24 compatibility).<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Security: Shortcode output is sanitized with <code>wp_kses_post()<\/code> after the <code>bwfm_shortcode_output<\/code> filter so returned HTML meets WordPress.org escaping expectations (including filtered output).<\/li>\n<li>Build: GitHub Actions release archives use <code>booking-widget-for-mews.zip<\/code> (no version suffix in the filename) to match WordPress.org submission expectations.<\/li>\n<\/ul>\n\n<h4>1.0.7<\/h4>\n\n<ul>\n<li>Compliance: Removed WordPress.org directory banner\/icon from the plugin package (use SVN assets folder after approval).<\/li>\n<li>Compliance: Documented external services in readme (Mews Distributor script and Mews Demo API).<\/li>\n<li>Security: Escape Pro\/extension HTML injected via <code>bwfm_widget_form_extra_fields<\/code> with <code>wp_kses()<\/code>.<\/li>\n<li>Naming: Primary shortcodes are now <code>[bwfm_booking_widget]<\/code>, <code>[bwfm_booking_button]<\/code>, and <code>[bwfm_booking_link]<\/code>; legacy <code>[mews_*]<\/code> names remain registered as aliases.<\/li>\n<\/ul>\n\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>Fix: Removed duplicate Plugin URI header to satisfy WordPress.org review feedback.<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Fix: Updated WordPress compatibility metadata and addressed Plugin Check recommendations.<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Fix: Resolved settings disappearing when saving across different tabs.<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Fix: Moved GitHub Actions workflow to the correct directory to enable automated releases.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Fix: Resolved automated release pipeline issues.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Enhancement: Added underlying compatibility for the new Pro Appearance Customizer and Live Preview features.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Easily integrate the Mews Booking Engine into your WordPress site with shortcodes and a Gutenberg block.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/hat.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/292614","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hat.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/hat.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/hat.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=292614"}],"author":[{"embeddable":true,"href":"https:\/\/hat.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/wpassistbiz"}],"wp:attachment":[{"href":"https:\/\/hat.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=292614"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/hat.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=292614"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/hat.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=292614"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/hat.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=292614"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/hat.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=292614"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/hat.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=292614"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}