According to German media the Chinese tourist, who did not speak German or English, had mistaken a community hall in the south-western city of Heidelberg for a police station after his wallet was stolen.
Upon trying to report the crime, authorities believed the 31-year-old, identified only as “Mr L”, was trying to apply for asylum, as the hall he had gone to was being used to house migrants who had recently arrived in Germany.
During the confusion, the traveller mistakenly signed an asylum application, had his passport taken away and underwent a medical check.
He was then transported by bus to a hostel in the city of Dulmen near Dortmund where he spent several days, had meals with resident migrants and received spending money.
According to the BBC, it was only when Red Cross worker Christoph Schluetermann used the help of a Mandarin speaker from a nearby
Chinese restaurant that the mistake was discovered.
Using a translation app, the pair discovered Mr L had arrived in Germany as part of a tour of Europe and that he also had plans to visit Italy and France.
"He was so different from the others. Very, very helpless," said Schluetermann. "[The app] came up with phrases like ’I want to go on a trip abroad’."
Schluetermann said hostel staff had made unsuccessful calls to a number of consulates, hoping to identify the tourist.
His asylum application was eventually stopped and he was able to continue his European travels.
According to German broadcaster WDR, the traveller was not angry by the mix up but believed Germany to be quite different to what he had imagined before his trip.