S60 148 Ponte Tresa – Lugano FLP
Alerts for train 148
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.
✓ Today’s run finished
Today, last fix heading to Lugano FLP at 11:52 No data
- Ponte Tresa11:24
- Magliaso11:29
- Agno11:34
- Bioggio11:38
- Bioggio Molinazzo11:39
- Sorengo Laghetto11:46
- Lugano FLP11:50
Next service: tomorrow 11:24 from Ponte Tresa · Mon 19 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
- Fri 25 Sept Max en route +12 min · last fix heading to La Cure +8 min
- Fri 11 Sept Max en route +6 min · last fix heading to Cappella-Agnuzzo +5 min
- Sat 17 Oct Max en route +4 min · last fix heading to Lausanne-Flon +4 min
- Wed 23 Sept Max en route +4 min · last fix heading to La Cure +3 min
Distribution · 90 days
49 runs with a known final delay. On time = under 3 min, the same cut the map uses.
- Early 14% · 7
- On time 78% · 38
- 3–10 min 8% · 4
- 10–30 min 0% · 0
- 30+ min 0% · 0
On-time by weekday
- 100% M n=6
- 100% T n=8
- 89% W n=9
- 100% T n=8
- 67% F n=6
- 88% S n=8
- 100% S n=4
Stops and timetable
Timetable of the latest run from the operator’s GTFS (12 stops).
| Stop | Sched. |
|---|---|
| 11:24 | |
| 11:27 | |
| 11:29 | |
| 11:30 | |
| 11:34 | |
| 11:37 | |
| 11:38 | |
| 11:39 | |
| 11:45 | |
| 11:46 | |
| 11:47 | |
| 11:50 |
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 |
|---|---|---|---|
| Sun 18 Oct | Lugano FLP 11:52 | No data | — |
| Sat 17 Oct | Lausanne-Flon 17:06 | +4 min | +4 min |
| Fri 16 Oct | Bière 17:55 | −1 min | +5 min |
| Thu 15 Oct | Bière 17:55 | −1 min | +1 min |
| Wed 14 Oct | Bière 17:54 | −1 min | +4 min |
| Tue 13 Oct | Bière 17:55 | −1 min | +4 min |
| Mon 12 Oct | Bière 17:53 | −2 min | +2 min |
| Sun 11 Oct | St-Cergue 21:34 | 0 min | +3 min |
| Sat 10 Oct | St-Cergue 21:34 | 0 min | +3 min |
| Fri 9 Oct | La Cure 21:53 | +1 min | +6 min |
| Thu 8 Oct | La Cure 21:53 | +2 min | +4 min |
| Wed 7 Oct | La Cure 21:53 | +1 min | +7 min |
| Tue 6 Oct | La Cure 21:50 | −1 min | +7 min |
| Mon 5 Oct | La Cure 21:52 | 0 min | +5 min |
| Sun 4 Oct | La Cure 21:54 | +3 min | +3 min |
| Sat 3 Oct | La Cure 21:49 | +1 min | +2 min |
| Fri 2 Oct | La Cure 21:49 | 0 min | +3 min |
| Thu 1 Oct | Lausanne-Flon 22:34 | +1 min | +7 min |
| Wed 30 Sept | Lugano FLP 00:04 | 0 min | +5 min |
| Tue 29 Sept | Lausanne-Flon 21:34 | −1 min | — |
| Mon 28 Sept | Lausanne-Flon 21:34 | −2 min | +5 min |
| Sat 26 Sept | Lausanne-Flon 21:04 | −3 min | +7 min |
| Fri 25 Sept | La Cure 21:50 | +8 min | +12 min |
| Thu 24 Sept | Lausanne-Flon 16:34 | +3 min | +4 min |
| Wed 23 Sept | La Cure 20:19 | +3 min | +4 min |
| Tue 22 Sept | Lugano FLP 17:04 | +2 min | +6 min |
| Mon 21 Sept | St-Cergue 21:02 | 0 min | +2 min |
| Sat 19 Sept | La Cure 21:50 | +1 min | +4 min |
| Fri 18 Sept | Lausanne-Flon 20:04 | 0 min | +6 min |
| Thu 17 Sept | Lausanne-Flon 08:34 | 0 min | +1 min |