/* Options: Date: 2026-06-13 03:56:49 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.dev.dynamics.trendsic.com //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: RfpApproveRequest.* //ExcludeTypes: //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,java.io.InputStream,net.servicestack.client.* */ import java.math.* import java.util.* import java.io.InputStream import net.servicestack.client.* @Route(Path="/v1/Rfp/{RfpDocumentUID}/Approve", Verbs="POST,OPTIONS") open class RfpApproveRequest : IReturn { open var RfpDocumentUID:UUID? = null open var Proposal:ProjectProposal? = null companion object { private val responseType = RfpApproveResponse::class.java } override fun getResponseType(): Any? = RfpApproveRequest.responseType } open class RfpApproveResponse { open var ResponseStatus:ResponseStatus? = null open var RfpDocumentID:Int? = null open var ProjectID:Int? = null open var ProjectUID:UUID? = null open var RfpApprovalID:Int? = null open var JobIDs:ArrayList = ArrayList() open var OpenPositionCount:Int? = null open var Diff:ProposalDiff? = null } open class ProjectProposal { open var RfpDocumentID:Int? = null open var ProjectName:String? = null open var ClientName:String? = null open var ProjectType:String? = null open var ProjectLocation:String? = null open var Scope:String? = null open var ProjectDescription:String? = null open var ContractDurationDays:Int? = null open var BidDueDate:String? = null open var EstimatedStartDate:Date? = null open var EstimatedEndDate:Date? = null open var Tasks:ArrayList = ArrayList() } open class ProposalDiff { open var TasksAdded:ArrayList = ArrayList() open var TasksRemoved:ArrayList = ArrayList() open var Tasks:ArrayList = ArrayList() open var HasChanges:Boolean? = null } open class ProposedTask { open var Seq:Int? = null open var Name:String? = null open var Category:String? = null open var Quantity:Double? = null open var Unit:String? = null open var SourceItemNumber:String? = null open var SourceReference:String? = null open var Notes:String? = null open var Resourcing:TaskResourcing? = null open var DurationDays:Double? = null open var DependsOn:ArrayList = ArrayList() open var EstimatedStartDate:Date? = null open var EstimatedEndDate:Date? = null } open class TaskDiff { open var TaskName:String? = null open var PositionsAdded:ArrayList = ArrayList() open var PositionsRemoved:ArrayList = ArrayList() open var PositionsStaffed:ArrayList = ArrayList() open var EquipmentAdded:ArrayList = ArrayList() open var EquipmentRemoved:ArrayList = ArrayList() open var MaterialsAdded:ArrayList = ArrayList() open var MaterialsRemoved:ArrayList = ArrayList() open var HasChanges:Boolean? = null } open class TaskResourcing { open var Positions:ArrayList = ArrayList() open var Equipment:ArrayList = ArrayList() open var Materials:ArrayList = ArrayList() } open class ResourcedPosition { open var PositionTag:String? = null open var Hours:Double? = null open var Headcount:Int? = null open var SourceReference:String? = null open var Notes:String? = null open var IsInCatalog:Boolean? = null open var ContactID:Int? = null } open class ResourcedEquipment { open var EquipmentID:Int? = null open var EquipmentName:String? = null open var MakeModel:String? = null open var Quantity:Double? = null open var DurationDays:Double? = null open var SourceReference:String? = null open var Notes:String? = null open var IsInCatalog:Boolean? = null open var SuggestedEquipmentID:Int? = null open var SuggestedEquipmentName:String? = null } open class ResourcedMaterial { open var MaterialID:Int? = null open var MaterialName:String? = null open var MakeModel:String? = null open var Quantity:Double? = null open var Unit:String? = null open var SourceReference:String? = null open var Notes:String? = null open var IsInCatalog:Boolean? = null open var SuggestedMaterialID:Int? = null open var SuggestedMaterialName:String? = null }