Requests like this are common. I wonder if it is time for us to create a calendar-based tool where you can setup recurring schedules with date/time-based routes. Just today I have seen 4 new requests for date/time-based routing in the forums.
We do very similar things in several of our tools. In my mind you would (1) select a department (or departments) from a list, (2) optionally select the desired DID, (3) display a web-based calendar, and (4) schedule where to route calls with recurring schedules with exceptions for holidays.
For example, I saw one post today where the person wanted to have a company meeting every other Wednesday from <start time> to <end time>. This would be possible on a recurring per-department/DID basis. You could use the same interface to set department office hours, holidays, break-times, exceptions, etc.
You could also have a "Duplicate schedule" option used when departments have very similar schedules, but with a few minor differences. This feature would make it simple to duplicate one department's schedule, then make minor changes for the specific department. We do this in our 3CX Audio Scheduler tool.
Perhaps it is time to start working through the common customer needs and design a UI to make this all "simple". An application like this would help the average partner/customer who does not have the expertise required to create a C# script or Call Flow Designer solution.
For example:
Above is a sample calendar screen (captured from our 3CX Audio Scheduler tool with one minor change to include a DID list in the upper-right corner). To define a route-schedule, you would select the desired department (or departments or all) and potentially the DID number. Once the selections are made, the calendar displays. This is where you enter the schedule, destinations, and for IVR destinations, we could include the prompt to play (nice for holidays etc.)
Below is what the route setup screen might look like (again pulled from our Audio Scheduler tool with minor cosmetic changes).
Here is how you would create recurring schedules (unchanged from our existing tool).
What am I missing? Is there some complication I have not considered that would make this more difficult than it seems? Do we need a trunk-level option, or are department-level schedules sufficient?
The one question I'm pondering now is "where" to apply this routing logic? Perhaps with a trunk-level script we install on the 3CX server? This script would call an API we provide that tells the script where to route the call based on the defined schedule?
Thoughts?