@Indah do you not have business interruption insurance?
I find your proposal quite outrageous. If the difference is the 10% discount you should at minimum agree to refund all except the 10%. In the alternate scenario another person would have paid no deposit. Your opportunity cost here by booking this person and allowing them to reschedule is only the 10% vs another guest who pay full price with no deposit then cancel with no penalty. Your argument that the money has already been spent/is needed to keep the place afloat has no credibility given you allow the option of booking with no deposit.
Businesses should have contingency planning and sufficient liquidity for such scenarios, that is exactly why business interruption insurance exists.
Is the cost of a short term disruption (call it 3 to 6 months of lost income) worth permanent damage to reputation? No one is suggesting you change your cancellation policy so guests can always cancel with no penalty. I would have more sympathy if these were voluntary cancellations for fear of getting the virus, but when government restrictions make it impossible to go, you should be reasonable and allow them to reschedule.
This is what virtually all tour groups in China, HK, Korea, etc have done when the travel bans were put into effect in Feb. This is what airlines have to contend with when travel restrictions force them to cancel flights and refund guests. I don’t see why dive resorts should be an exception.
In Indonesia we do not have such things as business interuption insurances. Neither is it possible to get a loan. For us it is a matter of still being able to restart in future or to stop for ever.