Membership Plans
Membership plans define the pricing tiers available to your members. Each plan is synced with Stripe and can include trial periods, feature lists, and class access restrictions.
Creating a Plan
Navigate to Payments → Plans tab and click Create Plan.
Plan Fields
What Happens Behind the Scenes
When you create a plan, the platform:
- Creates a Stripe Product on your connected Stripe account with the plan name and description
- Creates a Stripe Price on that product with the amount, currency, and billing interval
- Saves the plan to your academy's database with references to the Stripe Product and Price IDs
- If you selected specific allowed classes, creates access records linking the plan to those class templates
Plans are synced with Stripe
Every plan you create exists as both a database record and a Stripe Product/Price pair on your connected account. This ensures your billing is always in sync with Stripe's subscription engine.
Class Access Restrictions
By default, a plan gives members access to all classes. You can optionally restrict a plan to specific class templates:
- In the plan form, you'll see checkboxes for each active class template
- Check only the classes this plan should include
- Members on this plan will only be able to check in to those classes
- On the mobile app, restricted classes show a lock icon and an "Upgrade" prompt
Example use case: A "Weekday Fundamentals" plan at a lower price that only includes your Monday-Friday beginner classes, while a "Full Access" plan includes everything.
Editing a Plan
Click the Edit button on any plan row to modify it. You can change:
- Plan name and description
- Price and billing interval
- Trial period
- Feature list
- Allowed classes
Price changes create a new Stripe Price
Stripe Prices are immutable — they cannot be modified after creation. If you change the price, currency, or billing interval, the platform automatically creates a new Stripe Price and archives the old one. Existing subscribers remain on their current price until they cancel and resubscribe.
Deactivating a Plan
Toggle a plan between Active and Inactive using the status toggle:
- Active plans are visible to new members and available for subscription
- Inactive plans are hidden from new members but existing subscribers are not affected
- Reactivate a plan at any time to make it available again
Deleting a Plan
You can only delete a plan if it has zero active subscribers (no members with active, trialing, or paused subscriptions on that plan). Plans with active subscribers must be deactivated instead.
How Members Subscribe
Mobile App Flow
- Members navigate to the Plans screen (accessible from their profile or after accepting an invite)
- All active plans are displayed as cards with the name, price, billing interval, trial period, and features
- Tapping Subscribe opens Stripe Checkout in the system browser
- The member enters their payment details and completes the purchase
- Stripe processes the payment and creates the subscription
- A webhook notifies the platform, which creates the subscription record in the database
- The member is redirected back to the app with a success confirmation
After Subscribing
The member's subscription appears on their Profile tab and Membership screen, showing:
- Plan name and status (Active, Trialing, etc.)
- Price and billing interval
- Next billing date
- Trial end date (if applicable)
Trial periods
If a plan has a trial period, the member won't be charged until the trial ends. Their status shows as "Trialing" during this time. If they cancel before the trial ends, they're never charged.
Plans Table (Admin View)
The Plans tab shows all your plans in a table with:
| Column | Description | |--------|-------------| | Plan Name | The display name | | Price | Formatted as "$X.XX / interval" | | Trial | Number of trial days (or "None") | | Classes | "All Classes" or count of allowed classes | | Subscribers | Number of active subscribers on this plan | | Status | Active or Inactive badge | | Actions | Edit, Activate/Deactivate, Delete buttons |