Adding time to an existing schedule

I need to create an automation based on a weekly schedule. I need to be able to change the stop time on the fly though. For example: if the schedule for a day is set to start at 8 am and end at 9 pm, for that day I might want to extend it to 10:30 pm on the fly, and easily through my phone dashboard.

I was thinking of having an automation that checks both a schedule helper and a time helper. If the time helper has a later value than the schedule, then it will not run the actions until that time is reached. Once it runs, I would need to figure out how to “reset” the time helper value so it doesn’t carry over to the next day. I am hoping someone has a better idea than this though, because it seems like a VERY clunky approach, which I really don’t like.

Presumably you have actions to run when the schedule starts…? If that is the case use the schedule binary sensor to trigger the “morning” actions and an Input datetime helper for the “evening” actions. One of the morning actions will be to set the value of the helper from the schedules next_event attribute.