Me again!
I was also going to comment that 30 minutes might be too much for a 7yo beginner, but if she's enjoying it and it isn't a pain for her to do that long, there isn't anything wrong with it either -- just that I wouldn't REQUIRE that much. And if half of it is her 'work' and the other half is her own fun stuff, that's fantastic!
I also recommend focussing on goals and specific practice assignments rather than going by timing. In other words, I'd give a student instructions to play a certain song 3 times a day, to work on this particular passage until it's fluent, different things depending on age and level of course, but in general for that age it would be 'number of repetitions' rather than 'length of time'. Two kids could play a piece 5 times, and one would take 5 minutes and the other take 20, just from different levels of focus, ability to read quickly, etc etc.
So 'practice time' can be a general guideline, but not an absolute. Like you said, "be flexible'.

Another suggestion I often make, is that practice time does not have to be all at once. From the sounds of it, this isn't a big problem for your daughter, but in case it comes up in the future -- they can do 10 minutes before school, 10 minutes after school, 10 minutes before bed. Great for kids who have trouble sustaining attention for 30 whole minutes.
In the situation you described above, I'd probably tell her something like "I know you'd like to play outside right away, and it is a beautiful day out so it would be good for you to play outside while it's still nice. However, we also need to make sure you're not too tired for practice time later. So how about you do 10 minutes of your 'work' right now, then play outside, then later if you feel like it you can do your 'fun' time at the piano?"
Another suggestion -- I made my students promise to do their practice at least 5 days a week, rather than every single day. Because realistically, there ARE going to be days when practice just doesn't happen! Other activities, going visiting, illness, whatever. Life! By making a promise of "at least 5", then they don't feel guilty or that they're "getting behind" if they have to miss a day. And if they DO get 6 or 7 days, they feel all the more excited because they've done EXTRA! Wow! Bonus!