S60 228 Ponte Tresa – Lugano FLP
Alerts for train 228
Alerts are saved per line, not per trip id, so they keep working when the operator changes the timetable. This train runs on line S60.
It has not run yet today
Last recorded run: Wednesday 14 October +1 min
Next service: today 23:09 from Ponte Tresa · Thu 15 Oct
Last 30 days
Arrival delay at Lugano FLP, in minutes. One bar per run.
- On time (<3 min)
- 3–10 min
- 10–30 min
- 30+ min
- Partial coverage
- No data
Worst days
- Mon 27 Jul Max en route +10 min · last fix heading to Lausanne-Flon +9 min
- Thu 24 Sept Max en route +6 min · last fix heading to Cappella-Agnuzzo +5 min
- Wed 16 Sept Max en route +6 min · last fix heading to Cappella-Agnuzzo +5 min
- Fri 25 Sept Max en route +5 min · last fix heading to Sorengo +4 min
- Wed 9 Sept Max en route +11 min · last fix heading to Sorengo +3 min
Distribution · 90 days
45 runs with a known final delay. On time = under 3 min, the same cut the map uses.
- Early 2% · 1
- On time 87% · 39
- 3–10 min 11% · 5
- 10–30 min 0% · 0
- 30+ min 0% · 0
On-time by weekday
- 86% M n=7
- 100% T n=6
- 75% W n=8
- 86% T n=7
- 86% F n=7
- 100% S n=6
- 100% S n=4
Stops and timetable
Timetable of the latest run from the operator’s GTFS (12 stops).
| Stop | Sched. |
|---|---|
| 23:09 | |
| 23:12 | |
| 23:14 | |
| 23:15 | |
| 23:19 | |
| 23:22 | |
| 23:23 | |
| 23:24 | |
| 23:30 | |
| 23:31 | |
| 23:32 | |
| 23:35 |
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.
Recent runs
| Date | Last stop | Final | Max |
|---|---|---|---|
| Wed 14 Oct | Lugano FLP 23:37 | +1 min | — |
| Tue 13 Oct | Lugano FLP 23:36 | 0 min | +1 min |
| Mon 12 Oct | Lugano FLP 23:36 | 0 min | +5 min |
| Sun 11 Oct | Lugano FLP 23:37 | +1 min | +2 min |
| Sat 10 Oct | Lugano FLP 23:37 | +1 min | +2 min |
| Fri 9 Oct | Lugano FLP 23:39 | +2 min | +4 min |
| Thu 8 Oct | Lugano FLP 23:36 | 0 min | +3 min |
| Wed 7 Oct | Lugano FLP 23:36 | +3 min | +3 min |
| Tue 6 Oct | Lugano FLP 23:36 | 0 min | +3 min |
| Mon 5 Oct | Lugano FLP 23:36 | 0 min | +2 min |
| Sun 4 Oct | Lugano FLP 23:36 | 0 min | — |
| Sat 3 Oct | Lugano FLP 23:36 | −1 min | +2 min |
| Fri 2 Oct | Lugano FLP 23:34 | 0 min | +2 min |
| Thu 1 Oct | Lugano FLP 18:21 | +2 min | +3 min |
| Wed 30 Sept | Assens 12:53 | 0 min | — |
| Tue 29 Sept | Lugano FLP 18:04 | 0 min | — |
| Mon 28 Sept | Lausanne-Flon 06:49 | No data | — |
| Fri 25 Sept | Sorengo 18:05 | +4 min | +5 min |
| Thu 24 Sept | Cappella-Agnuzzo 13:19 | +5 min | +6 min |
| Tue 22 Sept | Lausanne-Flon 13:19 | 0 min | — |
| Mon 21 Sept | Lugano FLP 08:49 | +1 min | +2 min |
| Sun 20 Sept | Lugano FLP 13:49 | 0 min | +1 min |
| Fri 18 Sept | Lugano FLP 17:34 | +1 min | +10 min |
| Thu 17 Sept | Lugano FLP 22:04 | 0 min | — |
| Wed 16 Sept | Cappella-Agnuzzo 18:04 | +5 min | +6 min |
| Mon 14 Sept | Lugano FLP 22:05 | −1 min | — |
| Thu 10 Sept | Lausanne-Flon 12:19 | 0 min | — |
| Wed 9 Sept | Sorengo 13:50 | +3 min | +11 min |
| Tue 8 Sept | Lausanne-Flon 12:19 | No data | — |
| Sun 6 Sept | Lugano FLP 17:49 | 0 min | — |