/* Options: Date: 2024-05-15 22:45:01 Version: 6.50 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://www.clubready.com/api/current //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: CreateProspectRequest.* //ExcludeTypes: //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,net.servicestack.client.* */ import java.math.* import java.util.* import net.servicestack.client.* @Route(Path="/users/prospect", Verbs="POST") open class CreateProspectRequest : CreateProspectRequestDto(), IRestrictedApiRequest { /** * Api Key - grants access to resources */ @ApiMember(DataType="string", Description="Api Key - grants access to resources", IsRequired=true, Name="ApiKey", ParameterType="query") var ApiKey:String? = null /** * ClubReady Club ID (StoreID internally) */ @ApiMember(DataType="integer", Description="ClubReady Club ID (StoreID internally)", IsRequired=true, Name="StoreId", ParameterType="query") var StoreId:Int? = null /** * First Name */ @ApiMember(DataType="string", Description="First Name", IsRequired=true, Name="FirstName", ParameterType="query") var FirstName:String? = null /** * Last Name */ @ApiMember(DataType="string", Description="Last Name", IsRequired=true, Name="LastName", ParameterType="query") var LastName:String? = null /** * Email Address */ @ApiMember(DataType="string", Description="Email Address", IsRequired=true, Name="Email", ParameterType="query") var Email:String? = null /** * Gender (Format:'M'|'F') */ @ApiMember(DataType="string", Description="Gender (Format:'M'|'F')", Name="Gender", ParameterType="query") var Gender:String? = null /** * Address */ @ApiMember(DataType="string", Description="Address", Name="Address", ParameterType="query") var Address:String? = null /** * City */ @ApiMember(DataType="string", Description="City", Name="City", ParameterType="query") var City:String? = null @ApiMember(DataType="string", Name="State", ParameterType="query") var State:String? = null @ApiMember(DataType="string", Name="Zip", ParameterType="query") var Zip:String? = null /** * Home phone */ @ApiMember(DataType="string", Description="Home phone", Name="Phone", ParameterType="query") var Phone:String? = null /** * Work phone */ @ApiMember(DataType="string", Description="Work phone", Name="WorkPhone", ParameterType="query") var WorkPhone:String? = null /** * Date of Birth (Format:YYYY-MM-DD) */ @ApiMember(DataType="date", Description="Date of Birth (Format:YYYY-MM-DD)", Name="DateOfBirth", ParameterType="query") var DateOfBirth:Date? = null /** * Cell phone */ @ApiMember(DataType="string", Description="Cell phone", Name="CellPhone", ParameterType="query") var CellPhone:String? = null /** * Specify a Package to apply to the new prospect */ @ApiMember(DataType="integer", Description="Specify a Package to apply to the new prospect", Name="AddPackageId", ParameterType="query") var AddPackageId:Int? = null /** * Specify a specific Prospect Type for the new prospect */ @ApiMember(DataType="integer", Description="Specify a specific Prospect Type for the new prospect", Name="ProspectTypeId", ParameterType="query") var ProspectTypeId:Int? = null /** * Specify a specific Referral Type for the new prospect */ @ApiMember(DataType="integer", Description="Specify a specific Referral Type for the new prospect", Name="ReferralTypeId", ParameterType="query") var ReferralTypeId:Int? = null /** * Send a Welcome email to the new prospect (Format:true|false) */ @ApiMember(DataType="boolean", Description="Send a Welcome email to the new prospect (Format:true|false)", IsRequired=true, Name="SendEmail", ParameterType="query") var SendEmail:Boolean? = null /** * Only used if SendEmail = True */ @ApiMember(DataType="integer", Description="Only used if SendEmail = True", Name="EmailTemplateId", ParameterType="query") var EmailTemplateId:Int? = null /** * */ @ApiMember(DataType="string", Description="", Name="Coupon", ParameterType="query") var Coupon:String? = null /** * Add an internal note for the new prospect */ @ApiMember(DataType="string", Description="Add an internal note for the new prospect", Name="Note", ParameterType="query") var Note:String? = null /** * Unique ID for the user from your system. We store internally as ExternalUserId */ @ApiMember(DataType="string", Description="Unique ID for the user from your system. We store internally as ExternalUserId", Name="ExternalId", ParameterType="query") var ExternalId:String? = null /** * User ID of existing user who referred them. */ @ApiMember(DataType="integer", Description="User ID of existing user who referred them.", Name="ReferredBy", ParameterType="query") var ReferredBy:Int? = null /** * ClubReady UserId of staff to assign new member to. */ @ApiMember(DataType="integer", Description="ClubReady UserId of staff to assign new member to.", Name="AssignToId", ParameterType="query") var AssignToId:Int? = null /** * Who should be assigned to this lead? 0 = Default lead assignments, 1 = When passing in a ReferredBy user, assign the new Lead to that referring user's Staff assignment. */ @ApiMember(DataType="integer", Description="Who should be assigned to this lead? 0 = Default lead assignments, 1 = When passing in a ReferredBy user, assign the new Lead to that referring user's Staff assignment.", Name="AssignToMethod", ParameterType="query") var AssignToMethod:Int? = null /** * Username needs to be between 4 and 255 characters */ @ApiMember(DataType="string", Description="Username needs to be between 4 and 255 characters", Name="Username", ParameterType="query") var Username:String? = null /** * Emergency contact name */ @ApiMember(DataType="string", Description="Emergency contact name", Name="EmergencyContactName", ParameterType="query") var EmergencyContactName:String? = null /** * Emergency contact phone number */ @ApiMember(DataType="string", Description="Emergency contact phone number", Name="EmergencyContactPhone", ParameterType="query") var EmergencyContactPhone:String? = null /** * Emergency contact relationship */ @ApiMember(DataType="string", Description="Emergency contact relationship", Name="EmergencyContactType", ParameterType="query") var EmergencyContactType:String? = null /** * Set a prospect's email opt out status (Format:true|false) */ @ApiMember(DataType="boolean", Description="Set a prospect's email opt out status (Format:true|false)", Name="EmailOptOut", ParameterType="query") var EmailOptOut:Boolean? = null var RestrictedId:Int? = null var RestrictedResourceType:RestrictedResourceType? = null } enum class RestrictedResourceType { Store, Chain, User, Undefined, } open interface IRestrictedApiRequest : IApiKeyEndpoint { var RestrictedId:Int? var RestrictedResourceType:RestrictedResourceType? } open interface IApiKeyEndpoint { var ApiKey:String? } open class ApiDtoBase { var ApiKey:String? = null var StoreId:Int? = null var ChainId:Int? = null } open class CreateProspectRequestDto : ApiDtoBase() { var FirstName:String? = null var LastName:String? = null var Address:String? = null var City:String? = null var State:String? = null var Zip:String? = null var Email:String? = null var Gender:String? = null var AddPackageId:Int? = null var ProspectTypeId:Int? = null var ReferralTypeId:Int? = null var SendEmail:Boolean? = null var Phone:String? = null var WorkPhone:String? = null var DateOfBirth:Date? = null var CellPhone:String? = null var Coupon:String? = null var Note:String? = null var EmailTemplateId:Int? = null var ExternalId:String? = null var ReferredBy:Int? = null var AssignToId:Int? = null var AssignToMethod:Int? = null var ContactedHow:Int? = null var Username:String? = null var EmergencyContactName:String? = null var EmergencyContactPhone:String? = null var EmergencyContactType:String? = null var EmailOptOut:Boolean? = null }