If you start scripting you can do whatever you can imagine

For example:
I have 6 virtual thermostats. All of them are easily controlled on my floorplan and all of them have a schedule. The schedule is different for at home, away or a sleep. When changing the temp on the floorplan the schedule is overruled for 4 hours.
The combination of virtual thermostats, room themperatures, outside themperature and the house state (home/away/sleep) decides which of the 3 electric heaters or the gas burner has to start.
The schedules are also interrupted when a window is open.
Schedules can be advanced as you like. I have one room with a bi-weekly schedule for my son, he's with me one week 2 days, the other week 5 days.
If there's a holiday or vacation I can easily override the schedules with Google Calendar.
So you see, a lot is possible. You just have to think about it.
Of course there are different ways of achieving this, I of course as the creator of pass2php use that for everything.