Membership Usage Quotas

Overview

Membership plans support usage quotas that limit how many times a member can visit, how many hours they can use per day, and how many time slot bookings they can make per month. When a quota is exceeded, you can either block further usage or automatically charge an overage fee via Stripe Invoice Item.

Members can view their current quota status at a glance on the home screen of the Member App through the QuotaBar component.


Detailed Features

Feature 1: Configuring Quotas (Admin)

Quotas are set when creating a membership plan in the Membership tab of the admin dashboard.

Configurable Limits

Field Description Reset Period
Monthly Visits Maximum number of check-ins per month Monthly
Daily Hours Maximum hours of usage per day Daily
Monthly Bookings Maximum time slot bookings per month Monthly

Leave any field blank to treat it as unlimited.

How to Create a Plan with Quotas

  1. Open the admin dashboard and navigate to the Membership tab
  2. Click the Create Plan button
  3. Enter basic plan information (name, price, billing interval, etc.)
  4. In the Usage Limits section, enter the desired limits

Feature 2: Overage Policy

Choose what happens when a member exceeds their quota.

Policy Behavior
Block Check-ins and bookings are denied once the limit is reached. No additional charge.
Charge Usage continues beyond the limit. Each overage is added as a Stripe Invoice Item on the next billing cycle.

Overage Fees (Charge policy only)

When the Charge policy is selected, overage fee fields appear.

Field Description Example
Overage fee per visit Charged for each check-in beyond the monthly visit limit ¥500
Overage fee per hour Charged for each hour beyond the daily hours limit ¥200
Overage fee per booking Charged for each booking beyond the monthly bookings limit ¥300

Overage fees are billed in the plan's currency (JPY/USD). Leave a fee field blank to skip overage billing for that specific quota type.

Feature 3: Quota Bar (Member App)

On the home screen of the Member App, a quota bar is displayed for each active limit on the member's plan.

Displayed Information

  • Label: Monthly Visits / Today's Usage / Monthly Bookings
  • Count: Used / Limit (e.g., 2 / 5)
  • Progress bar: Visual indicator of usage percentage
    • Teal (normal): below 80% used
    • Amber (warning): 80%–99% used
    • Red (limit reached): 100% used

Overage Charge Note

When the overage policy is set to Charge, the following note appears below the quota bars:

Overage charges apply when limits are exceeded


Configuration Examples

Example 1: Standard Coworking Plan

Allow up to 20 visits and 8 hours per day; block when exceeded:

  • Monthly Visits: 20
  • Daily Hours: 8
  • Monthly Bookings: (blank)
  • Overage Policy: Block

Example 2: Flex Membership

Allow up to 10 visits; charge ¥500 per extra visit:

  • Monthly Visits: 10
  • Daily Hours: (blank)
  • Monthly Bookings: (blank)
  • Overage Policy: Charge
  • Overage fee per visit: 500

Example 3: Studio Class Membership

Limit to 4 time slot bookings per month; block further bookings:

  • Monthly Visits: (blank)
  • Daily Hours: (blank)
  • Monthly Bookings: 4
  • Overage Policy: Block

Frequently Asked Questions

Q: When do quotas reset?

Monthly quotas reset automatically on the 1st of each month at 00:00 in the facility's timezone. Daily quotas reset every day at 00:00. No manual action is required.

Q: If multiple limits are set, which one triggers the restriction?

Any one of the limits reaching its quota is enough to trigger the restriction. For example, if both monthly visits and daily hours are set, whichever is reached first will block (or charge) further usage.

Q: When are overage charges billed?

Overage charges are recorded as Stripe Invoice Items each time a limit is exceeded. They are consolidated into the member's next regular invoice (monthly or yearly billing cycle).

Q: The member's quota bar is not visible in the app. Why?

The quota bar only appears when at least one quota limit is set on the plan. If all quota fields are blank (unlimited), no quota bar is shown.

Q: If I update a plan's quota limits, when does the change take effect?

Updated limits take effect after the next quota reset cycle. The current usage count is carried over; only the limit threshold changes.


Troubleshooting

Member is blocked even though quota appears not exceeded

Check the following:

  1. Review all quota bars on the member app home screen — daily hours and monthly visits/bookings are tracked separately
  2. Confirm the membership subscription has not expired (check "Valid Until" on the home screen)
  3. If the issue persists, contact the facility admin to review the plan configuration

Quota bar does not appear in the member app

  • All quota fields on the plan are blank (unlimited). The bar is not shown when no limits are configured.
  • Check the plan's Usage Limits settings in the admin dashboard and add at least one limit value.

Stripe Customer Portal Setup (Required for Facility Owners)

To allow members to change their payment method and download receipts, you must enable the Customer Portal in your Stripe Dashboard.

Setup Steps

  1. Log in to Stripe Dashboard
  2. Go to SettingsBillingCustomer portal
  3. Configure the following:
Setting Value Reason
Payment methods ✅ Enabled Allow members to add, update, or remove cards
Invoice history ✅ Enabled Allow members to view and download receipt PDFs
Subscriptions > Cancel subscriptions ❌ Disabled Cancellation is handled through UnlockOS
Subscriptions > Switch plans ❌ Disabled Plan changes are managed through UnlockOS
  1. Click Save

Important Notes

  • This setting applies to your entire Stripe account (not per-facility)
  • Test mode and live mode require separate configuration
  • Once configured, a "Manage Cards & Invoices" button appears on the member app's Payment History page
  • Clicking the button opens Stripe's portal; members return to the app when finished

If Customer Portal is Not Configured

If a member clicks the button before setup is complete, Stripe will return an error. Make sure to complete the above configuration before publishing your membership plans.