{"id":278922,"date":"2026-02-12T01:55:31","date_gmt":"2026-02-12T01:55:31","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/advanced-hotel-room-booking-system\/"},"modified":"2026-02-12T02:03:23","modified_gmt":"2026-02-12T02:03:23","slug":"intelligent-room-booking-system-for-hotel","status":"publish","type":"plugin","link":"https:\/\/tw.wordpress.org\/plugins\/intelligent-room-booking-system-for-hotel\/","author":14367685,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.3","stable_tag":"1.0.3","tested":"6.9.4","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Intelligent Room Booking System for Hotel","header_author":"Dhiraj Patra","header_description":"Complete booking management system with calendar, user authentication, and email notifications","assets_banners_color":"0e0b0b","last_updated":"2026-02-12 02:03:23","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/intelligent-room-booking-system-for-hotel","header_author_uri":"https:\/\/github.com\/dhirajpatra","rating":0,"author_block_rating":0,"active_installs":0,"downloads":249,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.2":{"tag":"1.0.2","author":"dhirajpatra","date":"2026-02-12 01:57:07"},"1.0.3":{"tag":"1.0.3","author":"dhirajpatra","date":"2026-02-12 02:03:23"}},"upgrade_notice":{"1.0.0":"<p>Initial release of Advanced Booking System.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3459457,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3459457,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3459457,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3459457,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3459457,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.2","1.0.3"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Interactive booking calendar with date selection","2":"Admin bookings management panel","3":"Booking form with validation","4":"Email template editor with available tags","5":"Room management interface","6":"Settings page with configuration options","7":"User dashboard showing booking history","8":"Login widget for sidebars"}},"plugin_section":[],"plugin_tags":[269,416,4488,722,12062],"plugin_category":[40],"plugin_contributors":[252828],"plugin_business_model":[],"class_list":["post-278922","plugin","type-plugin","status-publish","hentry","plugin_tags-booking","plugin_tags-calendar","plugin_tags-hotel","plugin_tags-reservation","plugin_tags-room","plugin_category-calendar-and-events","plugin_contributors-dhirajpatra","plugin_committers-dhirajpatra"],"banners":{"banner":"https:\/\/ps.w.org\/intelligent-room-booking-system-for-hotel\/assets\/banner-772x250.png?rev=3459457","banner_2x":"https:\/\/ps.w.org\/intelligent-room-booking-system-for-hotel\/assets\/banner-1544x500.png?rev=3459457","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/intelligent-room-booking-system-for-hotel\/assets\/icon.svg?rev=3459457","icon":"https:\/\/ps.w.org\/intelligent-room-booking-system-for-hotel\/assets\/icon.svg?rev=3459457","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Advanced Booking System is a comprehensive WordPress plugin that allows you to manage bookings for rooms, courts, chalets, sports fields, or any bookable resource. Perfect for hotels, sports facilities, co-working spaces, and rental businesses.<\/p>\n\n<h4>Key Features<\/h4>\n\n<p><strong>For Site Visitors:<\/strong>\n* Interactive calendar interface for date selection\n* User registration and login required for bookings\n* Real-time availability checking\n* Email confirmation when booking is approved\n* Email notification when booking is denied\n* View and manage personal bookings\n* Cancel bookings before the scheduled date<\/p>\n\n<p><strong>For Administrators:<\/strong>\n* Comprehensive admin panel for booking management\n* Approve or deny booking requests with one click\n* Automated email notifications for new bookings\n* Customizable email templates with template tags\n* Unlimited room\/resource management (tested up to 20 rooms)\n* Set maximum bookings per user per room (default: 3)\n* Configure closed days (e.g., closed every Sunday)\n* Set week start day preference\n* Customizable booking titles (Room, Chalet, Court, etc.)\n* Filter bookings by status, room, or date range\n* Bulk actions for efficient management\n* Statistics dashboard<\/p>\n\n<p><strong>Form Fields &amp; Validation:<\/strong>\n* First Name (required, validated)\n* Last Name (required, validated)\n* Email Address (required, email format validation)\n* Phone Number (required, phone format validation)\n* Booking Date (required, validated against past dates and closed days)\n* Notes\/Comments (optional)<\/p>\n\n<p><strong>Email Features:<\/strong>\n* Customizable email templates for:\n  - User booking confirmation\n  - User booking denial\n  - Admin new booking notification\n* Available template tags:\n  - {first_name}, {last_name}\n  - {email}, {phone}\n  - {room_name}, {booking_title}\n  - {booking_date}, {booking_time}\n  - {booking_id}, {status}\n  - {site_name}, {site_url}\n  - {manage_url}<\/p>\n\n<p><strong>Security Features:<\/strong>\n* SQL injection protection via prepared statements\n* XSS protection via proper escaping and sanitization\n* CSRF protection via nonce verification\n* User authentication requirement\n* Role-based access control\n* Secure AJAX handling<\/p>\n\n<h3>Additional Information<\/h3>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>WordPress 5.8 or higher<\/li>\n<li>PHP 7.4 or higher<\/li>\n<li>MySQL 5.6 or higher<\/li>\n<\/ul>\n\n<h4>Support<\/h4>\n\n<p>For support, please visit the plugin support forum or contact us through our website.<\/p>\n\n<h4>Development<\/h4>\n\n<p>This plugin follows WordPress coding standards and best practices:\n* Proper data sanitization and validation\n* Prepared SQL statements for security\n* Nonce verification for forms\n* Translatable strings with text domain\n* Action and filter hooks for extensibility\n* Object-oriented architecture\n* No PHP errors or warnings in debug mode<\/p>\n\n<h4>Credits<\/h4>\n\n<p>Developed with attention to WordPress coding standards and security best practices.<\/p>\n\n<h3>Privacy Policy<\/h3>\n\n<p>This plugin stores the following user data:\n* First name, last name\n* Email address\n* Phone number\n* Booking dates and times\n* User IP address (for security logs)<\/p>\n\n<p>All data is stored in your WordPress database and is subject to your site's privacy policy. No data is sent to external services.<\/p>\n\n<h3>Technical Details<\/h3>\n\n<h4>Database Tables<\/h4>\n\n<ul>\n<li>wp_irbsfh_bookings - Stores all booking records<\/li>\n<li>wp_irbsfh_rooms - Stores room\/resource information<\/li>\n<li>wp_irbsfh_settings - Stores plugin settings<\/li>\n<\/ul>\n\n<h4>AJAX Actions<\/h4>\n\n<ul>\n<li>irbsfh_load_calendar - Load calendar for specific month<\/li>\n<li>irbsfh_check_availability - Check room availability<\/li>\n<li>irbsfh_submit_booking - Submit new booking<\/li>\n<li>irbsfh_cancel_booking - Cancel user booking<\/li>\n<li>irbsfh_admin_confirm_booking - Admin approve booking<\/li>\n<li>irbsfh_admin_deny_booking - Admin deny booking<\/li>\n<li>irbsfh_admin_delete_booking - Admin delete booking<\/li>\n<li>irbsfh_admin_bulk_action - Bulk booking actions<\/li>\n<\/ul>\n\n<h4>Hooks for Developers<\/h4>\n\n<p><strong>Actions:<\/strong>\n* irbsfh_booking_created - Fires after booking is created\n* irbsfh_booking_confirmed - Fires after booking is confirmed\n* irbsfh_booking_cancelled - Fires after booking is cancelled\n* irbsfh_booking_deleted - Fires after booking is deleted\n* irbsfh_email_sent - Fires after email is sent<\/p>\n\n<p><strong>Filters:<\/strong>\n* irbsfh_booking_form_fields - Filter booking form fields\n* irbsfh_email_template_tags - Filter available email template tags\n* irbsfh_calendar_availability - Filter calendar availability data\n* irbsfh_max_bookings_per_user - Filter maximum bookings constraint<\/p>\n\n<h3>Minimum Requirements<\/h3>\n\n<ul>\n<li>WordPress 5.8 or greater<\/li>\n<li>PHP version 7.4 or greater<\/li>\n<li>MySQL version 5.6 or greater OR MariaDB version 10.1 or greater<\/li>\n<\/ul>\n\n<h3>Recommended Requirements<\/h3>\n\n<ul>\n<li>WordPress 6.0 or greater<\/li>\n<li>PHP version 8.0 or greater<\/li>\n<li>MySQL version 5.7 or greater OR MariaDB version 10.3 or greater<\/li>\n<li>HTTPS support<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to the <code>\/wp-content\/plugins\/intelligent-room-booking-system-for-hotel<\/code> directory, or install the plugin through the WordPress plugins screen directly.<\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress.<\/li>\n<li>Navigate to 'Bookings' in your WordPress admin menu.<\/li>\n<li>Configure your settings under 'Bookings &gt; Settings'.<\/li>\n<li>Add rooms\/resources under 'Bookings &gt; Rooms'.<\/li>\n<li>Add the booking calendar to any page using the shortcode <code>[irbsfh_booking_calendar]<\/code>.<\/li>\n<\/ol>\n\n<h4>Shortcodes<\/h4>\n\n<ul>\n<li><code>[irbsfh_booking_calendar]<\/code> - Display the booking calendar<\/li>\n<li><code>[irbsfh_booking_form]<\/code> - Display the booking form<\/li>\n<li><code>[irbsfh_room_list]<\/code> - Display list of available rooms<\/li>\n<li><code>[irbsfh_user_bookings]<\/code> - Display user's booking history (requires login)<\/li>\n<li><code>[irbsfh_login_widget]<\/code> - Display login form<\/li>\n<\/ul>\n\n<h4>Widget<\/h4>\n\n<p>The plugin includes a login widget that can be added to any widget area (sidebar, footer, etc.).<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20users%20need%20to%20register%20before%20making%20a%20booking%3F\"><h3>Do users need to register before making a booking?<\/h3><\/dt>\n<dd><p>Yes, users must be logged in to make bookings. This ensures accountability and allows users to manage their own bookings.<\/p><\/dd>\n<dt id=\"how%20many%20rooms%20can%20i%20create%3F\"><h3>How many rooms can I create?<\/h3><\/dt>\n<dd><p>The plugin supports unlimited rooms, though it has been tested and optimized for up to 20 rooms.<\/p><\/dd>\n<dt id=\"can%20i%20limit%20how%20many%20bookings%20a%20user%20can%20make%3F\"><h3>Can I limit how many bookings a user can make?<\/h3><\/dt>\n<dd><p>Yes, you can set a maximum number of active bookings per user per room. The default is 3 bookings.<\/p><\/dd>\n<dt id=\"how%20do%20i%20prevent%20bookings%20on%20specific%20days%3F\"><h3>How do I prevent bookings on specific days?<\/h3><\/dt>\n<dd><p>In the Settings page, you can configure closed days (e.g., close every Sunday). Bookings will not be available on these days.<\/p><\/dd>\n<dt id=\"can%20i%20customize%20the%20email%20notifications%3F\"><h3>Can I customize the email notifications?<\/h3><\/dt>\n<dd><p>Yes, all email templates are fully customizable. You can edit the subject and body content, and use template tags to insert dynamic content.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20i%20approve%20a%20booking%3F\"><h3>What happens when I approve a booking?<\/h3><\/dt>\n<dd><p>When you approve a booking, the status changes to \"confirmed\" and an automated email is sent to the customer using your confirmation email template.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20i%20deny%20a%20booking%3F\"><h3>What happens when I deny a booking?<\/h3><\/dt>\n<dd><p>When you deny a booking, the status changes to \"cancelled\" and an automated email is sent to the customer using your denial email template.<\/p><\/dd>\n<dt id=\"can%20i%20change%20%22room%22%20to%20something%20else%20like%20%22court%22%20or%20%22chalet%22%3F\"><h3>Can I change \"Room\" to something else like \"Court\" or \"Chalet\"?<\/h3><\/dt>\n<dd><p>Yes, each room can have its own custom booking title. You can set it to anything like \"Court,\" \"Chalet,\" \"Sports Field,\" \"Conference Room,\" etc.<\/p><\/dd>\n<dt id=\"is%20the%20calendar%20mobile-responsive%3F\"><h3>Is the calendar mobile-responsive?<\/h3><\/dt>\n<dd><p>Yes, the plugin is fully responsive and works seamlessly on mobile devices, tablets, and desktop computers.<\/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, you can use the shortcodes with popular page builders like Elementor, Beaver Builder, Divi, and Visual Composer.<\/p><\/dd>\n<dt id=\"can%20users%20cancel%20their%20own%20bookings%3F\"><h3>Can users cancel their own bookings?<\/h3><\/dt>\n<dd><p>Yes, users can cancel their bookings from their dashboard before the scheduled date.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Interactive calendar with date selection<\/li>\n<li>User registration and authentication system<\/li>\n<li>Room\/resource management (unlimited, tested up to 20)<\/li>\n<li>Booking approval\/denial workflow<\/li>\n<li>Automated email notifications<\/li>\n<li>Customizable email templates with template tags<\/li>\n<li>Form validation (first name, last name, email, phone)<\/li>\n<li>Closed days configuration<\/li>\n<li>Maximum bookings per user constraint (default 3)<\/li>\n<li>Customizable booking titles per room<\/li>\n<li>Responsive design for all devices<\/li>\n<li>Login widget<\/li>\n<li>User booking dashboard<\/li>\n<li>Admin statistics dashboard<\/li>\n<li>Bulk actions for efficient management<\/li>\n<li>Security features (SQL injection, XSS, CSRF protection)<\/li>\n<\/ul>","raw_excerpt":"Complete booking management system with calendar, user authentication, and email notifications.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/278922","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=278922"}],"author":[{"embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/dhirajpatra"}],"wp:attachment":[{"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=278922"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=278922"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=278922"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=278922"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=278922"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/tw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=278922"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}