Platform Overview
GymSpotter PRO is a comprehensive professional network and digital ecosystem designed specifically for the global fitness industry. The platform transforms how fitness professionals establish their online presence, build their personal brand, generate qualified leads, and streamline their business operations through a sophisticated data architecture that interconnects professionals, companies, and educational content.
This Product Requirements Document (PRD) outlines the detailed specifications, features, technical architecture, and comprehensive data model for the GymSpotter PRO platform. The document serves as the definitive reference for developers, database architects, stakeholders, and content managers to understand the full scope, data relationships, and implementation details of the platform.
- Professional Profiles: Comprehensive "Digital CV" with 150+ data fields capturing credentials, specializations, and expertise
- Company Profiles: Business entities with team management, multi-location support, and dealer/service provider distinctions
- Learning Management System: Full-featured LMS with courses, lessons, quizzes, and shareable certificates
- Alignable-Inspired Invitation System: Trust-based network growth with second-degree connections and warm introductions
- GymSpotter 360: Advanced networking visualization showing connections of connections
- Ambassador Program: 20% lifetime recurring affiliate system tracked at the database level
- Professional Website Builder: Turnkey web presence with dynamic profile data integration
- Equipment Ecosystem: Specialized features for commercial and residential equipment professionals
- Gamification & Recognition: Achievement badges, leaderboards, and reputation scoring
Platform Information
Platform Name | GymSpotter PRO |
---|---|
Primary Market | Global Fitness Industry |
Target Audience | Personal trainers, nutritionists, specialty coaches, fitness instructors, gym consultants, commercial & residential fitness equipment sales professionals, gym owners, fitness facility managers |
Core Value | Professional networking, education, and business management for fitness industry professionals |
Data Architecture | 7 primary custom post types, 400+ custom fields, 15+ taxonomies, complex relationship mappings |
Market Vision
GymSpotter PRO aims to become the definitive professional network and digital ecosystem for the global fitness industry. By creating a purpose-built environment with a sophisticated data model tailored to fitness professionals' unique needs, the platform will establish itself as the indispensable hub for career and business growth within the fitness community.
Market Opportunity
The global fitness industry is characterized by high professional fragmentation. Millions of practitioners—including personal trainers, nutritionists, specialty coaches, gym consultants, fitness equipment sales professionals, and facility owners—operate as independent agents, small business owners, or employees of larger organizations. These professionals actively seek effective methods to build and manage their professional networks, verify credentials, and showcase expertise.
Existing platforms offer incomplete solutions. Mainstream professional networks like LinkedIn lack the granular data fields needed for fitness-specific information (certifications, specializations, equipment expertise), while social media platforms provide visibility but lack structured professional data management and verification systems.
GymSpotter PRO fills this significant market gap by functioning as the authoritative, data-rich "LinkedIn for the Fitness Industry," providing a centralized platform with purpose-built data structures for capturing, verifying, and showcasing professional fitness credentials and relationships.
Core Value Proposition
For the modern fitness professional, establishing a credible, data-verified online presence is fundamental for success. GymSpotter PRO provides a comprehensive data ecosystem that captures every aspect of a professional's career, from employment relationships and certifications to client success stories and equipment expertise.
The platform's sophisticated relational database architecture enables powerful features like:
- Automatic cross-referencing between professionals and their employers
- Equipment brand relationships distinguishing sales vs. service capabilities
- Educational achievement tracking with verified certificates
- Multi-dimensional search capabilities across specializations, locations, and credentials
- Network visualization showing professional relationships and referral paths
Strategic Direction
- Data-First Architecture: Build a comprehensive relational database that captures the full complexity of fitness industry relationships and credentials.
- Verification Authority: Establish robust verification systems for professional credentials, company relationships, and educational achievements.
- Network Intelligence: Leverage graph database concepts to enable powerful networking features like warm introductions and referral tracking.
- SEO Dominance: Structure data for maximum search engine visibility with schema markup and topical authority building.
- Platform Ecosystem: Create interconnected data flows between professionals, companies, and educational content for a self-reinforcing ecosystem.
User Personas
GymSpotter PRO serves several distinct user segments within the fitness industry, each interacting with different aspects of our comprehensive data model.
Background: 32 years old, certified personal trainer with NASM CPT and ACE certifications, 5 years of experience, currently self-employed working at multiple gyms
Database Interaction:
- Professional profile with employment_type: "self_employed"
- Multiple certifications tracked in credentials_certifications repeatable group
- Service areas linked to service_area taxonomy
- Client testimonials and before/after results in portfolio fields
Goals: Build personal brand, verify credentials, attract private clients, establish referral network
Key Features Used: Professional profile with verification badges, certification showcase, client testimonial system, networking features
Background: 38 years old, owns a boutique Pilates studio with 5 instructors, specializes in pre/postnatal fitness
Database Interaction:
- Company profile as primary entity with facility information
- Professional profile linked via company_employed relationship
- Team members tracked through company_team_members field
- Multiple locations if franchise using company_additional_locations
- Equipment relationships for studio equipment brands
Goals: Showcase studio and team, attract new clients, recruit qualified instructors, manage online presence
Key Features Used: Company profile with team showcase, facility amenities display, class scheduling integration, instructor profiles
Background: 41 years old, territory sales manager for major fitness equipment manufacturer, covers 3-state region
Database Interaction:
- Professional profile with equipment_sales_active: true
- Equipment sales type: "commercial"
- Territory tracked via service_area taxonomy
- Brand relationships through equipment_brand taxonomy
- Portfolio projects in equipment_portfolio repeatable group
- Company employment linked to manufacturer entity
Goals: Identify facility expansion opportunities, connect with decision-makers, showcase successful installations
Key Features Used: Equipment portfolio showcase, brand verification, territory mapping, facility owner connections
Background: 26 years old, recently certified, works part-time at a commercial gym while building private client base
Database Interaction:
- Professional profile with employment_type: "company_employed"
- Limited certifications in early career stage
- Active in course enrollment through user_course_progress
- Building network through connection requests
- Earning platform certificates for credibility
Goals: Build professional credibility, learn business skills, transition to full-time training, establish online presence
Key Features Used: Free certification courses, profile building tools, networking features, educational content
Data Strategy
The foundational strategy for populating the GymSpotter PRO directory follows a sophisticated two-phase model that leverages our comprehensive data architecture: large-scale data scraping to populate initial professional and company entities, followed by a user-driven process for claiming and enriching profiles with verified credentials and relationships.
The initial data population creates both Professional and Company entities through systematic scraping of publicly available information, establishing the foundational relationship graph.
Professional Entity Data Collection:
- Full name → post_title
- Professional title → professional_profile_basic_title
- Current employer → professional_employment_status_company (relationship)
- Location → professional_contact_location fields
- Basic bio → post_content
- LinkedIn URL → professional_social_profiles_linkedin
Company Entity Data Collection:
- Company name → post_title
- Company type → company_info_basic_type taxonomy
- Location → company_location_headquarters fields
- Website → company_contact_info_website
- Employee count → company_info_basic_size
- Facility type (if applicable) → company_facility_type
Data Enrichment Process:
- Cross-reference professionals with companies to establish employment relationships
- Identify equipment brands mentioned to pre-populate brand relationships
- Extract certifications mentioned for later verification
- Geocode addresses for map functionality
- Generate SEO-optimized URLs based on name and location
The claiming process transforms basic scraped data into rich, verified professional profiles by guiding users through systematic data collection across all custom fields.
Professional Profile Claiming Flow:
- Identity Verification: Confirm identity and set professional_profile_verification fields
- Credential Upload: Populate professional_credentials_certifications with verified documents
- Employment Verification: Confirm or update professional_employment_status relationships
- Specialization Selection: Choose from specialization taxonomy
- Service Configuration: Define professional_services_offerings
- Portfolio Creation: Add testimonials and results to professional_portfolio fields
Company Profile Claiming Flow:
- Business Verification: Confirm ownership and company_info_verification fields
- Team Association: Link team members via company_team_members
- Location Details: Complete all company_location fields including maps
- Service/Product Definition: Configure company_products fields
- Brand Relationships: Establish equipment_brand connections
- Facility Information: If applicable, complete company_facility fields
Data Quality Improvements:
- Scraped data completeness: ~20%
- Claimed profile completeness: ~80%
- Verified profile completeness: ~95%
- Relationship accuracy: Improves from 60% to 99%
Topical Authority Architecture
GymSpotter PRO's data architecture is specifically designed to establish dominant topical authority in fitness professional search queries through strategic content clustering and internal linking based on our taxonomy and relationship structures.
Primary Topic Clusters:
1. Professional Type Clusters:
- Hub: /personal-trainers/ (professional_category taxonomy archive)
- Spokes:
- /personal-trainers/los-angeles/ (location combination)
- /personal-trainers/weight-loss/ (specialization combination)
- /personal-trainers/certified/ (credential filtering)
- Individual trainer profiles as content nodes
2. Location-Based Clusters:
- Hub: /fitness-professionals/california/ (service_area taxonomy)
- Spokes:
- /gyms/los-angeles/ (company + location)
- /personal-trainers/los-angeles/ (professional + location)
- /equipment-dealers/los-angeles/ (equipment + location)
- Neighborhood-level pages for major metros
3. Equipment Brand Clusters:
- Hub: /equipment/life-fitness/ (equipment_brand taxonomy)
- Spokes:
- /equipment/life-fitness/dealers/ (sales relationship)
- /equipment/life-fitness/service/ (service relationship)
- /equipment/life-fitness/reviews/ (user-generated content)
- Individual dealer/service provider profiles
Internal Linking Logic:
// Automatic related professionals based on shared taxonomies
function get_related_professionals($professional_id) {
$shared_taxonomies = ['specialization', 'service_area', 'equipment_brand'];
$related = [];
foreach($shared_taxonomies as $taxonomy) {
$terms = wp_get_post_terms($professional_id, $taxonomy);
foreach($terms as $term) {
$related = array_merge($related, get_posts([
'post_type' => 'professional',
'tax_query' => [[
'taxonomy' => $taxonomy,
'terms' => $term->term_id
]],
'exclude' => $professional_id,
'posts_per_page' => 5
]));
}
}
return array_unique($related);
}
Professional Profile Schema:
{
"@context": "https://schema.org",
"@type": "Person",
"name": "{professional_name}",
"jobTitle": "{professional_title}",
"worksFor": {
"@type": "Organization",
"name": "{company_name}",
"url": "{company_url}"
},
"address": {
"@type": "PostalAddress",
"addressLocality": "{city}",
"addressRegion": "{state}"
},
"hasCredential": [
{
"@type": "EducationalOccupationalCredential",
"credentialCategory": "certification",
"name": "{certification_name}",
"issuedBy": {
"@type": "Organization",
"name": "{certification_org}"
}
}
],
"knowsAbout": ["{specializations}"],
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "{average_rating}",
"reviewCount": "{review_count}"
}
}
Company/Gym Schema:
{
"@context": "https://schema.org",
"@type": "HealthAndBeautyBusiness",
"name": "{company_name}",
"description": "{company_description}",
"employee": [
{
"@type": "Person",
"name": "{team_member_name}",
"jobTitle": "{position}"
}
],
"address": {
"@type": "PostalAddress",
"streetAddress": "{street}",
"addressLocality": "{city}",
"addressRegion": "{state}",
"postalCode": "{zip}"
},
"openingHoursSpecification": [{hours_data}],
"hasOfferCatalog": {
"@type": "OfferCatalog",
"name": "Services",
"itemListElement": [{services_data}]
}
}
Course/Certificate Schema:
{
"@context": "https://schema.org",
"@type": "Course",
"name": "{course_title}",
"description": "{course_description}",
"provider": {
"@type": "Organization",
"name": "GymSpotter PRO"
},
"hasCourseInstance": {
"@type": "CourseInstance",
"courseMode": "online",
"duration": "{duration}"
},
"educationalCredentialAwarded": {
"@type": "EducationalOccupationalCredential",
"name": "{certificate_name}",
"url": "{verification_url}"
}
}
30-Day Roadmap
To successfully launch GymSpotter PRO, an aggressive 30-day sprint strategy focuses on building the core data architecture and populating it with real professional data to achieve immediate market presence.
Days 1-3: Environment Setup & Data Architecture
- Configure WordPress multisite for scalability
- Install and configure Meta Box AIO with all extensions
- Create all 7 Custom Post Types with proper settings
- Implement all 15 taxonomies with hierarchical structures
- Set up Meta Box Relationships for all entity connections
Days 4-5: Custom Fields Implementation
- Import Professional entity field groups (200+ fields)
- Import Company entity field groups (150+ fields)
- Import Education system field groups (100+ fields)
- Configure conditional logic for field dependencies
- Set up user meta fields for progress tracking
Days 6-7: Core Features & Templates
- Build professional profile template with all field displays
- Create company profile template with multi-location support
- Implement search functionality with taxonomy filters
- Set up basic user registration and profile claiming flow
- Configure Meta Box Views for frontend displays
Week 1 Deliverable: Functional platform with complete data architecture ready for content
Days 8-10: Web Scraping Infrastructure
- Deploy scraping infrastructure for LinkedIn and public directories
- Target: 10,000 professional profiles with basic data
- Target: 2,000 company profiles (gyms, studios, dealers)
- Implement deduplication algorithms
- Create professional-company relationship mappings
Days 11-12: Profile Claiming System
- Build "Claim Your Profile" workflow with email verification
- Implement progressive profile completion wizard
- Create verification badge system for credentials
- Set up document upload and verification queue
- Configure automated emails for profile discovery
Days 13-14: Networking Features
- Implement connection request system
- Build GymSpotter 360 second-degree view (PRO feature)
- Create invitation system with tracking
- Set up warm introduction request flow
- Configure connection limits (free vs PRO)
Week 2 Deliverable: 10,000+ populated profiles with claiming system active
Days 15-17: Subscription & Payment Systems
- Integrate Stripe for subscription management
- Implement free to PRO upgrade flow
- Build PRO feature gates throughout platform
- Create subscription management dashboard
- Set up automated billing and renewal emails
Days 18-19: Ambassador Program
- Build affiliate tracking system with unique codes
- Create ambassador dashboard with real-time stats
- Implement 20% lifetime commission calculation
- Set up leaderboards for top referrers
- Configure monthly payout system
Days 20-21: Basic LMS Launch
- Create first 2 free certification courses
- Build course player with video support
- Implement quiz system with scoring
- Create certificate generation system
- Set up LinkedIn sharing for certificates
Week 3 Deliverable: Revenue systems active with initial education content
Days 22-24: SEO & Performance Optimization
- Implement all schema markup for entities
- Create XML sitemaps for all content types
- Set up Redis caching for database queries
- Optimize page load speeds (target <2 seconds)
- Configure CDN for media delivery
- Build category and location landing pages for SEO
Days 25-26: Gamification & Analytics
- Implement profile completeness meter and badges
- Create achievement system for platform milestones
- Set up analytics tracking for all user actions
- Build admin dashboard for platform metrics
- Configure profile view tracking and analytics
Days 27-28: Equipment Features & Testing
- Launch Equipment Compare Tool (freemium model)
- Set up equipment dealer/service provider distinctions
- Create equipment brand landing pages
- Implement referral tracking for equipment sales
- Comprehensive platform testing and bug fixes
Days 29-30: Launch Preparation
- Send profile claim emails to first 1,000 professionals
- Activate ambassador program with launch incentives
- Deploy monitoring and error tracking systems
- Create help documentation and FAQs
- Soft launch to beta user group
Week 4 Deliverable: Platform launched with 10,000+ profiles, revenue systems active, and initial user acquisition underway
Metric | Day 7 Target | Day 14 Target | Day 21 Target | Day 30 Target |
---|---|---|---|---|
Platform Development | Core architecture complete | Data populated | Monetization active | Fully launched |
Professional Profiles | 0 | 10,000 scraped | 10,000+ | 15,000+ |
Company Profiles | 0 | 2,000 scraped | 2,000+ | 3,000+ |
Claimed Profiles | 0 | Testing only | 50 beta testers | 500+ |
PRO Subscribers | 0 | 0 | 10 beta testers | 50+ |
Course Completions | 0 | 0 | 20 | 100+ |
Ambassador Sign-ups | 0 | 0 | 5 | 25+ |
Key Strategies
To ensure successful execution of this ambitious 30-day launch plan, the following strategic principles must guide all decisions and resource allocation:
The sophisticated data model is the foundation of GymSpotter PRO's competitive advantage. Every feature builds upon the relationships between professionals, companies, and education.
Implementation Priorities:
- Invest time upfront in proper field naming conventions (hierarchical structure)
- Ensure all relationships are bi-directional and queryable
- Build data validation rules to maintain quality from day one
- Create comprehensive documentation of all field purposes and relationships
- Design for scalability - anticipate 1M+ professionals within 12 months
Data Quality Standards:
- Every professional must have a primary location (city minimum)
- Every company must have at least one verified address
- Equipment brands must distinguish between sales and service relationships
- All certifications require issuing organization for verification
- Course completions automatically update professional profiles
The platform's value increases exponentially as more relationships are established. Every connection creates multiple data points that enhance discovery and trust.
Relationship Types to Prioritize:
- Professional ↔ Company: Employment relationships create team pages and enhance both entities
- Professional ↔ Professional: Network connections enable warm introductions and referrals
- Company ↔ Equipment Brands: Dealer/service relationships create brand authority pages
- Professional ↔ Certifications: Verified credentials build trust and search visibility
- User ↔ Courses: Education tracking showcases continuous professional development
Network Growth Tactics:
- Pre-populate obvious relationships during scraping (employee ↔ gym)
- Incentivize relationship confirmation during profile claiming
- Show "mutual connections" to encourage new connections
- Create relationship-based achievements and badges
- Enable bulk invitation of existing professional networks
The hierarchical data structure creates natural SEO advantages through highly specific, long-tail keyword targeting across multiple dimensions.
SEO Page Generation Strategy:
- Location Pages: /personal-trainers/california/los-angeles/santa-monica/
- Specialization Pages: /nutritionists/weight-loss/plant-based/
- Credential Pages: /trainers/nasm-certified/corrective-exercise/
- Brand Pages: /equipment/life-fitness/dealers/california/
- Combination Pages: /prenatal-yoga-instructors/los-angeles/
Content Auto-Generation:
// Auto-generate location + specialty page content
function generate_seo_page($location, $specialty) {
$professionals = query_professionals([
'location' => $location,
'specialty' => $specialty
]);
$content = "Find the best {$specialty} professionals in {$location}. ";
$content .= "GymSpotter PRO lists {count($professionals)} verified ";
$content .= "{$specialty} experts serving the {$location} area.";
// Add schema markup
$content .= generate_local_business_schema($professionals);
return $content;
}
The sophisticated verification system differentiates GymSpotter PRO from generic directories by ensuring data accuracy and professional legitimacy.
Verification Levels:
Level | Requirements | Benefits | Badge |
---|---|---|---|
Basic | Email verification + Profile 60% complete | Appear in search results | None |
Verified | ID verification + 1 credential verified | Verified badge + Higher ranking | ✓ Verified |
PRO Verified | All credentials verified + PRO subscription | PRO badge + Top search placement | ✓ PRO Verified |
Elite | PRO + 5+ verified credentials + 95% profile | Elite badge + Featured placement | ★ Elite Professional |
Verification Process Automation:
- OCR scanning of certification documents
- API integration with major certifying bodies (NASM, ACE, etc.)
- Automated certificate expiration tracking and alerts
- Bulk verification for company employees
- Public verification page for each professional
The data architecture enables multiple monetization streams that feel natural and provide clear value at each tier.
Revenue Optimization by User Type:
User Type | Free Value | PRO Value ($50/mo) | Add-On Potential |
---|---|---|---|
Personal Trainer | Basic profile, 10 connections/mo | Verification, unlimited networking, analytics | Website ($50/mo), ClientFlow ($20/mo) |
Studio Owner | Company profile, team display | Featured placement, lead capture, GymSpotter 360 | Multi-location website ($250/mo), Tools |
Equipment Sales | Profile, basic portfolio | Territory mapping, warm intros, Compare Tool | Lead alerts ($50/mo), Proposal tool |
Online Coach | Profile, course access | Global visibility, content tools | AI Workspace ($50/mo), Program Architect |
Upsell Triggers Based on Behavior:
- Hit connection limit → Upgrade to PRO for unlimited
- Complete free course → Offer PRO for advanced courses
- High profile views → Show analytics preview, upgrade for full access
- Manual content creation → Demonstrate AI tools value
- Multiple locations mentioned → Suggest website package
Success Metrics
Success uyerja for GymSpotter PRO are structured around data quality, user engagement, and revenue generation, with specific KPIs tied to our sophisticated data model.
Metric | Description | Month 1 | Month 3 | Month 6 | Year 1 |
---|---|---|---|---|---|
Total Profiles | Professional + Company entities | 15,000 | 50,000 | 100,000 | 250,000 |
Profile Completeness | Average % of fields populated | 25% | 40% | 55% | 70% |
Verified Profiles | Profiles with credential verification | 100 | 1,000 | 5,000 | 20,000 |
Relationship Density | Avg connections per professional | 2 | 8 | 15 | 25 |
Company Team Size | Avg professionals per company | 3 | 5 | 8 | 12 |
Metric | Description | Month 1 | Month 3 | Month 6 | Year 1 |
---|---|---|---|---|---|
Profile Claims | Scraped profiles claimed by owners | 500 | 2,500 | 10,000 | 40,000 |
Monthly Active Users | Logged in within 30 days | 1,000 | 5,000 | 20,000 | 75,000 |
Course Completions | Free + PRO courses finished | 100 | 1,000 | 5,000 | 25,000 |
Certificates Shared | Shared on social media | 50 | 500 | 2,500 | 15,000 |
Viral Coefficient | New users per existing user | 0.2 | 0.5 | 0.8 | 1.2 |
Metric | Description | Month 1 | Month 3 | Month 6 | Year 1 |
---|---|---|---|---|---|
PRO Subscribers | Active PRO memberships | 50 | 500 | 2,500 | 10,000 |
MRR | Monthly Recurring Revenue | $2,500 | $25,000 | $150,000 | $750,000 |
Website Customers | Active website subscriptions | 5 | 50 | 250 | 1,500 |
Avg Revenue/User | ARPU for paying customers | $50 | $55 | $65 | $75 |
Ambassador Earnings | Total commissions paid | $500 | $5,000 | $30,000 | $150,000 |
Conclusion
GymSpotter PRO represents a transformative opportunity to create the definitive professional network for the global fitness industry through a sophisticated, data-driven approach that no competitor can easily replicate.
The platform's competitive advantages stem from its comprehensive data architecture:
- 400+ Custom Fields: Capturing granular professional data that generic platforms cannot accommodate
- Complex Relationships: Modeling real-world connections between professionals, companies, brands, and education
- Verification Authority: Building trust through systematic credential verification and progressive badge systems
- Topical Authority: Creating thousands of SEO-optimized pages through taxonomy combinations
- Network Intelligence: Enabling features like warm introductions and second-degree visibility that require sophisticated data relationships
The 30-day launch roadmap demonstrates that with focused execution on the data architecture first, the platform can achieve critical mass quickly through the scrape-and-claim model while building toward sustainable growth through network effects and education-driven viral loops.
The multi-layered monetization model, anchored by the $50/month PRO subscription and enhanced by high-margin add-ons like custom websites and specialized tools, creates a clear path to profitability. The 20% lifetime recurring commission structure for the Ambassador Program ensures aligned incentives for organic growth through the fitness professional community itself.
By treating equipment sales professionals as first-class citizens with specialized features and distinguishing between sales and service relationships, GymSpotter PRO addresses an underserved but lucrative market segment that can drive additional B2B opportunities.
Most importantly, the platform's value compounds over time. Every new professional claimed, every relationship established, every certification verified, and every course completed adds to the collective intelligence of the system, creating an ever-deepening moat that protects against competition.
With successful execution, GymSpotter PRO will achieve:
- Market leadership as the fitness industry's professional network of record
- $10M+ ARR within 18 months through diversified revenue streams
- 250,000+ professional profiles creating the industry's most comprehensive directory
- A self-reinforcing ecosystem where professionals, companies, and education create mutual value
- An unassailable competitive position built on network effects and data depth
The time is now to build the digital infrastructure that will power the fitness industry's professional ecosystem for the next decade and beyond.
Database Tables & Fields
This section provides a comprehensive overview of all database tables, custom fields, and their properties in the GymSpotter PRO platform. Each entity's fields are organized into logical groups with complete details on field types, options, and relationships.
The Professional entity contains 200+ fields organized into hierarchical groups that capture every aspect of a fitness professional's identity, credentials, services, and relationships.
professional_profile_basic
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
professional_profile_basic_name | Text | Professional's full name | Required, indexed for search |
professional_profile_basic_tagline | Text | Professional's headline/tagline | 160 character limit, SEO optimized |
professional_profile_basic_title | Select | Professional title | Options: • personal_trainer - Personal Trainer • fitness_coach - Fitness Coach • group_fitness_instructor - Group Fitness Instructor • yoga_instructor - Yoga Instructor • pilates_instructor - Pilates Instructor • nutrition_coach - Nutrition Coach • strength_coach - Strength & Conditioning Coach • wellness_coach - Wellness Coach • physical_therapist - Physical Therapist • massage_therapist - Massage Therapist • equipment_specialist - Equipment Sales Specialist • gym_owner - Gym Owner • fitness_director - Fitness Director • other - Other |
professional_profile_basic_title_other | Text | Custom title when "other" selected | Conditional field, visible only when title = "other" |
professional_profile_basic_bio | WYSIWYG | Detailed professional bio | Rich text editor, 1000 word limit |
professional_profile_basic_photo | Image | Professional headshot/portrait | Square format recommended, min 400x400px |
professional_profile_basic_featured | Switch | Featured status flag | Boolean (true/false), admin controlled |
professional_profile_basic_completion | Number | Profile completion percentage | Auto-calculated, range 0-100 |
professional_profile_verification
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
professional_profile_verification_verified | Switch | Overall verification status | Boolean (true/false) |
professional_profile_verification_date | Date | When verification was completed | Admin-set date |
professional_profile_verification_badges | Checkbox List | Earned verification badges | Options: • identity_verified - Identity Verified • education_verified - Education Verified • certification_verified - Certifications Verified • insurance_verified - Insurance Verified • background_check - Background Check Passed • reference_check - References Verified • skill_assessment - Skills Assessment Passed |
professional_profile_verification_level | Select | Level of verification achieved | Options: • basic - Basic Verification • standard - Standard Verification • premium - Premium Verification • elite - Elite Verification |
professional_profile_membership
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
professional_profile_membership_type | Select | Membership level | Options: • free - Free Member • pro - PRO Member ($50/month) • pro_annual - PRO Annual ($500/year) • enterprise - Enterprise (via Company) |
professional_profile_membership_since | Date | Registration date | Automatically set on registration |
professional_profile_membership_status | Select | Current account status | Options: • active - Active • pending - Pending Verification • suspended - Suspended • inactive - Inactive • banned - Banned |
professional_profile_membership_renewal | Date | Next renewal date | For paid memberships |
professional_contact_details
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
professional_contact_details_email | Primary contact email | Validated format, privacy controls | |
professional_contact_details_phone | Text | Contact phone number | Format: (XXX) XXX-XXXX |
professional_contact_details_phone_type | Select | Type of phone number | Options: • mobile - Mobile • office - Office • home - Home |
professional_contact_details_preferred | Select | Preferred contact method | Options: • email - Email • phone - Phone • text - Text Message • app - In-App Message |
professional_contact_details_website | URL | Personal website URL | Validated URL format |
professional_contact_location
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
professional_contact_location_street | Text | Street address line 1 | Primary address component |
professional_contact_location_street2 | Text | Street address line 2 | Optional (apt, suite, etc.) |
professional_contact_location_city | Text | City name | Required for location-based search |
professional_contact_location_state | Select | State/Province | Dynamic options based on country |
professional_contact_location_zip | Text | ZIP/Postal code | Format validated by country |
professional_contact_location_country | Select | Country | Options: • us - United States • ca - Canada • uk - United Kingdom • au - Australia • nz - New Zealand • other - Other |
professional_contact_location_public | Switch | Address visibility control | Boolean (true/false) |
professional_contact_location_map | Map | Map coordinates | Latitude/longitude, interactive picker |
professional_contact_service
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
professional_contact_service_areas | Taxonomy | Regions served | Links to service_area taxonomy |
professional_contact_service_radius | Number | Distance willing to travel | In miles, range 0-500 |
professional_contact_service_travel | Select | Travel availability | Options: • local_only - Local Only (within radius) • regional - Regional Travel • national - National Travel • international - International Travel |
professional_contact_service_virtual | Switch | Offers virtual services | Boolean (true/false) |
professional_contact_service_locations | Checkbox List | Service delivery locations | Options: • client_home - Client's Home • client_office - Client's Office • gym - Gym/Fitness Center • outdoor - Outdoor Locations • studio - Private Studio • virtual - Virtual/Online |
professional_credentials_experience
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
professional_credentials_experience_years | Number | Years of experience | Range: 0-50 years |
professional_credentials_experience_clients | Select | Total clients trained | Options: • beginner - Under 50 • developing - 50-200 • experienced - 200-500 • veteran - 500-1000 • master - 1000+ |
professional_credentials_experience_hours | Select | Training hours completed | Options: • entry - Under 500 hours • intermediate - 500-2000 hours • advanced - 2000-5000 hours • expert - 5000-10000 hours • master - 10000+ hours |
professional_credentials_certifications (Repeatable Group)
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
professional_credentials_certifications_name | Text | Certification name/acronym | e.g., "CPT", "CES", "PES" |
professional_credentials_certifications_organization | Select | Issuing organization | Options: • nasm - NASM • ace - ACE • issa - ISSA • acsm - ACSM • nsca - NSCA • ncsf - NCSF • afaa - AFAA • cooper - Cooper Institute • crossfit - CrossFit • yoga_alliance - Yoga Alliance • pilates_method - Pilates Method Alliance • other - Other |
professional_credentials_certifications_organization_other | Text | Other organization name | Conditional: when organization = "other" |
professional_credentials_certifications_number | Text | Certificate/credential ID | For verification purposes |
professional_credentials_certifications_date | Date | Date certification was earned | Issue date |
professional_credentials_certifications_expiration | Date | Certification expiration date | For renewal tracking |
professional_credentials_certifications_status | Select | Current certification status | Options: • active - Active • expired - Expired • pending - Pending Renewal • suspended - Suspended |
professional_credentials_certifications_verified | Switch | Verification status | Boolean (true/false) |
professional_credentials_certifications_document | File | Certificate document | PDF upload for verification |
professional_credentials_education (Repeatable Group)
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
professional_credentials_education_level | Select | Education level | Options: • high_school - High School • some_college - Some College • associate - Associate Degree • bachelor - Bachelor's Degree • master - Master's Degree • doctorate - Doctorate • certificate - Certificate Program |
professional_credentials_education_institution | Text | School/university name | Name of educational institution |
professional_credentials_education_degree | Text | Degree/program name | e.g., "B.S. Exercise Science" |
professional_credentials_education_field | Select | Field of study | Options: • exercise_science - Exercise Science • kinesiology - Kinesiology • sports_medicine - Sports Medicine • nutrition - Nutrition • physical_therapy - Physical Therapy • athletic_training - Athletic Training • health_wellness - Health & Wellness • business - Business/Management • other - Other |
professional_credentials_education_graduation | Number | Graduation year | 4-digit year format |
professional_credentials_education_current | Switch | Currently enrolled | Boolean (true/false) |
professional_credentials_specializations
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
professional_credentials_specializations_primary | Taxonomy | Primary specialization areas | Links to specialization taxonomy |
professional_credentials_specializations_populations | Checkbox List | Target client populations | Options: • youth - Youth (Under 18) • adults - General Adults • seniors - Seniors (65+) • athletes - Athletes • beginners - Beginners • special_needs - Special Needs • prenatal - Prenatal • postnatal - Postnatal • rehabilitation - Rehabilitation |
professional_credentials_specializations_methods | Checkbox List | Training methodologies | Options: • strength_training - Strength Training • cardio - Cardiovascular Training • hiit - HIIT • functional - Functional Training • bodyweight - Bodyweight Training • olympic_lifting - Olympic Lifting • powerlifting - Powerlifting • crossfit - CrossFit • yoga - Yoga • pilates - Pilates • martial_arts - Martial Arts • dance - Dance Fitness |
professional_credentials_languages
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
professional_credentials_languages_primary | Select | Primary language | Options: • english - English • spanish - Spanish • french - French • mandarin - Mandarin • other - Other |
professional_credentials_languages_additional | Checkbox List | Additional languages | Same options as primary language |
professional_credentials_languages_other | Text | Other language names | Conditional when other selected |
professional_employment_status
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
professional_employment_status_type | Select | Employment classification | Options: • self_employed - Self-Employed/Freelance • company_employed - Employed by Company |
professional_employment_status_company | Post | Employer company | Relationship to Company entity |
professional_employment_status_position | Text | Job title at company | Specific position title |
professional_employment_status_department | Select | Department within company | Options: • personal_training - Personal Training • group_fitness - Group Fitness • management - Management • sales - Sales • operations - Operations • other - Other |
professional_employment_status_start_date | Date | Employment start date | When started with company |
professional_employment_status_full_time | Select | Employment status | Options: • full_time - Full-time • part_time - Part-time • contractor - Independent Contractor • seasonal - Seasonal |
professional_services_offerings (Repeatable Group)
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
professional_services_offerings_name | Text | Service name | e.g., "1-on-1 Personal Training" |
professional_services_offerings_category | Select | Service category | Options: • personal_training - Personal Training • group_classes - Group Classes • online_coaching - Online Coaching • nutrition_coaching - Nutrition Coaching • wellness_coaching - Wellness Coaching • corporate_wellness - Corporate Wellness • sports_training - Sports-Specific Training • rehabilitation - Rehabilitation/Recovery • assessments - Fitness Assessments • program_design - Program Design Only |
professional_services_offerings_description | Textarea | Service description | 500 character limit |
professional_services_offerings_format | Select | Service delivery format | Options: • in_person - In-Person Only • virtual - Virtual Only • hybrid - Both In-Person and Virtual |
professional_services_offerings_duration | Select | Session duration | Options: • 30_min - 30 minutes • 45_min - 45 minutes • 60_min - 60 minutes • 90_min - 90 minutes • custom - Custom Duration |
professional_services_offerings_pricing_type | Select | Pricing structure | Options: • per_session - Per Session • package - Package Deal • monthly - Monthly Rate • hourly - Hourly Rate • consultation - Free Consultation • custom - Custom Quote |
professional_services_offerings_price | Text | Price display text | e.g., "$75/session" |
professional_services_offerings_featured | Switch | Featured service | Boolean (true/false) |
professional_services_availability
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
professional_services_availability_accepting | Switch | Accepting new clients | Boolean (true/false) |
professional_services_availability_waitlist | Switch | Has waitlist | Boolean (true/false) |
professional_services_availability_booking_url | URL | External booking link | URL to scheduling system |
professional_services_availability_response_time | Select | Typical response time | Options: • immediate - Within 1 hour • same_day - Same day • 24_hours - Within 24 hours • 48_hours - Within 48 hours • weekly - Within a week |
professional_portfolio_media
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
professional_portfolio_media_photos | Image Gallery | Photo gallery | Up to 20 photos |
professional_portfolio_media_videos | Video | Video content | Up to 5 videos |
professional_portfolio_media_virtual_tour | URL | 360° virtual tour | Link to external tour |
professional_portfolio_results (Repeatable Group)
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
professional_portfolio_results_title | Text | Result title | e.g., "12-Week Transformation" |
professional_portfolio_results_client | Text | Client identifier | First name or anonymous |
professional_portfolio_results_goal | Select | Primary goal | Options: • weight_loss - Weight Loss • muscle_gain - Muscle Gain • strength - Strength Improvement • endurance - Endurance • rehabilitation - Rehabilitation • sports_performance - Sports Performance • general_fitness - General Fitness |
professional_portfolio_results_timeframe | Select | Result timeframe | Options: • 4_weeks - 4 weeks • 8_weeks - 8 weeks • 12_weeks - 12 weeks • 6_months - 6 months • 1_year - 1 year • custom - Custom timeframe |
professional_portfolio_results_metrics | Group | Measurable outcomes | Custom metrics group |
professional_portfolio_results_before_photo | Image | Before photo | Client before image |
professional_portfolio_results_after_photo | Image | After photo | Client after image |
professional_portfolio_results_testimonial | Textarea | Client testimonial | Client's own words |
professional_portfolio_results_featured | Switch | Featured result | Boolean (true/false) |
professional_portfolio_testimonials (Repeatable Group)
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
professional_portfolio_testimonials_client_name | Text | Client name | Full or partial name |
professional_portfolio_testimonials_client_photo | Image | Client photo | Optional |
professional_portfolio_testimonials_date | Date | Testimonial date | When received |
professional_portfolio_testimonials_rating | Number | Rating | 1-5 stars |
professional_portfolio_testimonials_text | Textarea | Testimonial content | Client feedback |
professional_portfolio_testimonials_verified | Switch | Verified client | Boolean (true/false) |
professional_portfolio_testimonials_featured | Switch | Featured testimonial | Boolean (true/false) |
professional_equipment_sales
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
professional_equipment_sales_active | Switch | Equipment sales professional | Boolean (true/false) |
professional_equipment_sales_type | Select | Equipment focus area | Options: • commercial - Commercial Equipment • residential - Residential Equipment • both - Both Commercial & Residential |
professional_equipment_sales_role | Select | Professional sales role | Options: • sales_rep - Sales Representative • sales_manager - Sales Manager • account_executive - Account Executive • dealer_principal - Dealer Principal • independent - Independent Dealer |
professional_equipment_sales_experience | Select | Equipment sales experience | Options: • entry - Less than 1 year • intermediate - 1-3 years • experienced - 3-5 years • senior - 5-10 years • veteran - 10+ years |
professional_equipment_territory
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
professional_equipment_territory_regions | Taxonomy | Sales territory regions | Links to service_area taxonomy |
professional_equipment_territory_accounts | Select | Account specialties | Options: • new_facilities - New Facility Development • existing_facilities - Existing Facility Updates • home_gym - Home Gym Design • corporate - Corporate Fitness • hospitality - Hotels/Resorts • multi_housing - Apartments/Condos • government - Government/Military • education - Schools/Universities |
professional_equipment_territory_brands | Taxonomy | Brands represented | Links to equipment_brand taxonomy |
professional_equipment_territory_categories | Taxonomy | Equipment categories | Links to equipment_category taxonomy |
professional_equipment_portfolio (Repeatable Group)
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
professional_equipment_portfolio_project_name | Text | Project name | e.g., "Gold's Gym Downtown" |
professional_equipment_portfolio_project_type | Select | Project type | Options: • new_facility - New Facility Build-out • renovation - Facility Renovation • expansion - Facility Expansion • home_gym - Home Gym Installation • corporate - Corporate Fitness Center |
professional_equipment_portfolio_project_size | Select | Project size/budget | Options: • small - Under $25,000 • medium - $25,000-$100,000 • large - $100,000-$500,000 • enterprise - $500,000+ |
professional_equipment_portfolio_project_date | Date | Completion date | When project finished |
professional_equipment_portfolio_project_description | Textarea | Project details | Comprehensive description |
professional_equipment_portfolio_project_images | Image Gallery | Project photos | Before/after installation images |
professional_equipment_portfolio_project_featured | Switch | Featured project | Boolean (true/false) |
professional_platform_website
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
professional_platform_website_active | Switch | Has platform website | Boolean (true/false) |
professional_platform_website_package | Select | Website package level | Options: • starter - Starter ($50/month) • growth - Growth ($100/month) • business - Business ($250/month) • scale - Scale ($500/month) |
professional_platform_website_url | URL | Custom website address | Format: name.gymspotter.pro |
professional_platform_website_launch | Date | Website launch date | When site went live |
professional_platform_ambassador
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
professional_platform_ambassador_active | Switch | Ambassador status | Boolean (true/false) |
professional_platform_ambassador_since | Date | Ambassador start date | When joined program |
professional_platform_ambassador_code | Text | Referral code | Unique affiliate code |
professional_platform_ambassador_referrals | Number | Total referrals | Count of successful referrals |
professional_platform_ambassador_earnings | Number | Total earnings | Lifetime commission earnings |
professional_platform_ambassador_tier | Select | Ambassador tier level | Options: • bronze - Bronze (1-5 referrals) • silver - Silver (6-15 referrals) • gold - Gold (16-30 referrals) • platinum - Platinum (31-50 referrals) • diamond - Diamond (50+ referrals) |
professional_platform_education
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
professional_platform_education_courses | Post | Completed courses | Links to Course entities |
professional_platform_education_certificates | Post | Earned certificates | Links to Certificate entities |
professional_platform_education_badges | Taxonomy | Achievement badges | Platform accomplishments |
The Company entity contains 150+ fields structured to support multiple location types from gyms to equipment dealers with full service, product, and team information.
company_info_basic
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
company_info_basic_name | Text | Company name | Required, unique identifier |
company_info_basic_tagline | Text | Company tagline | 160 character limit for SEO |
company_info_basic_logo | Image | Company logo | Accepts: .jpg, .png, .svg |
company_info_basic_featured | Switch | Featured company | Boolean (true/false) |
company_info_basic_founding_year | Number | Year founded | Range: 1900-current year |
company_info_basic_size | Select | Company size | Options: • solo - Solo Entrepreneur • micro - 2-10 employees • small - 11-50 employees • medium - 51-200 employees • large - 201-1000 employees • enterprise - 1000+ employees |
company_info_basic_type | Select | Company type | Options: • gym - Gym/Fitness Facility • studio - Fitness Studio • dealer - Equipment Dealer • service_provider - Service Provider • manufacturer - Equipment Manufacturer • distributor - Equipment Distributor • franchise - Franchise • online - Online Business • other - Other |
company_info_basic_type_other | Text | Other company type | Conditional: Shows when type = "other" |
company_info_basic_description | WYSIWYG | Company description | Rich text editor, 2000 word limit |
company_info_verification
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
company_info_verification_verified | Switch | Verified business | Boolean (true/false) |
company_info_verification_date | Date | Verification date | Date picker, conditional on verified = true |
company_info_verification_method | Select | Verification method | Options: • documents - Document Verification • site_visit - Site Visit • video_call - Video Verification • partner - Partner Verification |
company_info_verification_badges | Checkbox List | Verification badges | Options: • identity - Identity Verified • business - Licensed Business • insurance - Insurance Verified • featured - Featured Company • top_rated - Top Rated • authorized_dealer - Authorized Dealer • certified_service - Certified Service Provider |
company_info_membership
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
company_info_membership_type | Select | GymSpotter membership | Options: • free - Free • pro - PRO ($50/month) • enterprise - Enterprise (Custom) |
company_info_membership_since | Date | Member since | Date joined platform |
company_info_membership_status | Select | Account status | Options: • active - Active • pending - Pending Verification • suspended - Suspended • inactive - Inactive |
company_contact_info
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
company_contact_info_email | Primary contact email | Public contact email | |
company_contact_info_phone | Text | Main phone number | Format: (XXX) XXX-XXXX |
company_contact_info_phone_secondary | Text | Secondary phone | Optional alternate number |
company_contact_info_fax | Text | Fax number | Optional, legacy support |
company_contact_info_website | URL | Company website | Primary external website |
company_contact_info_hours | Repeatable Group | Business hours | Days and hours structure |
company_contact_info_contact_person | Text | Primary contact name | Public-facing contact person |
company_contact_social
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
company_contact_social_facebook | URL | Facebook page | Facebook URL |
company_contact_social_instagram | URL | Instagram profile | Instagram URL |
company_contact_social_twitter | URL | Twitter/X profile | Twitter URL |
company_contact_social_linkedin | URL | LinkedIn page | LinkedIn company page URL |
company_contact_social_youtube | URL | YouTube channel | YouTube URL |
company_contact_social_tiktok | URL | TikTok account | TikTok URL |
company_location_headquarters
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
company_location_headquarters_street | Text | Street address | Primary address line |
company_location_headquarters_street2 | Text | Address line 2 | Suite, unit, etc. |
company_location_headquarters_city | Text | City | City name |
company_location_headquarters_state | Select | State/Province | State dropdown, country-dependent |
company_location_headquarters_zip | Text | ZIP/Postal code | Format varies by country |
company_location_headquarters_country | Select | Country | Country dropdown |
company_location_headquarters_map | Map | Map location | Lat/long coordinates |
company_location_additional (Repeatable Group)
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
company_location_additional_name | Text | Location name | e.g., "Downtown Branch" |
company_location_additional_type | Select | Location type | Options: • branch - Branch Location • franchise - Franchise Location • satellite - Satellite Office • warehouse - Warehouse/Distribution • showroom - Showroom |
company_location_additional_street | Text | Street address | Primary address line |
company_location_additional_street2 | Text | Address line 2 | Suite, unit, etc. |
company_location_additional_city | Text | City | City name |
company_location_additional_state | Select | State/Province | State dropdown |
company_location_additional_zip | Text | ZIP/Postal code | Format varies by country |
company_location_additional_country | Select | Country | Country dropdown |
company_location_additional_phone | Text | Location phone | Location-specific phone |
company_location_additional_email | Location email | Location-specific email | |
company_location_additional_hours | Repeatable Group | Location hours | Days and hours structure |
company_location_additional_manager | Post | Location manager | Link to Professional entity |
company_location_additional_map | Map | Map location | Lat/long coordinates |
company_service_areas
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
company_service_areas_regions | Taxonomy | Service area regions | Links to service_area taxonomy |
company_service_areas_radius | Number | Service radius | Miles from headquarters |
company_service_areas_international | Switch | Serves internationally | Boolean (true/false) |
company_service_areas_virtual | Switch | Offers virtual services | Boolean (true/false) |
company_team_leadership
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
company_team_leadership_owner | Text | Owner/CEO name | Primary business owner |
company_team_leadership_owner_profile | Post | Owner's profile | Link to Professional entity if exists |
company_team_leadership_directors | Post | Directors/managers | Multiple links to Professional entities |
company_team_members
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
company_team_members_trainers | Post | Trainers/instructors | Multiple links to Professional entities |
company_team_members_sales | Post | Sales team | Multiple links to Professional entities |
company_team_members_other | Post | Other staff | Multiple links to Professional entities |
company_team_members_total | Number | Total team size | Auto-calculated or manual entry |
company_team_hiring
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
company_team_hiring_active | Switch | Currently hiring | Boolean (true/false) |
company_team_hiring_positions | Repeatable Group | Open positions | Structure for job listings |
company_team_hiring_benefits | Checkbox List | Employment benefits | Options: • health_insurance - Health Insurance • dental_vision - Dental & Vision • retirement - 401(k)/Retirement • pto - Paid Time Off • commission - Commission Structure • continuing_ed - Continuing Education • flexible_schedule - Flexible Schedule • free_membership - Free Membership |
company_products_services
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
company_products_services_offerings | Checkbox List | Service categories | Options: • personal_training - Personal Training • group_fitness - Group Fitness Classes • equipment_sales - Equipment Sales • equipment_service - Equipment Service/Repair • facility_design - Facility Design/Layout • nutrition - Nutrition Services • massage - Massage/Recovery • corporate - Corporate Fitness • online - Online Training |
company_products_services_primary | Select | Primary service focus | Same options as offerings |
company_products_services_custom | Repeatable Group | Custom service details | Name, description, pricing structure |
company_products_equipment
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
company_products_equipment_sales | Switch | Sells equipment | Boolean (true/false) |
company_products_equipment_service | Switch | Services equipment | Boolean (true/false) |
company_products_equipment_type | Select | Equipment customer type | Options: • commercial - Commercial Only • residential - Residential Only • both - Both Commercial & Residential |
company_products_equipment_sales_brands | Taxonomy | Brands sold | Links to equipment_brand taxonomy |
company_products_equipment_service_brands | Taxonomy | Brands serviced | Links to equipment_brand taxonomy |
company_products_equipment_categories | Taxonomy | Equipment categories | Links to equipment_category taxonomy |
company_products_equipment_dealer_level | Select | Dealer certification level | Options: • authorized - Authorized Dealer • premier - Premier Dealer • elite - Elite Dealer • direct - Direct from Manufacturer • distributor - Distributor |
company_products_financing
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
company_products_financing_available | Switch | Offers financing | Boolean (true/false) |
company_products_financing_options | Checkbox List | Financing types | Options: • in_house - In-House Financing • lease - Leasing Options • third_party - Third-Party Financing • payment_plans - Payment Plans • business - Business Financing |
company_products_financing_description | Textarea | Financing details | 500 character limit |
company_facility_details
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
company_facility_details_type | Select | Facility type | Options: • big_box - Big Box Gym • boutique - Boutique Studio • crossfit - CrossFit Box • yoga - Yoga Studio • pilates - Pilates Studio • athletic_club - Athletic Club • sports_facility - Sports Facility • wellness_center - Wellness Center • outdoor - Outdoor Training • community - Community Center • corporate - Corporate Fitness • other - Other |
company_facility_details_size | Select | Facility size | Options: • small - Small (under 2,500 sq ft) • medium - Medium (2,500-10,000 sq ft) • large - Large (10,000-25,000 sq ft) • xl - Extra Large (25,000+ sq ft) |
company_facility_details_photos | Image Gallery | Facility photos | Up to 20 images |
company_facility_details_virtual_tour | URL | Virtual tour link | 360° tour URL |
company_facility_amenities
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
company_facility_amenities_features | Checkbox List | Facility features | Options: • cardio_area - Cardio Area • strength_area - Strength Area • functional - Functional Training • group_studios - Group Fitness Studios • pool - Swimming Pool • basketball - Basketball Court • racquetball - Racquetball Courts • track - Indoor Track • sauna - Sauna • steam_room - Steam Room • hot_tub - Hot Tub • tanning - Tanning • childcare - Childcare • locker_rooms - Locker Rooms • showers - Showers • towel_service - Towel Service • juice_bar - Juice/Smoothie Bar • pro_shop - Pro Shop • parking - Free Parking |
company_facility_amenities_accessibility | Checkbox List | Accessibility features | Options: • wheelchair - Wheelchair Accessible • elevator - Elevator Access • accessible_equipment - Accessible Equipment • accessible_restrooms - Accessible Restrooms • service_animals - Service Animals Welcome |
company_facility_memberships
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
company_facility_memberships_types | Checkbox List | Membership types | Options: • standard - Standard Membership • premium - Premium Membership • family - Family Plans • corporate - Corporate Rates • senior - Senior Discounts • student - Student Discounts • military - Military/First Responder • day_pass - Day Passes • punch_card - Punch Cards • trial - Free Trial |
company_facility_memberships_price_range | Select | Price range | Options: • budget - Budget ($) • moderate - Moderate ($$) • premium - Premium ($$$) • luxury - Luxury ($$$$) |
company_facility_memberships_contract | Select | Contract types | Options: • month_to_month - Month-to-Month • annual - Annual Contract • both - Both Options Available |
company_facility_memberships_enrollment_fee | Switch | Has enrollment fee | Boolean (true/false) |
company_portfolio_testimonials (Repeatable Group)
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
company_portfolio_testimonials_client | Text | Client name | Customer/client name |
company_portfolio_testimonials_client_type | Select | Client type | Options: • individual - Individual Member • business - Business Client • facility - Facility Owner |
company_portfolio_testimonials_text | Textarea | Testimonial content | 1000 character limit |
company_portfolio_testimonials_rating | Number | Rating | 1-5 scale |
company_portfolio_testimonials_date | Date | Testimonial date | When received |
company_portfolio_testimonials_featured | Switch | Featured testimonial | Boolean (true/false) |
company_portfolio_projects (Repeatable Group)
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
company_portfolio_projects_name | Text | Project name | Project title |
company_portfolio_projects_type | Select | Project type | Options: • facility_design - Facility Design • equipment_install - Equipment Installation • renovation - Renovation • maintenance - Maintenance Contract • event - Special Event • corporate - Corporate Program |
company_portfolio_projects_client | Text | Client name | Project client |
company_portfolio_projects_description | Textarea | Project description | 1000 character limit |
company_portfolio_projects_date | Date | Completion date | When completed |
company_portfolio_projects_gallery | Image Gallery | Project images | Up to 10 images |
company_portfolio_projects_featured | Switch | Featured project | Boolean (true/false) |
The Course, Lesson, Quiz, and Certificate entities together form the complete Learning Management System with 100+ fields to manage educational content and track user progress.
course_info
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
course_info_title | Text | Course title | Main course name |
course_info_subtitle | Text | Course subtitle | Secondary descriptive title |
course_info_description | WYSIWYG | Course description | Rich text description |
course_info_featured_image | Image | Course cover image | Primary course thumbnail |
course_info_video_intro | Video | Intro video | Course introduction video |
course_info_difficulty | Select | Difficulty level | Options: • beginner - Beginner • intermediate - Intermediate • advanced - Advanced • expert - Expert |
course_info_categories | Taxonomy | Course categories | Links to course_category taxonomy |
course_info_tags | Taxonomy | Course tags | Links to course_tag taxonomy |
course_info_featured | Switch | Featured course | Boolean (true/false) |
course_requirements
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
course_requirements_prerequisites | Post | Prerequisite courses | Links to other Course entities |
course_requirements_equipment | Textarea | Required equipment | Equipment needed for course |
course_requirements_experience | Textarea | Experience level | Required background |
course_structure_modules (Repeatable Group)
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
course_structure_modules_title | Text | Module title | Section heading |
course_structure_modules_description | Textarea | Module description | Section overview |
course_structure_modules_lessons | Post | Module lessons | Links to Lesson entities |
course_structure_modules_quiz | Post | Module quiz | Link to Quiz entity |
course_structure_modules_order | Number | Display order | Sequence number |
course_settings
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
course_settings_duration | Number | Course duration | Hours to complete |
course_settings_type | Select | Course type | Options: • self_paced - Self-Paced • scheduled - Scheduled • hybrid - Hybrid |
course_settings_membership | Select | Access level | Options: • free - Free • pro - PRO Members • premium - Premium (Additional Cost) |
course_settings_certificate | Post | Completion certificate | Link to Certificate entity |
course_settings_instructor | Post | Course instructor | Link to Instructor entity |
course_settings_passing_score | Number | Required pass score | Percentage (0-100) |
course_settings_final_exam | Post | Final exam quiz | Link to Quiz entity |
lesson_info
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
lesson_info_title | Text | Lesson title | Main lesson name |
lesson_info_description | Textarea | Lesson summary | Brief description |
lesson_info_featured_image | Image | Lesson thumbnail | Visual representation |
lesson_info_parent_course | Post | Parent course | Link to Course entity |
lesson_info_order | Number | Display order | Sequence number |
lesson_content
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
lesson_content_type | Select | Content type | Options: • video - Video Lesson • text - Text/Article • presentation - Presentation • mixed - Mixed Content • interactive - Interactive |
lesson_content_video | Video | Lesson video | Primary video content |
lesson_content_text | WYSIWYG | Lesson text | Rich text content |
lesson_content_attachments | File | Downloadable files | PDFs, worksheets, etc. |
lesson_content_duration | Number | Lesson duration | Minutes to complete |
lesson_settings
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
lesson_settings_prerequisite | Post | Prerequisite lesson | Must complete before this |
lesson_settings_free_preview | Switch | Free preview available | Boolean (true/false) |
lesson_settings_completion_type | Select | Completion criteria | Options: • automatic - Mark complete button • quiz - Must pass quiz • video - Must watch 90% • manual - Instructor approval |
quiz_info
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
quiz_info_title | Text | Quiz title | Assessment name |
quiz_info_description | Textarea | Quiz description | Brief overview |
quiz_info_parent_course | Post | Parent course | Link to Course entity |
quiz_info_parent_module | Number | Parent module ID | Module index number |
quiz_info_is_final | Switch | Final examination | Boolean (true/false) |
quiz_settings
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
quiz_settings_time_limit | Number | Time limit (minutes) | 0 = unlimited |
quiz_settings_passing_score | Number | Passing percentage | Range: 0-100 |
quiz_settings_attempts_allowed | Number | Maximum attempts | 0 = unlimited |
quiz_settings_randomize | Switch | Randomize questions | Boolean (true/false) |
quiz_settings_show_answers | Select | Answer review timing | Options: • after_question - After each question • after_quiz - After completing quiz • after_attempts - After all attempts • never - Never show answers |
quiz_questions (Repeatable Group)
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
quiz_questions_title | Text | Question text | The actual question |
quiz_questions_type | Select | Question type | Options: • multiple_choice - Multiple Choice • true_false - True/False • short_answer - Short Answer • essay - Essay • matching - Matching • fill_blank - Fill in the Blank |
quiz_questions_image | Image | Question image | Optional visual aid |
quiz_questions_points | Number | Point value | Default = 1 |
quiz_questions_answers | Repeatable Group | Answer options | Text + correct flag for each |
quiz_questions_explanation | Textarea | Answer explanation | Why the answer is correct |
quiz_questions_order | Number | Display order | Sequence number |
certificate_info
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
certificate_info_title | Text | Certificate title | Main credential name |
certificate_info_description | Textarea | Certificate description | What the credential represents |
certificate_info_parent_course | Post | Parent course | Link to Course entity |
certificate_info_category | Taxonomy | Certificate type | Links to certificate_type taxonomy |
certificate_info_logo | Image | Certificate logo | Brand logo for certificate |
certificate_design
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
certificate_design_template | Select | Design template | Options: • classic - Classic • modern - Modern • professional - Professional • minimalist - Minimalist • premium - Premium |
certificate_design_orientation | Select | Page orientation | Options: • landscape - Landscape • portrait - Portrait |
certificate_design_background | Image | Background image | Optional decorative background |
certificate_design_color_scheme | Select | Color theme | Options: • blue - Blue • red - Red • green - Green • black - Black & White • gold - Gold Premium |
certificate_design_custom_text | Textarea | Custom certificate text | Special messaging |
certificate_verification
Field ID | Field Type | Description | Options/Notes |
---|---|---|---|
certificate_verification_prefix | Text | Verification code prefix | Unique identifier prefix |
certificate_verification_valid_months | Number | Validity period | Months until expiration |
certificate_verification_requires_renewal | Switch | Requires renewal | Boolean (true/false) |
certificate_verification_renewal_course | Post | Renewal course | Link to renewal Course entity |
certificate_verification_linkedin_sharing | Switch | LinkedIn sharing enabled | Boolean (true/false) |
certificate_verification_ceus | Number | CEU credits | Continuing Education Units |
The platform uses 15+ taxonomies to categorize entities and create powerful cross-referenced relationships between them. Each taxonomy has its own hierarchical structure.
professional_category
Hierarchy: Yes, 3 levels
Used By: Professional entities
Structure Example:
- Personal Trainers
- Strength Training
- Powerlifting
- Olympic Lifting
- Bodybuilding
- Cardio Training
- Group Training
- Strength Training
- Nutritionists
- Sports Nutrition
- Weight Management
- Medical Nutrition
- Yoga Instructors
- Hatha
- Vinyasa
- Kundalini
specialization
Hierarchy: Yes, 2 levels
Used By: Professional entities
Structure Example:
- Weight Loss
- Rapid Weight Loss
- Sustainable Weight Management
- Post-Pregnancy
- Muscle Building
- Hypertrophy
- Lean Muscle
- Mass Building
- Senior Fitness
- Fall Prevention
- Functional Movement
- Active Aging
equipment_type
Hierarchy: Yes, 2 levels
Used By: Professional entities
Structure Example:
- Strength Equipment
- Free Weights
- Plate-Loaded
- Pin-Loaded
- Cable Systems
- Cardio Equipment
- Treadmills
- Ellipticals
- Rowers
- Bikes
- Specialized Equipment
- Pilates
- Boxing
- Functional Training
professional_tag
Hierarchy: No, flat structure
Used By: Professional entities
Common Tags: online-training, in-home, pre-wedding, sports-specific, competition-prep, posture-correction, injury-prevention, weight-loss-specialist, functional-training, performance-enhancement, holistic-approach, evidence-based, transformation-expert, celebrity-trainer, medical-fitness
company_category
Hierarchy: Yes, 2 levels
Used By: Company entities
Structure Example:
- Fitness Facilities
- Gyms
- Studios
- Health Clubs
- Boutique Fitness
- Equipment Businesses
- Manufacturers
- Distributors
- Retailers
- Service Providers
- Wellness Services
- Sports Medicine
- Physical Therapy
- Nutrition Services
company_type
Hierarchy: Yes, 2 levels
Used By: Company entities
Structure Example:
- Gym
- Big Box
- Boutique
- 24-Hour
- CrossFit Box
- Studio
- Yoga
- Pilates
- Dance
- Specialized Training
- Equipment Dealer
- Commercial
- Residential
- Full-Line
- Specialty
business_tag
Hierarchy: No, flat structure
Used By: Company entities
Common Tags: group-training, childcare, towel-service, open-24-hours, women-only, financing-available, free-consultations, certified-trainers, multi-location, equipment-leasing, mobile-services, corporate-accounts, military-discount, contract-free, student-discount
service_area
Hierarchy: Yes, 3 levels
Used By: Professional and Company entities
Structure Example:
- United States
- California
- Los Angeles
- San Francisco
- San Diego
- New York
- New York City
- Buffalo
- Albany
- California
- Canada
- Ontario
- Toronto
- Ottawa
- British Columbia
- Vancouver
- Victoria
- Ontario
equipment_brand
Hierarchy: Yes, 2 levels
Used By: Professional and Company entities
Structure Example:
- Life Fitness
- Hammer Strength
- Cybex
- SciFit
- ICG
- Precor
- Assault Fitness
- Spinner
- Matrix
- Johnson
- Vision
- Horizon
- Technogym
- SKILLMILL
- BIOCIRCUIT
equipment_category
Hierarchy: Yes, 3 levels
Used By: Professional and Company entities
Structure Example:
- Cardio Equipment
- Treadmills
- Folding
- Non-folding
- Incline
- Ellipticals
- Front-drive
- Rear-drive
- Center-drive
- Treadmills
- Strength Equipment
- Free Weights
- Dumbbells
- Barbells
- Kettlebells
- Machines
- Plate-loaded
- Pin-loaded
- Cable
- Free Weights
course_category
Hierarchy: Yes, 2 levels
Used By: Course entities
Structure Example:
- Training Methodologies
- Strength Training
- HIIT
- Functional Training
- Corrective Exercise
- Business Skills
- Client Acquisition
- Marketing
- Pricing Strategy
- Retention
- Specialized Populations
- Pre/Post Natal
- Senior Fitness
- Youth Athletics
- Special Needs
difficulty_level
Hierarchy: Yes, 1 level
Used By: Course entities
Structure Example:
- Beginner
- Intermediate
- Advanced
- Expert
certificate_type
Hierarchy: Yes, 2 levels
Used By: Certificate entities
Structure Example:
- Professional Development
- Continuing Education
- Specialization
- Mastery
- Technical Certification
- Equipment Operation
- Maintenance
- Programming
- Business Certification
- Sales
- Management
- Marketing
course_tag
Hierarchy: No, flat structure
Used By: Course entities
Common Tags: CEU-credits, certification-prep, hands-on, video-based, research-backed, equipment-specific, brand-certified, mobile-friendly, interactive, assessment-included, mentorship, quick-reference, business-builder, technique-focused, client-programming
WordPress user tables are extended with custom user meta fields to track course progress, account settings, and platform-specific data.
wp_users (Core WordPress Table)
Field | Description | Notes |
---|---|---|
ID | User ID | Primary key |
user_login | Username | Login identifier |
user_pass | Password | Hashed |
user_email | Email address | Required, verified |
user_registered | Registration date | When account created |
user_status | Account status | Active/inactive |
wp_usermeta (Extended with Custom Fields)
Meta Key | Type | Description | Notes |
---|---|---|---|
gymspotter_professional_id | Number | Professional entity ID | Links user to Professional |
gymspotter_company_ids | Array | Company entity IDs | Companies user manages |
gymspotter_membership_type | String | Account level | "free", "pro", "enterprise" |
gymspotter_membership_expiry | Date | Subscription expiry | Next renewal date |
gymspotter_user_stripe_id | String | Stripe customer ID | For billing |
user_course_progress | Array | Course progress data | JSON: {course_id: {progress: 75, started: date, last_activity: date}} |
completed_lessons | Array | Completed lesson IDs | Array of lesson post IDs |
quiz_scores | Array | Quiz results | JSON: {quiz_id: {score: 85, attempts: 2, passed: true, date: date}} |
earned_certificates | Array | Earned certificates | JSON: {cert_id: {date: date, code: "ABCD1234", expiry: date}} |
ambassador_code | String | Referral code | Unique affiliate code |
ambassador_earnings | Number | Lifetime earnings | Total commission amount |
ambassador_referred_by | Number | Referrer's user ID | Who referred this user |
connection_requests_sent | Array | Pending connection requests | Array of professional IDs |
connection_requests_received | Array | Incoming connection requests | Array of professional IDs |
notification_preferences | Array | Notification settings | JSON: {email: true, sms: false, push: true} |
platform_achievements | Array | Earned badges/achievements | Array of achievement IDs with dates |
The platform uses custom relationship tables to manage complex connections between entities. These tables are created by the Meta Box Relationships extension.
wp_mb_relationships
Field | Type | Description | Notes |
---|---|---|---|
id | Number | Relationship ID | Primary key |
from | Number | Source object ID | Usually post ID |
to | Number | Destination object ID | Usually post ID |
type | String | Relationship type | See common types below |
Common Relationship Types
Type | From → To | Description |
---|---|---|
professional_connections | Professional → Professional | Network connections between professionals |
professional_employment | Professional → Company | Employment relationship |
company_team | Company → Professional | Team members at company |
professional_courses | Professional → Course | Courses completed by professional |
professional_certificates | Professional → Certificate | Certificates earned by professional |
course_instructor | Course → Instructor | Course taught by instructor |
course_certificate | Course → Certificate | Certificate awarded by course |
company_partners | Company → Company | Business partnerships |
professional_referrals | Professional → Professional | Client referrals (with metadata) |
wp_mb_relationships_meta
Stores additional data about specific relationships.
Field | Type | Description | Notes |
---|---|---|---|
id | Number | Meta ID | Primary key |
relationship_id | Number | Relationship ID | Foreign key to wp_mb_relationships |
meta_key | String | Meta key | Field identifier |
meta_value | String | Meta value | Field data (serialized for complex data) |
Common Relationship Meta Keys
Meta Key | Relationship Type | Description |
---|---|---|
connection_date | professional_connections | When connection was established |
employment_position | professional_employment | Job title at company |
employment_start_date | professional_employment | When employment began |
course_completion_date | professional_courses | When course was completed |
certificate_issue_date | professional_certificates | When certificate was earned |
certificate_expiry_date | professional_certificates | When certificate expires |
referral_count | professional_referrals | Number of clients referred |
partnership_type | company_partners | Type of business relationship |
Custom tables for high-performance analytics and tracking that require frequent reads/writes outside the WP post meta system.
gs_profile_views
Field | Type | Description | Notes |
---|---|---|---|
id | Number | View ID | Primary key |
profile_id | Number | Professional/Company ID | Entity being viewed |
profile_type | String | Entity type | "professional" or "company" |
viewer_id | Number | Viewer user ID | NULL if anonymous |
viewer_ip | String | IP address hash | Hashed for privacy |
timestamp | DateTime | View timestamp | When view occurred |
source | String | Traffic source | Referrer information |
is_unique | Boolean | Unique view flag | 1 if first view in 24h |
gs_connection_events
Field | Type | Description | Notes |
---|---|---|---|
id | Number | Event ID | Primary key |
from_id | Number | Requester ID | Professional entity ID |
to_id | Number | Requested ID | Professional entity ID |
event_type | String | Event type | "request", "accept", "decline", "remove" |
timestamp | DateTime | Event timestamp | When event occurred |
status | String | Current status | "pending", "accepted", "declined", "removed" |
message | Text | Request message | Optional connection note |
gs_ambassador_referrals
Field | Type | Description | Notes |
---|---|---|---|
id | Number | Referral ID | Primary key |
ambassador_id | Number | Ambassador user ID | Referrer |
referred_user_id | Number | Referred user ID | New user |
referral_code | String | Referral code used | Tracking code |
signup_date | DateTime | Registration date | When user registered |
conversion_date | DateTime | Paid conversion date | NULL if not converted |
plan_type | String | Subscription plan | "pro", "pro_annual", etc. |
commission_amount | Decimal | Commission earned | 20% of subscription price |
lifetime_value | Decimal | Total commissions | Running total from all renewals |
status | String | Referral status | "pending", "active", "cancelled" |
gs_user_activity_log
Field | Type | Description | Notes |
---|---|---|---|
id | Number | Activity ID | Primary key |
user_id | Number | User ID | Actor |
activity_type | String | Activity category | "login", "profile_update", "course_progress", etc. |
activity_action | String | Specific action | "started", "completed", "updated", etc. |
object_id | Number | Related object ID | Entity being acted upon |
object_type | String | Object type | "professional", "course", "lesson", etc. |
timestamp | DateTime | Activity timestamp | When activity occurred |
details | JSON | Additional data | Activity-specific information |