77b592a1383fa0288f1e14636500531dfd9de00a
[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: 69
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     return _.groupBy(fields, 'ReportId');
2352 };