How Much Buffer Does a Train Connection Need?

A 14-minute international rail transfer did not survive a 5-minute delay. How much buffer to leave, and when it matters most.

Every rail planner tells you to leave a buffer. Almost none of them tell you how big, and on Day 6 we found out one two-minute miss at a time.

The morning after the CHF 49 seat and the night at The Capra, we missed the PostBus out of Saas-Fee by two minutes. Then the train up to Zermatt. Then the 13:37 back down. Then, at Domodossola, the one that mattered. In between, we still went up the mountain, walked three of the Five Lakes and the whole way down to the funicular, because the alternative was letting the day win. Nothing went badly wrong. Everything went slightly wrong, over and over, and the difference between a day you laugh about and a day that costs you the evening turned out to be one thing: how often the next train runs.

The planning document we were carrying had no page for this day at all, which Day 5 already admitted. Every connection below was searched on the day, on the move.

The chain we tried to run

Leg Planned What happened
Breakfast, Saas-Fee 7:30 On time
PostBus 511 to Visp Missed by two or three minutes, took the next one. Bags into the station lockers, floor -1
Visp to Zermatt, return CHF 76 for two, second class on Half Fare Declined the CHF 54 first-class upgrade
Visp to Zermatt planned arrival 11:17 Missed by two or three minutes, one train behind the plan
Sunnegga funicular plus Blauherd gondola Kombi 5-Seenweg, Half Fare Bought at the counter, not in the app. See below
Stellisee about 12:40 Mirror Matterhorn, no wind
Descent to Sunnegga via Grindjisee about 45 minutes on foot Skipped the gondola down
Zermatt to Visp 13:37 Missed by two minutes, took the 14:37
Visp to Domodossola, direct arrive 17:12 Ran late
Vigezzina to Locarno 17:26 Missed by two or three minutes
Vigezzina to Locarno 19:00, the last one Locarno about 20:50, the last hour in the dark
Arrive Lugano About 22:00, roughly 1h45 late

An omelette and halved cherry tomatoes on a white plate

The 7:30 breakfast the hotel confirmed the night before, which is what made the chain possible. Photo: RewardsGuru.club

The ticket that the app refused to sell us

Before any of the timing mattered, the day produced a tip that stands on its own.

Buy the Kombi rather than the legs, and know that the walk does not have to be finished to be worth doing. Zermatt Bergbahnen sells the Five Lakes route as a loop from Blauherd back to Sunnegga, and the Kombi covers the ride up on the Sunnegga funicular and the Blauherd gondola. We walked three of the five lakes, not all of them, and took the funicular back down to Zermatt from Sunnegga.

The Sunnegga station sign at 2,288 metres above the funicular doors

Sunnegga, 2,288 m. The funicular ends here and the Kombi's gondola to Blauherd begins. Photo: RewardsGuru.club

That is the version to copy on a short day. We reached Zermatt with the afternoon already eaten by a missed connection, and three lakes plus the ride down still fit. The trail is exitable partway, which is what makes it the right choice when the clock is against you.

We did not do Gornergrat. The cogwheel railway to the summit is the excursion most people book Zermatt for, and on this day there was simply no time for it. Worth saying plainly so nobody reads a half-day here as a full Zermatt itinerary.

We tried to buy it in the Matterhorn Bergbahnen app. The app would not apply the Half Fare discount. Its words: "discounted tickets can only be charged onto a SwissPass."

A Half Fare Card bought as a foreign visitor arrives as a PDF or a card, not as a 12-digit SwissPass ID. Swiss mountain railway apps want that ID before they will show you a discounted price. So the discount exists, it is just not purchasable in the app. We walked to the counter and bought it there at the Half Fare price, about CHF 20 to 25 per person.

The counter is not a fallback here, it is the right answer. This is the second time on the trip that the operator's own desk sold something no app would: the Kombi at a Half Fare price the app refused, and at Interlaken Ost a Jungfraujoch ticket rebuilt to go up one valley and down the other. Treat the mountain railway's own counter as a place that carries options the national app does not.

If you hold a Half Fare Card without a SwissPass, buy every mountain-railway ticket at the counter and budget the queue time into your morning. Trying to make the app work is the part that makes you miss a departure.

Gondola cabins on a cable rising over a bare mountainside under a blue sky

The Blauherd gondola, the second half of the Kombi ticket the app would not sell. Photo: RewardsGuru.club

Missed by two minutes, all day

The pattern set in early. The bus out of Saas-Fee went without us by two minutes. At Visp the bags went into the lockers on floor -1 and the Zermatt train left by about the same margin. It did not matter. The next one came, the lockers were still there, and Zermatt was still Zermatt.

A wooden circular photo frame reading What a beautiful place, with Saas-Fee's chalets and a snow peak through it

Saas-Fee at 08:25, a few minutes before the bus we did not catch. Photo: RewardsGuru.club

Up top, the app refused to sell us the discounted Kombi and the counter sold it instead, and with the morning already an hour short we started the Five Lakes trail anyway. Stellisee, Grindjisee, a third lake, and then the walk down to the Sunnegga funicular instead of the gondola: three of the five, and every metre of the descent on foot, on a day doing its best to cancel them. We came down with the 13:37 in reach and missed it by two minutes. That one did not matter either. The 14:37 ran on the same regular fare, valid on the route all day, and nobody checked anything.

A red train at a small valley station with wooded slopes behind

The 14:37 down the valley, one train behind the plan. Photo: RewardsGuru.club

That is the Swiss main-line pattern: services repeat every 30 to 60 minutes, so a two-minute miss is a half-hour inconvenience, and by mid-afternoon we had stopped counting them.

The Matterhorn against a clear sky, seen from a grassy trail with a signpost in the foreground

Twenty minutes above Blauherd, no wind. Worth every train we missed to get here. Photo: RewardsGuru.club

Domodossola counted. The Vigezzina, the narrow-gauge Centovalli line into Locarno, ran three times that afternoon: 15:26, 17:26, and 19:00 last. We arrived off the direct train from Visp scheduled at 17:12, giving a 14-minute transfer to the 17:26. The train ran late. The Vigezzina leaves from the underground platforms, 31 and 32, which is a walk and not a hop across the hall. We were two or three minutes behind it. The same margin that had cost nothing all day had just cost the evening.

A station stairway with signs for platforms 31 and 32 and the Valle Vigezzo line to Locarno

Domodossola at 18:11, the stairs down to platforms 31 and 32. The 17:26 had gone. The 19:00 had not. Photo: RewardsGuru.club

A 14-minute connection does not survive a 5-minute delay. On a service that runs every half hour that sentence does not matter. On a service that runs three times a day it costs you an hour and a half, and on this one it cost more than that, because the next departure was also the last, and the last hour of it ran in the dark.

The rule we now use: on a two-hourly or less frequent service, which is most scenic lines, most Italian lake ferries and most cross-border narrow gauge, build 60 to 90 minutes of buffer. On half-hourly Swiss main lines, build none.

Then the day handed something back. The 19:00 was the last train and it was nearly empty. We had the first-class car to ourselves, and for one hour the Centovalli did what it is famous for, gorges and chestnut woods and village viaducts, in the last of the light. It was the best hour of the day and nobody else was in it. Then the light went. In early September it goes during this ride, and the second hour of the line, the scenery we had routed a whole day around, went past the windows in the dark. We reached Locarno about 20:50 with half the line seen and half of it missed.

Take the 17:26 or earlier. On this line the departure you pick is not just an arrival time, it is how much of the line you see. We saw one hour of it. If your plan puts you on the last train of the day on a scenic narrow-gauge route, the plan has already failed even when it works.

Empty seats and a small table inside a narrow-gauge train, a screen above showing the next stop

The 19:00 out of Domodossola, the last Vigezzina of the day, at 19:10. Photo: RewardsGuru.club

Two more things about this specific connection, learned the hard way. The Vigezzina is not an EuroCity and will not appear if you search for one. Search Domodossola to Locarno and look for a service labelled R or PE.

Also worth saying plainly: a pasted Google itinerary we had been carrying listed a 16:25 Centovalli departure. There is no 16:25. It does not exist. Had we planned around it instead of the timetable, the day would have broken earlier and worse.

A wooded gorge falling away below the train window in fading evening light

The Centovalli from the window at 19:30, inside the one hour of light the 19:00 gave us. Photo: RewardsGuru.club

What to do with the hour and a half

We are not going to tell you how we spent it, because we did not spend it on anything worth copying.

What we would do with it, offered as a suggestion and not as a report: the old town is about ten minutes on foot from the station, and Piazza Mercato is the square to aim for. The reason it works is the ticket. A same day ticket is valid on any later departure, so nothing has to be rebought and nothing has to be argued about, which means an unplanned ninety minutes in a small Italian town costs you nothing at all to spend well. That is the part that is easy to skip in a lessons post, and it is the reason this day was not a disaster.

The buffer philosophy that carried the whole trip is the same one that saved this day. Every day had slack in it. Day 6 spent all of its slack and still arrived at the right hotel in the right town.

The compensation question, and the reroute we turned down

Swiss delay compensation is measured at your ticketed destination, not at whichever train was late. We arrived in Lugano about 1h45 late, which puts it in the lower tier. We are not printing the percentage thresholds. We had them from our own notes rather than from SBB, we did not verify them against SBB's published terms, and a compensation rule is exactly the kind of thing not to repeat second hand. Check the current tiers on SBB's own page before you count on a refund.

We did not file it, and that is worth admitting in a piece that raises the question. It is also what most people do. The delay lands at the end of a long day, the form is one more task, and the money quietly goes unclaimed. If you want to keep the option open, the step below is the one that preserves it, and it costs nothing at the time.

Request the delay confirmation in the app while the delay is still live. It is much harder to reconstruct after you have gone to bed.

We also considered rerouting through Milan to get to Lugano earlier and rejected it. The reasoning is worth stealing: the original ticket was still valid on the 19:00, so the railway had already provided a way to complete the journey. Buying our own alternative would have been a self-arranged reroute, which is not reimbursed. Waiting was both cheaper and the only version with a claim attached to it.

What we skipped, on purpose

Gornergrat and Mittelallalin were both on the long list and both got dropped. This would have been a third glacier summit in four days after Pilatus and the Jungfraujoch, and we could feel that the fourth photograph of ice was not going to mean anything.

That is a real budgeting decision, not modesty. Skipping them kept the money and the daylight for the Stellisee walk, which was the better half of the day: up on the funicular and gondola, then down on foot past Grindjisee instead of riding back.

Clear shallow water over pale stones at the edge of a mountain lake

The shore of Stellisee, the first of the three lakes. Photo: RewardsGuru.club

A small dark lake among larch trees on a rocky hillside

Grindjisee, the second of our three. Photo: RewardsGuru.club

A small green lake ringed by larch trees and grass under a wooded slope

The third lake, and the turn for the walk down. Photo: RewardsGuru.club

Lockers and bags

The whole day only works because of the lockers at Visp, floor -1. Bags in on the way to Zermatt, bags out on the way to Italy, no hotel involved on either end. That is what makes a summit morning and a border-crossing evening fit into the same day.

One warning: the Visp lockers sell out mid-morning. We were there early enough. Arriving at 11:00 with two rollers and no plan B is how this day would have started badly.

Where to stay, with hindsight

Hotel City Lugano, one night, and a solid choice for what this night had to do: land late, sleep, move on. The night was paid with the Delta SkyMiles Reserve card's $200 Delta Stays credit. Amex describes it as "Up to $200/yr in statement credits for prepaid hotels or vacation rentals booked through Delta Stays on delta.com/stays", so the booking has to run through Delta Stays to trigger it, which is worth knowing before you price the same room somewhere else. Amex's benefit page, read September 19, 2026, caps it at $200 per Card account per calendar year and says the credit posts 6 to 8 weeks after the booking is charged.

That credit behaves the same way the two Platinums did earlier in this trip, and it is the most useful thing in this section. Delta Stays credits attach to a card and a year, not to a person. The Reserve's $200 covered this night, and a Delta Platinum's separate $150 covered the airport hotel outside Milan five days later. Two cards, two credits, two hotels, and neither had to wait for the other to reset. If a household holds more than one card in the same family, the credits are worth mapping onto the trip before you book anything.

The location is the part worth knowing before you book. It sits at Via Giuseppe Bagutti 4, north of the centre, and it is not the old town. Its own listings put the lake at about fifteen minutes on foot. From the station it is a short bus ride or a CHF 15 to 20 taxi, which is what we took at 22:00 rather than work out buses in the dark.

The thing that made it worth it had nothing to do with the room: Ticino Ticket at check-in, which gives free public transport across the whole canton for the length of the stay. Ticino's tourism office, read September 19, 2026: it is handed out by partner hotels, hostels and campsites to anyone staying at least one night, and it is valid from check-in until midnight on the day you check out. Every Swiss overnight stay comes with a local guest card of some kind. Ask for it if it is not handed to you, because the transport it covers is real money.

Where we ate

In Zermatt we did not eat a meal at all, and that was the right call rather than a sacrifice. The walk from Zermatt station to the Sunnegga funicular runs past good quick-grab snacks and ice cream, and on a day already short an hour and a half, eating on the way to the lift is what let the afternoon happen. A sit-down lunch would have cost us the third lake.

Dinner was McDonald's, delivered, once we reached Lugano. That is the third time on this trip that a long transfer day ended in delivery rather than a restaurant, and it is worth saying rather than editing out: arriving somewhere at night after a broken connection is not when anybody goes looking for the local speciality. Plan the good meals for the days you arrive early.

Then a second dinner in Lugano at Ristorante Tango on Piazza Riforma, which its listings show open until 1:00. Arriving somewhere at 22:00 is only a problem in a town where nothing is open. This is a good argument for checking one late kitchen before you commit to a late arrival.

What we would do differently

Kept separate from everything above on purpose. None of this is tested. It is what we would plan next time, not what we did.

Run the Centovalli in daylight. Aim at the 15:26 or the 17:26 out of Domodossola and build the rest of the day backwards from it. We rode the 19:00 and saw one hour of it, in an empty first-class car, and then an hour of dark. The 17:26 gives you the whole line, which is the only reason we can tell you the departure time is the whole decision here.

Walk all five lakes, or plan for three from the start. We got three because the afternoon had already been eaten. Zermatt Bergbahnen sells the route as a loop from Blauherd back to Sunnegga, so the full walk is the designed version and three is the salvage version. Either works. Deciding which one you are doing before you get on the funicular is better than finding out on the trail.

Give Visp to Domodossola more than 14 minutes. The transfer is scheduled tight and the platforms are a walk. An earlier train out of Zermatt would have cost an hour of the morning and saved the evening.

Treat two minutes as the whole margin. Every miss on this day was two or three minutes. On the Swiss half that was free. On the Centovalli it was the evening. Plan the Domodossola connection as if you will be two minutes late, because we were.

Useful tips

  1. Size the buffer to the frequency, not to the map. Two-hourly service means 60 to 90 minutes of slack. Half-hourly means none. The same two-minute miss costs half an hour on one and the evening on the other.
  2. On a scenic line, size the buffer to the DAYLIGHT as well. The Centovalli's last departure gets you there and shows you half of it. Aim at the 17:26 or earlier and treat the 19:00 as a failure case, not a fallback.
  3. A Half Fare Card without a SwissPass ID cannot buy discounted mountain-railway tickets in the app. Go to the counter and allow time for it.
  4. On a chained multi-connection day, buy regular fares rather than train-locked saver fares. The regular ticket is valid on the route all day, which is what turns a missed connection into a wait instead of a repurchase.
  5. Request the delay confirmation in the rail app while the delay is happening.
  6. Do not self-reroute when the original ticket still gets you there. You forfeit the claim and pay twice.

Next: how a €50 quote for a ferry that costs €4.60 and a $400 quote for a taxi tell you the same thing about lake transport.


Part of a free series. Ten days in Europe on premium credit cards, 10 daily guides and a closing ledger, with the receipts and the mistakes left in. It starts on Day 0, with the award flight that got us there. Itineraries like this sell as $10 downloads. Ours is free because the bill is not yours to pay. The site earns from affiliate links to tools and retailers. The card links in it are personal referral links, which can earn points rather than a commission, and we run no card affiliate programme at all.

If you want the rest as it lands, follow on Threads, Instagram or TikTok. We take one thing apart properly at a time.

Booked and paid as described. No names, no faces, our own photos only.

Related articles

Do this with your own numbers

More from RewardsGuru