Tens of thousands of people hoping to spend Christmas with their families in France face travel misery as crippling transport strikes enter their 20th day.
Industrial action against President Emmanuel Macron’s pension reforms has hit France’s train services hard.
Many of those who purchased rail tickets will struggle on Christmas Eve.
Mr Macron’s earlier call for a truce over Christmas was rejected by unions, whose leaders are due to hold more talks with the government on 7 January.
On Tuesday, France’s national rail operator SNCF said that up to 40% of high-speed trains had been cancelled, along with up to 20% of regional rail services, which have improved in recent days as more staff have returned to work.
The number of SNCF train drivers participating in strike action fell below 50% this week. When the strikes began nearly three weeks ago, this figure was about 85%.
Many commuters, however, are still having to rely on bus services.
On Monday, protesters clashed with riot police at the Gare de Lyon station in the capital, Paris, after setting off flares and causing smoke to spread throughout the station.
The industrial action by French workers, who are not paid while on strike, is still supported by the majority of the public, according to a recent poll, which showed 62% of those questioned remained in favour.
The strikes have so far cost SNCF about €400m ($442m; £342m) in lost revenue, according to the rail operator’s new boss Jean-Pierre Farandou.
He told Le Monde newspaper on Tuesday that, despite the strikes, the company had transported 800,000 passengers over the weekend, honouring the reservations of 60% of its customers.
One Twitter user, who said he was a train driver based in Lyon, tweeted that it “did not matter” that he was losing “at least €120 a day” due to the strike action, adding: “[My kids] are proud of me and that is what counts!”
The strike has disrupted many commuters in the days running up to Christmas, affecting Paris’s major rail hubs such as Gare de l’Est and Gare du Nord, which handles international Eurostar services to London and Brussels.
The latest Eurostar train timetable showed a number of cancellations on Tuesday and later in the week.
From Tuesday evening, some of the trains linking Paris with its surrounding towns and villages will be paused until Thursday, SNCF warned.
Many French citizens hoping to spend the holidays with family and friends have found themselves stranded because of cancelled trains and gridlocked roads, while hundreds of flights have also been cancelled.
Since the strike action began this month, several demonstrations have turned violent.
Over the weekend, SNCF abandoned plans to cancel a popular service that allows children to travel alone over Christmas after an outcry over news that about 5,000 children were expected to be affected.
What is the strike about?
Workers are striking over Mr Macron’s plans to replace France’s 42 separate pension regimes with a universal points-based system.
Unions representing millions of staff in both the public and private sectors warn the move will remove the most advantageous pensions for a number of jobs and force people to work longer or face reduced payouts when they retire.
France raised the official retirement age in the past decade from 60 to 62, but it remains one of the lowest among the OECD group of rich nations – in the UK, for example, the retirement age for state pensions is 66 and is due to rise to at least 67.
Mr Macron, who on Saturday became the first French president to give up his own €6,000-a-month pension when he leaves office, argues that further reform is needed because the current system is unsustainable.
In November, a report commissioned by French Prime Minister Édouard Philippe concluded that, under the existing system, the country’s pension deficit could be as high as €17.2bn by 2025.
Cost per country as a percentage of GDP
A general strike over pension reforms in France in 1995 also crippled the transport system for three weeks and drew massive popular support.
In that instance, the government was forced into a U-turn.