We have a routine, but it is not a rigid structure as much as a framework. Here is a typical school day:
7:30 am - wake up, get dressed, eat breakfast
8:15 - out to wait for school bus. If DS finishes above early, we have outside play while waiting for the bus
4:00 - DS gets home, we immediately go over his day and adjust his privileges ladder accordingly. Then he gets 30 minutes for snack & play time
4:30 - Homework time - the faster he does it, the more time he gets to play afterward
6:00 - Dinner time, followed by bath time, then more play time
7:30 - Bed time
He is limited to 1 hour of screen time a day (if he has that privilege), so if he has time, he usually watched TV after dinner and before bed. we have a chore chart. It is a dry erase board, with the chores on stickers. he has chores he is required to to (empty bathroom trash cans on trash night, sort recycling, pick up his toys), and chores he is paid for. I do insist he does his "required chores," but I do not force him to do the others. If he does not do them, he does not get paid. He marks them off every night on the dry erase board and he gets paid on Sunday.
It works well for us, but what works the best for us is prepping him and use of a timer. So he comes home and I say, "you have 30 minutes to eat a snack and play before we start homework, and then I set the timer for 15 minutes. then I say, you have 15 minutes left to eat a snack and play, then I give him a 5 minute warning. While doing homework, I will let him know how much time the assignment should take and where he is. When he goes to play from homework, I tell him how long until dinner, and give him a 5 minute warning. I do the same for bedtime after dinner & a bath. It seems like a lot, but it is habit now. It keeps meltdowns to a minimum. He has also learned that if he just gets it over with quickly, he has more play time.