7 Commits

Author SHA1 Message Date
Flea Flicker d854bd818e Merge pull request 'fix: update UAT playbook demo URLs (GRO-1819)' (#15) from fix/uat-playbook-demo-url into dev 2026-05-27 01:23:46 +00:00
Flea Flicker b0976f2667 fix: replace broken blog/ links with blog/launch.html (GRO-1819) 2026-05-27 01:17:59 +00:00
Flea Flicker eba32f9e96 fix: update demo URL from groombook.farh.net to demo.groombook.dev
Updated UAT_PLAYBOOK.md §2 per QA review (GRO-1819):
- Test environment URL: groombook.farh.net → demo.groombook.dev
- TC-2.1 expected result: groombook.farh.net → demo.groombook.dev
- Added TC-2.3: mobile-groomers.html 'Try the Live Demo' CTA

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-26 18:58:12 +00:00
Flea Flicker 2f9803ae87 docs: fix outdated URLs and align site with Path C messaging (GRO-1818)
- Fix demo URLs from groombook.farh.net to demo.groombook.dev
- Remove broken 'Book Now' link from footer
- Expand blog section to showcase Path C content pillars
- Update mobile-groomers.html with Path C messaging and branding
- Reframe pain points around revenue impact and data ownership
- Add demo link and deployment options to mobile-groomers CTA
- Replace 'Groom Book' with 'GroomBook' for consistent branding

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-05-26 18:49:32 +00:00
The Dogfather 3e9d227388 Merge pull request 'feat(GRO-1791): landing page Book Now CTA' (#12) from feature/gro-1165a-book-now-cta into dev
Merge PR #12: feat(GRO-1791): landing page Book Now CTA

CTO approved after QA pass. Adds Book an Appointment CTA to hero, footer nav, and getting-started page.
2026-05-26 12:15:51 +00:00
Flea Flicker f67470581e docs(GRO-1791): add TC-3.1–TC-3.5 to UAT_PLAYBOOK for self-booking CTA
Added test cases covering:
- Hero "Book an Appointment" button visibility and order
- All 4 hero CTA buttons present
- Mobile responsiveness at 375px width
- Footer "Book Now" link navigation
- Getting-started page booking CTA

Also fixed repo URL from github.com/site to git.farh.net/groombook/groombook.dev.

cc @cpfarhood

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-26 11:50:09 +00:00
Flea Flicker c1a6539af3 feat(GRO-1791): add Book Now CTA to landing page hero and navigation
- Add "Book an Appointment" as first CTA button in hero section, linking
  to https://groombook.dev/admin/book
- Add "Book Now" to footer navigation links
- Add "Book an Appointment" quick-link to getting-started page
- Preserve all existing CTAs (Try Demo, Get Started, View on GitHub)

cc @cpfarhood

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-26 11:48:41 +00:00
4 changed files with 100 additions and 39 deletions
+58 -4
View File
@@ -1,9 +1,9 @@
# UAT Playbook: GroomBook Site
## Test Environment
- **URL:** https://groombook.farh.net (demo)
- **Repository:** https://github.com/groombook/site
- **Last Updated:** 2026-05-12
- **URL:** https://demo.groombook.dev (demo)
- **Repository:** https://git.farh.net/groombook/groombook.dev
- **Last Updated:** 2026-05-26
---
@@ -83,7 +83,7 @@ Verify homepage copy aligns with Path C strategy (solo/small operator focus) wit
### TC-2.1: CTA Buttons
| Step | Action | Expected Result |
|------|--------|-----------------|
| 1 | Click "Try the Demo" button | Navigates to https://groombook.farh.net |
| 1 | Click "Try the Demo" button | Navigates to https://demo.groombook.dev |
| 2 | Click "View on GitHub" button | Navigates to https://github.com/groombook/groombook |
### TC-2.2: Badge Display
@@ -91,6 +91,59 @@ Verify homepage copy aligns with Path C strategy (solo/small operator focus) wit
|------|--------|-----------------|
| 1 | Locate hero badge | Displays: "🎉 100% Open Source — AGPL-3.0 License" |
### TC-2.3: Mobile Groomers "Try the Live Demo" CTA
| Step | Action | Expected Result |
|------|--------|-----------------|
| 1 | Navigate to mobile-groomers.html | Page loads without errors |
| 2 | Locate "Try the Live Demo" button | Button is visible with correct styling (green background) |
| 3 | Click "Try the Live Demo" button | Navigates to https://demo.groombook.dev |
---
## 3. Self-Booking CTA (GRO-1791)
### Purpose
Verify "Book an Appointment" is the primary CTA in the hero section, "Book Now" appears in navigation, and all CTAs are present and mobile-responsive.
### Pre-Conditions
- Homepage loads successfully
- User is not logged in
### Test Cases
#### TC-3.1: Hero CTA - Book an Appointment
| Step | Action | Expected Result |
|------|--------|-----------------|
| 1 | Navigate to homepage | Page loads without errors |
| 2 | Locate hero CTA buttons | "Book an Appointment →" is the first button in the hero CTA group |
| 3 | Click "Book an Appointment →" button | Navigates to https://groombook.dev/admin/book (the 4-step booking wizard) |
#### TC-3.2: Hero CTA - All Buttons Present
| Step | Action | Expected Result |
|------|--------|-----------------|
| 1 | Locate hero CTA buttons | All 4 buttons present: "Book an Appointment", "Try the Demo", "View on GitHub", "Get Started" |
| 2 | Verify button order | "Book an Appointment" is first |
#### TC-3.3: Mobile Responsiveness - Hero CTA (375px)
| Step | Action | Expected Result |
|------|--------|-----------------|
| 1 | Resize browser to 375px width | Page is responsive |
| 2 | Locate hero CTA buttons | "Book an Appointment" button is visible and properly sized |
| 3 | Verify flex-wrap | CTA buttons wrap gracefully on small screens |
#### TC-3.4: Footer Navigation - Book Now
| Step | Action | Expected Result |
|------|--------|-----------------|
| 1 | Scroll to footer | "Book Now" appears in footer navigation links |
| 2 | Click "Book Now" link | Navigates to https://groombook.dev/admin/book |
#### TC-3.5: Getting Started Page - Booking CTA
| Step | Action | Expected Result |
|------|--------|-----------------|
| 1 | Navigate to getting-started page | Page loads |
| 2 | Locate "Book an Appointment" link | "Book an Appointment →" link present in Quick Links section |
| 3 | Click "Book an Appointment →" link | Navigates to https://groombook.dev/admin/book |
---
## Pass/Fail Criteria
@@ -105,3 +158,4 @@ Verify homepage copy aligns with Path C strategy (solo/small operator focus) wit
- UAT should be performed on both desktop and mobile viewports
- Check browser console for JavaScript errors during test execution
- Verify all links are functional and lead to expected destinations
- Mobile viewport test (TC-3.3) must be executed at exactly 375px width per acceptance criteria
+1
View File
@@ -109,6 +109,7 @@
<h2>Quick Links</h2>
<ul>
<li><a href="https://groombook.dev/admin/book">Book an Appointment →</a></li>
<li><a href="https://github.com/groombook/groombook">GitHub Repository</a></li>
<li><a href="https://github.com/groombook/groombook/issues">Report an Issue</a></li>
<li><a href="https://discord.gg/groombook">Join Our Discord</a></li>
+12 -2
View File
@@ -99,7 +99,7 @@
<p class="tagline">Stop missing client calls. Book 24/7, groom all day.</p>
<p>Built for solo groomers and small teams who want to own their schedule and their data. Clients book themselves 24/7. You groom. Automated reminders, detailed pet profiles, and mobile-first tools mean more time grooming, less time on admin.</p>
<div class="cta-buttons">
<a href="https://groombook.farh.net" class="btn-demo">Try the Demo →</a>
<a href="https://demo.groombook.dev" class="btn-demo">Try the Demo →</a>
<a href="https://github.com/groombook/groombook" class="btn-primary">View on GitHub</a>
<a href="getting-started/" class="btn-secondary">Get Started</a>
</div>
@@ -210,7 +210,7 @@
<div style="text-align: center;">
<p style="color: #666; margin-bottom: 25px;">Ready to try it? Choose your path:</p>
<a href="https://groombook.farh.net" class="btn-demo" style="display: inline-block; margin-right: 15px;">Launch Live Demo →</a>
<a href="https://demo.groombook.dev" class="btn-demo" style="display: inline-block; margin-right: 15px;">Launch Live Demo →</a>
<a href="getting-started/" class="btn-secondary" style="display: inline-block;">Deploy Locally</a>
</div>
</div>
@@ -318,6 +318,7 @@
<section class="blog-preview">
<div class="container">
<h2>From the Blog</h2>
<p class="section-subtitle">Guides and insights for solo groomers and small teams.</p>
<div class="blog-grid">
<div class="blog-card">
<h3><a href="blog/launch.html">Introducing GroomBook</a></h3>
@@ -331,6 +332,15 @@
<p>An honest look at the pet grooming software landscape—and why we decided to build something specifically for independent groomers.</p>
<a href="blog/why-we-built.html">Read more →</a>
</div>
<div class="blog-card">
<h3><a href="blog/pet-health-records.html">The Groomer's Guide to Pet Health Records</a></h3>
<p class="blog-date">April 2026</p>
<p>What pet health records should you keep, and how to store them safely. Build detailed profiles that help you charge premium prices and provide better grooming.</p>
<a href="blog/pet-health-records.html">Read more →</a>
</div>
</div>
<div style="text-align: center; margin-top: 30px;">
<a href="blog/launch.html" style="color: #4CAF50; font-weight: 600; font-size: 1.05rem;">View all blog posts →</a>
</div>
</div>
</section>
+29 -33
View File
@@ -3,8 +3,8 @@
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Groom Book for Mobile Groomers</title>
<meta name="description" content="The grooming salon that comes to you — now with software that keeps up. Offline-capable PWA for mobile pet groomers.">
<title>GroomBook for Mobile Groomers — Offline-First Scheduling Software</title>
<meta name="description" content="Stop missing calls and manage your schedule on the road. GroomBook works offline on your phone, syncs to your server, and is built for mobile groomers in vans, garages, and basements.">
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; line-height: 1.7; color: #333; max-width: 700px; margin: 0 auto; padding: 20px; }
@@ -32,8 +32,8 @@
</head>
<body>
<header>
<h1>Groom Book Goes Mobile</h1>
<p>The same powerful grooming CRM &mdash; appointment scheduling, client records, POS, reminders &mdash; on your phone, in your van, in backyards and driveways across town.</p>
<h1>GroomBook for Mobile Groomers</h1>
<p>Stop missing client calls while you're on the road. 24/7 self-booking, offline-first app, and detailed pet profiles—all designed for mobile groomers who own their van, garage, or basement setup.</p>
</header>
<a href="./" class="back-link">&larr; Back to Home</a>
@@ -42,18 +42,13 @@
<p><strong>Works offline. Syncs when you're back in range.</strong></p>
</div>
<h2>The Mobile Groomer Problem</h2>
<h2>The Mobile Groomer Problem: You're Missing Revenue</h2>
<p>You're not just a groomer. You're a receptionist, scheduler, record-keeper, and accountant &mdash; all while working out of a van.</p>
<p>Stop missing client calls while you're on the road. Most grooming software requires WiFi, a fixed location, and desk time. You have none of those.</p>
<p>Most grooming software assumes you have:</p>
<ul>
<li>Reliable WiFi</li>
<li>A fixed location</li>
<li>Time to sit at a desk between appointments</li>
</ul>
<p>You're juggling appointments, payments, and customer records from your van. Your phone rings. A client wants to book. You're three miles from cell service. You text back—when you have signal. They book with someone else instead.</p>
<p>You have none of those things.</p>
<p>You're losing 24 hours a week to this chaos. That's $12,00016,000 in annual revenue.</p>
<h3>What you're actually dealing with:</h3>
<ul>
@@ -64,19 +59,19 @@
<li>End-of-day paperwork that takes longer than the grooming</li>
</ul>
<h2>How Groom Book Works for Mobile Groomers</h2>
<h2>How GroomBook Works for Mobile Groomers</h2>
<h3>1. Install the PWA</h3>
<p>Groom Book is a Progressive Web App. Open it in your phone's browser, tap "Add to Home Screen." It looks and feels like a native app &mdash; no app store required.</p>
<h3>1. Clients book 24/7 — you don't miss a call</h3>
<p>Your client portal is live 24/7. Clients book at 11 PM from home. You don't interrupt your work to answer the phone. Revenue doesn't wait for you to stop grooming.</p>
<h3>2. Take appointments offline</h3>
<p>The full appointment calendar, client profiles, and pet records are cached on your device. Pull up Mrs. Johnson's doodle's last grooming notes while you're three miles from the nearest cell tower.</p>
<h3>2. Works completely offline</h3>
<p>GroomBook is a Progressive Web App. Install it on your phone, and it works with or without signal. Pull up Mrs. Johnson's doodle's notes, health history, and preferred cut—even when you're three miles from the nearest cell tower.</p>
<h3>3. Check in clients on-site</h3>
<p>Record services performed, add notes, process payment &mdash; all while the dog is still on the table.</p>
<h3>3. Check in and charge on-site</h3>
<p>Record services, add notes, process payment via card reader—all while the dog is still on your table. No "invoice later" workflows. No spreadsheets.</p>
<h3>4. Sync when you're back in range</h3>
<p>When you hit WiFi or cell service again, everything syncs to your server automatically. No manual uploads. No "export and import" workflows.</p>
<h3>4. Everything syncs automatically</h3>
<p>When you're back in range, all changes sync to your server instantly. All your data lives on servers you control, not a third-party SaaS.</p>
<h2>Features Mobile Groomers Actually Need</h2>
@@ -115,13 +110,13 @@
</tbody>
</table>
<h2>Pricing</h2>
<h2>Pricing & Data Ownership</h2>
<p><strong>Groom Book: Free.</strong> No monthly fee. No per-groomer fee. No cut of your bookings.</p>
<p><strong>GroomBook: Free.</strong> No monthly fee. No per-groomer fee. No cut of your bookings.</p>
<p>Host it on a $10/month VPS, an old laptop in your van, or a Raspberry Pi. Your server, your rules.</p>
<p>You own GroomBook, fully. Open source, AGPL-3.0 license. Host it on a $10/month VPS, your old laptop in the van, or a Raspberry Pi at home. Your server, your data, your rules.</p>
<p>Compare that to mobile-friendly SaaS alternatives at $150&ndash;300/month &mdash; and they still don't work offline.</p>
<p>SaaS alternatives cost $150&ndash;300/month, lock you in, still don't work offline, and disappear if the company shuts down. GroomBook doesn't disappear. You own it.</p>
<h2>FAQ</h2>
@@ -130,24 +125,25 @@
<dd>Yes. The PWA caches your data locally. You can view appointments, client records, and take notes offline. Changes sync when you reconnect.</dd>
<dt>What if I lose my phone?</dt>
<dd>Your data is on your server, not your phone. Install Groom Book on a new device, log in, and everything is there.</dd>
<dd>Your data is on your server, not your phone. Install GroomBook on a new device, log in, and everything is there.</dd>
<dt>How do I accept credit cards?</dt>
<dd>Groom Book includes a built-in POS. Connect a card reader (Stripe Terminal or similar) or record cash/check payments manually.</dd>
<dd>GroomBook includes a built-in POS. Connect a card reader (Stripe Terminal or similar) or record cash/check payments manually.</dd>
<dt>Can I use this alongside my existing software?</dt>
<dd>Yes &mdash; many groomers start with Groom Book for new client intake while keeping existing systems for historical data during a transition period.</dd>
<dd>Yes &mdash; many groomers start with GroomBook for new client intake while keeping existing systems for historical data during a transition period.</dd>
<dt>Do I need technical skills to set it up?</dt>
<dd>Basic Docker knowledge is enough. <code>docker compose up</code> gets you running in 5 minutes. Full Kubernetes setup for advanced users.</dd>
</dl>
<div class="cta-section">
<h2>Ready to cut your software costs?</h2>
<p>Groom Book is free, open source, and runs on your own server.</p>
<h2>Stop Missing Revenue. Start 24/7 Booking.</h2>
<p>GroomBook is free, open source, works offline, and you own it completely. No vendor lock-in. No surprise bills.</p>
<p style="margin-top: 20px;">
<a href="https://github.com/groombook/groombook" style="display: inline-block; padding: 12px 24px; background: #4CAF50; color: #fff; border-radius: 6px; text-decoration: none; font-weight: 600;">View on GitHub</a>
<a href="getting-started/" style="display: inline-block; padding: 12px 24px; background: #333; color: #fff; border-radius: 6px; text-decoration: none; font-weight: 600; margin-left: 10px;">Getting Started Guide</a>
<a href="https://demo.groombook.dev" style="display: inline-block; padding: 12px 24px; background: #4CAF50; color: #fff; border-radius: 6px; text-decoration: none; font-weight: 600;">Try the Live Demo</a>
<a href="/getting-started/" style="display: inline-block; padding: 12px 24px; background: #333; color: #fff; border-radius: 6px; text-decoration: none; font-weight: 600; margin-left: 10px;">Deploy Locally</a>
<a href="https://github.com/groombook/groombook" style="display: inline-block; padding: 12px 24px; background: #666; color: #fff; border-radius: 6px; text-decoration: none; font-weight: 600; margin-left: 10px;">View on GitHub</a>
</p>
</div>