"if the checkin is on these 3 days of each week add a price multiplier, which stacks with the holiday pricing event that happens every year, but only if you're a certain number of days out from check-in" you need to be able to render this for arbitrary date ranges to provide pricing calendars.
Ugh. I did just this sort of "dynamic pricing" shenanigans for a travel company years ago. It made me feel dirty.