| Linie | Ab | Richtung | Gleis | Takt |
|---|---|---|---|---|
| S-Bahn | 04:54+0' | Weinfelden | 3 | 60' |
| S-Bahn | 05:15+0' | St. Gallen | 5 | |
| S-Bahn | 05:24+0' | Romanshorn | 3 | 60' |
| S-Bahn | 05:26+0' | Altstätten SG | 5 | 60' |
| S-Bahn | 05:32+0' | Nesslau-Neu St. Johann | 2 | 60 - 61' |
| 05:39+0' | Lausanne | 4 | 60' | |
| 05:39+0' | Sargans | 5 | 60' | |
| S-Bahn | 05:45+0' | Weinfelden | 5 | 60' |
| S-Bahn | 05:54 | Weinfelden | 3 | 60' |
| S-Bahn | 05:56+0' | Sargans | 4 | 60' |
| S-Bahn | 06:03+0' | Rapperswil SG | 5 | 60' |
| 06:09 | Chur | 4 | 60' | |
| S-Bahn | 06:11 | Heiden | 2 | 60' |
| S-Bahn | 06:14+0' | St. Margrethen SG | 4 | 60' |
| 06:21+1' | St. Gallen | 5 | 30' | |
| S-Bahn | 06:24 | Romanshorn | 3 | 60' |
| S-Bahn | 06:26+0' | Altstätten SG | 5 | 60' |
| S-Bahn | 06:33 | Nesslau-Neu St. Johann | 5 | 60' |
| 06:39 | Lausanne | 4 | 60' | |
| 06:39 | Sargans | 5 | 60' | |
| S-Bahn | 06:45 | Weinfelden | 5 | 60' |
| 06:51+0' | St. Gallen | 5 | 30' | |
| S-Bahn | 06:54 | Weinfelden | 3 | 60' |
| S-Bahn | 06:56+0' | Sargans | 4 | 60' |
| S-Bahn | 07:03 | Rapperswil SG | 5 | 60' |
| 07:09 | Chur | 4 | 60' | |
| S-Bahn | 07:11 | Heiden | 2 | 60' |
| S-Bahn | 07:14 | St. Margrethen SG | 4 | 60' |
| 07:21 | St. Gallen | 5 | 30' | |
| S-Bahn | 07:24 | Romanshorn | 3 | 60' |
| S-Bahn | 07:26 | Altstätten SG | 5 | 60' |
| S-Bahn | 07:33 | Nesslau-Neu St. Johann | 5 | 60' |
| 07:39 | Lausanne | 4 | 60' | |
| 07:39 | Sargans | 5 | 60' | |
| S-Bahn | 07:45 | Weinfelden | 5 | 60' |
| 07:51 | St. Gallen | 5 | 30' | |
| S-Bahn | 07:54 | Weinfelden | 3 | 60' |
| S-Bahn | 07:56 | Sargans | 4 | 60' |
| S-Bahn | 08:03 | Rapperswil SG | 5 | 60' |
| 08:09 | Chur | 4 | 60' | |
| S-Bahn | 08:11 | Heiden | 2 | 60' |
| S-Bahn | 08:14 | St. Margrethen SG | 4 | 60' |
| Mehr | ||||