The Membership Plan object

Attributes

  • membership_plan_id string required

    Unique identifier for the membership plan.

  • facility_id string either/orProvide the facility identifier type configured for your integration: use facility_id for direct-link integrations, or linking_identifier for linking-identifier integrations. Do not send both; the API uses the identifier type configured for your partner account and ignores the other one. Learn more

    Unique identifier of the facility from Performance Hub.

  • linking_identifier string either/orProvide the facility identifier type configured for your integration: use facility_id for direct-link integrations, or linking_identifier for linking-identifier integrations. Do not send both; the API uses the identifier type configured for your partner account and ignores the other one. Learn more

    Unique identifier value for each location that the partner uses (e.g., "Branch ID", "Location Code", "Store Number"). Learn more

  • name string required

    Human-readable plan name (e.g., "Unlimited Monthly", "10 Class Pack").

  • billing_cycle string optional

    Billing frequency. One of weekly, fortnightly, monthly, annually, or one_time.

  • price integer optional

    Base cost in smallest currency unit (cents for USD/AUD).

  • currency string optional

    ISO 4217 currency code (e.g., "AUD", "USD").

  • description string optional

    Optional marketing or internal description.

  • active_members integer optional

    Number of active members using this membership plan

  • is_recurring boolean optional

    Whether the plan auto-renews.

  • is_trial boolean optional

    Whether this is a trial offering.

  • visible_to_public boolean optional

    Whether the plan is available for self-service purchase.

  • duration_days integer optional

    Number of days the membership plan is valid for.

  • access_zones array optional

    Array of access zones included in the membership plan. Each zone can define its own access hours. See Access Zones for details.

  • class_limit integer optional

    Maximum number of classes allowed (null for unlimited).

The Membership Plan object

{
  "membership_plan_id": "plan_99999",
  "facility_id": "550e8400-e29b-41d4-a716-446655440000",
  // "linking_identifier": "branch_downtown",  // If using linking identifier
  "name": "Unlimited Monthly",
  "description": "Unlimited access to all gym facilities and group classes",
  "billing_cycle": "monthly",
  "price": 8900,
  "currency": "AUD",
  "duration_days": 30,
  "is_recurring": true,
  "is_trial": false,
  "visible_to_public": true,
  "active_members": 245,
  "access_zones": [
    {
      "name": "Main Gym Floor",
      "description": "Full access to cardio and weight training equipment",
      "access_hours": {
        "mon": [["05:00", "22:00"]],
        "tue": [["05:00", "22:00"]],
        "wed": [["05:00", "22:00"]],
        "thu": [["05:00", "22:00"]],
        "fri": [["05:00", "22:00"]],
        "sat": [["06:00", "20:00"]],
        "sun": [["07:00", "18:00"]]
      }
    },
    {
      "name": "Group Fitness Studio",
      "description": "Access to group fitness classes",
      "access_hours": {
        "sat": [["06:00", "20:00"]],
        "sun": [["07:00", "18:00"]]
      }
    }
  ],
  "class_limit": null
}