""" Options: Date: 2024-11-24 13:30:00 Version: 6.50 Tip: To override a DTO option, remove "#" prefix before updating BaseUrl: https://clubready.com/api/current #GlobalNamespace: #AddServiceStackTypes: True #AddResponseStatus: False #AddImplicitVersion: #AddDescriptionAsComments: True IncludeTypes: CreateProspectRequestV2.* #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 RestrictedResourceType(str, Enum): STORE = 'Store' CHAIN = 'Chain' USER = 'User' UNDEFINED = 'Undefined' class IRestrictedApiRequest(IApiKeyEndpoint): restricted_id: Optional[int] = None restricted_resource_type: Optional[RestrictedResourceType] = None class IApiKeyEndpoint: api_key: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class ApiDtoBase: api_key: Optional[str] = None store_id: Optional[int] = None chain_id: Optional[int] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class CreateProspectRequestV2Dto(ApiDtoBase): first_name: Optional[str] = None last_name: Optional[str] = None address: Optional[str] = None city: Optional[str] = None state: Optional[str] = None zip: Optional[str] = None email: Optional[str] = None gender: Optional[str] = None add_package_id: Optional[int] = None prospect_type_id: Optional[int] = None referral_type_id: Optional[int] = None send_email: bool = False phone: Optional[str] = None work_phone: Optional[str] = None date_of_birth: Optional[datetime.datetime] = None cell_phone: Optional[str] = None coupon: Optional[str] = None note: Optional[str] = None email_template_id: Optional[int] = None # @Route("/v2/{ApiKey}/club/{StoreId}/prospect", "POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class CreateProspectRequestV2(CreateProspectRequestV2Dto, IRestrictedApiRequest): # @ApiMember(DataType="string", Description="Api Key - grants access to resources", IsRequired=true, Name="ApiKey", ParameterType="query") api_key: Optional[str] = None """ Api Key - grants access to resources """ # @ApiMember(DataType="integer", Description="ClubReady Club ID (StoreID internally)", IsRequired=true, Name="StoreId", ParameterType="query") store_id: Optional[int] = None """ ClubReady Club ID (StoreID internally) """ # @ApiMember(DataType="string", Description="First Name", IsRequired=true, Name="FirstName", ParameterType="query") first_name: Optional[str] = None """ First Name """ # @ApiMember(DataType="string", Description="Last Name", IsRequired=true, Name="LastName", ParameterType="query") last_name: Optional[str] = None """ Last Name """ # @ApiMember(DataType="string", Description="Email Address", IsRequired=true, Name="Email", ParameterType="query") email: Optional[str] = None """ Email Address """ # @ApiMember(DataType="string", Description="Gender", Name="Gender", ParameterType="query") gender: Optional[str] = None """ Gender """ # @ApiMember(DataType="string", Description="Address", Name="Address", ParameterType="query") address: Optional[str] = None """ Address """ # @ApiMember(DataType="string", Description="City", Name="City", ParameterType="query") city: Optional[str] = None """ City """ # @ApiMember(DataType="string", Name="State", ParameterType="query") state: Optional[str] = None # @ApiMember(DataType="string", Name="Zip", ParameterType="query") zip: Optional[str] = None phone: Optional[str] = None work_phone: Optional[str] = None date_of_birth: Optional[datetime.datetime] = None cell_phone: Optional[str] = None # @ApiMember(DataType="integer", Description="Specify a Package to apply to the new prospect", Name="AddPackageId", ParameterType="query") add_package_id: Optional[int] = None """ Specify a Package to apply to the new prospect """ # @ApiMember(DataType="integer", Description="Specify a specific Prospect Type for the new prospect", Name="ProspectTypeId", ParameterType="query") prospect_type_id: Optional[int] = None """ Specify a specific Prospect Type for the new prospect """ # @ApiMember(DataType="integer", Description="Specify a specific Referral Type for the new prospect", Name="ReferralTypeId", ParameterType="query") referral_type_id: Optional[int] = None """ Specify a specific Referral Type for the new prospect """ # @ApiMember(DataType="boolean", Description="Send a Welcome email to the new prospect", IsRequired=true, Name="SendEmail", ParameterType="query") send_email: bool = False """ Send a Welcome email to the new prospect """ # @ApiMember(DataType="integer", Description="Only used if SendEmail = True", Name="EmailTemplateId", ParameterType="query") email_template_id: Optional[int] = None """ Only used if SendEmail = True """ # @ApiMember(DataType="string", Description="", Name="Coupon", ParameterType="query") coupon: Optional[str] = None """ """ # @ApiMember(DataType="string", Description="Add an internal note for the new prospect", Name="Note", ParameterType="query") note: Optional[str] = None """ Add an internal note for the new prospect """ restricted_id: Optional[int] = None restricted_resource_type: Optional[RestrictedResourceType] = None