""" Options: Date: 2026-09-24 02:14:19 Version: 10.05 Tip: To override a DTO option, remove "#" prefix before updating BaseUrl: https://testapi.bokamera.se #GlobalNamespace: #AddServiceStackTypes: True #AddResponseStatus: False #AddImplicitVersion: #AddDescriptionAsComments: True IncludeTypes: SearchVossCustomers.* #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 Object = TypeVar('Object') class CountryCodeEnum(str, Enum): AD = 'AD' AE = 'AE' AF = 'AF' AG = 'AG' AI = 'AI' AL = 'AL' AM = 'AM' AO = 'AO' AQ = 'AQ' AR = 'AR' AS = 'AS' AT = 'AT' AU = 'AU' AW = 'AW' AX = 'AX' AZ = 'AZ' BA = 'BA' BB = 'BB' BD = 'BD' BE = 'BE' BF = 'BF' BG = 'BG' BH = 'BH' BI = 'BI' BJ = 'BJ' BL = 'BL' BM = 'BM' BN = 'BN' BO = 'BO' BQ = 'BQ' BR = 'BR' BS = 'BS' BT = 'BT' BV = 'BV' BW = 'BW' BY = 'BY' BZ = 'BZ' CA = 'CA' CC = 'CC' CD = 'CD' CF = 'CF' CG = 'CG' CH = 'CH' CI = 'CI' CK = 'CK' CL = 'CL' CM = 'CM' CN = 'CN' CO = 'CO' CR = 'CR' CU = 'CU' CV = 'CV' CW = 'CW' CX = 'CX' CY = 'CY' CZ = 'CZ' DE = 'DE' DJ = 'DJ' DK = 'DK' DM = 'DM' DO = 'DO' DZ = 'DZ' EC = 'EC' EE = 'EE' EG = 'EG' EH = 'EH' ER = 'ER' ES = 'ES' ET = 'ET' FI = 'FI' FJ = 'FJ' FK = 'FK' FM = 'FM' FO = 'FO' FR = 'FR' GA = 'GA' GB = 'GB' GD = 'GD' GE = 'GE' GF = 'GF' GG = 'GG' GH = 'GH' GI = 'GI' GL = 'GL' GM = 'GM' GN = 'GN' GP = 'GP' GQ = 'GQ' GR = 'GR' GS = 'GS' GT = 'GT' GU = 'GU' GW = 'GW' GY = 'GY' HK = 'HK' HM = 'HM' HN = 'HN' HR = 'HR' HT = 'HT' HU = 'HU' ID = 'ID' IE = 'IE' IL = 'IL' IM = 'IM' IN = 'IN' IO = 'IO' IQ = 'IQ' IR = 'IR' IS = 'IS' IT = 'IT' JE = 'JE' JM = 'JM' JO = 'JO' JP = 'JP' KE = 'KE' KG = 'KG' KH = 'KH' KI = 'KI' KM = 'KM' KN = 'KN' KP = 'KP' KR = 'KR' KW = 'KW' KY = 'KY' KZ = 'KZ' LA = 'LA' LB = 'LB' LC = 'LC' LI = 'LI' LK = 'LK' LR = 'LR' LS = 'LS' LT = 'LT' LU = 'LU' LV = 'LV' LY = 'LY' MA = 'MA' MC = 'MC' MD = 'MD' ME = 'ME' MF = 'MF' MG = 'MG' MH = 'MH' MK = 'MK' ML = 'ML' MM = 'MM' MN = 'MN' MO = 'MO' MP = 'MP' MQ = 'MQ' MR = 'MR' MS = 'MS' MT = 'MT' MU = 'MU' MV = 'MV' MW = 'MW' MX = 'MX' MY = 'MY' MZ = 'MZ' NA = 'NA' NC = 'NC' NE = 'NE' NF = 'NF' NG = 'NG' NI = 'NI' NL = 'NL' NO = 'NO' NP = 'NP' NR = 'NR' NU = 'NU' NZ = 'NZ' OM = 'OM' PA = 'PA' PE = 'PE' PF = 'PF' PG = 'PG' PH = 'PH' PK = 'PK' PL = 'PL' PM = 'PM' PN = 'PN' PR = 'PR' PS = 'PS' PT = 'PT' PW = 'PW' PY = 'PY' QA = 'QA' RE = 'RE' RO = 'RO' RS = 'RS' RU = 'RU' RW = 'RW' SA = 'SA' SB = 'SB' SC = 'SC' SD = 'SD' SE = 'SE' SG = 'SG' SH = 'SH' SI = 'SI' SJ = 'SJ' SK = 'SK' SL = 'SL' SM = 'SM' SN = 'SN' SO = 'SO' SR = 'SR' SS = 'SS' ST = 'ST' SV = 'SV' SX = 'SX' SY = 'SY' SZ = 'SZ' TC = 'TC' TD = 'TD' TF = 'TF' TG = 'TG' TH = 'TH' TJ = 'TJ' TK = 'TK' TL = 'TL' TM = 'TM' TN = 'TN' TO = 'TO' TR = 'TR' TT = 'TT' TV = 'TV' TW = 'TW' TZ = 'TZ' UA = 'UA' UG = 'UG' UM = 'UM' US = 'US' UY = 'UY' UZ = 'UZ' VA = 'VA' VC = 'VC' VE = 'VE' VG = 'VG' VI = 'VI' VN = 'VN' VU = 'VU' WF = 'WF' WS = 'WS' YE = 'YE' YT = 'YT' ZA = 'ZA' ZM = 'ZM' ZW = 'ZW' @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class CustomerContactPersonDto: email: Optional[str] = None first_name: Optional[str] = None last_name: Optional[str] = None phone_number: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class CustomerTargetGroupDto: id: Optional[str] = None name: Optional[str] = None is_default: bool = False external_id: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class CustomerResult: country_code: Optional[CountryCodeEnum] = None id: Optional[str] = None name: Optional[str] = None customer_number: Optional[int] = None organization_number: Optional[str] = None email: Optional[str] = None care_of: Optional[str] = None address: Optional[str] = None postal_code: Optional[str] = None city: Optional[str] = None electronic_invoice_operator_code: Optional[str] = None electronic_invoice_address: Optional[str] = None customer_group: Optional[int] = None contact_person: Optional[CustomerContactPersonDto] = None target_groups: List[CustomerTargetGroupDto] = field(default_factory=list) expiry_date: Optional[datetime.datetime] = None created: datetime.datetime = datetime.datetime(1, 1, 1) external_id: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class SearchVossCustomersResponse: total_count: int = 0 items: List[CustomerResult] = field(default_factory=list) # @Route("/voss/customers", "GET") # @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class SearchVossCustomers(IReturn[SearchVossCustomersResponse]): # @ApiMember(Description="Organization number to search for.") organization_number: Optional[str] = None """ Organization number to search for. """ # @ApiMember(Description="Voss customer number to search for.") customer_number: Optional[int] = None """ Voss customer number to search for. """ # @ApiMember(Description="External id to search for.") external_id: Optional[str] = None """ External id to search for. """