/* Options: Date: 2026-03-07 20:33:11 Version: 6.110 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://etc-api.vsmlab.vn //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GetAdvancedWorkflowInfoRequest.* //ExcludeTypes: //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,net.servicestack.client.*,com.google.gson.annotations.*,com.google.gson.reflect.* */ import java.math.* import java.util.* import net.servicestack.client.* import com.google.gson.annotations.* import com.google.gson.reflect.* @Route(Path="/workflow/{WorkflowId}/advanced-info", Verbs="GET") open class GetAdvancedWorkflowInfoRequest : IReturn { var workflowId:Int? = null companion object { private val responseType = AdvancedWorkflowInfoResponse::class.java } override fun getResponseType(): Any? = GetAdvancedWorkflowInfoRequest.responseType } open class AdvancedWorkflowInfoResponse { var code:Int? = null var message:String? = null @SerializedName("data") var Data:AdvancedWorkflowInfoData? = null } open class AdvancedWorkflowInfoData { var provider:Provider? = null var contract:Contract? = null var estimate:Estimate? = null var purchaseHistory:ArrayList = ArrayList() } open class Contract { var id:Int? = null @Required() var workflowId:Int? = null @StringLength(100) var contractNo:String? = null @StringLength(100) var contractDate:String? = null var serviceName:String? = null @StringLength(100) var contractType:String? = null var objective:String? = null var location:String? = null var createdAt:Date? = null @Required() var createdBy:Int? = null } open class Estimate { var id:Int? = null @Required() var workflowId:Int? = null var valueBeforeTax:Int? = null var taxAmount:Int? = null var totalAmount:Int? = null var createdAt:Date? = null @Required() var createdBy:Int? = null } open class PurchaseHistory { var id:Int? = null @Required() var workflowId:Int? = null var sequenceNo:Int? = null var detail:String? = null @StringLength(150) var unit:String? = null var quantity:Int? = null var unitPrice:Int? = null var amount:Int? = null var note:String? = null var name:String? = null var purpose:String? = null var createdAt:Date? = null @Required() var createdBy:Int? = null } open class Provider { var id:Int? = null var name:String? = null var taxCode:String? = null var address:String? = null var email:String? = null var phone:String? = null var additionalInfo:String? = null var providerType:Int? = null var createdAt:Date? = null var createdBy:Int? = null }