Really, if it was only 3 hours I would have returned all the money even if there was a signed contract. 3 hours is nothing.
If I was really a roach though, I would have hidden behind the technicality and charged 3k baht for nothing.
They charged that fee because they were angry at you for cancelling, not because they were inconvenienced.
"They charged that fee because they were angry at you for cancelling"
Me? They're not angry at me, I'm not the OP, try addressing your comments to the correct posters!