""" Options:
Date: 2025-04-03 23:29:03
Version: 8.52
Tip: To override a DTO option, remove "#" prefix before updating
BaseUrl: https://taxfiling.pwc.de

#GlobalNamespace: 
#AddServiceStackTypes: True
#AddResponseStatus: False
#AddImplicitVersion: 
#AddDescriptionAsComments: True
IncludeTypes: CreateUuidAsync.*
#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


# @Api(Description="Specifies a base service to generate a Universal Unique Identifier.")
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CreateUuidBase(IReturn[UuidResponse], IGet):
    """
    Specifies a base service to generate a Universal Unique Identifier.
    """

    @staticmethod
    def response_type(): return UuidResponse


# @Api(Description="Represent a base response that encapsulate any ERiC API function return value.")
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class EricFehlerCodeResponse(ServiceReponseBase):
    """
    Represent a base response that encapsulate any ERiC API function return value.
    """

    # @ApiMember(Description="The status code that the ERiC API function returns.")
    status_code: Optional[EricFehlerCode] = None
    """
    The status code that the ERiC API function returns.
    """


    # @ApiMember(Description="The status message that the ERiC API function returns.")
    status_text: Optional[str] = None
    """
    The status message that the ERiC API function returns.
    """


# @Api(Description="Represents a type that encaspulates a Universal Unique Identifier (UUID).")
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class UuidResponse(EricFehlerCodeResponse):
    """
    Represents a type that encaspulates a Universal Unique Identifier (UUID).
    """

    # @ApiMember(Description="The generated Universal Unique Identifier.")
    uuid: Optional[str] = None
    """
    The generated Universal Unique Identifier.
    """


# @Route("/CreateUuidAsync", "GET")
# @Api(Description="An asynchronous service to generate a Universal Unique Identifier.")
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CreateUuidAsync(CreateUuidBase, IReturn[UuidResponse]):
    """
    An asynchronous service to generate a Universal Unique Identifier.
    """

    pass