/* Options: Date: 2024-05-18 13:34:50 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: CalculatePaymentPlanRequest.* //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/packages/{PackageId}/installments/calculate/{InstallmentPlanId}", Verbs="GET") open class CalculatePaymentPlanRequest : CalculatePaymentPlanRequestDto(), IReturn, 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 /** * ID # of store to calculate plan for */ @ApiMember(DataType="integer", Description="ID # of store to calculate plan for", IsRequired=true, Name="StoreId", ParameterType="query") var StoreId:Int? = null /** * Installment Plan to calculate a scheduel for */ @ApiMember(DataType="integer", Description="Installment Plan to calculate a scheduel for", IsRequired=true, Name="InstallmentPlanId", ParameterType="path") var InstallmentPlanId:Int? = null /** * The package to calculate for */ @ApiMember(DataType="integer", Description="The package to calculate for", IsRequired=true, Name="PackageId", ParameterType="path") var PackageId:Int? = null /** * Date to calculate schedule from. If not provided, will use today. */ @ApiMember(DataType="datetime", Description="Date to calculate schedule from. If not provided, will use today.", Name="StartDate", ParameterType="query") var StartDate:Date? = null /** * Promo code to apply a discount. */ @ApiMember(DataType="string", Description="Promo code to apply a discount.", Name="PromoCode", ParameterType="query") var PromoCode:String? = null var RestrictedId:Int? = null var RestrictedResourceType:RestrictedResourceType? = null companion object { private val responseType = CalculatePaymentPlanResultDto::class.java } override fun getResponseType(): Any? = CalculatePaymentPlanRequest.responseType } open class CalculatePaymentPlanResultDto { var PlanTotal:String? = null var SubTotal:String? = null var TaxRate:Float? = null var EnhancementFee:String? = null var EnhancementFeeTaxAmount:String? = null var TaxEnhFee:Boolean? = null var Tax:String? = null var TotalDueToday:String? = null var Payments:ArrayList = ArrayList() var Fees:ArrayList = ArrayList() var IsEvergreen:Boolean? = null var RequirePaymentProfile:Boolean? = 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 CalculatePaymentPlanRequestDto : ApiDtoBase() { var InstallmentPlanId:Int? = null var PackageId:Int? = null var StartDate:Date? = null var PromoCode:String? = null } open class PaymentPlanInstallment { var PayToday:Boolean? = null var Amount:BigDecimal? = null var Taxed:Boolean? = null var TaxRate:Float? = null var TaxAmount:BigDecimal? = null var FeeName:String? = null var DueDate:Date? = null var Total:String? = null var SetupFeeId:Int? = null }