Heating weekly schedule - more efficient way to implement this

There’s people to use the caldav binding so they create appointments in G**gle calendar for their flat.

Scheduling heating is a very complex thing however. At least long term, most home automation users will want to control everything to the greatest extent possible: have different temperatures at different times of days and week, orchestrate heater types to have different characteristics, switch based on presence detection or weather forecast and more, and have it all individually for each room.

And there simply is no UI or other tool to cover all of these potential inputs.

So long story short, the only reasonable thing to do is what you already do, i.e. to use rules DSL to program it yourself.
Now of course there’s more elegant ways of writing code, but the most important part is that YOU understand it and can maintain it because YOU are the only person who can and has to do it.
Here’s a pointer to a framework you might want to look at if you’re looking to improve your code.

But if your code works and does what you want, my advice would be to keep it.