/* Options: Date: 2026-08-01 11:48:16 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: JobRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart,dart:typed_data */ import 'package:servicestack/servicestack.dart'; import 'dart:typed_data'; class Location implements IConvertible { String? Id; String? ClientId; String? Name; String? Address1; String? Address2; String? City; String? State; String? Zip; String? Phone; String? Fax; String? URL; String? Email; String? TimeZone; bool? Active; DateTime? EntDate; DateTime? ModDate; String? LocationImage; Location({this.Id,this.ClientId,this.Name,this.Address1,this.Address2,this.City,this.State,this.Zip,this.Phone,this.Fax,this.URL,this.Email,this.TimeZone,this.Active,this.EntDate,this.ModDate,this.LocationImage}); Location.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; ClientId = json['ClientId']; Name = json['Name']; Address1 = json['Address1']; Address2 = json['Address2']; City = json['City']; State = json['State']; Zip = json['Zip']; Phone = json['Phone']; Fax = json['Fax']; URL = json['URL']; Email = json['Email']; TimeZone = json['TimeZone']; Active = json['Active']; EntDate = JsonConverters.fromJson(json['EntDate'],'DateTime',context!); ModDate = JsonConverters.fromJson(json['ModDate'],'DateTime',context!); LocationImage = json['LocationImage']; return this; } Map toJson() => { 'Id': Id, 'ClientId': ClientId, 'Name': Name, 'Address1': Address1, 'Address2': Address2, 'City': City, 'State': State, 'Zip': Zip, 'Phone': Phone, 'Fax': Fax, 'URL': URL, 'Email': Email, 'TimeZone': TimeZone, 'Active': Active, 'EntDate': JsonConverters.toJson(EntDate,'DateTime',context!), 'ModDate': JsonConverters.toJson(ModDate,'DateTime',context!), 'LocationImage': LocationImage }; getTypeName() => "Location"; TypeContext? context = _ctx; } class CalendarEvent implements IConvertible { int? CalendarEventId; String? CalendarId; DateTime? EventStart; DateTime? EventEnd; String? Location; String? Summary; String? Description; int? EventTypeId; bool? Recurrence; String? RecurrenceFrequency; String? RecurrenceBy; String? RecurrenceByValue; DateTime? RecurrenceUntil; String? CreatedBy; String? CreatedByName; DateTime? DateCreated; String? ModifiedBy; DateTime? DateModified; bool? Deleted; String? TimeZone; int? Offset; DateTime? TextReminderSentDate; bool? Confirmed; String? ConfirmationTextId; String? FirstTextReminderId; String? SecondTextReminderId; String? LocationUID; DateTime? AgentReminderSentDate; int? ContactId; bool? IsPrivate; int? ProjectID; int? JobID; DateTime? ProjectStartDate; DateTime? ProjectEndDate; DateTime? MaxCrewEndDate; DateTime? MaxEquipmentEndDate; String? CheckInId; bool? AllDay; String? JobName; String? JobStatusName; int? JobStatusId; String? ProjectName; int? ResourceId; String? ResourceName; DateTime? Original_EventStart; bool? Original_Recurrence; String? Original_RecurrenceFrequency; String? Original_RecurrenceBy; String? Original_RecurrenceByValue; DateTime? Original_RecurrenceUntil; String? Checksum; CalendarEvent({this.CalendarEventId,this.CalendarId,this.EventStart,this.EventEnd,this.Location,this.Summary,this.Description,this.EventTypeId,this.Recurrence,this.RecurrenceFrequency,this.RecurrenceBy,this.RecurrenceByValue,this.RecurrenceUntil,this.CreatedBy,this.CreatedByName,this.DateCreated,this.ModifiedBy,this.DateModified,this.Deleted,this.TimeZone,this.Offset,this.TextReminderSentDate,this.Confirmed,this.ConfirmationTextId,this.FirstTextReminderId,this.SecondTextReminderId,this.LocationUID,this.AgentReminderSentDate,this.ContactId,this.IsPrivate,this.ProjectID,this.JobID,this.ProjectStartDate,this.ProjectEndDate,this.MaxCrewEndDate,this.MaxEquipmentEndDate,this.CheckInId,this.AllDay,this.JobName,this.JobStatusName,this.JobStatusId,this.ProjectName,this.ResourceId,this.ResourceName,this.Original_EventStart,this.Original_Recurrence,this.Original_RecurrenceFrequency,this.Original_RecurrenceBy,this.Original_RecurrenceByValue,this.Original_RecurrenceUntil,this.Checksum}); CalendarEvent.fromJson(Map json) { fromMap(json); } fromMap(Map json) { CalendarEventId = json['CalendarEventId']; CalendarId = json['CalendarId']; EventStart = JsonConverters.fromJson(json['EventStart'],'DateTime',context!); EventEnd = JsonConverters.fromJson(json['EventEnd'],'DateTime',context!); Location = json['Location']; Summary = json['Summary']; Description = json['Description']; EventTypeId = json['EventTypeId']; Recurrence = json['Recurrence']; RecurrenceFrequency = json['RecurrenceFrequency']; RecurrenceBy = json['RecurrenceBy']; RecurrenceByValue = json['RecurrenceByValue']; RecurrenceUntil = JsonConverters.fromJson(json['RecurrenceUntil'],'DateTime',context!); CreatedBy = json['CreatedBy']; CreatedByName = json['CreatedByName']; DateCreated = JsonConverters.fromJson(json['DateCreated'],'DateTime',context!); ModifiedBy = json['ModifiedBy']; DateModified = JsonConverters.fromJson(json['DateModified'],'DateTime',context!); Deleted = json['Deleted']; TimeZone = json['TimeZone']; Offset = json['Offset']; TextReminderSentDate = JsonConverters.fromJson(json['TextReminderSentDate'],'DateTime',context!); Confirmed = json['Confirmed']; ConfirmationTextId = json['ConfirmationTextId']; FirstTextReminderId = json['FirstTextReminderId']; SecondTextReminderId = json['SecondTextReminderId']; LocationUID = json['LocationUID']; AgentReminderSentDate = JsonConverters.fromJson(json['AgentReminderSentDate'],'DateTime',context!); ContactId = json['ContactId']; IsPrivate = json['IsPrivate']; ProjectID = json['ProjectID']; JobID = json['JobID']; ProjectStartDate = JsonConverters.fromJson(json['ProjectStartDate'],'DateTime',context!); ProjectEndDate = JsonConverters.fromJson(json['ProjectEndDate'],'DateTime',context!); MaxCrewEndDate = JsonConverters.fromJson(json['MaxCrewEndDate'],'DateTime',context!); MaxEquipmentEndDate = JsonConverters.fromJson(json['MaxEquipmentEndDate'],'DateTime',context!); CheckInId = json['CheckInId']; AllDay = json['AllDay']; JobName = json['JobName']; JobStatusName = json['JobStatusName']; JobStatusId = json['JobStatusId']; ProjectName = json['ProjectName']; ResourceId = json['ResourceId']; ResourceName = json['ResourceName']; Original_EventStart = JsonConverters.fromJson(json['Original_EventStart'],'DateTime',context!); Original_Recurrence = json['Original_Recurrence']; Original_RecurrenceFrequency = json['Original_RecurrenceFrequency']; Original_RecurrenceBy = json['Original_RecurrenceBy']; Original_RecurrenceByValue = json['Original_RecurrenceByValue']; Original_RecurrenceUntil = JsonConverters.fromJson(json['Original_RecurrenceUntil'],'DateTime',context!); Checksum = json['Checksum']; return this; } Map toJson() => { 'CalendarEventId': CalendarEventId, 'CalendarId': CalendarId, 'EventStart': JsonConverters.toJson(EventStart,'DateTime',context!), 'EventEnd': JsonConverters.toJson(EventEnd,'DateTime',context!), 'Location': Location, 'Summary': Summary, 'Description': Description, 'EventTypeId': EventTypeId, 'Recurrence': Recurrence, 'RecurrenceFrequency': RecurrenceFrequency, 'RecurrenceBy': RecurrenceBy, 'RecurrenceByValue': RecurrenceByValue, 'RecurrenceUntil': JsonConverters.toJson(RecurrenceUntil,'DateTime',context!), 'CreatedBy': CreatedBy, 'CreatedByName': CreatedByName, 'DateCreated': JsonConverters.toJson(DateCreated,'DateTime',context!), 'ModifiedBy': ModifiedBy, 'DateModified': JsonConverters.toJson(DateModified,'DateTime',context!), 'Deleted': Deleted, 'TimeZone': TimeZone, 'Offset': Offset, 'TextReminderSentDate': JsonConverters.toJson(TextReminderSentDate,'DateTime',context!), 'Confirmed': Confirmed, 'ConfirmationTextId': ConfirmationTextId, 'FirstTextReminderId': FirstTextReminderId, 'SecondTextReminderId': SecondTextReminderId, 'LocationUID': LocationUID, 'AgentReminderSentDate': JsonConverters.toJson(AgentReminderSentDate,'DateTime',context!), 'ContactId': ContactId, 'IsPrivate': IsPrivate, 'ProjectID': ProjectID, 'JobID': JobID, 'ProjectStartDate': JsonConverters.toJson(ProjectStartDate,'DateTime',context!), 'ProjectEndDate': JsonConverters.toJson(ProjectEndDate,'DateTime',context!), 'MaxCrewEndDate': JsonConverters.toJson(MaxCrewEndDate,'DateTime',context!), 'MaxEquipmentEndDate': JsonConverters.toJson(MaxEquipmentEndDate,'DateTime',context!), 'CheckInId': CheckInId, 'AllDay': AllDay, 'JobName': JobName, 'JobStatusName': JobStatusName, 'JobStatusId': JobStatusId, 'ProjectName': ProjectName, 'ResourceId': ResourceId, 'ResourceName': ResourceName, 'Original_EventStart': JsonConverters.toJson(Original_EventStart,'DateTime',context!), 'Original_Recurrence': Original_Recurrence, 'Original_RecurrenceFrequency': Original_RecurrenceFrequency, 'Original_RecurrenceBy': Original_RecurrenceBy, 'Original_RecurrenceByValue': Original_RecurrenceByValue, 'Original_RecurrenceUntil': JsonConverters.toJson(Original_RecurrenceUntil,'DateTime',context!), 'Checksum': Checksum }; getTypeName() => "CalendarEvent"; TypeContext? context = _ctx; } class Job implements IConvertible { int? JobID; String? JobName; String? Description; int? JobTypeID; DateTime? ExpectedStartDate; DateTime? ActualStartDate; DateTime? ExpectedCompletionDate; DateTime? ActualEndDate; bool? Active; String? CreatedByUID; int? ProjectID; int? StatusId; bool? AdvancedScheduling; bool? ShowTimes; List? Schedule = []; bool? HasScheduledWorkers; bool? HasScheduledPlaceholders; String? ClientApprovalStatus; double? InternalCost; double? CostToClient; Location? Location; int? ProjectLocationID; int? ProjectLocationAreaID; String? ProjectLocationName; String? ProjectLocationAddress1; String? ProjectLocationAddress2; String? ProjectLocationCity; String? ProjectLocationState; String? ProjectLocationZip; String? ProjectLocationAreaName; Job({this.JobID,this.JobName,this.Description,this.JobTypeID,this.ExpectedStartDate,this.ActualStartDate,this.ExpectedCompletionDate,this.ActualEndDate,this.Active,this.CreatedByUID,this.ProjectID,this.StatusId,this.AdvancedScheduling,this.ShowTimes,this.Schedule,this.HasScheduledWorkers,this.HasScheduledPlaceholders,this.ClientApprovalStatus,this.InternalCost,this.CostToClient,this.Location,this.ProjectLocationID,this.ProjectLocationAreaID,this.ProjectLocationName,this.ProjectLocationAddress1,this.ProjectLocationAddress2,this.ProjectLocationCity,this.ProjectLocationState,this.ProjectLocationZip,this.ProjectLocationAreaName}); Job.fromJson(Map json) { fromMap(json); } fromMap(Map json) { JobID = json['JobID']; JobName = json['JobName']; Description = json['Description']; JobTypeID = json['JobTypeID']; ExpectedStartDate = JsonConverters.fromJson(json['ExpectedStartDate'],'DateTime',context!); ActualStartDate = JsonConverters.fromJson(json['ActualStartDate'],'DateTime',context!); ExpectedCompletionDate = JsonConverters.fromJson(json['ExpectedCompletionDate'],'DateTime',context!); ActualEndDate = JsonConverters.fromJson(json['ActualEndDate'],'DateTime',context!); Active = json['Active']; CreatedByUID = json['CreatedByUID']; ProjectID = json['ProjectID']; StatusId = json['StatusId']; AdvancedScheduling = json['AdvancedScheduling']; ShowTimes = json['ShowTimes']; Schedule = JsonConverters.fromJson(json['Schedule'],'List',context!); HasScheduledWorkers = json['HasScheduledWorkers']; HasScheduledPlaceholders = json['HasScheduledPlaceholders']; ClientApprovalStatus = json['ClientApprovalStatus']; InternalCost = JsonConverters.toDouble(json['InternalCost']); CostToClient = JsonConverters.toDouble(json['CostToClient']); Location = JsonConverters.fromJson(json['Location'],'Location',context!); ProjectLocationID = json['ProjectLocationID']; ProjectLocationAreaID = json['ProjectLocationAreaID']; ProjectLocationName = json['ProjectLocationName']; ProjectLocationAddress1 = json['ProjectLocationAddress1']; ProjectLocationAddress2 = json['ProjectLocationAddress2']; ProjectLocationCity = json['ProjectLocationCity']; ProjectLocationState = json['ProjectLocationState']; ProjectLocationZip = json['ProjectLocationZip']; ProjectLocationAreaName = json['ProjectLocationAreaName']; return this; } Map toJson() => { 'JobID': JobID, 'JobName': JobName, 'Description': Description, 'JobTypeID': JobTypeID, 'ExpectedStartDate': JsonConverters.toJson(ExpectedStartDate,'DateTime',context!), 'ActualStartDate': JsonConverters.toJson(ActualStartDate,'DateTime',context!), 'ExpectedCompletionDate': JsonConverters.toJson(ExpectedCompletionDate,'DateTime',context!), 'ActualEndDate': JsonConverters.toJson(ActualEndDate,'DateTime',context!), 'Active': Active, 'CreatedByUID': CreatedByUID, 'ProjectID': ProjectID, 'StatusId': StatusId, 'AdvancedScheduling': AdvancedScheduling, 'ShowTimes': ShowTimes, 'Schedule': JsonConverters.toJson(Schedule,'List',context!), 'HasScheduledWorkers': HasScheduledWorkers, 'HasScheduledPlaceholders': HasScheduledPlaceholders, 'ClientApprovalStatus': ClientApprovalStatus, 'InternalCost': InternalCost, 'CostToClient': CostToClient, 'Location': JsonConverters.toJson(Location,'Location',context!), 'ProjectLocationID': ProjectLocationID, 'ProjectLocationAreaID': ProjectLocationAreaID, 'ProjectLocationName': ProjectLocationName, 'ProjectLocationAddress1': ProjectLocationAddress1, 'ProjectLocationAddress2': ProjectLocationAddress2, 'ProjectLocationCity': ProjectLocationCity, 'ProjectLocationState': ProjectLocationState, 'ProjectLocationZip': ProjectLocationZip, 'ProjectLocationAreaName': ProjectLocationAreaName }; getTypeName() => "Job"; TypeContext? context = _ctx; } class JobResponse implements IConvertible { ResponseStatus? ResponseStatus; List? Job = []; bool? RequiresConfirm; JobResponse({this.ResponseStatus,this.Job,this.RequiresConfirm}); JobResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!); Job = JsonConverters.fromJson(json['Job'],'List',context!); RequiresConfirm = json['RequiresConfirm']; return this; } Map toJson() => { 'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!), 'Job': JsonConverters.toJson(Job,'List',context!), 'RequiresConfirm': RequiresConfirm }; getTypeName() => "JobResponse"; TypeContext? context = _ctx; } // @Route("/v1/Job", "GET,POST,PUT,DELETE,OPTIONS") // @Route("/v1/Job/{JobID}", "GET,POST,PUT,DELETE,OPTIONS") class JobRequest implements IReturn, IConvertible, IPost { int? JobID; bool? Accept; bool? UpdateJobOnly; List? Job = []; JobRequest({this.JobID,this.Accept,this.UpdateJobOnly,this.Job}); JobRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { JobID = json['JobID']; Accept = json['Accept']; UpdateJobOnly = json['UpdateJobOnly']; Job = JsonConverters.fromJson(json['Job'],'List',context!); return this; } Map toJson() => { 'JobID': JobID, 'Accept': Accept, 'UpdateJobOnly': UpdateJobOnly, 'Job': JsonConverters.toJson(Job,'List',context!) }; createResponse() => JobResponse(); getResponseTypeName() => "JobResponse"; getTypeName() => "JobRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: { 'Location': TypeInfo(TypeOf.Class, create:() => Location()), 'CalendarEvent': TypeInfo(TypeOf.Class, create:() => CalendarEvent()), 'Job': TypeInfo(TypeOf.Class, create:() => Job()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'JobResponse': TypeInfo(TypeOf.Class, create:() => JobResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'JobRequest': TypeInfo(TypeOf.Class, create:() => JobRequest()), });