Manage Favorites

A user saves and removes locations they use frequently, for quick access when creating rides.

Who Can Do This

Any user with status: active.

Steps

To add a favorite:

  1. While picking a location anywhere in the app, tap the heart icon next to a location. Location pickers appear in several places:
  2. During ride creation, when choosing the origin, destination, or any breakpoint (meeting point, halt point, fuel station, restaurant, or other stop).
  3. From a ride's details page, when viewing a location on the route. Any authenticated user who can view the ride can save a location this way — RSVP is not required.
  4. The location is saved immediately.

To remove a favorite:

  1. Tap the heart icon on a location that is already saved.
  2. The location is removed from the user's favorites.

To use favorites:

  1. Open the location picker during ride creation.
  2. Saved, non-stale locations appear as quick-select options.

Rules

  • Only locations identified in Google Maps can be saved as favorites. Locations without a confirmed Google Maps identity do not show the heart button and cannot be favorited.
  • Favorites are personal — only visible to the user who saved them. They are permanently deleted when the account is permanently deleted. See Delete Account.
  • A location can only be saved once. Tapping the heart on a location that is already saved removes it rather than creating a duplicate.
  • There is no limit on the number of favorites a user can save.
  • Favorites are available as quick-select options only during ride creation — not during RSVP. When RSVPing, the user selects a meeting point from valid locations on the route.
  • A favorite becomes stale when its Google Maps place ID is no longer valid. This is detected during ride creation when the app looks up the place ID and Google Maps returns NOT_FOUND (place closed, moved, or removed from the database) or INVALID_REQUEST (place ID malformed or altered). Staleness is not checked proactively (Google Maps Place API calls have a cost) — it is only discovered when the user selects the favorite during ride creation and the lookup fails.
  • Stale favorites are excluded from the ride creation picker. They are shown in the favorites list with a visual staleness indicator. The user can delete them or keep them — they remain excluded from the picker regardless.

What Happens Next

The favorite is saved immediately and appears as a quick-select option the next time the user opens the location picker during ride creation. Favorites are synced to the user's account and are available on all devices.

Failure Cases

  • Location not in Google Maps: If a location does not have a confirmed Google Maps identity, it cannot be favorited and the heart button is not displayed.
  • Save or remove did not stick: If the device is offline or the save fails, the favorite is not added or removed. The user can tap the heart again once connectivity is restored.
  • Stale favorite selected during ride creation: If the user selects a favorite and the Google Maps place ID lookup returns NOT_FOUND or INVALID_REQUEST, an error is shown and the favorite is silently marked as stale. It is excluded from the ride creation picker from that point on and shows a staleness indicator in the favorites list. The user can delete it or keep it.

Status: partially-live. Backend list, add, and remove favorites endpoints are complete. A dedicated frontend favorites management screen has not been built; favorites are accessible as quick-picks during ride creation.