{"id":325040,"date":"2026-06-17T16:01:51","date_gmt":"2026-06-17T16:01:51","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/booking-patro\/"},"modified":"2026-06-17T16:01:17","modified_gmt":"2026-06-17T16:01:17","slug":"patro-appointment-booking","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/patro-appointment-booking\/","author":20645259,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0","requires":"6.4","requires_php":"7.4","requires_plugins":null,"header_name":"Patro Appointment Booking","header_author":"Arjun Regmi","header_description":"Patro Appointment Booking lets your customers schedule appointments around the clock \u2014 drop the booking form anywhere with the built-in Gutenberg block, while you manage everything from one clean dashboard.","assets_banners_color":"4e4c7f","last_updated":"2026-06-17 16:01:17","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/arjunregmichhetri.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":27,"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":"arjunchhetri100","date":"2026-06-17 16:01:17"}},"upgrade_notice":{"1.0.0":"<p>Initial release \u2014 no upgrade steps required.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3576083,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3576083,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3576083,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3576083,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"patrabk\/booking-form":{"apiVersion":3,"name":"patrabk\/booking-form","title":"Booking Form","category":"module","description":"Simple customizable booking form","textdomain":"patro-appointment-booking","supports":{"align":["wide","full","left","center","right"]},"attributes":{"textColor":{"type":"string","default":"#000000"},"headingColor":{"type":"string","default":"#111111"},"inputBgColor":{"type":"string","default":"#ffffff"},"inputBorderColor":{"type":"string","default":"#dddddd"},"inputBorderEnabled":{"type":"boolean","default":true},"inputBorderWidth":{"type":"number","default":1},"buttonColor":{"type":"string","default":"#4f46e5"},"sidebarBgColor":{"type":"string","default":"#1e1b4b"},"sidebarTextColor":{"type":"string","default":"#ffffff"},"contentBgColor":{"type":"string","default":"#ffffff"},"bgColor":{"type":"string","default":"#ffffff"},"formMaxWidth":{"type":"number","default":0}},"example":{"attributes":{"textColor":"#000000","headingColor":"#111111","buttonColor":"#4f46e5","sidebarBgColor":"#1e1b4b","sidebarTextColor":"#ffffff","contentBgColor":"#ffffff","inputBorderEnabled":true,"inputBorderWidth":1},"viewportWidth":800},"editorScript":"file:.\/index.js","viewScript":"file:.\/view.js","editorStyle":"file:.\/style-index.css","style":"file:.\/style-index.css","render":"file:.\/render.php"}},"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3576083,"resolution":"1","location":"assets","locale":"","width":1380,"height":742},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3576083,"resolution":"2","location":"assets","locale":"","width":1367,"height":736},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3576083,"resolution":"3","location":"assets","locale":"","width":1375,"height":812},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3576083,"resolution":"4","location":"assets","locale":"","width":1397,"height":812},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3576083,"resolution":"5","location":"assets","locale":"","width":1347,"height":737},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3576083,"resolution":"7","location":"assets","locale":"","width":1695,"height":783},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3576083,"resolution":"8","location":"assets","locale":"","width":1003,"height":756}},"screenshots":{"1":"Frontend booking form \u2014 Services step with icon header, service cards, and duration pills","2":"Frontend booking form \u2014 Date &amp; Time step with real-time calendar and time slot grid","3":"Frontend booking form \u2014 Your Details step with customer contact fields","4":"Frontend booking form \u2014 Review step showing a full summary before confirmation","5":"Booking confirmation screen with customisable thank-you message","6":"Admin bookings management screen with status management plus search and date filters","7":"Admin services configuration screen","8":"Gutenberg block inspector showing the Booking Form block options"}},"plugin_section":[],"plugin_tags":[8132,269,8125,274],"plugin_category":[40],"plugin_contributors":[267586],"plugin_business_model":[],"class_list":["post-325040","plugin","type-plugin","status-publish","hentry","plugin_tags-appointments","plugin_tags-booking","plugin_tags-booking-form","plugin_tags-booking-system","plugin_category-calendar-and-events","plugin_contributors-arjunchhetri100","plugin_committers-arjunchhetri100"],"banners":{"banner":"https:\/\/ps.w.org\/patro-appointment-booking\/assets\/banner-772x250.png?rev=3576083","banner_2x":"https:\/\/ps.w.org\/patro-appointment-booking\/assets\/banner-1544x500.png?rev=3576083","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/patro-appointment-booking\/assets\/icon-128x128.png?rev=3576083","icon_2x":"https:\/\/ps.w.org\/patro-appointment-booking\/assets\/icon-256x256.png?rev=3576083","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/patro-appointment-booking\/assets\/screenshot-1.png?rev=3576083","caption":"Frontend booking form \u2014 Services step with icon header, service cards, and duration pills"},{"src":"https:\/\/ps.w.org\/patro-appointment-booking\/assets\/screenshot-2.png?rev=3576083","caption":"Frontend booking form \u2014 Date &amp; Time step with real-time calendar and time slot grid"},{"src":"https:\/\/ps.w.org\/patro-appointment-booking\/assets\/screenshot-3.png?rev=3576083","caption":"Frontend booking form \u2014 Your Details step with customer contact fields"},{"src":"https:\/\/ps.w.org\/patro-appointment-booking\/assets\/screenshot-4.png?rev=3576083","caption":"Frontend booking form \u2014 Review step showing a full summary before confirmation"},{"src":"https:\/\/ps.w.org\/patro-appointment-booking\/assets\/screenshot-5.png?rev=3576083","caption":"Booking confirmation screen with customisable thank-you message"},{"src":"https:\/\/ps.w.org\/patro-appointment-booking\/assets\/screenshot-7.png?rev=3576083","caption":"Admin services configuration screen"},{"src":"https:\/\/ps.w.org\/patro-appointment-booking\/assets\/screenshot-8.png?rev=3576083","caption":"Gutenberg block inspector showing the Booking Form block options"}],"raw_content":"<!--section=description-->\n<p>Take control of your appointment business with <strong>Patro Appointment Booking<\/strong> \u2014 a fast, modern WordPress booking plugin built around a beautiful Gutenberg block. Customers complete a clean, guided multi-step form to pick a service, choose a staff member, select a date and time, fill in their details, and confirm \u2014 all without ever leaving your site. You manage every booking from a dedicated, React-powered admin dashboard.<\/p>\n\n<p>No coding required. No complex setup. Just drop the block onto any page and start taking bookings. \ud83d\udcc5<\/p>\n\n<p>Who is Patro Appointment Booking For?\nPatro Appointment Booking is built for any individual or business that takes scheduled appointments and wants an elegant, hassle-free booking experience for their customers.<\/p>\n\n<p><strong>Salons &amp; Beauty Studios<\/strong>\nGive clients the freedom to book haircuts, treatments, and styling sessions around the clock. Block holidays, close weekdays, and let your calendar manage itself while you focus on the work.<\/p>\n\n<p><strong>Consultants &amp; Coaches<\/strong>\nLet prospects book discovery calls and sessions directly from your site. Assign bookings to specific team members, get instant email alerts, and never miss a new client inquiry.<\/p>\n\n<p><strong>Healthcare &amp; Wellness Providers<\/strong>\nCollect patient or client details at booking time, set a custom booking window, and manage appointment status \u2014 Pending, Approved, Canceled, Rejected, Completed \u2014 from one clear screen.<\/p>\n\n<p><strong>Fitness Trainers &amp; Gyms<\/strong>\nSet your available days and hours, block out personal-training sessions per staff member, and let members self-book 24\/7 without picking up the phone.<\/p>\n\n<p><strong>Tutors &amp; Educators<\/strong>\nCreate sessions as services, set their duration and price, and let students pick the slot that works for them. The form works equally well on desktop, tablet, and mobile.<\/p>\n\n<p><strong>Any Service-Based Business<\/strong>\nIf your business runs on scheduled appointments, Patro Appointment Booking gives you the tools to automate bookings, reduce no-shows through email confirmations, and grow without adding admin overhead.<\/p>\n\n<p>A free booking system gives your business the freedom to grow \ud83d\udcc8<\/p>\n\n<p>No more missed bookings \u2014 automatic confirmation emails keep customers informed.\nYour calendar, your rules \u2014 block dates, close weekdays, and set how far ahead clients can book.\nMobile-first \u2014 the booking form looks great and converts on every screen size.\nDeveloper-friendly \u2014 REST API plus WordPress action and filter hooks for add-ons.<\/p>\n\n<h3>Patro Appointment Booking Free Features<\/h3>\n\n<p><strong>Beautiful Multi-Step Booking Form<\/strong><\/p>\n\n<ul>\n<li>React-powered booking flow: Services \u2192 Date &amp; Time \u2192 Your Details \u2192 Review \u2192 Confirmation<\/li>\n<li>Step-by-step sidebar navigator with active-state indicators and icon-headed panels<\/li>\n<li>Collapsible sidebar for a distraction-free experience on smaller screens<\/li>\n<li>Radio-style service cards with duration pills for instant clarity<\/li>\n<li>Real-time calendar with blocked-date and closed-weekday enforcement<\/li>\n<li>Fully responsive \u2014 sidebar collapses to a top bar on mobile, single-column on small screens<\/li>\n<\/ul>\n\n<p><strong>Services &amp; Staff Management<\/strong><\/p>\n\n<ul>\n<li>Create unlimited services with name, duration, and price<\/li>\n<li>Organise services into categories for easier browsing<\/li>\n<li>Add staff members and assign them to one or more services<\/li>\n<li>Optional staff-selection step in the booking flow \u2014 let customers choose who they book with<\/li>\n<\/ul>\n\n<p><strong>Bookings Dashboard<\/strong><\/p>\n\n<ul>\n<li>Central bookings screen with per-booking status management (Pending, Approved, Canceled, Rejected, Completed) plus search and date filtering<\/li>\n<li>Update any booking status in one click<\/li>\n<li>Full customer details stored per booking for easy reference<\/li>\n<li>Automatic confirmation email to the customer on every new booking<\/li>\n<li>Instant admin notification email so you never miss a reservation<\/li>\n<\/ul>\n\n<p><strong>Flexible Settings<\/strong><\/p>\n\n<ul>\n<li>Set your booking window \u2014 control how many days ahead customers can schedule<\/li>\n<li>Block individual dates using the built-in date picker<\/li>\n<li>Close recurring weekdays so your calendar reflects your real availability<\/li>\n<li>Customise the thank-you message displayed after a successful booking<\/li>\n<li>Configure admin notification email address and sender name<\/li>\n<\/ul>\n\n<p><strong>Developer Friendly<\/strong><\/p>\n\n<ul>\n<li>REST API support<\/li>\n<li>WordPress hooks and filters<\/li>\n<li>Extensible architecture for custom integrations<\/li>\n<\/ul>\n\n<h3>Patro Appointment Booking Pro *(separate plugin)*<\/h3>\n\n<p>Unlock powerful premium features with the optional Pro add-on:<\/p>\n\n<ul>\n<li><strong>Email Templates<\/strong> \u2014 fully customise customer and admin email HTML to match your brand<\/li>\n<li><strong>Coupons &amp; Discounts<\/strong> \u2014 create percentage and fixed-amount coupon codes for promotions<\/li>\n<li><strong>reCAPTCHA<\/strong> \u2014 Google reCAPTCHA v2\/v3 protection to stop spam bookings<\/li>\n<li><strong>IP Rate Limiting<\/strong> \u2014 cap the number of bookings per IP address per day<\/li>\n<li><strong>Role-Based Access<\/strong> \u2014 restrict the booking form to logged-in users or specific WordPress roles<\/li>\n<li><strong>Layout Variants<\/strong> \u2014 Modern Card, Minimal, Compact, Step-by-Step Wizard, and Split Screen layouts, selectable per block from the Gutenberg inspector panel<\/li>\n<\/ul>\n\n<h3>5 Easy Steps to Get Started<\/h3>\n\n<ol>\n<li>Install and activate the plugin from <strong>Plugins \u2192 Add New<\/strong> in your WordPress admin.<\/li>\n<li>Go to <strong>Patro Appointment Booking \u2192 Services<\/strong> and add at least one service (name, duration, price).<\/li>\n<li>Go to <strong>Patro Appointment Booking \u2192 Settings<\/strong> and set your booking window, notification email, and any blocked dates.<\/li>\n<li>Open any page or post in the Gutenberg editor, search for <strong>Booking Form<\/strong>, and insert the block.<\/li>\n<li>Publish the page \u2014 your customers can now book 24\/7.<\/li>\n<\/ol>\n\n<h3>What Makes Patro Appointment Booking Stand Out<\/h3>\n\n<p><strong>Gutenberg-native<\/strong> \u2014 no shortcodes, no iframes. The booking form is a first-class Gutenberg block that works seamlessly with the WordPress editor and any block-based theme.<\/p>\n\n<p><strong>React-powered, fast-loading<\/strong> \u2014 the multi-step form is built with React for smooth, animated step transitions and a snappy user experience with no full-page reloads.<\/p>\n\n<p><strong>Zero configuration clutter<\/strong> \u2014 every setting has a sensible default. You can have a working booking form live in under five minutes.<\/p>\n\n<p><strong>Extensible by design<\/strong> \u2014 REST API endpoints and WordPress action and filter hooks let third-party add-ons build cleanly on top of the free core without hacks.<\/p>\n\n<p><strong>Transparent booking flow<\/strong> \u2014 the collapsible sidebar shows customers exactly where they are in the process at all times, reducing drop-off and improving completion rates.<\/p>\n\n<h3>Development<\/h3>\n\n<p>The React admin app, the Gutenberg block, and the frontend booking form are\ncompiled from the human-readable source in the <code>resources\/<\/code> directory using\n@wordpress\/scripts. The compiled output ships in <code>build\/<\/code>. Both the source and\nthe build manifest (<code>package.json<\/code>) are included in the plugin so the code can\nbe inspected and rebuilt.<\/p>\n\n<p>To build from source:<\/p>\n\n<ol>\n<li><code>npm install<\/code><\/li>\n<li><code>npm run build<\/code><\/li>\n<\/ol>\n\n<p>Source locations:<\/p>\n\n<ul>\n<li><code>resources\/admin\/<\/code> \u2014 React admin app (compiled to <code>build\/admin\/<\/code>)<\/li>\n<li><code>resources\/blocks\/booking-form\/<\/code> \u2014 Gutenberg block (compiled to <code>build\/blocks\/<\/code>)<\/li>\n<li><code>resources\/frontend\/<\/code> \u2014 frontend booking form components<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>patro-appointment-booking<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install via <strong>Plugins \u2192 Add New<\/strong> in WordPress.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> screen.<\/li>\n<li>Go to <strong>Patro Appointment Booking \u2192 Services<\/strong> and create at least one service.<\/li>\n<li>Go to <strong>Patro Appointment Booking \u2192 Settings<\/strong> and configure your booking window and notifications.<\/li>\n<li>Open any page or post in the Gutenberg editor, search for the <strong>Booking Form<\/strong> block, and insert it.<\/li>\n<li>Publish the page \u2014 your booking form is live.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"where%20do%20i%20manage%20bookings%3F\"><h3>Where do I manage bookings?<\/h3><\/dt>\n<dd><p>Go to <strong>Patro Appointment Booking \u2192 Bookings<\/strong> in the WordPress admin menu. You can search bookings and filter them by date, and update each booking's status (Pending, Approved, Canceled, Rejected, Completed) from there.<\/p><\/dd>\n<dt id=\"how%20do%20i%20add%20a%20booking%20form%20to%20my%20page%3F\"><h3>How do I add a booking form to my page?<\/h3><\/dt>\n<dd><p>In the Gutenberg editor, click the <strong>+<\/strong> block inserter, search for <strong>Booking Form<\/strong>, and insert it. The block renders the full multi-step form on the frontend automatically.<\/p><\/dd>\n<dt id=\"can%20customers%20book%20without%20logging%20in%3F\"><h3>Can customers book without logging in?<\/h3><\/dt>\n<dd><p>Yes. The booking form is publicly accessible by default. No WordPress account is required to make a booking.<\/p><\/dd>\n<dt id=\"can%20i%20assign%20bookings%20to%20specific%20staff%20members%3F\"><h3>Can I assign bookings to specific staff members?<\/h3><\/dt>\n<dd><p>Yes. Create employees under <strong>Patro Appointment Booking \u2192 Employees<\/strong>, assign services to them, and enable the staff-selection step in <strong>Settings<\/strong>. Customers will then be able to choose who they book with.<\/p><\/dd>\n<dt id=\"where%20are%20booking%20emails%20sent%3F\"><h3>Where are booking emails sent?<\/h3><\/dt>\n<dd><p>The customer receives a confirmation email at the address they enter in the form. The admin receives an alert at the address configured in <strong>Settings<\/strong>, which defaults to the site admin email.<\/p><\/dd>\n<dt id=\"is%20the%20booking%20form%20mobile-friendly%3F\"><h3>Is the booking form mobile-friendly?<\/h3><\/dt>\n<dd><p>Yes. The form is fully responsive. On screens below 900 px the sidebar collapses into a compact top navigation bar. On very small screens the layout becomes a single column with full touch support.<\/p><\/dd>\n<dt id=\"how%20do%20i%20block%20specific%20dates%20or%20days%20of%20the%20week%3F\"><h3>How do I block specific dates or days of the week?<\/h3><\/dt>\n<dd><p>Go to <strong>Patro Appointment Booking \u2192 Settings<\/strong>. Use the <strong>Blocked Dates<\/strong> date picker to block individual dates and the <strong>Closed Weekdays<\/strong> checkboxes to disable recurring days of the week.<\/p><\/dd>\n<dt id=\"does%20patro%20appointment%20booking%20work%20with%20page%20builders%3F\"><h3>Does Patro Appointment Booking work with page builders?<\/h3><\/dt>\n<dd><p>The booking form is a native Gutenberg block and works best in the WordPress block editor. For Elementor and other builders that support Gutenberg widgets or HTML embeds, you can use a Custom HTML widget with the block markup, though native Gutenberg is recommended for the best experience.<\/p><\/dd>\n<dt id=\"is%20there%20a%20pro%20version%3F\"><h3>Is there a Pro version?<\/h3><\/dt>\n<dd><p>Yes. The optional <strong>Patro Appointment Booking Pro<\/strong> plugin extends the free version with email template customisation, coupon codes, reCAPTCHA, IP rate limiting, role-based access, and multiple form layout variants.<\/p><\/dd>\n<dt id=\"can%20developers%20extend%20the%20plugin%3F\"><h3>Can developers extend the plugin?<\/h3><\/dt>\n<dd><p>Yes. Patro Appointment Booking exposes REST API endpoints and WordPress action and filter hooks (such as <code>patrabk_booking_created<\/code>) for add-on developers.<\/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>Gutenberg booking form block \u2014 place the booking form on any page with a single block insert<\/li>\n<li>React-powered multi-step booking flow: Services \u2192 Date &amp; Time \u2192 Your Details \u2192 Review \u2192 Confirmation<\/li>\n<li>Collapsible sidebar step navigator with active-step highlighting and icon-headed panels<\/li>\n<li>Service cards with radio-style selection and clock-icon duration display<\/li>\n<li>Admin dashboard built with React: Bookings, Services, Categories, Employees, and Settings screens<\/li>\n<li>Real-time date picker with blocked-date and closed-weekday enforcement<\/li>\n<li>Time slot grid with automatic filtering of past slots for same-day bookings<\/li>\n<li>Staff\/employee assignment with optional customer-facing staff selection step<\/li>\n<li>Automatic email notifications \u2014 confirmation to the customer and alert to the admin<\/li>\n<li>Booking status management: Pending, Approved, Canceled, Rejected, Completed<\/li>\n<li>REST API endpoints for services, time slots, employees, and bookings<\/li>\n<li>WordPress action and filter hooks for add-on developers<\/li>\n<\/ul>","raw_excerpt":"Let customers book appointments 24\/7 via a Gutenberg block \u2014 manage services, staff, and bookings from one clean WordPress admin dashboard.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/325040","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=325040"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/arjunchhetri100"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=325040"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=325040"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=325040"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=325040"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=325040"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=325040"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}