Two sources in German on this:
Die Zeit:
Absagen kann teuer werden (Canceling may come expensive)
DEHOGA (German Hotel and Restaurant Association)
on thisThe law does not require a written contract. The German law does this only for very few types of contracts.
There are also no requirements on the form or content. If issues like "canceling" are not addressed the law applies. If dealing with private customers you can anyway add only conditions in favor of the customer compared to the law. Most small hotels, pensions and vacations apartments don't have thus own booking conditions. Or use the ones provided by DEHOGA, which are merely an explanation of the law.
Booking a hotel room or vacation apartment is treated under German law like renting a flat for living. The German Civil Code (BGB) applies.
This is in most countries different, but I think in Italy it's the same.
The rental contract is for both sides binding.
The rental contract cannot be canceled!
This does however not apply if the contract/booking conditions say something different. But otherwise better read the above sentence again.
An example: you rent a flat but the landlord dies before the first day of the rental. The rental contract stays valid. The heirs have to give you the flat. A rental contract becomes not void even due the death of one side!
By law rentals for a limited period of time cannot be canceled at all. Rentals for an unlimited period of time can be canceled after a certain period of time (here the law foresees different periods for tenants and landlords).
Thus: you cannot cancel. This means you still have to fulfill the contract, i.e. paying for the rental. The money you have to pay is thus no canceling fee or compensation. You have to fulfill the contract. That's the key point in the whole thing.
For things the landlord saves actually if you don't turn up (e.g. water, cleaning, breakfast) you don't have to pay however.
There are generally agreed on rates for this. Basically you are free to proof something different before court, but this really difficult.
- overnight stay in a vacation apartment: 10%
- overnight stay with breakfast: 20%
etc.
Thus from this point of view you had even luck that the owner asked "only" for 80% if your stay was without breakfast.
Now to other paragraphs of the BGB:
a) the owner is still obliged to try to find a new customer for the apartment
b) if he is successful on this you don't have to pay at all. If he is partly successful you also have to pay only partly.
These are points difficult to proof by the customer. With a vacation apartment you can ask someone else to check if it is free for the same period of time (or part of it). If it isn't you have won. With hotels this is even more difficult as you basically can only check if a hotel is completely booked or not. With average occupancy rates in Germany of 35-40% the chances are however not that good.