← Help Center

mobile-app

Mobile shift start — what techs see, step by step

First-shift consent, second-shift quick-start, status banner, and what happens if you force-quit mid-shift.

Published 7/25/2026 · Updated 7/25/2026

Mobile shift start

When a tech opens the mobile app, the Home tab shows a single Start Shift button. What happens when they tap it depends on whether they've granted GPS tracking consent before.

First time — the consent modal

  1. Tap Start Shift.
  2. A modal appears with the org's GPS tracking policy text. It explains the interval, the retention window, who sees the data, and how to revoke.
  3. Two buttons: Not now (closes the modal — no shift starts) and I agree, start shift (POSTs consent, then immediately starts the shift).

Every subsequent shift

Tap Start Shift. The app:

  1. Checks the org's GPS tracking config (enabled + intervalSeconds).
  2. Confirms consent is on file.
  3. Asks the OS for foreground + background location permission (one-time per device).
  4. Records the shift in the backend.
  5. Starts the background location task at the org's configured interval.

Status pill flips to Shift Active with a live duration counter. The hint reads "Your location is being shared every ~{N}s" with the actual interval.

What the OS shows

  • iOS: a blue bar at the top of the screen ("App is using your location").
  • Android: a persistent foreground-service notification ("Roldesk — Shift active").

Both are intentional — privacy regulations expect a clear visual indicator while tracking is on.

End of shift

Tap End Shift. The app stops the background task, posts the shift's end time, and the OS banner disappears.

What if the app crashes / I force-quit?

The active shift is persisted to AsyncStorage. On next launch, the app reads it back and resumes — the location task re-registers, the duration counter picks up from the original start time, and the banner reappears. Force-quitting doesn't lose the shift.

What if there's no signal?

Pings buffer locally and upload in batches when connectivity returns. The backoffice sees a gap during the offline window, then the catch-up arrives in one burst.

Common pitfalls

  • "Network request failed" on every screen — usually a stale dev URL. Devs: run npm run set-api in apps/mobile to refresh.
  • Consent modal won't dismiss — accepting the policy is a one-way action. To revoke, end the shift, go to profile, tap Revoke GPS consent.
  • OS denied background permission — re-grant from device Settings → Roldesk → Location → Always.
mobileshiftconsenttech-onboarding
Still stuck? Contact us — chat with our agent or email support@roldesk.com.