Pannell Platform · Pre-Scope v2 · 2026-08-07

Native Mobile App — Screen Map

Employees do the work. Admins glance and act. One grounded exception: the General Foreman's Daily Crew Entry is real field work done on mobile.

React Native + Expo · v2 scoped off the shipped path-B time backend · Companion: drafts & data-persistence pre-scope

Screen count — 29 total

Bar is proportional. Several screens are one reusable pattern with states (form fill, checklist stages, lesson player, crew-entry wizard). Push deep-linking is shell routing behavior, not counted as a screen.

6Shared shell
13Employee side
10Admin / manager

The three groups

Every screen below is linked — tap one to open it in the live wired demo.

Everyone above Operations Employee is also an employee — employee screens are universal; admin screens are the layered-on privilege. Region / customer / crew visibility is a data filter (the shipped 4-level supervisor chain), not separate screens.

Roles — who sees what (directional)

RoleScopeEmployee screensAdmin / manager screens
ExecutiveUnrestrictedAll (own record)All 10 · approval override at any level
Administrative / HRCompany-wideAll (own record)All 10
Operations ManagerTheir regionAll (own record)All 10, region-filtered · shipped "area review" approval level
Project ManagerTheir customersAll (own record)All but Crew Entry, customer-filtered · "PM review" approval level
General ForemanTheir crewsAll (own record)Crew Entry · Team Overview · Time Approvals (submit + first-level approve, confirmed in code) · Snapshot · Onboarding Progress
Operations AdministrativeSafety sliceAll (own record)Day-one rec: Team Overview · Snapshot · Training Compliance — fleet + onboarding later
Operations EmployeeSelf onlyAllNone

Drafts & persistence — companion pre-scope

No offline requirement — but multi-step work must not be lost. The shipped time backend already solves this: server-side draft saves with a resume-at-last-step marker, replace-on-save, and a rejected→draft fix flow. The rule for all mobile surfaces:

  1. The server is the draft store — save at step boundaries and on app-background; drafts survive reinstall and device swap.
  2. The device is only a buffer for the current screen's unsaved delta — crash-restore prompt, retry banner on failed saves.
  3. Crew entry + individual time: consume the shipped behavior as-is. Form Fill + Intake: apply the same pattern (new backend work in the forms module). LMS resume is native LMS behavior, not draft machinery.
  4. Explicitly out: offline queues, background sync, multi-device merge.

Browser-only — deliberately not on mobile

Keeping the mobile scope honest: all of this stays in the browser app.

  1. Form Builder + form assignment targeting — mobile gets the read-only Forms Catalog, never the builder; employees never build forms
  2. HR Requirement Library, Rule Builder, Review Queue, Final Review, scorecards, audit logs
  3. LMS authoring, training assignment, compliance reporting — mobile gets the read-only LMS Catalog
  4. Employee Directory admin, Add Employee, sensitive profile sections, lifecycle actions
  5. Roles & permissions management ("God mode")
  6. Time-tracking admin depth: reconciliation, billing/export, bulk corrections, reporting
  7. Message Center template / routing administration

Drill-down questions — v1 → v2

Resolved

Does the time entry model reshape Enter Time?

Yes — scoped off the shipped path-B backend. Two surfaces: the GF's crew Daily Entry wizard (now the flagship admin-side screen) and simple individual entries (date + start/end + break, auto OT). Not clock-in/out.

Resolved

Do General Foremen approve time on mobile?

Yes — verified in the shipped backend: GFs submit entries and approve at first level, then PM review → Area Manager review → final; admin/executive override any level.

Resolved

Intake in-app or mobile web?

In-app. Pre-hires get an invited login and complete intake inside the app before full access unlocks.

Resolved

Offline tolerance?

Not required. Draft persistence got its own functionality pre-scope (band above) — mirroring the server-side draft pattern the time backend already ships.

Resolved

Ops Administrative day one?

Recommendation: Team Overview + Team Member Snapshot + Training Compliance — the safety-officer core. Onboarding Progress and fleet views later. Presented to the client only when the build is 100%.

Resolved

Do employees self-enter individual time everywhere, or only where no GF crew entry runs?

Scope for both — full individual self-entry and the GF crew path are both built. How prominent Enter Time is vs. My Time per customer is rollout configuration, not a build question.

Open

Pin the 7 platform roles onto the shipped time roles.

Directionally clean (worker / GF / PM / area manager / admin / executive) — formalize in the roles & permissions drill-down.