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 office transmits the work order.
- Managers can still text a short note; the authoritative assignment is the work order on the roster.
Enroll the phone
To pull live tickets from the yard office, enroll the iPhone or iPad from Employees. The tech opens enrollment in MarineServiceTech. It is not a job. Do not copy an API key. Step-by-step: Enroll a phone.
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.