""" Options: Date: 2025-04-04 17:51:06 Version: 5.140 Tip: To override a DTO option, remove "#" prefix before updating BaseUrl: https://api.clubmanagercentral.com #GlobalNamespace: #AddServiceStackTypes: True #AddResponseStatus: False #AddImplicitVersion: #AddDescriptionAsComments: True IncludeTypes: Command.AddProspectCommandRequest.* #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 @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class CustomAttributeValue: custom_attribute_id: int = 0 custom_attribute_value_id: Optional[int] = None instance_id: Optional[int] = None stored_value: Optional[str] = None type_name: Optional[str] = None read_only: bool = False class Gender(str, Enum): UNKNOWN = 'Unknown' MALE = 'Male' FEMALE = 'Female' OTHER = 'Other' PREFER_NOT_TO_SAY = 'PreferNotToSay' class ICommandResult: pass @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class AddProspectResult(ICommandResult): member_id: int = 0 is_existing_member: bool = False member_key: Optional[str] = None app_registration_id: Optional[str] = None # @Route("/api/Command/AddProspectCommand", "POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class AddProspectCommandRequest(IReturn[AddProspectResult]): gender: Optional[Gender] = None tags: Optional[List[str]] = None agreed_to_terms: bool = False is_online_joining: bool = False photo_permission: bool = False first_aid_permission: bool = False gift_aid_permission: bool = False opt_in_email: bool = False opt_in_sms: bool = False opt_in_notification: bool = False opt_in_postal: bool = False opt_in_telephone: bool = False custom_attributes: Optional[List[CustomAttributeValue]] = None member_id: Optional[int] = None title: Optional[str] = None forenames: Optional[str] = None surname: Optional[str] = None company_name: Optional[str] = None address1: Optional[str] = None address2: Optional[str] = None city: Optional[str] = None county: Optional[str] = None country: Optional[str] = None postcode: Optional[str] = None date_of_birth: Optional[datetime.datetime] = None email_address: Optional[str] = None home_phone: Optional[str] = None mobile_phone: Optional[str] = None emergency_contact: Optional[str] = None parent_name: Optional[str] = None parent_surname: Optional[str] = None medical_information: Optional[str] = None recaptcha: Optional[str] = None