in visualizeConnectData/scripts/mockCTRs/create.py [0:0]
def setCustomerJourneyTS(templateCTR, year, month, day):
isoTimestampFormat = '%Y-%m-%dT%H:%M:%SZ'
startTime = datetime.datetime(year, month, day) + datetime.timedelta(hours=random.randint(8, 18))
strStartTime = startTime.strftime(isoTimestampFormat)
templateCTR['InitiationTimestamp'] = strStartTime
templateCTR['ConnectedToSystemTimestamp'] = strStartTime
timeInIVRSec = random.randint(10, 45)
timeInQueueSec = 0
if (templateCTR['Queue'] is not None):
enqueueTime = startTime + datetime.timedelta(seconds=timeInIVRSec)
templateCTR['Queue']['EnqueueTimestamp'] = enqueueTime.strftime(isoTimestampFormat)
timeInQueueSec = random.randint(10, 120)
templateCTR['Queue']['Duration'] = timeInQueueSec
dequeueTime = enqueueTime + datetime.timedelta(seconds=timeInQueueSec)
templateCTR['Queue']['DequeueTimestamp'] = dequeueTime.strftime(isoTimestampFormat)
timeWithAgentSec = 0
acwSec = 0
if (templateCTR['Agent'] is not None):
if (templateCTR['Queue'] is None):
raise RuntimeError('Queue cannot be None')
templateCTR['Agent']['ConnectedToAgentTimestamp'] = templateCTR['Queue']['DequeueTimestamp']
holdDuration = templateCTR['Agent']['CustomerHoldDuration']
timeWithAgentSec = (random.randint(1, 10) * 60) + holdDuration
templateCTR['Agent']['AgentInteractionDuration'] = timeWithAgentSec
acwStartTime = dequeueTime + datetime.timedelta(seconds=timeWithAgentSec)
templateCTR['Agent']['AfterContactWorkStartTimestamp'] = acwStartTime.strftime(isoTimestampFormat)
acwSec = random.randint(1, 10) * 60
templateCTR['Agent']['AfterContactWorkDuration'] = acwSec
acwEndTime = acwStartTime + datetime.timedelta(seconds=acwSec)
templateCTR['Agent']['AfterContactWorkEndTimestamp'] = acwEndTime.strftime(isoTimestampFormat)
endTime = startTime + \
datetime.timedelta(seconds=timeInIVRSec) + \
datetime.timedelta(seconds=timeInQueueSec) + \
datetime.timedelta(seconds=timeWithAgentSec) + \
datetime.timedelta(seconds=acwSec)
strEndTime = endTime.strftime(isoTimestampFormat)
templateCTR['DisconnectTimestamp'] = strEndTime
templateCTR['LastUpdateTimestamp'] = strEndTime
return templateCTR