Skip to main content
The Client Management system provides a visual kanban board and detailed record management for pet owners and their animals, enabling staff to track client relationships through the entire lifecycle.

Overview

The client management interface supports two primary views:
Visual board with 5 status columns tracking client progression from first contact through active relationship

Client Lifecycle Stages

Clients move through five distinct stages, each represented as a kanban column:

🆕 New Client

Status: New ClientFirst-time contact, typically from AI call system. No appointment history yet.Typical actions:
  • Verify contact information
  • Add pet details
  • Explain clinic services

📞 Contacted

Status: ContactedInitial outreach completed but appointment not yet scheduled.Typical actions:
  • Follow up via preferred contact method
  • Send welcome email
  • Offer scheduling options

📅 Appt Booked

Status: Appointment BookedFirst appointment scheduled but not yet completed.Typical actions:
  • Send appointment confirmation
  • Prepare new client paperwork
  • Set reminder notifications

💚 Regular Client

Status: Regular ClientActive client with appointment history and ongoing relationship.Typical actions:
  • Schedule routine care
  • Track wellness visit frequency
  • Maintain vaccination records

💤 Churned

Status: ChurnedInactive client, no visits in 12+ months.Typical actions:
  • Send re-engagement campaigns
  • Offer comeback promotions
  • Archive old records

Kanban Board Interface

The kanban view displays clients as cards organized by status:

Column Headers

Each column shows:
  • Status title: Emoji + descriptive name (e.g., ”🆕 New Client”)
  • Client count badge: Number of clients in that stage
  • Color indicator: Visual bar using status-specific color
const STATUS_COLUMNS = [
  { title: '🆕 New Client', status: 'New Client', color: 'bg-blue-500' },
  { title: '📞 Contacted', status: 'Contacted', color: 'bg-yellow-500' },
  { title: '📅 Appt Booked', status: 'Appointment Booked', color: 'bg-purple-500' },
  { title: '💚 Regular Client', status: 'Regular Client', color: 'bg-green-500' },
  { title: '💤 Churned', status: 'Churned', color: 'bg-gray-400' },
];

Client Cards

Each card displays:
Header:
  • Avatar with initials (e.g., “SJ” for Sarah Johnson)
  • Full name
  • Phone number
  • Eye icon (visible on hover)
Pet Badges:
  • Species emoji + pet name for each registered animal
  • Example: ”🐕 Rocky”, ”🐱 Whiskers”
Footer Metrics:
  • Engagement Score: 0-100 rating with star icon
  • Last Visit Date: Most recent appointment if applicable
<Badge variant="outline" className="text-xs">
  {getSpeciesEmoji(pet.species)} {pet.name}
</Badge>

Search and Filtering

Global search bar filters clients across all columns:
const filteredOwners = owners.filter((o) => {
  const q = searchQuery.toLowerCase();
  return (
    o.firstName.toLowerCase().includes(q) ||
    o.lastName.toLowerCase().includes(q) ||
    o.email.toLowerCase().includes(q) ||
    o.phone.includes(q)
  );
});
Searchable fields:
  • First name
  • Last name
  • Email address
  • Phone number
Use partial phone numbers to quickly find clients: searching “555” will return all clients with that area code.

List View

Alternative table layout showing all clients with:
ColumnData Displayed
AvatarCircular icon with initials
NameFirst and last name
ContactEmail • Phone (formatted)
PetsBadge list with species icons
StatusCurrent lifecycle stage
ActionsChevron to open detail modal
List view is ideal for:
  • Quickly scanning large client lists
  • Searching for specific contact information
  • Exporting client data

Client Detail Modal

Clicking any client card or list row opens a comprehensive detail modal with four tabs:

Contact Information

Displays all client profile fields:
  • Email: Primary email address
  • Phone: Formatted phone number
  • Address: Mailing address (optional)
  • Emergency Contact: Backup contact name and phone
  • Preferred Contact Method: Phone, Email, or SMS
  • Engagement Score: 0-100 rating based on visit frequency and responsiveness

Notes Section

Free-text area for staff observations:
{selectedOwner.notes && (
  <div className="space-y-1">
    <Label className="text-muted-foreground">Notes</Label>
    <p className="text-sm bg-muted p-3 rounded-lg">
      {selectedOwner.notes}
    </p>
  </div>
)}
Notes are visible to all staff members. Avoid including sensitive information that shouldn’t be shared practice-wide.

Engagement Score

The system calculates a 0-100 engagement score for each client based on:
FactorWeightCalculation
Visit Frequency40%Appointments in last 12 months
Appointment Adherence30%Show rate vs. no-show rate
Response Rate20%Callback/email responses
Referrals10%New clients referred by this owner
Score ranges:
  • 80-100: Highly engaged, excellent client
  • 60-79: Regular client, good engagement
  • 40-59: Moderate engagement, may need outreach
  • 0-39: Low engagement, at risk of churn
Use engagement scores to prioritize re-engagement campaigns. Clients scoring 40-59 are ideal targets for reminder calls or special offers.

Client Sources

Clients are tagged with their acquisition source:

AI Call

Client initiated contact via AI voice assistant

Walk-in

Client visited clinic in person without appointment

Website

Booked through online appointment system

Referral

Referred by existing client or partner organization
Source tracking helps identify:
  • Most effective marketing channels
  • AI assistant conversion performance
  • Referral program success

Best Practices

New Client → Contacted:
  • Complete initial phone call or email
  • Verify contact information is accurate
  • Add all pets to the client record
Contacted → Appointment Booked:
  • Schedule first appointment
  • Send confirmation email
  • Update pet medical histories if known
Appointment Booked → Regular Client:
  • First appointment successfully completed
  • Add SOAP notes and treatment records
  • Schedule follow-up or next wellness visit
Regular Client → Churned:
  • Automatically flagged after 12 months of inactivity
  • Trigger re-engagement email campaign
  • Consider promotional offer for return visit
  1. Update after every interaction: Add notes following calls, appointments, or significant events
  2. Verify contact info annually: Confirm email and phone during wellness visits
  3. Track pet status changes: Update when pets are spayed/neutered, develop conditions, or pass away
  4. Document preferences: Note special handling needs, fear-free techniques, or communication preferences
  • High scores (80+): Ask for referrals, reviews, or testimonials
  • Medium scores (60-79): Maintain relationship with regular wellness reminders
  • Low scores (40-59): Initiate re-engagement outreach, offer incentives
  • Very low scores (under 40): Consider moving to Churned status and archive inactive records

Quick Actions

Add Client

Opens form to create new client record with contact information and initial pet details

Switch to Kanban

Toggle to visual kanban board view for pipeline management

Switch to List

Toggle to table view for data-focused client browsing

Dashboard

Overview of all practice metrics including client counts

Email Communication

Automated email templates for client outreach

AI Voice System

How the AI assistant captures client information during calls

Appointments

Scheduling and managing client appointments

Build docs developers (and LLMs) love