Configure Join-Code Usage Limits and Expiration

Usage limits and expiration let an administrator bound how long and how many times a reusable Join Code can be used. They are enforced server-side, not only displayed in the frontend selector.

Use unlimited codes deliberately. A code with usage_limit=0 has no use-count ceiling, and a blank expiration has no date cutoff.

Usage Limit

Enter 0 for unlimited uses or a positive integer for a capped code. QCFUM stores both usage_limit and used_count. The frontend label shows either “Unlimited uses” or the calculated number of uses remaining.

Expiration

The Administrator form accepts a date. QCFUM stores the selected date at 23:59:59; runtime checks compare the stored value with UTC time. A blank value remains NULL and is treated as no expiration.

When a Code Stops Appearing

The usable-code query excludes a code once used_count >= usage_limit for a positive limit, or when expires_at is in the past. The completion handler performs the same checks again so a stale page cannot bypass them.

Use Count Is Reserved Before Account Creation

QCFUM increments the use count atomically before creating the account. If the account-creation workflow then fails, it releases that reserved use. A successful creation keeps the increment.

Recommended Use

  • Use expiration for campaign, class, event, volunteer, or temporary enrollment codes.
  • Use a positive limit where the number of eligible registrations is known.
  • Review Used versus limit before extending a code.
  • Do not reset used_count casually; it is part of the code’s operational history.

Community Discussion

Want to compare Joomla user-onboarding workflows, share practical QCFUM tips, or discuss how other administrators use this feature? Visit the QC Frontend User Manager Community. For private support, bug reports, account-specific entitlement problems, or feature requests, use the QuantaCade support system.