Getting Started
Everything you need to know about your TV Dashboard, marketing tools, and account management.
Getting started
Setting up your store takes just a few minutes.
The first person to register a store becomes the owner. Owners can invite team members, manage billing, and update store settings. Everyone else joins as staff.
TV Dashboard
A full-screen rotating slideshow designed to run on a TV in your store.
After signing in, your home page becomes the TV Dashboard. It cycles through slides showing your store's key data at a glance. Built-in slides include:
- Goals — daily and monthly targets vs. actuals
- Performance (KPIs) — revenue, average ticket, grooming counts, and more
- Pulse — traffic-light health orbs for revenue, appointments, and rebook rate
- 30-day Trends — revenue chart and day-of-week sparklines
- Appointments — today's schedule pulled from FranPOS
- Rankings — groomer performance leaderboard
- Google Reviews — Google 5-star review counts and team shout-outs
- Team Notices — announcements posted by the owner in Admin
- Custom slides — any slides you build in the Custom Slide Builder will rotate in alongside the built-in ones
Per-slide zoom
Some slides look best at a different zoom level on your TV. Hover over a slide and the + / − zoom controls appear in the corner. Adjusting zoom only affects the current slide, and the setting is saved on that device — the next time you open the TV Dashboard on the same device, each slide remembers its own zoom level.
Customizing the slideshow
Click the gear icon in the top-right corner of the TV Dashboard to open slideshow settings. From there you can:
- Turn individual slides on or off for your personal view
- Reorder slides
Staff use the gear menu to personalize their own view. Owners control the master list of slides and the rotation speed from Admin → Dashboard / TV Slides (see below).
Admin panel
Your control center for store data, team, and settings.
Open Admin from the navigation bar or go to /admin. Here's what you can do:
- Store & Billing — view your current subscription (read-only), open Manage subscription and billing to choose products and pay via Stripe, and update your FranPOS connection (location ID, API key). Owners also set store-wide operational settings here, including Grooming Tables (table count and daily revenue goal per table — see the Grooming tables settings section) and Google Reviews Leaderboard options (toggle the bonus column and set the bonus amount per 5-star review).
- Dashboard / TV Access Link — generate or revoke a shareable link that auto-logs a TV into the dashboard (handy for store-floor TVs you don't want to sign in manually).
- Dashboard / TV Slides — a unified management page listing every slide that can appear on the TV (built-in and every custom slide you've built). Owners can:
- Toggle any slide on or off for the whole store
- Reorder slides with the up / down arrows
- Duplicate a custom slide to use it as a starting point for a new one
- Edit a custom slide (jumps straight into the Custom Slide Builder)
- Delete a custom slide
- Set the global slide rotation interval (seconds per slide)
- Custom Slide Builder — click Create Custom Slide on the TV Slides page (or open the Custom Slide Builder accordion) to build your own slides by dropping widgets onto a canvas. See the Custom Slide Builder section below.
- Notices — post announcements that appear on the Team Notices slide. Great for daily reminders, shout-outs, or policy updates.
- Data Uploads — upload CSV or Excel files exported from FranPOS (Sales, Appointment, Monthly-Sales, and Metrics reports) to import KPI and appointment history. The onboarding YTD import uses this same pipeline.
- Sync from FranPOS — pull the latest data directly from the FranPOS API using your store's credentials. No file upload needed.
- KPI Targets — set monthly and per-day-of-week targets for revenue, grooming count, average ticket, and other metrics. These targets power the Goals slide, Pulse orbs, and the Today vs Target widget.
- Goals — define daily or monthly goals that show up on the Goals slide and that you can pin individually on custom slides via the Goal Progress widget.
- Employees — manage team member names so that Google Review mentions can be matched to the right person.
- Team Access — invite new staff members by email. Only owners can add or remove team members.
Custom Slide Builder
Design your own TV slides by dragging widgets onto a canvas.
The Custom Slide Builder lives at /admin/slide-builder. You can open it from Admin → Dashboard / TV Slides → Create Custom Slide, or by clicking Edit on an existing custom slide.
Tiling drag-and-drop layout
The canvas uses a tiling layout — when you drop a widget onto an existing one, the space splits instead of overlapping. Drop near an edge of a widget and a colored preview appears showing how the split will land:
- Drop on the left or right edge to split the target side-by-side
- Drop on the top or bottom edge to stack the widgets vertically
- Drop on an empty canvas and the widget fills the whole slide
Drag the thin dividers between widgets to resize the split ratio. Drag any placed widget by its body to move it into a different split; click the × in the corner to remove it. Click a widget once to select it and open its properties panel on the right.
Three-column layout
- Left column — Widget palette. Every available widget grouped by category. This column scrolls on its own when the list is long, so the canvas and properties panel always stay in view.
- Center — Slide canvas. The 16:9 preview of your slide. Click Preview in the top bar to see the slide rendered live with real data before saving.
- Right column — Widget properties. Configuration for the currently-selected widget. Every widget exposes a schema-driven properties panel, so you get only the options that apply to the widget you picked.
Naming and saving
Widget catalog
Every widget you can drop onto a custom slide, grouped by category.
🎯 Goals
- Goals & Progress — grid of live progress bars for the goals you pick. Configurable: which goals to show, display style (progress bar / traffic light / gauge).
- Single Goal Progress — focus on one goal with a selectable visualization.
📊 KPIs
- KPI Performance Cards — today's big KPI cards with pacing targets.
- Rebook Rate Bar — compact strip showing today's rebook percentage.
- MTD Summary — month-to-date revenue, appointments, and new customers.
🚦 Pulse
- Floor Pulse — traffic-light orbs for the pulses you care about (revenue / appointments / rebook rate).
📈 Trends
- 30-Day Revenue Chart — revenue over time with forecast; hover any point for the day, date, and amount.
- Day-of-Week Trends — per-day-of-week sparklines.
- 7-Day Forecasted Revenue — next seven days' forecast.
- Revenue by Day of Week — 30-day average revenue broken down by day of the week (bar / pie / sparkline).
📅 Calendar
- Appointment Schedule — today's live schedule from FranPOS, with options to hide cancelled or blocked appointments.
- Next Appointment — a compact card for the next upcoming appointment. Toggle whether to show groomer, pet, and service.
- Appointment Status Mix — pie / bar chart of appointment statuses for today or yesterday.
🏅 Rankings
- Groomer Rankings (MTD) — the classic full MTD rankings slide.
- Rankings (Custom) — new. Rank groomers by any metric (revenue, appointments, rebooks, rebook %, tips, first-timers, pre-booked %, hours) over any period (today / week / MTD / YTD). Choose leaderboard, bar chart, or pie chart. Some metrics (tips, first-timers, pre-booked %, hours) are MTD-only — the picker tells you so when a non-MTD period is selected.
- Tips Leaderboard (MTD) — dedicated tips ranking.
- First-Timer Tracker (MTD) — total new clients this month or a per-groomer breakdown.
⭐ Reviews
- Google Reviews Board — team leaderboard for Google 5-star mentions. Honors your store-level bonus display and bonus amount per review settings.
- Recent Shout-outs — scrolling snippets of recent 5-star reviews.
- Review Mentions Counter — count of 5-star mentions over a configurable period, with an optional target.
📣 Notices
- Team Notices — the full notices board, with options to show only pinned or cap the count.
- Single Pinned Notice — highlight just the latest pinned notice.
⚙️ Operations
- Walk-in Queue — live walk-in queue depth with traffic-light thresholds.
- Revenue per Grooming Table — new. Total revenue for the selected period divided by your grooming-table count, compared to your daily goal per table. See the Grooming tables settings section for the one-time setup.
- Today vs Target — compact card comparing any KPI against its stored daily target.
🧩 Custom Metrics (generic)
These three widgets can pull any KPI from the system and display it however you want, so you're not limited to the bespoke widgets above.
- Any Metric (Single Value) — any KPI over any period (today / week / MTD / YTD), shown as a number, traffic light, gauge, or progress bar with an optional target.
- Any Metric (Over Time) — any KPI plotted as a time series (line, bar, or sparkline) for the period you pick.
- Metric Breakdown — split any metric by groomer, day of week, or service, rendered as a pie chart, bar chart, or leaderboard.
Visualizations & thresholds
Every widget can be rendered in multiple ways — pick the one that fits your TV best.
When a widget is selected in the Custom Slide Builder, the Display dropdown on the properties panel shows which visualizations it supports. Options include:
- Big Number — single giant number, optionally with a target beneath it
- Traffic Light — green / yellow / red based on configurable thresholds
- Gauge — semicircular gauge with threshold bands
- Progress Bar — a bar filling toward a target
- Bar Chart — vertical bars across a series or breakdown
- Line Chart — time-series line
- Pie Chart — proportional slices for breakdowns
- Sparkline — compact inline time-series
- Leaderboard — ranked list with values
- Default — the widget's original hand-crafted rendering (used for built-in slides on your dashboard)
Period selector
Widgets that support time-range aggregation (Rankings, Grooming Tables, Review Mentions Counter, Any Metric, etc.) also expose a Period dropdown — Today, This Week, Month-to-Date, or Year-to-Date. Historical data imported via onboarding or Data Uploads powers the longer ranges.
Traffic-light & gauge thresholds
Widgets that use a traffic light or gauge (Walk-in Queue, Pulse orbs, and any custom KPI widget with those visualizations) include a threshold editor in the properties panel. Set your green and yellow cutoffs and the direction — Higher is better (revenue, appointments) or Lower is better (walk-in queue depth). Sensible defaults are provided per metric.
MTD-only metrics
Some metrics (tips, first-timers, pre-booked %, and hours) are only reliably available for the current month, because they come from the FranPOS Metrics Report rather than per-appointment data. If you pick one of these and then switch the period to YTD or Weekly, the picker shows a small "select MTD period" hint and greys out the option — switch back to Month-to-Date to enable it again.
Grooming tables settings
One-time setup for the Revenue per Grooming Table widget.
Open Admin → Store & Billing and scroll to the Grooming Tables block (only visible to the store owner). Fill in:
- Number of tables — how many grooming stations your store operates.
- Daily revenue goal per table — your target revenue per table per day (for example $300).
Click Save grooming settings. The Revenue per Grooming Table widget uses these values to compute period revenue ÷ table count and compare it to daily goal × days in the selected period. Change the period on the widget to see daily, weekly, monthly, or yearly performance.
Marketing Factory
AI-powered image and caption generator for your social media campaigns.
The Marketing Factory creates professional Instagram-ready images and captions using AI. You provide the creative direction and the AI does the rest.
How to use it
After generating
- Hover over any image and click Download to save it
- Click Copy next to a caption to copy it to your clipboard
- Use the Share buttons to get a shareable link
- All batches are saved to Your Library so you can come back to them later
An active subscription or trial is required to generate content.
Campaign Builder
Build and send email campaigns to your customers.
The Campaign Builder lets you design professional emails, upload a list of recipients, and send your campaign — all from one place.
Three-step process
{{name}} to personalize each recipient's email.Business Prospector
Find potential business partners and customers near your store.
The Business Prospector helps you discover nearby businesses that could be great referral partners or customers — like dog daycares, veterinary clinics, pet-friendly apartments, and more.
How to use it
Past searches are saved so you can reload and filter results anytime. Trial accounts can view a limited number of enriched results per search.
Team access
Invite your team and control who has access.
Store owners can invite team members from Admin → Team Access. Here's how it works:
- Enter a team member's email address to send them an invitation
- They'll receive login credentials and can sign in at /login
- Staff can view the TV Dashboard and Admin features relevant to their role
- Owners have full access: team management, billing, FranPOS settings, and all store configuration
Billing & subscription
Manage your subscription and payment details.
New stores start with a free trial (typically 14 days). During the trial you have full access to the TV Dashboard and all features.
After your trial ends:
- The TV Dashboard will show a prompt to subscribe
- You can still access Admin to set up your subscription
Managing your subscription
In Admin → Store & Billing, use Manage subscription and billing to open /admin/subscription. There you see products and pricing from Stripe, complete checkout for a new subscription, or (once subscribed) open the Stripe Customer Portal to change plans, payment method, and cancellation. Your administrator must enable the same prices in Stripe under Settings → Billing → Customer portal.
Only the store owner can manage billing.
User Admin (master admin only)
A super-admin panel for managing all stores, users, and marketing entitlements across the platform.
The User Admin panel is only accessible to the designated master administrator. It appears as a User admin button in the Admin header and is located at /admin/user-admin. All other users are redirected away from this page.
Marketing tab
Manages access for users who sign in via Google to use the Marketing Factory and related tools.
- Add a user — enter a Google sign-in email to create or reset their trial window
- Trial end date — set or extend when a user's trial expires
- Paid access — toggle unlimited access to all marketing tools
- Factory generations used — view or manually adjust how many AI content batches a user has consumed
- Admin notice — send a message that appears to the user inside the Marketing hub
Stores / trial tab
Lists every registered store with its owner, subscription status, and trial end date.
- Edit a store's trial end date (ISO date/time format)
- Override the store's subscription status — options include
trial,active,trialing,past_due, andcanceled
Dashboard users tab
Manage the Firebase-authenticated users who sign in to the TV Dashboard and Admin panel.
- Invite a user — create a new dashboard account by entering an email, name, store, and role. A temporary password and optional reset link are generated on creation.
- Password reset link — enter any user's email to generate a Firebase password reset link you can copy and send to them directly.
- Send a message — click Message next to any user to compose an admin message that will be shown to them inside the dashboard.
Troubleshooting
I didn't receive my verification email
Check your spam folder. If it's not there, try signing in at /login — you'll see an option to resend the verification email.
My TV Dashboard says "Billing blocked"
Your trial has ended or your subscription payment failed. Go to Admin → Store & Billing and open Manage subscription and billing.
The dashboard isn't showing any data
Make sure your FranPOS connection is set up correctly in Admin → Store & Billing → Update FranPOS connection. Then click Sync from FranPOS to pull your latest data.
Marketing Factory says "Subscription required"
You need an active marketing subscription or trial to generate content. Contact your administrator to get access.
I can't invite team members
Only the store owner can invite new team members. If you're staff, ask your store owner to add people from Admin → Team Access.
My custom slide isn't showing on the TV
Open Admin → Dashboard / TV Slides and confirm the toggle next to your custom slide is on. If it's on but you still don't see it, open the TV Dashboard and click the gear icon — staff-level slide preferences override the master list for that device's signed-in user.
A metric is greyed out in the widget properties panel
That metric is MTD-only (tips, first-timers, pre-booked %, or hours) and you have the widget set to a non-MTD period. Change the Period back to Month to Date and the option will become selectable.
Revenue per Grooming Table says "not configured"
The widget needs the store-wide table count and daily goal. Open Admin → Store & Billing → Grooming Tables (owner only) and set both values — see the Grooming tables settings section.
YTD or weekly ranges on a widget show empty
Longer time ranges rely on historical data being present in Firestore. Use Admin → Data Uploads to import the FranPOS Sales and Appointment reports for the missing dates, or run Sync from FranPOS if your live API credentials are configured. Onboarding handles YTD for new tenants automatically.