"They say we do not have a visa and their information is we require an approved visa prior to boarding flight," Mr Swann said.
The couple said they then asked if they could at least fly to Sydney, given they had the necessary permits to enter Australia, but Qantas said no again.
After waiting all day at the airport trying to sort out the matter, the couple were eventually forced to ditch their Beijing holiday and fork out more than $2100 for flights from Christchurch to London via Dubai with Emirates.
"We spent some 54 hours in transit back home — an exhausting, stressful and expensive time for us, and not the way this trip-of-a-lifetime should have ended," Mr Swann said.
Qantas apologised for the incident in a statement to news.com.au.
"We apologise for the inconvenience caused to the Swann family who were incorrectly denied travel from Christchurch to Beijing for allegedly not having the required visas," a Qantas spokeswoman said.
"We're working with our check-in team to ensure this mistake doesn't happen again and have reached out to the customer to offer compensation."
The couple told the Independent that while the airline agreed to meet additional costs, they were offered just $250 each for their trouble, an offer Mr Swann said was "ill-considered, derisory, totally inadequate and unacceptable".
Airlines in Europe that wrongly refuse to board a passenger on a long-haul flight would be forced to pay four times as much as Qantas offered the couple, the Independent noted.
"The incident draws attention to the remarkable lack of consumer protection for passengers on Australian airlines," the British publication said.