/* Options: Date: 2026-07-08 21:13:20 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: RfpRefineRequest.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/v1/Rfp/{RfpDocumentUID}/Refine", "POST,OPTIONS") public class RfpRefineRequest : IReturn, Codable { public typealias Return = RfpRefineResponse public var rfpDocumentUID:String? public var layer:String? public var mode:String? public var instruction:String? required public init(){} } public class RfpRefineResponse : Codable { public var responseStatus:ResponseStatus? public var rfpDocumentID:Int? public var layer:String? public var mode:String? public var turnCount:Int? public var brief:RfpBrief? public var proposal:ProjectProposal? public var pricing:PricedProposal? public var crewPlan:[CrewPlanLine] = [] public var cacheReadTokens:Int? public var cacheCreationTokens:Int? public var inputTokens:Int? 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] = [] required public init(){} } public class RfpBrief : Codable { public var projectTitle:String? public var solicitationNumber:String? public var issuingOrganization:String? public var projectType:String? public var summary:String? public var locations:[RfpLocation] = [] public var schedule:RfpSchedule? public var lineItems:[RfpLineItem] = [] public var bidConstraints:[RfpBidConstraint] = [] public var specialRequirements:[String] = [] 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 PricedProposal : Codable { public var rfpDocumentID:Int? public var projectName:String? public var currency:String? public var tasks:[PricedTask] = [] public var total:CostRange? public var positionsNeedingRate:Int? public var equipmentNotInCatalog:Int? public var materialsNotInCatalog:Int? public var positionsNotInCatalog:Int? public var equipmentMargin:Double? 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? required public init(){} } public class RfpLocation : Codable { public var Description:String? public var city:String? public var state:String? public var identifier:String? required public init(){} } public class RfpSchedule : Codable { public var bidDueDate:String? public var estimatedStartDate:String? public var questionsDueDate:String? public var contractDurationDays:Int? public var notes:String? required public init(){} } public class RfpLineItem : Codable { public var itemNumber:String? public var Description:String? public var quantity:Double? public var unit:String? public var category:String? public var sourceReference:String? required public init(){} } public class RfpBidConstraint : Codable { public var constraint:String? public var detail:String? required public init(){} } public class PricedTask : Codable { public var name:String? public var category:String? public var positions:[PricedPosition] = [] public var equipment:[PricedEquipment] = [] public var materials:[PricedMaterial] = [] public var subtotal:CostRange? required public init(){} } public class CostRange : Codable { public var min:Double? public var max:Double? public var mid:Double? required public init(){} } public class TaskResourcing : Codable { public var positions:[ResourcedPosition] = [] public var equipment:[ResourcedEquipment] = [] public var materials:[ResourcedMaterial] = [] required public init(){} } public class PricedPosition : Codable { public var positionTag:String? public var hours:Double? public var hasInternalRate:Bool? public var rateMin:Double? public var rateMax:Double? public var rateAvg:Double? public var contactCount:Int? public var cost:CostRange? public var marketRateReference:Double? required public init(){} } public class PricedEquipment : Codable { public var equipmentID:Int? public var equipmentName:String? public var quantity:Double? public var durationDays:Double? public var rateType:String? public var billedRate:Double? public var costRate:Double? public var hasRate:Bool? public var isInCatalog:Bool? public var cost:Double? public var companyCost:Double? public var margin:Double? required public init(){} } public class PricedMaterial : Codable { public var materialID:Int? public var materialName:String? public var quantity:Double? public var unitCost:Double? public var hasRate:Bool? public var isInCatalog:Bool? public var cost:Double? required public init(){} } public class ResourcedPosition : Codable { public var positionTag:String? public var hours: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 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 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(){} }