Skip to content

Feature Request: In-App Safety Check-In (SOS & Location Sharing) #1916

@krshaquino-sys

Description

@krshaquino-sys

Currently, users have to manually text their plans to a friend or family member. If plans change (e.g., taking a different trail, running late), they forget to update their contact. Furthermore, in an emergency, the contact has no easy way to access the exact gear list (tent color, jacket type) to help search-and-rescue teams identify the person.

Proposed Solution:
Implement an "Expedition Check-In" feature accessible from the main trip dashboard. This feature allows the user to designate one or more emergency contacts (via SMS/iMessage/Email) and broadcast their trip status to them automatically.

Key Requirements:

  1. Contact Setup:
  • Users can add emergency contacts to their profile (Name, Phone, Email).
  • Option to set a default contact (e.g., "Always notify Mom")
  1. Trip "Start" Notification:
  • When a user marks a trip as "Started" or "Departing," the app prompts: "Notify your emergency contact?"
  • If accepted, a pre-formatted message is sent to the contact.
  • Message Content: "[UserName] has started their trip: [Trip Name]. Expected return: [Date/Time]. They are carrying: [Tent Brand], [Jacket Color]. Track live progress: [Link to Web Viewer]."
  1. Live Check-In & Updates:
  • Users can manually "Check-In" from the trail (works offline, sends when signal returns).
  • App passively tracks movement (if permission granted) and can send an update if the user deviates significantly from the planned route (requires GPX import feature integration).
  1. Emergency / Late Return Alert:
  • User sets an "Expected Return Time" when starting the trip
  • If the user has not marked the trip as "Complete" or "Safe" by that time + a grace period (e.g., 2 hours), the app automatically triggers an escalation.
  • Escalation: Sends a final text to the contact "[UserName]. is overdue on [Trip Name] by [x] hours. Here is their final known location and full gear list. Please contact authorities."
  1. Offline Functionality:
  • The check-in logic (timers, location, tracking) must work while the phone is in Airplane Mode.
  • Messages are queued and sent immediately when connectivity is restored.

Technical Considerations:

  • Privacy: This must be an opt-in feature. Location tracking should only be active during a designated "active trip".
  • Battery Usage: Must implement significant location change monitoring rather than constant GPS polling to preserve battery life.
  • Backend: Need a simple relay service to send SMS/Emails without exposing the user's personal phone number.

Acceptance Criteria:

  • User can add/edit/remove emergency contacts in Settings.
  • When a trip is marked "In Progress", a prompt appears to start Safety Check-In.
  • Emergency contact receives a text message with the trip details and a link.
  • If the user does not check in by the designated time, the contact receives an overdue alert.
  • All data transmission is secure, and location history is deleted after the trip is marked complete.

Design/Mockup suggestions:

  • A "Shield" or "Life Ring" icon in the trip header.
  • A simple countdown timer visible on the trip dashboard showing when the overdue alert will trigger.
  • A big red "I'm Safe" button to cancel the alert when the trip is finished.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions