Roles & platforms
| Role | Typical device | Shell UI | Primary areas |
|---|---|---|---|
| Service manager | Mac (Catalyst) or iPad | Upper tab bar (iOS 18+) / grouped sidebar | Schedule board, Assign, More → Transfer for field returns |
| Employee / contractor | iPhone | Bottom tabs: Jobs · Schedule · Survey · Tools · More | Jobs queue, More → Diagnostics, More → Transfer |
| Surveyor (same app) | Any | Adaptive | Surveys + optional survey-type work orders |
One universal app (iPhone + iPad + Mac Catalyst). iPad/Mac use the upper tab bar. Field techs get a compact tab bar on iPhone. Transfer and Loan live under More, not as their own tabs.
| Platform | Build |
|---|---|
| iPhone / iPad | Native iOS |
| Mac desktop | Mac Catalyst (SUPPORTS_MACCATALYST = YES, device family includes 6) |
Default Mac window size: ~1280×840. Work-order share/import uses the system share sheet and Files on all platforms.
Work-order file exchange (no cloud required)
Portable packages move assignment data to contractors and field returns back to the office — without a shared cloud account.
Data handoff to contractors
Manager (iPad / Mac)
.msworkorder
.msworkorder both ways
Worker / contractor (iPhone)
Outbound data: assignment, vessel, marina/slip, appointment, type-specific fields (claim #, referral, etc.). Return data: diagnostics, progress timeline, photos, cost lines, completion status. See workflow training for the full work-order lifecycle chart.
Life of a work order (summary)
.msworkorder- Not automatic SMS parsing of free text — the attachment file is the interface (reliable, structured).
- Managers can still text a short note; the authoritative assignment is the
.msworkorderpackage.
Origin (who issued the ticket)
The work order always carries the issuer. That value is set once and is not rewritten when a worker shares the file to someone else.
- Issued by a yard → origin is that firm. Complete / return goes back to that firm.
- Created on the iPhone → origin is this phone. There is no yard to return it to.
App Store vs firm license (recommended)
| Channel | Use |
|---|---|
| Public App Store | Independent techs and small firms |
| Unlisted / org invoice (optional later) | Yard-branded deployments |
Bundle identity
- IAP:
grego.mst.sub.monthly/grego.mst.sub.annual. Bundle ID:grego.MarineServiceTech - Document type:
com.grego.marineservicetech.workorder/.msworkorder
Privacy
Exports contain customer boat names, locations, and job notes. Share only with intended recipients. See privacy-policy.md.