/* Options: Date: 2025-07-19 11:37:20 Version: 6.50 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://www.clubready.com/api/current //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: AddNewUserEndpoint.* //ExcludeTypes: //DefaultImports: */ export enum RestrictedResourceType { Store = 'Store', Chain = 'Chain', User = 'User', Undefined = 'Undefined', } export interface IApiDtoBase { ApiKey?: string; StoreId?: number; ChainId?: number; } export interface IRestrictedApiRequest extends IApiKeyEndpoint { RestrictedId?: number; RestrictedResourceType: RestrictedResourceType; } export interface IApiKeyEndpoint { ApiKey: string; } export interface IAddNewUserEndpoint extends IApiDtoBase { MemberId: number; PackageId: number; InstallmentId?: number; StartDate?: string; PromoCode?: string; StaffId?: number; FirstName?: string; LastName?: string; Address?: string; City?: string; State?: string; Zip?: string; Email?: string; Gender?: string; Phone?: string; WorkPhone?: string; DateOfBirth?: string; CellPhone?: string; Note?: string; ExternalId?: string; Username?: string; ReferralTypeId?: number; EmergencyContactName?: string; EmergencyContactPhone?: string; EmergencyContactType?: string; } export class ApiResponse2Base { public success: boolean; public message?: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class AddNewUserResponse extends ApiResponse2Base { public incompleteAgreementToken?: string; public memberId?: number; public contractId?: number; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } // @Route("/sales/agreement/addNewUser", "POST") // @ApiResponse(Description="", ResponseType="typeof(ClubReady.Web.Api.Sales.Agreement.AddNewUserResponse)", StatusCode=200) export class AddNewUserEndpoint implements IReturn, IAddNewUserEndpoint, IRestrictedApiRequest { /** * IP address of the end user */ // @ApiMember(Description="IP address of the end user", IsRequired=true, Name="X-Forwarded-For", ParameterType="header") public XForwardedFor: string; /** * Api Authentication Key */ // @ApiMember(Description="Api Authentication Key", IsRequired=true, ParameterType="query") public ApiKey: string; /** * Member Id of the user buying the Package */ // @ApiMember(Description="Member Id of the user buying the Package", IsRequired=true, ParameterType="query") public MemberId: number; /** * Id of the store for the user */ // @ApiMember(Description="Id of the store for the user", IsRequired=true) public StoreId: number; public ChainId?: number; /** * Package Id number of the package being purchased */ // @ApiMember(Description="Package Id number of the package being purchased", IsRequired=true) public PackageId: number; /** * Installment Plan Id being purchased. If empty, the default package will be selected. */ // @ApiMember(Description="Installment Plan Id being purchased. If empty, the default package will be selected.") public InstallmentId?: number; /** * Date contract takes affect */ // @ApiMember(Description="Date contract takes affect") public StartDate?: string; /** * Promo code to apply a discount. */ // @ApiMember(Description="Promo code to apply a discount.") public PromoCode?: string; /** * Staff Id of salesperson who sold the agreement. */ // @ApiMember(Description="Staff Id of salesperson who sold the agreement.") public StaffId?: number; public RestrictedId?: number; public RestrictedResourceType: RestrictedResourceType; /** * First Name */ // @ApiMember(Description="First Name", IsRequired=true) public FirstName: string; /** * Last Name */ // @ApiMember(Description="Last Name", IsRequired=true) public LastName: string; /** * Email Address */ // @ApiMember(Description="Email Address", IsRequired=true) public Email: string; /** * Gender */ // @ApiMember(Description="Gender") public Gender?: string; /** * Address */ // @ApiMember(Description="Address") public Address?: string; /** * City */ // @ApiMember(Description="City") public City?: string; /** * State */ // @ApiMember(Description="State") public State?: string; /** * Zip Code */ // @ApiMember(Description="Zip Code") public Zip?: string; /** * Home phone */ // @ApiMember(Description="Home phone") public Phone?: string; /** * Work phone */ // @ApiMember(Description="Work phone") public WorkPhone?: string; /** * Date of Birth */ // @ApiMember(Description="Date of Birth") public DateOfBirth?: string; /** * Cell phone */ // @ApiMember(Description="Cell phone") public CellPhone?: string; /** * Add an internal note for the new prospect */ // @ApiMember(Description="Add an internal note for the new prospect") public Note?: string; /** * Unique Id for the user from your system. We store internally as ExternalUserId */ // @ApiMember(Description="Unique Id for the user from your system. We store internally as ExternalUserId") public ExternalId?: string; /** * Username should be between 4 and 255 characters long */ // @ApiMember(Description="Username should be between 4 and 255 characters long") public Username?: string; /** * ReferralTypeId */ // @ApiMember(Description="ReferralTypeId") public ReferralTypeId?: number; /** * Emergency contact name */ // @ApiMember(Description="Emergency contact name") public EmergencyContactName?: string; /** * Emergency contact phone number */ // @ApiMember(Description="Emergency contact phone number") public EmergencyContactPhone?: string; /** * Emergency contact relationship */ // @ApiMember(Description="Emergency contact relationship") public EmergencyContactType?: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'AddNewUserEndpoint'; } public getMethod() { return 'POST'; } public createResponse() { return new AddNewUserResponse(); } }