@Nina1986
I think you'll find it's not a good idea to "let guests choose if they want to clean themselves". You'll find that some guests will say they will clean themselves - but won't.
Set cleaning fees for short stays (2nights or less) and long stays (3+ nights) that are competitive with other listings. You could refund a guest some of the cleaning fee if you wanted to, but keep in mind, Airbnb tracks how many times you refund a guest and may actually count that against you in search rank.
Most guests realize there is a cleaning fee, but since the cleaning fee is no longer disclosed (all fees included in price), that is no longer really an issue. You can always set a minimal cleaning fee, but suggest you make it enough to cover having to clean the property. Keep in mind some guests will leave the property pristine while others will leave a mess.