Welcome to today's thread - #CrossBorderRail 2026 Tour Day 06 - 3 Mar - Ravières - Paris - Lille - Orchies - Tournai - Bruxelles Midi - Almere

New borders:
Bachy 🇫🇷 - Tournai 🇧🇪

Borders already crossed:
Antwerpen Centraal 🇧🇪 - Rotterdam Centraal 🇳🇱

France to Netherlands, taking in one of the final #CrossBorderRail lines I am missing at the France-Belgium border, the former Orchies to Tournai line.

Today's routes on the routes map:
https://umap.openstreetmap.fr/en/map/crossborderrail-2026-spring-tour_1361108#7/50.108607/3.781875

#CrossBorderRail live stream - 3/3/2026, 5:14:08 AM

PeerTube

Also here's a bit of reading material for you this morning, with plenty of #CrossBorderRail themes in it: my extra newsletter, sent out yesterday https://jonworth.eu/tgv-les-laumes-alesia-asterix-is-having-a-laugh/

Stories from France, Czechia, Germany and Denmark!

TGV Les Laumes-Alésia? Astérix is having a laugh

In the Extra Newsletter this week Analysis: Astérix has a view on TGV stations Gadgetbahn of the week: Urbanloop Good week: This RegioJet is going straight to hell Bad week: Berlin's new trams are too heavy Very bad week: Fehmarn disputes Photo of the week: Postcards to the Transport Commissioner

Jon Worth

#CrossBorderRail 2026 Spring Tour Train 13 of 80
TER 17750
06:21 Nuits-sous-Ravières - Paris Bercy 08:38
SNCF for TER Mobigo

Train type: Alstom Régiolis EMU, 2x 6 short carriages
⚡️ (1.5kV dc)
🚲: ✅
🦽: ✅ (step free if station allows, Nuits doesn’t, Bercy does)
🛜: ⛔️
🍽️: ⛔️
🧳: 🙂
🧽: 😐 (grimy windows)
Interrail: 🙂 (accepted)

TER 17750
06:21 Nuits-sous-Ravières - Paris Bercy 08:38

Distance: 224.5km
Average speed: 98km/h (reduced average as it uses the slow line Montereau-Melun)

6 stops:
Tonnerre
St-Florentin-Vergigny
Laroche-Migennes
Joigny
Sens
Paris-Bercy

This train, mapped: https://umap.openstreetmap.fr/en/map/crossborderrail-2026-spring-tour_1361108#9/48.287249/3.297270

#CrossBorderRail

#CrossBorderRail 2026 Spring Tour

Tours in Spring 2026. Each day of the project is a Layer in the map - these should be displayed by default, or if not click the three layered diamonds icon "Open browser" to the left side of the map. The icons are all for borders, roughly coloured to differentiate the borders. A cross through a track means NO TRAINS CAN RUN. A cross through trains but not track means TRAINS CAN RUN BUT NO PASSENGER TRAINS. And TRAIN AND TRACK (no crosses) means there is a passenger service.

uMap

And why am I heading towards Netherlands (other than to visit more #CrossBorderRail borders, obviously!)

Tomorrow I am speaking at RailTech Europe in Utrecht (about my #CrossChannelRail work) and then meeting the other founders of @erpu (@redjives @patrick @partim) in Utrecht - public meeting, others very welcome!

Musing about bumpy ride quality on trains this morning

As ever I am on a Régiolis EMU to Paris this morning - an Alstom design, now owned by CAF

These trains have a rather jerky, bumpy sort of ride, and the suspension makes clanking noises all the time (not just today)

Are the jabobs bogies between carriages poorly designed?

Wdyt @hopla @wrzlbrnft ?

Waving metaphorically to @ffeth at Sens

Made it across Paris in one piece

The city might have solid bike infrastructure, but damn many cyclists here are annoying, or have death wishes, or both

And while Paris Nord is often associated with nasty train boarding experiences, it is an amazing station if you have time and calm to appreciate it

#CrossBorderRail 2026 Spring Tour Train 14 of 80
TGV 7025
10:12 Paris Nord - Lille Flandres 11:18
SNCF Voyageurs

Train type: Alstom TGV Duplex, 8 short double deck carriages, 2 power cars
⚡️ (25kV ac)
🚲: ⛔️
🦽: ✅ (step free, then lift down inside)
🛜: ✅
🍽️: ⛔️ (there is a dining car but it’s not open)
🧳: 😐 (it’s empty today, so it’s passable)
🧽: 🙂
Interrail: 😐 (needs compulsory reservation, costs at least €10)

TGV 7025
10:12 Paris Nord - Lille Flandres 11:18

Distance: 225.2km
Average speed: 205km/h

1 stops:
Lille Flandres

This train, mapped: https://umap.openstreetmap.fr/en/map/crossborderrail-2026-spring-tour_1361108#8/50.097679/2.449951

#CrossBorderRail

#CrossBorderRail 2026 Spring Tour

Tours in Spring 2026. Each day of the project is a Layer in the map - these should be displayed by default, or if not click the three layered diamonds icon "Open browser" to the left side of the map. The icons are all for borders, roughly coloured to differentiate the borders. A cross through a track means NO TRAINS CAN RUN. A cross through trains but not track means TRAINS CAN RUN BUT NO PASSENGER TRAINS. And TRAIN AND TRACK (no crosses) means there is a passenger service.

uMap

I meanwhile wondered if SNCF Connect has finally put their problem of their lack of international booking right... so I tried Paris - Mainz

Type Mainz into DB and it gives you Mainz Hbf as the first option in the search

SNCF Connect calls Mainz Hbf "Mayence (Mainz)" but drops Hbf. Put Hbf and it gives you Hbf (Ersatzverkehr). What? 😳

And if you put Mainz and choose "Ville" from the list, not "Gare", it gives you routes to Mainz Römisches Theater, changing at Bad Munster am Stein

Obviously 🤷‍♂️

I presume because Römisches Theater is closest to the geographical centre of Mainz?

But weirdly it does give prices... and even sort of Sparpreis. But with €15 price difference.

Why?

How?

Oh and this is an interesting one

SNCF Connect *will* give me a 13 min connection in Mannheim, off the France-Germany ICE

DB will NOT give me that connection, I presume because they know that Dobrindt's illegal non- #Schengen compliant border controls will almost certainly mean the connection is missed in Mannheim. DB puts you on a later ICE in Frankfurt instead

Also the other day I found a Germany-France case where SNCF would not give me a tight connection in Strasbourg, but DB would

Now here is a case where SNCF will give me a tight connection in Mannheim, and DB will not

Vive la coopération !
Es lebe die Zusammenarbeit!

But back to what I was *trying* to work out, before SNCF Connect's weird takes on German stations confused me...

SNCF *CAN* sell a bunch of connections in Germany again

But it *CANNOT* sell a Paris - Brugge 🇧🇪 or Marseille - Genova 🇮🇹. There it tries to sell me half the journey

I also really appreciate that - although it cannot sell me a ticket for it - SNCF *can* show me the Bruxelles - Brugge train, but does not know what type of train it is, so just puts EMPTY in the result

Like DB has been able to do this correctly in a web search since I did I first Interrail trip in 2001 (and yes that is not a typo)

SNCF Connect cannot do what DB search has been doing for at least 25 years

Right then

Calm and on time TGV to Lille Flandres

Finally getting close to today's target: the border north of Orchies 🇫🇷

There’s a sort of Takt here

And the Ma Gare SNCF App - about the only SNCF app with a passable UX - tells me my next train is on Platform 6

And passengers can share electric plugs 🔌

#CrossBorderRail 2026 Spring Tour Train 15 of 80
TER 41911
12:05 Lille Flandres - Orchies 12:20
SNCF for TER Hauts de France

Train type: Alstom 2N NG EMU, 3 double deck carriages
⚡️ (25kV ac)
🚲: ✅ (well designed space)
🦽: ✅ (step free)
🛜: ⛔️
🍽️: ⛔️
🧳: 🙂 (ok for a commuter service)
🧽: 🙂 (bit worn, but orderly)
Interrail: 🙂 (accepted)

TER 41911
12:05 Lille Flandres - Orchies 12:20

Distance: 22km
Average speed: 88km/h

1 stops:
Orchies

This train, mapped: https://umap.openstreetmap.fr/en/map/crossborderrail-2026-spring-tour_1361108#12/50.556961/3.159943

#CrossBorderRail

#CrossBorderRail 2026 Spring Tour

Tours in Spring 2026. Each day of the project is a Layer in the map - these should be displayed by default, or if not click the three layered diamonds icon "Open browser" to the left side of the map. The icons are all for borders, roughly coloured to differentiate the borders. A cross through a track means NO TRAINS CAN RUN. A cross through trains but not track means TRAINS CAN RUN BUT NO PASSENGER TRAINS. And TRAIN AND TRACK (no crosses) means there is a passenger service.

uMap
This is the type of #CrossBorderRail that’s great. I’ve never been to Orchies. I’ll likely never go again. But I’m sure I’ll stumble on some interesting things between there and Tournai 🇧🇪
Nord - Pas de Calais lives! #CrossBorderRail
@jon From the point of view of a web user, saying "NO DETAILS AVAILABLE" would be far better than "EMPTY" since the latter would suggest to me "has no passengers on it".

@jon …obv a second thought would be "Why are you saying that a train's empty if you're selling tickets for it?" but even as a sometime database person, I wouldn't interpret EMPTY as I'm supposed to here; I'd expect NULL which to me means "someone's not very good at building UIs that talk to not-always-populated databases".

ETA: ah, EMPTY is "it does have a value but it evaluates to a string with no content". (plus the "not very good at building &c. &c.")

@jon Well, it‘s difficult, they just moved from Minitel to www in France!
@jon So in the SNCF planner there are fully booked trains, and there are empty trains. Makes sense
@jon This is a great example of why multiple tickets with passenger rights is the only practical solution to the SDBTR. If SNCF can't even tell what sort of train it is, how can we expect them to incorporate it into a single ticket and provide any necessary seat reservations?
@jon
Trust DB in this case 🥴
@_Hemmschuh Yes, sadly. But this is... tricky! There is no error shown!
@jon
Yeah the blocked correspondances are not transparently shown sadly...
@_Hemmschuh we are going to have fun with this in the forthcoming Regulation on ticketing being proposed later this spring by the European Commission.
@jon
The big cheminot privilege: I rarely buy regular tickets 🫣

@_Hemmschuh The big travel as much as I do: I rarely buy regular tickets (Interrail does very well out of me)

But seriously, you've not forgotten what it's like to be a regular passenger, and that's important.

@jon And if you hit "continue" will DB actually offer you a ticket?
@f09fa681 Of course. Why would it not?
@jon It happened to me on some routes that DB will happily show a price and even offer a ticket but once I continue and select one, it spits out an error. Hamburg to Copenhagen for example is such a route.
@f09fa681 that’s a known bug going that way into DK. I’ve not (yet) had the same to France.
@jon That's good to hear. It really lowered my confidence level when I see a price though. 😅
@jon
Because of different contingents for the international train probably.
@_Hemmschuh But what ticket would I then get? Or would I then get 2 PDFs? One for the international bit, one for the German bit?
@jon
Just open the conditions, i think SNCF sells you 2 tickets, one for the cooperation train which is a SNCF tarification and one DB ticket
SNCF and DB have different fare quotas on 🇫🇷🇩🇪 ODs of TGV/ICE.
@jon [eye twitch at their title casing code messing up and capitalising Am]
@q @jon the loss of the umlaut dots is far more annoying considering the french also got diacretics and shit
@16af93 @jon oh didn't even see that. gods how do you even manage that, surely everything is UTF-8 these days...
@q @16af93 @jon EBCDIC currently in the corner munching alternatingly on glue and half of all governments' and public infrastructure supporting code: HELLOW
@dequbed @q @16af93 @jon well, the MERITS data is in EBCDIC, but that at least does the proper substitution like MUENCHEN.

@q Timetables are exchanged using a format specified in the 1980s, so not really :D. I had to write a lot of fun code to magically get back proper punctuation based on multiple sources for our timetable imports.

@16af93 @jon

@16af93 @jon oh didn't even see that. gods how do you even manage that, surely everything is UTF-8 these days...
@jon [eye twitch at their title casing code messing up and capitalising Am]
@jon yes, Römisches Theater is directly at the Roman Theater and at the Altstadt (City Center). But there are only regional Trains stopping here.
@sf I have been to Mainz 🙂
@jon there are so many people following you and one will be in the situation in the future to decide whether to choose Mainz HBF or Römisches Theater. I wanted to give local advice 😎
@sf I like Mainz. It’s been too long since I was last there. This summer, maybe 🙂
Yes, SNCF Connect works like a dating app.
@jon also Perl somehow belongs to the Région Occitanie now according to SNCF Connect
@jon In this case I think it's not entirely SNCFs fault as DB also uses the "Ersatzverkehr" name in their system for the bus stop. Which is a bit odd and regulary confuses some passengers.
@jon "Monsieur vous ne pouvez pas attendre sur les quais!" is my typical gare du nord experience