/* Options: Date: 2025-05-05 00:46:12 Version: 8.71 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://team.evovoice.io //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GetCallCenterDashboard.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart,dart:typed_data */ import 'package:servicestack/servicestack.dart'; import 'dart:typed_data'; class CallCenterDashboardAgent implements IConvertible { String? id; String? name; List? queues; String? agentState; String? callState; String? signInTime; String? signInDuration; String? percentAvailable; String? avgBusyIn; String? avgWrapUp; String? dateOfLastCall; CallCenterDashboardAgent({this.id,this.name,this.queues,this.agentState,this.callState,this.signInTime,this.signInDuration,this.percentAvailable,this.avgBusyIn,this.avgWrapUp,this.dateOfLastCall}); CallCenterDashboardAgent.fromJson(Map json) { fromMap(json); } fromMap(Map json) { id = json['id']; name = json['name']; queues = JsonConverters.fromJson(json['queues'],'List',context!); agentState = json['agentState']; callState = json['callState']; signInTime = json['signInTime']; signInDuration = json['signInDuration']; percentAvailable = json['percentAvailable']; avgBusyIn = json['avgBusyIn']; avgWrapUp = json['avgWrapUp']; dateOfLastCall = json['dateOfLastCall']; return this; } Map toJson() => { 'id': id, 'name': name, 'queues': JsonConverters.toJson(queues,'List',context!), 'agentState': agentState, 'callState': callState, 'signInTime': signInTime, 'signInDuration': signInDuration, 'percentAvailable': percentAvailable, 'avgBusyIn': avgBusyIn, 'avgWrapUp': avgWrapUp, 'dateOfLastCall': dateOfLastCall }; getTypeName() => "CallCenterDashboardAgent"; TypeContext? context = _ctx; } class CallCenterDashboardQueue implements IConvertible { String? name; int? numAgents; int? numCallsQueued; String? longestWaitingCall; String? expectedWaitTime; String? expectedHoldTime; String? averageSpeedOfAnswer; int? idleAgents; int? unavailableAgents; CallCenterDashboardQueue({this.name,this.numAgents,this.numCallsQueued,this.longestWaitingCall,this.expectedWaitTime,this.expectedHoldTime,this.averageSpeedOfAnswer,this.idleAgents,this.unavailableAgents}); CallCenterDashboardQueue.fromJson(Map json) { fromMap(json); } fromMap(Map json) { name = json['name']; numAgents = json['numAgents']; numCallsQueued = json['numCallsQueued']; longestWaitingCall = json['longestWaitingCall']; expectedWaitTime = json['expectedWaitTime']; expectedHoldTime = json['expectedHoldTime']; averageSpeedOfAnswer = json['averageSpeedOfAnswer']; idleAgents = json['idleAgents']; unavailableAgents = json['unavailableAgents']; return this; } Map toJson() => { 'name': name, 'numAgents': numAgents, 'numCallsQueued': numCallsQueued, 'longestWaitingCall': longestWaitingCall, 'expectedWaitTime': expectedWaitTime, 'expectedHoldTime': expectedHoldTime, 'averageSpeedOfAnswer': averageSpeedOfAnswer, 'idleAgents': idleAgents, 'unavailableAgents': unavailableAgents }; getTypeName() => "CallCenterDashboardQueue"; TypeContext? context = _ctx; } class CallCenterDashboardCall implements IConvertible { String? id; String? customer; String? queue; String? agent; String? state; String? duration; String? hold; String? extraInfo; CallCenterDashboardCall({this.id,this.customer,this.queue,this.agent,this.state,this.duration,this.hold,this.extraInfo}); CallCenterDashboardCall.fromJson(Map json) { fromMap(json); } fromMap(Map json) { id = json['id']; customer = json['customer']; queue = json['queue']; agent = json['agent']; state = json['state']; duration = json['duration']; hold = json['hold']; extraInfo = json['extraInfo']; return this; } Map toJson() => { 'id': id, 'customer': customer, 'queue': queue, 'agent': agent, 'state': state, 'duration': duration, 'hold': hold, 'extraInfo': extraInfo }; getTypeName() => "CallCenterDashboardCall"; TypeContext? context = _ctx; } class CallCenterDashboard implements IConvertible { List? agents; List? queues; List? calls; CallCenterDashboard({this.agents,this.queues,this.calls}); CallCenterDashboard.fromJson(Map json) { fromMap(json); } fromMap(Map json) { agents = JsonConverters.fromJson(json['agents'],'List',context!); queues = JsonConverters.fromJson(json['queues'],'List',context!); calls = JsonConverters.fromJson(json['calls'],'List',context!); return this; } Map toJson() => { 'agents': JsonConverters.toJson(agents,'List',context!), 'queues': JsonConverters.toJson(queues,'List',context!), 'calls': JsonConverters.toJson(calls,'List',context!) }; getTypeName() => "CallCenterDashboard"; TypeContext? context = _ctx; } /** * Returns the call center dashboard data */ // @Route("/dashboard/call-center", "GET") // @Api(Description="Returns the call center dashboard data") class GetCallCenterDashboard implements IReturn, IPost, IConvertible { /** * The account ID to retrieve for */ // @ApiMember(Description="The account ID to retrieve for") String? accountId; GetCallCenterDashboard({this.accountId}); GetCallCenterDashboard.fromJson(Map json) { fromMap(json); } fromMap(Map json) { accountId = json['accountId']; return this; } Map toJson() => { 'accountId': accountId }; createResponse() => CallCenterDashboard(); getResponseTypeName() => "CallCenterDashboard"; getTypeName() => "GetCallCenterDashboard"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'team.evovoice.io', types: { 'CallCenterDashboardAgent': TypeInfo(TypeOf.Class, create:() => CallCenterDashboardAgent()), 'CallCenterDashboardQueue': TypeInfo(TypeOf.Class, create:() => CallCenterDashboardQueue()), 'CallCenterDashboardCall': TypeInfo(TypeOf.Class, create:() => CallCenterDashboardCall()), 'CallCenterDashboard': TypeInfo(TypeOf.Class, create:() => CallCenterDashboard()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'GetCallCenterDashboard': TypeInfo(TypeOf.Class, create:() => GetCallCenterDashboard()), });