Skip to content

Times, platforms & service updates

Search from Utrecht Centraal to Utrecht Science Park for today, departing now. Open a returned journey to see its latest times, stops and service updates. Realtime information appears when available for the service.

Open this search in I’m Planner
Opens for today, departing now.

In your request, use the current time:

const request = {
type: 'planTrip',
payload: {
fromPlace: '52.0894,5.1102',
toPlace: '52.0925,5.1813',
timestamp: new Date().toISOString(),
arriveBy: false,
timeSlack: 0,
},
};

Use expected times when available and scheduled times as the fallback. Show both when there is a delay.

const departure = leg.expectedStartTime || leg.aimedStartTime;
const arrival = leg.expectedEndTime || leg.aimedEndTime;

A transit leg’s realtime value tells you whether realtime information is available for that leg.

const call = leg.transitLeg?.fromEstimatedCall;
const platform = call?.expectedPlatform || call?.aimedPlatform || call?.quay?.publicCode || 'Platform unavailable';

Highlight a platform change when the scheduled and expected platforms differ. Label a call marked cancelled clearly in the stop list.

Display a line alert with the line, a journey alert with that service and a stop alert with that stop. A situation can include a summary, description, advice, validity times and a link for more information. Use the traveller’s preferred language when available.

In the debug UI, open a trip and expand its stops and alerts to see this information in context.

Bus 28 at Utrecht Centraal, with the scheduled departure struck through and the expected departure and delay beside it.
See the updated departure time

Bus 28 at Utrecht Centraal, with the scheduled departure struck through and the expected departure and delay beside it.