Booking Widget for Mews
Booking Widget for Mews
Description
Booking Widget for Mews simplifies the integration of the Mews Booking Engine 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.
Features
- Easy setup — just enter your Mews Configuration ID and you are ready to go.
- Default widget —
[bwfm_booking_widget]displays arrival/departure date pickers and a “Check Availability” button, matching the standard Mews Booking Engine experience. - Multiple modes — use
mode="button"for a simple button, ormode="hidden"to load the engine invisibly for use with your own UI elements. - Shortcodes —
[bwfm_booking_button]for a button and[bwfm_booking_link]for a link that opens the booking engine. - Gutenberg block — a native “Mews Booking Button” block with text and style controls.
- Open Elements — define CSS selectors so any existing element on your site can open the booking engine on click.
- Language & Currency — set default language and currency for the booking engine.
- Demo mode — test with the Mews demo environment before going live.
- Developer-friendly — action and filter hooks for extensions and customization.
How It Works
- Install and activate the plugin.
- Go to Settings > Mews Booking and enter your Configuration ID.
- Add
[bwfm_booking_widget]to any page — 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. - Alternatively, use
[bwfm_booking_button]for a simple booking button, or[bwfm_booking_widget mode="hidden"]to load the engine invisibly alongside your own custom buttons.
External services
This plugin relies on external services operated by Mews Systems B.V. (“Mews”) to load and run the booking engine.
Mews Distributor (production)
When a page uses a booking shortcode or the included block, the plugin loads JavaScript from:
https://app.mews.com/distributor/distributor.min.js
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.
Mews Demo API
If you enable Demo Mode in the plugin settings (Advanced tab), the booking engine uses Mews’ demo environment. The front-end code then directs API traffic to:
https://api.mews-demo.com
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.
Installation
- Upload the
booking-widget-for-mewsfolder to the/wp-content/plugins/directory, or install directly through the WordPress plugin screen. - Activate the plugin through the Plugins screen in WordPress.
- Navigate to Settings > Mews Booking to configure your Mews Configuration ID.
- Add
[bwfm_booking_widget]to any page to display the date selection form and “Check Availability” button, or use[bwfm_booking_button]/ the Gutenberg block for a simple button.
Faq
You can find it in Mews Operations under your Booking Engine configuration. See the Mews documentation for detailed instructions.
Yes. Enter multiple IDs separated by commas in the settings. This enables Chain mode for multi-property setups.
Yes. The shortcodes work in any page builder that supports WordPress shortcodes. A native Gutenberg block is also included.
You can add custom CSS classes via the “Button CSS Class” setting or the class shortcode attribute. For advanced styling options including date pickers, color customization, and multiple skins, see Booking Widget for Mews Pro.
Reviews
Changelog
1.1.1
- Fix: Updated the Pro upgrade link to
wp-assist.biz. - Build: Improved GitHub Actions deploy flow (SVN deploy skips cleanly when no release artifact exists; artifact actions updated for Node 24 compatibility).
1.1.0
- Security: Shortcode output is sanitized with
wp_kses_post()after thebwfm_shortcode_outputfilter so returned HTML meets WordPress.org escaping expectations (including filtered output). - Build: GitHub Actions release archives use
booking-widget-for-mews.zip(no version suffix in the filename) to match WordPress.org submission expectations.
1.0.7
- Compliance: Removed WordPress.org directory banner/icon from the plugin package (use SVN assets folder after approval).
- Compliance: Documented external services in readme (Mews Distributor script and Mews Demo API).
- Security: Escape Pro/extension HTML injected via
bwfm_widget_form_extra_fieldswithwp_kses(). - Naming: Primary shortcodes are now
[bwfm_booking_widget],[bwfm_booking_button], and[bwfm_booking_link]; legacy[mews_*]names remain registered as aliases.
1.0.6
- Fix: Removed duplicate Plugin URI header to satisfy WordPress.org review feedback.
1.0.5
- Fix: Updated WordPress compatibility metadata and addressed Plugin Check recommendations.
1.0.4
- Fix: Resolved settings disappearing when saving across different tabs.
1.0.3
- Fix: Moved GitHub Actions workflow to the correct directory to enable automated releases.
1.0.2
- Fix: Resolved automated release pipeline issues.
1.0.1
- Enhancement: Added underlying compatibility for the new Pro Appearance Customizer and Live Preview features.
1.0.0
- Initial release.