S21 2089 Trogen – Appenzell

View line S21

Trogen 08:55 → Appenzell 09:58 Daily 1 h 03 min · 28 stops Appenzeller Bahnen

Running now · updated 09:52

Position estimated from the timetable

Between Gais and Sammelplatz 0 min

Estimated arrival at Appenzell 09:58 · 44 km/h

  1. Trogen08:55
  2. Vögelinsegg09:03
  3. St. Gallen Schülerhaus09:13
  4. St. Gallen Riethüsli09:25
  5. Gais09:49
  6. Sammelplatz09:52
  7. Appenzell09:58

Today it is running no worse than usual: typical arrival delay is +1 min; 87% of the last 30 runs arrived on time.

On-time · 30 days
87%
26/30 runs under 3 min
RT coverage: 29 full · 1 partial · 0 no data
On-time · 90 days
91%
50/55 runs under 3 min
RT coverage: 54 full · 1 partial · 0 no data
Typical delay
+1min
Median at arrival, 90 days
30 days: +1 min
P90
+3min
9 in 10 runs arrive with less than this
30 days: +3 min

Last 30 days

Arrival delay at Appenzell, in minutes. One bar per run.

  • On time (<3 min)
  • 3–10 min
  • 10–30 min
  • 30+ min
  • Partial coverage
  • No data

Worst days

  • Wed 11 Nov Max en route +4 min · last fix heading to Appenzell +4 min
  • Fri 30 Oct Max en route +4 min · last fix heading to Zürich HB +4 min
  • Sun 27 Sept Max en route +4 min · last fix heading to Zürich HB +4 min
  • Mon 9 Nov Max en route +3 min · last fix heading to Appenzell +3 min
  • Fri 16 Oct Max en route +3 min · last fix heading to Zürich HB +3 min

Distribution · 90 days

55 runs with a known final delay. On time = under 3 min, the same cut the map uses.

  • Early 0% · 0
  • On time 91% · 50
  • 3–10 min 9% · 5
  • 10–30 min 0% · 0
  • 30+ min 0% · 0

On-time by weekday

  • 88% M n=8
  • 100% T n=7
  • 86% W n=7
  • 100% T n=8
  • 75% F n=8
  • 100% S n=6
  • 91% S n=11

Stops and timetable

Timetable of the latest run from the operator’s GTFS (28 stops).

Last 90 days, 55 runs. At intermediate stops it is an estimate from the delay at origin and destination. Delays over 2 h count as “> 2 h”: our data does not measure them exactly.

StopSched.Usually 9 days in 10Today
08:55on time on timePassed
08:56≈ on time ≈ on timePassed
08:57≈ on time ≈ on timePassed
09:00≈ on time ≈ on timePassed
09:01≈ on time ≈ on timePassed
09:03≈ on time ≈ on timePassed
09:07≈ on time ≈ +1 minPassed
09:09≈ on time ≈ +1 minPassed
09:11≈ on time ≈ +1 minPassed
09:13≈ on time ≈ +1 minPassed
09:15≈ on time ≈ +1 minPassed
09:16≈ on time ≈ +1 minPassed
09:22≈ on time ≈ +1 minPassed
09:23≈ on time ≈ +1 minPassed
09:25≈ on time ≈ +1 minPassed
09:27≈ on time ≈ +1 minPassed
09:30≈ on time ≈ +2 minPassed
09:31≈ on time ≈ +2 minPassed
09:32≈ on time ≈ +2 minPassed
09:36≈ on time ≈ +2 minPassed
09:39≈ on time ≈ +2 minPassed
09:42≈ on time ≈ +2 minPassed
09:44≈ on time ≈ +2 minPassed
09:46≈ on time ≈ +2 minPassed
09:49≈ +1 min ≈ +2 minPassed
09:52≈ +1 min ≈ +3 minNext
09:55≈ +1 min ≈ +3 min
09:58+1 min +3 min

Each run is closed into train_runs (country, train number, service day) from the live positions. Final delay = last delay seen. Partial coverage: the feed stopped before the final stop (last value used, hatched in the chart). No data: a run without any valid delay; counts as neither on time nor late. Data collected since 11 July 2026.

Will I make my connection?

Pick where you get off and how many minutes you have until your next train. We work it out from what this train did over the last 90 days.

Include the time to change platforms. It is an estimate from past data, not a guarantee. Days more than 2 h late count as a missed connection.

Recent runs

DateLast stopFinalMax
Fri 13 NovGais 09:49Partial coverage0 min—
Thu 12 NovAppenzell 09:59+1 min—
Wed 11 NovAppenzell 10:03+4 min+4 min
Tue 10 NovAppenzell 09:59+2 min+2 min
Mon 9 NovAppenzell 10:02+3 min+3 min
Sun 8 NovAppenzell 09:59+1 min—
Sat 7 NovZürich HB 22:52+2 min+2 min
Fri 6 NovZürich HB 22:52+3 min+3 min
Thu 5 NovAppenzell 09:59+1 min+1 min
Wed 4 NovAppenzell 09:59+2 min+2 min
Tue 3 NovAppenzell 09:59+1 min—
Mon 2 NovAppenzell 09:59+1 min—
Sun 1 NovAppenzell 09:590 min—
Sat 31 OctZürich HB 22:50+1 min—
Fri 30 OctZürich HB 22:54+4 min+4 min
Thu 29 OctZürich HB 22:52+2 min+2 min
Wed 28 OctZürich HB 22:510 min+4 min
Tue 27 OctZürich HB 22:510 min+3 min
Mon 26 OctZürich HB 22:500 min+2 min
Sun 25 OctZürich HB 22:500 min—
Sat 24 OctZürich HB 22:500 min—
Fri 23 OctZürich HB 22:51+1 min+2 min
Thu 22 OctZürich HB 22:510 min+2 min
Wed 21 OctZürich HB 22:51+1 min+1 min
Tue 20 OctZürich HB 22:500 min+1 min
Mon 19 OctZürich HB 22:51+1 min+1 min
Sun 18 OctZürich HB 22:510 min—
Sat 17 OctZürich HB 22:51+1 min+1 min
Fri 16 OctZürich HB 22:53+3 min+3 min
Thu 15 OctZürich HB 22:500 min+2 min