There is no such policy for taking advance payment for every Indian hotel.
As there are more than 8000 hotels in India, such kind of behavior generally happens at low-budget hotels (costing approximately 300-1500 rupees/night).
As you said such incident happened at about half the places you have stayed, that completely depends on the hotel or group of hotels you are staying in. You can ask them for the rulebook of “Hotel and Restaurant Association” of that particular city or state to check if any such rule exists. If you doubt there is no such rule or you are being scammed, you can refuse to give advance unless confirmation is provided.
I would suggest you to take a receipt of advance payment, in case something goes wrong you can contact the police on 100 in India.
Credit:stackoverflow.com‘
4 Mar, 2024
5 Mar, 2024