Managing transaction groups with user schedules etc

I have some transaction groups that run according to shift times which are hard coded into the group. I would like to implement the group trigger time according to a schedule. That way if a schedule changes, the transaction group will change accordingly. I also like to monitor when a shift is active or not via tags. Here is a couple of scripts that I currently use, but I was wondering if there is a better/easier way to do this. It would be nice if things like this could be implemented with the expression language. Any ideas is appreciated.

schedules = system.user.getSchedules()
for schedule in schedules:
	if schedule.getName() == 'routerShiftOne':
		print schedule.getAllDayTime()
user = system.user.getUser('default','routerShiftOne')
shiftBool = system.user.isUserScheduled(user)
system.tag.write('CNC_Global/1stShift', shiftBool)

As I stated above, I’ve settled on using a gateway timer script that determines if a schedule is active by looking up a dummy user with the schedule I want to check for whether it is active or not. This writes to a Boolean memory tag where it is used as a trigger.

I would like to see a function implemented to where you can directly check a schedule for active or inactive status, and a better way to expose it as a tag. It would also be nice if the schedule had individual properties for shift start and shift end as date type, not just a string of both times together. Being able to see the total shift time scheduled per day would be very handy.

Most of these things can be accomplished with some tedious parsing and scripting, where built in functionality would be very useful in my opinion.