F45 Ventura Main
#1977 · 85mp · venturamain · United States · 4 plans
Trial
Membership options
Unlimited Memberships
- ✓Unlimited Classes
- ✓Recommended for 3x or more per week
Select your plan
Limited Memberships
- ✓Limited Classes
- ✓Recommended for less than 3x per week
Select your plan
No available products.
Class Packs
- ✓Flexibility to visit with varying frequency
- ✓No lock-in contract
Select your plan
3 shown on this tab · 3 across all tabs
How this studio maps to the design
Values are shown exactly as stored. Flags in the Test column can be flipped to re-render the page with a different config — nothing is written to the database.
Studio
| Field | Value | Test | Description |
|---|---|---|---|
| studio_id | 1977 | — | Primary key |
| name | "F45 Ventura Main" | — | Studio name shown in the page copy |
| code | "85mp" | — | Short studio code |
| slug | "venturamain" | — | Microsite path segment |
| status | 1ok | — | API status: 1 = live; plans are only synced for 1 |
| country | "United States" | — | Country name |
| state | "CA" | — | State or region code |
| timezone | "America/Los_Angeles" | — | Studio timezone |
| booking_provider | "mindbody" | — | mindbody or glofox |
| deleted_at | null | — | Set when the API stops listing this studio |
| synced_at | "2026-08-27 09:39:31" | — | Last successful sync |
Display gates
| Field | Value | Test | Description |
|---|---|---|---|
| membership_option_display | "1"ok | Turns this whole page off for the studio | |
| membership_option_type | "f45_widget" | — | Which membership widget is used |
| membership_option_url | null | — | External membership URL, when set |
| membership_join_url | null | — | Deep link into the booking provider |
| hide_on_website | "0" | Hidden from the public site | |
| is_test_studio | "0" | Internal test site — skipped by sync | |
| is_recovery_tab_enabled | "0" | Config flag for the Recovery tab. NOT what the page uses: the tab appears when the studio actually sells Recovery products, which is why the two can disagree |
Trial config
| Field | Value | Test | Description |
|---|---|---|---|
| trial_plan_uid | "2784942"ok | Points at plan.id — the authoritative way a plan becomes the trial | |
| trial_plan_id | "100005" | Points at plan.code — the fallback match | |
| trial_form_type | "trial_mindbody" | — | trial_mindbody / trial_glofox are purchasable in-app; anything else sends the member elsewhere |
| trial_copy | "Intro Membership" | — | Marketing line. Only on /v1/studio/{id}, not the bulk list |
| trial_plan_description | "5 Class Intro offer is valid for seven days from date of first use. This offer is valid for first time users and must be a local resident of Ventura County." | — | Longer trial description |
| trial_form_btn_label | "TRIAL 5 CLASSES $25" | — | CTA label on the trial form |
Currency
| Field | Value | Test | Description |
|---|---|---|---|
| currency | null | — | ISO code, when the API supplies one |
| currency_symbol | nullwarn | — | Null on most studios, so prices fall back to the ISO code and then to $ |
Derived — not API fields
| Field | Value | Test | Description |
|---|---|---|---|
| columns_filled | "2 of 3"warn | — | Membership columns with at least one product |
| unlimited_column | 1 | — | Plans in the Unlimited column |
| limited_column | 0bad | — | Plans in the Limited column |
| pack_column | 2 | — | Plans in Class Packs — includes drop-ins |
| tabs_shown | "Memberships" | — | Tab bar only renders when there are 2 or more |
| offpage_plans | 0ok | — | Program not surfaced here (Hyrox, Scans...) |
| trial_section_cards | 1ok | — | Cards in the Trial section |
| resolved_trial | "5 Classes"ok | — | Trial config points at a plan the studio still sells |
| popular_plan | "F45 Unlimited | Month to Month | Monthly Autopay ($219)"bad | — | F45 exposes no featured field, so the pill is derived: cheapest Unlimited by monthly-equivalent price — which currently means raw price, since the widget produces no cadence to normalise by |