/* Options: Date: 2024-05-17 06:50:14 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: AddPaymentAccount.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; enum RestrictedResourceType { Store, Chain, User, Undefined, } abstract class IRestrictedApiRequest extends IApiKeyEndpoint { int? RestrictedId; RestrictedResourceType? RestrictedResourceType; } abstract class IApiKeyEndpoint { String? ApiKey; } class ApiDtoBase implements IConvertible { String? ApiKey; int? StoreId; int? ChainId; ApiDtoBase({this.ApiKey,this.StoreId,this.ChainId}); ApiDtoBase.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ApiKey = json['ApiKey']; StoreId = json['StoreId']; ChainId = json['ChainId']; return this; } Map toJson() => { 'ApiKey': ApiKey, 'StoreId': StoreId, 'ChainId': ChainId }; getTypeName() => "ApiDtoBase"; TypeContext? context = _ctx; } // @DataContract enum AcctType { Uninitialized, Visa, MC, Disc, Amex, Diners, JCB, enRoute, PayPal, BillMe, PC, PS, BC, BS, Becs, Bacs, Maestro, Solo, VisaElectron, CIBC, RoyalBankCa, TDCaTrust, Scotia, BMO, HSBCCa, UnionPay, InterPayment, Laser, UnknownCredit, TransArmor, Factor4, XPass, ConnectedAccount, Error, } class AddPaymentProfileRequest extends ApiDtoBase implements IConvertible { int? UserId; String? AcctToken; String? Last4; int? ExpMonth; int? ExpYear; AcctType? AcctType; int? BnkRoute; String? FirstName; String? MiddleName; String? LastName; String? Address1; String? Address2; String? City; String? State; String? PostalCode; String? CountryCode; String? Urbanization; bool? DoNotUpdatePaymentTypePreference; bool? IsTemp; AddPaymentProfileRequest({this.UserId,this.AcctToken,this.Last4,this.ExpMonth,this.ExpYear,this.AcctType,this.BnkRoute,this.FirstName,this.MiddleName,this.LastName,this.Address1,this.Address2,this.City,this.State,this.PostalCode,this.CountryCode,this.Urbanization,this.DoNotUpdatePaymentTypePreference,this.IsTemp}); AddPaymentProfileRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); UserId = json['UserId']; AcctToken = json['AcctToken']; Last4 = json['Last4']; ExpMonth = json['ExpMonth']; ExpYear = json['ExpYear']; AcctType = JsonConverters.fromJson(json['AcctType'],'AcctType',context!); BnkRoute = json['BnkRoute']; FirstName = json['FirstName']; MiddleName = json['MiddleName']; LastName = json['LastName']; Address1 = json['Address1']; Address2 = json['Address2']; City = json['City']; State = json['State']; PostalCode = json['PostalCode']; CountryCode = json['CountryCode']; Urbanization = json['Urbanization']; DoNotUpdatePaymentTypePreference = json['DoNotUpdatePaymentTypePreference']; IsTemp = json['IsTemp']; return this; } Map toJson() => super.toJson()..addAll({ 'UserId': UserId, 'AcctToken': AcctToken, 'Last4': Last4, 'ExpMonth': ExpMonth, 'ExpYear': ExpYear, 'AcctType': JsonConverters.toJson(AcctType,'AcctType',context!), 'BnkRoute': BnkRoute, 'FirstName': FirstName, 'MiddleName': MiddleName, 'LastName': LastName, 'Address1': Address1, 'Address2': Address2, 'City': City, 'State': State, 'PostalCode': PostalCode, 'CountryCode': CountryCode, 'Urbanization': Urbanization, 'DoNotUpdatePaymentTypePreference': DoNotUpdatePaymentTypePreference, 'IsTemp': IsTemp }); getTypeName() => "AddPaymentProfileRequest"; TypeContext? context = _ctx; } class AddPaymentProfileResponse implements IConvertible { String? Success; String? Message; AddPaymentProfileResponse({this.Success,this.Message}); AddPaymentProfileResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Success = json['Success']; Message = json['Message']; return this; } Map toJson() => { 'Success': Success, 'Message': Message }; getTypeName() => "AddPaymentProfileResponse"; TypeContext? context = _ctx; } // @Route("/sales/member/{MemberId}/payment/profile", "POST") // @ApiResponse(Description="", ResponseType=typeof(AddPaymentProfileResponse), StatusCode=200) class AddPaymentAccount extends AddPaymentProfileRequest implements IReturn, IRestrictedApiRequest, IConvertible { /** * Api Authentication Key */ // @ApiMember(Description="Api Authentication Key", IsRequired=true, ParameterType="query") String? ApiKey; /** * Id of the store for the user */ // @ApiMember(Description="Id of the store for the user", IsRequired=true, ParameterType="query") int? StoreId; /** * Member Id of the user to update their Payment Profile */ // @ApiMember(Description="Member Id of the user to update their Payment Profile", IsRequired=true, ParameterType="path") int? MemberId; /** * The AcctToken provided by creating a Payment Profile with the Vault Api */ // @ApiMember(Description="The AcctToken provided by creating a Payment Profile with the Vault Api", IsRequired=true) String? AcctToken; /** * Last 4 digits of the Payment Profile */ // @ApiMember(Description="Last 4 digits of the Payment Profile") String? Last4; /** * 2 digit expiration month **Required for Credit Card** */ // @ApiMember(Description="2 digit expiration month \n**Required for Credit Card**") int? ExpMonth; /** * 2 digit expiration year **Required for Credit Card** */ // @ApiMember(Description="2 digit expiration year \n**Required for Credit Card**") int? ExpYear; /** * The Account Type of the Payment Profile **Required when adding Gift Card**
Common Values
TextNumericalAccount Type
VISA1Visa
MC2MasterCard
Disc3Discover
Amex4American Express
PC11Personal Checking
PS12Personal Savings
BC13Business Checking
Factor442Factor4 Gift Card

You may use the Text or the Numerical value.

*/ // @ApiMember(Description="\r\nThe Account Type of the Payment Profile \r\n**Required when adding Gift Card**\r\n\r\n
\r\nCommon Values\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
TextNumericalAccount Type
VISA1Visa
MC2MasterCard
Disc3Discover
Amex4American Express
PC11Personal Checking
PS12Personal Savings
BC13Business Checking
Factor442Factor4 Gift Card
\r\n

You may use the Text or the Numerical value.

\r\n
") AcctType? AcctType; /** * Bank Routing Number **Required for Bank Accounts** */ // @ApiMember(Description="Bank Routing Number \n**Required for Bank Accounts**") int? BnkRoute; /** * Set to `true` to not set the user's Payment Type Preference when adding an on-file profile */ // @ApiMember(Description="Set to `true` to not set the user's Payment Type Preference when adding an on-file profile") bool? DoNotUpdatePaymentTypePreference; /** * Whether the Payment Profile is Temporary (One time transactions and Gift Cards are IsTemp = `true`) */ // @ApiMember(Description="Whether the Payment Profile is Temporary (One time transactions and Gift Cards are IsTemp = `true`)") bool? IsTemp; int? RestrictedId; RestrictedResourceType? RestrictedResourceType; AddPaymentAccount({this.ApiKey,this.StoreId,this.MemberId,this.AcctToken,this.Last4,this.ExpMonth,this.ExpYear,this.AcctType,this.BnkRoute,this.DoNotUpdatePaymentTypePreference,this.IsTemp,this.RestrictedId,this.RestrictedResourceType}); AddPaymentAccount.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); ApiKey = json['ApiKey']; StoreId = json['StoreId']; MemberId = json['MemberId']; AcctToken = json['AcctToken']; Last4 = json['Last4']; ExpMonth = json['ExpMonth']; ExpYear = json['ExpYear']; AcctType = JsonConverters.fromJson(json['AcctType'],'AcctType',context!); BnkRoute = json['BnkRoute']; DoNotUpdatePaymentTypePreference = json['DoNotUpdatePaymentTypePreference']; IsTemp = json['IsTemp']; RestrictedId = json['RestrictedId']; RestrictedResourceType = JsonConverters.fromJson(json['RestrictedResourceType'],'RestrictedResourceType',context!); return this; } Map toJson() => super.toJson()..addAll({ 'ApiKey': ApiKey, 'StoreId': StoreId, 'MemberId': MemberId, 'AcctToken': AcctToken, 'Last4': Last4, 'ExpMonth': ExpMonth, 'ExpYear': ExpYear, 'AcctType': JsonConverters.toJson(AcctType,'AcctType',context!), 'BnkRoute': BnkRoute, 'DoNotUpdatePaymentTypePreference': DoNotUpdatePaymentTypePreference, 'IsTemp': IsTemp, 'RestrictedId': RestrictedId, 'RestrictedResourceType': JsonConverters.toJson(RestrictedResourceType,'RestrictedResourceType',context!) }); createResponse() => AddPaymentProfileResponse(); getResponseTypeName() => "AddPaymentProfileResponse"; getTypeName() => "AddPaymentAccount"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'www.clubready.com', types: { 'RestrictedResourceType': TypeInfo(TypeOf.Enum, enumValues:RestrictedResourceType.values), 'IRestrictedApiRequest': TypeInfo(TypeOf.Interface), 'IApiKeyEndpoint': TypeInfo(TypeOf.Interface), 'ApiDtoBase': TypeInfo(TypeOf.Class, create:() => ApiDtoBase()), 'AcctType': TypeInfo(TypeOf.Enum, enumValues:AcctType.values), 'AddPaymentProfileRequest': TypeInfo(TypeOf.Class, create:() => AddPaymentProfileRequest()), 'AddPaymentProfileResponse': TypeInfo(TypeOf.Class, create:() => AddPaymentProfileResponse()), 'AddPaymentAccount': TypeInfo(TypeOf.Class, create:() => AddPaymentAccount()), });