/* Options: Date: 2026-09-24 03:22:25 Version: 10.05 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://testapi.bokamera.se //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GetVossPackage.* //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/packages", Verbs="GET") @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401) open class GetVossPackage : IReturn { /** * The package id; if not passed the configured BokaMera package will be used. */ @ApiMember(Description="The package id; if not passed the configured BokaMera package will be used.") open var PackageId:UUID? = null companion object { private val responseType = PackageResult::class.java } override fun getResponseType(): Any? = GetVossPackage.responseType } @DataContract(Name="PackageResult") open class PackageResult { @DataMember(Name="status", IsRequired=true) @SerializedName("status") open var PackageStatus:PackageStatusEnum? = 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="sourceVersionId") @SerializedName("sourceVersionId") open var SourceVersionId: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="tiers", IsRequired=true) @SerializedName("tiers") open var Tiers:ArrayList = ArrayList() @DataMember(Name="plans", IsRequired=true) @SerializedName("plans") open var Plans:ArrayList = ArrayList() @DataMember(Name="chargePlans", IsRequired=true) @SerializedName("chargePlans") open var ChargePlans:ArrayList = ArrayList() @DataMember(Name="salesChannels", IsRequired=true) @SerializedName("salesChannels") open var SalesChannels:ArrayList = ArrayList() @DataMember(Name="targetGroups", IsRequired=true) @SerializedName("targetGroups") open var TargetGroups:ArrayList = ArrayList() @DataMember(Name="scheduledChanges", IsRequired=true) @SerializedName("scheduledChanges") open var ScheduledChanges:ArrayList = ArrayList() } enum class ProductTypeEnum { Main, Addon, License, Usage, } enum class PeriodAnchorEnum { LatestPeriod, CurrentPeriod, } enum class TypeEnum { AtSubscriptionBillingPeriodEnd, AtBindingPeriodEnd, } enum class ProductGroupTypeEnum { Optional, Included, } enum class StatusEnum { Active, Terminated, } enum class PackageStatusEnum { Draft, Staged, Published, Archived, Discarded, } @DataContract(Name="PackageTierDto") open class PackageTierDto { @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="productGroups", EmitDefaultValue=false) @SerializedName("productGroups") open var ProductGroups:ArrayList = ArrayList() } @DataContract(Name="PackagePlanDto") open class PackagePlanDto { @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="bindingPeriodCycle", IsRequired=true) @SerializedName("bindingPeriodCycle") open var BindingPeriodCycle:BindingPeriodCycleDto? = null @DataMember(Name="subscriptionBillingPeriodCycle", IsRequired=true) @SerializedName("subscriptionBillingPeriodCycle") open var SubscriptionBillingPeriodCycle:BillingPeriodCycleDto? = null @DataMember(Name="usageBillingPeriodCycle", IsRequired=true) @SerializedName("usageBillingPeriodCycle") open var UsageBillingPeriodCycle:BillingPeriodCycleDto? = null } @DataContract(Name="PackageChargePlanDto") open class PackageChargePlanDto { @DataMember(Name="id", IsRequired=true) @SerializedName("id") open var Id:UUID? = null @DataMember(Name="tierId", IsRequired=true) @SerializedName("tierId") open var TierId:UUID? = null @DataMember(Name="planId", IsRequired=true) @SerializedName("planId") open var PlanId:UUID? = null @DataMember(Name="productGroupPricings", IsRequired=true) @SerializedName("productGroupPricings") open var ProductGroupPricings:ArrayList = ArrayList() } @DataContract(Name="PackageSalesChannelDto") open class PackageSalesChannelDto { @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="description") @SerializedName("description") open var Description:String? = null @DataMember(Name="validFrom") @SerializedName("validFrom") open var ValidFrom:Date? = null @DataMember(Name="validTo") @SerializedName("validTo") open var ValidTo:Date? = null } @DataContract(Name="PackageTargetGroupDto") open class PackageTargetGroupDto { @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="isDefault") @SerializedName("isDefault") open var IsDefault:Boolean? = null @DataMember(Name="externalId") @SerializedName("externalId") open var ExternalId:String? = null } @DataContract(Name="PackageScheduledChangeResult") open class PackageScheduledChangeResult { @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="versionId", IsRequired=true) @SerializedName("versionId") open var VersionId:UUID? = null @DataMember(Name="package", EmitDefaultValue=false) @SerializedName("package") open var Package:PackageScheduledChangeResultDto? = null @DataMember(Name="scheduledDate", IsRequired=true) @SerializedName("scheduledDate") open var ScheduledDate:Date? = 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 } @DataContract(Name="TimeLengthDto") open class TimeLengthDto { @DataMember(Name="unit", IsRequired=true) @SerializedName("unit") open var Unit:UnitEnum? = null @DataMember(Name="value", EmitDefaultValue=false) @SerializedName("value") open var Value:Int? = null } @DataContract(Name="PackageProductGroupDto") open class PackageProductGroupDto { @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="name", IsRequired=true) @SerializedName("name") open var Name:String? = null @DataMember(Name="externalId") @SerializedName("externalId") open var ExternalId:String? = null @DataMember(Name="tags", EmitDefaultValue=false) @SerializedName("tags") open var Tags:ArrayList = ArrayList() @DataMember(Name="products", EmitDefaultValue=false) @SerializedName("products") open var Products:ArrayList = ArrayList() } @DataContract(Name="BindingPeriodCycleDto") open class BindingPeriodCycleDto { @DataMember(Name="periodEndAction", IsRequired=true) @SerializedName("periodEndAction") open var PeriodEndAction:PeriodEndActionEnum? = null @DataMember(Name="length", IsRequired=true) @SerializedName("length") open var Length:TimeLengthDto? = null } @DataContract(Name="BillingPeriodCycleDto") open class BillingPeriodCycleDto { @DataMember(Name="length", IsRequired=true) @SerializedName("length") open var Length:TimeLengthDto? = null @DataMember(Name="invoiceDateOffset", IsRequired=true) @SerializedName("invoiceDateOffset") open var InvoiceDateOffset:PeriodDateOffsetDto? = null @DataMember(Name="renewalDateOffset", IsRequired=true) @SerializedName("renewalDateOffset") open var RenewalDateOffset:PeriodDateOffsetDto? = null } @DataContract(Name="ProductGroupPricingDto") open class ProductGroupPricingDto { @DataMember(Name="productGroupId", IsRequired=true) @SerializedName("productGroupId") open var ProductGroupId:UUID? = null @DataMember(Name="articleNumber", IsRequired=true) @SerializedName("articleNumber") open var ArticleNumber:String? = null @DataMember(Name="price", EmitDefaultValue=false) @SerializedName("price") open var Price:Double? = null @DataMember(Name="productPricings", EmitDefaultValue=false) @SerializedName("productPricings") open var ProductPricings:ArrayList = ArrayList() } @DataContract(Name="PackageScheduledChangeResultDto") open class PackageScheduledChangeResultDto { @DataMember(Name="status") @SerializedName("status") open var Status:PackageStatusEnum? = null @DataMember(Name="name") @SerializedName("name") open var Name:String? = null } enum class UnitEnum { Day, Month, Year, } @DataContract(Name="PackageProductDto") open class PackageProductDto { @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") @SerializedName("articleNumber") open var ArticleNumber:String? = null } enum class PeriodEndActionEnum { Renew, Terminate, } @DataContract(Name="PeriodDateOffsetDto") open class PeriodDateOffsetDto { @DataMember(Name="periodAnchor", IsRequired=true) @SerializedName("periodAnchor") open var PeriodAnchor:PeriodAnchorEnum? = null @DataMember(Name="length", IsRequired=true) @SerializedName("length") open var Length:TimeLengthDto? = null @DataMember(Name="valueAnchor") @SerializedName("valueAnchor") open var ValueAnchor:Int? = null } @DataContract(Name="ProductPricingDto") open class ProductPricingDto { @DataMember(Name="pricingScheme", IsRequired=true) @SerializedName("pricingScheme") open var PricingScheme:PricingSchemeEnum? = null @DataMember(Name="productId", IsRequired=true) @SerializedName("productId") open var ProductId:UUID? = null @DataMember(Name="includedQuantity") @SerializedName("includedQuantity") open var IncludedQuantity:Int? = null @DataMember(Name="maxQuantity") @SerializedName("maxQuantity") open var MaxQuantity:Int? = null @DataMember(Name="unitPrice") @SerializedName("unitPrice") open var UnitPrice:Double? = null @DataMember(Name="tierPricing", EmitDefaultValue=false) @SerializedName("tierPricing") open var TierPricing:ArrayList = ArrayList() @DataMember(Name="articleNumber") @SerializedName("articleNumber") open var ArticleNumber:String? = null } enum class PeriodAnchorEnum { PeriodCreated, PeriodStart, PeriodEnd, } enum class PricingSchemeEnum { UnitPricing, TierPricing, } @DataContract(Name="ProductTierPricingDto") open class ProductTierPricingDto { @DataMember(Name="index", EmitDefaultValue=false) @SerializedName("index") open var Index:Int? = null @DataMember(Name="unitPrice", EmitDefaultValue=false) @SerializedName("unitPrice") open var UnitPrice:Double? = null @DataMember(Name="flatPrice", EmitDefaultValue=false) @SerializedName("flatPrice") open var FlatPrice:Double? = null @DataMember(Name="repeatEvery") @SerializedName("repeatEvery") open var RepeatEvery:Int? = null @DataMember(Name="upperLimit") @SerializedName("upperLimit") open var UpperLimit:Int? = null }