Crew Compliance
Can the vessel sail?
A vessel can be perfectly maintained, perfectly bunkered, and perfectly certified, and still not be allowed to sail. Crew is the binding constraint that catches everything else flat-footed.
Four constraints — all must hold
| Constraint | Failure mode |
|---|---|
| Minimum safe manning | Rank slot empty or under-rank → vessel non-compliant |
| Certificate validity | Officer’s CoC / GMDSS / medical lapsed → cannot sail in role |
| Contract pressure | Officer past contract end with no relief → MLC fatigue concern |
| Rest hours | Sustained breach → SMS deficiency, PSC exposure |
Pass any three and fail one — the vessel still doesn’t sail.
Where the data comes from
| Source | What it provides |
|---|---|
| Vessel ERP (crewing module) | Roster, ranks, sign-on dates, contract terms, nationalities |
| Crew certification register | CoC, GMDSS, STCW endorsements, medical fitness, vaccination |
| Travel / visa coordination feed | Relief logistics — visa lead-time, travel itineraries, quarantine |
| Rest-hour records | MLC 2.4 compliance entries (vessel-filed) |
| Minimum safe manning certificate | Flag-issued, defines mandatory rank slots |
Manning compliance
The minimum safe manning certificate lists exact rank-slot requirements. The pipeline cross-checks the current roster against it. A rank-slot empty or filled by an under-ranked officer triggers a shortfall — severity CRITICAL, every time.
Certificate validity
Each officer carries:
- CoC — rank licence, flag-issued
- GMDSS — deck officers
- STCW endorsements — by vessel type (tanker, gas, chemical, polar)
- Medical fitness — typically annual or biennial
- Vaccination records — trade-specific requirements
- Travel documents — passport, seamen’s book, visas
Expiry logic is the same window classification used in the certificates pipeline:
Δ_days = D_expiry − D_today| Window | Action |
|---|---|
| Already expired | Officer must not sail — escalate immediately |
| 0–30 days | Renewal urgent — coordinate with crewing |
| 31–90 days | Renewal in planning |
| Beyond 90 days | Routine |
Crew-certificate renewals are paperwork-bound — they take weeks and depend on physical presence for medicals. A certificate at 30 days that hasn’t started the renewal process is already late.
Contract pressure
| State | Condition |
|---|---|
| On contract | Contract end in future, relief planned or being planned |
| Approaching | Contract end within 30 days, relief plan should exist |
| Over-contract (with relief plan) | Contract end past, relief logistics in motion |
| Over-contract (no relief plan) | MLC fatigue concern — escalate |
An officer over-contract by more than 30 days with no relief plan is the textbook MLC-fatigue exposure.
Roster snapshot — MV POSUN
Mid-passage Singapore → Suez, end-of-April review:
| Rank | Sign-on | Contract end | Δ days | Status |
|---|---|---|---|---|
| Master | 2025-12-01 | 2026-06-01 | +30 | OK |
| Chief Officer | 2025-11-12 | 2026-05-12 | +10 | Approaching — relief plan needed |
| 2nd Officer | 2025-10-15 | 2026-04-15 | -16 | Over-contract no relief plan |
| Chief Engineer | 2025-12-20 | 2026-06-20 | +49 | OK |
| 2nd Engineer | 2026-01-08 | 2026-07-08 | +67 | Medical expired 2026-04-01 |
| 3rd Engineer | 2026-02-22 | 2026-08-22 | +112 | OK |
Plus: 12 rest-hour breaches across 4 officers in April — Chief Officer 5, 2nd Officer 4, Chief Engineer 2, Bosun 1.
Verdict: HIGH. The pipeline routes the 2nd Engineer medical to the Marine Superintendent (next port Suez, 6 days), routes the 2nd Officer over-contract to crewing for immediate relief planning, and logs the rest-hour breaches for the next SMS audit.
Under the hood
Relief logistics — critical-path slack
Once a relief is planned, several lead-times stack:
- Visa — does the joining officer have the destination-country visa?
- Travel — flights from home country to join port, transit visas
- Quarantine — destination-country requirements
- Medical — must be current when boarding
def relief_slack(officer, next_port, today): contract_end = officer["contract_end"]
lead_visa = officer["replacement"]["visa_lead_days"] lead_travel = officer["replacement"]["travel_lead_days"] lead_quarantine = officer["replacement"]["quarantine_days"] lead_medical = officer["replacement"]["medical_lead_days"]
relief_critical = max(lead_visa, lead_travel, lead_quarantine, lead_medical)
days_to_port = (next_port["eta"] - today).days days_to_contract = (contract_end - today).days
# Negative means we won't make it return min(days_to_port, days_to_contract) - relief_criticalNegative slack triggers a relief-routing review — sometimes a relief that can’t make Singapore can make Colombo a few days earlier.
MLC rest-hour rules
Maritime Labour Convention 2.4 rest-hour requirements:
H_rest ≥ 10 h in any 24 h windowH_rest ≥ 77 h in any 7-day windowThe 24-hour rest may be split into a maximum of two periods, one of which must be at least 6 hours, with no more than 14 hours between consecutive rest periods.
A breach is logged whenever an officer’s record violates either constraint.
| Pattern | Verdict |
|---|---|
| Single isolated breach | Acceptable noise |
| Multiple breaches same officer | Workload distribution problem |
| Multiple breaches across officers | Operational overload (heavy port-call window?) |
| Sustained pattern across months | SMS deficiency — systemic |
Escalation triggers
| Trigger | Severity |
|---|---|
| Manning shortfall vs minimum safe manning | CRITICAL |
| Officer certificate expired | CRITICAL |
| Officer past contract more than 30 days with no relief planned | HIGH |
| Sustained rest-hour breaches (3+ per officer per month) | HIGH |
| Visa / travel blocking imminent relief | HIGH |
| Fleet-wide pattern across multiple vessels | HIGH |
What the senior review contains
- Manning status — roster vs minimum safe manning, shortfalls flagged.
- Certificate timeline — every officer’s certificates with expiry windows.
- Contract pressure — officers approaching, over-contract, with or without relief plan.
- Relief logistics — planned reliefs with critical-path lead-time and slack.
- Rest-hour exposure — breach count per officer and aggregate, fatigue-risk verdict.
- Recommendations — prioritised by sail date.
- Escalation decision — to whom, and why.
Why crew is the binding constraint
Engineering issues can usually be fixed with parts and time. Documentation issues can be fixed with paperwork. Crew issues hit a wall the moment the vessel reaches port — if the relief isn’t there, the vessel doesn’t sail. The pipeline runs continuously because a 30-day window can collapse to zero with one cancelled flight or one delayed visa.