I don't shoot weddings anymore, but when I did, I had only two paid cancellations. In the first case, the bride paid for everything six months in advance, something that I discourage. It was a September wedding. Two weeks before the wedding, she canceled. I didn't refund the money because I had turned down other engagements because I had booked her wedding during prime time and had turned down other engagements.
The second wedding was supposedly a postponement. She had paid a deposit three months ahead. It was a Valentine's Day wedding. That's a special day for some photographers, but it was off-season for me. I told the bride that I'd keep the deposit unless I could book another wedding near or on that date.
TA DA! I got a wedding contract for another couple sometime between Christmas and New Year's. (That was good enough for me. II don't remember the exact date because it was so long ago). In the latter case, I refunded the deposit.
I covered refunds in my contract, and both brides agreed to the clause, so I was within my right to keep the fee. Both told me the circumstances of the cancellations. Both stories were pretty sad and wholly believable. (Nothing tragic, just grooms who got cold feet). In the case of the first bride, I had a very bad feeling about the guy, and I actually touched base with her a couple of times just to make sure that the date was still on. She seemed perplexed that I called her to confirm the date a couple of times, but when she called me in tears to tell me that the wedding was off, she commented, "You KNEW, didn't you?" What do you say to that?
If you shoot a lot of weddings and postponements create business problems for you, address postponements in your contract. In the case of the OP, if he collected a deposit, keep the deposit with the caveat that you will try to accommodate their plans within a reasonable amount of time after the first cancellation. In the case of Covid, boy, that's a hard call. Nobody can predict that or work around it except to postpone. Follow your conscience.
In the future, be sure to work with a formal, signed agreement, and make it as bullet-proof as possible.
But DO try to show understanding and compassion.