@Caroline1544 I would refund the difference between what you were paid and what you would have been paid had the reservation been made for the number of people who actually arrived.
The garage, and the third-party booking, are separate issues. Since you don't offer the garage, it's irrelevant to any refund. The third-party booking is also sort of irrelevant, but you got into murky waters once you allowed it.
What technically should have happened here: the original guest should have cancelled, the actual guests should have booked, and you should have refunded the original guest, after you received the actual guests' payment.