/* Options: Date: 2026-08-01 19:39:56 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: RfpSchedulePreviewRequest.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/v1/Rfp/SchedulePreview", "POST,OPTIONS") public class RfpSchedulePreviewRequest : IReturn, Codable { public typealias Return = RfpProposalResponse public var proposal:ProjectProposal? required public init(){} } public class RfpProposalResponse : Codable { public var responseStatus:ResponseStatus? public var rfpDocumentID:Int? public var proposal:ProjectProposal? public var crewPlan:[CrewPlanLine] = [] required public init(){} } public class ProjectProposal : Codable { public var rfpDocumentID:Int? public var mode:String? public var projectID:Int? public var changeOrderID:Int? public var projectName:String? public var clientName:String? public var projectType:String? public var projectLocation:String? public var scope:String? public var projectDescription:String? public var contractDurationDays:Int? public var bidDueDate:String? public var estimatedStartDate:Date? public var estimatedEndDate:Date? public var tasks:[ProposedTask] = [] public var pendingAddendaDiffs:[AddendaChangeSet] = [] public var wageDeterminations:[WageDeterminationResult] = [] required public init(){} } public class CrewPlanLine : Codable { public var positionTag:String? public var needed:Int? public var naiveTotal:Int? public var taskAssignments:Int? required public init(){} } public class AddendaChangeSet : Codable { public var changeSetId:String? public var sourceRfpDocumentID:Int? public var sourceFileName:String? public var documentType:String? public var extractedAtUtc:Date? public var summary:String? public var changes:[AddendaChange] = [] required public init(){} } public class WageDeterminationResult : Codable { public var sourceRfpDocumentID:Int? public var sourceFileName:String? public var wdNumber:String? public var extractedAtUtc:Date? public var classifications:[WageClassification] = [] public var source:String? public var isTrustworthy:Bool? public var executiveOrderFloor:Double? public var publishedDate:String? public var projectParish:String? public var warnings:[String] = [] required public init(){} } public class ProposedTask : Codable { public var seq:Int? public var name:String? public var category:String? public var quantity:Double? public var unit:String? public var sourceItemNumber:String? public var sourceReference:String? public var notes:String? public var resourcing:TaskResourcing? public var durationDays:Double? public var dependsOn:[Int] = [] public var estimatedStartDate:Date? public var estimatedEndDate:Date? public var workPackage:TaskWorkPackage? public var createdJobID:Int? required public init(){} } public class AddendaChange : Codable { public var changeId:String? public var changeType:String? public var targetSeq:Int? public var itemNumber:String? public var itemName:String? public var field:String? public var oldValue:String? public var newValue:String? public var Description:String? public var status:String? required public init(){} } public class WageClassification : Codable { public var title:String? public var baseRate:Double? public var fringeRate:Double? public var parishNote:String? public var sourceLine:String? public var benchmarkFringeRate:Double? public var fringeCompareNote:String? required public init(){} } public class TaskResourcing : Codable { public var positions:[ResourcedPosition] = [] public var equipment:[ResourcedEquipment] = [] public var materials:[ResourcedMaterial] = [] public var resourcedForQuantity:Double? public var productionRatePerDay:Double? public var fixedDays:Double? required public init(){} } public class TaskWorkPackage : Codable { public var scope:String? public var limitsOfWork:String? public var specRefs:[WorkPackageSpecRef] = [] public var constraints:[String] = [] public var holdPoints:[String] = [] public var definitionOfDone:[String] = [] public var safetyNote:String? public var rfpRef:String? public var confidence:Int? public var specBook:String? public var userScope:String? public var dodRemoved:[Int] = [] public var dodExtra:[String] = [] public var userEdited:Bool? public var dodChecked:[String] = [] public var redraftNote:String? required public init(){} } public class ResourcedPosition : Codable { public var positionTag:String? public var hours:Double? public var crewSize:Double? public var utilization:Double? public var fixedDays:Double? public var headcount:Int? public var sourceReference:String? public var notes:String? public var isInCatalog:Bool? public var contactID:Int? required public init(){} } public class ResourcedEquipment : Codable { public var equipmentID:Int? public var equipmentName:String? public var makeModel:String? public var quantity:Double? public var durationDays:Double? public var utilization:Double? public var fixedDays:Double? public var sourceReference:String? public var notes:String? public var isInCatalog:Bool? public var suggestedEquipmentID:Int? public var suggestedEquipmentName:String? required public init(){} } public class ResourcedMaterial : Codable { public var materialID:Int? public var materialName:String? public var makeModel:String? public var quantity:Double? public var quantityPerUnit:Double? public var unit:String? public var sourceReference:String? public var notes:String? public var isInCatalog:Bool? public var suggestedMaterialID:Int? public var suggestedMaterialName:String? required public init(){} } public class WorkPackageSpecRef : Codable { public var section:String? public var title:String? required public init(){} }