Built motion from commit 3e059bc2.|2.5.32
[motion2.git] / server / config / seedDB / report / fields.js
1 'use strict';
2
3 var _ = require('lodash');
4
5 module.exports = function() {
6   var fields = [{
7       field: 'uniqueid',
8       alias: 'UniqueId',
9       ReportId: 1
10     }, {
11       field: 'calleridnum',
12       alias: 'CallerIdNum',
13       ReportId: 1
14     }, {
15       field: 'calleridname',
16       alias: 'CallerIdName',
17       ReportId: 1
18     }, {
19       field: 'queue',
20       alias: 'Queue',
21       ReportId: 1
22     }, {
23       field: 'queuecallerjoinAt',
24       alias: 'QueueJoinAt',
25       ReportId: 1
26     }, {
27       field: 'queuecallerleaveAt',
28       alias: 'QueueLeaveAt',
29       ReportId: 1
30     }, {
31       field: 'queuecallerabandon',
32       alias: 'QueueAbandon',
33       ReportId: 1
34     }, {
35       field: 'queuecallerabandonAt',
36       alias: 'QueueAbandonAt',
37       ReportId: 1
38     }, {
39       field: 'queuecallercomplete',
40       alias: 'Complete',
41       ReportId: 1
42     }, {
43       field: 'queuecallercompleteAt',
44       alias: 'CompleteAt',
45       ReportId: 1
46     }, {
47       field: 'queuecallerexit',
48       alias: 'QueueExit',
49       ReportId: 1
50     }, {
51       field: 'queuecallerexitAt',
52       alias: 'QueueExitAt',
53       ReportId: 1
54     }, {
55       field: 'queuecallerexitreason',
56       alias: 'QueueExitReason',
57       ReportId: 1
58     }, {
59       field: 'exten',
60       alias: 'DID',
61       ReportId: 1
62     }, {
63       field: 'UNIX_TIMESTAMP(queuecallercompleteAt)-UNIX_TIMESTAMP(queuecallerleaveAt)',
64       alias: 'TalkTime',
65       format: 'SEC_TO_TIME',
66       custom: 1,
67       ReportId: 1
68     }, {
69       field: 'UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt)',
70       alias: 'AbandonTime',
71       format: 'SEC_TO_TIME',
72       custom: 1,
73       ReportId: 1
74     }, {
75       field: 'IF(queuecallercomplete=1,holdtime,null)',
76       alias: 'AnswerTime',
77       format: 'SEC_TO_TIME',
78       custom: 1,
79       ReportId: 1
80     }, {
81       field: 'calleridnum',
82       alias: 'CallerID',
83       ReportId: 2
84     }, {
85       field: 'queue',
86       alias: 'Queue',
87       ReportId: 2
88     }, {
89       field: 'queuecallerjoinAt',
90       alias: 'StartTime',
91       ReportId: 2
92     }, {
93       field: 'CASE WHEN queuecallercomplete=1 THEN queuecallercompleteAt ELSE queuecallerLeaveAt END',
94       alias: 'EndTime',
95       custom: 1,
96       ReportId: 2
97     }, {
98       field: 'holdtime',
99       alias: 'HoldTime',
100       format: 'SEC_TO_TIME',
101       ReportId: 2
102     }, {
103       field: 'CASE WHEN queuecallercomplete=1 THEN \'YES\' ELSE \'NO\' END',
104       alias: 'Answered',
105       custom: 1,
106       ReportId: 2
107     }, {
108       field: 'uniqueid',
109       alias: 'UniqueId',
110       ReportId: 3
111     }, {
112       field: 'calleridnum',
113       alias: 'CallerIdNum',
114       ReportId: 3
115     }, {
116       field: 'calleridname',
117       alias: 'CallerIdName',
118       ReportId: 3
119     }, {
120       field: 'queue',
121       alias: 'Queue',
122       ReportId: 3
123     }, {
124       field: 'membername',
125       alias: 'Agent',
126       ReportId: 3
127     }, {
128       field: 'agentcalledAt',
129       alias: 'AgentCalledAt',
130       ReportId: 3
131     }, {
132       field: 'agentconnectAt',
133       alias: 'AgentConnectAt',
134       ReportId: 3
135     }, {
136       field: 'agentcompleteAt',
137       alias: 'AgentCompleteAt',
138       ReportId: 3
139     }, {
140       field: 'holdtime',
141       alias: 'AnswerTime',
142       ReportId: 3
143     }, {
144       field: 'talktime',
145       alias: 'TalkTime',
146       ReportId: 3
147     }, {
148       field: 'agentacw',
149       alias: 'AgentACW',
150       ReportId: 3
151     }, {
152       field: 'acwtime',
153       alias: 'AgentACWTime',
154       ReportId: 3
155     }, {
156       field: 'agentcomplete',
157       alias: 'AgentComplete',
158       ReportId: 3
159     }, {
160       field: 'reason',
161       alias: 'HangupReason',
162       ReportId: 3
163     }, {
164       field: 'lastevent',
165       alias: 'LastEvent',
166       ReportId: 3
167     }, {
168       field: 'exten',
169       alias: 'DID',
170       ReportId: 3
171     }, {
172       field: 'membername',
173       alias: 'Agent',
174       groupBy: 1,
175       ReportId: 4
176     }, {
177       field: 'agentcomplete',
178       alias: 'Completed',
179       function: 'SUM',
180       ReportId: 4
181     }, {
182       field: 'talktime',
183       alias: 'TotTalkTime',
184       function: 'SUM',
185       format: 'SEC_TO_TIME',
186       ReportId: 4
187     }, {
188       field: 'acwtime',
189       alias: 'TotACWTime',
190       function: 'SUM',
191       format: 'SEC_TO_TIME',
192       ReportId: 4
193     }, {
194       field: 'talktime + acwtime',
195       alias: 'TotHandleTime',
196       function: 'SUM',
197       format: 'SEC_TO_TIME',
198       custom: 1,
199       ReportId: 4
200     }, {
201       field: 'ROUND(AVG(talktime))',
202       alias: 'AvgTalkTime',
203       format: 'SEC_TO_TIME',
204       custom: 1,
205       ReportId: 4
206     }, {
207       field: 'ROUND(AVG(acwtime))',
208       alias: 'AvgACWTime',
209       format: 'SEC_TO_TIME',
210       custom: 1,
211       ReportId: 4
212     }, {
213       field: 'ROUND(SUM(talktime + acwtime)/COUNT(agentcomplete))',
214       alias: 'AvgHandleTime',
215       format: 'SEC_TO_TIME',
216       custom: 1,
217       ReportId: 4
218     }, {
219       field: 'queue',
220       alias: 'Queue',
221       groupBy: 1,
222       ReportId: 5
223     }, {
224       field: 'agentcomplete',
225       alias: 'Completed',
226       function: 'SUM',
227       ReportId: 5
228     }, {
229       field: 'talktime',
230       alias: 'Tot TalkTime',
231       function: 'SUM',
232       format: 'SEC_TO_TIME',
233       ReportId: 5
234     }, {
235       field: 'holdtime',
236       alias: 'Tot HoldTime',
237       function: 'SUM',
238       format: 'SEC_TO_TIME',
239       ReportId: 5
240     }, {
241       field: 'acwtime',
242       alias: 'Tot ACWTime',
243       function: 'SUM',
244       format: 'SEC_TO_TIME',
245       ReportId: 5
246     }, {
247       field: 'talktime + acwtime',
248       alias: 'Tot Handle Time',
249       function: 'SUM',
250       format: 'SEC_TO_TIME',
251       custom: 1,
252       ReportId: 5
253     }, {
254       field: 'ROUND(AVG(talktime))',
255       alias: 'Avg TalkTime',
256       format: 'SEC_TO_TIME',
257       custom: 1,
258       ReportId: 5
259     }, {
260       field: 'ROUND(AVG(holdtime))',
261       alias: 'Avg HoldTime',
262       format: 'SEC_TO_TIME',
263       custom: 1,
264       ReportId: 5
265     }, {
266       field: 'ROUND(AVG(acwtime))',
267       alias: 'Avg ACWTime',
268       format: 'SEC_TO_TIME',
269       custom: 1,
270       ReportId: 5
271     }, {
272       field: 'ROUND(SUM(talktime + acwtime)/COUNT(agentcomplete))',
273       alias: 'Avg Handle Time',
274       format: 'SEC_TO_TIME',
275       custom: 1,
276       ReportId: 5
277     }, {
278       field: 'queue',
279       alias: 'Queue',
280       groupBy: 1,
281       ReportId: 6
282     }, {
283       field: 'agentcomplete',
284       alias: 'Tot Answered',
285       function: 'SUM',
286       ReportId: 6
287     }, {
288       field: 'COUNT(IF(holdtime<10,1,NULL))',
289       alias: 'Answered <10s',
290       custom: 1,
291       ReportId: 6
292     }, {
293       field: 'ROUND(COUNT(IF(holdtime<10,1,NULL)) / SUM(agentcomplete) *100,1)',
294       alias: 'Answer Rate <10s',
295       custom: 1,
296       ReportId: 6
297     }, {
298       field: 'COUNT(IF(holdtime >=10 AND holdtime <20,1,NULL))',
299       alias: 'Answered 10-20s',
300       custom: 1,
301       ReportId: 6
302     }, {
303       field: 'ROUND(COUNT(IF(holdtime >=10 AND holdtime <20,1,NULL)) / SUM(agentcomplete) *100,1)',
304       alias: 'Answer Rate 10-20s',
305       custom: 1,
306       ReportId: 6
307     }, {
308       field: 'COUNT(IF(holdtime >=20 AND holdtime <30,1,NULL))',
309       alias: 'Answered 20-30s',
310       custom: 1,
311       ReportId: 6
312     }, {
313       field: 'ROUND(COUNT(IF(holdtime >=20 AND holdtime <30,1,NULL)) / SUM(agentcomplete) *100,1)',
314       alias: 'Answer Rate 20-30s',
315       custom: 1,
316       ReportId: 6
317     }, {
318       field: 'COUNT(IF(holdtime >=30,1,NULL))',
319       alias: 'Answered >30s',
320       custom: 1,
321       ReportId: 6
322     }, {
323       field: 'ROUND(COUNT(IF(holdtime >=30,1,NULL)) / SUM(agentcomplete) *100,1)',
324       alias: 'Answer Rate >30s',
325       custom: 1,
326       ReportId: 6
327     }, {
328       field: 'reason',
329       alias: 'Reason',
330       groupBy: 1,
331       ReportId: 7
332     }, {
333       field: 'uniqueid',
334       alias: 'Calls',
335       function: 'COUNT',
336       ReportId: 7
337     }, {
338       field: 'agentconnectAt',
339       alias: 'Hour',
340       format: 'HOUR',
341       groupBy: 1,
342       ReportId: 8
343     }, {
344       field: 'agentcomplete',
345       alias: 'Tot Answered',
346       function: 'SUM',
347       ReportId: 8
348     }, {
349       field: 'COUNT(IF(holdtime<10,1,NULL))',
350       alias: 'Answered <10s',
351       custom: 1,
352       ReportId: 8
353     }, {
354       field: 'COUNT(IF(holdtime >=10 AND holdtime <20,1,NULL))',
355       alias: 'Answered 10-20s',
356       custom: 1,
357       ReportId: 8
358     }, {
359       field: 'COUNT(IF(holdtime >=20 AND holdtime <30,1,NULL))',
360       alias: 'Answered 20-30s',
361       custom: 1,
362       ReportId: 8
363     }, {
364       field: 'COUNT(IF(holdtime >=30,1,NULL))',
365       alias: 'Answered >30s',
366       custom: 1,
367       ReportId: 8
368     }, {
369       field: 'uniqueid',
370       alias: 'UniqueId',
371       ReportId: 9
372     }, {
373       field: 'calleridnum',
374       alias: 'CallerIdNum',
375       ReportId: 9
376     }, {
377       field: 'queue',
378       alias: 'Queue',
379       ReportId: 9
380     }, {
381       field: 'queuecallerjoinAt',
382       alias: 'JoinAt',
383       ReportId: 9
384     }, {
385       field: 'queuecallerleaveAt',
386       alias: 'LeaveAt',
387       ReportId: 9
388     }, {
389       field: 'queuecallerabandon',
390       alias: 'Abandon',
391       ReportId: 9
392     }, {
393       field: 'queuecallerabandonAt',
394       alias: 'AbandonAt',
395       ReportId: 9
396     }, {
397       field: 'queuecallerexit',
398       alias: 'Unmanaged',
399       ReportId: 9
400     }, {
401       field: 'queuecallerexitAt',
402       alias: 'UnmanagedAt',
403       ReportId: 9
404     }, {
405       field: 'queuecallerexitreason',
406       alias: 'UnmanagedReason',
407       ReportId: 9
408     }, {
409       field: 'position',
410       alias: 'QueuePosition',
411       ReportId: 9
412     }, {
413       field: 'exten',
414       alias: 'DID',
415       ReportId: 9
416     }, {
417       field: 'UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt)',
418       alias: 'Abandon Time',
419       format: 'SEC_TO_TIME',
420       custom: 1,
421       ReportId: 9
422     }, {
423       field: 'UNIX_TIMESTAMP(queuecallerExitAt)-UNIX_TIMESTAMP(queuecallerjoinAt)',
424       alias: 'Unmanaged HoldTime',
425       format: 'SEC_TO_TIME',
426       custom: 1,
427       ReportId: 9
428     }, {
429       field: 'queue',
430       alias: 'Queue',
431       groupBy: 1,
432       ReportId: 10
433     }, {
434       field: 'queuecallerabandon',
435       alias: 'Abandoned',
436       function: 'SUM',
437       ReportId: 10
438     }, {
439       field: 'queuecallerexit',
440       alias: 'Unmanaged',
441       function: 'SUM',
442       ReportId: 10
443     }, {
444       field: 'UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt)',
445       alias: 'Tot AbandonTime',
446       function: 'SUM',
447       format: 'SEC_TO_TIME',
448       custom: 1,
449       ReportId: 10
450     }, {
451       field: 'ROUND(AVG(UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt)))',
452       alias: 'AvgAbandonTime',
453       format: 'SEC_TO_TIME',
454       custom: 1,
455       ReportId: 10
456     }, {
457       field: 'UNIX_TIMESTAMP(queuecallerExitAt)-UNIX_TIMESTAMP(queuecallerjoinAt)',
458       alias: 'Tot Unmanaged Time',
459       function: 'SUM',
460       format: 'SEC_TO_TIME',
461       custom: 1,
462       ReportId: 10
463     }, {
464       field: 'ROUND(AVG(UNIX_TIMESTAMP(queuecallerExitAt)-UNIX_TIMESTAMP(queuecallerjoinAt)))',
465       alias: 'Avg Unmanaged TIme',
466       format: 'SEC_TO_TIME',
467       custom: 1,
468       ReportId: 10
469     }, {
470       field: 'queuecallerexitreason',
471       alias: 'Reason',
472       groupBy: 1,
473       ReportId: 11
474     }, {
475       field: 'queuecallerexit',
476       alias: 'Calls',
477       function: 'SUM',
478       ReportId: 11
479     }, {
480       field: 'UNIX_TIMESTAMP(queuecallerExitAt)-UNIX_TIMESTAMP(queuecallerjoinAt)',
481       alias: 'Tot Unmanaged Time',
482       function: 'SUM',
483       custom: 1,
484       ReportId: 11
485     }, {
486       field: 'queue',
487       alias: 'Queue',
488       groupBy: 1,
489       ReportId: 12
490     }, {
491       field: 'queuecallerabandon',
492       alias: 'Tot Abandoned',
493       function: 'SUM',
494       ReportId: 12
495     }, {
496       field: 'COUNT(IF(UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt) <10,1,NULL))',
497       alias: 'Abandoned<10s',
498       custom: 1,
499       ReportId: 12
500     }, {
501       field: 'ROUND(COUNT(IF(UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt) <10,1,NULL)) / SUM(queuecallerabandon) *100,1)',
502       alias: 'Abandoned Rate<10s',
503       custom: 1,
504       ReportId: 12
505     }, {
506       field: 'COUNT(IF(UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt) >=10 AND UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt) <60,1,NULL))',
507       alias: 'Abandoned 10-60s',
508       custom: 1,
509       ReportId: 12
510     }, {
511       field: 'ROUND(COUNT(IF(UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt) >=10 AND UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt) <60,1,NULL))  / SUM(queuecallerabandon) *100,1)',
512       alias: 'Abandoned Rate 10-60s',
513       custom: 1,
514       ReportId: 12
515     }, {
516       field: 'COUNT(IF(UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt) >=60 AND UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt) <120,1,NULL))',
517       alias: 'Abandoned 60-120s',
518       custom: 1,
519       ReportId: 12
520     }, {
521       field: 'ROUND(COUNT(IF(UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt) >=60 AND UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt) <120,1,NULL))   / SUM(queuecallerabandon) *100,1)',
522       alias: 'Abandoned Rate 60-120s',
523       custom: 1,
524       ReportId: 12
525     }, {
526       field: 'COUNT(IF(UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt) >=120,1,NULL))',
527       alias: 'Abandoned>120s',
528       custom: 1,
529       ReportId: 12
530     }, {
531       field: 'ROUND(COUNT(IF(UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt) >=120,1,NULL))  / SUM(queuecallerabandon) *100,1)',
532       alias: 'Abandoned Rate>120s',
533       custom: 1,
534       ReportId: 12
535     }, {
536       field: 'queuecallerjoinat',
537       alias: 'Date',
538       format: 'DATE',
539       groupBy: 1,
540       custom: 1,
541       ReportId: 13
542     }, {
543       field: 'uniqueid',
544       alias: 'Offered',
545       function: 'COUNT DISTINCT',
546       ReportId: 13
547     }, {
548       field: 'queuecallercomplete',
549       alias: 'Completed',
550       function: 'SUM',
551       ReportId: 13
552     }, {
553       field: 'queuecallerabandon',
554       alias: 'Abandoned',
555       function: 'SUM',
556       custom: 1,
557       ReportId: 13
558     }, {
559       field: 'queuecallerexit',
560       alias: 'Unmanaged',
561       function: 'SUM',
562       custom: 1,
563       ReportId: 13
564     }, {
565       field: 'UNIX_TIMESTAMP(queuecallercompleteAt)-UNIX_TIMESTAMP(queuecallerleaveAt)',
566       alias: 'Tot TalkTime',
567       function: 'SUM',
568       format: 'SEC_TO_TIME',
569       custom: 1,
570       ReportId: 13
571     }, {
572       field: 'ROUND(AVG(UNIX_TIMESTAMP(queuecallercompleteAt)-UNIX_TIMESTAMP(queuecallerleaveAt)))',
573       alias: 'AvgTalkTime',
574       format: 'SEC_TO_TIME',
575       custom: 1,
576       ReportId: 13
577     }, {
578       field: 'ROUND(AVG(UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt)))',
579       alias: 'AvgAbandonTime',
580       format: 'SEC_TO_TIME',
581       custom: 1,
582       ReportId: 13
583     }, {
584       field: 'queuecallerjoinat',
585       alias: 'Hour',
586       format: 'HOUR',
587       groupBy: 1,
588       custom: 1,
589       ReportId: 14
590     }, {
591       field: 'uniqueid',
592       alias: 'Offered',
593       function: 'COUNT DISTINCT',
594       ReportId: 14
595     }, {
596       field: 'queuecallercomplete',
597       alias: 'Answered',
598       function: 'SUM',
599       ReportId: 14
600     }, {
601       field: 'ROUND(SUM(queuecallercomplete)/COUNT(DISTINCT uniqueid)*100,1)',
602       alias: 'Answer Rate',
603       custom: 1,
604       ReportId: 14
605     }, {
606       field: 'queuecallerabandon',
607       alias: 'Abandoned',
608       function: 'SUM',
609       ReportId: 14
610     }, {
611       field: 'queuecallerexit',
612       alias: 'Unmanaged',
613       function: 'SUM',
614       ReportId: 14
615     }, {
616       field: 'UNIX_TIMESTAMP(queuecallercompleteAt)-UNIX_TIMESTAMP(queuecallerleaveAt)',
617       alias: 'Tot TalkTime',
618       function: 'SUM',
619       format: 'SEC_TO_TIME',
620       custom: 1,
621       ReportId: 14
622     }, {
623       field: 'ROUND(AVG(UNIX_TIMESTAMP(queuecallercompleteAt)-UNIX_TIMESTAMP(queuecallerleaveAt)))',
624       alias: 'AvgTalkTime',
625       format: 'SEC_TO_TIME',
626       custom: 1,
627       ReportId: 14
628     }, {
629       field: 'ROUND(AVG(UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt)))',
630       alias: 'AvgAbandonTime',
631       format: 'SEC_TO_TIME',
632       custom: 1,
633       ReportId: 14
634     }, {
635       field: 'DAY(queuecallerjoinat)',
636       alias: 'Day',
637       groupBy: 1,
638       custom: 1,
639       ReportId: 15
640     }, {
641       field: 'uniqueid',
642       alias: 'Offered',
643       function: 'COUNT DISTINCT',
644       ReportId: 15
645     }, {
646       field: 'queuecallercomplete',
647       alias: 'Answered',
648       function: 'SUM',
649       ReportId: 15
650     }, {
651       field: 'ROUND(SUM(queuecallercomplete)/COUNT(DISTINCT uniqueid)*100,1)',
652       alias: 'Answer Rate',
653       custom: 1,
654       ReportId: 15
655     }, {
656       field: 'queuecallerabandon',
657       alias: 'Abandoned',
658       function: 'SUM',
659       ReportId: 15
660     }, {
661       field: 'queuecallerexit',
662       alias: 'Unmanaged',
663       function: 'SUM',
664       ReportId: 15
665     }, {
666       field: 'UNIX_TIMESTAMP(queuecallercompleteAt)-UNIX_TIMESTAMP(queuecallerleaveAt)',
667       alias: 'Tot TalkTime',
668       function: 'SUM',
669       format: 'SEC_TO_TIME',
670       custom: 1,
671       ReportId: 15
672     }, {
673       field: 'ROUND(AVG(UNIX_TIMESTAMP(queuecallercompleteAt)-UNIX_TIMESTAMP(queuecallerleaveAt)))',
674       alias: 'AvgTalkTime',
675       format: 'SEC_TO_TIME',
676       custom: 1,
677       ReportId: 15
678     }, {
679       field: 'ROUND(AVG(UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt)))',
680       alias: 'AvgAbandonTime',
681       format: 'SEC_TO_TIME',
682       custom: 1,
683       ReportId: 15
684     }, {
685       field: 'DAYNAME(queuecallerjoinat)',
686       alias: 'DayOfWeek',
687       groupBy: 1,
688       custom: 1,
689       ReportId: 16
690     }, {
691       field: 'uniqueid',
692       alias: 'Offered',
693       function: 'COUNT DISTINCT',
694       ReportId: 16
695     }, {
696       field: 'queuecallercomplete',
697       alias: 'Answered',
698       function: 'SUM',
699       ReportId: 16
700     }, {
701       field: 'ROUND(SUM(queuecallercomplete)/COUNT(DISTINCT uniqueid)*100,1)',
702       alias: 'Answer Rate',
703       custom: 1,
704       ReportId: 16
705     }, {
706       field: 'queuecallerabandon',
707       alias: 'Abandoned',
708       function: 'SUM',
709       orderBy: 'ASC',
710       ReportId: 16
711     }, {
712       field: 'queuecallerexit',
713       alias: 'Unmanaged',
714       function: 'SUM',
715       ReportId: 16
716     }, {
717       field: 'UNIX_TIMESTAMP(queuecallercompleteAt)-UNIX_TIMESTAMP(queuecallerleaveAt)',
718       alias: 'Tot TalkTime',
719       function: 'SUM',
720       format: 'SEC_TO_TIME',
721       custom: 1,
722       ReportId: 16
723     }, {
724       field: 'ROUND(AVG(UNIX_TIMESTAMP(queuecallercompleteAt)-UNIX_TIMESTAMP(queuecallerleaveAt)))',
725       alias: 'AvgTalkTime',
726       format: 'SEC_TO_TIME',
727       custom: 1,
728       ReportId: 16
729     }, {
730       field: 'ROUND(AVG(UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt)))',
731       alias: 'AvgAbandonTime',
732       format: 'SEC_TO_TIME',
733       custom: 1,
734       ReportId: 16
735     }, {
736       field: 'queue',
737       alias: 'Queue',
738       groupBy: 1,
739       ReportId: 17
740     }, {
741       field: 'uniqueid',
742       alias: 'Offered',
743       function: 'COUNT DISTINCT',
744       ReportId: 17
745     }, {
746       field: 'queuecallercomplete',
747       alias: 'Answered',
748       function: 'SUM',
749       ReportId: 17
750     }, {
751       field: 'ROUND(SUM(queuecallercomplete)/COUNT(DISTINCT uniqueid)*100,1)',
752       alias: 'Answer Rate',
753       custom: 1,
754       ReportId: 17
755     }, {
756       field: 'queuecallerabandon',
757       alias: 'Abandoned',
758       function: 'SUM',
759       ReportId: 17
760     }, {
761       field: 'queuecallerexit',
762       alias: 'Unmanaged',
763       function: 'SUM',
764       ReportId: 17
765     }, {
766       field: 'UNIX_TIMESTAMP(queuecallercompleteAt)-UNIX_TIMESTAMP(queuecallerleaveAt)',
767       alias: 'Tot TalkTime',
768       function: 'SUM',
769       format: 'SEC_TO_TIME',
770       custom: 1,
771       ReportId: 17
772     }, {
773       field: 'ROUND(AVG(UNIX_TIMESTAMP(queuecallercompleteAt)-UNIX_TIMESTAMP(queuecallerleaveAt)))',
774       alias: 'AvgTalkTime',
775       format: 'SEC_TO_TIME',
776       custom: 1,
777       ReportId: 17
778     }, {
779       field: 'ROUND(AVG(UNIX_TIMESTAMP(queuecallerAbandonAt)-UNIX_TIMESTAMP(queuecallerjoinAt)))',
780       alias: 'AvgAbandonTime',
781       format: 'SEC_TO_TIME',
782       custom: 1,
783       ReportId: 17
784     }, {
785       field: 'uniqueid',
786       alias: 'UniqueID',
787       ReportId: 18
788     }, {
789       field: 'type',
790       alias: 'Type',
791       ReportId: 18
792     }, {
793       field: 'tag',
794       alias: 'Tag',
795       ReportId: 18
796     }, {
797       field: 'source',
798       alias: 'Source',
799       ReportId: 18
800     }, {
801       field: 'destination',
802       alias: 'Destination',
803       ReportId: 18
804     }, {
805       field: 'callerid',
806       alias: 'CallerID',
807       ReportId: 18
808     }, {
809       field: 'destinationchannel',
810       alias: 'DestChannel',
811       ReportId: 18
812     }, {
813       field: 'lastapplication',
814       alias: 'LastApp',
815       ReportId: 18
816     }, {
817       field: 'lastdata',
818       alias: 'LastData',
819       ReportId: 18
820     }, {
821       field: 'starttime',
822       alias: 'StartTime',
823       ReportId: 18
824     }, {
825       field: 'answertime',
826       alias: 'AnswerTime',
827       ReportId: 18
828     }, {
829       field: 'endtime',
830       alias: 'EndTime',
831       ReportId: 18
832     }, {
833       field: 'duration',
834       alias: 'Duration',
835       ReportId: 18
836     }, {
837       field: 'disposition',
838       alias: 'Disposition',
839       ReportId: 18
840     }, {
841       field: 'uniqueid',
842       alias: 'UniqueID',
843       ReportId: 19
844     }, {
845       field: 'accountcode',
846       alias: 'AgentExtension',
847       ReportId: 19
848     }, {
849       field: 'source',
850       alias: 'Source',
851       ReportId: 19
852     }, {
853       field: 'destination',
854       alias: 'Destination',
855       ReportId: 19
856     }, {
857       field: 'callerid',
858       alias: 'CallerId',
859       ReportId: 19
860     }, {
861       field: 'starttime',
862       alias: 'StartTime',
863       ReportId: 19
864     }, {
865       field: 'answertime',
866       alias: 'AnswerTime',
867       ReportId: 19
868     }, {
869       field: 'endtime',
870       alias: 'EndTime',
871       ReportId: 19
872     }, {
873       field: 'duration',
874       alias: 'Duration',
875       format: 'SEC_TO_TIME',
876       ReportId: 19
877     }, {
878       field: 'billableseconds',
879       alias: 'Billsec',
880       format: 'SEC_TO_TIME',
881       ReportId: 19
882     }, {
883       field: 'disposition',
884       alias: 'Disposition',
885       ReportId: 19
886     }, {
887       field: 'tag',
888       alias: 'Tag',
889       ReportId: 19
890     }, {
891       field: 'type',
892       alias: 'Type',
893       groupBy: 1,
894       ReportId: 20
895     }, {
896       field: 'uniqueid',
897       alias: 'Calls',
898       function: 'COUNT',
899       ReportId: 20
900     }, {
901       field: 'duration',
902       alias: 'Tot Duration',
903       function: 'SUM',
904       format: 'SEC_TO_TIME',
905       ReportId: 20
906     }, {
907       field: 'ROUND(AVG(duration))',
908       alias: 'Avg Duration',
909       format: 'SEC_TO_TIME',
910       custom: 1,
911       ReportId: 20
912     }, {
913       field: 'disposition',
914       alias: 'Disposition',
915       groupBy: 1,
916       ReportId: 21
917     }, {
918       field: 'uniqueid',
919       alias: 'Calls',
920       function: 'COUNT',
921       ReportId: 21
922     }, {
923       field: 'duration',
924       alias: 'Tot Duration',
925       function: 'SUM',
926       format: 'SEC_TO_TIME',
927       ReportId: 21
928     }, {
929       field: 'ROUND(AVG(duration))',
930       alias: 'Avg Duration',
931       format: 'SEC_TO_TIME',
932       custom: 1,
933       ReportId: 21
934     }, {
935       field: 'SUBSTRING_INDEX(channel, "-", 1)',
936       alias: 'Agent',
937       groupBy: 1,
938       custom: 1,
939       ReportId: 22
940     }, {
941       field: 'uniqueid',
942       alias: 'Calls',
943       function: 'COUNT',
944       ReportId: 22
945     }, {
946       field: 'duration',
947       alias: 'Tot Duration',
948       function: 'SUM',
949       format: 'SEC_TO_TIME',
950       ReportId: 22
951     }, {
952       field: 'ROUND(AVG(duration))',
953       alias: 'Avg Duration',
954       format: 'SEC_TO_TIME',
955       custom: 1,
956       ReportId: 22
957     }, {
958       field: 'starttime',
959       alias: 'Date',
960       format: 'DATE',
961       groupBy: 1,
962       ReportId: 23
963     }, {
964       field: 'uniqueid',
965       alias: 'Calls',
966       function: 'COUNT',
967       ReportId: 23
968     }, {
969       field: 'duration',
970       alias: 'Tot Duration',
971       function: 'SUM',
972       format: 'SEC_TO_TIME',
973       ReportId: 23
974     }, {
975       field: 'ROUND(AVG(duration))',
976       alias: 'Avg Duration',
977       format: 'SEC_TO_TIME',
978       custom: 1,
979       ReportId: 23
980     }, {
981       field: 'membername',
982       alias: 'Agent',
983       groupBy: 1,
984       orderBy: 'ASC',
985       ReportId: 24
986     }, {
987       field: 'UNIX_TIMESTAMP(exitAt)-UNIX_TIMESTAMP(enterAt)',
988       alias: 'Duration',
989       function: 'SUM',
990       format: 'SEC_TO_TIME',
991       custom: 1,
992       ReportId: 24
993     }, {
994       field: 'membername',
995       alias: 'Agent',
996       groupBy: 1,
997       ReportId: 25
998     }, {
999       field: 'CASE WHEN type=\'LOGIN\' THEN UNIX_TIMESTAMP(exitAt)-UNIX_TIMESTAMP(enterAt) END',
1000       alias: 'Login Time',
1001       function: 'SUM',
1002       format: 'SEC_TO_TIME',
1003       custom: 1,
1004       ReportId: 25
1005     }, {
1006       field: 'CASE WHEN type=\'TALKING\' THEN UNIX_TIMESTAMP(exitAt)-UNIX_TIMESTAMP(enterAt) END',
1007       alias: 'Talk Time',
1008       function: 'SUM',
1009       format: 'SEC_TO_TIME',
1010       custom: 1,
1011       ReportId: 25
1012     }, {
1013       field: 'CASE WHEN type=\'PAUSE\' THEN UNIX_TIMESTAMP(exitAt)-UNIX_TIMESTAMP(enterAt) END',
1014       alias: 'Pause Time',
1015       function: 'SUM',
1016       format: 'SEC_TO_TIME',
1017       custom: 1,
1018       ReportId: 25
1019     }, {
1020       field: 'membername',
1021       alias: 'Agent',
1022       ReportId: 26
1023     }, {
1024       field: 'enterAt',
1025       alias: 'EnterAt',
1026       ReportId: 26
1027     }, {
1028       field: 'exitAt',
1029       alias: 'ExitAt',
1030       ReportId: 26
1031     }, {
1032       field: 'data1',
1033       alias: 'Pause',
1034       ReportId: 26
1035     }, {
1036       field: 'duration',
1037       alias: 'Duration',
1038       format: 'SEC_TO_TIME',
1039       ReportId: 26
1040     }, {
1041       field: 'membername',
1042       alias: 'Agent',
1043       ReportId: 27
1044     }, {
1045       field: 'interface',
1046       alias: 'Interface',
1047       ReportId: 27
1048     }, {
1049       field: 'type',
1050       alias: 'Event',
1051       ReportId: 27
1052     }, {
1053       field: 'data1',
1054       alias: 'Type',
1055       ReportId: 27
1056     }, {
1057       field: 'enterAt',
1058       alias: 'EnterAt',
1059       ReportId: 27
1060     }, {
1061       field: 'exitAt',
1062       alias: 'ExitAt',
1063       ReportId: 27
1064     }, {
1065       field: 'UNIX_TIMESTAMP(exitAt)-UNIX_TIMESTAMP(enterAt)',
1066       alias: 'Duration',
1067       format: 'SEC_TO_TIME',
1068       custom: 1,
1069       ReportId: 27
1070     }, {
1071       field: 'membername',
1072       alias: 'Agent',
1073       groupBy: 1,
1074       orderBy: 'ASC',
1075       ReportId: 28
1076     }, {
1077       field: 'data1',
1078       alias: 'PauseType',
1079       groupBy: 1,
1080       orderBy: 'ASC',
1081       ReportId: 28
1082     }, {
1083       field: 'UNIX_TIMESTAMP(exitAt)-UNIX_TIMESTAMP(enterAt)',
1084       alias: 'Duration',
1085       function: 'SUM',
1086       format: 'SEC_TO_TIME',
1087       custom: 1,
1088       ReportId: 28
1089     }, {
1090       field: 'project_name',
1091       alias: 'Project Name',
1092       ReportId: 29
1093     }, {
1094       field: 'uniqueid',
1095       alias: 'UniqueId',
1096       ReportId: 29
1097     }, {
1098       field: 'callerid',
1099       alias: 'CallerId',
1100       ReportId: 29
1101     }, {
1102       field: 'dnid',
1103       alias: 'DID',
1104       ReportId: 29
1105     }, {
1106       field: 'joinAt',
1107       alias: 'Start Time',
1108       orderBy: 'ASC',
1109       ReportId: 29
1110     }, {
1111       field: 'leaveAt',
1112       alias: 'End Time',
1113       ReportId: 29
1114     }, {
1115       field: 'UNIX_TIMESTAMP(leaveAt)-UNIX_TIMESTAMP(joinAt)',
1116       alias: 'Duration',
1117       format: 'SEC_TO_TIME',
1118       custom: 1,
1119       ReportId: 29
1120     }, {
1121       field: 'uniqueid',
1122       alias: 'Unique Id',
1123       ReportId: 30
1124     }, {
1125       field: 'project_name',
1126       alias: 'Project Name',
1127       ReportId: 30
1128     }, {
1129       field: 'callerid',
1130       alias: 'Caller Id',
1131       ReportId: 30
1132     }, {
1133       field: 'node',
1134       alias: 'Block',
1135       ReportId: 30
1136     }, {
1137       field: 'data',
1138       alias: 'Data',
1139       ReportId: 30
1140     }, {
1141       field: 'connectedlinename',
1142       alias: 'Agent',
1143       groupBy: 1,
1144       ReportId: 31
1145     }, {
1146       field: 'uniqueid',
1147       alias: 'Recorded Calls',
1148       function: 'COUNT',
1149       ReportId: 31
1150     }, {
1151       field: 'rating',
1152       alias: 'Total Rating',
1153       function: 'SUM',
1154       ReportId: 31
1155     }, {
1156       field: 'rating',
1157       alias: 'Avg Rating',
1158       function: 'AVG',
1159       ReportId: 31
1160     }, {
1161       field: 'queue',
1162       alias: 'Queue',
1163       groupBy: 1,
1164       ReportId: 32
1165     }, {
1166       field: 'uniqueid',
1167       alias: 'Rated Calls',
1168       function: 'COUNT',
1169       ReportId: 32
1170     }, {
1171       field: 'rating',
1172       alias: 'Total Rating',
1173       function: 'SUM',
1174       ReportId: 32
1175     }, {
1176       field: 'rating',
1177       alias: 'Avg Rating',
1178       function: 'AVG',
1179       ReportId: 32
1180     }, {
1181       field: 'campaign',
1182       alias: 'Campaign Name',
1183       ReportId: 33
1184     }, {
1185       field: 'calleridnum',
1186       alias: 'CallerIdNum',
1187       ReportId: 33
1188     }, {
1189       field: 'starttime',
1190       alias: 'LastCallAt',
1191       orderBy: 'DESC',
1192       ReportId: 33
1193     }, {
1194       field: 'statedesc',
1195       alias: 'State',
1196       ReportId: 33
1197     }, {
1198       field: 'countglobal',
1199       alias: 'Global Count',
1200       ReportId: 33
1201     }, {
1202       field: 'dropreason',
1203       alias: 'Drop Reason',
1204       ReportId: 33
1205     }, {
1206       field: 'blacklist',
1207       alias: 'BlackList',
1208       ReportId: 33
1209     }, {
1210       field: 'membername',
1211       alias: 'Agent',
1212       ReportId: 33
1213     }, {
1214       field: 'talktime',
1215       alias: 'Talk Time',
1216       ReportId: 33
1217     }, {
1218       field: 'disposition',
1219       alias: 'Disposition',
1220       ReportId: 33
1221     }, {
1222       field: 'uniqueid',
1223       alias: 'UniqueId',
1224       ReportId: 33
1225     }, {
1226       field: 'statedesc',
1227       alias: 'State',
1228       groupBy: true,
1229       orderBy: 'ASC',
1230       ReportId: 34
1231     }, {
1232       field: 'id',
1233       alias: 'Calls',
1234       function: 'COUNT',
1235       ReportId: 34
1236     }, {
1237       field: 'ROUND(count(id)*100/(SELECT COUNT(*) FROM cm_hopper_history WHERE campaigntype=\'queue\'),2)',
1238       alias: 'Calls (%)',
1239       custom: true,
1240       ReportId: 34
1241     }, {
1242       field: 'campaign',
1243       alias: 'Campaign Name',
1244       orderBy: 'ASC',
1245       groupBy: true,
1246       ReportId: 35
1247     }, {
1248       field: 'statedesc',
1249       alias: 'State',
1250       groupBy: true,
1251       ReportId: 35
1252     }, {
1253       field: 'id',
1254       alias: 'Total Calls',
1255       function: 'COUNT',
1256       ReportId: 35
1257     }, {
1258       field: 'ListId',
1259       groupBy: true,
1260       orderBy: 'ASC',
1261       ReportId: 36
1262     }, {
1263       field: 'id',
1264       alias: 'Contacts',
1265       function: 'COUNT',
1266       ReportId: 36
1267     }, {
1268       field: 'SUM(IF(state=4,1,0))',
1269       alias: 'Managed',
1270       custom: true,
1271       ReportId: 36
1272     }, {
1273       field: 'ROUND(SUM(IF(state=4,1,0))/COUNT(*)*100,1)',
1274       alias: 'Penetration Rate',
1275       custom: true,
1276       ReportId: 36
1277     }, {
1278       field: 'membername',
1279       alias: 'Agent',
1280       groupBy: true,
1281       orderBy: 'ASC',
1282       ReportId: 37
1283     }, {
1284       field: 'id',
1285       alias: 'Calls',
1286       function: 'COUNT',
1287       ReportId: 37
1288     }, {
1289       field: 'SEC_TO_TIME(AVG(talktime))',
1290       alias: 'AVG Talk Time',
1291       custom: true,
1292       ReportId: 37
1293     }, {
1294       field: 'disposition',
1295       alias: 'Disposition',
1296       groupBy: true,
1297       ReportId: 38
1298     }, {
1299       field: 'id',
1300       alias: 'Total',
1301       function: 'COUNT',
1302       ReportId: 38
1303     }, {
1304       field: 'ROUND(COUNT(id)*100/(SELECT COUNT(*) FROM cm_hopper_final WHERE state=4 and campaigntype=\'queue\'),2)',
1305       alias: 'Total (%)',
1306       custom: true,
1307       ReportId: 38
1308     }, {
1309       field: 'membername',
1310       alias: 'Agent',
1311       groupBy: true,
1312       ReportId: 39
1313     }, {
1314       field: 'disposition',
1315       alias: 'Disposition',
1316       groupBy: true,
1317       ReportId: 39
1318     }, {
1319       field: 'id',
1320       alias: 'Total',
1321       function: 'COUNT',
1322       ReportId: 39
1323     }, {
1324       field: 'ROUND(COUNT(id)*100/(SELECT COUNT(*) FROM cm_hopper_final WHERE state=4 and campaigntype=\'queue\'),2)',
1325       alias: 'Total (%)',
1326       custom: true,
1327       ReportId: 39
1328     }, {
1329       field: 'campaign',
1330       alias: 'Campaign Name',
1331       ReportId: 40
1332     }, {
1333       field: 'calleridnum',
1334       alias: 'CallerIdNum',
1335       ReportId: 40
1336     }, {
1337       field: 'starttime',
1338       alias: 'LastCallAt',
1339       orderBy: 'DESC',
1340       ReportId: 40
1341     }, {
1342       field: 'statedesc',
1343       alias: 'State',
1344       ReportId: 40
1345     }, {
1346       field: 'countglobal',
1347       alias: 'Global Count',
1348       ReportId: 40
1349     }, {
1350       field: 'dropreason',
1351       alias: 'Drop Reason',
1352       ReportId: 40
1353     }, {
1354       field: 'blacklist',
1355       alias: 'BlackList',
1356       ReportId: 40
1357     }, {
1358       field: 'talktime',
1359       alias: 'Talk Time',
1360       ReportId: 40
1361     }, {
1362       field: 'uniqueid',
1363       alias: 'UniqueId',
1364       ReportId: 40
1365     }, {
1366       field: 'statedesc',
1367       alias: 'State',
1368       groupBy: true,
1369       orderBy: 'ASC',
1370       ReportId: 41
1371     }, {
1372       field: 'id',
1373       alias: 'Calls',
1374       function: 'COUNT',
1375       ReportId: 41
1376     }, {
1377       field: 'ROUND(count(id)*100/(SELECT COUNT(*) FROM cm_hopper_history WHERE campaigntype=\'ivr\'),2)',
1378       alias: 'Calls (%)',
1379       custom: true,
1380       ReportId: 41
1381     }, {
1382       field: 'campaign',
1383       alias: 'Campaign Name',
1384       orderBy: 'ASC',
1385       groupBy: true,
1386       ReportId: 42
1387     }, {
1388       field: 'statedesc',
1389       alias: 'State',
1390       groupBy: true,
1391       ReportId: 42
1392     }, {
1393       field: 'id',
1394       alias: 'Total Calls',
1395       function: 'COUNT',
1396       ReportId: 42
1397     }, {
1398       field: 'ListId',
1399       groupBy: true,
1400       orderBy: 'ASC',
1401       ReportId: 43
1402     }, {
1403       field: 'id',
1404       alias: 'Contacts',
1405       function: 'COUNT',
1406       ReportId: 43
1407     }, {
1408       field: 'SUM(IF(state=4,1,0))',
1409       alias: 'Managed',
1410       custom: true,
1411       ReportId: 43
1412     }, {
1413       field: 'ROUND(SUM(IF(state=4,1,0))/COUNT(*)*100,1)',
1414       alias: 'Penetration Rate',
1415       custom: true,
1416       ReportId: 43
1417     }, {
1418       field: 'chat_websites.name',
1419       alias: 'Web Site',
1420       groupBy: true,
1421       ReportId: 44
1422     }, {
1423       field: 'chat_interactions.id',
1424       alias: 'Interactions',
1425       function: 'COUNT',
1426       ReportId: 44
1427     }, {
1428       field: 'COUNT(IF(closed=0,1,NULL))',
1429       alias: 'Open',
1430       custom: true,
1431       ReportId: 44
1432     }, {
1433       field: 'COUNT(IF(closed=1 && ((disposition !=\'unmanaged\' && disposition !=\'abandoned\') || disposition IS NULL),1,NULL))',
1434       alias: 'Closed',
1435       custom: true,
1436       ReportId: 44
1437     }, {
1438       field: 'COUNT(IF(closed=1 && disposition =\'unmanaged\',1,NULL))',
1439       alias: 'Unmanaged',
1440       custom: true,
1441       ReportId: 44
1442     }, {
1443       field: 'COUNT(IF(closed=1 && disposition =\'abandoned\',1,NULL))',
1444       alias: 'Abandoned',
1445       custom: true,
1446       ReportId: 44
1447     }, {
1448       field: 'chat_websites.name',
1449       alias: 'Web Site',
1450       groupBy: true,
1451       ReportId: 45
1452     }, {
1453       field: 'UNIX_TIMESTAMP(closedAt)-UNIX_TIMESTAMP(chat_interactions.createdAt)',
1454       alias: 'Interaction Time',
1455       function: 'SUM',
1456       format: 'SEC_TO_TIME',
1457       custom: true,
1458       ReportId: 45
1459     }, {
1460       field: 'ROUND(AVG(UNIX_TIMESTAMP(closedAt)-UNIX_TIMESTAMP(chat_interactions.createdAt)))',
1461       alias: 'AVG Interaction Time',
1462       format: 'SEC_TO_TIME',
1463       custom: true,
1464       ReportId: 45
1465     }, {
1466       field: 'users.fullname',
1467       alias: 'Agent',
1468       groupBy: true,
1469       ReportId: 46
1470     }, {
1471       field: 'chat_interactions.closed',
1472       alias: 'Closed',
1473       function: 'SUM',
1474       ReportId: 46
1475     }, {
1476       field: 'UNIX_TIMESTAMP(closedAt)-UNIX_TIMESTAMP(chat_interactions.createdAt)',
1477       alias: 'Interaction Time',
1478       function: 'SUM',
1479       format: 'SEC_TO_TIME',
1480       custom: true,
1481       ReportId: 46
1482     }, {
1483       field: 'ROUND(AVG(UNIX_TIMESTAMP(closedAt)-UNIX_TIMESTAMP(chat_interactions.createdAt)))',
1484       alias: 'AVG Interaction Time',
1485       format: 'SEC_TO_TIME',
1486       custom: true,
1487       ReportId: 46
1488     }, {
1489       field: 'chat_interactions.createdAt',
1490       alias: 'Date',
1491       format: 'DATE',
1492       groupBy: true,
1493       custom: true,
1494       ReportId: 47
1495     }, {
1496       field: 'chat_interactions.id',
1497       alias: 'Interactions',
1498       function: 'COUNT',
1499       ReportId: 47
1500     }, {
1501       field: 'COUNT(IF(closed=1 && ((disposition !=\'unmanaged\' && disposition !=\'abandoned\') || disposition IS NULL),1,NULL))',
1502       alias: 'Completed',
1503       custom: true,
1504       ReportId: 47
1505     }, {
1506       field: 'ROUND(COUNT(IF(closed=1 && ((disposition !=\'unmanaged\' && disposition !=\'abandoned\') || disposition IS NULL),1,NULL))/COUNT(id) *100,1)',
1507       alias: 'Completed (%)',
1508       custom: true,
1509       ReportId: 47
1510     }, {
1511       field: 'COUNT(IF(closed=1 && disposition =\'unmanaged\',1,NULL))',
1512       alias: 'Unmanaged',
1513       custom: true,
1514       ReportId: 47
1515     }, {
1516       field: 'ROUND(COUNT(IF(closed=1 && disposition=\'unmanaged\',1,NULL))/COUNT(id) *100,1)',
1517       alias: 'Unmanaged (%)',
1518       custom: true,
1519       ReportId: 47
1520     }, {
1521       field: 'COUNT(IF(closed=1 && disposition =\'abandoned\',1,NULL))',
1522       alias: 'Abandoned',
1523       custom: true,
1524       ReportId: 47
1525     }, {
1526       field: 'ROUND(COUNT(IF(closed=1 && disposition=\'abandoned\',1,NULL))/COUNT(id) *100,1)',
1527       alias: 'Abandoned (%)',
1528       custom: true,
1529       ReportId: 47
1530     }, {
1531       field: 'UNIX_TIMESTAMP(closedAt)-UNIX_TIMESTAMP(createdAt)',
1532       alias: 'Interaction Time',
1533       function: 'SUM',
1534       format: 'SEC_TO_TIME',
1535       custom: true,
1536       ReportId: 47
1537     }, {
1538       field: 'ROUND(AVG(UNIX_TIMESTAMP(closedAt)-UNIX_TIMESTAMP(createdAt)))',
1539       alias: 'AVG Interaction Time',
1540       format: 'SEC_TO_TIME',
1541       custom: true,
1542       ReportId: 47
1543     }, {
1544       field: 'chat_queues.name',
1545       alias: 'Queue',
1546       groupBy: true,
1547       ReportId: 48
1548     }, {
1549       field: 'report_chat_queue.id',
1550       alias: 'Interactions',
1551       function: 'COUNT',
1552       ReportId: 48
1553     }, {
1554       field: 'COUNT(IF(reason=\'accepted\',1,NULL))',
1555       alias: 'Accepted',
1556       custom: true,
1557       ReportId: 48
1558     }, {
1559       field: 'COUNT(IF(reason=\'timeout\',1,NULL))',
1560       alias: 'Timeout',
1561       custom: true,
1562       ReportId: 48
1563     }, {
1564       field: 'UNIX_TIMESTAMP(leaveAt)-UNIX_TIMESTAMP(joinAt)',
1565       alias: 'Hold Time',
1566       function: 'SUM',
1567       format: 'SEC_TO_TIME',
1568       custom: true,
1569       ReportId: 48
1570     }, {
1571       field: 'ROUND(AVG(UNIX_TIMESTAMP(leaveAt)-UNIX_TIMESTAMP(joinAt)))',
1572       alias: 'AVG Hold Time',
1573       format: 'SEC_TO_TIME',
1574       custom: true,
1575       ReportId: 48
1576     }, {
1577       field: 'mail_accounts.name',
1578       alias: 'Email Account',
1579       groupBy: true,
1580       ReportId: 49
1581     }, {
1582       field: 'mail_interactions.id',
1583       alias: 'Interactions',
1584       function: 'COUNT',
1585       ReportId: 49
1586     }, {
1587       field: 'COUNT(IF(closed=0,1,NULL))',
1588       alias: 'Open',
1589       custom: true,
1590       ReportId: 49
1591     }, {
1592       field: 'COUNT(IF(closed=1,1,NULL))',
1593       alias: 'Closed',
1594       custom: true,
1595       ReportId: 49
1596     }, {
1597       field: 'mail_accounts.name',
1598       alias: 'Email Account',
1599       groupBy: true,
1600       ReportId: 50
1601     }, {
1602       field: 'UNIX_TIMESTAMP(closedAt)-UNIX_TIMESTAMP(mail_interactions.createdAt)',
1603       alias: 'Interaction Time',
1604       function: 'SUM',
1605       format: 'SEC_TO_TIME',
1606       custom: true,
1607       ReportId: 50
1608     }, {
1609       field: 'ROUND(AVG(UNIX_TIMESTAMP(closedAt)-UNIX_TIMESTAMP(mail_interactions.createdAt)))',
1610       alias: 'AVG Interaction Time',
1611       format: 'SEC_TO_TIME',
1612       custom: true,
1613       ReportId: 50
1614     }, {
1615       field: 'users.fullname',
1616       alias: 'Agent',
1617       groupBy: true,
1618       ReportId: 51
1619     }, {
1620       field: 'mail_interactions.closed',
1621       alias: 'Closed',
1622       function: 'SUM',
1623       ReportId: 51
1624     }, {
1625       field: 'UNIX_TIMESTAMP(closedAt)-UNIX_TIMESTAMP(mail_interactions.createdAt)',
1626       alias: 'Interaction Time',
1627       function: 'SUM',
1628       format: 'SEC_TO_TIME',
1629       custom: true,
1630       ReportId: 51
1631     }, {
1632       field: 'ROUND(AVG(UNIX_TIMESTAMP(closedAt)-UNIX_TIMESTAMP(mail_interactions.createdAt)))',
1633       alias: 'AVG Interaction Time',
1634       format: 'SEC_TO_TIME',
1635       custom: true,
1636       ReportId: 51
1637     }, {
1638       field: 'mail_interactions.createdAt',
1639       alias: 'Date',
1640       format: 'DATE',
1641       groupBy: true,
1642       custom: true,
1643       ReportId: 52
1644     }, {
1645       field: 'mail_interactions.id',
1646       alias: 'Interactions',
1647       function: 'COUNT',
1648       ReportId: 52
1649     }, {
1650       field: 'COUNT(IF(closed=1,1,NULL))',
1651       alias: 'Completed',
1652       custom: true,
1653       ReportId: 52
1654     }, {
1655       field: 'ROUND(COUNT(IF(closed=1,1,NULL))/COUNT(id) *100,1)',
1656       alias: 'Completed (%)',
1657       custom: true,
1658       ReportId: 52
1659     }, {
1660       field: 'UNIX_TIMESTAMP(closedAt)-UNIX_TIMESTAMP(createdAt)',
1661       alias: 'Interaction Time',
1662       function: 'SUM',
1663       format: 'SEC_TO_TIME',
1664       custom: true,
1665       ReportId: 52
1666     }, {
1667       field: 'ROUND(AVG(UNIX_TIMESTAMP(closedAt)-UNIX_TIMESTAMP(createdAt)))',
1668       alias: 'AVG Interaction Time',
1669       format: 'SEC_TO_TIME',
1670       custom: true,
1671       ReportId: 52
1672     }, {
1673       field: 'mail_queues.name',
1674       alias: 'Queue',
1675       groupBy: true,
1676       ReportId: 53
1677     }, {
1678       field: 'report_mail_queue.id',
1679       alias: 'Interactions',
1680       function: 'COUNT',
1681       ReportId: 53
1682     }, {
1683       field: 'COUNT(IF(reason=\'accepted\',1,NULL))',
1684       alias: 'Accepted',
1685       custom: true,
1686       ReportId: 53
1687     }, {
1688       field: 'COUNT(IF(reason=\'timeout\',1,NULL))',
1689       alias: 'Timeout',
1690       custom: true,
1691       ReportId: 53
1692     }, {
1693       field: 'UNIX_TIMESTAMP(leaveAt)-UNIX_TIMESTAMP(joinAt)',
1694       alias: 'Hold Time',
1695       function: 'SUM',
1696       format: 'SEC_TO_TIME',
1697       custom: true,
1698       ReportId: 53
1699     }, {
1700       field: 'ROUND(AVG(UNIX_TIMESTAMP(leaveAt)-UNIX_TIMESTAMP(joinAt)))',
1701       alias: 'AVG Hold Time',
1702       format: 'SEC_TO_TIME',
1703       custom: true,
1704       ReportId: 53
1705     }, {
1706       field: 'openchannel_accounts.name',
1707       alias: 'Openchannel Account',
1708       groupBy: true,
1709       ReportId: 54
1710     }, {
1711       field: 'openchannel_interactions.id',
1712       alias: 'Interactions',
1713       function: 'COUNT',
1714       ReportId: 54
1715     }, {
1716       field: 'COUNT(IF(closed=0,1,NULL))',
1717       alias: 'Open',
1718       custom: true,
1719       ReportId: 54
1720     }, {
1721       field: 'COUNT(IF(closed=1,1,NULL))',
1722       alias: 'Closed',
1723       custom: true,
1724       ReportId: 54
1725     }, {
1726       field: 'openchannel_accounts.name',
1727       alias: 'Openchannel Account',
1728       groupBy: true,
1729       ReportId: 55
1730     }, {
1731       field: 'UNIX_TIMESTAMP(closedAt)-UNIX_TIMESTAMP(openchannel_interactions.createdAt)',
1732       alias: 'Interaction Time',
1733       function: 'SUM',
1734       format: 'SEC_TO_TIME',
1735       custom: true,
1736       ReportId: 55
1737     }, {
1738       field: 'ROUND(AVG(UNIX_TIMESTAMP(closedAt)-UNIX_TIMESTAMP(openchannel_interactions.createdAt)))',
1739       alias: 'AVG Interaction Time',
1740       format: 'SEC_TO_TIME',
1741       custom: true,
1742       ReportId: 55
1743     }, {
1744       field: 'users.fullname',
1745       alias: 'Agent',
1746       groupBy: true,
1747       ReportId: 56
1748     }, {
1749       field: 'openchannel_interactions.closed',
1750       alias: 'Closed',
1751       function: 'SUM',
1752       ReportId: 56
1753     }, {
1754       field: 'UNIX_TIMESTAMP(closedAt)-UNIX_TIMESTAMP(openchannel_interactions.createdAt)',
1755       alias: 'Interaction Time',
1756       function: 'SUM',
1757       format: 'SEC_TO_TIME',
1758       custom: true,
1759       ReportId: 56
1760     }, {
1761       field: 'ROUND(AVG(UNIX_TIMESTAMP(closedAt)-UNIX_TIMESTAMP(openchannel_interactions.createdAt)))',
1762       alias: 'AVG Interaction Time',
1763       format: 'SEC_TO_TIME',
1764       custom: true,
1765       ReportId: 56
1766     }, {
1767       field: 'openchannel_interactions.createdAt',
1768       alias: 'Date',
1769       format: 'DATE',
1770       groupBy: true,
1771       custom: true,
1772       ReportId: 57
1773     }, {
1774       field: 'openchannel_interactions.id',
1775       alias: 'Interactions',
1776       function: 'COUNT',
1777       ReportId: 57
1778     }, {
1779       field: 'COUNT(IF(closed=1,1,NULL))',
1780       alias: 'Completed',
1781       custom: true,
1782       ReportId: 57
1783     }, {
1784       field: 'ROUND(COUNT(IF(closed=1,1,NULL))/COUNT(id) *100,1)',
1785       alias: 'Completed (%)',
1786       custom: true,
1787       ReportId: 57
1788     }, {
1789       field: 'UNIX_TIMESTAMP(closedAt)-UNIX_TIMESTAMP(createdAt)',
1790       alias: 'Interaction Time',
1791       function: 'SUM',
1792       format: 'SEC_TO_TIME',
1793       custom: true,
1794       ReportId: 57
1795     }, {
1796       field: 'ROUND(AVG(UNIX_TIMESTAMP(closedAt)-UNIX_TIMESTAMP(createdAt)))',
1797       alias: 'AVG Interaction Time',
1798       format: 'SEC_TO_TIME',
1799       custom: true,
1800       ReportId: 57
1801     }, {
1802       field: 'openchannel_queues.name',
1803       alias: 'Queue',
1804       groupBy: true,
1805       ReportId: 58
1806     }, {
1807       field: 'report_openchannel_queue.id',
1808       alias: 'Interactions',
1809       function: 'COUNT',
1810       ReportId: 58
1811     }, {
1812       field: 'COUNT(IF(reason=\'accepted\',1,NULL))',
1813       alias: 'Accepted',
1814       custom: true,
1815       ReportId: 58
1816     }, {
1817       field: 'COUNT(IF(reason=\'timeout\',1,NULL))',
1818       alias: 'Timeout',
1819       custom: true,
1820       ReportId: 58
1821     }, {
1822       field: 'UNIX_TIMESTAMP(leaveAt)-UNIX_TIMESTAMP(joinAt)',
1823       alias: 'Hold Time',
1824       function: 'SUM',
1825       format: 'SEC_TO_TIME',
1826       custom: true,
1827       ReportId: 58
1828     }, {
1829       field: 'ROUND(AVG(UNIX_TIMESTAMP(leaveAt)-UNIX_TIMESTAMP(joinAt)))',
1830       alias: 'AVG Hold Time',
1831       format: 'SEC_TO_TIME',
1832       custom: true,
1833       ReportId: 58
1834     }, {
1835       field: 'sms_accounts.name',
1836       alias: 'Sms Account',
1837       groupBy: true,
1838       ReportId: 59
1839     }, {
1840       field: 'sms_interactions.id',
1841       alias: 'Interactions',
1842       function: 'COUNT',
1843       ReportId: 59
1844     }, {
1845       field: 'COUNT(IF(closed=0,1,NULL))',
1846       alias: 'Open',
1847       custom: true,
1848       ReportId: 59
1849     }, {
1850       field: 'COUNT(IF(closed=1,1,NULL))',
1851       alias: 'Closed',
1852       custom: true,
1853       ReportId: 59
1854     }, {
1855       field: 'sms_accounts.name',
1856       alias: 'Sms Account',
1857       groupBy: true,
1858       ReportId: 60
1859     }, {
1860       field: 'UNIX_TIMESTAMP(closedAt)-UNIX_TIMESTAMP(sms_interactions.createdAt)',
1861       alias: 'Interaction Time',
1862       function: 'SUM',
1863       format: 'SEC_TO_TIME',
1864       custom: true,
1865       ReportId: 60
1866     }, {
1867       field: 'ROUND(AVG(UNIX_TIMESTAMP(closedAt)-UNIX_TIMESTAMP(sms_interactions.createdAt)))',
1868       alias: 'AVG Interaction Time',
1869       format: 'SEC_TO_TIME',
1870       custom: true,
1871       ReportId: 60
1872     }, {
1873       field: 'users.fullname',
1874       alias: 'Agent',
1875       groupBy: true,
1876       ReportId: 61
1877     }, {
1878       field: 'sms_interactions.closed',
1879       alias: 'Closed',
1880       function: 'SUM',
1881       ReportId: 61
1882     }, {
1883       field: 'UNIX_TIMESTAMP(closedAt)-UNIX_TIMESTAMP(sms_interactions.createdAt)',
1884       alias: 'Interaction Time',
1885       function: 'SUM',
1886       format: 'SEC_TO_TIME',
1887       custom: true,
1888       ReportId: 61
1889     }, {
1890       field: 'ROUND(AVG(UNIX_TIMESTAMP(closedAt)-UNIX_TIMESTAMP(sms_interactions.createdAt)))',
1891       alias: 'AVG Interaction Time',
1892       format: 'SEC_TO_TIME',
1893       custom: true,
1894       ReportId: 61
1895     }, {
1896       field: 'sms_interactions.createdAt',
1897       alias: 'Date',
1898       format: 'DATE',
1899       groupBy: true,
1900       custom: true,
1901       ReportId: 62
1902     }, {
1903       field: 'sms_interactions.id',
1904       alias: 'Interactions',
1905       function: 'COUNT',
1906       ReportId: 62
1907     }, {
1908       field: 'COUNT(IF(closed=1,1,NULL))',
1909       alias: 'Completed',
1910       custom: true,
1911       ReportId: 62
1912     }, {
1913       field: 'ROUND(COUNT(IF(closed=1,1,NULL))/COUNT(id) *100,1)',
1914       alias: 'Completed (%)',
1915       custom: true,
1916       ReportId: 62
1917     }, {
1918       field: 'UNIX_TIMESTAMP(closedAt)-UNIX_TIMESTAMP(createdAt)',
1919       alias: 'Interaction Time',
1920       function: 'SUM',
1921       format: 'SEC_TO_TIME',
1922       custom: true,
1923       ReportId: 62
1924     }, {
1925       field: 'ROUND(AVG(UNIX_TIMESTAMP(closedAt)-UNIX_TIMESTAMP(createdAt)))',
1926       alias: 'AVG Interaction Time',
1927       format: 'SEC_TO_TIME',
1928       custom: true,
1929       ReportId: 62
1930     }, {
1931       field: 'sms_queues.name',
1932       alias: 'Queue',
1933       groupBy: true,
1934       ReportId: 63
1935     }, {
1936       field: 'report_sms_queue.id',
1937       alias: 'Interactions',
1938       function: 'COUNT',
1939       ReportId: 63
1940     }, {
1941       field: 'COUNT(IF(reason=\'accepted\',1,NULL))',
1942       alias: 'Accepted',
1943       custom: true,
1944       ReportId: 63
1945     }, {
1946       field: 'COUNT(IF(reason=\'timeout\',1,NULL))',
1947       alias: 'Timeout',
1948       custom: true,
1949       ReportId: 63
1950     }, {
1951       field: 'UNIX_TIMESTAMP(leaveAt)-UNIX_TIMESTAMP(joinAt)',
1952       alias: 'Hold Time',
1953       function: 'SUM',
1954       format: 'SEC_TO_TIME',
1955       custom: true,
1956       ReportId: 63
1957     }, {
1958       field: 'ROUND(AVG(UNIX_TIMESTAMP(leaveAt)-UNIX_TIMESTAMP(joinAt)))',
1959       alias: 'AVG Hold Time',
1960       format: 'SEC_TO_TIME',
1961       custom: true,
1962       ReportId: 63
1963     }, {
1964       field: 'fax_queues.name',
1965       alias: 'Queue',
1966       groupBy: true,
1967       ReportId: 68
1968     }, {
1969       field: 'report_fax_queue.id',
1970       alias: 'Interactions',
1971       function: 'COUNT',
1972       ReportId: 68
1973     }, {
1974       field: 'COUNT(IF(reason=\'accepted\',1,NULL))',
1975       alias: 'Accepted',
1976       custom: true,
1977       ReportId: 68
1978     }, {
1979       field: 'COUNT(IF(reason=\'timeout\',1,NULL))',
1980       alias: 'Timeout',
1981       custom: true,
1982       ReportId: 68
1983     }, {
1984       field: 'UNIX_TIMESTAMP(leaveAt)-UNIX_TIMESTAMP(joinAt)',
1985       alias: 'Hold Time',
1986       function: 'SUM',
1987       format: 'SEC_TO_TIME',
1988       custom: true,
1989       ReportId: 68
1990     }, {
1991       field: 'ROUND(AVG(UNIX_TIMESTAMP(leaveAt)-UNIX_TIMESTAMP(joinAt)))',
1992       alias: 'AVG Hold Time',
1993       format: 'SEC_TO_TIME',
1994       custom: true,
1995       ReportId: 68
1996     }, {
1997       field: 'fax_interactions.createdAt',
1998       alias: 'Date',
1999       format: 'DATE',
2000       groupBy: true,
2001       custom: true,
2002       ReportId: 67
2003     }, {
2004       field: 'fax_interactions.id',
2005       alias: 'Interactions',
2006       function: 'COUNT',
2007       ReportId: 67
2008     }, {
2009       field: 'COUNT(IF(closed=1,1,NULL))',
2010       alias: 'Completed',
2011       custom: true,
2012       ReportId: 67
2013     }, {
2014       field: 'ROUND(COUNT(IF(closed=1,1,NULL))/COUNT(id) *100,1)',
2015       alias: 'Completed (%)',
2016       custom: true,
2017       ReportId: 67
2018     }, {
2019       field: 'UNIX_TIMESTAMP(closedAt)-UNIX_TIMESTAMP(createdAt)',
2020       alias: 'Interaction Time',
2021       function: 'SUM',
2022       format: 'SEC_TO_TIME',
2023       custom: true,
2024       ReportId: 67
2025     }, {
2026       field: 'ROUND(AVG(UNIX_TIMESTAMP(closedAt)-UNIX_TIMESTAMP(createdAt)))',
2027       alias: 'AVG Interaction Time',
2028       format: 'SEC_TO_TIME',
2029       custom: true,
2030       ReportId: 67
2031     }, {
2032       field: 'users.fullname',
2033       alias: 'Agent',
2034       groupBy: true,
2035       ReportId: 66
2036     }, {
2037       field: 'fax_interactions.closed',
2038       alias: 'Closed',
2039       function: 'SUM',
2040       ReportId: 66
2041     }, {
2042       field: 'UNIX_TIMESTAMP(closedAt)-UNIX_TIMESTAMP(fax_interactions.createdAt)',
2043       alias: 'Interaction Time',
2044       function: 'SUM',
2045       format: 'SEC_TO_TIME',
2046       custom: true,
2047       ReportId: 66
2048     }, {
2049       field: 'ROUND(AVG(UNIX_TIMESTAMP(closedAt)-UNIX_TIMESTAMP(fax_interactions.createdAt)))',
2050       alias: 'AVG Interaction Time',
2051       format: 'SEC_TO_TIME',
2052       custom: true,
2053       ReportId: 66
2054     }, {
2055       field: 'fax_accounts.name',
2056       alias: 'Fax Account',
2057       groupBy: true,
2058       ReportId: 65
2059     }, {
2060       field: 'UNIX_TIMESTAMP(closedAt)-UNIX_TIMESTAMP(fax_interactions.createdAt)',
2061       alias: 'Interaction Time',
2062       function: 'SUM',
2063       format: 'SEC_TO_TIME',
2064       custom: true,
2065       ReportId: 65
2066     }, {
2067       field: 'ROUND(AVG(UNIX_TIMESTAMP(closedAt)-UNIX_TIMESTAMP(fax_interactions.createdAt)))',
2068       alias: 'AVG Interaction Time',
2069       format: 'SEC_TO_TIME',
2070       custom: true,
2071       ReportId: 65
2072     }, {
2073       field: 'fax_accounts.name',
2074       alias: 'Fax Account',
2075       groupBy: true,
2076       ReportId: 64
2077     }, {
2078       field: 'fax_interactions.id',
2079       alias: 'Interactions',
2080       function: 'COUNT',
2081       ReportId: 64
2082     }, {
2083       field: 'COUNT(IF(closed=0,1,NULL))',
2084       alias: 'Open',
2085       custom: true,
2086       ReportId: 64
2087     }, {
2088       field: 'COUNT(IF(closed=1,1,NULL))',
2089       alias: 'Closed',
2090       custom: true,
2091       ReportId: 64
2092     }, {
2093       field: 'voice_recordings.UserId',
2094       alias: 'UserId',
2095       groupBy: true,
2096       custom: false,
2097       ReportId: 74
2098     }, {
2099       field: 'users.fullname',
2100       alias: 'Full Name',
2101       groupBy: false,
2102       custom: false,
2103       ReportId: 74
2104     }, {
2105       field: 'COUNT (IF(voice_recordings.sentiment = \'POSITIVE\',1,NULL))',
2106       alias: 'POSITIVE',
2107       groupBy: false,
2108       custom: true,
2109       ReportId: 74
2110     }, {
2111       field: 'COUNT (IF(voice_recordings.sentiment = \'NEGATIVE\',1,NULL))',
2112       alias: 'NEGATIVE',
2113       groupBy: false,
2114       custom: true,
2115       ReportId: 74
2116     }, {
2117       field: 'COUNT (IF(voice_recordings.sentiment = \'NEUTRAL\',1,NULL))',
2118       alias: 'NEUTRAL',
2119       groupBy: false,
2120       custom: true,
2121       ReportId: 74
2122     }, {
2123       field: 'COUNT (IF(voice_recordings.sentiment = \'MIXED\',1,NULL))',
2124       alias: 'MIXED',
2125       groupBy: false,
2126       custom: true,
2127       ReportId: 74
2128     }, {
2129       field: 'voice_recordings.sentiment',
2130       alias: 'TOT',
2131       function: 'COUNT',
2132       groupBy: false,
2133       custom: false,
2134       ReportId: 74
2135     }, {
2136       field: 'CONCAT(ROUND(( (SELECT COUNT(IF(voice_recordings.sentiment = \'POSITIVE\',1,NULL)))*100/ COUNT (voice_recordings.sentiment)),2),\'%\')',
2137       alias: 'Positive(%)',
2138       groupBy: false,
2139       custom: true,
2140       ReportId: 74
2141     },
2142     {
2143       field: 'CONCAT(ROUND(( (SELECT COUNT(IF(voice_recordings.sentiment = \'NEGATIVE\',1,NULL)))*100/ COUNT (voice_recordings.sentiment)),2),\'%\')',
2144       alias: 'Negative(%)',
2145       groupBy: false,
2146       custom: true,
2147       ReportId: 74
2148     },
2149     {
2150       field: 'CONCAT(ROUND(( (SELECT COUNT(IF(voice_recordings.sentiment = \'NEUTRAL\',1,NULL)))*100/ COUNT (voice_recordings.sentiment)),2),\'%\')',
2151       alias: 'Neutral(%)',
2152       groupBy: false,
2153       custom: true,
2154       ReportId: 74
2155     },
2156     {
2157       field: 'CONCAT(ROUND(( (SELECT COUNT(IF(voice_recordings.sentiment = \'MIXED\',1,NULL)))*100/ COUNT (voice_recordings.sentiment)),2),\'%\')',
2158       alias: 'Mixed(%)',
2159       groupBy: false,
2160       custom: true,
2161       ReportId: 74
2162     }, {
2163       field: 'voice_recordings.sentiment',
2164       alias: 'Sentiment TOT',
2165       function: 'COUNT',
2166       groupBy: false,
2167       custom: false,
2168       ReportId: 75
2169     }, {
2170       field: 'COUNT (IF(voice_recordings.sentiment = \'POSITIVE\',1,NULL))',
2171       alias: 'POSITIVE',
2172       groupBy: false,
2173       custom: true,
2174       ReportId: 75
2175     }, {
2176       field: 'COUNT (IF(voice_recordings.sentiment = \'NEGATIVE\',1,NULL))',
2177       alias: 'NEGATIVE',
2178       groupBy: false,
2179       custom: true,
2180       ReportId: 75
2181     }, {
2182       field: 'COUNT (IF(voice_recordings.sentiment = \'NEUTRAL\',1,NULL))',
2183       alias: 'NEUTRAL',
2184       groupBy: false,
2185       custom: true,
2186       ReportId: 75
2187     }, {
2188       field: 'COUNT (IF(voice_recordings.sentiment = \'MIXED\',1,NULL))',
2189       alias: 'MIXED',
2190       groupBy: false,
2191       custom: true,
2192       ReportId: 75
2193     }, {
2194       field: 'CONCAT(ROUND(( (SELECT COUNT(IF(voice_recordings.sentiment = \'POSITIVE\',1,NULL)))*100/ COUNT (voice_recordings.sentiment)),2),\'%\')',
2195       alias: 'Positive(%)',
2196       groupBy: false,
2197       custom: true,
2198       ReportId: 75
2199     },
2200     {
2201       field: 'CONCAT(ROUND(( (SELECT COUNT(IF(voice_recordings.sentiment = \'NEGATIVE\',1,NULL)))*100/ COUNT (voice_recordings.sentiment)),2),\'%\')',
2202       alias: 'Negative(%)',
2203       groupBy: false,
2204       custom: true,
2205       ReportId: 75
2206     },
2207     {
2208       field: 'CONCAT(ROUND(( (SELECT COUNT(IF(voice_recordings.sentiment = \'NEUTRAL\',1,NULL)))*100/ COUNT (voice_recordings.sentiment)),2),\'%\')',
2209       alias: 'Neutral(%)',
2210       groupBy: false,
2211       custom: true,
2212       ReportId: 75
2213     },
2214     {
2215       field: 'CONCAT(ROUND(( (SELECT COUNT(IF(voice_recordings.sentiment = \'MIXED\',1,NULL)))*100/ COUNT (voice_recordings.sentiment)),2),\'%\')',
2216       alias: 'Mixed(%)',
2217       groupBy: false,
2218       custom: true,
2219       ReportId: 75
2220     }, {
2221       field: 'whatsapp_accounts.name',
2222       alias: 'Whatsapp Account',
2223       groupBy: true,
2224       ReportId: 69
2225     }, {
2226       field: 'whatsapp_interactions.id',
2227       alias: 'Interactions',
2228       function: 'COUNT',
2229       ReportId: 69
2230     }, {
2231       field: 'COUNT(IF(closed=0,1,NULL))',
2232       alias: 'Open',
2233       custom: true,
2234       ReportId: 69
2235     }, {
2236       field: 'COUNT(IF(closed=1,1,NULL))',
2237       alias: 'Closed',
2238       custom: true,
2239       ReportId: 69
2240     }, {
2241       field: 'whatsapp_accounts.name',
2242       alias: 'Whatsapp Account',
2243       groupBy: true,
2244       ReportId: 70
2245     }, {
2246       field: 'UNIX_TIMESTAMP(closedAt)-UNIX_TIMESTAMP(whatsapp_interactions.createdAt)',
2247       alias: 'Interaction Time',
2248       function: 'SUM',
2249       format: 'SEC_TO_TIME',
2250       custom: true,
2251       ReportId: 70
2252     }, {
2253       field: 'ROUND(AVG(UNIX_TIMESTAMP(closedAt)-UNIX_TIMESTAMP(whatsapp_interactions.createdAt)))',
2254       alias: 'AVG Interaction Time',
2255       format: 'SEC_TO_TIME',
2256       custom: true,
2257       ReportId: 70
2258     }, {
2259       field: 'users.fullname',
2260       alias: 'Agent',
2261       groupBy: true,
2262       ReportId: 71
2263     }, {
2264       field: 'whatsapp_interactions.closed',
2265       alias: 'Closed',
2266       function: 'SUM',
2267       ReportId: 71
2268     }, {
2269       field: 'UNIX_TIMESTAMP(closedAt)-UNIX_TIMESTAMP(whatsapp_interactions.createdAt)',
2270       alias: 'Interaction Time',
2271       function: 'SUM',
2272       format: 'SEC_TO_TIME',
2273       custom: true,
2274       ReportId: 71
2275     }, {
2276       field: 'ROUND(AVG(UNIX_TIMESTAMP(closedAt)-UNIX_TIMESTAMP(whatsapp_interactions.createdAt)))',
2277       alias: 'AVG Interaction Time',
2278       format: 'SEC_TO_TIME',
2279       custom: true,
2280       ReportId: 71
2281     }, {
2282       field: 'whatsapp_interactions.createdAt',
2283       alias: 'Date',
2284       format: 'DATE',
2285       groupBy: true,
2286       custom: true,
2287       ReportId: 72
2288     }, {
2289       field: 'whatsapp_interactions.id',
2290       alias: 'Interactions',
2291       function: 'COUNT',
2292       ReportId: 72
2293     }, {
2294       field: 'COUNT(IF(closed=1,1,NULL))',
2295       alias: 'Completed',
2296       custom: true,
2297       ReportId: 72
2298     }, {
2299       field: 'ROUND(COUNT(IF(closed=1,1,NULL))/COUNT(id) *100,1)',
2300       alias: 'Completed (%)',
2301       custom: true,
2302       ReportId: 72
2303     }, {
2304       field: 'UNIX_TIMESTAMP(closedAt)-UNIX_TIMESTAMP(createdAt)',
2305       alias: 'Interaction Time',
2306       function: 'SUM',
2307       format: 'SEC_TO_TIME',
2308       custom: true,
2309       ReportId: 72
2310     }, {
2311       field: 'ROUND(AVG(UNIX_TIMESTAMP(closedAt)-UNIX_TIMESTAMP(createdAt)))',
2312       alias: 'AVG Interaction Time',
2313       format: 'SEC_TO_TIME',
2314       custom: true,
2315       ReportId: 72
2316     }, {
2317       field: 'whatsapp_queues.name',
2318       alias: 'Queue',
2319       groupBy: true,
2320       ReportId: 73
2321     }, {
2322       field: 'report_whatsapp_queue.id',
2323       alias: 'Interactions',
2324       function: 'COUNT',
2325       ReportId: 73
2326     }, {
2327       field: 'COUNT(IF(reason=\'accepted\',1,NULL))',
2328       alias: 'Accepted',
2329       custom: true,
2330       ReportId: 73
2331     }, {
2332       field: 'COUNT(IF(reason=\'timeout\',1,NULL))',
2333       alias: 'Timeout',
2334       custom: true,
2335       ReportId: 73
2336     }, {
2337       field: 'UNIX_TIMESTAMP(leaveAt)-UNIX_TIMESTAMP(joinAt)',
2338       alias: 'Hold Time',
2339       function: 'SUM',
2340       format: 'SEC_TO_TIME',
2341       custom: true,
2342       ReportId: 73
2343     }, {
2344       field: 'ROUND(AVG(UNIX_TIMESTAMP(leaveAt)-UNIX_TIMESTAMP(joinAt)))',
2345       alias: 'AVG Hold Time',
2346       format: 'SEC_TO_TIME',
2347       custom: true,
2348       ReportId: 73
2349     }
2350   ];
2351
2352   return _.groupBy(fields, 'ReportId');
2353 };