Group
A riding community — a named space where members plan rides, discover other riders, and stay connected around a shared location or interest.
Overview
Groups have two types:
- Public — listed in the discovery feed for users near the group's base location. Anyone can request to join; approval may be required depending on group settings.
- Private — not discoverable. Users can only see and request to join via an
invite link or QR code. Use
https://95octane.app/gas the base URL for group links.
Groups can be in one of four states:
- Active — normal operating state. All features are available.
- Archived — read-only. No new members, rides, or RSVPs. Members can still view content and leave. Can be reactivated by the owner.
- Frozen (owner lapsed) — entered automatically when the group's owner is no longer a subscriber and ownership has not been transferred to a subscriber. No new members can join and no new rides can be created. Existing rides and their participants are unaffected — they continue normally. The group leaves this state the moment a subscriber takes ownership, or the existing owner re-subscribes. See Frozen (owner lapsed).
- Banned — applied by platform operators following a report review or for platform-level misuse. All group activity is suspended. No new members can join, no new rides can be created, no settings can be changed, and no RSVPs are accepted. The owner and admins are notified and see the group labeled "Banned." Regular members see the group labeled "Unavailable" and are not told the reason. Invite links do not work. Pending ownership transfers are cancelled immediately. Pending join requests are frozen during the ban and resume on their normal schedule when the ban is lifted. The ban is lifted by an operator, who selects which state to restore the group to (default: the state before the ban). See Group Ban.
State Transitions
| From | To | Trigger |
|---|---|---|
| Active | Archived | Manual (owner) or auto-archive after 6 months inactivity |
| Active | Frozen | Owner's subscription lapses and no transfer within 7 days |
| Active | Banned | Operator action (report review or platform misuse) |
| Archived | Active | Owner reactivates |
| Archived | Banned | Operator action (report review or platform misuse) |
| Frozen | Active | Subscriber takes ownership, or owner re-subscribes before day 30 |
| Frozen | Deleted | Day 30 reached without transfer, deletion, or re-subscription |
| Banned | Previous state | Operator lifts ban — group returns to the state it was in before the ban |
Roles
Every group has exactly one owner and zero or more admins. Together they manage the group. Regular members can view group information, RSVP to rides, and participate based on group settings. Platform operators are app staff who can act on groups outside the normal owner/admin flows — banning a group following a report review or for platform-level misuse. Operators are not represented as a role within a group's member list.
Owner and admin are subscriber-only roles. Both the owner and every admin must be a subscriber. A free user can never hold either role.
- Ownership can only be transferred to an existing admin, and that admin must be a subscriber. Because all admins are already required to be subscribers, every admin is a valid transfer target.
- Admins can only be added or removed by the owner. Only subscribers can be promoted to admin. Exception: a lapsed owner retains the ability to manage admins during the freeze window (up to day 30) so they can appoint an eligible transfer recipient without re-subscribing.
- When the owner's subscription lapses, they have 7 days to transfer ownership to a subscriber. After 7 days without transfer the group enters the frozen (owner lapsed) state — unavailable to all members. Groups not resolved by day 30 are permanently deleted. See Frozen (owner lapsed) and access policy.
- When an admin's subscription lapses, they are demoted to a regular member immediately. The owner and the demoted user are both notified. See access policy.
General Rules
- Owning or administering a group requires an active subscription. Only a subscriber can create a group, hold ownership, or be an admin. A free user can belong to any number of groups as a regular member, but can never own or administer one.
- A subscriber can create groups up to the limit set in settings. Free users cannot create groups.
- A user's group count tracks only groups they own. Being an admin or member of a group does not count against any limit.
- When an owner's subscription lapses, they have 7 days to transfer each owned group to a subscriber. During the 7-day window, groups continue operating normally. After 7 days without transfer, each group enters the frozen (owner lapsed) state — unavailable to all members. Groups not resolved by day 30 are permanently deleted. The user is notified at expiry. See Frozen (owner lapsed) and access policy.
- A user can belong to any number of groups regardless of subscription status.
- Groups have no member cap. Membership is not limited by the owner's or any member's subscription status.
- A group can have at most 4 pending rides (
upcomingoron-going) at any time. This cap is independent of the per-subscriber cap — both must pass for a ride creation to succeed. A new ride cannot be created in the group once this limit is reached, regardless of who is creating it. This cap only applies to active groups; archived and frozen (owner lapsed) groups already block ride creation on other grounds. See Pending Ride Cap. - Active groups are automatically archived after a platform-configured inactivity period (default: 6 months). Activity that resets the clock: a new member joining, a ride being created, a member RSVPing to a ride, or a member changing an existing RSVP response. The threshold is a global platform setting configured by app operators. See Settings. Read-only Frozen (owner lapsed) groups are not subject to auto-archive — they are permanently deleted on day 30 if not resolved.
- A group can have at most 100 pending join requests at any time. Once this cap is reached, any new join attempt — direct or via invite — fails with an "OVERBOOKED" error. The cap clears as admins approve or reject requests, or as requests expire.
- All groups must have a base location (city or neighborhood) and a description. The base location is displayed at city level and is visible to all users regardless of group type. This is intentional — different groups can share the same name, and the city distinguishes them in discovery.
- 95octane requires an active internet connection. No features are available offline.
- Non-members cannot see the group's member list or individual member identities. For public groups, the member count is visible in discovery. For private groups, the member count is visible on the invite landing screen when a user opens an invite link.
- A user cannot delete their account while they own one or more active, archived, or frozen (owner lapsed) groups. They must first delete each such group or transfer ownership before account deletion is possible. Groups in the banned state are an exception — they are automatically deleted when the owner deletes their account. See Delete Account.
- A user who is the target of a pending ownership transfer can still delete their account. Doing so cancels the pending transfer. The group owner is notified.
Group Content
A group's content is everything members can see and interact with inside it. At launch, this includes the group's details (name, description, base location, member count) and the rides created within the group. Any member — including free-tier members — can RSVP to rides within the group.
Planned — not yet live: Additional content types (e.g., group feed, announcements, chat) will be added after the initial launch.
Frozen (owner lapsed)
A group requires a subscriber owner to operate normally. If the owner's subscription lapses and the group is not transferred within the 7-day handoff window, it enters the frozen (owner lapsed) state.
How a group enters this state
The owner's subscription lapses (by cancellation or non-renewal). The owner has 7 days from the moment of expiry to transfer the group to a subscriber admin. If no transfer occurs within 7 days, the group is frozen and enters this state.
What frozen means
The group is frozen and unavailable to all members:
- Members cannot view the group, access its rides, or RSVP.
- No new members can join.
- No new rides can be created.
- No group settings can be changed.
- A public group is removed from discovery.
Who can do what
The lapsed owner retains three actions on a frozen group:
- Transfer ownership to a subscriber admin.
- Manage admins — promote a subscriber member to admin or demote an existing admin. This exception exists so the lapsed owner can appoint an eligible transfer recipient without being required to re-subscribe.
- Delete the group.
No-eligible-admin case. If the group has no subscriber admin and no subscriber members to promote, the lapsed owner's only remaining options are to re-subscribe (which unfreezes the group and restores full admin management) or to delete the group.
How a group leaves this state
- Re-subscribe: the lapsed owner re-subscribes before day 30. The group unfreezes immediately and returns to active. Admins who still hold an active subscription retain their roles automatically.
- Transfer: a subscriber accepts ownership. The group returns to active.
- Delete: the owner deletes the group.
- Day 30: if none of the above has occurred by day 30, the group is permanently deleted. No recovery path exists.
On returning to active: new joins are allowed again, ride creation is re-enabled, invite links and QR codes work again, and a public group reappears in discovery.
Account deletion
A user cannot delete their account while they own a frozen group. They must transfer ownership to a subscriber or delete the group first. See Delete Account.
Notifications
All group notifications are delivered via Firebase Cloud Messaging (FCM) on iOS and Android. In-app notifications also appear in the user's notification inbox. Where the platform supports it, notifications related to a resolved action (e.g., a join request that was already acted on) are dismissed automatically from other recipients' devices.
Minimum Group Size
A group can exist with only its owner as the sole member. There is no minimum membership requirement beyond the owner.
Screen Access
Every member can open the group details page, which shows basic group information (name, description, base location, member count) and the Leave Group option. The settings section within that page is only visible to the owner and admins. The owner sees all settings. Admins see only the settings they are permitted to change — owner-only settings are not shown to them.
Group Settings
Settings control who can do what within a group. Only the owner or an admin can change settings, except where noted.
| Setting | Default | Options |
|---|---|---|
| Members who can create a ride | Admins | Admins, Any subscriber |
| New users require approval to join | No | Yes, No |
| Invite via link or QR code | Enabled | Enabled, Disabled |
| Allow admin to change group name | No | Yes, No |
| Allow admin to change description | Yes | Yes, No |
| Group type | Set at creation | Public, Private |
| Base location | Set at creation | City or neighbourhood |
The creator chooses public or private when creating the group. The owner can switch the group type at any time after creation. Both group type and base location are owner-only settings. Changing the group type affects discovery: a group switched to private is removed from the discovery feed, and a group switched to public reappears in it.
Actions
Discovering and joining
- Discover Groups (planned)
- Join a Group (planned)
- Join via Invite (planned)
- Cancel a Join Request (planned)
- Approve or Reject a Join Request (planned)
Within a group
- Browse Group Members (planned)
- View a Member's Profile (planned)
- Share a Group (planned)
- Group Notification Preferences (planned)
- Leave a Group (planned)
Owner and admin actions
- Remove a Member (planned)
- Manage Admins (planned)
- Manage Group Settings (planned)
- Transfer Ownership (planned)
- Membership History (planned)
Group lifecycle
- Create a Group (planned)
- Archive a Group — includes reactivating an archived group (planned)
- Delete a Group (planned)
- Report a Group (planned)
- Group Ban — operator-initiated suspension of a group for platform misuse (wishlist)
Navigation
Known Limitations
- No content moderation for group names and descriptions. Only length validation is enforced. Offensive or misleading names are not filtered automatically. Since group names are not required to be unique, impersonation of established groups is possible. This is a known gap and will be addressed post-launch.
Schema Reference
See Group Schema for the Firestore document and subcollection structure.