""" Options: Date: 2025-07-01 19:21:07 Version: 8.23 Tip: To override a DTO option, remove "#" prefix before updating BaseUrl: https://testapi.bokamera.se #GlobalNamespace: #AddServiceStackTypes: True #AddResponseStatus: False #AddImplicitVersion: #AddDescriptionAsComments: True IncludeTypes: GetVossProducts.* #ExcludeTypes: #DefaultImports: datetime,decimal,marshmallow.fields:*,servicestack:*,typing:*,dataclasses:dataclass/field,dataclasses_json:dataclass_json/LetterCase/Undefined/config,enum:Enum/IntEnum #DataClass: #DataClassJson: """ import datetime import decimal from marshmallow.fields import * from servicestack import * from typing import * from dataclasses import dataclass, field from dataclasses_json import dataclass_json, LetterCase, Undefined, config from enum import Enum, IntEnum class ProductTypeEnum(str, Enum): MAIN = 'Main' ADDON = 'Addon' LICENSE = 'License' USAGE = 'Usage' # @Route("/voss/products", "GET") # @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class GetVossProducts(IReturn[List[ProductResponse]]): # @ApiMember(Description="The type of the product - Main = The product is treated as the main product of the product group (Only 1 allowed per product family in the package tier), billed in subscription billing period - Addon = The product is treated as the addon product of the product group (Multiple allowed per product family in the package tier when Main product is also present), billed in subscription billing period - License = The product is treated as the license product in the product group (Multiple allowed per product family in the package tier when Main product is also present), billed in subscription billing period and product quantity is carried over to the next billing period, requires to have individual pricing in a product group pricing - Usage = The product is treated as the usage product of the product group, billed in usage billing period, the product quantity is reset every usage billing period, requires to have individual pricing in a product group pricing\n") product_type: Optional[ProductTypeEnum] = None """ The type of the product - Main = The product is treated as the main product of the product group (Only 1 allowed per product family in the package tier), billed in subscription billing period - Addon = The product is treated as the addon product of the product group (Multiple allowed per product family in the package tier when Main product is also present), billed in subscription billing period - License = The product is treated as the license product in the product group (Multiple allowed per product family in the package tier when Main product is also present), billed in subscription billing period and product quantity is carried over to the next billing period, requires to have individual pricing in a product group pricing - Usage = The product is treated as the usage product of the product group, billed in usage billing period, the product quantity is reset every usage billing period, requires to have individual pricing in a product group pricing """