I wouldn’t do that myself. I prefer to say I will refund them if I manage to rebook the dates. That way, it’s up to my discretion to refund them partially or in full. If I rebooked all the dates, I would refund them in full, but I might not refund them anything if I only rebooked some of their dates.
I had a guest book a month ahead of time, and she had asked a lot of questions. She wasn’t a pain or anything, she was friendly, polite and not clueless, but it had taken up quite a bit of my time messaging back and forth with her. Then she cancelled, after my moderate policy kicked in. And her excuse for cancelling was lame- she was staying in a town a day’s drive from here, where her mom lived, and said she had to stay to help her mom pack up and move. I thought she could have figured that out more than 3 days before her check-in.
She had a week-long booking, and I did rebook 3 days of it. But since it was the middle of my high season, where I would have most likely filled all those dates if she’d cancelled 10 days before, and since with my moderate policy I had only gotten paid for the first night, and 50% of the remaining nights, considering as well as the time I had spent messaging with her, I didn’t feel like refunding her anything, and didn’t.
If I had told her I’d refund her any of the dates I was able to rebook, and she turned out to be one of those cancelling guests who keeps an eye on your calendar and messages you if she sees them blocked, asking when she’ll get her refund, it would have been an unpleasant situation to have to tell her why she wasn’t getting any refund.
Telling a guest instead that you’ll refund if you can rebook the dates, means if they see that some of their dates were rebooked, and contact you for a refund, you can just say, " Well, all the dates your booking blocked didn’t get rebooked, and I don’t give refunds in that case."