just say no.
say it kindly, with a smile, but you don't have an obligation here imho. You didn't say she could come on X date for three nights. You said "if you're ever in the area let me know". she let you know - and it's not suitable for you. You don't "owe her" anything - she is an adult, and she can come at a different date, or stay at a hotel, etc.
And if you can, and want to, try to soften the "blow" - "oh, i'm so sorry, we won't be able to host you. But I would love to meet you for breakfast on Sunday", or "we won't be able to host you, but we are having the gang over for BBQ on friday night - please join us for dinner", or "we won't be able to host you, but if you need some patio furniture, we have an old, perfectly functional set in the garage".