If you just want to access/change business hours I would suggest something much-much simpler -
use CME!
Yes, I know you think I am crazy, but this is true.
Here is a concept:
1. you will have two options inside URS, called 'start_time' and 'end_time' which will store start and closing times for your center
2. your strategy will be retrieving this option to control the call flow
3. SV's will be always able to change the times by going and logging into Configuration Manager and just changing the value there
4. you can use a simple SQL statement to do a DB dip into CME DB and retrieve the value of these options
The option you want to use in your strategy is pretty simple:
GetConfigOption['start_time',StartFromRouter] -> will return value stored in start_time under URS options in CME
GetConfigOption['stop_time',StartFromRouter] -> will return value stored in stop_time
Needless to say, you can create 'start_time_billing', 'start_time_claims', etc, for each callflow that needs to have its own open/close business hours.
And to retrieve the values for your application you either do a dip into CME db or even better - use Genesys Active X to login into Config Server and query the values directly. This will also fix your security concern regarding having access to CME DB.
Pretty nifty eh?
Both approaches should work. Kevin S approach is probably the simplest one and does not require too much planning, thus easy to implement.
My approach will allow you make your application part of Genesys environment but at the same time it will require some Genesys Active X-related programming.
Up to you!

But either ones should work.