View Ride History
A user views their past completed rides — rides they created or participated in where the scheduled end time has passed.
Who Can Do This
All authenticated users.
- Free users — see their 5 most recent completed rides.
- Subscribers — see their full ride history, paginated.
The history option is disabled if the user has no completed rides.
Steps
- User opens the ride history screen from the app's main interface.
- A list of completed rides is displayed, sorted by ride start time (most recent first).
- User scrolls through the list; paid users can paginate to load older rides.
- User taps a ride to view its details.
- The ride detail view opens in a read-only state — no actions can be taken.
Rules
- A ride is completed when its scheduled end time has passed. No user can manually mark a ride as complete.
- History includes rides the user created and rides they participated in (any RSVP status). Rides the user was removed from do not appear in their history.
- Deleted rides appear only in the creator's history. Participants of a deleted ride do not see it in their history.
- Free users see only their 5 most recent rides (completed or deleted). Deleted rides visible to the creator count toward this cap. Older rides are not accessible.
- Subscribers see their full history, paginated at 10 rides per page. The history screen reads from Firestore first (recent completed rides not yet archived), then from Cloud Storage (archived rides), combining both sources seamlessly.
- Free users follow the same dual-source read but the total result is capped at 5 rides.
- If a subscriber downgrades to free, rides beyond the 5 most recent are hidden immediately in the API response. The underlying data is not deleted — it remains in storage per the Data Retention Policy and becomes accessible again if the user re-subscribes.
- The ride detail view is fully immutable — the ride cannot be started, edited, deleted, or have its settings changed.
- The list view and detail view match the visual layout of upcoming and on-going rides.
What Happens Next
The user sees a read-only snapshot of the ride as it was — route, participants, settings — with no available actions.
Failure Cases
- No completed rides — the history option is disabled; the user cannot open the screen.
- Not a subscriber — rides beyond the 5 most recent are not shown. No paywall or locked state is displayed; the list simply ends.
Planned — not yet live: The entire Ride History feature has not been built yet. It depends on a background worker that archives completed rides to Google Cloud Storage. The history screen will read from this archive once both the worker and the feature are live.