Subscription

95octane's revenue model — users subscribe annually through the App Store or Google Play, with RevenueCat managing entitlements.

Free Trial

95octane does not offer a time-bound free trial through the App Store or Google Play — the store trial system only supports time-based periods, which is not the model used here. Instead, every new free user receives 4 free Premium Ride slots as a one-time, usage-based trial. These slots are a lifetime allotment: they are not time-bound, they do not expire, and they do not replenish. Once all 4 are consumed, the user is quota-exhausted and rides at the Essential tier until they subscribe.

Ride Tiers

Every ride a user participates in is either a Premium Ride or an Essential Ride. The tier is evaluated per rider at each Start tap:

Rider status Tier assigned Effect on quota
Subscriber Premium None
Free user with free Premium Ride quota remaining Premium Consumes one quota unit
Free user with no free Premium Ride quota Essential None
Feature Premium Ride Essential Ride
Navigation
Traffic data
See other riders on map ✓ (if location sharing is on)
Share your location Optional — opt-out available Always on — no opt-out
Intercom

Essential-tier visibility asymmetry: Essential riders always share their location and are visible to Premium riders on the map. Essential riders cannot see any other riders themselves. A map indicator notifies the Essential rider that their location is being shared.

Location sharing opt-out (Premium Ride only): A rider who opts out stops sharing their position and can no longer see other riders on the map. The two are linked — sharing and visibility are either both on or both off.

For the full access policy including tier assignment rules, see Access Policy.

Pricing

Subscriptions are yearly only. The app never hardcodes prices — it fetches the currently active subscription product from RevenueCat at runtime. RevenueCat is the source of truth for what is available and at what price.

Two subscription products exist; which one is offered depends on early-adopter slot availability at the moment of purchase:

Plan When offered Renewal
Introductory Price While early-adopter slots remain Introductory Price (locked for life)
Premium Price Once slots are exhausted Premium Price

Each plan is a separate product SKU in RevenueCat. A subscriber always renews on the same SKU they purchased — their price is locked at the product level. To change pricing, the operator disables the current SKU for new purchases and activates a new one; existing subscribers are never affected.

The app is India-only at launch. Pricing for additional regions will be configured in RevenueCat when the app expands globally.

The early-adopter slot limit is a soft limit — operator-configurable (default: 1,000). If two users purchase simultaneously when one slot remains, both may receive the Introductory Price. There is no hard cap on overshoot; under extreme concurrency, the counter may exceed the configured limit by more than one. This is an accepted operational trade-off. Payment and billing are managed entirely by the App Store (iOS) or Google Play (Android). 95octane does not handle payment details directly.

General Rules

  • Only one active subscription at a time.
  • Subscription renews automatically until cancelled.
  • Slot counter: every subscribe event — including a lapsed user re-subscribing — increments the global slot counter. Automatic renewals do not increment the counter and do not check slot availability. Refunds do not decrement the counter — a refunded slot is permanently consumed.
  • While slots remain: the subscriber is on the Introductory Price plan. This price is locked for all future automatic renewals, regardless of whether slots later fill up.
  • Once slots are exhausted: the Introductory Price plan is no longer offered. All new and re-subscribing users are on the Premium Price plan. A lapsed early adopter who re-subscribes after slots are exhausted pays the Premium Price and is treated as a standard subscriber from that point forward — their prior early-adopter status does not carry over.
  • Re-subscribing after day-30 asset deletion: a user whose frozen assets were permanently deleted at day 30 can still re-subscribe. Standard re-subscribe rules apply — plan is determined by current slot availability. Deleted assets are not restored.
  • Slot exhaustion abuse vector: because refunds permanently consume a slot, a bad actor could repeatedly subscribe and immediately refund to exhaust the early-adopter pool. Refunds are store-controlled and infrequent in practice — this is an accepted operational risk with no current guard.

Expired Subscriptions

When a subscription lapses without renewal, or when a refund is issued by the store, access is recalculated immediately:

  • Admin roles the user holds in any group or ride are revoked immediately. If the lapsed user was the sole admin, no admin actions can be performed on that group or ride until a new admin is promoted by the owner. If the lapsed user is also the owner, they retain the ability to promote a subscriber member to admin while lapsed — resolving the deadlock without re-subscribing.
  • Owned groups and rides are frozen immediately — every group the user owns and every pending (not yet started) ride the user owns (except rides covered by the free quota exception) becomes unavailable to members and participants at the moment of expiry. Members and participants of frozen assets are notified in-app. The user has 7 days to resolve frozen assets by transferring or deleting them.
  • Live ride at expiry — a ride already in progress (any participant has tapped Start) continues uninterrupted until the ride's scheduled end time. Tier is not changed for that live ride. Once the ride ends, it is historical — there is no ownership obligation or freeze on a completed ride. If the user taps Start on a different ride after expiry, tier is re-evaluated and they receive Essential.
  • All new Start taps after expiry are evaluated at Essential — regardless of when the ride was created or RSVPed.
  • Ownership transfer offers where the lapsed user is the recipient are auto-cancelled at the moment of expiry — the sender is notified in-app. Transfer offers where the lapsed user is the sender remain open; the recipient can still accept them to resolve the freeze.
  • The user cannot create new rides until they re-subscribe.
  • There is no grace window for feature access — the change takes effect at the moment of expiry.
  • The expired subscriber's ride tier is determined by their remaining free quota. Unused quota slots from before the subscription are still available. A user who exhausted all 4 free slots before subscribing is treated as quota-exhausted.
  • Banned subscriber at expiry — if the user is banned when their subscription expires, the same flow applies. Since a banned user cannot perform transfer or admin actions, any assets they own will freeze immediately and be permanently deleted at day 30 with no self-service escape path. The only exception is an operator-lifted ban: if the operator removes the ban before day 30, the user's account is restored to normal, frozen assets are unfrozen, and the deletion timer is cancelled.

Subscriber-Only Ownership

Owning or administering a group is a subscriber-only privilege.

  • A group owner must be a subscriber.
  • A group admin must be a subscriber.
  • A free user can never own a group and can never be a group admin — neither by creating a group, by receiving an ownership transfer, nor by being promoted.

Ride ownership has different rules. A free user with at least 1 quota slot remaining can receive and hold ride ownership. A quota-exhausted free user cannot.

Exception — managing admins during the freeze window: A lapsed owner retains the ability to promote and demote group admins throughout the 7-day handoff window and the subsequent frozen period (up to day 30). This allows them to appoint a subscriber member as admin — creating an eligible transfer recipient — without being required to re-subscribe first.

Pending rides a subscriber owns continue normally when their subscription lapses — they are not cancelled, hidden, or restricted. Two independent caps act as abuse guards: a subscriber can own at most 4 pending rides at a time, and a group can have at most 4 pending rides at a time. Both caps mean in-flight exposure is bounded, which is acceptable given subscriptions are yearly. See Ride Cap.

Transfer-out of a ride is subject to the recipient's pending-ride cap. If the recipient already owns 4 pending rides, the transfer fails — the lapsed owner must choose a different recipient.

What a Subscriber Should Do Before Their Subscription Ends

Because group ownership is subscriber-only, a subscriber who is about to lose their subscription (by cancelling, or by letting it lapse) should transfer every group they own to a subscriber admin before the subscription ends.

In-app reminders are sent on day 3 and day 6 if transfers remain incomplete — see Subscription Notifications.

At expiry, every group and every pending (not yet started) ride they still own (except rides covered by the free quota exception) is frozen immediately — unavailable to all members and participants from the moment of expiry. Members and participants are notified in-app. The owner can still transfer ownership or delete the asset to restore access. See Frozen (owner lapsed).

Frozen assets not resolved by day 30 (counted from the expiry date) are permanently deleted.

Re-subscribing unfreezes all frozen assets immediately — they become accessible again but prior state (such as revoked admin roles) is not automatically restored. The owner must re-grant admin roles manually after re-subscribing.

Free quota exception: Rides for which the owner still has free Premium ride quota remaining at the time of expiry are excluded — those rides continue operating normally, are never frozen, and are not subject to day-30 deletion. A user who exhausted all 4 quota slots before subscribing has no remaining quota at expiry and the exception does not apply to them.

User Types

Subscription status maps directly to user type. See User Types.

Account Deletion While Subscribed

If a user initiates account deletion while they hold an active subscription, deletion proceeds immediately. 95octane does not block account deletion for active subscribers.

On Android, the subscription is cancelled automatically via RevenueCat at the time of account deletion. On iOS, the App Store does not support programmatic cancellation — the deletion flow displays instructions for the user to cancel manually in App Store subscription settings.

Family Sharing

Family sharing is not supported. Subscriptions are strictly per-account. 95octane does not opt in to Apple's Family Sharing or Google Play's Family Library, so store-level family sharing has no effect on entitlements.

Platform and Account Continuity

Subscription entitlement is tied to the user's Firebase UID. A user who links their Google account to an existing iOS account retains the same UID on Android and their subscription status carries over automatically. A user who creates a new account on a different platform must merge it with their original account to restore subscription access. See Add Authentication Provider for the account linking and merge flow.

Auth provider protection: The auth provider used to purchase (Google or Apple sign-in) cannot be unlinked or replaced while a subscription is active. The app blocks provider removal for active subscribers.

Store account changes: Subscriptions are tied to the store account (Apple ID or Google account) used at time of payment — set at the OS level, separate from the Firebase Auth provider. A user who changes their device's store account in iOS or Android Settings may lose entitlement visibility, as RevenueCat validates against the current store account. This cannot be detected or prevented by the app. Affected users must contact support for a manual entitlement transfer via the RevenueCat API.

Actions