Practice Sessions Infrastructure
Technical reference for Practice Sessions purchase flow, access tiers, booking system, and automation. Current program: Montreal, Spring 2026 (16 sessions, March 15 – June 27).
See Baseworks–Practice Automation Infrastructure for the overall platform stack.
Overview
Section titled “Overview”Practice Sessions use a credits-based booking model: users purchase session passes (credits), then self-book specific dates from their account dashboard on baseworks.com. There is no fixed enrollment — each participant decides how many sessions to commit to.
Access tiers and pricing are determined by WP Fusion account tags. The booking UI adapts to show the appropriate pricing for the logged-in user.
No Uncanny Automator deadline recipes apply to Practice Sessions — access does not expire.
WooCommerce Products — Spring 2026
Section titled “WooCommerce Products — Spring 2026”| ID | Name | WooCommerce price (USD) | Page copy price (CAD) | Track | Tag required |
|---|---|---|---|---|---|
| 47341 | Practice Session (Montreal, Spring 2026) - Intro | $32 USD | — | Track B (new to Baseworks) | None (open) |
| 47343 | Practice Session (Montreal, Spring 2026) - Standard | $27 USD/session | ~$38 CAD/session | Track B (post-intro) | track-standard (ID: 101) |
| 47188 | Practice Session (Montreal, Spring 2026) - Alumni | $27 USD/session base | ~$38 CAD/session base | Track A (alumni) | track-alumni (ID: 97) |
Currency note: WooCommerce products are priced in USD. The site displays prices in CAD via WooCommerce Payments multi-currency — CAD amounts shown above are approximate at the current exchange rate. The Alumni sliding scale is applied dynamically; the widget shows the CAD price in real time. Standard is flat rate. Intro page copy price in CAD — confirm on the live page (the $32 USD WooCommerce price converts to ~$45 CAD at typical rates).
These products have no WooCommerce category assigned. They are infrastructure nodes — not indexed, not publicly browsable. Users reach them via direct add-to-cart links (from the intake form outcome or the booking widget).
Pricing Tiers
Section titled “Pricing Tiers”Track A — Alumni Sliding Scale (active)
Section titled “Track A — Alumni Sliding Scale (active)”Available to users with the Track Alumni tag (WP Fusion tag ID: 97). Unlocked automatically at checkout — logged-in alumni see the discounted rate with real-time quantity preview.
Discount formula: discount = min((quantity - 1) × 0.035, 0.49)
Per-session price (CAD): $38.00 CAD × (1 – discount) (base = $27 USD, displayed in CAD via multi-currency)
| Sessions | Per session (CAD) | Total pre-tax (CAD) | Discount |
|---|---|---|---|
| 1 | $38.00 | $38.00 | 0% |
| 5 | $32.68 | $163.40 | 14% |
| 10 | $26.03 | $260.30 | 31.5% |
| 16 | $19.38 | $310.08 | 49% |
Full table: Practice Sessions Pricing.
Implementation: Custom WooCommerce mu-plugin on baseworks.com using woocommerce_before_calculate_totals hook. Alumni pricing is gated by track-alumni tag check at runtime. The booking widget (separate mu-plugin) also reads this tag to show/hide the alumni pricing card.
Track B — Standard (flat rate, active)
Section titled “Track B — Standard (flat rate, active)”$27 USD/session (~$38 CAD) regardless of quantity purchased, available in packs via a variable product (ID 47343). Pricing tiers are defined as WooCommerce variations; credits granted from the pass-size variation attribute (e.g. "5 sessions" → 5 credits) via the custom booking plugin.
Access gate: The Standard pricing section is locked via WP Fusion tag Track Standard (ID: 101). Only users who have been assigned this tag can see and purchase standard passes. This applies both on the main page and in the booking widget.
A sliding scale discount for Standard pricing (similar to alumni) has not been implemented — pricing structure not yet finalized. Flat rate is live and fully operational.
Track B — Introductory (active)
Section titled “Track B — Introductory (active)”$32 USD for a single introductory session (CAD equivalent shown at checkout via multi-currency). One credit granted at purchase regardless of quantity field (plugin enforces 1 credit). For new-to-Baseworks participants who qualify via the intake form.
This product is technically accessible to anyone who has the direct add-to-cart URL (not restricted by WP Fusion tag), but the only way to encounter the link is via the intake form Outcome A. No public product page.
Intake Form — Access Routing
Section titled “Intake Form — Access Routing”A custom PHP shortcode [bw_practice_quiz] on the Practice Sessions page routes Track B visitors to the appropriate starting point. 6-step scored screener; no form submission, no personal data captured.
| Outcome | Score | Result |
|---|---|---|
| A — Intro session | ≥8 pts | Direct add-to-cart link for product 47341 |
| B — Study Group first | 5–7 pts | Redirect to Spring Study Group page |
| C — Primer + Events | ≤4 pts | Links to Primer and Events pages |
Professional override: Step 1 = technical discipline + Step 3 = precision-central → always Outcome A.
Aggregate outcomes logged (no personal data) to wp-content/uploads/bw-quiz-log/quiz-outcomes.jsonl.
Full scoring logic: Practice Sessions — Intake Form.
Track A users (alumni) bypass the form entirely — they use the booking widget directly.
Standard Track Bottleneck — Intro-First Flow
Section titled “Standard Track Bottleneck — Intro-First Flow”The intake form is the enforced entry point for Standard Track. New participants cannot purchase standard passes directly, even if they find the product URL. The flow is designed as a one-way gate:
- Visitor completes the intake form — Outcome A indicates sufficient movement background.
- Outcome A shows a direct add-to-cart link for the intro session only (product 47341). Standard pass options are not visible or purchasable at this point.
- Purchasing the intro session creates their baseworks.com account (if they don’t have one). At this stage they have 1 credit and can book their intro session from My Account.
- They physically attend the session. After attending, the team manually assigns the
Track StandardWP Fusion tag (ID: 101). - Once tagged, standard pass options become visible and purchasable on their next visit.
Existing account holders: If someone already has a baseworks.com account for any reason but does not have the Track Standard tag, the standard pricing section remains locked for them. Logging in does not bypass the gate — tag assignment is required regardless of account status.
Activity Recording and Tag Assignment
Section titled “Activity Recording and Tag Assignment”Tagging someone with Track Standard after their first in-person session coincides with recording that session as learning activity in the practice platform. Context:
- The practice platform tracks online learning activity automatically (Primer, platform practice sessions, etc.).
- In-person study group attendance is currently logged manually: CSV exports of session attendees are imported into the activity tracking form on the practice site.
- For first-time practice session attendees, this same manual step — recording the in-person session on the practice platform — will be done at the same time as assigning the
Track Standardtag. - The goal over time is to create more automated ways to integrate in-person attendance with other learning activities on the practice platform. For now, it is fully manual.
Booking System — Custom Plugin
Section titled “Booking System — Custom Plugin”Plugin: baseworks-session-booking.php (mu-plugin, baseworks.com)
Shortcode: [bw_booking_dashboard program="ps_spring_2026"]
Location: baseworks.com/available-programs/ (inside account dashboard)
- User purchases session pass (product 47341, 47188, or 47343)
- On order completion, credits added to user meta
bw_credits_ps_spring_2026 - User opens Available Programs page → sees 16 Spring session slots
- Checks desired sessions → confirms → credits deducted, bookings written to
wp_bw_bookings - Cancellations: per-session cancel button; 24-hour cutoff enforced; credit refunded
Credits Granted Per Product
Section titled “Credits Granted Per Product”| Product ID | Type | Credits |
|---|---|---|
| 47341 | Intro | 1 (fixed) |
| 47188 | Alumni | qty purchased |
| 47343 | Standard | qty from pass-size variation attribute |
Session Capacity
Section titled “Session Capacity”20 participants per session (all ticket types combined).
Admin Interface
Section titled “Admin Interface”WP Admin → Session Bookings: session table, attendee counts, credit balances, email notification toggle. Manual credit adjustment available under individual user profiles.
Full technical documentation: Practice Sessions Booking Widget.
WP Fusion Tags — Practice Sessions
Section titled “WP Fusion Tags — Practice Sessions”| Tag | Slug | ID | Role |
|---|---|---|---|
| Practice Sessions - MTL 2026 Spring | practice-sessions---mtl-2026-spring | — | BuddyBoss community / forum access for enrolled participants |
| Track Alumni | track-alumni | 97 | Enables alumni pricing at checkout and in booking widget |
| Track Standard | track-standard | 101 | Unlocks Standard pricing section and passes at checkout and in booking widget |
Track Alumni is not granted on purchase — it is applied manually by the team when a participant meets alumni eligibility criteria. All currently eligible participants are tagged.
Track Standard is also assigned manually — see Standard Track Bottleneck above. No automatic mechanism currently exists. Assignment coincides with recording the participant’s first in-person session on the practice platform.
No Uncanny Automator Automations
Section titled “No Uncanny Automator Automations”Practice Sessions currently have no Uncanny Automator recipes. Purchase, credit assignment, and booking are handled entirely by the custom booking plugin and WP Fusion. If post-purchase communication (e.g., onboarding emails, schedule reminders) is needed in the future, that would be added here.
Known Gaps and Pending Decisions
Section titled “Known Gaps and Pending Decisions”- Standard sliding scale: Pricing structure not finalized. Standard widget is live as flat rate — discount plugin not implemented yet.
- Proto Studio rate: Special rate for Proto Studio members/residents. Terms not yet confirmed; currently handled via email on request. No product or automation exists.
- FAQ cancellation window: Page copy still has
[X hours]placeholder — confirmed to be 24 hours; needs to be updated in the page copy. - French intake form and checkout terms acknowledgment: Not implemented. Decision (2026-03-07): duplicate the
[bw_practice_quiz]shortcode with French strings (either[bw_practice_quiz_fr]or alang="fr"parameter) for a standalone French practice sessions page. Additionally, add a bilingual checkbox + French terms link to all checkout entry points (intake form Outcome A card, booking widget, study group CTA) — CTA button hidden until checkbox checked. No custom WooCommerce plugin needed; modifications to existing shortcode and mu-plugin code. Code:baseworks-changelog/sites/baseworks.com/code-snippets/2026-03-05-practice-sessions-quiz-v2.php. Full compliance plan: Quebec Language Compliance — Bill 96.
Related
Section titled “Related”- Practice Sessions Pricing — Full Table and Plugin Spec
- Practice Sessions Page Draft + Intake Form
- Practice Sessions Booking Widget — Technical Docs
- Baseworks–Practice Automation Infrastructure
- Study Group Infrastructure
- Practice Sessions T&Cs Addendum
- Practice Sessions FAQ Block
Widget development: practice-sessions-booking-widget