I think at least one of those errors is due to a break down in your logic. Carefully read your statement. You should be able to decipher that you are saying
If THIS AND THAT Then Equals SOMETHING
You aren't saying what equals that something.
While this might not be applicable to you, it has been my experience that if my booking spans a time frame that has higher rates, the higher rate applies to that portion of the stay. The inverse has also always been true. If your rate changes will remain constant even though I book the day before a rate change, then bonus for me! Otherwise, your table ought to have start and end dates for rate changes. This way, you'd alter the rates for those nights that fall into their respective rates.
No doubt you would want every night's stay to be a record, thus every record for a my stay would have a nightly rate that is determined by checking which rate range the booking date falls in. Again, speaking from my experience in booking hotels, the rates usually rose on Thursday or Friday and dropped on Sunday or Monday. If your db will only be used by you and you will never operate this way, then by all means, do it by season. If you change your mind later, or are intending to market this db, then I'd advise you to rethink your strategy. To fix the db to follow a fluctuating business model later would probably mean you'd be farther ahead to start over as opposed to fixing what you have.
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.