As hundreds of millions in China flock home to celebrate the Year of the Sheep, the world's biggest human migration places extraordinary pressure on roads and railways -- but technology is offering new ways to find a route home.
Chinese tradition requires people to gather at their family home before the Lunar New Year begins -- on February 19 this year -- with authorities expecting more than 2.8 billion trips to be taken over the festive period.
Rail is one of the favoured ways to travel and while historically there have been endless queues at the ticket windows, China's official train booking website 12306.cn is helping to relieve congestion in stations and kiosks.
But with such huge demand users say it can be still be an exercise in hair-tearing frustration. Posters on social media say the booking website is "more difficult to access than the Diaoyu Islands" -- the uninhabited East China Sea archipelago disputed between Beijing and Tokyo, which calls them the Senkakus.
There are, however, new tactics in the battle.
Kelly Gan, a 27-year-old accountant, explained: "I was using a program that refreshes the page every five seconds to grab a spot as soon as it was available on 12306.cn. I basically did it all day long, from when I woke up until I slept."
She finally managed to get her ticket from Shanghai to Chengdu, a journey of more than 2,600 kilometres (1,600 miles) and 39 hours. It cost her 450 yuan ($72) for a "hard sleeper" -- a bed and mattress that are a far more comfortable option than the firm bench most passengers will have to endure.
- 1,000 tickets a second -
Chinese train tickets can only be bought a maximum of 60 days before departure, triggering a scramble.
All tickets are sold in the first few minutes after they become available, and purchases for this year's festivities peaked on December 19, with 12306.cn at one point selling 1,032 tickets every second.
The next best opportunity to buy is 15 days before departure, the last date that people can secure a full refund for tickets if they are unable to use them.
Vast numbers of people initially buy tickets that are not exactly what they want, in order to have some way to get home, and then seek better alternatives.
At Shanghai railway station, more than 7,000 tickets were being returned each day, reports said in late January.
The program Gan used to secure a returned ticket was an open-source one made available for free by a lone independent developer, but major Chinese internet firms have also waded into the fray.
Chinese search giant Baidu developed software to speed up the booking process and avoid losing a ticket between booking and payment, one of the most frustrating user experiences.
The company says 18 million people have installed it, and bought 28 million tickets between them.
Web browser LieBao offers a pre-booking function, allowing users to select a ticket beforehand and sending an automatic request as soon as booking officially opens.
- Digital divide -
Equality of the people may be a founding principle of communism, but it does not exist in the rat race of Lunar New Year ticket purchases.
Instead runners come in two divisions: the Internet users who have ways to handle the booking rush, and the technologically illiterate, often poor migrant workers.
A maid in Beijing, Guo Dengxiu is one of the hundreds of millions of migrant workers who have left the countryside during China's economic rise to seek work in the cities.
But she does not know how to use online tools, and failed to secure the ticket to return to her home in the Anhui province, 1,000 kilometres south of the capital.
"My son bought me a standing ticket. If I do not find anything else, I'll do the 15-hour trip without a seat or on a folding stool," she told AFP. "I have to be home for the New Year!"