I normally use a variable which can have three values:
This variable is checked by the script when a call arrives and routed to the appropriate branch. Open and Closed should be self-explanatory. Calendar uses the holiday.xml script to check for holidays then uses day of week and time of day steps to route calls.
I write an admin script which allows the callcenter manager to change the variable above. When they want to close early they just set it to closed using the IVR, if they want to open late the set it to open. Most of the time it uses the calendar setting.
Hope this helps.