/* Options: Date: 2026-06-13 03:55:46 SwiftVersion: 6.0 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.dev.dynamics.trendsic.com //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True //MakePropertiesOptional: True IncludeTypes: ScheduleJobWorkersRequest.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/v1/schedule/job/workers", "POST") public class ScheduleJobWorkersRequest : IReturn, Codable { public typealias Return = WorkerScheduleResponse public var jobID:Int? public var projectID:Int? required public init(){} } public class WorkerScheduleResponse : Codable { public var items:[WorkerScheduleItem] = [] public var schedulableJobs:[SchedulableJob] = [] public var workers:[ScheduleWorker] = [] public var crews:[Crew] = [] public var budgetedCrew:[ScheduleWorker] = [] public var lastAssignment:ScheduleLastAssignment? public var autoFill:ScheduleAutoFillResult? public var datesScheduled:Int? public var workersScheduled:Int? public var itemsRemoved:Int? public var responseStatus:ResponseStatus? required public init(){} } public class Crew : Codable { public var crewID:Int? public var crewName:String? public var crewNumber:String? public var crewManagerContactID:Int? public var crewManagerContactName:String? public var crewColor:String? public var recordCreatedDate:Date? public var active:Bool? public var createdByUID:String? public var projectID:Int? public var crewMemberCount:Int? public var projectCrewID:Int? public var projectName:String? public var branchId:String? public var branchName:String? required public init(){} } public class WorkerScheduleItem : Codable { public var workerScheduleItemID:Int? public var jobID:Int? public var projectID:Int? public var contactID:Int? public var scheduledDate:Date? public var sortOrder:Int? public var sourceCrewID:Int? public var status:String? public var startedAt:Date? public var completedAt:Date? public var workerNotes:String? public var jobName:String? public var projectName:String? public var firstName:String? public var lastName:String? public var workerName:String? public var sourceCrewName:String? public var projectLocationID:Int? public var projectLocationName:String? public var locationZip:String? public var locationCity:String? public var locationLatitude:Double? public var locationLongitude:Double? public var jobStatusName:String? public var branchId:String? public var branchName:String? public var workerHomeBranchId:String? public var workerHomeBranchName:String? required public init(){} } public class SchedulableJob : Codable { public var jobID:Int? public var jobName:String? public var projectID:Int? public var projectName:String? public var statusID:Int? public var statusName:String? public var projectLocationID:Int? public var projectLocationName:String? public var locationZip:String? public var locationCity:String? public var locationLatitude:Double? public var locationLongitude:Double? public var expectedStartDate:Date? public var expectedCompletionDate:Date? public var isRecurring:Bool? public var occurrenceDates:[String] = [] required public init(){} } public class ScheduleWorker : Codable { public var contactId:Int? public var firstName:String? public var lastName:String? public var name:String? public var initials:String? public var rate:Double? public var imageUrl:String? public var branchId:String? public var branchName:String? required public init(){} } public class ScheduleLastAssignment : Codable { public var jobID:Int? public var contactIds:[Int] = [] public var sourceCrewID:Int? required public init(){} } public class ScheduleAutoFillResult : Codable { public var jobsFilled:Int? public var jobsSkipped:Int? public var visitsScheduled:Int? required public init(){} }