F45 Stockyards
#1505 · 95qo · stockyards · Canada · 14 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
12 shown on this tab · 12 across all tabs
Not in the memberships grid
1 of 14 plansThe memberships section means every tab together, so this list does not change when you switch tabs. The other 12 plans are assigned to a tab and a column.
Program not surfaced here · 1Hyrox, Scans and similar are booked through their own flow
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 | 1505 | — | Primary key |
| name | "F45 Stockyards" | — | Studio name shown in the page copy |
| code | "95qo" | — | Short studio code |
| slug | "stockyards" | — | Microsite path segment |
| status | 1ok | — | API status: 1 = live; plans are only synced for 1 |
| country | "Canada" | — | Country name |
| state | "ON" | — | State or region code |
| timezone | "America/Toronto" | — | 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:13" | — | Last successful sync |
Display gates
| Field | Value | Test | Description |
|---|---|---|---|
| membership_option_display | "true"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 | "2790284"ok | Points at plan.id — the authoritative way a plan becomes the trial | |
| trial_plan_id | "100002" | 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 | "10 Day Trial (Local Residents Only)" | — | Marketing line. Only on /v1/studio/{id}, not the bulk list |
| trial_plan_description | "Take your fitness journey to the next level with F45 Stockyards' unbeatable offer! For only $15, unlock 5 classes (over the course of 7 consecutive days) to our cutting-edge 45-minute functional training sessions. Dive into a world where every workout brings something new, ensuring you're never bored. From high-energy cardio to strength-building resistance and everything in between, our classes are designed to keep you engaged and motivated. Plus, you'll have the chance to connect with our experienced coaching team and become part of our vibrant community from your very first class.\n\nDon't miss out on this fantastic opportunity to jumpstart your fitness goals. Activate your trial today and experience the difference. Remember, your 7-day pass seamlessly transitions to our FLEX (week-to-week) unlimited membership after the trial, giving you continued access to our dynamic classes without interruption. Opt-out is hassle-free if you decide it's not for you—just cancel during the trial period. Check out our terms and conditions for a full overview of this incredible offer. Start your fitness transformation with F45 Stockyards now!" | — | Longer trial description |
| trial_form_btn_label | "5 classes for 15$" | — | CTA label on the trial form |
Currency
| Field | Value | Test | Description |
|---|---|---|---|
| currency | "CAD" | — | ISO code, when the API supplies one |
| currency_symbol | "$" | — | 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 | 7 | — | Plans in the Unlimited column |
| limited_column | 0bad | — | Plans in the Limited column |
| pack_column | 5 | — | Plans in Class Packs — includes drop-ins |
| tabs_shown | "Memberships" | — | Tab bar only renders when there are 2 or more |
| offpage_plans | 1warn | — | Program not surfaced here (Hyrox, Scans...) |
| trial_section_cards | 1ok | — | Cards in the Trial section |
| resolved_trial | "7 Day Trial (Local Residents Only)"ok | — | Trial config points at a plan the studio still sells |
| popular_plan | "F45 Unlimited | Annual | Weekly Autopay ($55)"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 |