""" Options: Date: 2025-07-11 22:04:00 Version: 6.50 Tip: To override a DTO option, remove "#" prefix before updating BaseUrl: https://www.clubready.com/api/current #GlobalNamespace: #AddServiceStackTypes: True #AddResponseStatus: False #AddImplicitVersion: #AddDescriptionAsComments: True IncludeTypes: PaymentProfileImportEndpoint.* #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 IApiKeyEndpoint: api_key: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class PaymentProfileImportRequest: profile_token: Optional[str] = None do_not_update_payment_type_preference: bool = False new_owner_id: Optional[int] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class PaymentProfile(IFullNameContainer): payment_profile_id: int = 0 acct_token: Optional[str] = None owner_id: int = 0 owner_type_id: int = 0 acct_type_id: int = 0 acct_class_id: int = 0 prefix_name: Optional[str] = None first_name: Optional[str] = None middle_name: Optional[str] = None last_name: Optional[str] = None suffix_name: Optional[str] = None address1: Optional[str] = None address2: Optional[str] = None urbanization: Optional[str] = None city: Optional[str] = None state: Optional[str] = None postal_code: Optional[str] = None country_code: Optional[str] = None last4: Optional[str] = None cc_exp_month: Optional[int] = None cc_exp_year: Optional[int] = None is_temp: bool = False is_disabled: bool = False on_hold_utc: Optional[datetime.datetime] = None on_hold_reason_code: Optional[int] = None on_hold_reason_detail: Optional[str] = None acct_updater_flag_utc: Optional[datetime.datetime] = None created_by: int = 0 created_utc: datetime.datetime = datetime.datetime(1, 1, 1) modified_by: int = 0 modified_utc: datetime.datetime = datetime.datetime(1, 1, 1) acct_updater_flag: bool = False entry_mode_id: int = 0 exclude_from_acct_updater: bool = False class IFullNameContainer: first_last_name: Optional[str] = None full_name: Optional[str] = None prefix_name: Optional[str] = None first_name: Optional[str] = None middle_name: Optional[str] = None last_name: Optional[str] = None suffix_name: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class PaymentProfileImportResponse: success: bool = False message: Optional[str] = None payment_profile: Optional[PaymentProfile] = None # @Route("/sales/paymentprofile/import", "POST") # @ApiResponse(Description="", ResponseType=typeof(PaymentProfileImportResponse), StatusCode=200) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class PaymentProfileImportEndpoint(PaymentProfileImportRequest, IReturn[PaymentProfileImportResponse], IApiKeyEndpoint): # @ApiMember(Description="IP address of the end user", Name="X-Forwarded-For", ParameterType="header") x_forwarded_for: Optional[str] = None """ IP address of the end user """ # @ApiMember(Description="API Authentication Key", IsRequired=true, ParameterType="query") api_key: Optional[str] = None """ API Authentication Key """ # @ApiMember(Description="The ProfileToken JWT to import (see description above)", IsRequired=true) profile_token: Optional[str] = None """ The ProfileToken JWT to import (see description above) """ # @ApiMember(Description="When adding a PaymentMethod that is 'on-file' (`IsTemp == true`), the default behavior is to\r\nset this PaymentMethod as the preferred method. If you do not wish this to be the preferred\r\nmethod, you can set `DoNotUpdatePaymentTypePreference` to `true`. Otherwise, this can be\r\nomitted or `false`.\r\n\r\nFor non 'on-file' PaymentMethods, this setting is ignored.") do_not_update_payment_type_preference: bool = False """ When adding a PaymentMethod that is 'on-file' (`IsTemp == true`), the default behavior is toset this PaymentMethod as the preferred method. If you do not wish this to be the preferredmethod, you can set `DoNotUpdatePaymentTypePreference` to `true`. Otherwise, this can beomitted or `false`.For non 'on-file' PaymentMethods, this setting is ignored. """ # @ApiMember(Description="**Conditionally Required** \r\n\r\nWhen importing a ProfileToken with an OwnerType of `TempStUser`, the ownership will be changed to\r\nOwnerType of `User` with the userId of the supplied `NewOwnerId`.\r\n\r\nThis is needed when a PaymentMethod is created for a User that has not been selected or created, yet.") new_owner_id: Optional[int] = None """ **Conditionally Required** When importing a ProfileToken with an OwnerType of `TempStUser`, the ownership will be changed toOwnerType of `User` with the userId of the supplied `NewOwnerId`.This is needed when a PaymentMethod is created for a User that has not been selected or created, yet. """