Notification Reference
Complete catalog of every notification the 95octane platform sends. Action docs reference this page rather than defining notification behavior inline.
Delivery Channels
| Channel | Description |
|---|---|
| Push | Firebase Cloud Messaging (FCM) on iOS and Android. Requires OS-level permission and in-app preference to be on. |
| In-app | Appears in the user's notification inbox inside the app. Always delivered when the user opens the app. |
| Sent to verified email addresses on the account. Requires at least one verified email. Controlled by per-category toggle. |
A notification is only delivered if all of the following permit it:
- The OS-level permission for push (for push notifications).
- The in-app category toggle for the notification type (for configurable ones).
- The user has a verified email address (for email notifications).
Notifications related to a resolved action (e.g. a join request already acted on) are automatically dismissed from other recipients' devices where the platform supports it.
Buddy Notifications
All buddy notifications are delivered via push and email (if an email address is on file). Buddy notification preferences are toggled as a single Buddy category in profile settings — no per-notification granularity.
| Event | Recipient | Channels |
|---|---|---|
| Buddy request received | Recipient | Push, email |
| Buddy request accepted | Sender | Push, email |
| Buddy request declined | — | None |
| Buddy request cancelled | — | None |
| Buddy request expired | — | None |
See Add a Riding Buddy and Manage Riding Buddies.
Ride Notifications
Configurable
Per-ride preferences. Defaults apply when the user first RSVPs. See Ride Notification Preferences for how to toggle them.
| Event | Recipient | Channels | Default |
|---|---|---|---|
| Ride edited (time/title/description changed) | All RSVP'd participants | Push, email | On |
| RSVP approved | The RSVP'ing participant | Push, email | On |
| RSVP rejected | The RSVP'ing participant | Push, email | On |
| New RSVP pending approval | Creator, admins | Push, email | On |
| Participant removed | The removed participant | Push, email | On |
| Admin role changed | The affected participant | Push, email | On |
| Ownership transfer event | Creator and transfer target | Push, email | On |
| Ride deleted | All RSVP'd participants | Push, email | On |
| Ride restored (undeleted) | All RSVP'd participants | Push, email | On |
| Ride started | Participants who haven't started the ride | Push, email | On |
| Invite link rotated | Creator (when an admin rotates it) | Push, email | On |
Ownership transfer events cover: offer sent, accepted, declined, expired, and auto-cancelled (recipient lost eligibility). Both sender and target are notified on expiry and auto-cancel. If the ride completes while an offer is pending, the offer expires silently with no notification.
Preferences are cleared when a participant's RSVP is removed. If later unblocked and re-RSVP'd, preferences restart at defaults.
System (non-configurable)
Always delivered regardless of preference settings.
| Event | Recipient | Channels | Status |
|---|---|---|---|
| Ride banned | Creator + participants with yes/maybe | Push | Wishlist |
Group Notifications
Configurable
Per-group preferences. See Notification Preferences for how to toggle them.
| Event | Recipient | Channels | Default |
|---|---|---|---|
| New ride created in group | All members | Push, email | On |
| New join request | Owner, admins | Push, email | On |
| New member joined | Owner, admins | Push, email | On |
| Group name changed | All members | Push, email | On |
| Join request approved | Requesting member | Push, email | On |
| Removed from group | Removed member | Push, email | On |
| Role changed (promoted/demoted) | Affected member | Push, email | On |
| Ownership transfer event | Owner, target admin | Push, email | On |
Ownership transfer events cover: offer sent, accepted, and declined.
System (non-configurable)
| Event | Recipient | Channels | Notes |
|---|---|---|---|
| Group banned | Owner, admins | Push | Regular members see "Unavailable" on next open — no notification sent to them. |
| Group ban lifted | Owner, admins | Push | |
| Group archived (manual) | All members | Push | |
| Group archived (auto-inactivity) | Owner | Push | Warning sent 30 days before the threshold is reached. |
| Pending join requests cancelled on archive | Affected requesters | Push | |
| Pending ownership transfer cancelled on archive | Owner, target | Push | |
| Admin auto-demoted (subscription lapsed) | Owner + demoted admin | Push | |
| Pending transfer cancelled (target demoted/removed/left) | Owner | Push | |
| Group deleted | All members | Push | |
| Group auto-deleted at day 30 | Owner | In-app | Members are not separately notified. |
Subscription Notifications
All subscription notifications are system-level — they are always delivered regardless of preferences. No push or email toggles are shown for this category.
| Event | Recipient | Channels | Trigger |
|---|---|---|---|
| Subscription expiring soon | Subscriber | In-app | One-time notice shown on next app open after the 30-day mark before expiry. |
| Pending cancellation | Subscriber | In-app | Immediately when the user cancels in the store. Shows end date + Manage Subscription link. |
| Billing issue | Subscriber | In-app | When a renewal payment fails. Shows Manage Subscription link. |
| Subscription expired | Lapsed subscriber | In-app | At the moment of expiry — confirms access ended and 7-day handoff window has started. |
| Asset transfer reminder — day 3 | Lapsed subscriber | In-app | Day 3 of handoff window, if owned groups or rides are still unresolved. |
| Asset transfer reminder — day 6 | Lapsed subscriber | In-app | Day 6 of handoff window, if owned groups or rides are still unresolved. |
See Cancel Subscription and Subscription for the full expiry and asset handoff flow.
Ban Notifications
Ban notifications are system-level and always delivered. The Ban category in profile notification settings has no push or email toggles.
| Event | Recipient | Channels |
|---|---|---|
| Ban placed | Banned user | Push, email |
| Operator replies in appeal | Banned user | Push, email |
| Ban lifted | User | Push, email |
| Ban made final | User | Push, email |
| Banned-final reversal | User | None (silent) |
If no email address is on file, only push is sent. The 30-day subscription expiry in-app notice is silently skipped for banned users.
See Ban.
Account Notifications
| Event | Recipient | Channels | Notes |
|---|---|---|---|
| Auth provider replaced (account recovery) | User | Sent to all emails on the account, including the old provider's email. |
See Add Authentication Provider.
Notification Suppression Rules
- Banned users — all non-ban notifications are suppressed while banned. Suppressed notifications are permanently discarded (not queued for later).
to_be_deletedusers — all push and in-app notifications are suppressed for the duration of the 7-day grace period.- Self-actions — a user does not receive notifications for their own actions (e.g. an admin who edits a ride does not receive the ride-edited notification).
- Already-resolved actions — notifications for actions already acted on (e.g. a join request approved by another admin) are auto-dismissed on devices that support programmatic dismissal. On other devices the notification opens to the resolved state.