# Port congestion watchlist for chartering and voyage desks

> See waiting times, berth turnaround and inbound traffic for every port on your watchlist in one place, and get a written read on when you will actually berth.

- Workflow type: app
- Services: MarineTraffic, Slack Bot, General Input Database
- Categories: Operations
- Published: 2026-08-31

## What it does

- Keeps a watchlist of the ports you route through, showing the latest weekly waiting time at anchorage, time in port and vessel counts side by side.
- Puts the last several weeks next to each port so you can tell whether congestion is easing or getting worse, plus a live count of ships heading in.
- Opens any port for the full picture: the arrival queue by vessel type and size, recently completed calls, and how long ships actually spent alongside each berth.
- One click asks an assistant to read the trend and write a short recommendation on expected waiting time and a realistic berthing window, saved against the port and posted to Slack.

## What you'll need

- A MarineTraffic account with the port data services you want to use. Each service is bought separately and comes with its own key, so you will need one for the congestion figures and one for port and berth calls.
- A Slack workspace where the app can post each assessment for the wider ops team.
- The MarineTraffic port ids or UN/LOCODEs for the ports you want to follow. The port id is the number in the port's page address.

## Prompt

I want an app for our chartering and voyage planning desk that answers one question fast: which of the ports we route through is actually congested right now. Today a planner has to open MarineTraffic port by port in five browser tabs, and there is no side by side view when we are comparing candidate discharge ports. Build me a watchlist board instead.

The main screen is a watchlist of the ports we route through, stored in the app's own database so it persists between visits. Each row is one port and shows the latest weekly figures from the MarineTraffic Port Congestion service: average waiting time at anchorage, average time in port, and vessel counts. Beside those numbers show the previous several weeks as a compact trend (a sparkline or small bar row, plus a change indicator against the prior week) so a planner can see at a glance whether the port is getting worse or easing. Each row also carries a live count of inbound traffic from Expected Port Arrivals. Let me sort the board by waiting time and by week over week change so the worst ports float to the top.

Put a vessel class filter at the top of the watchlist. Port congestion is aggregated by market or ship class, so a dry bulk planner should be able to switch the whole board to dry bulk and stop looking at container numbers. The filter should apply to the congestion figures and to the arrival queue counts, and it should be remembered between visits.

A planner can add a port to the watchlist by MarineTraffic port id or by UN/LOCODE, and remove one at any time. Store each port in the app database with the port id, the locode, a display name and the date added. When someone adds a port, fetch its current congestion figures straight away so the row lands populated rather than blank.

Clicking a port opens a detail view for that port. Show the congestion history as a week by week chart going back as far as the data allows; the arrival queue from Expected Port Arrivals broken down by vessel type and size band so a planner can see what kind of tonnage is stacking up; recently completed calls from Port Calls with arrival and departure times; and berth level turnaround from Berth Calls, showing how long ships actually spent alongside at each berth or terminal. If a forward looking queue is useful, Predictive Port Arrivals can supplement the expected arrivals list, but expected arrivals is the primary source. This page also lists the memos written by the assessment agent, newest first, with the date each was written.

On the port detail view add an "Assess this port" button that kicks off a background agent. The agent reads the congestion trend for that port, the current arrival queue and the recent berth turnaround times, then writes a short practical memo: how much waiting time to expect, what a realistic berthing window looks like, and whether the situation is deteriorating or clearing. It saves the memo against the port in the app database so it appears on the detail page and as a "last assessed" note on the watchlist row, and it posts the same memo to a Slack channel using Slack Bot Send a Message so the wider ops team is working off the same call. Let the planner pick the Slack channel, and include the port name, the headline numbers and the recommendation in the message. Show the run status in the app while the agent is working.

MarineTraffic notes for the build: ports are addressed by MarineTraffic port id (the number in the port page URL) or by UN/LOCODE, so accept either on the add form. Congestion is calculated per port per ISO week, so the trend axis is weeks and not days, and the points should be labelled with the ISO week. Each MarineTraffic API service is a separately purchased product with its own 40 character key, so declare a separate credential slot for each service the app uses (Port Congestion, Expected Port Arrivals, Port Calls, Berth Calls) rather than assuming one key covers everything, and show a clear message on the affected panel if the key for one service is missing instead of failing the whole page. Speed values come back in knots times ten, so divide before displaying. All timestamps are UTC.

Nothing here runs on a schedule. The watchlist is a surface a planner opens, and the agent only runs when someone presses the button. Cache the congestion responses in the app database so reopening the board does not burn API credits, and give me a refresh control to force a re-fetch for a port.

## How to customize

- Choose which vessel class the board reports on, so a dry bulk planner is not looking at container figures.
- Pick the Slack channel each assessment goes to, and change how many weeks of history the trend shows.
- Add or drop ports from the watchlist at any time, by port id or UN/LOCODE.

## FAQ

### Do I need a MarineTraffic subscription?

Yes. The figures come from your own MarineTraffic port data services, and each service is purchased separately with its own key. You connect the keys for the services you already pay for, and the app tells you if a panel needs one you have not added yet.

### How current are the congestion numbers?

MarineTraffic calculates congestion per port per week, so waiting and in port times move week to week rather than hour to hour. The count of ships heading into a port is live, and you can refresh any port on demand.

### Can I compare several ports at once?

That is the whole point of the watchlist. Every port you follow sits on one screen with its latest figures and recent trend beside it, so comparing four candidate discharge ports does not mean opening four tabs.

### Will the numbers be right for my trade?

You can filter the board to a vessel class, so a dry bulk planner sees dry bulk waiting times rather than a blended figure that includes container ships.

### Does the assessment run on its own?

No. Nothing here is scheduled. The board is there when you open it, and an assessment only runs when someone presses the button on a port.

Use this prompt in General Input: https://www.generalinput.com/prompts/port-congestion-watchlist-for-chartering-and-voyage-desks