/* Options: Date: 2026-10-16 00:19:57 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.dev.dynamics.trendsic.com //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: CheckinTimelineRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; class SvcVisitRow implements IConvertible { String? CheckinId; String? TicketLabel; DateTime? LocalDate; String? LineId; String? ServiceName; String? StationId; String? StationName; String? EmployeeId; String? EmployeeName; String? CustomerName; int? ContactId; int? ContactAgentId; String? CustomerId; bool? IsAppointment; DateTime? LocalHere; DateTime? LocalCalled; DateTime? LocalStart; DateTime? LocalEnd; int? WaitSec; int? ServeSec; String? Outcome; double? Fee; SvcVisitRow({this.CheckinId,this.TicketLabel,this.LocalDate,this.LineId,this.ServiceName,this.StationId,this.StationName,this.EmployeeId,this.EmployeeName,this.CustomerName,this.ContactId,this.ContactAgentId,this.CustomerId,this.IsAppointment,this.LocalHere,this.LocalCalled,this.LocalStart,this.LocalEnd,this.WaitSec,this.ServeSec,this.Outcome,this.Fee}); SvcVisitRow.fromJson(Map json) { fromMap(json); } fromMap(Map json) { CheckinId = json['CheckinId']; TicketLabel = json['TicketLabel']; LocalDate = JsonConverters.fromJson(json['LocalDate'],'DateTime',context!); LineId = json['LineId']; ServiceName = json['ServiceName']; StationId = json['StationId']; StationName = json['StationName']; EmployeeId = json['EmployeeId']; EmployeeName = json['EmployeeName']; CustomerName = json['CustomerName']; ContactId = json['ContactId']; ContactAgentId = json['ContactAgentId']; CustomerId = json['CustomerId']; IsAppointment = json['IsAppointment']; LocalHere = JsonConverters.fromJson(json['LocalHere'],'DateTime',context!); LocalCalled = JsonConverters.fromJson(json['LocalCalled'],'DateTime',context!); LocalStart = JsonConverters.fromJson(json['LocalStart'],'DateTime',context!); LocalEnd = JsonConverters.fromJson(json['LocalEnd'],'DateTime',context!); WaitSec = json['WaitSec']; ServeSec = json['ServeSec']; Outcome = json['Outcome']; Fee = JsonConverters.toDouble(json['Fee']); return this; } Map toJson() => { 'CheckinId': CheckinId, 'TicketLabel': TicketLabel, 'LocalDate': JsonConverters.toJson(LocalDate,'DateTime',context!), 'LineId': LineId, 'ServiceName': ServiceName, 'StationId': StationId, 'StationName': StationName, 'EmployeeId': EmployeeId, 'EmployeeName': EmployeeName, 'CustomerName': CustomerName, 'ContactId': ContactId, 'ContactAgentId': ContactAgentId, 'CustomerId': CustomerId, 'IsAppointment': IsAppointment, 'LocalHere': JsonConverters.toJson(LocalHere,'DateTime',context!), 'LocalCalled': JsonConverters.toJson(LocalCalled,'DateTime',context!), 'LocalStart': JsonConverters.toJson(LocalStart,'DateTime',context!), 'LocalEnd': JsonConverters.toJson(LocalEnd,'DateTime',context!), 'WaitSec': WaitSec, 'ServeSec': ServeSec, 'Outcome': Outcome, 'Fee': Fee }; getTypeName() => "SvcVisitRow"; TypeContext? context = _ctx; } class SvcTimelineStep implements IConvertible { DateTime? AtUtc; DateTime? LocalAt; String? Kind; String? StationName; String? EmployeeName; SvcTimelineStep({this.AtUtc,this.LocalAt,this.Kind,this.StationName,this.EmployeeName}); SvcTimelineStep.fromJson(Map json) { fromMap(json); } fromMap(Map json) { AtUtc = JsonConverters.fromJson(json['AtUtc'],'DateTime',context!); LocalAt = JsonConverters.fromJson(json['LocalAt'],'DateTime',context!); Kind = json['Kind']; StationName = json['StationName']; EmployeeName = json['EmployeeName']; return this; } Map toJson() => { 'AtUtc': JsonConverters.toJson(AtUtc,'DateTime',context!), 'LocalAt': JsonConverters.toJson(LocalAt,'DateTime',context!), 'Kind': Kind, 'StationName': StationName, 'EmployeeName': EmployeeName }; getTypeName() => "SvcTimelineStep"; TypeContext? context = _ctx; } class SvcTimeline implements IConvertible { SvcVisitRow? Visit; List? Steps = []; int? WalkUpSec; SvcTimeline({this.Visit,this.Steps,this.WalkUpSec}); SvcTimeline.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Visit = JsonConverters.fromJson(json['Visit'],'SvcVisitRow',context!); Steps = JsonConverters.fromJson(json['Steps'],'List',context!); WalkUpSec = json['WalkUpSec']; return this; } Map toJson() => { 'Visit': JsonConverters.toJson(Visit,'SvcVisitRow',context!), 'Steps': JsonConverters.toJson(Steps,'List',context!), 'WalkUpSec': WalkUpSec }; getTypeName() => "SvcTimeline"; TypeContext? context = _ctx; } class CheckinTimelineResponse implements IConvertible { ResponseStatus? ResponseStatus; SvcTimeline? Timeline; CheckinTimelineResponse({this.ResponseStatus,this.Timeline}); CheckinTimelineResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!); Timeline = JsonConverters.fromJson(json['Timeline'],'SvcTimeline',context!); return this; } Map toJson() => { 'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!), 'Timeline': JsonConverters.toJson(Timeline,'SvcTimeline',context!) }; getTypeName() => "CheckinTimelineResponse"; TypeContext? context = _ctx; } // @Route("/v1/customercheckins/{Id}/timeline", "GET,OPTIONS") class CheckinTimelineRequest implements IReturn, IConvertible, IGet { String? Id; CheckinTimelineRequest({this.Id}); CheckinTimelineRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; return this; } Map toJson() => { 'Id': Id }; createResponse() => CheckinTimelineResponse(); getResponseTypeName() => "CheckinTimelineResponse"; getTypeName() => "CheckinTimelineRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: { 'SvcVisitRow': TypeInfo(TypeOf.Class, create:() => SvcVisitRow()), 'SvcTimelineStep': TypeInfo(TypeOf.Class, create:() => SvcTimelineStep()), 'SvcTimeline': TypeInfo(TypeOf.Class, create:() => SvcTimeline()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'CheckinTimelineResponse': TypeInfo(TypeOf.Class, create:() => CheckinTimelineResponse()), 'CheckinTimelineRequest': TypeInfo(TypeOf.Class, create:() => CheckinTimelineRequest()), });