/* Options: Date: 2025-12-14 05:19:21 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.bokamera.se //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GetVossProductGroup.* //ExcludeTypes: //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,java.io.InputStream,net.servicestack.client.*,com.google.gson.annotations.*,com.google.gson.reflect.* */ import java.math.* import java.util.* import java.io.InputStream import net.servicestack.client.* import com.google.gson.annotations.* import com.google.gson.reflect.* @Route(Path="/voss/productGroups/{ProductGroupId}", Verbs="GET") @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401) open class GetVossProductGroup : IReturn { /** * Passed if we have multilpe packages */ @ApiMember(Description="Passed if we have multilpe packages") open var PackageId:UUID? = null /** * Procut Group id to get */ @ApiMember(Description="Procut Group id to get", IsRequired=true) open var ProductGroupId:UUID? = null /** * Tier id required because it is used it voss url */ @ApiMember(Description="Tier id required because it is used it voss url", IsRequired=true) open var TierId:UUID? = null companion object { private val responseType = ProductGroupResult::class.java } override fun getResponseType(): Any? = GetVossProductGroup.responseType } @DataContract(Name="ProductGroupResult") open class ProductGroupResult { @DataMember(Name="productGroupType", IsRequired=true) @SerializedName("productGroupType") open var ProductGroupType:ProductGroupTypeEnum? = null @DataMember(Name="id", IsRequired=true) @SerializedName("id") open var Id:UUID? = null @DataMember(Name="versionId", IsRequired=true) @SerializedName("versionId") open var VersionId:UUID? = null @DataMember(Name="name", IsRequired=true) @SerializedName("name") open var Name:String? = null @DataMember(Name="externalId") @SerializedName("externalId") open var ExternalId:String? = null @DataMember(Name="products", EmitDefaultValue=false) @SerializedName("products") open var Products:ArrayList = ArrayList() @DataMember(Name="tags", EmitDefaultValue=false) @SerializedName("tags") open var Tags:ArrayList = ArrayList() } enum class ProductTypeEnum { Main, Addon, License, Usage, } enum class ProductGroupTypeEnum { Optional, Included, } enum class StatusEnum { Active, Terminated, } @DataContract(Name="ProductGroupProductDto") open class ProductGroupProductDto { @DataMember(Name="type", IsRequired=true) @SerializedName("type") open var ProductType:ProductTypeEnum? = null @DataMember(Name="status", IsRequired=true) @SerializedName("status") open var Status:StatusEnum? = null @DataMember(Name="id", IsRequired=true) @SerializedName("id") open var Id:UUID? = null @DataMember(Name="name", IsRequired=true) @SerializedName("name") open var Name:String? = null @DataMember(Name="externalId") @SerializedName("externalId") open var ExternalId:String? = null @DataMember(Name="articleNumber", IsRequired=true) @SerializedName("articleNumber") open var ArticleNumber:String? = null } @DataContract(Name="ProductGroupTagDto") open class ProductGroupTagDto { @DataMember(Name="type", IsRequired=true) @SerializedName("type") open var Type:TypeEnum? = null @DataMember(Name="tag", IsRequired=true) @SerializedName("tag") open var Tag:String? = null } enum class TypeEnum { AtSubscriptionBillingPeriodEnd, AtBindingPeriodEnd, Immediately, }