{"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-08-20T04:54:01","modified_gmt":"2026-08-20T04:54:01","slug":"patro-appointment-booking","status":"publish","type":"plugin","link":"https:\/\/br.wordpress.org\/plugins\/patro-appointment-booking\/","author":20645259,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.4","stable_tag":"1.0.4","tested":"7.1","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-08-20 04:54:01","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":217,"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"},"1.0.1":{"tag":"1.0.1","author":"arjunchhetri100","date":"2026-06-20 07:10:21"},"1.0.2":{"tag":"1.0.2","author":"arjunchhetri100","date":"2026-08-20 04:54:01"},"1.0.3":{"tag":"1.0.3","author":"arjunchhetri100","date":"2026-08-20 04:54:01"},"1.0.4":{"tag":"1.0.4","author":"arjunchhetri100","date":"2026-08-20 04:54:01"}},"upgrade_notice":{"1.0.4":"<p>Corrects the Booking Form block&#039;s preview in the editor so it matches the form your visitors see. The published booking form is unchanged. Safe to update.<\/p>","1.0.3":"<p>Adds a Service List block, Calendar and Customers screens, CSV export, Finance and Notifications screens, and a first-run Setup Wizard. Also fixes several screens ignoring the configured currency symbol. Safe to update.<\/p>","1.0.2":"<p>Adds a per-row &quot;View details&quot; popup for bookings and services. Safe to update.<\/p>","1.0.1":"<p>Fixes the dashboard header actions so they display as buttons. Safe to update.<\/p>","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},"formHeight":{"type":"number","default":600},"serviceLayout":{"type":"string","default":"list"}},"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","viewStyle":"file:.\/view.css","render":"file:.\/render.php"},"patrabk\/service-list":{"apiVersion":3,"name":"patrabk\/service-list","title":"Service List","category":"module","description":"Displays your services as a grid of cards, fetched live from the booking API.","textdomain":"patro-appointment-booking","attributes":{"servicesCount":{"type":"number","default":0},"cardsPerRow":{"type":"number","default":3},"bookNowLabel":{"type":"string","default":""},"bookNowUrl":{"type":"string","default":""},"textColor":{"type":"string","default":""},"linkColor":{"type":"string","default":""},"buttonBorderEnabled":{"type":"boolean","default":false},"buttonBorderColor":{"type":"string","default":"#000000"},"buttonBorderWidth":{"type":"number","default":1}},"supports":{"align":["wide","full"]},"editorScript":"file:.\/index.js","viewScript":"file:.\/view.js","style":"file:.\/style-index.css","render":"file:.\/render.php"}},"tagged_versions":["1.0.0","1.0.1","1.0.2","1.0.3","1.0.4"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3655788,"resolution":"1","location":"assets","locale":"","width":1166,"height":771},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3655788,"resolution":"2","location":"assets","locale":"","width":1628,"height":952},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3655788,"resolution":"3","location":"assets","locale":"","width":1170,"height":787},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3655788,"resolution":"4","location":"assets","locale":"","width":1165,"height":785},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3655788,"resolution":"5","location":"assets","locale":"","width":1158,"height":783},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3655788,"resolution":"6","location":"assets","locale":"","width":1762,"height":845},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3655788,"resolution":"7","location":"assets","locale":"","width":1701,"height":830},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3655788,"resolution":"8","location":"assets","locale":"","width":1917,"height":871}},"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 screen \u2014 filter by date, service and status, then open any booking in a side panel to see full customer and payment details and change its status","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=3655788","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=3655788","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=3655788","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=3655788","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=3655788","caption":"Booking confirmation screen with customisable thank-you message"},{"src":"https:\/\/ps.w.org\/patro-appointment-booking\/assets\/screenshot-6.png?rev=3655788","caption":"Admin bookings screen \u2014 filter by date, service and status, then open any booking in a side panel to see full customer and payment details and change its status"},{"src":"https:\/\/ps.w.org\/patro-appointment-booking\/assets\/screenshot-7.png?rev=3655788","caption":"Admin services configuration screen"},{"src":"https:\/\/ps.w.org\/patro-appointment-booking\/assets\/screenshot-8.png?rev=3655788","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>Service List Block<\/strong><\/p>\n\n<ul>\n<li>A second Gutenberg block that renders your services as a grid of cards, fetched live from the booking API<\/li>\n<li>Built-in detail view so visitors can read a full service description without leaving the page<\/li>\n<li>Configurable cards per row, number of services shown, and \"Book now\" button label from the block inspector<\/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 a staff member (one on the free plan), give them a profile photo, and assign them to one or more services<\/li>\n<li>Set each employee's own work hours, days off, and special days on top of your business schedule<\/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<li>Export bookings to CSV, with a date-range filter<\/li>\n<\/ul>\n\n<p><strong>Calendar View<\/strong><\/p>\n\n<ul>\n<li>See every booking on a real calendar in day, week, or month view<\/li>\n<li>A live current-time line on the day and week views so today is easy to read at a glance<\/li>\n<li>Click any booking to open its full details in a modal, without leaving the calendar<\/li>\n<\/ul>\n\n<p><strong>Customers<\/strong><\/p>\n\n<ul>\n<li>A Customers screen listing everyone who has booked, built from your booking history<\/li>\n<li>Contact details, last booking date, and total booking count per customer<\/li>\n<li>Export your customer list to CSV<\/li>\n<\/ul>\n\n<p><strong>Finance<\/strong><\/p>\n\n<ul>\n<li>A Transactions screen backed by a real, persisted payment record per booking, kept independent of the booking's own status<\/li>\n<li>Each transaction shows its subtotal, discount, tax, and total in your configured currency<\/li>\n<li>Export transactions to CSV<\/li>\n<\/ul>\n\n<p><strong>Email Notifications<\/strong><\/p>\n\n<ul>\n<li>A Notifications screen for editing the email sent on each event \u2014 appointment approved, pending, rejected, and cancelled, payment received, and follow-up<\/li>\n<li>Merge tags for appointment, customer, employee, service, company, and payment details<\/li>\n<li>Sensible templates seeded on activation, so email works before you customise anything<\/li>\n<\/ul>\n\n<p><strong>First-Run Setup Wizard<\/strong><\/p>\n\n<ul>\n<li>A guided wizard after activation that walks you through your business details, working hours, first service, and first staff member<\/li>\n<\/ul>\n\n<p><strong>Flexible Settings<\/strong><\/p>\n\n<ul>\n<li>A searchable settings sidebar grouped into Business, Payment, Date &amp; Time, Manage schedule, Booking Rules, and Privacy &amp; Data<\/li>\n<li>Set your business working hours and days off in one place<\/li>\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>Choose your currency and how prices are displayed<\/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<li>Per-user column layout and rows-per-page preferences on every admin list screen<\/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>Online Payments<\/strong> \u2014 accept card payments via Stripe or PayPal, with automatic refunds and downloadable invoices<\/li>\n<li><strong>Coupons &amp; Discounts<\/strong> \u2014 create percentage and fixed-amount coupon codes for promotions<\/li>\n<li><strong>Tax<\/strong> \u2014 configure tax rates that apply automatically at checkout<\/li>\n<li><strong>Service Extras<\/strong> \u2014 offer optional add-ons customers can attach to a booking<\/li>\n<li><strong>Unlimited Employees &amp; Scheduling Overrides<\/strong> \u2014 remove the free plan's staff limit and set per-employee or per-service schedule exceptions<\/li>\n<li><strong>Multiple Locations<\/strong> \u2014 run bookings across several business locations from one dashboard<\/li>\n<li><strong>SMS &amp; WhatsApp Notifications<\/strong> \u2014 send booking confirmations and reminders by text or WhatsApp, alongside email<\/li>\n<li><strong>Google Calendar &amp; Zoom Integration<\/strong> \u2014 two-way calendar sync and automatic video meeting links for appointments<\/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. The setup wizard opens automatically so you can enter your business name, contact email, and currency.<\/li>\n<li>Go to <strong>Patro Booking \u2192 Services<\/strong> and add at least one service (name, duration, price).<\/li>\n<li>Go to <strong>Patro Booking \u2192 Employees<\/strong> and add at least one employee \u2014 set their work hours and assign your services to them. Every bookable time slot comes from an employee's schedule, so a service with nobody assigned to it has no times to offer.<\/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<p>Optional: fine-tune your booking window, slot interval, buffers, days off, and notification emails under <strong>Patro Booking \u2192 Settings<\/strong> \u2014 every setting ships with a sensible default, so the form works before you touch any of them.<\/p>\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 Booking \u2192 Services<\/strong> and create at least one service.<\/li>\n<li>Go to <strong>Patro Booking \u2192 Employees<\/strong> and create at least one employee, set their work hours, and assign your services to them. This step is required \u2014 bookable slots are read from employee schedules.<\/li>\n<li>Go to <strong>Patro 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 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=\"what%20is%20the%20service%20list%20block%3F\"><h3>What is the Service List block?<\/h3><\/dt>\n<dd><p>It is a second block that displays your services as a grid of cards anywhere on your site, with a detail view for each one. Insert it the same way as the booking form \u2014 search for <strong>Service List<\/strong> in the block inserter. You can set how many services to show, how many cards per row, and the label on the booking button.<\/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 an employee under <strong>Patro 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. The free plan includes one staff member; Pro removes that limit.<\/p><\/dd>\n<dt id=\"why%20does%20my%20booking%20form%20show%20no%20available%20times%3F\"><h3>Why does my booking form show no available times?<\/h3><\/dt>\n<dd><p>Availability comes entirely from employee schedules. Check that you have at least one employee under <strong>Patro Booking \u2192 Employees<\/strong>, that the service is assigned to that employee, and that the employee has work hours saved for the weekday you are testing. Business working hours in <strong>Settings<\/strong> only pre-fill a new employee's hours \u2014 on their own they do not make any time bookable.<\/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 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 online payments (Stripe\/PayPal), coupons, tax, service extras, unlimited employees with scheduling overrides, multiple locations, SMS\/WhatsApp notifications, and Google Calendar\/Zoom integration.<\/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.4<\/h4>\n\n<ul>\n<li>The Booking Form block's editor preview now renders the same service cards, step labels and icons the published form does, instead of an older layout it had drifted away from<\/li>\n<li>The Service Selection layout setting (List or Dropdown) now takes effect in the editor preview, not just on the published page<\/li>\n<li>The editor preview now shows your own services, priced in your configured currency, instead of placeholder ones always priced in US dollars<\/li>\n<li>The editor preview now reports when no service is bookable yet \u2014 and why \u2014 instead of filling the form with sample services<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Added a first-run Setup Wizard shown after activation to help you create your first service and staff member<\/li>\n<li>Added a Service List block \u2014 a Gutenberg-native service directory that renders your services as cards with a built-in detail view, and configurable cards-per-row, service count and button label<\/li>\n<li>Added a Calendar screen with day, week and month views, a live current-time line, and a click-through booking modal<\/li>\n<li>Added a Customers screen listing everyone who has booked, with contact details, last booking date and total booking count<\/li>\n<li>Added CSV export for bookings, customers and transactions<\/li>\n<li>Added a Finance screen backed by a real, persisted payment record per booking, independent of the booking's own status<\/li>\n<li>Finance: payments now track discount and tax amounts alongside the base price; each transaction shows its subtotal, discount, tax and total<\/li>\n<li>Added a Notifications screen for the email sent on each event \u2014 appointment approved, pending, rejected and cancelled, payment received, and follow-up \u2014 with merge tags for appointment, customer, employee, service, company and payment details<\/li>\n<li>Employees now have their own work hours, days off and special days, plus a profile photo<\/li>\n<li>Settings reorganised into a searchable sidebar: Business, Payment, Date &amp; Time, Manage schedule (working hours and days off), Booking Rules, and Privacy &amp; Data<\/li>\n<li>Added an Upgrade page introducing the upcoming Pro add-on<\/li>\n<li>Added per-user, per-table column layout and rows-per-page preferences on the admin list screens<\/li>\n<li>Fixed the Dashboard, Bookings, Services and Finance screens ignoring the configured currency symbol and always showing amounts as if the currency were USD<\/li>\n<li>Deleting a service now also removes its staff assignments; deleting a category that still has services in it is blocked instead of leaving those services orphaned<\/li>\n<li>Various dashboard, admin UI, translation and bug fixes<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Added a \"View details\" popup for bookings and services \u2014 click any row in the admin tables to see every detail in a modal, with no page reload<\/li>\n<li>Booking and service table rows are now clickable and keyboard-accessible (Enter\/Space to open, Esc to close)<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fixed dashboard header actions (\"View bookings\", \"Manage services\") rendering as plain links instead of buttons<\/li>\n<\/ul>\n\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:\/\/br.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/325040","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/br.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/br.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/br.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=325040"}],"author":[{"embeddable":true,"href":"https:\/\/br.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/arjunchhetri100"}],"wp:attachment":[{"href":"https:\/\/br.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=325040"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/br.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=325040"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/br.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=325040"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/br.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=325040"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/br.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=325040"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/br.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=325040"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}