/* Options: Date: 2025-07-18 20:02:40 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: PaymentProfileImportEndpoint.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; abstract class IApiKeyEndpoint { String? ApiKey; } class PaymentProfileImportRequest implements IConvertible { String? ProfileToken; bool? DoNotUpdatePaymentTypePreference; int? NewOwnerId; PaymentProfileImportRequest({this.ProfileToken,this.DoNotUpdatePaymentTypePreference,this.NewOwnerId}); PaymentProfileImportRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ProfileToken = json['ProfileToken']; DoNotUpdatePaymentTypePreference = json['DoNotUpdatePaymentTypePreference']; NewOwnerId = json['NewOwnerId']; return this; } Map toJson() => { 'ProfileToken': ProfileToken, 'DoNotUpdatePaymentTypePreference': DoNotUpdatePaymentTypePreference, 'NewOwnerId': NewOwnerId }; getTypeName() => "PaymentProfileImportRequest"; TypeContext? context = _ctx; } class PaymentProfile implements IFullNameContainer, IConvertible { int? PaymentProfileId; String? AcctToken; int? OwnerId; int? OwnerTypeId; int? AcctTypeId; int? AcctClassId; String? PrefixName; String? FirstName; String? MiddleName; String? LastName; String? SuffixName; String? Address1; String? Address2; String? Urbanization; String? City; String? State; String? PostalCode; String? CountryCode; String? Last4; int? CcExpMonth; int? CcExpYear; bool? IsTemp; bool? IsDisabled; DateTime? OnHoldUtc; int? OnHoldReasonCode; String? OnHoldReasonDetail; DateTime? AcctUpdaterFlagUtc; int? CreatedBy; DateTime? CreatedUtc; int? ModifiedBy; DateTime? ModifiedUtc; bool? AcctUpdaterFlag; int? EntryModeId; bool? ExcludeFromAcctUpdater; PaymentProfile({this.PaymentProfileId,this.AcctToken,this.OwnerId,this.OwnerTypeId,this.AcctTypeId,this.AcctClassId,this.PrefixName,this.FirstName,this.MiddleName,this.LastName,this.SuffixName,this.Address1,this.Address2,this.Urbanization,this.City,this.State,this.PostalCode,this.CountryCode,this.Last4,this.CcExpMonth,this.CcExpYear,this.IsTemp,this.IsDisabled,this.OnHoldUtc,this.OnHoldReasonCode,this.OnHoldReasonDetail,this.AcctUpdaterFlagUtc,this.CreatedBy,this.CreatedUtc,this.ModifiedBy,this.ModifiedUtc,this.AcctUpdaterFlag,this.EntryModeId,this.ExcludeFromAcctUpdater}); PaymentProfile.fromJson(Map json) { fromMap(json); } fromMap(Map json) { PaymentProfileId = json['PaymentProfileId']; AcctToken = json['AcctToken']; OwnerId = json['OwnerId']; OwnerTypeId = json['OwnerTypeId']; AcctTypeId = json['AcctTypeId']; AcctClassId = json['AcctClassId']; PrefixName = json['PrefixName']; FirstName = json['FirstName']; MiddleName = json['MiddleName']; LastName = json['LastName']; SuffixName = json['SuffixName']; Address1 = json['Address1']; Address2 = json['Address2']; Urbanization = json['Urbanization']; City = json['City']; State = json['State']; PostalCode = json['PostalCode']; CountryCode = json['CountryCode']; Last4 = json['Last4']; CcExpMonth = json['CcExpMonth']; CcExpYear = json['CcExpYear']; IsTemp = json['IsTemp']; IsDisabled = json['IsDisabled']; OnHoldUtc = JsonConverters.fromJson(json['OnHoldUtc'],'DateTime',context!); OnHoldReasonCode = json['OnHoldReasonCode']; OnHoldReasonDetail = json['OnHoldReasonDetail']; AcctUpdaterFlagUtc = JsonConverters.fromJson(json['AcctUpdaterFlagUtc'],'DateTime',context!); CreatedBy = json['CreatedBy']; CreatedUtc = JsonConverters.fromJson(json['CreatedUtc'],'DateTime',context!); ModifiedBy = json['ModifiedBy']; ModifiedUtc = JsonConverters.fromJson(json['ModifiedUtc'],'DateTime',context!); AcctUpdaterFlag = json['AcctUpdaterFlag']; EntryModeId = json['EntryModeId']; ExcludeFromAcctUpdater = json['ExcludeFromAcctUpdater']; return this; } Map toJson() => { 'PaymentProfileId': PaymentProfileId, 'AcctToken': AcctToken, 'OwnerId': OwnerId, 'OwnerTypeId': OwnerTypeId, 'AcctTypeId': AcctTypeId, 'AcctClassId': AcctClassId, 'PrefixName': PrefixName, 'FirstName': FirstName, 'MiddleName': MiddleName, 'LastName': LastName, 'SuffixName': SuffixName, 'Address1': Address1, 'Address2': Address2, 'Urbanization': Urbanization, 'City': City, 'State': State, 'PostalCode': PostalCode, 'CountryCode': CountryCode, 'Last4': Last4, 'CcExpMonth': CcExpMonth, 'CcExpYear': CcExpYear, 'IsTemp': IsTemp, 'IsDisabled': IsDisabled, 'OnHoldUtc': JsonConverters.toJson(OnHoldUtc,'DateTime',context!), 'OnHoldReasonCode': OnHoldReasonCode, 'OnHoldReasonDetail': OnHoldReasonDetail, 'AcctUpdaterFlagUtc': JsonConverters.toJson(AcctUpdaterFlagUtc,'DateTime',context!), 'CreatedBy': CreatedBy, 'CreatedUtc': JsonConverters.toJson(CreatedUtc,'DateTime',context!), 'ModifiedBy': ModifiedBy, 'ModifiedUtc': JsonConverters.toJson(ModifiedUtc,'DateTime',context!), 'AcctUpdaterFlag': AcctUpdaterFlag, 'EntryModeId': EntryModeId, 'ExcludeFromAcctUpdater': ExcludeFromAcctUpdater }; getTypeName() => "PaymentProfile"; TypeContext? context = _ctx; } abstract class IFullNameContainer { String? FirstLastName; String? FullName; String? PrefixName; String? FirstName; String? MiddleName; String? LastName; String? SuffixName; } class PaymentProfileImportResponse implements IConvertible { bool? Success; String? Message; PaymentProfile? PaymentProfile; PaymentProfileImportResponse({this.Success,this.Message,this.PaymentProfile}); PaymentProfileImportResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Success = json['Success']; Message = json['Message']; PaymentProfile = JsonConverters.fromJson(json['PaymentProfile'],'PaymentProfile',context!); return this; } Map toJson() => { 'Success': Success, 'Message': Message, 'PaymentProfile': JsonConverters.toJson(PaymentProfile,'PaymentProfile',context!) }; getTypeName() => "PaymentProfileImportResponse"; TypeContext? context = _ctx; } // @Route("/sales/paymentprofile/import", "POST") // @ApiResponse(Description="", ResponseType=typeof(PaymentProfileImportResponse), StatusCode=200) class PaymentProfileImportEndpoint extends PaymentProfileImportRequest implements IReturn, IApiKeyEndpoint, IConvertible { /** * IP address of the end user */ // @ApiMember(Description="IP address of the end user", Name="X-Forwarded-For", ParameterType="header") String? XForwardedFor; /** * API Authentication Key */ // @ApiMember(Description="API Authentication Key", IsRequired=true, ParameterType="query") String? ApiKey; /** * The ProfileToken JWT to import (see description above) */ // @ApiMember(Description="The ProfileToken JWT to import (see description above)", IsRequired=true) String? ProfileToken; /** * 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="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.") bool? DoNotUpdatePaymentTypePreference; /** * **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. */ // @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.") int? NewOwnerId; PaymentProfileImportEndpoint({this.XForwardedFor,this.ApiKey,this.ProfileToken,this.DoNotUpdatePaymentTypePreference,this.NewOwnerId}); PaymentProfileImportEndpoint.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); XForwardedFor = json['XForwardedFor']; ApiKey = json['ApiKey']; ProfileToken = json['ProfileToken']; DoNotUpdatePaymentTypePreference = json['DoNotUpdatePaymentTypePreference']; NewOwnerId = json['NewOwnerId']; return this; } Map toJson() => super.toJson()..addAll({ 'XForwardedFor': XForwardedFor, 'ApiKey': ApiKey, 'ProfileToken': ProfileToken, 'DoNotUpdatePaymentTypePreference': DoNotUpdatePaymentTypePreference, 'NewOwnerId': NewOwnerId }); createResponse() => PaymentProfileImportResponse(); getResponseTypeName() => "PaymentProfileImportResponse"; getTypeName() => "PaymentProfileImportEndpoint"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'clubready.com', types: { 'IApiKeyEndpoint': TypeInfo(TypeOf.Interface), 'PaymentProfileImportRequest': TypeInfo(TypeOf.Class, create:() => PaymentProfileImportRequest()), 'PaymentProfile': TypeInfo(TypeOf.Class, create:() => PaymentProfile()), 'IFullNameContainer': TypeInfo(TypeOf.Interface), 'PaymentProfileImportResponse': TypeInfo(TypeOf.Class, create:() => PaymentProfileImportResponse()), 'PaymentProfileImportEndpoint': TypeInfo(TypeOf.Class, create:() => PaymentProfileImportEndpoint()), });