- AI Retention Digest on the Dashboard — once a week, a Claude-drafted briefing appears on your dashboard with a short list of members at risk of dropping off, plus a suggested action for each (call, message, pause-conversation). Acting on it is one click.
- Lead Cadence Engine — the AMAA Sales Cycle is now wired into the leads pipeline. Each lead automatically gets timed follow-up prompts (Awareness → Meet → Assess → Activate). You can override per-lead, but the default cadence runs in the background so prospects don't fall through cracks.
- Training Schedules with iCal — members can now subscribe to a personal calendar feed of their booked classes from their portal Profile page. Encourage them — it cuts no-shows.
- Location Calendar Closures — under Settings → Closures, you can mark dojo holiday and blackout dates. Sessions on those dates are auto-cancelled and booked members are notified. Use this for Christmas, hurricanes, instructor travel, etc.
- Dojo Rent & Ad-Hoc Invoice Line Items — the monthly financial report now supports custom line items (rent, utilities, one-off fees). Add them once per month before exporting; they roll into your net-revenue total.
Logging In
Access your dojo management system
- Navigate to your DMS URL (e.g.,
dms.purpledragondojo.com) - Enter your email address and password
- You'll be redirected to your Dashboard
/login page is for staff only. Members use the Member Portal at /portal/login.Onboarding Wizard
Guided first-time setup for your dojo
When you first log in, you'll see a setup wizard at the top of your Dashboard. It checks what's configured and guides you through the remaining steps:
- Verify Location Details â Confirm your dojo name, contact email, phone, timezone, and currency
- Set Up Payment Processing â Choose your payment processor (Authorize.net, Stripe, PayPal, Square, WiPay, or Manual) and enter credentials
- Configure Programs â Set up your martial arts and fitness programs
- Invite Staff â Add at least one instructor or admin beyond yourself
- Set Up Subscription Payment â If your dojo is part of an organization, enter your payment info for the chargeback
Your Dashboard
At-a-glance view of your dojo
Your dashboard shows key metrics and actionable items:
New: Expiring Memberships Widget â If any memberships are expiring in the next 30 days, an alert widget appears showing:
- Member name and plan
- Color-coded urgency: 7d left PAST DUE
- Auto-renew status (whether it will renew automatically or expire)
Managing Members
Enroll, track, and manage your students
- Go to Members in the sidebar
- Click + Add Member to enroll a new student
- Fill in their details: name, email, phone, date of birth
- Assign a membership plan and set the start date
- If your dojo requires a waiver, the inline waiver step appears in the same flow — the prospect signs on screen with a touch signature, no separate paperwork.
- Click Save — they'll appear in your member list
Use the status tabs to filter: Active, Prospect, Paused, Cancelled, Expired, Inactive.
Member Detail Page
The redesigned single-page member profile
Click any member to open their detail page. The layout was redesigned around a hero banner and tabbed content, replacing the old sidebar drill-down.
- Hero banner — photo, name, current belt, status pill, plan summary, and an action bar with Edit, Call, Quick Message, Promote Rank, and Documents, plus secondary actions Portal Preview, Portal Invite, and Promote to Staff.
- Tabs — Overview, Billing, Attendance, Ranks, Documents, Notes & Activity, Family, Communication History.
- Notes & Activity — auto-logs every system event (status changes, payments, promotions, message sends) alongside your manual notes. No more "what happened to this member" detective work.
- Communication History — every email and SMS sent to this member with delivery status, threaded with inbound replies. Each entry has a Reply button that opens an inline reply panel (see Section 14).
- Billing tab — full ledger, open invoices, payment schedule, transaction history, refunds, Charge Card on File, and Collect Payment (one-off amount via any method).
Merging Duplicate Members
Family-aware duplicate detection and safe merging
If the same student gets entered twice, the duplicate detector helps you find and merge them safely. Navigate to Members → Duplicates.
The matching algorithm now understands families — siblings sharing a parent's email or phone will not be flagged as duplicates of each other.
- Family-linked members are excluded — if two members share a family link, they're known relatives and won't appear in the duplicate list at all.
- Date-of-birth conflicts are excluded — a child and a parent who share an email but have different birthdays are never flagged.
- High-confidence matches require corroboration — same email plus same date of birth, or same name plus same DOB. These are the safe ones to merge.
- Weak single-signal matches — "shared email only" or "shared phone only" are flagged with a "likely family — review" reason and a low score, so you can dismiss or family-link them instead.
Click any pair to see a side-by-side preview of every record that will be merged: attendance, plans, ranks, payments, invoices, notes, documents. Confirm to merge.
Membership Renewals
Auto-renewal, notifications, and expiring memberships
Each membership plan has a renewal type:
| Type | Behavior | Example |
|---|---|---|
| Evergreen | Charges monthly, no end date, runs until cancelled | Monthly Karate â $99/mo |
| Fixed Auto-Renew | Contract term, then auto-converts to month-to-month | 12-Month at $89 â converts to $109/mo |
| Fixed Expires | Ends at term, member must re-enroll | Summer Camp 6-Week |
| Prepaid | Session block that depletes | 10-Class Pack |
Automatic Notifications are sent at:
- 30 days before expiry â email to member
- 14 days before â email + SMS to member
- 7 days before â email + SMS to member, dashboard alert to staff
- Day of â renewal receipt or expiry notice
- Grace period â member notified of remaining days to renew
Checking In & Roll Call
Kiosk, manual check-in, and instructor-led roll call
There are now three ways to record attendance, depending on your dojo's flow:
- Kiosk Mode — Students enter their check-in code on the kiosk tablet. Staff access kiosk with a PIN. Works fully offline (queues to IndexedDB and syncs when reconnected).
- Manual Check-in — From the member's profile or the class roster, click the check-in button.
- Roll Call New — From Members → Check-ins (
/attendance), open a class and tap Roll Call. The expected roster appears as a grid of student photos. Tap each student to mark present, and tap a second time to mark absent. Faster than reading names off a clipboard.
Student Roll
Single-page roster organized by program and rank
The old Roster section has been redesigned and renamed Student Roll. Find it under Members → Student Roll at /rosters.
Instead of drilling into a separate page per program, Student Roll is a single accordion view: every program is listed, expand any one to see all enrolled students grouped by belt rank. No more navigating back and forth.
- Search — type any name to filter across all programs at once.
- Expand all / collapse all — toggle every program section in one click.
- Per-student row — photo, name, current belt, last check-in, and a quick-action menu (check in, message, view profile).
- Print-friendly — the page prints as a clean roster sheet, one program per page, suitable for a clipboard backup.
Class Schedule
Sessions, bookings, and assessments
- Go to Schedule in the sidebar
- Click + New Session to create a class or event
- Choose the session type: Regular Assessment Private Seminar
- Set the day, time, instructor, and recurrence
- Enable Bookable to allow online booking
Use the three view options: Week Grid, Day Timeline, and List View.
Belt Ranks & Promotions
Track student progression
- Go to Members â Belt Progress
- Select a member and click Promote
- Choose the new rank, set the date, and add optional notes
- The promotion is recorded in their rank history
Outreach Hub
Leads, campaigns, automations, and delivery health in one workspace
Leads and outbound communications are grouped under a single Outreach top-level sidebar item (/leads). The inbound Messages inbox is a separate top-level sidebar item at /communications/inbox — it lives next to Outreach, not inside it, so unread replies are one click away no matter which page you're on.
| Sidebar Location | What You Do Here |
|---|---|
Messages (top-level, /communications/inbox) new | Inbound replies from members with an unread badge in the sidebar. See Section 13. |
Outreach (top-level, /leads) | Kanban pipeline of prospects: New → Contacted → Trial → Converted. Click Convert to Member when they sign up. |
Outreach → Journeys (/leads/forms) | Build and embed web lead-capture forms and onboarding flows; submissions land straight in the Outreach pipeline. |
Outreach → Campaigns (/communications) | Bulk email/SMS/WhatsApp/push to member or lead segments. Schedule for later, preview, and track delivery. |
Outreach → Referrals (/referrals) | Track member-to-member referrals and auto-credit referrers when their referral converts. |
Outreach → Automations (/automations) | Trigger-based message flows: welcome series, birthday emails, re-engagement after absence, post-trial follow-up. |
Outreach → Delivery Health (/communications/analytics) | Open rates, click rates, bounces, unsubscribes, SMS carrier feedback. The system flags providers that are degrading. |
Inbound Inbox
See and reply to messages members send back to you
When members reply to an SMS or email you sent from the DMS, the response now lands in a unified Inbox at /communications/inbox — you no longer have to log into your phone or email separately.
- Threaded conversations — replies are grouped per member, with the most recent activity at the top.
- Unread red dot — the sidebar shows a small red badge when there are unread inbound messages, so you don't miss anything.
- Reply in-line — tap any thread, type your response, and send. The reply uses the same channel (SMS-to-SMS, email-to-email).
- Linked to member profile — click the member's name in any thread to jump straight to their full profile. The conversation also appears in their Communication History tab.
Communication History & Reply
Reply to any past message from inside the member profile
Open any member's profile and scroll to the Communication History panel (or click the dedicated tab). Every email and SMS sent to or from the member appears here in chronological order.
- Filter by channel — All / SMS / Email tabs at the top.
- Show more / less — long messages are truncated by default; expand to see the full body.
- Reply button new — every entry has a Reply button. Click it and an inline reply panel opens directly underneath.
- Channel toggle — the reply defaults to the same channel as the original (email replies stay email, SMS replies stay SMS), but you can switch.
- Subject auto-prefix — when replying to an email, the subject is pre-filled with
Re: <original subject>. - Auto-refresh — after sending, the history list updates immediately to show your reply at the top.
Billing & Invoices
Unified invoicing, payments, partial pay, and card-on-file
The billing system was overhauled into a single unified invoicing model. Every charge — recurring membership dues, one-off bookings, pro shop sales, signup fees — flows through invoices, so reconciliation and reporting are consistent.
Where to find things:
| Page | What's There |
|---|---|
Finance → Overview (/billing) | MRR, Revenue This Month (Programs vs Bookings), Outstanding Failures count, plus inline Outstanding Balances and Recent Transactions lists and the Monthly Financial Export card. |
Finance → Collections (/billing/collections) | Dedicated collections queue for overdue balances — retry failed charges, send reminders, or mark receipts manually. |
Finance → Transactions (/billing/transactions) | Every payment across the dojo with status (settled, pending, failed, refunded). Filter by member, method, or date range. |
Finance → Plans (/billing/plans) | Membership plan catalog — pricing, renewal types, contract terms, family discounts. |
Finance → Staff Payroll (/staff/payroll) | Per-instructor earnings calculated from sessions taught and configured pay rates. |
Invoices (/invoices, reachable from Finance links) | Every invoice — open, paid, overdue, voided. Filter by status, member, date range. |
Financial Report (/reports/financial) | Net revenue, charges, credits, and breakdown by source over any date range. Export CSV for any range. |
| Member profile → Billing tab | Per-member ledger, open invoices, payment schedule, transaction history, refunds, and card-on-file management. |
Failed payments don't live on a separate page — they surface as an Outstanding Balances list inline on Finance → Overview, each row with a Retry button.
What's new:
- Per-item tax — tax is calculated line by line, so multi-jurisdiction invoices are accurate. Set rates in Settings → Billing.
- Processing fees at charge time — gateway processing fees are recorded at the moment of charge, so your books match your gateway statement exactly.
- Partial payments — collect any amount toward an open invoice. The remaining balance stays open.
- Consolidated payment — for members on multiple plans, one charge can settle several invoices at once.
- Card-on-file for everything — members' saved cards now work for one-off charges (merchandise, late fees, deposits), not just recurring dues.
- Charge Card on File / Collect Payment from the member's Billing tab — charge the saved card in one click, or take a different payment method.
- Clickable payment schedule — every upcoming charge date in the schedule is a link. Click to invoice that period on demand (useful for early payments).
- Failed payment retries — automatic retries at 24h / 48h / 72h, then a $25 late fee and a flag for staff follow-up.
Refunds & Chargebacks
Issue refunds and respond to disputes
Open any successful payment receipt and click Issue Refund to refund the full amount or a partial amount.
- Full refund — refunds the entire transaction and updates the related invoice status to refunded.
- Partial refund — refund any amount up to the original total. The invoice stays partially paid.
- Audit trail — every refund is logged with the staff member who issued it, the reason, and the gateway response. Visible in the member's Notes & Activity tab.
- Bookkeeping — refunds appear as negative transactions in your accounting export and reduce the matching period's revenue automatically.
A note on the word "chargeback": in this system it refers to how your organization bills your location for the platform (see Section 18 — Subscription). It does not mean a payment-processor dispute. The DMS does not currently have a built-in workflow for responding to gateway disputes — if a member disputes a charge with their bank, you'll be notified by the processor directly (e.g. Authorize.net email) and respond through their portal.
Accounting Exports
QuickBooks, Xero, and monthly bookkeeper packages
Financial data exports as CSV files that import cleanly into QuickBooks, Xero, FreshBooks, or any accounting software. The export card lives on Finance → Overview (/billing), with a separate date-range summary at Finance → Financial Report (/reports/financial).
- Transaction Journal (CSV) — every ledger entry for the selected month. Paste directly into your general ledger.
- Revenue Summary (CSV) — category totals: revenue, tax, refunds, processing fees.
- Email to me — click to send both reports to your logged-in email address. Useful for forwarding straight to your bookkeeper.
- Financial Report export — on
/reports/financial, pick a custom date range and click Export CSV for a raw ledger pull.
/billing, pick last month, and hit Email to me — both reports land in your inbox in seconds.Subscription
Your dojo's platform subscription and chargeback
Go to Subscription in the sidebar to see your billing relationship:
If your dojo is part of an organization:
- You'll see your chargeback rate (flat, per-member, or custom) â this is set by your CEO
- A blue info box shows the organization's payment instructions (bank details)
- Enter your Payment Information â bank transfer details or card on file
- View your Invoice History â pending, paid, overdue, waived
If your dojo pays the platform directly:
- You'll see your platform subscription plan, amount, and renewal date
Pro Shop
Sell uniforms, equipment, and merchandise
- Go to Pro Shop in the sidebar
- Add products with name, price, inventory count, and optional image
- Process sales at the point-of-sale register
- Revenue from shop sales appears in Finance under the POS category
Settings
Configure your dojo â some settings inherited from your organization
Settings are organized into sections: General, Members, Memberships, Billing, Schedule, Communications, and Retention.
| Tier | What It Means | Examples |
|---|---|---|
| Enforced | Set by CEO, cannot change | Brand colors, app name |
| Overridable | CEO default, you can customize | Email provider, check-in rules, portal features |
| Local Only | Your location sets these | Tax rules, payment processor, timezone, kiosk PIN |
Staff Management
Add and manage your team
- Go to Settings â Staff
- Click + Add Staff â enter name, email, and role
- Choose role: Admin Program Director Instructor Front Desk
- Fine-tune permissions with the checkbox grid on the Permissions tab
- They'll receive a password-setup email automatically
Member Portal
What your members see when they log in
Members access their portal at /portal/login. The portal received a major expansion — members now have a self-service experience comparable to commercial gym apps.
| Portal Tab | What Members Can Do |
|---|---|
| Dashboard | Quick stats, next class, recent achievements, renewal status, unread message badge. |
| Schedule | Book / cancel / reschedule sessions. Respects week start day setting and capacity. |
| Attendance | Full check-in history with the option to leave feedback (1-5 stars + comment) on each attended class. |
| Messages new | Two-way messaging with staff. Replies land in the admin Inbox (Section 13). |
| Achievements new | Badges earned for milestones: first class, attendance streaks, classes completed, promotions, anniversaries. |
| Goals new | Set personal goals (attendance count, streaks, rank targets, custom). Progress is tracked automatically. |
| Training Log new | Personal journal of techniques learned, sparring notes, and self-reflection. |
| Events new | Upcoming seminars, gradings, tournaments, and special events. RSVP and pay online. |
| Announcements new | Dojo-wide announcements posted by staff. |
| Technique Library new | Video and document library of techniques organized by belt rank. |
| Rank | Current belt, rank history, time-in-rank, requirements for next promotion. |
| Billing | Payment history, downloadable receipts, manage saved cards, account balance. |
| Renewal Card | Active plans with renewal dates, urgency alerts, and auto-renew status. Opt out of auto-renew if the plan allows it. |
| Family | Linked family members, shared discounts, and the ability to switch between profiles for parents managing children. |
| Documents | Signed waivers, COPPA consents, contracts — everything they've signed in one place. |
| Member Card | Digital member card with QR check-in code. Add to Apple Wallet / Google Wallet. |
Mobile App (Android)
Native app wrapper for staff and members
The DMS now ships as an installable Android app via a Trusted Web Activity (TWA) wrapper. Members and staff install it from Google Play just like any other app.
- Same as the website — the app is a native shell around the live PWA, so every feature you use in your browser works in the app, instantly updated.
- Push notifications — enables true native push for class reminders, payment alerts, and announcements (in addition to email/SMS).
- Offline check-in — the kiosk page works fully offline inside the app. Check-ins queue locally and sync when reconnected.
- iOS members — iPhone users can install the PWA via Safari's Add to Home Screen for the same experience.
Cmd+K Command Palette
Power-user navigation and search
Press Cmd + K (Mac) or Ctrl + K (Windows) anywhere in the DMS to open the global command palette. Or click the search button in the header.
- Find any member — type a name, email, phone, or member ID to jump straight to their profile.
- Find any page — type "billing", "schedule", "leads" etc. to navigate to that section without using the sidebar.
- Run actions — "new member", "new lead", "check in" trigger the matching action immediately.
- Recent — recent searches and recently viewed members appear at the top.
Accessibility
Making the system usable for everyone
The DMS includes accessibility features:
- All interactive elements have 44Ã44px minimum touch targets
- Form inputs use 16px minimum font size (prevents iOS auto-zoom)
- Tables collapse to cards on mobile â no horizontal scrolling
- Color contrast meets WCAG guidelines
- Keyboard navigation supported throughout
Daily Workflow Checklist
Your routine for running the dojo
| When | Task | Where |
|---|---|---|
| Morning | Check dashboard for alerts and expiring memberships | Dashboard |
| Morning | Check Messages for replies that came in overnight | Messages (/communications/inbox) |
| Morning | Review today's class schedule and roster | Schedule / Student Roll (/rosters) |
| Before Class | Set up kiosk for check-in (or open Roll Call on a tablet) | Kiosk / Roll Call (/attendance) |
| During Class | Take attendance via kiosk, Roll Call, or manual check-in | Kiosk / Roll Call / Members |
| After Class | Process any walk-in payments or pro shop sales | Finance / Pro Shop |
| After Class | Reply to inbound member messages | Messages |
| End of Day | Review new leads and follow up via Outreach | Outreach → Leads |
| End of Day | Retry any outstanding failed charges | Finance → Overview (Outstanding Balances) / Collections |
| Weekly | Review expiring memberships widget and reach out | Dashboard Widget |
| Weekly | Check member duplicates list (family-aware) | Members → Find Duplicates |
| Weekly | Review Outreach delivery health for bouncing emails / SMS | Outreach → Delivery Health |
| Monthly | Check billing reports and revenue dashboard | Finance → Overview |
| Monthly | Run accounting export (or email it to yourself / bookkeeper) | Finance → Overview / Financial Report |
| Monthly | Review subscription invoice from organization | Subscription |