Locate the system that owns a GymCore record

Locate the system that owns a GymCore record.

Status: source-reviewed Section: Reference

Search documentation

Type to search.

Before correcting a customer record, identify which system owns it. WordPress holds identities and content, WooCommerce owns commerce records, and GymCore stores operational records in custom tables. A database table name is a support handoff, not an instruction to edit production data directly.

The site’s WordPress table prefix replaces `wp_`; for example, `wp_gym_attendance` may be `client1_gym_attendance`.

Source-of-truth map

Customer information Owning source Important note
Login, email, display name, roles WordPress users and user meta GymCore profile values can also live in user meta
Products, orders, refunds, subscriptions, payment tokens WooCommerce and its active storage system Do not “repair” an order by changing a GymCore log
Classes, tournaments, technique videos, announcements, testimonials, legacy trial leads WordPress custom post types Publication status and post meta are separate from operational custom tables
Attendance, ranks, leads, waivers, retention, referrals, scheduled class occurrences GymCore custom tables Use the matching admin workflow when one exists
AI conversations and proposed actions GymCore AI custom tables Retention purges conversations/messages in the audited source, not pending actions or every audit record
QuickBooks transactions QuickBooks Online GymCore’s sync log records attempts; it is not the accounting ledger
SMS delivery Configured SMS provider GymCore logs local submission/status; the provider owns final delivery state

Core custom-table catalogue

Each name below is appended to the WordPress database prefix.

Area Tables
Progress and attendance `gym_ranks`, `gym_rank_history`, `gym_attendance`, `gym_achievements`, `gym_belt_tests`, `gym_belt_test_results`, `gym_belt_system`
Communications and activity `gym_ai_sms_log`, `gym_funnel_log`, `gym_meta_log`, `gym_retention_log`
Tournaments and classes `gym_tournament_registrations`, `gym_tournament_results`, `gym_class_occurrences`, `gym_class_waitlist`
Leads and trials `gym_leads`, `gym_lead_stage_operations`, `gym_inbound_provider_events`, `gym_inbound_provider_effects`, `gym_lead_contacts`, `gym_lead_participants`, `gym_lead_touches`, `gym_lead_consent_events`, `gym_lead_notes`, `gym_lead_communications`, `gym_trial_appointments`
Waivers and retention `gym_waivers`, `gym_waiver_links`, `gym_churn_scores`, `gym_member_pauses`
Referrals and accounting `gym_referrals`, `gym_qbo_sync_log`
Tenant, AI knowledge, and audit support `gym_tenant_access_log`, `gym_ai_knowledge`

The current registry creates all tables above. Older migrations or extensions may leave additional tables; their presence does not prove current code reads them.

GymCore AI custom tables

Table Stored information
`gym_core_ai_conversations` Conversation headers, user association, persona, and timestamps
`gym_core_ai_messages` Messages belonging to conversations
`gym_core_ai_pending_actions` Proposed actions and approval state

WordPress content types

Content type key Customer-facing purpose
`gym_class` Class/program content
`gym_tournament` Public tournament content
`gym_technique_video` Private admin video records rendered for eligible members
`gym_announcement` Announcements
`hp_testimonial` Testimonials; admin UI exists but no menu entry is registered
`hp_trial_lead` Legacy trial-lead content used by older/reporting paths

Exact steps

Safe stop: Record identifiers and inspect the owning screen without editing tables; stop before any correction when no supported application workflow or scoped restore exists.

  1. Start from the visible customer identifier: WordPress user ID/email, WooCommerce order/subscription ID, lead ID, class occurrence, or AI conversation ID.

    Expected: You have one stable identifier and the time of the reported event.

  2. Open the normal WordPress, WooCommerce, GymCore, QuickBooks, or provider screen that owns the record.

    Expected: The source record explains the current status without relying only on a downstream log.

  3. Use logs or custom-table rows to trace related activity, keeping the original identifier and timestamps together.

    Expected: Related rows point back to the same source record; a missing link is evidence to investigate, not a reason to create one manually.

  4. Correct the record through its owning application workflow and re-open the source record.

    Expected: The source system shows the intended value and downstream logs reflect a new action. If no supported workflow exists, take a scoped backup and escalate for a reviewed data repair rather than editing an unknown table.

Privacy and recovery boundaries

  • A WordPress privacy erasure deletes selected GymCore user meta and rank history and anonymizes attendance to user ID `0`; it does not automatically erase WooCommerce, CRM, provider, AI-action, or backup copies.
  • Deleting an AI conversation does not imply every proposed action or external result was removed.
  • Restoring one custom table can leave cross-system references inconsistent. Restore related records as a coordinated incident, then verify the owning source and every affected integration.

Verified against: the current GymCore table registry, WordPress post-type registrations, WooCommerce integrations, and GymCore AI activator in the checked-out source.

Need help?

Describe one problem and the installed versions. Never send passwords, license keys, API keys, payment details, or member records.

Contact GymCore