/* Options: Date: 2025-09-08 02:37:00 Version: 8.81 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://account.servicestack.net //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: Subscriptions.* //ExcludeTypes: //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,java.io.InputStream,net.servicestack.client.*,com.google.gson.annotations.*,com.google.gson.reflect.* */ import java.math.* import java.util.* import java.io.InputStream import net.servicestack.client.* import com.google.gson.annotations.* import com.google.gson.reflect.* @Route(Path="/account/subscription") // @Route(Path="/Subscriptions", Verbs="GET") open class Subscriptions : IReturn { open var section:String? = null open var success:Boolean? = null open var activated:Boolean? = null open var purchasedOrderId:Int? = null companion object { private val responseType = SubscriptionsResponse::class.java } override fun getResponseType(): Any? = Subscriptions.responseType } open class SubscriptionsResponse { open var section:String? = null open var supportQuantity:Int? = null open var activeSku:Sku? = null open var activeSubscription:Subscription? = null open var inActiveSubscriptions:ArrayList? = null open var purchasedOrder:OrderAnalyticData? = null open var responseStatus:ResponseStatus? = null } open class Sku { open var id:Int? = null open var productId:Int? = null @SerializedName("type") open var Type:SkuType? = null open var feature:LicenseFeature? = null open var code:String? = null open var name:String? = null open var notes:String? = null @Ignore() open var minQty:Int? = null open var maxQty:Int? = null open var price:Int? = null open var plan:String? = null open var discountOff:Int? = null open var discountLabelOff:String? = null open var actualPrice:Int? = null open var isPlan:Boolean? = null open var isRenewal:Boolean? = null open var subscriptionDurationDays:Int? = null open var expiryDurationDays:Int? = null open var trialPeriodDays:Int? = null open var supportQty:Int? = null open var coresQty:Int? = null open var createdDate:Date? = null open var modifiedDate:Date? = null open var licenseType:LicenseType? = null open var active:Boolean? = null } open class OrderAnalyticData { open var productName:String? = null open var subTotal:Int? = null open var couponId:String? = null open var discount:Int? = null open var tax:Int? = null open var total:Int? = null open var paid:Boolean? = null open var createdDate:Date? = null open var modifiedDate:Date? = null open var modifiedBy:String? = null open var cancelledDate:Date? = null open var cancelledReason:String? = null open var orderDetails:ArrayList? = null } open class OrderDetail { open var id:Int? = null open var orderId:Int? = null open var skuId:Int? = null open var skuType:SkuType? = null open var price:Int? = null open var description:String? = null open var quantity:Int? = null open var total:Int? = null } enum class SkuType { Product, PerDev, PerCore, Site, Support, Training, Register, Payment, } enum class LicenseType { Free, FreeIndividual, FreeOpenSource, Indie, Business, Enterprise, TextIndie, TextBusiness, OrmLiteIndie, OrmLiteBusiness, RedisIndie, RedisBusiness, AwsIndie, AwsBusiness, Trial, Site, TextSite, RedisSite, OrmLiteSite, } @Flags() enum class LicenseFeature(val value:Int) { @SerializedName("0") None(0), @SerializedName("0") Free(0), @SerializedName("1") Premium(1), @SerializedName("2") Text(2), @SerializedName("4") Client(4), @SerializedName("8") Common(8), @SerializedName("16") Redis(16), @SerializedName("18") RedisSku(18), @SerializedName("32") OrmLite(32), @SerializedName("34") OrmLiteSku(34), @SerializedName("64") ServiceStack(64), @SerializedName("128") Server(128), @SerializedName("256") Razor(256), @SerializedName("512") Admin(512), @SerializedName("1024") Aws(1024), @SerializedName("1026") AwsSku(1026), @SerializedName("2047") All(2047), } open class Subscription { open var id:Int? = null open var customerId:Int? = null open var email:String? = null open var skuId:Int? = null open var skuName:String? = null open var skuType:SkuType? = null open var code:String? = null open var quantity:Int? = null open var supportQuantity:Int? = null open var total:Int? = null open var isPlan:Boolean? = null open var isRenewal:Boolean? = null open var subscriptionDurationDays:Int? = null open var renewalDate:Date? = null open var licenseRef:String? = null open var licenseName:String? = null open var licenseAddress:String? = null open var licenseType:LicenseType? = null open var expiryDate:Date? = null open var licenseKey:LicenseKey? = null open var licenseKeyText:String? = null open var createdDate:Date? = null open var modifiedDate:Date? = null open var cancelledDate:Date? = null open var stripeSubscriptionId:String? = null open var emailId:Int? = null open var emailRenewalId:Int? = null open var emailExpiredId:Int? = null open var renewalSubscriptionId:Int? = null open var externalRef:String? = null open var notes:String? = null open var error:String? = null }