/* Options: Date: 2026-06-22 22:55:43 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: AgreementVisitCancelRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; class AgreementVisit implements IConvertible { int? AgreementJobID; int? AgreementID; int? JobID; DateTime? OccurrenceDate; String? Status; DateTime? CompletedAt; DateTime? CancelledAt; String? CancelReason; DateTime? ShiftedToDate; int? ActualDurationMinutes; AgreementVisit({this.AgreementJobID,this.AgreementID,this.JobID,this.OccurrenceDate,this.Status,this.CompletedAt,this.CancelledAt,this.CancelReason,this.ShiftedToDate,this.ActualDurationMinutes}); AgreementVisit.fromJson(Map json) { fromMap(json); } fromMap(Map json) { AgreementJobID = json['AgreementJobID']; AgreementID = json['AgreementID']; JobID = json['JobID']; OccurrenceDate = JsonConverters.fromJson(json['OccurrenceDate'],'DateTime',context!); Status = json['Status']; CompletedAt = JsonConverters.fromJson(json['CompletedAt'],'DateTime',context!); CancelledAt = JsonConverters.fromJson(json['CancelledAt'],'DateTime',context!); CancelReason = json['CancelReason']; ShiftedToDate = JsonConverters.fromJson(json['ShiftedToDate'],'DateTime',context!); ActualDurationMinutes = json['ActualDurationMinutes']; return this; } Map toJson() => { 'AgreementJobID': AgreementJobID, 'AgreementID': AgreementID, 'JobID': JobID, 'OccurrenceDate': JsonConverters.toJson(OccurrenceDate,'DateTime',context!), 'Status': Status, 'CompletedAt': JsonConverters.toJson(CompletedAt,'DateTime',context!), 'CancelledAt': JsonConverters.toJson(CancelledAt,'DateTime',context!), 'CancelReason': CancelReason, 'ShiftedToDate': JsonConverters.toJson(ShiftedToDate,'DateTime',context!), 'ActualDurationMinutes': ActualDurationMinutes }; getTypeName() => "AgreementVisit"; TypeContext? context = _ctx; } class AgreementVisitsResponse implements IConvertible { ResponseStatus? ResponseStatus; List? Visits = []; AgreementVisitsResponse({this.ResponseStatus,this.Visits}); AgreementVisitsResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!); Visits = JsonConverters.fromJson(json['Visits'],'List',context!); return this; } Map toJson() => { 'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!), 'Visits': JsonConverters.toJson(Visits,'List',context!) }; getTypeName() => "AgreementVisitsResponse"; TypeContext? context = _ctx; } // @Route("/v1/serviceagreement/visit/{AgreementJobID}/cancel", "POST,OPTIONS") class AgreementVisitCancelRequest implements IReturn, IConvertible, IPost { int? AgreementJobID; String? Reason; AgreementVisitCancelRequest({this.AgreementJobID,this.Reason}); AgreementVisitCancelRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { AgreementJobID = json['AgreementJobID']; Reason = json['Reason']; return this; } Map toJson() => { 'AgreementJobID': AgreementJobID, 'Reason': Reason }; createResponse() => AgreementVisitsResponse(); getResponseTypeName() => "AgreementVisitsResponse"; getTypeName() => "AgreementVisitCancelRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: { 'AgreementVisit': TypeInfo(TypeOf.Class, create:() => AgreementVisit()), 'AgreementVisitsResponse': TypeInfo(TypeOf.Class, create:() => AgreementVisitsResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'AgreementVisitCancelRequest': TypeInfo(TypeOf.Class, create:() => AgreementVisitCancelRequest()), });