Money does not have to change hands for a contract to be in place. If I reserve a full fare ticket, I am allowed to wait until just before flight departure before I pay for it. Using the logic that money has to change hands would mean the airline would be free to cancel my reservation whenver they want to unless I have given them money.