{"id":322435,"date":"2026-06-12T11:10:20","date_gmt":"2026-06-12T11:10:20","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/flex-multiple-listing-and-booking-system\/"},"modified":"2026-06-12T11:10:01","modified_gmt":"2026-06-12T11:10:01","slug":"flex-multiple-listing-and-booking-system","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/flex-multiple-listing-and-booking-system\/","author":23384796,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.6","stable_tag":"1.0.6","tested":"7.0","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"Flex Listings and Booking Manager","header_author":"Usman Ali","header_description":"Multipurpose multiple-listing and booking engine for rentals, tours, appointments, and services ? listing grids, calendars, partner portal, and REST API.","assets_banners_color":"3a4b4c","last_updated":"2026-06-12 11:10:01","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/usman-dc\/Flex-Multiple-Listing-and-Booking-System","header_author_uri":"https:\/\/wprogers.com\/","rating":5,"author_block_rating":0,"active_installs":0,"downloads":22,"num_ratings":1,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.6":{"tag":"1.0.6","author":"usmanaliwpdeveloper","date":"2026-06-12 11:10:01"}},"upgrade_notice":{"1.0.6":"<p>Listing grid filters work better with themes and Elementor. License settings tab removed.<\/p>","1.0.1":"<p>Improved color settings and plugin branding. Settings and data are preserved on upgrade.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3570011,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3570011,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3570011,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3570011,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"ulbm-booking\/form":{"name":"ulbm-booking\/form","title":"Flex Listings Booking Form"},"ulbm-booking\/grid":{"name":"ulbm-booking\/grid","title":"Flex Listing Grid"},"ulbm-booking\/search":{"name":"ulbm-booking\/search","title":"Flex Listing Search"}},"tagged_versions":["1.0.6"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3569971,"resolution":"1","location":"assets","locale":"","width":1200,"height":900},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3569971,"resolution":"2","location":"assets","locale":"","width":1200,"height":900},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3569971,"resolution":"3","location":"assets","locale":"","width":1200,"height":900},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3569971,"resolution":"4","location":"assets","locale":"","width":1200,"height":900},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3569971,"resolution":"5","location":"assets","locale":"","width":1200,"height":900}},"screenshots":{"1":"Admin dashboard with booking statistics and charts","2":"Single listing page with image gallery and booking form","3":"Listing grid with AJAX filters and price cards","4":"Settings page \u2014 colors, layout, container width, and shortcodes","5":"Partner portal \u2014 vendor dashboard and listing management"}},"plugin_section":[],"plugin_tags":[276,269,416,4528,5075],"plugin_category":[40],"plugin_contributors":[266824],"plugin_business_model":[],"class_list":["post-322435","plugin","type-plugin","status-publish","hentry","plugin_tags-appointment","plugin_tags-booking","plugin_tags-calendar","plugin_tags-listings","plugin_tags-rental","plugin_category-calendar-and-events","plugin_contributors-usmanaliwpdeveloper","plugin_committers-usmanaliwpdeveloper"],"banners":{"banner":"https:\/\/ps.w.org\/flex-multiple-listing-and-booking-system\/assets\/banner-772x250.png?rev=3570011","banner_2x":"https:\/\/ps.w.org\/flex-multiple-listing-and-booking-system\/assets\/banner-1544x500.png?rev=3570011","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/flex-multiple-listing-and-booking-system\/assets\/icon-128x128.png?rev=3570011","icon_2x":"https:\/\/ps.w.org\/flex-multiple-listing-and-booking-system\/assets\/icon-256x256.png?rev=3570011","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/flex-multiple-listing-and-booking-system\/assets\/screenshot-1.png?rev=3569971","caption":"Admin dashboard with booking statistics and charts"},{"src":"https:\/\/ps.w.org\/flex-multiple-listing-and-booking-system\/assets\/screenshot-2.png?rev=3569971","caption":"Single listing page with image gallery and booking form"},{"src":"https:\/\/ps.w.org\/flex-multiple-listing-and-booking-system\/assets\/screenshot-3.png?rev=3569971","caption":"Listing grid with AJAX filters and price cards"},{"src":"https:\/\/ps.w.org\/flex-multiple-listing-and-booking-system\/assets\/screenshot-4.png?rev=3569971","caption":"Settings page \u2014 colors, layout, container width, and shortcodes"},{"src":"https:\/\/ps.w.org\/flex-multiple-listing-and-booking-system\/assets\/screenshot-5.png?rev=3569971","caption":"Partner portal \u2014 vendor dashboard and listing management"}],"raw_content":"<!--section=description-->\n<p><strong>Flex Listings and Booking Manager<\/strong> helps you publish many bookable listings and accept reservations on WordPress \u2014 hotels, vacation rentals, car rental, tours, events, and services.<\/p>\n\n<p>Developed by <a href=\"https:\/\/profiles.wordpress.org\/usmanaliwpdeveloper\/\">Usman Ali<\/a> at <a href=\"https:\/\/wprogers.com\/\">WpRogers<\/a>.<\/p>\n\n<p>Source code (development, issues, releases): <a href=\"https:\/\/github.com\/usman-dc\/Flex-Multiple-Listing-and-Booking-System\">GitHub repository<\/a><\/p>\n\n<h4>Key features<\/h4>\n\n<ul>\n<li><strong>Dynamic booking types<\/strong> \u2014 create types for property, car, tour, or custom industries<\/li>\n<li><strong>Multiple listing post types<\/strong> \u2014 rich single pages with gallery, map, FAQ, features, and pricing<\/li>\n<li><strong>AJAX listing grid<\/strong> \u2014 keyword, price, guest, and sort filters with pagination<\/li>\n<li><strong>Booking form<\/strong> \u2014 industry-aware fields, instant booking support, email notifications<\/li>\n<li><strong>Partner \/ vendor portal<\/strong> \u2014 front-end registration, login, dashboard, add listings<\/li>\n<li><strong>Gutenberg blocks &amp; Elementor widgets<\/strong> \u2014 booking form, listing grid, search<\/li>\n<li><strong>Admin dashboard<\/strong> \u2014 bookings overview, status management, activity charts<\/li>\n<li><strong>Settings<\/strong> \u2014 currency, colors, layout, container width, notifications, demo content<\/li>\n<li><strong>REST API<\/strong> \u2014 bookings and settings endpoints for integrations<\/li>\n<li><strong>WooCommerce bridge<\/strong> \u2014 optional integration when WooCommerce is active<\/li>\n<\/ul>\n\n<h4>Shortcodes<\/h4>\n\n<ul>\n<li><code>[ulbm_booking_form id=\"1\"]<\/code> \u2014 booking form for a booking type<\/li>\n<li><code>[ulbm_listing_grid type=\"car-rental\" columns=\"3\" limit=\"12\"]<\/code> \u2014 filterable listing grid<\/li>\n<li><code>[ulbm_search]<\/code> \u2014 search UI placeholder<\/li>\n<li><code>[ulbm_register]<\/code> \u2014 partner registration<\/li>\n<li><code>[ulbm_login]<\/code> \u2014 partner login<\/li>\n<li><code>[ulbm_dashboard]<\/code> \u2014 partner dashboard<\/li>\n<li><code>[ulbm_become_partner]<\/code> \u2014 partner call-to-action block<\/li>\n<\/ul>\n\n<h4>External services<\/h4>\n\n<p><strong>Bootstrap 5.3.8<\/strong>, <strong>Bootstrap Icons 1.11.3<\/strong>, and <strong>Chart.js 4.5.1<\/strong> are bundled inside the plugin (<code>assets\/vendor\/<\/code>) and enqueued from the site only on admin and booking UI screens. No CDN is used for those libraries.<\/p>\n\n<p><strong>Optional \u2014 Google Maps (not affiliated with Google):<\/strong> If the site owner enables embedded maps under <strong>Settings \u2192 Partner Portal<\/strong>, listing pages can show a button for visitors to opt in before loading an iframe from <code>https:\/\/maps.google.com\/<\/code>. Until the visitor clicks that button, no request is sent to Google. When loaded, the visitor\u2019s IP address and map coordinates may be processed by Google. Terms: https:\/\/www.google.com\/intl\/en\/policies\/terms\/ \u2014 Privacy: https:\/\/policies.google.com\/privacy<\/p>\n\n<p><strong>Optional:<\/strong> Listing video embeds use WordPress <code>wp_oembed_get()<\/code> for URLs the site owner adds (e.g. YouTube). WooCommerce integration loads only when WooCommerce is active. Demo content uses placeholder images bundled in <code>assets\/demo\/<\/code> (no remote downloads).<\/p>\n\n<h4>Privacy<\/h4>\n\n<p>Booking forms collect customer name, email, phone, and booking details stored in your WordPress database. Configure your site privacy policy for GDPR compliance.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>flex-multiple-listing-and-booking-system<\/code> folder to <code>\/wp-content\/plugins\/<\/code> or install via <strong>Plugins \u2192 Add New<\/strong><\/li>\n<li>Activate <strong>Flex Listings and Booking Manager<\/strong> through the <strong>Plugins<\/strong> menu<\/li>\n<li>Go to <strong>Flex Listings &amp; Booking \u2192 Setup<\/strong> (first run) and choose your industries<\/li>\n<li>Open <strong>Flex Listings &amp; Booking \u2192 Settings<\/strong> to configure currency, colors, and layout<\/li>\n<li>Partner pages (register, login, dashboard) are created automatically \u2014 see <strong>Partner Portal<\/strong> tab<\/li>\n<li>Add listings under the plugin menu or import demo content from <strong>Settings \u2192 Demo Content<\/strong><\/li>\n<li>Embed grids and forms with shortcodes, blocks, or Elementor widgets<\/li>\n<\/ol>\n\n<h4>Build from source<\/h4>\n\n<p>If you clone from Git, run <code>npm install &amp;&amp; npm run build<\/code> before use so <code>\/dist<\/code> CSS and JS exist.<\/p>\n\n<h4>Submitting to WordPress.org<\/h4>\n\n<p>WordPress.org does <strong>not<\/strong> install plugins directly from GitHub. Use this flow:<\/p>\n\n<ol>\n<li>Download or clone from <a href=\"https:\/\/github.com\/usman-dc\/Flex-Multiple-Listing-and-Booking-System\">GitHub<\/a>.<\/li>\n<li>Create a ZIP of the <strong><code>flex-multiple-listing-and-booking-system<\/code><\/strong> folder containing <strong>only runtime plugin files<\/strong>. <strong>Do not include<\/strong> <code>dev-tools\/<\/code>, <code>node_modules\/<\/code>, <code>vendor\/<\/code>, <code>assets\/src\/<\/code>, or <code>package.json<\/code>. The <code>\/dist<\/code> folder <strong>must<\/strong> be included. With <a href=\"https:\/\/wp-cli.org\/\">WP-CLI<\/a>, run <code>wp dist-archive . ..\/flex-multiple-listing-and-booking-system.zip<\/code> from the plugin folder \u2014 <code>.distignore<\/code> excludes dev files automatically.<\/li>\n<li>Submit the ZIP at <a href=\"https:\/\/wordpress.org\/plugins\/developers\/add\/\">WordPress.org Add Plugin<\/a> (requires a WordPress.org account).<\/li>\n<li>After approval, releases are published via WordPress.org SVN \u2014 keep GitHub and SVN versions in sync.<\/li>\n<\/ol>\n\n<p>Reviewers may read the GitHub repo for context; the ZIP upload is still required for review.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"can%20i%20submit%20only%20my%20github%20url%20to%20wordpress.org%3F\"><h3>Can I submit only my GitHub URL to WordPress.org?<\/h3><\/dt>\n<dd><p>No. You must upload a plugin ZIP through <a href=\"https:\/\/wordpress.org\/plugins\/developers\/add\/\">wordpress.org\/plugins\/developers\/add\/<\/a>. Linking GitHub in this readme helps reviewers find source code and report issues.<\/p><\/dd>\n<dt id=\"how%20do%20i%20prepare%20the%20zip%20for%20wordpress.org%3F\"><h3>How do I prepare the ZIP for WordPress.org?<\/h3><\/dt>\n<dd><p>Zip the <code>flex-multiple-listing-and-booking-system<\/code> directory so the archive unpacks to one folder named <code>flex-multiple-listing-and-booking-system<\/code>. Include <code>dist\/<\/code>, <code>readme.txt<\/code>, and <code>LICENSE<\/code>. Do not include <code>node_modules<\/code>. Run <a href=\"https:\/\/wordpress.org\/plugins\/plugin-check\/\">Plugin Check<\/a> on your site before submitting.<\/p><\/dd>\n<dt id=\"why%20is%20the%20text%20domain%20different%20from%20the%20folder%20name%3F\"><h3>Why is the text domain different from the folder name?<\/h3><\/dt>\n<dd><p>WordPress.org requires the text domain to match the plugin slug (<code>flex-multiple-listing-and-booking-system<\/code>). The install folder may remain <code>flex-multiple-listing-and-booking-system<\/code> for compatibility with existing sites and GitHub releases.<\/p><\/dd>\n<dt id=\"does%20this%20work%20with%20any%20theme%3F\"><h3>Does this work with any theme?<\/h3><\/dt>\n<dd><p>Yes. The plugin ships frontend styles and uses Bootstrap 5 on booking pages. Container width is configurable in <strong>Settings \u2192 Layout<\/strong>.<\/p><\/dd>\n<dt id=\"can%20partners%20add%20their%20own%20listings%3F\"><h3>Can partners add their own listings?<\/h3><\/dt>\n<dd><p>Yes. Enable the partner portal, assign the auto-created pages, and vendors can register, log in, and manage listings from the front end.<\/p><\/dd>\n<dt id=\"how%20is%20price%20displayed%3F\"><h3>How is price displayed?<\/h3><\/dt>\n<dd><p>Set currency and position under <strong>Settings \u2192 General<\/strong>. Each listing has base price, optional sale price, and suffix (e.g. <code>\/ night<\/code> or <code>\/ booking<\/code>).<\/p><\/dd>\n<dt id=\"is%20woocommerce%20required%3F\"><h3>Is WooCommerce required?<\/h3><\/dt>\n<dd><p>No. WooCommerce integration is optional and loads only when WooCommerce is active.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20i%20delete%20the%20plugin%3F\"><h3>What happens when I delete the plugin?<\/h3><\/dt>\n<dd><p>Custom database tables and plugin options are removed on uninstall. Use the <code>ulbm_uninstall_remove_all_data<\/code> filter to keep data if needed.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>Remove license key settings tab and related admin code<\/li>\n<li>Rebuild listing grid filters for theme and Elementor compatibility (visible inputs, sort toggle)<\/li>\n<li>Fix Gutenberg grid block so filter inputs are not stripped by kses<\/li>\n<li>Enqueue grid filter styles via public stylesheet instead of inline shortcode output<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Fix text domain: all plugin strings use <code>flex-multiple-listing-and-booking-system<\/code> only<\/li>\n<li>Submission ZIP excludes <code>dev-tools\/<\/code> via <code>.distignore<\/code><\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>WordPress.org: <code>.distignore<\/code> and ZIP build script exclude <code>dev-tools\/<\/code> and source files<\/li>\n<li>Gutenberg block render callbacks escape shortcode HTML via <code>wp_kses_post()<\/code><\/li>\n<li>License key tab in Settings (optional purchase activation)<\/li>\n<li>Partners admin page and listing grid improvements<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Demo content: bundled local placeholder images in <code>assets\/demo\/<\/code> (no remote Picsum downloads)<\/li>\n<li>Removed invalid external-service link from readme<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Plugin slug and text domain: flex-multiple-listing-and-booking-system<\/li>\n<li>Partner registration: pending approval by default, no auto-login until approved<\/li>\n<li>Google Maps embed opt-in; external services documented in readme<\/li>\n<li>Sanitization and JSON decode hardening; admin scripts enqueued<\/li>\n<li>Upgraded bundled Bootstrap 5.3.8 and Chart.js 4.5.1<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Rebranded to Flex Listings and Booking Manager<\/li>\n<li>Improved color settings save and scoped backgrounds to plugin UI only<\/li>\n<li>WordPress.org readiness: security index files, uninstall hook, i18n<\/li>\n<li>Added GitHub source link and WordPress.org ZIP submission instructions in readme<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial public release<\/li>\n<li>Booking types, listings, grid filters, single page templates<\/li>\n<li>Partner portal with auto-created pages<\/li>\n<li>Gutenberg blocks and Elementor widgets<\/li>\n<li>Demo content importer<\/li>\n<li>REST API and admin dashboard<\/li>\n<\/ul>","raw_excerpt":"Multiple listing grids and a full booking engine for property rentals, car hire, tours, services, and appointments on WordPress.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/322435","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=322435"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/usmanaliwpdeveloper"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=322435"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=322435"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=322435"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=322435"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=322435"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=322435"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}