Using numeric values for the different Team states, you could have:
Then, using some kind of a phone number prefix, let's just say it's 555, you could concatenate the three Team numeric states, and would then need 27 different numbers:
|Scenario||Team 1 State||Team 2 State||Team 3 State||Phone Number|
As for programming this, it could look something like this:
/* Team 1 */ Time of Day (TimeZone = US Central) 7:00am to 8:00am team1 = 1 8:00am to 5:00pm team1 = 2 5:00pm to 9:30pm team1 = 1 The Rest team1 = 0 /* Team 2 */ Time of Day (TimeZone = London/GMT) 7:00am to 8:00am team2 = 1 8:00am to 5:00pm team2 = 2 5:00pm to 9:30pm team2 = 1 The Rest team2 = 0 /* Team 3 */ Time of Day (TimeZone = India Standard Time) 7:00am to 8:00am team3 = 1 8:00am to 5:00pm team3 = 2 5:00pm to 9:30pm team3 = 1 The Rest team3 = 0 transfer_target = "555" + team1 + team2 + team3
Now, if 27 sounds like a lot, you could probably start eliminating some of these, which would create scenarios that should never happen. E.g., All three Teams Off Shift = 000.
At the end of the day, you would then have X number of phone numbers, one to cover each scenario, and these could be Hunt Pilots with Hunt Lists configured to support the different states. But only ever having 3 Line Groups: one for each team.
For example, using two scenarios from above:
|Scenario||Hunt Pilot||Hunt List||Line Groups|
Otherwise, I just don't see a good way to get the concurrency for the call distribution that you're looking for. UCCX does have the ability to make multiple parallel scripts run via the Trigger Application step, but then I think you're just trading one complexity for another, and not really gaining anything.
This is very helpful! Thank you! Also a completely different approach than what I imagined (But I do tend to over-complicate things :))
I will try to put this together in the next couple days and test.