{"id":302226,"date":"2026-05-03T17:34:27","date_gmt":"2026-05-03T17:34:27","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/hotel-booking-management-system\/"},"modified":"2026-08-08T18:08:46","modified_gmt":"2026-08-08T18:08:46","slug":"quotel-hotel-booking","status":"publish","type":"plugin","link":"https:\/\/pcd.wordpress.org\/plugins\/quotel-hotel-booking\/","author":23068298,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.4.0","stable_tag":"1.4.0","tested":"7.0.4","requires":"5.9","requires_php":"7.4","requires_plugins":null,"header_name":"Quotel Hotel Booking","header_author":"Syed Tarikul Islam","header_description":"A complete hotel booking management system for WordPress","assets_banners_color":"4b6075","last_updated":"2026-08-08 18:08:46","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/tarikul.top\/","header_plugin_uri":"https:\/\/tarikul.top\/quotel-hotel-booking","header_author_uri":"https:\/\/tarikul.top","rating":0,"author_block_rating":0,"active_installs":0,"downloads":490,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"riko910","date":"2026-05-03 17:36:11"},"1.1.0":{"tag":"1.1.0","author":"riko910","date":"2026-05-10 15:28:57"},"1.2.0":{"tag":"1.2.0","author":"riko910","date":"2026-05-15 16:38:14"},"1.3.0":{"tag":"1.3.0","author":"riko910","date":"2026-06-04 17:22:06"},"1.4.0":{"tag":"1.4.0","author":"riko910","date":"2026-08-08 18:08:46"}},"upgrade_notice":{"1.4.0":"<p>All booking features are now free. Only online WooCommerce payments require Pro. Demo\/preview data removed. Existing bookings are preserved.<\/p>","1.1.0":"<p>Plugin-wide rebrand from <code>hbm_*<\/code> to <code>qhb_*<\/code>. Old shortcodes, REST routes and class names are kept as aliases. A one-time migration renames database tables, the room post type, taxonomies, options and order meta. <strong>Back up your database before updating.<\/strong><\/p>","1.0.0":"<p>First stable release. Install WooCommerce before going live if you need online payments.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3521649,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3521649,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.1.0","1.2.0","1.3.0","1.4.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3521649,"resolution":"1","location":"assets","locale":"","width":1384,"height":919},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3521649,"resolution":"2","location":"assets","locale":"","width":1374,"height":873},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3521649,"resolution":"3","location":"assets","locale":"","width":1720,"height":911},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3521649,"resolution":"4","location":"assets","locale":"","width":1376,"height":643},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3521649,"resolution":"5","location":"assets","locale":"","width":1592,"height":799},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3521649,"resolution":"6","location":"assets","locale":"","width":1631,"height":901}},"screenshots":{"1":"<strong>Hotel Booking \u2192 Dashboard<\/strong> \u2013 at-a-glance stats, occupancy and recent bookings (React).","2":"<strong>Bookings<\/strong> \u2013 filterable list with status badges, search and detail views.","3":"<strong>Calendar<\/strong> \u2013 month or timeline view with legend, room filter and per-day management.","4":"<strong>Settings<\/strong> \u2013 tabbed UI for general, booking, payment, pricing, email and display options.","5":"<strong>Booking wizard<\/strong> \u2013 React-powered search \u2192 room \u2192 guest \u2192 summary \u2192 WooCommerce checkout.","6":"<strong>Room search<\/strong> \u2013 grid of bookable rooms with filters and pricing.","7":"<strong>Booking bar<\/strong> \u2013 compact hero strip with date pickers, room and guest counts."}},"plugin_section":[],"plugin_tags":[275,4486,225259,19356,262495],"plugin_category":[40],"plugin_contributors":[239633],"plugin_business_model":[],"class_list":["post-302226","plugin","type-plugin","status-publish","hentry","plugin_tags-booking-calendar","plugin_tags-hotel-booking","plugin_tags-hotel-reservation","plugin_tags-room-booking","plugin_tags-woocommerce-hotel","plugin_category-calendar-and-events","plugin_contributors-riko910","plugin_committers-riko910"],"banners":{"banner":"https:\/\/ps.w.org\/quotel-hotel-booking\/assets\/banner-772x250.png?rev=3521649","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/quotel-hotel-booking\/assets\/icon-128x128.png?rev=3521649","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/quotel-hotel-booking\/assets\/screenshot-1.png?rev=3521649","caption":"<strong>Hotel Booking \u2192 Dashboard<\/strong> \u2013 at-a-glance stats, occupancy and recent bookings (React)."},{"src":"https:\/\/ps.w.org\/quotel-hotel-booking\/assets\/screenshot-2.png?rev=3521649","caption":"<strong>Bookings<\/strong> \u2013 filterable list with status badges, search and detail views."},{"src":"https:\/\/ps.w.org\/quotel-hotel-booking\/assets\/screenshot-3.png?rev=3521649","caption":"<strong>Calendar<\/strong> \u2013 month or timeline view with legend, room filter and per-day management."},{"src":"https:\/\/ps.w.org\/quotel-hotel-booking\/assets\/screenshot-4.png?rev=3521649","caption":"<strong>Settings<\/strong> \u2013 tabbed UI for general, booking, payment, pricing, email and display options."},{"src":"https:\/\/ps.w.org\/quotel-hotel-booking\/assets\/screenshot-5.png?rev=3521649","caption":"<strong>Booking wizard<\/strong> \u2013 React-powered search \u2192 room \u2192 guest \u2192 summary \u2192 WooCommerce checkout."},{"src":"https:\/\/ps.w.org\/quotel-hotel-booking\/assets\/screenshot-6.png?rev=3521649","caption":"<strong>Room search<\/strong> \u2013 grid of bookable rooms with filters and pricing."}],"raw_content":"<!--section=description-->\n<p><strong>Quotel Hotel Booking<\/strong> is an all-in-one <strong>hotel booking plugin for WordPress<\/strong> built for hotels, resorts, B&amp;Bs, guest houses, vacation rentals and any property that takes room reservations. It ships a custom <strong>Rooms<\/strong> catalog, <strong>bookings database<\/strong>, <strong>smart pricing<\/strong>, <strong>availability rules<\/strong> and a clean React-powered dashboard \u2014 all free.<\/p>\n\n<p>Designed to be production-ready out of the box: install, activate the <strong>setup wizard<\/strong>, add rooms, drop a shortcode on a page and start taking bookings.<\/p>\n\n<h4>Free vs. Pro<\/h4>\n\n<p><strong>Everything is free<\/strong> except online customer payment. With the free plugin you get real bookings, manual bookings, calendar editing, reports, CSV export, emails, rooms, shortcodes and the full admin UI.<\/p>\n\n<p><strong>Online WooCommerce checkout<\/strong> (customer pay-now, product sync, order lifecycle) requires <a href=\"https:\/\/www.tarikul.top\/plugins\/quotel-hotel-booking\/\">Quotel Hotel Booking Pro<\/a> with an active license. Activate it under <strong>Hotel Booking \u2192 License \/ Get Pro<\/strong>.<\/p>\n\n<p>Pro pricing: <strong>$49 \/ 1 year<\/strong>, <strong>$69 \/ 3 years<\/strong>, <strong>$150 lifetime<\/strong>.<\/p>\n\n<p><a href=\"https:\/\/www.tarikul.top\/plugins\/quotel-hotel-booking\/\">Plugin homepage \u00bb<\/a><\/p>\n\n<h4>Why choose Quotel Hotel Booking<\/h4>\n\n<ul>\n<li><strong>Hotel reservation system<\/strong> in one plugin \u2013 rooms, bookings, calendar, pricing, reports.<\/li>\n<li><strong>WooCommerce-native online payments<\/strong> \u2013 use any WooCommerce gateway (Stripe, PayPal, bank transfer, COD, etc.).<\/li>\n<li><strong>React-powered booking form<\/strong> \u2013 fast, accessible, mobile-first checkout flow.<\/li>\n<li><strong>REST API first<\/strong> \u2013 every screen is driven by <code>qhb\/v1<\/code> so you can build custom integrations.<\/li>\n<li><strong>No lock-in<\/strong> \u2013 open code, GPLv2, translation-ready, runs on any standard WordPress host.<\/li>\n<\/ul>\n\n<h4>Core features<\/h4>\n\n<p><strong>Rooms &amp; content<\/strong><\/p>\n\n<ul>\n<li>Custom post type <code>qhb_room<\/code> with archive support (pretty URLs under <code>\/rooms\/<\/code> by default).<\/li>\n<li>Taxonomies for <strong>room types<\/strong> and <strong>amenities<\/strong> (categorise and filter rooms).<\/li>\n<li>Rich room editor with featured image, gallery, pricing meta and a dedicated <strong>single-room<\/strong> layout including an optional gallery modal and a \"Continue to booking\" CTA.<\/li>\n<\/ul>\n\n<p><strong>Bookings &amp; availability<\/strong><\/p>\n\n<ul>\n<li>Custom tables for <strong>bookings<\/strong>, <strong>per-day availability<\/strong>, <strong>pricing rules<\/strong>, <strong>extra services<\/strong> and <strong>booking-service<\/strong> links.<\/li>\n<li>Date-range availability checks; supports multiple units per room type.<\/li>\n<li>Guest and logged-in booking flows; settings for guest booking, required phone and cancellation windows.<\/li>\n<li><strong>Manual bookings<\/strong> for staff (admin capability) via the REST API.<\/li>\n<\/ul>\n\n<p><strong>Smart pricing<\/strong><\/p>\n\n<ul>\n<li>Base and weekend rates per room.<\/li>\n<li>Optional date-range <strong>pricing rules<\/strong>.<\/li>\n<li><strong>Tax<\/strong> and <strong>long-stay discounts<\/strong> (weekly \/ monthly) via Settings.<\/li>\n<li>Server-side <strong>pricing endpoint<\/strong> so the booking summary always matches what is actually charged.<\/li>\n<\/ul>\n\n<p><strong>WooCommerce integration<\/strong><\/p>\n\n<ul>\n<li>Each room syncs to a <strong>catalog-hidden variable WooCommerce product<\/strong> with Standard \/ Weekend rate variations.<\/li>\n<li>Bookings are linked to <strong>WooCommerce order IDs<\/strong>.<\/li>\n<li>Order status drives booking lifecycle (pending payment \u2192 confirmed; cancelled\/refunded \u2192 released).<\/li>\n<li>Optional <strong>\"Pay now\"<\/strong> link in the pending-payment email using the WooCommerce order pay URL.<\/li>\n<\/ul>\n\n<p><strong>Admin experience<\/strong><\/p>\n\n<ul>\n<li>Top-level <strong>Hotel Booking<\/strong> menu: Welcome, Dashboard, Bookings, Calendar, Settings.<\/li>\n<li><strong>Setup wizard<\/strong> on first activation: hotel basics, booking rules, notifications, optional WooCommerce auto-install.<\/li>\n<li><strong>Booking calendar<\/strong> \u2013 month and timeline-style views, room filter, booking density indicator and per-day management.<\/li>\n<li><strong>Reports<\/strong> REST endpoints: dashboard stats, revenue, bookings, occupancy, room performance, guest analytics, <strong>CSV export<\/strong>.<\/li>\n<\/ul>\n\n<p><strong>Guest experience<\/strong><\/p>\n\n<ul>\n<li>Shortcode-driven React apps for the entire reservation journey.<\/li>\n<li>Compact <strong>booking bar<\/strong> for hero sections and home pages with Flatpickr date picker.<\/li>\n<li>Deep-link friendly URLs with <code>qhb_room<\/code>, <code>check_in<\/code>, <code>check_out<\/code>, <code>adults<\/code>, <code>children<\/code> and <code>room_type<\/code> query args.<\/li>\n<\/ul>\n\n<p><strong>Security &amp; roles<\/strong><\/p>\n\n<ul>\n<li>Custom capability <code>manage_hotel_bookings<\/code> (granted to administrators on activation).<\/li>\n<li>REST routes use nonces and dedicated permission callbacks for public vs. admin operations.<\/li>\n<li>All input is sanitized; output is escaped; SQL is built with <code>$wpdb-&gt;prepare()<\/code>.<\/li>\n<\/ul>\n\n<h4>Available shortcodes<\/h4>\n\n<p>Drop any of these shortcodes on a page or post. Default pages are auto-created on first activation if they do not already exist.<\/p>\n\n<pre><code>[qhb_booking_form]\n<\/code><\/pre>\n\n<p>Renders the multi-step React booking wizard (search \u2192 pick a room \u2192 guest details \u2192 summary \u2192 checkout). Mounts to <code>#qhb-booking-root<\/code>. Best placed on the <strong>Book a Room<\/strong> page.<\/p>\n\n<pre><code>[qhb_room_search]\n<\/code><\/pre>\n\n<p>Renders the filterable room search and results grid. Mounts to <code>#qhb-search-root<\/code>. Best placed on a <strong>Search Rooms<\/strong> page.<\/p>\n\n<pre><code>[qhb_my_bookings]\n<\/code><\/pre>\n\n<p>Lists the current user's bookings (logged-in only). Mounts to <code>#qhb-mybookings-root<\/code>. Best placed on a <strong>My Account \/ My Bookings<\/strong> page.<\/p>\n\n<pre><code>[qhb_booking_bar]\n<\/code><\/pre>\n\n<p>A compact horizontal booking strip with check-in \/ check-out date pickers, rooms \/ adults \/ children counters, room category dropdown and a \"Book now\" button. Use it inside hero sections, sidebars or the home page. Submitting it deep-links into the page that hosts <code>[qhb_booking_form]<\/code>.<\/p>\n\n<p>Available <code>[qhb_booking_bar]<\/code> attributes:<\/p>\n\n<ul>\n<li><code>redirect<\/code> \u2013 override the booking page URL. Defaults to the auto-created <strong>Book a Room<\/strong> page or <code>\/book\/<\/code>.\n\n<ul>\n<li>Example: <code>[qhb_booking_bar redirect=\"https:\/\/example.com\/reservations\/\"]<\/code><\/li>\n<\/ul><\/li>\n<li><code>button<\/code> \u2013 override the submit button label. Defaults to \"Book now\".\n\n<ul>\n<li>Example: <code>[qhb_booking_bar button=\"Check availability\"]<\/code><\/li>\n<\/ul><\/li>\n<\/ul>\n\n<h4>Backwards compatibility<\/h4>\n\n<p>The legacy <code>[hbm_booking_form]<\/code>, <code>[hbm_room_search]<\/code>, <code>[hbm_my_bookings]<\/code> and <code>[hbm_booking_bar]<\/code> shortcodes from version 1.0.0 are still registered as transparent aliases, so any pages you saved earlier keep working unchanged. The previous REST namespace <code>hbm\/v1<\/code> is also still served alongside the new <code>qhb\/v1<\/code>.<\/p>\n\n<h4>Technical snapshot<\/h4>\n\n<ul>\n<li><strong>Text domain:<\/strong> <code>quotel-hotel-booking<\/code> (translation-ready; works with Loco Translate, WPML, Polylang and standard <code>.po<\/code> \/ <code>.mo<\/code> files).<\/li>\n<li><strong>REST namespace:<\/strong> <code>qhb\/v1<\/code> \u2013 e.g. <code>\/wp-json\/qhb\/v1\/rooms<\/code>, <code>\/bookings<\/code>, <code>\/settings<\/code>, <code>\/pricing<\/code>, <code>\/availability<\/code>, <code>\/calendar\/...<\/code>, <code>\/reports\/...<\/code>.<\/li>\n<li><strong>Custom post type:<\/strong> <code>qhb_room<\/code> (rewrite slug <code>rooms<\/code>).<\/li>\n<li><strong>Taxonomies:<\/strong> <code>qhb_room_type<\/code>, <code>qhb_amenity<\/code>.<\/li>\n<li><strong>Database tables (using your <code>$wpdb-&gt;prefix<\/code>):<\/strong> <code>qhb_bookings<\/code>, <code>qhb_pricing_rules<\/code>, <code>qhb_availability<\/code>, <code>qhb_extra_services<\/code>, <code>qhb_booking_services<\/code>.<\/li>\n<li><strong>Capability:<\/strong> <code>manage_hotel_bookings<\/code> (assigned to administrators on activation).<\/li>\n<\/ul>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>WordPress <strong>5.9<\/strong> or higher.<\/li>\n<li>PHP <strong>7.4<\/strong> or higher.<\/li>\n<li><strong>WooCommerce<\/strong> is recommended for online payments \u2013 the booking \u2192 checkout flow is built around it.<\/li>\n<\/ul>\n\n<h4>Use cases<\/h4>\n\n<ul>\n<li>Single hotel or boutique hotel booking system.<\/li>\n<li>Resort with several room categories.<\/li>\n<li>B&amp;B \/ guest house reservation form.<\/li>\n<li>Vacation rental landing page with check-in \/ check-out widget.<\/li>\n<li>Inn or homestay running on WordPress + WooCommerce.<\/li>\n<\/ul>\n\n<h3>Privacy<\/h3>\n\n<p>The plugin stores booking data you collect from guests (name, email, phone, dates, party size, optional notes) in the WordPress database and may associate each record with a WooCommerce <strong>order ID<\/strong> for payment tracking. Treat this data according to your privacy policy and applicable law (GDPR, CCPA, etc.). Email delivery uses WordPress' <code>wp_mail()<\/code> facilities. No data is sent to third parties by the plugin itself.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>quotel-hotel-booking<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install the ZIP via <strong>Plugins \u2192 Add New \u2192 Upload Plugin<\/strong>.<\/li>\n<li>Activate <strong>Quotel Hotel Booking<\/strong> on the <strong>Plugins<\/strong> screen.<\/li>\n<li>Follow the onboarding flow at <strong>Hotel Booking \u2192 Welcome<\/strong> (and install \/ activate WooCommerce if prompted).<\/li>\n<li>Visit <strong>Hotel Booking \u2192 Settings<\/strong> and confirm currency, check-in \/ check-out times, tax, emails and booking rules.<\/li>\n<li>Add rooms under <strong>Hotel Rooms<\/strong> in the admin menu (set base price, weekend price, capacity, amenities).<\/li>\n<li>(Optional) Drop <code>[qhb_booking_bar]<\/code> into your home page hero and <code>[qhb_booking_form]<\/code> on a booking page (auto-created on first activation).<\/li>\n<li>Visit <strong>Settings \u2192 Permalinks<\/strong> and click <strong>Save<\/strong> to refresh rewrite rules if <code>\/rooms\/<\/code> URLs return 404.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"which%20shortcodes%20does%20the%20plugin%20provide%3F\"><h3>Which shortcodes does the plugin provide?<\/h3><\/dt>\n<dd><p>Four shortcodes: <code>[qhb_booking_form]<\/code>, <code>[qhb_room_search]<\/code>, <code>[qhb_my_bookings]<\/code> and <code>[qhb_booking_bar]<\/code>. The legacy <code>hbm_*<\/code> versions still work as aliases. See <strong>Description \u2192 Available shortcodes<\/strong> for parameters.<\/p><\/dd>\n<dt id=\"where%20do%20guests%20pay%20for%20their%20booking%3F\"><h3>Where do guests pay for their booking?<\/h3><\/dt>\n<dd><p>With <strong>Quotel Hotel Booking Pro<\/strong>, guests pay through <strong>WooCommerce<\/strong> (any gateway). Without Pro, guests can still complete a booking and you collect payment offline.<\/p><\/dd>\n<dt id=\"do%20i%20have%20to%20use%20woocommerce%3F\"><h3>Do I have to use WooCommerce?<\/h3><\/dt>\n<dd><p>No. The free plugin works without WooCommerce \u2014 bookings are confirmed and you handle payment separately. WooCommerce + Pro is only needed for online customer checkout.<\/p><\/dd>\n<dt id=\"what%20url%20pattern%20is%20used%20for%20single%20rooms%3F\"><h3>What URL pattern is used for single rooms?<\/h3><\/dt>\n<dd><p>Rooms use the <code>qhb_room<\/code> post type; permalinks default to the <code>rooms<\/code> rewrite slug (e.g. <code>yoursite.com\/rooms\/deluxe-king\/<\/code>). If links 404 after install, visit <strong>Settings \u2192 Permalinks<\/strong> and click <strong>Save<\/strong>.<\/p><\/dd>\n<dt id=\"can%20i%20block%20dates%2C%20override%20prices%20or%20add%20seasonal%20rates%3F\"><h3>Can I block dates, override prices or add seasonal rates?<\/h3><\/dt>\n<dd><p>Yes. Use the admin <strong>Calendar<\/strong> (per room) to close dates or override the nightly price. Date-range pricing rules and weekly \/ monthly long-stay discounts are configured under <strong>Settings<\/strong>. Closed days and overrides are stored in the <code>qhb_availability<\/code> and <code>qhb_pricing_rules<\/code> tables.<\/p><\/dd>\n<dt id=\"is%20guest%20checkout%20supported%3F\"><h3>Is guest checkout supported?<\/h3><\/dt>\n<dd><p>Yes, when enabled in <strong>Settings \u2192 Booking<\/strong>. You can also require a phone number or restrict booking to logged-in users only.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20support%20multiple%20units%20per%20room%20type%3F\"><h3>Does the plugin support multiple units per room type?<\/h3><\/dt>\n<dd><p>Yes. Each room can be configured with multiple bookable units; availability checks decrement only the requested unit count and the booking remains \"available\" while units remain.<\/p><\/dd>\n<dt id=\"how%20do%20i%20translate%20the%20plugin%3F\"><h3>How do I translate the plugin?<\/h3><\/dt>\n<dd><p>Use the text domain <strong><code>quotel-hotel-booking<\/code><\/strong>. Generate or edit language files with <a href=\"https:\/\/wordpress.org\/plugins\/loco-translate\/\">Loco Translate<\/a>, Poedit or WPML, then place MO files under <code>wp-content\/languages\/plugins\/<\/code>.<\/p><\/dd>\n<dt id=\"what%20is%20the%20difference%20between%20the%20free%20plugin%20and%20pro%3F\"><h3>What is the difference between the free plugin and Pro?<\/h3><\/dt>\n<dd><p>The <strong>free plugin<\/strong> includes the full hotel booking system: rooms, bookings, calendar editing, manual bookings, reports, CSV export, emails, shortcodes and admin tools. Guests can book; payment is collected offline.<\/p>\n\n<p><strong>Quotel Hotel Booking Pro<\/strong> unlocks <strong>online payments<\/strong> only:<\/p>\n\n<ul>\n<li>WooCommerce checkout for customers.<\/li>\n<li>Room \u2192 WooCommerce product auto-sync.<\/li>\n<li>Pay-now links and order-status booking lifecycle.<\/li>\n<li>Daily booking digest and priority auto-updates.<\/li>\n<\/ul>\n\n<p>Pro pricing: <strong>$49 \/ 1 year<\/strong>, <strong>$69 \/ 3 years<\/strong>, <strong>$150 lifetime<\/strong>.<\/p>\n\n<p>Activate under <strong>Hotel Booking \u2192 License \/ Get Pro<\/strong>.<\/p><\/dd>\n<dt id=\"i%20had%20real%20bookings%20before%201.1.0.%20will%20i%20lose%20them%3F\"><h3>I had real bookings before 1.1.0. Will I lose them?<\/h3><\/dt>\n<dd><p>No. Existing bookings remain in the database and continue to render in the admin <strong>Bookings<\/strong> list.<\/p><\/dd>\n<dt id=\"will%20my%20old%20shortcodes%20still%20work%20after%20updating%20from%201.0.0%3F\"><h3>Will my old shortcodes still work after updating from 1.0.0?<\/h3><\/dt>\n<dd><p>Yes. All <code>[hbm_*]<\/code> shortcodes are kept as transparent aliases that forward to the new <code>[qhb_*]<\/code> versions, and the <code>hbm\/v1<\/code> REST namespace is still served alongside <code>qhb\/v1<\/code>. On first load after the update, a one-time migration renames the database tables, custom post type, taxonomies, options and order meta keys from <code>hbm_*<\/code> to <code>qhb_*<\/code>.<\/p><\/dd>\n<dt id=\"does%20uninstall%20remove%20the%20booking%20data%3F\"><h3>Does uninstall remove the booking data?<\/h3><\/dt>\n<dd><p>No. Deactivating the plugin does not drop the custom tables or delete bookings. If you need a clean removal, back up first and remove the booking-related tables and options manually.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>Free \/ Pro model simplified: <strong>all features are free<\/strong> except online customer payments.<\/li>\n<li>Pro unlocks WooCommerce checkout, product sync and payment lifecycle only.<\/li>\n<li>Removed all demo \/ preview data from dashboard, bookings and reports.<\/li>\n<li>Booking form accepts real reservations without Pro; offline confirmation when payments are locked.<\/li>\n<li>Updated Pro pricing display: $49 (1 year), $69 (3 years), $150 (lifetime).<\/li>\n<li>Admin notices, License page and Settings payment tab updated to match the new model.<\/li>\n<\/ul>\n\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>New: <strong>Deposits<\/strong> \u2014 charge a percentage or fixed deposit online with the balance collected at check-in. The WooCommerce order records full price, deposit due and balance, and the booking summary shows the amount due now.<\/li>\n<li>New: <strong>Coupon codes<\/strong> \u2014 apply WooCommerce coupons (percentage \/ fixed, with expiry and min\/max spend validation) on the booking summary; discount flows through pricing, booking and the order.<\/li>\n<li>New: <strong>Request (approval) booking mode<\/strong> \u2014 hold bookings for staff approval before payment. Guests and admins are notified; new Approve \/ Decline actions appear in the admin Bookings list with a dedicated \"Request\" status filter.<\/li>\n<li>New: <strong>Display settings now active<\/strong> \u2014 rooms-per-page pagination on the room grid, selectable gallery style (grid \/ slider \/ masonry) on single-room pages, and optional guest reviews via WordPress comments.<\/li>\n<li>New: <strong>Custom email templates<\/strong> \u2014 editable confirmation and cancellation subject\/message with placeholders (<code>{guest_name}<\/code>, <code>{booking_id}<\/code>, <code>{room_name}<\/code>, <code>{check_in}<\/code>, <code>{check_out}<\/code>, <code>{total_price}<\/code>, <code>{hotel_name}<\/code>, and more). Leave blank to use the built-in branded designs.<\/li>\n<li>New: <strong>Advanced integrations tab<\/strong> \u2014 Twilio <strong>SMS<\/strong> confirmation texts, plus an <strong>iCalendar (.ics) feed<\/strong> for iCal export and Google Calendar subscription (tokenized feed URL shown in settings).<\/li>\n<li>New: Daily <strong>check-in reminder<\/strong> emails and configurable <strong>From name \/ From address<\/strong> applied to all notifications.<\/li>\n<li>Improved: server-side enforcement of minimum \/ maximum booking nights, and per-field sanitization when saving settings via REST.<\/li>\n<li>New REST routes: <code>POST \/qhb\/v1\/bookings\/{id}\/approve<\/code> and <code>POST \/qhb\/v1\/bookings\/{id}\/decline<\/code>; <code>pricing<\/code> \/ <code>availability<\/code> endpoints and public settings now expose deposit, coupon, booking-mode and display options.<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Update: Margin 0 for WordPress 7 issue.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Update: License page updated convert it into react.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>New: License page at <strong>Hotel Booking \u2192 License \/ Get Pro<\/strong> with activation, status display, expiry tracking and one-click deactivation.<\/li>\n<li>New: Pro detection helpers (<code>qhb_is_pro_plugin_active()<\/code>, <code>qhb_is_pro_licensed()<\/code>, <code>qhb_can_use_pro_mutations()<\/code>) consumed by REST gates, admin React and the public booking form.<\/li>\n<li>New: Preview mode for the front-end booking form, admin Bookings list, dashboard stats and calendar when running without an active Pro license.<\/li>\n<li>Gated: real booking creation, manual bookings, cancellation, calendar editing (close dates \/ availability \/ bulk update) and CSV export now require Quotel Hotel Booking Pro with an active license. The corresponding REST endpoints return a <code>qhb_pro_required<\/code> (HTTP 402) error when called without a license.<\/li>\n<li>Gated: WooCommerce auto-product-sync on room save and the order-status \u2192 booking-status pipeline are Pro-only.<\/li>\n<li>Improved: license-aware admin notices on every Hotel Booking screen.<\/li>\n<li>Improved: every <code>qhbAdmin<\/code> \/ <code>qhbPublic<\/code> localized object now carries <code>proPluginActive<\/code>, <code>proLicensed<\/code>, <code>upgradeUrl<\/code> and <code>licenseStatus<\/code> so any extension can react to the licence state.<\/li>\n<li>Daily WP-Cron license re-verification (<code>qhb_daily_license_check<\/code>) keeps the local status in sync with the QueueCommerce server.<\/li>\n<li>No data loss: existing bookings remain readable in the admin even without Pro; disabling Pro flips write paths off but read access is preserved.<\/li>\n<li>Rebrand: unified internal prefix from <code>hbm_<\/code> to <code>qhb_<\/code> to match the plugin slug.<\/li>\n<li>New <code>[qhb_booking_bar]<\/code> shortcode for hero \/ home-page booking strips with Flatpickr date pickers.<\/li>\n<li>New <code>[qhb_booking_bar]<\/code> attributes: <code>redirect<\/code> (booking page URL) and <code>button<\/code> (submit label).<\/li>\n<li>All public shortcodes renamed to <code>[qhb_booking_form]<\/code>, <code>[qhb_room_search]<\/code>, <code>[qhb_my_bookings]<\/code>, <code>[qhb_booking_bar]<\/code>.<\/li>\n<li>REST namespace renamed to <code>qhb\/v1<\/code>. Legacy <code>hbm\/v1<\/code> is still registered for backwards compatibility.<\/li>\n<li>PHP class names rebranded from <code>HBM_*<\/code> to <code>QHB_*<\/code>; constants from <code>HBM_*<\/code> to <code>QHB_*<\/code>.<\/li>\n<li>Filenames rebranded from <code>class-hbm-*.php<\/code> to <code>class-qhb-*.php<\/code>.<\/li>\n<li>Database tables, custom post type, taxonomies, options and post \/ order meta keys renamed to the <code>qhb_*<\/code> prefix with a one-time migration on update.<\/li>\n<li>Backwards-compatibility aliases: <code>[hbm_*]<\/code> shortcodes still resolve, <code>hbm\/v1<\/code> REST routes still work, <code>Hotel_Booking_Manager<\/code> class and <code>HBM()<\/code> accessor still exist.<\/li>\n<li>Updated <code>readme.txt<\/code> with full shortcode reference, SEO-friendly description, FAQ and screenshot list.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial public release.<\/li>\n<li>Custom post type and taxonomies for rooms.<\/li>\n<li>Bookings, availability, pricing rules and extra-services schema.<\/li>\n<li>WooCommerce variable-product sync (Standard \/ Weekend) and order-status driven booking lifecycle.<\/li>\n<li>REST API for the React admin and public apps.<\/li>\n<li>React admin: welcome \/ setup wizard, dashboard, bookings, calendar, settings.<\/li>\n<li>React public: booking form, room search, my bookings; server-side pricing endpoint.<\/li>\n<li>Email notifications for pending payment (with pay link), confirmation and cancellation.<\/li>\n<li>Single-room template, styling and assets.<\/li>\n<\/ul>","raw_excerpt":"WordPress hotel booking plugin with rooms, pricing, availability, calendar and React booking form. Online payments require Pro.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/302226","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=302226"}],"author":[{"embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/riko910"}],"wp:attachment":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=302226"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=302226"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=302226"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=302226"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=302226"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=302226"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}