So you want a one-off rail ticket through Germany, and you want it as cheap as possible. You’re doing a journey like Belgium (- Germany -) Austria, or Denmark (- Germany -) Czech Republic, but you’re not going to stop* in Germany. Here’s how to do it.
1. Search for your rail connection on DB’s website, putting in your final destination (for example: København and Wien)
2. This will give you timetable information, but it will tell you ‘Preisauskunft nicht möglich’/'Fares not available’
3. Don’t despair. Click on ‘Zwischenhaltestelle einblenden’/'Show intermediate stops’ and take note of the route.
4. The trick is to look for the first and last stations in Germany AND the first and last major stations in Germany, where you’re likely to change trains. For the main borders to and from Germany these are as follows, explained for journeys into Germany:
Denmark (ferry route): First – Puttgarden, Major – Hamburg Hbf
Denmark (Jutland): First – Flensburg, Major – Hamburg Hbf
Netherlands (south east into Germany): First – Emmerich, Major – Duisburg, Düsseldorf or Köln
Netherlands (east into Germany, towards Berlin): First – Bad Bentheim, Major – Osnabrück Hbf
Belgium: First – Aachen Hbf, Major – Köln Hbf
France: First – Kehl, Major – Karlsruhe Hbf
Switzerland (north into Germany): First – Basel Bad, Major – Freiburg/Breisgau Hbf
Switzerland (north east into Germany): First – Lindau Hbf, Major – München Hbf
Austria (from Innsbruck/Brenner): First – Rosenheim, Major – München Hbf
Austria (from Salzburg): First – Freilassing, Major – München Hbf
Austria (north west into Germany, from Wien): First – Passau Hbf, Major – Passau Hbf
Czech Republic (north into Germany): First – Bad Schandau, Major – Dresden Hbf
Poland (west into Germany): First – Frankfurt/Oder, Major – Berlin Hbf
This list is not exhaustive. You might also get a hint from the DB’s website if it says something like “Übg.: Emmerich(Gr)” - Übg stands for Übergang – i.e. crossing
5. This means that for any journey through Germany you will have a list of 4 stations – 2 at your entry point, and 2 at your exit point.
6. You now need to do 8 separate DB searches. So, for example, for a København – Geneve journey you would search:
Københaven-Puttgarden, and Puttgarden-Geneve
Københaven-Hamburg, and Hamburg-Geneve
København-Freiburg/Bresigau, and Freiburg/Breisgau-Geneve
København-Basel Bad, and Basel-Bad Geneve
You should make sure the trains you are allocated are the same ones you found in step 2 above. Sometimes you may encounter night trains that have set-down stations only (so København-Freiburg/Bresigau might work for example, but Freiburg/Breisgau-Geneve does not on the trains you want). There are some tricks to get around this, but those are too detailed for this blog post!
7. Total up the price of each of your four options from point 6., and book the cheapest of them. The main gain is that each of these legs of the journey should involve a ‘Europa-Spezial‘ ticket, which can cost as little as 19 Euro, but each Europa-Spezial ticket must start or end in Germany.
8. Sometimes you might need a connection (especially if travelling south through Austria to the Balkans) that will always refuse to give you a price – in those circumstances you will have to call DB.
9. That’s it – simple, eh?
Doing this in the past has saved me more than €100 per single journey.
* – there is the ‘Zwischenhaltestelle’ option for DB that can be used for stopovers – see more on that here.