/* Options: Date: 2026-09-24 04:03:08 Version: 10.05 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://testapi.bokamera.se //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GetVossPackage.* //ExcludeTypes: //DefaultImports: */ // @ts-nocheck export interface IReturn { createResponse(): T; } export enum ProductTypeEnum { Main = 'Main', Addon = 'Addon', License = 'License', Usage = 'Usage', } export enum PeriodAnchorEnum { LatestPeriod = 'LatestPeriod', CurrentPeriod = 'CurrentPeriod', } export enum TypeEnum { AtSubscriptionBillingPeriodEnd = 'AtSubscriptionBillingPeriodEnd', AtBindingPeriodEnd = 'AtBindingPeriodEnd', } export enum ProductGroupTypeEnum { Optional = 'Optional', Included = 'Included', } export enum StatusEnum { Active = 'Active', Terminated = 'Terminated', } export enum PackageStatusEnum { Draft = 'Draft', Staged = 'Staged', Published = 'Published', Archived = 'Archived', Discarded = 'Discarded', } // @DataContract(Name="ProductGroupTagDto") export class ProductGroupTagDto { // @DataMember(Name="type", IsRequired=true) public type: TypeEnum; // @DataMember(Name="tag", IsRequired=true) public tag: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract(Name="PackageProductDto") export class PackageProductDto { // @DataMember(Name="type", IsRequired=true) public type: ProductTypeEnum; // @DataMember(Name="status", IsRequired=true) public status: StatusEnum; // @DataMember(Name="id", IsRequired=true) public id: string; // @DataMember(Name="name", IsRequired=true) public name: string; // @DataMember(Name="externalId") public externalId: string; // @DataMember(Name="articleNumber") public articleNumber: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract(Name="PackageProductGroupDto") export class PackageProductGroupDto { // @DataMember(Name="productGroupType", IsRequired=true) public productGroupType: ProductGroupTypeEnum; // @DataMember(Name="id", IsRequired=true) public id: string; // @DataMember(Name="name", IsRequired=true) public name: string; // @DataMember(Name="externalId") public externalId: string; // @DataMember(Name="tags", EmitDefaultValue=false) public tags: ProductGroupTagDto[] = []; // @DataMember(Name="products", EmitDefaultValue=false) public products: PackageProductDto[] = []; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract(Name="PackageTierDto") export class PackageTierDto { // @DataMember(Name="id", IsRequired=true) public id: string; // @DataMember(Name="name", IsRequired=true) public name: string; // @DataMember(Name="externalId") public externalId: string; // @DataMember(Name="productGroups", EmitDefaultValue=false) public productGroups: PackageProductGroupDto[] = []; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export enum PeriodEndActionEnum { Renew = 'Renew', Terminate = 'Terminate', } export enum UnitEnum { Day = 'Day', Month = 'Month', Year = 'Year', } // @DataContract(Name="TimeLengthDto") export class TimeLengthDto { // @DataMember(Name="unit", IsRequired=true) public unit: UnitEnum; // @DataMember(Name="value", EmitDefaultValue=false) public value: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract(Name="BindingPeriodCycleDto") export class BindingPeriodCycleDto { // @DataMember(Name="periodEndAction", IsRequired=true) public periodEndAction: PeriodEndActionEnum; // @DataMember(Name="length", IsRequired=true) public length: TimeLengthDto; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract(Name="PeriodDateOffsetDto") export class PeriodDateOffsetDto { // @DataMember(Name="periodAnchor", IsRequired=true) public periodAnchor: PeriodAnchorEnum; // @DataMember(Name="length", IsRequired=true) public length: TimeLengthDto; // @DataMember(Name="valueAnchor") public valueAnchor?: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract(Name="BillingPeriodCycleDto") export class BillingPeriodCycleDto { // @DataMember(Name="length", IsRequired=true) public length: TimeLengthDto; // @DataMember(Name="invoiceDateOffset", IsRequired=true) public invoiceDateOffset: PeriodDateOffsetDto; // @DataMember(Name="renewalDateOffset", IsRequired=true) public renewalDateOffset: PeriodDateOffsetDto; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract(Name="PackagePlanDto") export class PackagePlanDto { // @DataMember(Name="id", IsRequired=true) public id: string; // @DataMember(Name="name", IsRequired=true) public name: string; // @DataMember(Name="externalId") public externalId: string; // @DataMember(Name="bindingPeriodCycle", IsRequired=true) public bindingPeriodCycle: BindingPeriodCycleDto; // @DataMember(Name="subscriptionBillingPeriodCycle", IsRequired=true) public subscriptionBillingPeriodCycle: BillingPeriodCycleDto; // @DataMember(Name="usageBillingPeriodCycle", IsRequired=true) public usageBillingPeriodCycle: BillingPeriodCycleDto; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export enum PricingSchemeEnum { UnitPricing = 'UnitPricing', TierPricing = 'TierPricing', } // @DataContract(Name="ProductTierPricingDto") export class ProductTierPricingDto { // @DataMember(Name="index", EmitDefaultValue=false) public index: number; // @DataMember(Name="unitPrice", EmitDefaultValue=false) public unitPrice: number; // @DataMember(Name="flatPrice", EmitDefaultValue=false) public flatPrice: number; // @DataMember(Name="repeatEvery") public repeatEvery?: number; // @DataMember(Name="upperLimit") public upperLimit?: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract(Name="ProductPricingDto") export class ProductPricingDto { // @DataMember(Name="pricingScheme", IsRequired=true) public pricingScheme: PricingSchemeEnum; // @DataMember(Name="productId", IsRequired=true) public productId: string; // @DataMember(Name="includedQuantity") public includedQuantity?: number; // @DataMember(Name="maxQuantity") public maxQuantity?: number; // @DataMember(Name="unitPrice") public unitPrice?: number; // @DataMember(Name="tierPricing", EmitDefaultValue=false) public tierPricing: ProductTierPricingDto[] = []; // @DataMember(Name="articleNumber") public articleNumber: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract(Name="ProductGroupPricingDto") export class ProductGroupPricingDto { // @DataMember(Name="productGroupId", IsRequired=true) public productGroupId: string; // @DataMember(Name="articleNumber", IsRequired=true) public articleNumber: string; // @DataMember(Name="price", EmitDefaultValue=false) public price: number; // @DataMember(Name="productPricings", EmitDefaultValue=false) public productPricings: ProductPricingDto[] = []; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract(Name="PackageChargePlanDto") export class PackageChargePlanDto { // @DataMember(Name="id", IsRequired=true) public id: string; // @DataMember(Name="tierId", IsRequired=true) public tierId: string; // @DataMember(Name="planId", IsRequired=true) public planId: string; // @DataMember(Name="productGroupPricings", IsRequired=true) public productGroupPricings: ProductGroupPricingDto[] = []; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract(Name="PackageSalesChannelDto") export class PackageSalesChannelDto { // @DataMember(Name="id", IsRequired=true) public id: string; // @DataMember(Name="name", IsRequired=true) public name: string; // @DataMember(Name="description") public description: string; // @DataMember(Name="validFrom") public validFrom?: string; // @DataMember(Name="validTo") public validTo?: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract(Name="PackageTargetGroupDto") export class PackageTargetGroupDto { // @DataMember(Name="id", IsRequired=true) public id: string; // @DataMember(Name="name", IsRequired=true) public name: string; // @DataMember(Name="isDefault") public isDefault: boolean; // @DataMember(Name="externalId") public externalId: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract(Name="PackageScheduledChangeResultDto") export class PackageScheduledChangeResultDto { // @DataMember(Name="status") public status?: PackageStatusEnum; // @DataMember(Name="name") public name: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract(Name="PackageScheduledChangeResult") export class PackageScheduledChangeResult { // @DataMember(Name="status", IsRequired=true) public status: StatusEnum; // @DataMember(Name="id", IsRequired=true) public id: string; // @DataMember(Name="versionId", IsRequired=true) public versionId: string; // @DataMember(Name="package", EmitDefaultValue=false) public package: PackageScheduledChangeResultDto; // @DataMember(Name="scheduledDate", IsRequired=true) public scheduledDate: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export enum PeriodAnchorEnum { PeriodCreated = 'PeriodCreated', PeriodStart = 'PeriodStart', PeriodEnd = 'PeriodEnd', } // @DataContract(Name="PackageResult") export class PackageResult { // @DataMember(Name="status", IsRequired=true) public status: PackageStatusEnum; // @DataMember(Name="id", IsRequired=true) public id: string; // @DataMember(Name="versionId", IsRequired=true) public versionId: string; // @DataMember(Name="sourceVersionId") public sourceVersionId?: string; // @DataMember(Name="name", IsRequired=true) public name: string; // @DataMember(Name="externalId") public externalId: string; // @DataMember(Name="tiers", IsRequired=true) public tiers: PackageTierDto[] = []; // @DataMember(Name="plans", IsRequired=true) public plans: PackagePlanDto[] = []; // @DataMember(Name="chargePlans", IsRequired=true) public chargePlans: PackageChargePlanDto[] = []; // @DataMember(Name="salesChannels", IsRequired=true) public salesChannels: PackageSalesChannelDto[] = []; // @DataMember(Name="targetGroups", IsRequired=true) public targetGroups: PackageTargetGroupDto[] = []; // @DataMember(Name="scheduledChanges", IsRequired=true) public scheduledChanges: PackageScheduledChangeResult[] = []; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @Route("/voss/packages", "GET") // @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401) export class GetVossPackage implements IReturn { /** @description 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 PackageId?: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'GetVossPackage'; } public getMethod() { return 'GET'; } public createResponse() { return new PackageResult(); } }