| Linie | Ab | Richtung | Gleis | Takt |
|---|---|---|---|---|
| S-Bahn | 22:49+1' | Rorschach | 1 | |
| S-Bahn | 23:18+1' | St. Gallen | 1 | |
| S-Bahn | 23:39+1' | Wattwil | 1 | |
| 23:49+2' | St. Gallen | 1 | ||
| S-Bahn | 00:18+1' | St. Gallen | 1 | |
Montag 03.11.2025
|
||||
| S-Bahn | 05:18 | St. Gallen | 1 | 60' |
| S-Bahn | 05:39 | Rapperswil SG | 1 | 60' |
| S-Bahn | 05:49 | Altstätten SG | 1 | 60' |
| S-Bahn | 06:08 | Nesslau-Neu St. Johann | 1 | 60' |
| S-Bahn | 06:18 | St. Gallen | 1 | 60' |
| S-Bahn | 06:39 | Rapperswil SG | 1 | 60' |
| S-Bahn | 06:49 | Altstätten SG | 1 | 60' |
| S-Bahn | 07:08 | Nesslau-Neu St. Johann | 1 | 60' |
| S-Bahn | 07:18 | St. Gallen | 1 | 60' |
| S-Bahn | 07:39 | Rapperswil SG | 1 | 60' |
| S-Bahn | 07:49 | Altstätten SG | 1 | 60' |
| S-Bahn | 08:08 | Nesslau-Neu St. Johann | 1 | 60' |
| S-Bahn | 08:18 | St. Gallen | 1 | 60' |
| S-Bahn | 08:39 | Rapperswil SG | 1 | 60' |
| S-Bahn | 08:49 | Altstätten SG | 1 | 60' |
| S-Bahn | 09:08 | Nesslau-Neu St. Johann | 1 | 60' |
| S-Bahn | 09:18 | St. Gallen | 1 | 60' |
| S-Bahn | 09:39 | Rapperswil SG | 1 | 60' |
| S-Bahn | 09:49 | Altstätten SG | 1 | 60' |
| S-Bahn | 10:08 | Nesslau-Neu St. Johann | 1 | 60' |
| S-Bahn | 10:18 | St. Gallen | 1 | 60' |
| S-Bahn | 10:39 | Rapperswil SG | 1 | 60' |
| S-Bahn | 10:49 | Altstätten SG | 1 | 60' |
| S-Bahn | 11:08 | Nesslau-Neu St. Johann | 1 | 60' |
| S-Bahn | 11:18 | St. Gallen | 1 | 60' |
| S-Bahn | 11:39 | Rapperswil SG | 1 | 60' |
| S-Bahn | 11:49 | Altstätten SG | 1 | 60' |
| S-Bahn | 12:08 | Nesslau-Neu St. Johann | 1 | 60' |
| S-Bahn | 12:18 | St. Gallen | 1 | 60' |
| S-Bahn | 12:39 | Rapperswil SG | 1 | 60' |
| S-Bahn | 12:49 | Altstätten SG | 1 | 60' |
| S-Bahn | 13:08 | Nesslau-Neu St. Johann | 1 | 60' |
| S-Bahn | 13:18 | St. Gallen | 1 | 60' |
| S-Bahn | 13:39 | Rapperswil SG | 1 | 60' |
| S-Bahn | 13:49 | Altstätten SG | 1 | 60' |
| S-Bahn | 14:08 | Nesslau-Neu St. Johann | 1 | 60' |
| S-Bahn | 14:18 | St. Gallen | 1 | 60' |
| S-Bahn | 14:39 | Rapperswil SG | 1 | 60' |
| S-Bahn | 14:49 | Altstätten SG | 1 | 60' |
| S-Bahn | 15:08 | Nesslau-Neu St. Johann | 1 | 60' |
| S-Bahn | 15:18 | St. Gallen | 1 | 60' |
| S-Bahn | 15:39 | Rapperswil SG | 1 | 60' |
| S-Bahn | 15:49 | Altstätten SG | 1 | 60' |
| S-Bahn | 16:08 | Nesslau-Neu St. Johann | 1 | 60' |
| S-Bahn | 16:18 | St. Gallen | 1 | 60' |
| S-Bahn | 16:39 | Rapperswil SG | 1 | 60' |
| S-Bahn | 16:49 | Altstätten SG | 1 | 60' |
| S-Bahn | 17:08 | Nesslau-Neu St. Johann | 1 | 60' |
| S-Bahn | 17:18 | St. Gallen | 1 | 60' |
| S-Bahn | 17:39 | Rapperswil SG | 1 | 60' |
| S-Bahn | 17:49 | Altstätten SG | 1 | 60' |
| S-Bahn | 18:08 | Nesslau-Neu St. Johann | 1 | 60' |
| S-Bahn | 18:18 | St. Gallen | 1 | 60' |
| S-Bahn | 18:39 | Rapperswil SG | 1 | 60' |
| S-Bahn | 18:49 | Altstätten SG | 1 | 60' |
| S-Bahn | 19:08 | Nesslau-Neu St. Johann | 1 | 60' |
| S-Bahn | 19:18 | St. Gallen | 1 | 60' |
| S-Bahn | 19:39 | Rapperswil SG | 1 | 60' |
| S-Bahn | 19:49 | Altstätten SG | 1 | 60' |
| S-Bahn | 20:08 | Nesslau-Neu St. Johann | 1 | |
| S-Bahn | 20:18 | St. Gallen | 1 | 60' |
| S-Bahn | 20:39 | Rapperswil SG | 1 | 60' |
| S-Bahn | 20:49 | Altstätten SG | 1 | 60' |
| S-Bahn | 21:08 | Nesslau-Neu St. Johann | 1 | |
| S-Bahn | 21:18 | St. Gallen | 1 | |
| S-Bahn | 21:39 | Rapperswil SG | 1 | |
| S-Bahn | 21:49 | Altstätten SG | 1 | |
| S-Bahn | 22:18 | St. Gallen | 1 | |
| S-Bahn | 22:39 | Rapperswil SG | 1 | |
| S-Bahn | 22:49 | Altstätten SG | 1 | |