{"id":377654,"date":"2026-10-04T16:13:18","date_gmt":"2026-10-04T16:13:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/pet-central-groomer\/"},"modified":"2026-10-05T20:24:44","modified_gmt":"2026-10-05T20:24:44","slug":"modulefest-petgroomer","status":"publish","type":"plugin","link":"https:\/\/ru.wordpress.org\/plugins\/modulefest-petgroomer\/","author":23575759,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.771.105","stable_tag":"2.771.105","tested":"7.1.2","requires":"6.5","requires_php":"7.4","requires_plugins":null,"header_name":"ModuleFest Pet Groomer - Pet Grooming Business Manager","header_author":"ModuleFest","header_description":"Bookings, clients, pets and invoicing for dog and cat groomers \u2014 breed-based pricing, coat notes, body map, before-and-after galleries, a staff app and a customer portal.","assets_banners_color":"1e3a5f","last_updated":"2026-10-05 20:24:44","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/modulefest.com\/product\/modulefest-pet-groomer\/","header_author_uri":"https:\/\/modulefest.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":117,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"2.771.105":{"tag":"2.771.105","author":"modulefest","date":"2026-10-05 20:24:44","revision":3729630},"2.771.83":{"tag":"2.771.83","author":"modulefest","date":"2026-10-04 16:12:48","revision":3727600},"2.771.84":{"tag":"2.771.84","author":"modulefest","date":"2026-10-04 18:25:54","revision":3727701},"2.771.91":{"tag":"2.771.91","author":"modulefest","date":"2026-10-04 22:09:40","revision":3727857},"2.771.93":{"tag":"2.771.93","author":"modulefest","date":"2026-10-05 02:14:33","revision":3727986}},"upgrade_notice":{"2.771.105":"<p>First release on WordPress.org.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3727701,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3727701,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3727600,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3727600,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["2.771.105","2.771.83","2.771.84","2.771.91","2.771.93"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3727600,"resolution":"1","location":"assets","locale":"","width":1440,"height":860},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3727600,"resolution":"2","location":"assets","locale":"","width":1440,"height":860},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3727600,"resolution":"3","location":"assets","locale":"","width":1440,"height":860},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3727600,"resolution":"4","location":"assets","locale":"","width":735,"height":1496},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3727600,"resolution":"5","location":"assets","locale":"","width":1440,"height":860},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3727600,"resolution":"6","location":"assets","locale":"","width":1440,"height":860},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3727600,"resolution":"7","location":"assets","locale":"","width":1440,"height":860}},"screenshots":{"1":"The dashboard: today on a rail, what is happening now, and what needs attention.","2":"The booking diary, with drag-and-drop and a booking editor that works on a phone.","3":"A dog's care profile, with vaccinations, booking reminders, and the coat and clip suggested from the breed.","4":"The installable staff app on a phone, showing the day's dogs in order.","5":"The customer portal, where clients book and reschedule themselves.","6":"Invoicing, with deposits and scheduled auto-invoicing.","7":"Getting started, which gets a new salon taking bookings without reading a manual."}},"plugin_section":[],"plugin_tags":[269,32350,251534,2690,11523],"plugin_category":[40],"plugin_contributors":[284350],"plugin_business_model":[],"class_list":["post-377654","plugin","type-plugin","status-publish","hentry","plugin_tags-booking","plugin_tags-dog","plugin_tags-grooming","plugin_tags-pets","plugin_tags-salon","plugin_category-calendar-and-events","plugin_contributors-modulefest","plugin_committers-modulefest"],"banners":{"banner":"https:\/\/ps.w.org\/modulefest-petgroomer\/assets\/banner-772x250.png?rev=3727600","banner_2x":"https:\/\/ps.w.org\/modulefest-petgroomer\/assets\/banner-1544x500.png?rev=3727600","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/modulefest-petgroomer\/assets\/icon-128x128.png?rev=3727701","icon_2x":"https:\/\/ps.w.org\/modulefest-petgroomer\/assets\/icon-256x256.png?rev=3727701","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/modulefest-petgroomer\/assets\/screenshot-1.png?rev=3727600","caption":"The dashboard: today on a rail, what is happening now, and what needs attention."},{"src":"https:\/\/ps.w.org\/modulefest-petgroomer\/assets\/screenshot-2.png?rev=3727600","caption":"The booking diary, with drag-and-drop and a booking editor that works on a phone."},{"src":"https:\/\/ps.w.org\/modulefest-petgroomer\/assets\/screenshot-3.png?rev=3727600","caption":"A dog's care profile, with vaccinations, booking reminders, and the coat and clip suggested from the breed."},{"src":"https:\/\/ps.w.org\/modulefest-petgroomer\/assets\/screenshot-4.png?rev=3727600","caption":"The installable staff app on a phone, showing the day's dogs in order."},{"src":"https:\/\/ps.w.org\/modulefest-petgroomer\/assets\/screenshot-5.png?rev=3727600","caption":"The customer portal, where clients book and reschedule themselves."},{"src":"https:\/\/ps.w.org\/modulefest-petgroomer\/assets\/screenshot-6.png?rev=3727600","caption":"Invoicing, with deposits and scheduled auto-invoicing."},{"src":"https:\/\/ps.w.org\/modulefest-petgroomer\/assets\/screenshot-7.png?rev=3727600","caption":"Getting started, which gets a new salon taking bookings without reading a manual."}],"raw_content":"<!--section=description-->\n<p><strong>Built for grooming salons and mobile groomers.<\/strong><\/p>\n\n<p>The question a groomer answers more than any other is how long a dog will take and what to charge for it. The honest answer depends on the coat, not the weight: two cockapoos of the same size can be an hour apart if one is silk-coated and the other is matted wool. ModuleFest Pet Groomer includes a <strong>coat and clip library<\/strong> that prices and times every groom from the dog's coat, with eight coat types ready to use, a per-coat time multiplier and surcharge, and breed-to-coat suggestions. Also included: a body map for warts and sensitive spots, before-and-after photo galleries and vaccination tracking.<\/p>\n\n<p>It is a complete booking and client system for a grooming business: bookings, clients, pets, invoicing and payments in one WordPress install the business owns outright, behind an installable, mobile-first staff app and a self-service customer portal.<\/p>\n\n<p>It shows only the fields a groomer actually needs \u2014 coat types, breed pricing, a body map and before-and-after galleries \u2014 rather than a general-purpose system you have to prune.<\/p>\n\n<h4>What you get<\/h4>\n\n<ul>\n<li><strong>Bookings and calendar<\/strong> \u2014 drag-and-drop diary, recurring visits, availability rules and a booking editor that fits on a phone<\/li>\n<li><strong>Clients and pets<\/strong> \u2014 full history, per-pet care profiles, vaccination compliance and an interactive body map<\/li>\n<li><strong>Invoicing and payments<\/strong> \u2014 deposits, scheduled auto-invoicing, statements you send or print, PDF and print output, and card payments through Stripe if you want them<\/li>\n<li><strong>Customer portal<\/strong> \u2014 clients book, cancel, reschedule and pay themselves, without emailing you<\/li>\n<li><strong>Installable app<\/strong> \u2014 works on any phone with no app store: the day's dogs in order, photos and report cards, and it keeps working when the signal does not<\/li>\n<li><strong>Import and export<\/strong> \u2014 bring your existing clients in with a guided wizard; take everything with you whenever you like<\/li>\n<li><strong>Your branding<\/strong> \u2014 branded login and booking pages with QR codes<\/li>\n<li><strong>Demo data<\/strong> you can load and remove, so you can see the system working before you use it<\/li>\n<\/ul>\n\n<h4>Everything here is free<\/h4>\n\n<p>Everything this plugin contains is free to use in full, for as long as you like. There is no\ntrial, no licence key, no quota and nothing that stops working after a while.<\/p>\n\n<p>A separate paid plugin, ModuleFest Pet Groomer Pro, is available from our website for businesses that want\nmore: reminders and newsletters, statements that send themselves, packages and sale prices, finance reports and a report builder,\nmileage, accounting integrations, team members with rotas and commission, a round planner,\ncustomer segments, waiting lists, loyalty cards, automations and website designs. You\nnever need it to run your business on this plugin, and this plugin never downloads or installs\nanything.<\/p>\n\n<h4>Privacy and external services<\/h4>\n\n<p>ModuleFest Pet Groomer keeps your data on your own site. It does not contact us or anybody else\non its own \u2014 no analytics, no telemetry, no licence check and nothing on a schedule.<\/p>\n\n<p>Some features need an outside service to work. Every one is listed here, with what gets sent and\nwhen. Anything marked <strong>only if you turn it on<\/strong> needs you to enter your own details or tick a\nsetting first, and sends nothing until you do.<\/p>\n\n<p><strong>Maps \u2014 OpenStreetMap.<\/strong> When you open a route map (for mobile grooming), your browser loads map\ntiles from <code>tile.openstreetmap.org<\/code>, and the plugin fetches tiles server-side when it draws a\nstatic map into a report. What is sent: the map area being viewed. No client or pet details are\never included.\nTerms: https:\/\/operations.osmfoundation.org\/policies\/tiles\/ \u00b7 Privacy:\nhttps:\/\/wiki.osmfoundation.org\/wiki\/Privacy_Policy<\/p>\n\n<p><strong>Postcode and address lookup \u2014 Postcodes.io (UK) and OpenStreetMap Nominatim (elsewhere).<\/strong>\nWhen a booking or client needs placing on a map or measuring for mileage, the client's postcode\nis looked up to get approximate coordinates. In the UK it is sent to <code>api.postcodes.io<\/code>. For a\nbusiness in another country (Settings \u2192 General \u2192 Country) it is sent to\n    nominatim.openstreetmap.org instead, or, where a client has no postcode, their address line.\nRequests to Nominatim identify your site's address, as their usage policy asks. No name, phone,\nemail or pet detail is ever sent. Results are cached, so a place is only looked up once.\nTerms and privacy: https:\/\/postcodes.io\/about \u00b7 https:\/\/operations.osmfoundation.org\/policies\/nominatim\/ \u00b7\nhttps:\/\/wiki.osmfoundation.org\/wiki\/Privacy_Policy<\/p>\n\n<p><strong>App notifications \u2014 web push.<\/strong> If you or a member of staff allow notifications in the staff\napp, new-booking alerts are delivered through the push service of that person's own browser\n(Google for Chrome, Mozilla for Firefox, Apple for Safari). What is sent: a short notice that\nsomething needs attention, encrypted so the push service cannot read it. Nothing is sent to\nanyone who has not allowed notifications.\nTerms and privacy: https:\/\/policies.google.com\/privacy \u00b7 https:\/\/www.mozilla.org\/privacy\/firefox\/ \u00b7\nhttps:\/\/www.apple.com\/legal\/privacy\/<\/p>\n\n<p>The following are all <strong>only if you turn them on<\/strong>:<\/p>\n\n<ul>\n<li><strong>Stripe<\/strong> \u2014 card payments and deposits. Sends invoice amounts and the customer's email to Stripe when you take a payment. https:\/\/stripe.com\/gb\/legal\/consumer \u00b7 https:\/\/stripe.com\/gb\/privacy<\/li>\n<li><strong>Twilio<\/strong> \u2014 text messages to your customers. Sends the recipient's mobile number and the message. https:\/\/www.twilio.com\/en-us\/legal\/tos \u00b7 https:\/\/www.twilio.com\/en-us\/legal\/privacy<\/li>\n<li><strong>WhatsApp Cloud API (Meta)<\/strong> \u2014 WhatsApp messages. Sends the recipient's number and the message. https:\/\/developers.facebook.com\/terms\/ \u00b7 https:\/\/www.facebook.com\/privacy\/policy<\/li>\n<li><strong>Google Fonts<\/strong> \u2014 only if you enter a font address for the customer portal. Your visitors' browsers then request the font files from that address. Leave it off and the plugin uses fonts already on the device. https:\/\/policies.google.com\/terms \u00b7 https:\/\/policies.google.com\/privacy<\/li>\n<li><strong>PayPal.me<\/strong> \u2014 only if you enter your PayPal.me name. Invoices then show a \"Pay with PayPal\" link; the customer's browser opens paypal.me with the amount due. The plugin itself sends nothing to PayPal. https:\/\/www.paypal.com\/uk\/legalhub\/useragreement-full \u00b7 https:\/\/www.paypal.com\/uk\/legalhub\/privacy-full<\/li>\n<\/ul>\n\n<h4>Source code<\/h4>\n\n<p>Everything in this plugin is shipped as its original, human-readable source. Nothing is\ncompiled, bundled, transpiled or minified, and there is no build step: the files you install\nare the files we edit.<\/p>\n\n<ul>\n<li>The staff app is <code>pwa\/js\/app.js<\/code> (with <code>pwa\/js\/passkey.js<\/code>), written by hand and kept as\none file so it works offline without a loader. Its comments are left in.<\/li>\n<li>The customer booking wizard is <code>assets\/js\/pc-customer-wizard.js<\/code>.<\/li>\n<li>Styles are plain CSS in <code>assets\/css\/<\/code>, <code>admin\/css\/<\/code> and <code>pwa\/css\/<\/code>.<\/li>\n<\/ul>\n\n<p>You are free to read, change and fork any of it under the GPL.<\/p>\n\n<h4>Third-party code<\/h4>\n\n<ul>\n<li><strong>Leaflet 1.9.4<\/strong> (maps on the route and walk screens), \u00a9 Vladimir Agafonkin and CloudMade, BSD 2-Clause licence, GPL-compatible. Included unminified in <code>assets\/vendor\/leaflet\/<\/code>, with its licence file. https:\/\/leafletjs.com \u00b7 https:\/\/github.com\/Leaflet\/Leaflet<\/li>\n<\/ul>\n\n<h3>Disclaimer<\/h3>\n\n<p>This software is provided \"as is\", without warranty of any kind, express or implied, including\nthe implied warranties of merchantability, fitness for a particular purpose and non-infringement.\nUse of it is entirely at your own risk.<\/p>\n\n<p>To the fullest extent the law allows, ModuleFest and the authors of this plugin are not liable for\nany indirect, incidental, special or consequential loss arising from your use of (or inability to\nuse) this software \u2014 including, without limitation, loss of revenue, profit, business, anticipated\nsavings, goodwill or data \u2014 even where advised such a loss was possible.<\/p>\n\n<p>Where liability cannot be excluded by law, it is limited, at our choice, to re-supplying the\nsoftware or refunding what you paid for it in the twelve months before the claim. Nothing here\nlimits liability for death or personal injury caused by negligence, for fraud, or for anything else\nthe law does not allow to be limited \u2014 and none of it affects your statutory rights as a consumer.<\/p>\n\n<p>This copy is updated by WordPress from the plugin directory.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>In WordPress, go to <strong>Plugins \u2192 Add New<\/strong>, search for <strong>ModuleFest Pet Groomer<\/strong>, and press\nInstall then Activate. (Or upload the zip under <strong>Plugins \u2192 Add New \u2192 Upload Plugin<\/strong>.)<\/li>\n<li>Open <strong>ModuleFest Pet Groomer<\/strong> in the admin menu. The first time, it opens <strong>Getting\nstarted<\/strong>, which is already set up for grooming, so it never asks which trade you run.<\/li>\n<li>Add a treatment or two, add a client and their dog, and make your first booking.<\/li>\n<li>When you are ready to take bookings from customers, use <strong>Settings \u2192 General \u2192 Quick start<\/strong>\nto create the booking page and a QR code you can share.<\/li>\n<\/ol>\n\n<p>Nothing needs a licence key, an account or a connection to anything. If you would like to see the\nsystem with data in it first, load the demo data under <strong>Tools \u2192 Demo data<\/strong> and remove it again\nwhen you are done.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"which%20languages%20does%20it%20come%20in%3F\"><h3>Which languages does it come in?<\/h3><\/dt>\n<dd><p>The plugin is written in English and is translated by the WordPress community on\ntranslate.wordpress.org; WordPress installs the translation for your site's language\nautomatically. Our own translations into French, German, Spanish, Dutch, Italian, Portuguese,\nDanish, Swedish and Norwegian come with the Pro add-on on the Standard or Premium plan. Any of the\nwording can be changed under Settings \u2192 Language, and your changes are kept when the plugin updates. <strong>Support is provided from the UK, in English only.<\/strong><\/p><\/dd>\n<dt id=\"do%20i%20need%20an%20account%2C%20a%20licence%20key%20or%20a%20subscription%3F\"><h3>Do I need an account, a licence key or a subscription?<\/h3><\/dt>\n<dd><p>No. Install it and use it. It does not expire, throttle or nag.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20data%20if%20i%20delete%20the%20plugin%3F\"><h3>What happens to my data if I delete the plugin?<\/h3><\/dt>\n<dd><p>Nothing is removed unless you have asked for it. Deactivating the plugin never removes anything at\nall, and deleting it keeps everything too, unless you go to <strong>Tools \u2192 Uninstall<\/strong> and choose\notherwise. That screen counts exactly what would go \u2014 your records, your settings, your tables,\nread from your own site \u2014 and asks you to type a confirmation, because there is no undo. Your\npages, your photographs and your user accounts are kept whichever way you choose.<\/p><\/dd>\n<dt id=\"does%20my%20client%20and%20pet%20data%20leave%20my%20site%3F\"><h3>Does my client and pet data leave my site?<\/h3><\/dt>\n<dd><p>No. Everything lives in your own WordPress database. The plugin does not send your client list,\npet records, bookings or invoices anywhere. The short list of external services above covers\neverything the plugin can ever contact, and most of it only happens if you enter your own details\nfirst.<\/p><\/dd>\n<dt id=\"what%20is%20the%20staff%20app%3F\"><h3>What is the staff app?<\/h3><\/dt>\n<dd><p>A mobile app you install straight from the site \u2014 no app store, no separate download. It handles\nthe day's dogs in order, photos and report cards, and it keeps working when the phone loses\nsignal, syncing when it comes back.<\/p><\/dd>\n<dt id=\"will%20it%20work%20with%20my%20theme%3F\"><h3>Will it work with my theme?<\/h3><\/dt>\n<dd><p>Yes. The admin side is standard WordPress, and the customer-facing pages are shortcodes that\ninherit your theme.<\/p><\/dd>\n<dt id=\"how%20do%20i%20move%20my%20existing%20clients%20in%3F\"><h3>How do I move my existing clients in?<\/h3><\/dt>\n<dd><p><strong>Tools \u2192 Import<\/strong> takes a CSV and walks you through matching your columns to the right fields,\nwith a preview before anything is written. Export works the same way, so your data is never\nlocked in.<\/p><\/dd>\n<dt id=\"is%20it%20translation-ready%3F\"><h3>Is it translation-ready?<\/h3><\/dt>\n<dd><p>Yes. Every string goes through WordPress's translation functions with the <code>modulefest-petgroomer<\/code>\ntext domain.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.771.105<\/h4>\n\n<ul>\n<li>First release on WordPress.org.<\/li>\n<\/ul>","raw_excerpt":"Bookings, clients, pets and invoicing for dog and cat groomers, with a staff app and a customer portal.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/377654","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=377654"}],"author":[{"embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/modulefest"}],"wp:attachment":[{"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=377654"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=377654"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=377654"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=377654"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=377654"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=377654"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}