/* Options: Date: 2026-10-24 11:01:51 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: EquipmentDvirSignOffRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart,dart:typed_data */ import 'package:servicestack/servicestack.dart'; import 'dart:typed_data'; class DvirSignOffItem implements IConvertible { int? DvirDefectID; String? Outcome; String? Note; String? ScheduledFor; DvirSignOffItem({this.DvirDefectID,this.Outcome,this.Note,this.ScheduledFor}); DvirSignOffItem.fromJson(Map json) { fromMap(json); } fromMap(Map json) { DvirDefectID = json['DvirDefectID']; Outcome = json['Outcome']; Note = json['Note']; ScheduledFor = json['ScheduledFor']; return this; } Map toJson() => { 'DvirDefectID': DvirDefectID, 'Outcome': Outcome, 'Note': Note, 'ScheduledFor': ScheduledFor }; getTypeName() => "DvirSignOffItem"; TypeContext? context = _ctx; } class DvirUnitRef implements IConvertible { int? EquipmentID; String? Unit; DvirUnitRef({this.EquipmentID,this.Unit}); DvirUnitRef.fromJson(Map json) { fromMap(json); } fromMap(Map json) { EquipmentID = json['EquipmentID']; Unit = json['Unit']; return this; } Map toJson() => { 'EquipmentID': EquipmentID, 'Unit': Unit }; getTypeName() => "DvirUnitRef"; TypeContext? context = _ctx; } class DvirPhotoView implements IConvertible { int? WorkPhotoID; String? DefectKey; String? Url; String? MarkedUrl; DateTime? CapturedAtUtc; double? Lat; double? Lng; DvirPhotoView({this.WorkPhotoID,this.DefectKey,this.Url,this.MarkedUrl,this.CapturedAtUtc,this.Lat,this.Lng}); DvirPhotoView.fromJson(Map json) { fromMap(json); } fromMap(Map json) { WorkPhotoID = json['WorkPhotoID']; DefectKey = json['DefectKey']; Url = json['Url']; MarkedUrl = json['MarkedUrl']; CapturedAtUtc = JsonConverters.fromJson(json['CapturedAtUtc'],'DateTime',context!); Lat = JsonConverters.toDouble(json['Lat']); Lng = JsonConverters.toDouble(json['Lng']); return this; } Map toJson() => { 'WorkPhotoID': WorkPhotoID, 'DefectKey': DefectKey, 'Url': Url, 'MarkedUrl': MarkedUrl, 'CapturedAtUtc': JsonConverters.toJson(CapturedAtUtc,'DateTime',context!), 'Lat': Lat, 'Lng': Lng }; getTypeName() => "DvirPhotoView"; TypeContext? context = _ctx; } class DvirDefectView implements IConvertible { int? DvirDefectID; String? ClientKey; int? DvirReportID; String? ReportNumber; int? EquipmentID; String? Unit; String? ItemKey; String? Label; String? FormLine; bool? IsCustom; String? Severity; String? SeverityText; String? Note; String? Source; String? ReportedByName; DateTime? ReportedAtUtc; int? EquipmentMaintenanceID; String? Outcome; String? OutcomeText; String? OutcomeNote; String? ScheduledFor; String? SignedOffByName; DateTime? SignedOffAtUtc; bool? IsOpen; bool? Withdrawn; int? PhotoCount; List? Photos = []; DvirDefectView({this.DvirDefectID,this.ClientKey,this.DvirReportID,this.ReportNumber,this.EquipmentID,this.Unit,this.ItemKey,this.Label,this.FormLine,this.IsCustom,this.Severity,this.SeverityText,this.Note,this.Source,this.ReportedByName,this.ReportedAtUtc,this.EquipmentMaintenanceID,this.Outcome,this.OutcomeText,this.OutcomeNote,this.ScheduledFor,this.SignedOffByName,this.SignedOffAtUtc,this.IsOpen,this.Withdrawn,this.PhotoCount,this.Photos}); DvirDefectView.fromJson(Map json) { fromMap(json); } fromMap(Map json) { DvirDefectID = json['DvirDefectID']; ClientKey = json['ClientKey']; DvirReportID = json['DvirReportID']; ReportNumber = json['ReportNumber']; EquipmentID = json['EquipmentID']; Unit = json['Unit']; ItemKey = json['ItemKey']; Label = json['Label']; FormLine = json['FormLine']; IsCustom = json['IsCustom']; Severity = json['Severity']; SeverityText = json['SeverityText']; Note = json['Note']; Source = json['Source']; ReportedByName = json['ReportedByName']; ReportedAtUtc = JsonConverters.fromJson(json['ReportedAtUtc'],'DateTime',context!); EquipmentMaintenanceID = json['EquipmentMaintenanceID']; Outcome = json['Outcome']; OutcomeText = json['OutcomeText']; OutcomeNote = json['OutcomeNote']; ScheduledFor = json['ScheduledFor']; SignedOffByName = json['SignedOffByName']; SignedOffAtUtc = JsonConverters.fromJson(json['SignedOffAtUtc'],'DateTime',context!); IsOpen = json['IsOpen']; Withdrawn = json['Withdrawn']; PhotoCount = json['PhotoCount']; Photos = JsonConverters.fromJson(json['Photos'],'List',context!); return this; } Map toJson() => { 'DvirDefectID': DvirDefectID, 'ClientKey': ClientKey, 'DvirReportID': DvirReportID, 'ReportNumber': ReportNumber, 'EquipmentID': EquipmentID, 'Unit': Unit, 'ItemKey': ItemKey, 'Label': Label, 'FormLine': FormLine, 'IsCustom': IsCustom, 'Severity': Severity, 'SeverityText': SeverityText, 'Note': Note, 'Source': Source, 'ReportedByName': ReportedByName, 'ReportedAtUtc': JsonConverters.toJson(ReportedAtUtc,'DateTime',context!), 'EquipmentMaintenanceID': EquipmentMaintenanceID, 'Outcome': Outcome, 'OutcomeText': OutcomeText, 'OutcomeNote': OutcomeNote, 'ScheduledFor': ScheduledFor, 'SignedOffByName': SignedOffByName, 'SignedOffAtUtc': JsonConverters.toJson(SignedOffAtUtc,'DateTime',context!), 'IsOpen': IsOpen, 'Withdrawn': Withdrawn, 'PhotoCount': PhotoCount, 'Photos': JsonConverters.toJson(Photos,'List',context!) }; getTypeName() => "DvirDefectView"; TypeContext? context = _ctx; } class DvirVehicleView implements IConvertible { int? EquipmentID; String? Unit; String? Name; String? VehicleType; bool? IsTrailer; String? VehicleStatus; String? Status; String? StatusText; String? Line; String? FirstUnsafeReport; int? OpenCount; String? LocalToday; bool? NeedsPreTrip; bool? NeedsReview; List? ReviewReportIds = []; List? Trailers = []; int? LastOdometer; String? InUseBy; bool? DrivingNow; int? TodayPreTripId; int? TodayPostTripId; List? OpenDefects = []; DvirVehicleView({this.EquipmentID,this.Unit,this.Name,this.VehicleType,this.IsTrailer,this.VehicleStatus,this.Status,this.StatusText,this.Line,this.FirstUnsafeReport,this.OpenCount,this.LocalToday,this.NeedsPreTrip,this.NeedsReview,this.ReviewReportIds,this.Trailers,this.LastOdometer,this.InUseBy,this.DrivingNow,this.TodayPreTripId,this.TodayPostTripId,this.OpenDefects}); DvirVehicleView.fromJson(Map json) { fromMap(json); } fromMap(Map json) { EquipmentID = json['EquipmentID']; Unit = json['Unit']; Name = json['Name']; VehicleType = json['VehicleType']; IsTrailer = json['IsTrailer']; VehicleStatus = json['VehicleStatus']; Status = json['Status']; StatusText = json['StatusText']; Line = json['Line']; FirstUnsafeReport = json['FirstUnsafeReport']; OpenCount = json['OpenCount']; LocalToday = json['LocalToday']; NeedsPreTrip = json['NeedsPreTrip']; NeedsReview = json['NeedsReview']; ReviewReportIds = JsonConverters.fromJson(json['ReviewReportIds'],'List',context!); Trailers = JsonConverters.fromJson(json['Trailers'],'List',context!); LastOdometer = json['LastOdometer']; InUseBy = json['InUseBy']; DrivingNow = json['DrivingNow']; TodayPreTripId = json['TodayPreTripId']; TodayPostTripId = json['TodayPostTripId']; OpenDefects = JsonConverters.fromJson(json['OpenDefects'],'List',context!); return this; } Map toJson() => { 'EquipmentID': EquipmentID, 'Unit': Unit, 'Name': Name, 'VehicleType': VehicleType, 'IsTrailer': IsTrailer, 'VehicleStatus': VehicleStatus, 'Status': Status, 'StatusText': StatusText, 'Line': Line, 'FirstUnsafeReport': FirstUnsafeReport, 'OpenCount': OpenCount, 'LocalToday': LocalToday, 'NeedsPreTrip': NeedsPreTrip, 'NeedsReview': NeedsReview, 'ReviewReportIds': JsonConverters.toJson(ReviewReportIds,'List',context!), 'Trailers': JsonConverters.toJson(Trailers,'List',context!), 'LastOdometer': LastOdometer, 'InUseBy': InUseBy, 'DrivingNow': DrivingNow, 'TodayPreTripId': TodayPreTripId, 'TodayPostTripId': TodayPostTripId, 'OpenDefects': JsonConverters.toJson(OpenDefects,'List',context!) }; getTypeName() => "DvirVehicleView"; TypeContext? context = _ctx; } class DvirSignatureView implements IConvertible { int? SignatureRecordID; String? Role; String? SignerName; DateTime? SignedAt; String? ImageUrl; DvirSignatureView({this.SignatureRecordID,this.Role,this.SignerName,this.SignedAt,this.ImageUrl}); DvirSignatureView.fromJson(Map json) { fromMap(json); } fromMap(Map json) { SignatureRecordID = json['SignatureRecordID']; Role = json['Role']; SignerName = json['SignerName']; SignedAt = JsonConverters.fromJson(json['SignedAt'],'DateTime',context!); ImageUrl = json['ImageUrl']; return this; } Map toJson() => { 'SignatureRecordID': SignatureRecordID, 'Role': Role, 'SignerName': SignerName, 'SignedAt': JsonConverters.toJson(SignedAt,'DateTime',context!), 'ImageUrl': ImageUrl }; getTypeName() => "DvirSignatureView"; TypeContext? context = _ctx; } class DvirReportView implements IConvertible { int? DvirReportID; String? Number; String? Kind; String? KindText; int? EquipmentID; String? Unit; List? Trailers = []; int? ContactID; String? DriverName; String? Board; String? ForDate; DateTime? FiledAtUtc; DateTime? SavedAtUtc; bool? IsLate; bool? IsAway; bool? IsSatisfactory; int? Odometer; String? LocationText; String? Remarks; String? ReviewedByName; DateTime? ReviewedAtUtc; String? Chip; List? Defects = []; List? Signatures = []; DvirReportView({this.DvirReportID,this.Number,this.Kind,this.KindText,this.EquipmentID,this.Unit,this.Trailers,this.ContactID,this.DriverName,this.Board,this.ForDate,this.FiledAtUtc,this.SavedAtUtc,this.IsLate,this.IsAway,this.IsSatisfactory,this.Odometer,this.LocationText,this.Remarks,this.ReviewedByName,this.ReviewedAtUtc,this.Chip,this.Defects,this.Signatures}); DvirReportView.fromJson(Map json) { fromMap(json); } fromMap(Map json) { DvirReportID = json['DvirReportID']; Number = json['Number']; Kind = json['Kind']; KindText = json['KindText']; EquipmentID = json['EquipmentID']; Unit = json['Unit']; Trailers = JsonConverters.fromJson(json['Trailers'],'List',context!); ContactID = json['ContactID']; DriverName = json['DriverName']; Board = json['Board']; ForDate = json['ForDate']; FiledAtUtc = JsonConverters.fromJson(json['FiledAtUtc'],'DateTime',context!); SavedAtUtc = JsonConverters.fromJson(json['SavedAtUtc'],'DateTime',context!); IsLate = json['IsLate']; IsAway = json['IsAway']; IsSatisfactory = json['IsSatisfactory']; Odometer = json['Odometer']; LocationText = json['LocationText']; Remarks = json['Remarks']; ReviewedByName = json['ReviewedByName']; ReviewedAtUtc = JsonConverters.fromJson(json['ReviewedAtUtc'],'DateTime',context!); Chip = json['Chip']; Defects = JsonConverters.fromJson(json['Defects'],'List',context!); Signatures = JsonConverters.fromJson(json['Signatures'],'List',context!); return this; } Map toJson() => { 'DvirReportID': DvirReportID, 'Number': Number, 'Kind': Kind, 'KindText': KindText, 'EquipmentID': EquipmentID, 'Unit': Unit, 'Trailers': JsonConverters.toJson(Trailers,'List',context!), 'ContactID': ContactID, 'DriverName': DriverName, 'Board': Board, 'ForDate': ForDate, 'FiledAtUtc': JsonConverters.toJson(FiledAtUtc,'DateTime',context!), 'SavedAtUtc': JsonConverters.toJson(SavedAtUtc,'DateTime',context!), 'IsLate': IsLate, 'IsAway': IsAway, 'IsSatisfactory': IsSatisfactory, 'Odometer': Odometer, 'LocationText': LocationText, 'Remarks': Remarks, 'ReviewedByName': ReviewedByName, 'ReviewedAtUtc': JsonConverters.toJson(ReviewedAtUtc,'DateTime',context!), 'Chip': Chip, 'Defects': JsonConverters.toJson(Defects,'List',context!), 'Signatures': JsonConverters.toJson(Signatures,'List',context!) }; getTypeName() => "DvirReportView"; TypeContext? context = _ctx; } class DvirVehicleDetail extends DvirVehicleView implements IConvertible { String? Plate; String? VIN; int? GvwrLbs; String? BranchName; DateTime? InspectionDue; DateTime? InsuranceExpires; List? RecentlyFixed = []; List? ReviewReports = []; List? History = []; DvirVehicleDetail({this.Plate,this.VIN,this.GvwrLbs,this.BranchName,this.InspectionDue,this.InsuranceExpires,this.RecentlyFixed,this.ReviewReports,this.History}); DvirVehicleDetail.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); Plate = json['Plate']; VIN = json['VIN']; GvwrLbs = json['GvwrLbs']; BranchName = json['BranchName']; InspectionDue = JsonConverters.fromJson(json['InspectionDue'],'DateTime',context!); InsuranceExpires = JsonConverters.fromJson(json['InsuranceExpires'],'DateTime',context!); RecentlyFixed = JsonConverters.fromJson(json['RecentlyFixed'],'List',context!); ReviewReports = JsonConverters.fromJson(json['ReviewReports'],'List',context!); History = JsonConverters.fromJson(json['History'],'List',context!); return this; } Map toJson() => super.toJson()..addAll({ 'Plate': Plate, 'VIN': VIN, 'GvwrLbs': GvwrLbs, 'BranchName': BranchName, 'InspectionDue': JsonConverters.toJson(InspectionDue,'DateTime',context!), 'InsuranceExpires': JsonConverters.toJson(InsuranceExpires,'DateTime',context!), 'RecentlyFixed': JsonConverters.toJson(RecentlyFixed,'List',context!), 'ReviewReports': JsonConverters.toJson(ReviewReports,'List',context!), 'History': JsonConverters.toJson(History,'List',context!) }); getTypeName() => "DvirVehicleDetail"; TypeContext? context = _ctx; } class EquipmentDvirSignOffResponse implements IConvertible { DvirVehicleDetail? Vehicle; bool? Returned; ResponseStatus? ResponseStatus; EquipmentDvirSignOffResponse({this.Vehicle,this.Returned,this.ResponseStatus}); EquipmentDvirSignOffResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Vehicle = JsonConverters.fromJson(json['Vehicle'],'DvirVehicleDetail',context!); Returned = json['Returned']; ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!); return this; } Map toJson() => { 'Vehicle': JsonConverters.toJson(Vehicle,'DvirVehicleDetail',context!), 'Returned': Returned, 'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!) }; getTypeName() => "EquipmentDvirSignOffResponse"; TypeContext? context = _ctx; } // @Route("/v1/Equipment/{EquipmentID}/dvir/signoff", "POST,OPTIONS") class EquipmentDvirSignOffRequest implements IReturn, IConvertible, IPost { int? EquipmentID; List? Defects = []; String? MechanicName; String? SignaturePng; EquipmentDvirSignOffRequest({this.EquipmentID,this.Defects,this.MechanicName,this.SignaturePng}); EquipmentDvirSignOffRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { EquipmentID = json['EquipmentID']; Defects = JsonConverters.fromJson(json['Defects'],'List',context!); MechanicName = json['MechanicName']; SignaturePng = json['SignaturePng']; return this; } Map toJson() => { 'EquipmentID': EquipmentID, 'Defects': JsonConverters.toJson(Defects,'List',context!), 'MechanicName': MechanicName, 'SignaturePng': SignaturePng }; createResponse() => EquipmentDvirSignOffResponse(); getResponseTypeName() => "EquipmentDvirSignOffResponse"; getTypeName() => "EquipmentDvirSignOffRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: { 'DvirSignOffItem': TypeInfo(TypeOf.Class, create:() => DvirSignOffItem()), 'DvirUnitRef': TypeInfo(TypeOf.Class, create:() => DvirUnitRef()), 'DvirPhotoView': TypeInfo(TypeOf.Class, create:() => DvirPhotoView()), 'DvirDefectView': TypeInfo(TypeOf.Class, create:() => DvirDefectView()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'DvirVehicleView': TypeInfo(TypeOf.Class, create:() => DvirVehicleView()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'DvirSignatureView': TypeInfo(TypeOf.Class, create:() => DvirSignatureView()), 'DvirReportView': TypeInfo(TypeOf.Class, create:() => DvirReportView()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'DvirVehicleDetail': TypeInfo(TypeOf.Class, create:() => DvirVehicleDetail()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'EquipmentDvirSignOffResponse': TypeInfo(TypeOf.Class, create:() => EquipmentDvirSignOffResponse()), 'EquipmentDvirSignOffRequest': TypeInfo(TypeOf.Class, create:() => EquipmentDvirSignOffRequest()), 'List': TypeInfo(TypeOf.Class, create:() => []), });