Retrieve the carrier-issued demurrage and detention invoice via the carrier's invoice API or EDI 210; parse the container number, free time start date, free time end date, and accrued charges per day.
Pull the actual terminal availability and gate-out timestamps from the terminal operator system or your drayage TMS API; compare the terminal-recorded timestamps against the carrier's free time calculation.
Identify discrepancies: check for correct free time start date (availability date, not vessel arrival), proper exclusion of weekends and holidays per the carrier's published tariff, and any terminal-caused delays (vessel delay, yard congestion, holds).
For each disputed charge, compile the API-sourced evidence into a dispute package: terminal availability timestamp, gate appointment attempts, CBP or FDA hold notifications (if customs-caused delay), and carrier tariff clause citations.
Submit the dispute through the carrier's commercial dispute portal or via the carrier's customer service API if available; include the structured evidence and the calculated corrected amount.
Monitor the dispute resolution status; if the carrier denies a valid dispute, escalate to the Federal Maritime Commission (FMC) Informal Docket process, which is available for US port demurrage disputes under OSRA 2022.
Known gotchas
Free time calculation varies by carrier tariff: some carriers start the clock on vessel arrival, others on availability notification — always reference the specific carrier tariff clause, not a general assumption.
OSRA 2022 enacted FMC authority over unreasonable demurrage and detention practices at US ports; document all dispute attempts and carrier responses in case an FMC complaint is needed.
Detention charges (for chassis time away from the terminal) have different free time rules than demurrage (for container time at the terminal); the two are often bundled in invoices but must be disputed separately.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp