/* Options: Date: 2026-09-01 06:16:12 Version: 8.0 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api-stage.smartfarmertech.com //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: ProductsAutoQueryLookup.* //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.* open class ProductsAutoQueryLookup : QueryDb(), IReturn> { companion object { private val responseType = object : TypeToken>(){}.type } override fun getResponseType(): Any? = ProductsAutoQueryLookup.responseType } @DataContract open class QueryResponse { @DataMember(Order=1) var offset:Int? = null @DataMember(Order=2) var total:Int? = null @DataMember(Order=3) var results:ArrayList = ArrayList() @DataMember(Order=4) var meta:HashMap = HashMap() @DataMember(Order=5) var responseStatus:ResponseStatus? = null } open class QueryDb : QueryBase() { } open class Tenants { @DataMember(Order=1) @Required() var id:Long? = null @DataMember(Order=2) @Required() @References(Zones.class) var mainZonesId:Long? = null @DataMember(Order=3) var isPublic:Boolean? = null } open class Varieties { @DataMember(Order=1) @Required() var id:Long? = null @DataMember(Order=2) @Required() @References(Tenants.class) var tenantsId:Long? = null @DataMember(Order=3) @Required() @References(Zones.class) var zonesId:Long? = null @DataMember(Order=4) @Required() @References(Crops.class) var cropsId:Long? = null @DataMember(Order=5) @Required() var name:String? = null @DataMember(Order=6) var about:String? = null @DataMember(Order=7) var heightsCm:Int? = null @DataMember(Order=8) @Required() var needSupport:Boolean? = null @DataMember(Order=9) @Required() var needStakes:Boolean? = null @DataMember(Order=10) @Required() var needTrellis:Boolean? = null } open class Zones { @DataMember(Order=1) @Required() var id:Long? = null @DataMember(Order=2) @Required() @References(Tenants.class) var tenantsId:Long? = null @DataMember(Order=3) @Required() var name:String? = null @DataMember(Order=4) @Required() var isMain:Boolean? = null @DataMember(Order=5) @Required() var isDefault:Boolean? = null } open class Crops { @DataMember(Order=1) @Required() var id:Long? = null @DataMember(Order=2) @Required() @References(Tenants.class) var tenantsId:Long? = null @DataMember(Order=3) @Required() @References(Zones.class) var zonesId:Long? = null @DataMember(Order=4) @Required() var name:String? = null @DataMember(Order=5) @Required() var latinName:String? = null @DataMember(Order=6) @Required() var soldDescription:String? = null } open class Products { @DataMember(Order=1) @Required() var id:Long? = null @DataMember(Order=2) @Required() @References(Tenants.class) var tenantsId:Long? = null @DataMember(Order=3) @Required() @References(Zones.class) var zonesId:Long? = null @DataMember(Order=4) @Required() @References(Varieties.class) var varietiesId:Long? = null @DataMember(Order=5) @Required() var description:String? = null } @DataContract open class QueryBase { @DataMember(Order=1) var skip:Int? = null @DataMember(Order=2) var take:Int? = null @DataMember(Order=3) var orderBy:String? = null @DataMember(Order=4) var orderByDesc:String? = null @DataMember(Order=5) var include:String? = null @DataMember(Order=6) var fields:String? = null @DataMember(Order=7) var meta:HashMap = HashMap() }