/* Options: Date: 2025-07-19 18:26:10 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: AgreementAddEndpoint.* //ExcludeTypes: //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,net.servicestack.client.* */ import java.math.* import java.util.* import net.servicestack.client.* @Route(Path="/sales/agreement/add", Verbs="POST") @ApiResponse(Description="", ResponseType=AddResponse.class, StatusCode=200) open class AgreementAddEndpoint : IReturn, IAddEndpoint, IRestrictedApiRequest { /** * IP address of the end user */ @ApiMember(Description="IP address of the end user", IsRequired=true, Name="X-Forwarded-For", ParameterType="header") var XForwardedFor:String? = null /** * Api Authentication Key */ @ApiMember(Description="Api Authentication Key", IsRequired=true, ParameterType="query") var ApiKey:String? = null /** * Member Id of the user buying the Package */ @ApiMember(Description="Member Id of the user buying the Package", IsRequired=true, ParameterType="query") var MemberId:Int? = null var ChainId:Int? = null /** * Id of the store for the user */ @ApiMember(Description="Id of the store for the user", IsRequired=true) var StoreId:Int? = null /** * Package Id number of the package being purchased */ @ApiMember(Description="Package Id number of the package being purchased", IsRequired=true) var PackageId:Int? = null /** * 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.") var InstallmentId:Int? = null /** * Date contract takes affect */ @ApiMember(Description="Date contract takes affect") var StartDate:Date? = null /** * Promo code to apply a discount. */ @ApiMember(Description="Promo code to apply a discount.") var PromoCode:String? = null /** * Staff Id of salesperson who sold the agreement. */ @ApiMember(Description="Staff Id of salesperson who sold the agreement.") var StaffId:Int? = null var RestrictedId:Int? = null var RestrictedResourceType:RestrictedResourceType? = null companion object { private val responseType = AddResponse::class.java } override fun getResponseType(): Any? = AgreementAddEndpoint.responseType } open class AddResponse : ApiResponse2Base() { var incompleteAgreementToken:String? = null var contractId:Int? = null } enum class RestrictedResourceType { Store, Chain, User, Undefined, } open interface IApiDtoBase { var ApiKey:String? var StoreId:Int? var ChainId:Int? } open interface IRestrictedApiRequest : IApiKeyEndpoint { var RestrictedId:Int? var RestrictedResourceType:RestrictedResourceType? } open interface IApiKeyEndpoint { var ApiKey:String? } open interface IAddEndpoint : IApiDtoBase { var MemberId:Int? var PackageId:Int? var InstallmentId:Int? var StartDate:Date? var PromoCode:String? var StaffId:Int? } open class ApiResponse2Base { var success:Boolean? = null var message:String? = null }