I'm sure you know that I didn't mean to use the schema as is. Here's a quick, maybe simplistic, suggestion of how to do it:
In the "Room Table" add several more columns for different rates, e.g. "Holiday", "Summer", "Discount", "Weekend", etc. Then make (a) new table(s), with all the hotel IDs in one column, and other columns to store the to and from dates of the various rates, and/or the different rate-qualifying conditions. Then somehow ( 🙂 ) match the dates and the rates in your queries.