/* Options: Date: 2026-09-24 03:10:13 Version: 10.05 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://testapi.bokamera.se //Package: //GlobalNamespace: dtos //AddPropertyAccessors: True //SettersReturnThis: True //AddServiceStackTypes: True //AddResponseStatus: False //AddDescriptionAsComments: True //AddImplicitVersion: IncludeTypes: GetVossPackage.* //ExcludeTypes: //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.*; public class dtos { @Route(Path="/voss/packages", Verbs="GET") @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401) public static class GetVossPackage implements 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.") public UUID PackageId = null; public UUID getPackageId() { return PackageId; } public GetVossPackage setPackageId(UUID value) { this.PackageId = value; return this; } private static Object responseType = PackageResult.class; public Object getResponseType() { return responseType; } } @DataContract(Name="PackageResult") public static class PackageResult { @DataMember(Name="status", IsRequired=true) @SerializedName("status") public PackageStatusEnum PackageStatus = null; @DataMember(Name="id", IsRequired=true) @SerializedName("id") public UUID Id = null; @DataMember(Name="versionId", IsRequired=true) @SerializedName("versionId") public UUID VersionId = null; @DataMember(Name="sourceVersionId") @SerializedName("sourceVersionId") public UUID SourceVersionId = null; @DataMember(Name="name", IsRequired=true) @SerializedName("name") public String Name = null; @DataMember(Name="externalId") @SerializedName("externalId") public String ExternalId = null; @DataMember(Name="tiers", IsRequired=true) @SerializedName("tiers") public ArrayList Tiers = new ArrayList(); @DataMember(Name="plans", IsRequired=true) @SerializedName("plans") public ArrayList Plans = new ArrayList(); @DataMember(Name="chargePlans", IsRequired=true) @SerializedName("chargePlans") public ArrayList ChargePlans = new ArrayList(); @DataMember(Name="salesChannels", IsRequired=true) @SerializedName("salesChannels") public ArrayList SalesChannels = new ArrayList(); @DataMember(Name="targetGroups", IsRequired=true) @SerializedName("targetGroups") public ArrayList TargetGroups = new ArrayList(); @DataMember(Name="scheduledChanges", IsRequired=true) @SerializedName("scheduledChanges") public ArrayList ScheduledChanges = new ArrayList(); public PackageStatusEnum getPackageStatus() { return PackageStatus; } public PackageResult setPackageStatus(PackageStatusEnum value) { this.PackageStatus = value; return this; } public UUID getId() { return Id; } public PackageResult setId(UUID value) { this.Id = value; return this; } public UUID getVersionId() { return VersionId; } public PackageResult setVersionId(UUID value) { this.VersionId = value; return this; } public UUID getSourceVersionId() { return SourceVersionId; } public PackageResult setSourceVersionId(UUID value) { this.SourceVersionId = value; return this; } public String getName() { return Name; } public PackageResult setName(String value) { this.Name = value; return this; } public String getExternalId() { return ExternalId; } public PackageResult setExternalId(String value) { this.ExternalId = value; return this; } public ArrayList getTiers() { return Tiers; } public PackageResult setTiers(ArrayList value) { this.Tiers = value; return this; } public ArrayList getPlans() { return Plans; } public PackageResult setPlans(ArrayList value) { this.Plans = value; return this; } public ArrayList getChargePlans() { return ChargePlans; } public PackageResult setChargePlans(ArrayList value) { this.ChargePlans = value; return this; } public ArrayList getSalesChannels() { return SalesChannels; } public PackageResult setSalesChannels(ArrayList value) { this.SalesChannels = value; return this; } public ArrayList getTargetGroups() { return TargetGroups; } public PackageResult setTargetGroups(ArrayList value) { this.TargetGroups = value; return this; } public ArrayList getScheduledChanges() { return ScheduledChanges; } public PackageResult setScheduledChanges(ArrayList value) { this.ScheduledChanges = value; return this; } } public static enum ProductTypeEnum { Main, Addon, License, Usage; } public static enum PeriodAnchorEnum { LatestPeriod, CurrentPeriod; } public static enum TypeEnum { AtSubscriptionBillingPeriodEnd, AtBindingPeriodEnd; } public static enum ProductGroupTypeEnum { Optional, Included; } public static enum StatusEnum { Active, Terminated; } public static enum PackageStatusEnum { Draft, Staged, Published, Archived, Discarded; } @DataContract(Name="PackageTierDto") public static class PackageTierDto { @DataMember(Name="id", IsRequired=true) @SerializedName("id") public UUID Id = null; @DataMember(Name="name", IsRequired=true) @SerializedName("name") public String Name = null; @DataMember(Name="externalId") @SerializedName("externalId") public String ExternalId = null; @DataMember(Name="productGroups", EmitDefaultValue=false) @SerializedName("productGroups") public ArrayList ProductGroups = new ArrayList(); public UUID getId() { return Id; } public PackageTierDto setId(UUID value) { this.Id = value; return this; } public String getName() { return Name; } public PackageTierDto setName(String value) { this.Name = value; return this; } public String getExternalId() { return ExternalId; } public PackageTierDto setExternalId(String value) { this.ExternalId = value; return this; } public ArrayList getProductGroups() { return ProductGroups; } public PackageTierDto setProductGroups(ArrayList value) { this.ProductGroups = value; return this; } } @DataContract(Name="PackagePlanDto") public static class PackagePlanDto { @DataMember(Name="id", IsRequired=true) @SerializedName("id") public UUID Id = null; @DataMember(Name="name", IsRequired=true) @SerializedName("name") public String Name = null; @DataMember(Name="externalId") @SerializedName("externalId") public String ExternalId = null; @DataMember(Name="bindingPeriodCycle", IsRequired=true) @SerializedName("bindingPeriodCycle") public BindingPeriodCycleDto BindingPeriodCycle = null; @DataMember(Name="subscriptionBillingPeriodCycle", IsRequired=true) @SerializedName("subscriptionBillingPeriodCycle") public BillingPeriodCycleDto SubscriptionBillingPeriodCycle = null; @DataMember(Name="usageBillingPeriodCycle", IsRequired=true) @SerializedName("usageBillingPeriodCycle") public BillingPeriodCycleDto UsageBillingPeriodCycle = null; public UUID getId() { return Id; } public PackagePlanDto setId(UUID value) { this.Id = value; return this; } public String getName() { return Name; } public PackagePlanDto setName(String value) { this.Name = value; return this; } public String getExternalId() { return ExternalId; } public PackagePlanDto setExternalId(String value) { this.ExternalId = value; return this; } public BindingPeriodCycleDto getBindingPeriodCycle() { return BindingPeriodCycle; } public PackagePlanDto setBindingPeriodCycle(BindingPeriodCycleDto value) { this.BindingPeriodCycle = value; return this; } public BillingPeriodCycleDto getSubscriptionBillingPeriodCycle() { return SubscriptionBillingPeriodCycle; } public PackagePlanDto setSubscriptionBillingPeriodCycle(BillingPeriodCycleDto value) { this.SubscriptionBillingPeriodCycle = value; return this; } public BillingPeriodCycleDto getUsageBillingPeriodCycle() { return UsageBillingPeriodCycle; } public PackagePlanDto setUsageBillingPeriodCycle(BillingPeriodCycleDto value) { this.UsageBillingPeriodCycle = value; return this; } } @DataContract(Name="PackageChargePlanDto") public static class PackageChargePlanDto { @DataMember(Name="id", IsRequired=true) @SerializedName("id") public UUID Id = null; @DataMember(Name="tierId", IsRequired=true) @SerializedName("tierId") public UUID TierId = null; @DataMember(Name="planId", IsRequired=true) @SerializedName("planId") public UUID PlanId = null; @DataMember(Name="productGroupPricings", IsRequired=true) @SerializedName("productGroupPricings") public ArrayList ProductGroupPricings = new ArrayList(); public UUID getId() { return Id; } public PackageChargePlanDto setId(UUID value) { this.Id = value; return this; } public UUID getTierId() { return TierId; } public PackageChargePlanDto setTierId(UUID value) { this.TierId = value; return this; } public UUID getPlanId() { return PlanId; } public PackageChargePlanDto setPlanId(UUID value) { this.PlanId = value; return this; } public ArrayList getProductGroupPricings() { return ProductGroupPricings; } public PackageChargePlanDto setProductGroupPricings(ArrayList value) { this.ProductGroupPricings = value; return this; } } @DataContract(Name="PackageSalesChannelDto") public static class PackageSalesChannelDto { @DataMember(Name="id", IsRequired=true) @SerializedName("id") public UUID Id = null; @DataMember(Name="name", IsRequired=true) @SerializedName("name") public String Name = null; @DataMember(Name="description") @SerializedName("description") public String Description = null; @DataMember(Name="validFrom") @SerializedName("validFrom") public Date ValidFrom = null; @DataMember(Name="validTo") @SerializedName("validTo") public Date ValidTo = null; public UUID getId() { return Id; } public PackageSalesChannelDto setId(UUID value) { this.Id = value; return this; } public String getName() { return Name; } public PackageSalesChannelDto setName(String value) { this.Name = value; return this; } public String getDescription() { return Description; } public PackageSalesChannelDto setDescription(String value) { this.Description = value; return this; } public Date getValidFrom() { return ValidFrom; } public PackageSalesChannelDto setValidFrom(Date value) { this.ValidFrom = value; return this; } public Date getValidTo() { return ValidTo; } public PackageSalesChannelDto setValidTo(Date value) { this.ValidTo = value; return this; } } @DataContract(Name="PackageTargetGroupDto") public static class PackageTargetGroupDto { @DataMember(Name="id", IsRequired=true) @SerializedName("id") public UUID Id = null; @DataMember(Name="name", IsRequired=true) @SerializedName("name") public String Name = null; @DataMember(Name="isDefault") @SerializedName("isDefault") public Boolean IsDefault = null; @DataMember(Name="externalId") @SerializedName("externalId") public String ExternalId = null; public UUID getId() { return Id; } public PackageTargetGroupDto setId(UUID value) { this.Id = value; return this; } public String getName() { return Name; } public PackageTargetGroupDto setName(String value) { this.Name = value; return this; } public Boolean getIsDefault() { return IsDefault; } public PackageTargetGroupDto setIsDefault(Boolean value) { this.IsDefault = value; return this; } public String getExternalId() { return ExternalId; } public PackageTargetGroupDto setExternalId(String value) { this.ExternalId = value; return this; } } @DataContract(Name="PackageScheduledChangeResult") public static class PackageScheduledChangeResult { @DataMember(Name="status", IsRequired=true) @SerializedName("status") public StatusEnum Status = null; @DataMember(Name="id", IsRequired=true) @SerializedName("id") public UUID Id = null; @DataMember(Name="versionId", IsRequired=true) @SerializedName("versionId") public UUID VersionId = null; @DataMember(Name="package", EmitDefaultValue=false) @SerializedName("package") public PackageScheduledChangeResultDto Package = null; @DataMember(Name="scheduledDate", IsRequired=true) @SerializedName("scheduledDate") public Date ScheduledDate = null; public StatusEnum getStatus() { return Status; } public PackageScheduledChangeResult setStatus(StatusEnum value) { this.Status = value; return this; } public UUID getId() { return Id; } public PackageScheduledChangeResult setId(UUID value) { this.Id = value; return this; } public UUID getVersionId() { return VersionId; } public PackageScheduledChangeResult setVersionId(UUID value) { this.VersionId = value; return this; } public PackageScheduledChangeResultDto getPackage() { return Package; } public PackageScheduledChangeResult setPackage(PackageScheduledChangeResultDto value) { this.Package = value; return this; } public Date getScheduledDate() { return ScheduledDate; } public PackageScheduledChangeResult setScheduledDate(Date value) { this.ScheduledDate = value; return this; } } @DataContract(Name="ProductGroupTagDto") public static class ProductGroupTagDto { @DataMember(Name="type", IsRequired=true) @SerializedName("type") public TypeEnum Type = null; @DataMember(Name="tag", IsRequired=true) @SerializedName("tag") public String Tag = null; public TypeEnum getType() { return Type; } public ProductGroupTagDto setType(TypeEnum value) { this.Type = value; return this; } public String getTag() { return Tag; } public ProductGroupTagDto setTag(String value) { this.Tag = value; return this; } } @DataContract(Name="TimeLengthDto") public static class TimeLengthDto { @DataMember(Name="unit", IsRequired=true) @SerializedName("unit") public UnitEnum Unit = null; @DataMember(Name="value", EmitDefaultValue=false) @SerializedName("value") public Integer Value = null; public UnitEnum getUnit() { return Unit; } public TimeLengthDto setUnit(UnitEnum value) { this.Unit = value; return this; } public Integer getValue() { return Value; } public TimeLengthDto setValue(Integer value) { this.Value = value; return this; } } @DataContract(Name="PackageProductGroupDto") public static class PackageProductGroupDto { @DataMember(Name="productGroupType", IsRequired=true) @SerializedName("productGroupType") public ProductGroupTypeEnum ProductGroupType = null; @DataMember(Name="id", IsRequired=true) @SerializedName("id") public UUID Id = null; @DataMember(Name="name", IsRequired=true) @SerializedName("name") public String Name = null; @DataMember(Name="externalId") @SerializedName("externalId") public String ExternalId = null; @DataMember(Name="tags", EmitDefaultValue=false) @SerializedName("tags") public ArrayList Tags = new ArrayList(); @DataMember(Name="products", EmitDefaultValue=false) @SerializedName("products") public ArrayList Products = new ArrayList(); public ProductGroupTypeEnum getProductGroupType() { return ProductGroupType; } public PackageProductGroupDto setProductGroupType(ProductGroupTypeEnum value) { this.ProductGroupType = value; return this; } public UUID getId() { return Id; } public PackageProductGroupDto setId(UUID value) { this.Id = value; return this; } public String getName() { return Name; } public PackageProductGroupDto setName(String value) { this.Name = value; return this; } public String getExternalId() { return ExternalId; } public PackageProductGroupDto setExternalId(String value) { this.ExternalId = value; return this; } public ArrayList getTags() { return Tags; } public PackageProductGroupDto setTags(ArrayList value) { this.Tags = value; return this; } public ArrayList getProducts() { return Products; } public PackageProductGroupDto setProducts(ArrayList value) { this.Products = value; return this; } } @DataContract(Name="BindingPeriodCycleDto") public static class BindingPeriodCycleDto { @DataMember(Name="periodEndAction", IsRequired=true) @SerializedName("periodEndAction") public PeriodEndActionEnum PeriodEndAction = null; @DataMember(Name="length", IsRequired=true) @SerializedName("length") public TimeLengthDto Length = null; public PeriodEndActionEnum getPeriodEndAction() { return PeriodEndAction; } public BindingPeriodCycleDto setPeriodEndAction(PeriodEndActionEnum value) { this.PeriodEndAction = value; return this; } public TimeLengthDto getLength() { return Length; } public BindingPeriodCycleDto setLength(TimeLengthDto value) { this.Length = value; return this; } } @DataContract(Name="BillingPeriodCycleDto") public static class BillingPeriodCycleDto { @DataMember(Name="length", IsRequired=true) @SerializedName("length") public TimeLengthDto Length = null; @DataMember(Name="invoiceDateOffset", IsRequired=true) @SerializedName("invoiceDateOffset") public PeriodDateOffsetDto InvoiceDateOffset = null; @DataMember(Name="renewalDateOffset", IsRequired=true) @SerializedName("renewalDateOffset") public PeriodDateOffsetDto RenewalDateOffset = null; public TimeLengthDto getLength() { return Length; } public BillingPeriodCycleDto setLength(TimeLengthDto value) { this.Length = value; return this; } public PeriodDateOffsetDto getInvoiceDateOffset() { return InvoiceDateOffset; } public BillingPeriodCycleDto setInvoiceDateOffset(PeriodDateOffsetDto value) { this.InvoiceDateOffset = value; return this; } public PeriodDateOffsetDto getRenewalDateOffset() { return RenewalDateOffset; } public BillingPeriodCycleDto setRenewalDateOffset(PeriodDateOffsetDto value) { this.RenewalDateOffset = value; return this; } } @DataContract(Name="ProductGroupPricingDto") public static class ProductGroupPricingDto { @DataMember(Name="productGroupId", IsRequired=true) @SerializedName("productGroupId") public UUID ProductGroupId = null; @DataMember(Name="articleNumber", IsRequired=true) @SerializedName("articleNumber") public String ArticleNumber = null; @DataMember(Name="price", EmitDefaultValue=false) @SerializedName("price") public Double Price = null; @DataMember(Name="productPricings", EmitDefaultValue=false) @SerializedName("productPricings") public ArrayList ProductPricings = new ArrayList(); public UUID getProductGroupId() { return ProductGroupId; } public ProductGroupPricingDto setProductGroupId(UUID value) { this.ProductGroupId = value; return this; } public String getArticleNumber() { return ArticleNumber; } public ProductGroupPricingDto setArticleNumber(String value) { this.ArticleNumber = value; return this; } public Double getPrice() { return Price; } public ProductGroupPricingDto setPrice(Double value) { this.Price = value; return this; } public ArrayList getProductPricings() { return ProductPricings; } public ProductGroupPricingDto setProductPricings(ArrayList value) { this.ProductPricings = value; return this; } } @DataContract(Name="PackageScheduledChangeResultDto") public static class PackageScheduledChangeResultDto { @DataMember(Name="status") @SerializedName("status") public PackageStatusEnum Status = null; @DataMember(Name="name") @SerializedName("name") public String Name = null; public PackageStatusEnum getStatus() { return Status; } public PackageScheduledChangeResultDto setStatus(PackageStatusEnum value) { this.Status = value; return this; } public String getName() { return Name; } public PackageScheduledChangeResultDto setName(String value) { this.Name = value; return this; } } public static enum UnitEnum { Day, Month, Year; } @DataContract(Name="PackageProductDto") public static class PackageProductDto { @DataMember(Name="type", IsRequired=true) @SerializedName("type") public ProductTypeEnum ProductType = null; @DataMember(Name="status", IsRequired=true) @SerializedName("status") public StatusEnum Status = null; @DataMember(Name="id", IsRequired=true) @SerializedName("id") public UUID Id = null; @DataMember(Name="name", IsRequired=true) @SerializedName("name") public String Name = null; @DataMember(Name="externalId") @SerializedName("externalId") public String ExternalId = null; @DataMember(Name="articleNumber") @SerializedName("articleNumber") public String ArticleNumber = null; public ProductTypeEnum getProductType() { return ProductType; } public PackageProductDto setProductType(ProductTypeEnum value) { this.ProductType = value; return this; } public StatusEnum getStatus() { return Status; } public PackageProductDto setStatus(StatusEnum value) { this.Status = value; return this; } public UUID getId() { return Id; } public PackageProductDto setId(UUID value) { this.Id = value; return this; } public String getName() { return Name; } public PackageProductDto setName(String value) { this.Name = value; return this; } public String getExternalId() { return ExternalId; } public PackageProductDto setExternalId(String value) { this.ExternalId = value; return this; } public String getArticleNumber() { return ArticleNumber; } public PackageProductDto setArticleNumber(String value) { this.ArticleNumber = value; return this; } } public static enum PeriodEndActionEnum { Renew, Terminate; } @DataContract(Name="PeriodDateOffsetDto") public static class PeriodDateOffsetDto { @DataMember(Name="periodAnchor", IsRequired=true) @SerializedName("periodAnchor") public PeriodAnchorEnum PeriodAnchor = null; @DataMember(Name="length", IsRequired=true) @SerializedName("length") public TimeLengthDto Length = null; @DataMember(Name="valueAnchor") @SerializedName("valueAnchor") public Integer ValueAnchor = null; public PeriodAnchorEnum getPeriodAnchor() { return PeriodAnchor; } public PeriodDateOffsetDto setPeriodAnchor(PeriodAnchorEnum value) { this.PeriodAnchor = value; return this; } public TimeLengthDto getLength() { return Length; } public PeriodDateOffsetDto setLength(TimeLengthDto value) { this.Length = value; return this; } public Integer getValueAnchor() { return ValueAnchor; } public PeriodDateOffsetDto setValueAnchor(Integer value) { this.ValueAnchor = value; return this; } } @DataContract(Name="ProductPricingDto") public static class ProductPricingDto { @DataMember(Name="pricingScheme", IsRequired=true) @SerializedName("pricingScheme") public PricingSchemeEnum PricingScheme = null; @DataMember(Name="productId", IsRequired=true) @SerializedName("productId") public UUID ProductId = null; @DataMember(Name="includedQuantity") @SerializedName("includedQuantity") public Integer IncludedQuantity = null; @DataMember(Name="maxQuantity") @SerializedName("maxQuantity") public Integer MaxQuantity = null; @DataMember(Name="unitPrice") @SerializedName("unitPrice") public Double UnitPrice = null; @DataMember(Name="tierPricing", EmitDefaultValue=false) @SerializedName("tierPricing") public ArrayList TierPricing = new ArrayList(); @DataMember(Name="articleNumber") @SerializedName("articleNumber") public String ArticleNumber = null; public PricingSchemeEnum getPricingScheme() { return PricingScheme; } public ProductPricingDto setPricingScheme(PricingSchemeEnum value) { this.PricingScheme = value; return this; } public UUID getProductId() { return ProductId; } public ProductPricingDto setProductId(UUID value) { this.ProductId = value; return this; } public Integer getIncludedQuantity() { return IncludedQuantity; } public ProductPricingDto setIncludedQuantity(Integer value) { this.IncludedQuantity = value; return this; } public Integer getMaxQuantity() { return MaxQuantity; } public ProductPricingDto setMaxQuantity(Integer value) { this.MaxQuantity = value; return this; } public Double getUnitPrice() { return UnitPrice; } public ProductPricingDto setUnitPrice(Double value) { this.UnitPrice = value; return this; } public ArrayList getTierPricing() { return TierPricing; } public ProductPricingDto setTierPricing(ArrayList value) { this.TierPricing = value; return this; } public String getArticleNumber() { return ArticleNumber; } public ProductPricingDto setArticleNumber(String value) { this.ArticleNumber = value; return this; } } public static enum PeriodAnchorEnum { PeriodCreated, PeriodStart, PeriodEnd; } public static enum PricingSchemeEnum { UnitPricing, TierPricing; } @DataContract(Name="ProductTierPricingDto") public static class ProductTierPricingDto { @DataMember(Name="index", EmitDefaultValue=false) @SerializedName("index") public Integer Index = null; @DataMember(Name="unitPrice", EmitDefaultValue=false) @SerializedName("unitPrice") public Double UnitPrice = null; @DataMember(Name="flatPrice", EmitDefaultValue=false) @SerializedName("flatPrice") public Double FlatPrice = null; @DataMember(Name="repeatEvery") @SerializedName("repeatEvery") public Integer RepeatEvery = null; @DataMember(Name="upperLimit") @SerializedName("upperLimit") public Integer UpperLimit = null; public Integer getIndex() { return Index; } public ProductTierPricingDto setIndex(Integer value) { this.Index = value; return this; } public Double getUnitPrice() { return UnitPrice; } public ProductTierPricingDto setUnitPrice(Double value) { this.UnitPrice = value; return this; } public Double getFlatPrice() { return FlatPrice; } public ProductTierPricingDto setFlatPrice(Double value) { this.FlatPrice = value; return this; } public Integer getRepeatEvery() { return RepeatEvery; } public ProductTierPricingDto setRepeatEvery(Integer value) { this.RepeatEvery = value; return this; } public Integer getUpperLimit() { return UpperLimit; } public ProductTierPricingDto setUpperLimit(Integer value) { this.UpperLimit = value; return this; } } }