Poll the pier (NaptanFerryPort, ids like 930G…). A berth (9300…) returns no predictions. towards is blank — use getNormalizedArrivals from tfl-ts 2.10, or keep getArrivals and fall through to destinationName the way this board does. The board keeps only live river-bus lines. If you pass now, use the timestamp captured with the response, not a live clock.
Tube and rail use RailArrivalsBoard. Bus uses BusArrivalsBoard. The three share row chrome and the tile rhythm, not the high-level API. Fetching stays in the app. Nearby search lives under Explorer → River.
The default is flat: no route headers, interleaved RB1 / RB4 / RB6 chips in soonest-first order. Waits under 30 minutes stay as Due / X min. From 30 minutes, the board shows the London clock time from expectedArrival. An empty list reads “No live departure times available.” — RB4 and Woolwich Ferry can have Good Service with no countdown feed.
Pass groupBy="route" for one section per river-bus line. Each section uses a river-blue bar. The route chip stays on the header; rows are destination and time.
Unattended keeps the configured height and rotates later arrivals. Rank chips replace the page count, on both flat and route-grouped boards. The first arrival stays pinned. Later slots chunk in windows of pageSize - 1; only a short final window overlaps. Frames are not swipeable. New ordering is adopted at a frame boundary; countdown updates in place.
getArrivals has no disruption field. A diverted or suspended route just disappears. Pier warnings live in stopPoint.getDisruption — the same DisruptedPoint payload as bus. Line-wide status is line.getStatus, not this board.
A named route (RB1, Woolwich Ferry) attaches to that line. A pier-wide closure with no route named fans out to every river route currently in data. Warning chips sit after the pier name; hover or tap to read the text.
Route-wide status is a different fetch: line.getStatus. Pass those rows into TubeStatusBoard — do not invent a river status component. Filter to the four river-bus ids, or only the lines that serve this pier.
Poll the pier (NaptanFerryPort, ids like 930G…). A berth (9300…) returns no predictions. towards is blank — use getNormalizedArrivals from tfl-ts 2.10, or keep getArrivals and fall through to destinationName the way this board does. The board keeps only live river-bus lines. If you pass now, use the timestamp captured with the response, not a live clock.
Tube and rail use RailArrivalsBoard. Bus uses BusArrivalsBoard. The three share row chrome and the tile rhythm, not the high-level API. Fetching stays in the app. Nearby search lives under Explorer → River.
The default is flat: no route headers, interleaved RB1 / RB4 / RB6 chips in soonest-first order. Waits under 30 minutes stay as Due / X min. From 30 minutes, the board shows the London clock time from expectedArrival. An empty list reads “No live departure times available.” — RB4 and Woolwich Ferry can have Good Service with no countdown feed.
Pass groupBy="route" for one section per river-bus line. Each section uses a river-blue bar. The route chip stays on the header; rows are destination and time.
Unattended keeps the configured height and rotates later arrivals. Rank chips replace the page count, on both flat and route-grouped boards. The first arrival stays pinned. Later slots chunk in windows of pageSize - 1; only a short final window overlaps. Frames are not swipeable. New ordering is adopted at a frame boundary; countdown updates in place.
getArrivals has no disruption field. A diverted or suspended route just disappears. Pier warnings live in stopPoint.getDisruption — the same DisruptedPoint payload as bus. Line-wide status is line.getStatus, not this board.
A named route (RB1, Woolwich Ferry) attaches to that line. A pier-wide closure with no route named fans out to every river route currently in data. Warning chips sit after the pier name; hover or tap to read the text.
Route-wide status is a different fetch: line.getStatus. Pass those rows into TubeStatusBoard — do not invent a river status component. Filter to the four river-bus ids, or only the lines that serve this pier.