Digital travel scams are a growing "systemic and global" problem, according to the World Tourism Organization, a branch of the UN. Dozens of Brazilian women have been finding this out the hard way, after paying for luxury holidays from a man whose Instagram account sparkles with opulent hotels and exotic locations.
Last December Maria (not her real name) decided to have a break from the heat of the Australian summer, and to take her family on a skiing holiday to Europe.
It was her first trip since the pandemic and she wanted it to be special. So she paid $20,000 to a travel agent, Rafael Bessa, a fellow Brazilian who had been recommended by a friend, and made the long flight north.
To begin with, everything was perfect, but as Maria checked out of the third hotel the manager told her the room had not been paid for.
Two further shocks came in quick succession. When Maria contacted Rafael Bessa to ask for help, she noticed he was unable to talk to the hotel manager in French, despite his claim to have attended an exclusive boarding school in the Alps. Then, when the family boarded a train to their next destination, there was a problem with the tickets: he had provided two tickets with the same purchase number, meaning that only one was valid.
At the next hotel it was a similar story: Maria had to settle the bill, even though she had paid in full already.
Initially she had assumed Rafael Bessa was simply incompetent. "Then I said, 'No, this is not a mistake, this is on purpose. This is in bad faith.'"
Altogether, Maria says she lost $30,000 on the holiday - $15,000 of the money she had paid in advance, plus an extra $15,000 for just one of the hotels. Maria says that as well as telling her he'd paid for the room, Rafael Bessa said he'd got her a free upgrade - but he hadn't, and the hotel charged the staggering full price for the super de luxe room.
Rafael Bessa's promises of reimbursement came to nothing, Maria says. Although he sent her various "proofs" of money transfers, the cash never actually arrived in her account.
Then, when she posted about her experiences on social media, she says his lawyer got in touch, offering to reimburse $20,000 as long as she signed a non-disclosure agreement. She refused.
The BBC asked Rafael Bessa to comment on Maria's allegations. He replied that there had been an unspecified "problem" with the price of one of the hotels, and that the room at this price had not been included in the package. He also sent copies of the train bookings - which, as Maria said, both bore the same purchase number.
Another Brazilian woman, Ana Jalenna, booked an Alpine skiing trip and also an Italian summer holiday with Rafael Bessa, after he had organised a "fantastic" family holiday for her in Brazil.
She paid part of the bill in cash, and the plan was that he would put the rest on her credit card. Some time later, she was surprised to see a payment to British Airways appear on her card account and called him to ask about it.
It was the payment for her Italian hotel, he told her. Finding this hard to believe, she emailed the hotel and was told no payment had been made.
Ana decided to ask Rafael Bessa for proof that he had at least made the bookings at the ski resort. He gave her two reservation numbers, but the hotel told her they were invalid.
"I lost the money, the dream, the trip. I lost everything," she says.
She later spoke to other dissatisfied clients of Rafael Bessa's, and noticed a pattern.
"The first trip was fantastic and everything is OK," she says. "And then he does a longer trip, a better trip with expensive hotels, and he does this to people."
Rafael Bessa insisted to the BBC that he booked the Italian hotel. He said Ana cancelled the skiing trip, and he paid her back the money.
But Ana said she didn't cancel it - and wasn't reimbursed.
Social media is tempting people to sample the luxury holiday lifestyle, but what happens when it all goes wrong? This is the story of one Brazilian travel agent with a trail of unhappy clients around the world.
Maria and Ana were angry and scarred by their experience, but neither suffered financial hardship as a result.
For Adriane Trofin, a Brazilian working mother of two who lives in London, the failure of her dream family holiday to Greece this year was more traumatic.
She first came across Rafael Bessa on Facebook, captivated by his posts from beautiful locations, and struck up an online friendship.
She explained that she couldn't afford that kind of holiday herself, but he replied that there were trips for every budget, and she ended up booking a dream holiday to Greece for 14 people in total - members of her family and a number of friends.
They had paid Rafael Bessa in advance for the stay at a four-star Club Med resort, but the cars that should have met them at Athens airport didn't arrive.
Adriane messaged Rafael Bessa for help. He reassured her that everything had been booked, and gave her three telephone numbers for the car company, but she couldn't get through on any of them.
The group was stranded for hours. Eventually, the airport operations manager for Club Med, David Doepfer, came to their assistance. He quickly established that there was no Club Med booking in Adriane's name. Rafael Bessa had once reserved rooms, he learned, but had not paid for them before the expiry date.
David called the travel agent and asked him to book a different hotel in Athens for the group, which he agreed to do. But David says that when he called the new hotel to check Rafael Bessa had stuck to his word he was told the rooms had not been paid for.
In the end Adriane's husband paid for the entire group to stay in another hotel, at a cost of $8,500.
"I spent that week, those seven days, discussing with Rafael day and night on the phone, trying to make him send at least a part of the money. He started to mock me," Adriane says. He also harassed other members of the group, she says, convincing some of them that the problem was Adriane's fault and that she owed him money.
"I was in hell. I had never faced a worse situation in my life, I never had anything worse in my life than those seven days in Greece.
"My marriage is still badly shaken by that. For me, it's a lot of money, you see? But it's no longer just about the money."
She says the experience left her "emotionally destroyed".
Despite having assured Adriane, as she waited at the airport, that everything would be fine, Rafael Bessa told the BBC he had cancelled the hotel booking because Adriane had failed to pay everything she owed him.
But Adriane showed the BBC evidence of money transfers made before the trip covering the full cost of the hotel. She had agreed with Rafael Bessa to pay for three plane tickets in instalments, and was up to date with these payments - which Mr Bessa confirmed in screengrabs of messages he sent to the BBC.
The BBC has spoken to 10 other clients of Rafael Bessa. Together with Maria, Ana and Adriane they say they paid him $90,000 for services that were not provided.
We also spoke to Brazilian lawyer Victor Penido Machado, who is bringing a case against Rafael Bessa on behalf of nearly 50 clients. They paid a total of $183,000 for hotel bookings and other services that were not delivered, he says.
A similar pattern is repeated again and again, the lawyer says. Clients arrive at their destinations, find a hotel has not been paid for, and are unable to get Rafael Bessa to pay them back.
Approached by the BBC, Mr Bessa denied the allegations made by his former clients, saying he was "shocked".
"I'm really surprised by the amount of errors, 90% of your facts are false," he wrote.
The UN's World Tourism Organization (UNWTO) says social media is increasingly being used by travel agents to persuade customers to buy a dream holiday - one that they too can look forward to posting on social media.
"Because they are being displayed on social media, tourists may have the perception that these services are more reliable than if they would find them on any regular website," says UNWTO legal counsel, Alicia Gomez.
At the same time, digital travel scams are on the rise all over the world, Ms Gomez says.
"This has become a global and systemic problem. Many national consumers and authorities are reporting an increase in online scams, and the number may be even higher as the shame and the guilt of tourists that fall for them discourage reporting."
The UNWTO has developed a code for the protection of tourists, which it says clarifies the responsibilities of social media companies, governments and consumers and describes how governments and private companies can best work together.
Seven countries have signed up to the code so far, making it part of their national legislation, while others, including Brazil, are in the process of doing so.
Meta, owner of Instagram and Facebook, told the BBC: "We don't allow fraudulent activity on our platforms and work closely with law enforcement to support investigations and keep scammers out.
"We continue to invest in new technologies and spent approximately $5bn last year alone on safety and security."