cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Announcements
Walkthrough Wednesdays
687
Views
5
Helpful
16
Replies
ChrisYoakem6083
Beginner

On/Off shift scripting

Hello all,
A bit stuck on a UCCX scripting puzzle. We have 3 teams one in the US, one in India, one in London. Each team has 2 employees. Everyone works the same hours 8am to 5pm Monday through Friday in their own respective time zones. And for the sake of this example let's say everyone is awake 7 am to 9:30PM.
 
I want a menu step that gives 3 options: routine issues, emergency issues, and red alert.
 
Option 1 (routine): will dial any team member within their shift hours. If no answer go to voicemail.
Option 2 (emergency) Will first dial anyone on shift if no answer or no one on shift then dial anyone off their normal shift BUT during their "waking hours". If no answer go to voicemail.
Option 3 (red alert) : will act as last effort which will dial the entire team all at once regardless of time of day. Try twice if no answer go to voicemail.
 
I originally set up my script where is goes to one region, checks time/day and dials if true, skips of not true. Then moves on to next region. The issue with this is the overlapping hours. Let's say it's 8AM in the US then both London and US are on shift then all calls would check the first region first then all calls would ring them without ever hitting region 2.
16 REPLIES 16

Using numeric values for the different Team states, you could have:

 

State Value
Off Shift 0
Awake 1
On Shift 2

 

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
1 0 0 0 555000
2 0 0 1 555001
3 0 0 2 555002
4 0 1 0 555010
5 0 1 1 555011
6 0 1 2 555012
7 0 2 0 555020
8 0 2 1 555021
9 0 2 2 555022
10 1 0 0 555100
11 1 0 1 555101
12 1 0 2 555102
13 1 1 0 555110
14 1 1 1 555111
15 1 1 2 555112
16 1 2 0 555120
17 1 2 1 555121
18 1 2 2 555122
19 2 0 0 555200
20 2 0 1 555201
21 2 0 2 555202
22 2 1 0 555210
23 2 1 1 555211
24 2 1 2 555212
25 2 2 0 555220
26 2 2 1 555221
27 2 2 2 555222

 

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
6

555012

T3T2_HL

1:Team3_LG

2:Team2_LG

20 555201 T1T3_HL

1:Team1_LG

2:Team3_LG

 

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.

Thanks Anthony, 

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. 

Content for Community-Ad

Spotlight Awards 2021