/* Options: Date: 2025-09-07 10:51:13 SwiftVersion: 6.0 Version: 8.81 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://account.servicestack.net //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True //MakePropertiesOptional: True IncludeTypes: Subscriptions.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/account/subscription") // @Route("/Subscriptions", "GET") public class Subscriptions : IReturn, Codable { public typealias Return = SubscriptionsResponse public var section:String? public var success:Bool? public var activated:Bool? public var purchasedOrderId:Int? required public init(){} } public class SubscriptionsResponse : Codable { public var section:String? public var supportQuantity:Int? public var activeSku:Sku? public var activeSubscription:Subscription? public var inActiveSubscriptions:[Subscription]? public var purchasedOrder:OrderAnalyticData? public var responseStatus:ResponseStatus? required public init(){} } public class Sku : Codable { public var id:Int? public var productId:Int? public var type:SkuType? public var feature:LicenseFeature? public var code:String? public var name:String? public var notes:String? // @Ignore() public var minQty:Int? public var maxQty:Int? public var price:Int? public var plan:String? public var discountOff:Int? public var discountLabelOff:String? public var actualPrice:Int? public var isPlan:Bool? public var isRenewal:Bool? public var subscriptionDurationDays:Int? public var expiryDurationDays:Int? public var trialPeriodDays:Int? public var supportQty:Int? public var coresQty:Int? public var createdDate:Date? public var modifiedDate:Date? public var licenseType:LicenseType? public var active:Bool? required public init(){} } public class OrderAnalyticData : Codable { public var productName:String? public var subTotal:Int? public var couponId:String? public var discount:Int? public var tax:Int? public var total:Int? public var paid:Bool? public var createdDate:Date? public var modifiedDate:Date? public var modifiedBy:String? public var cancelledDate:Date? public var cancelledReason:String? public var orderDetails:[OrderDetail]? required public init(){} } public class OrderDetail : Codable { public var id:Int? public var orderId:Int? public var skuId:Int? public var skuType:SkuType? public var price:Int? public var Description:String? public var quantity:Int? public var total:Int? required public init(){} } public enum SkuType : String, Codable { case Product case PerDev case PerCore case Site case Support case Training case Register case Payment } public enum LicenseType : String, Codable { case Free case FreeIndividual case FreeOpenSource case Indie case Business case Enterprise case TextIndie case TextBusiness case OrmLiteIndie case OrmLiteBusiness case RedisIndie case RedisBusiness case AwsIndie case AwsBusiness case Trial case Site case TextSite case RedisSite case OrmLiteSite } // @Flags() public enum LicenseFeature : Int, Codable { case None = 0 case Free = 0 case Premium = 1 case Text = 2 case Client = 4 case Common = 8 case Redis = 16 case RedisSku = 18 case OrmLite = 32 case OrmLiteSku = 34 case ServiceStack = 64 case Server = 128 case Razor = 256 case Admin = 512 case Aws = 1024 case AwsSku = 1026 case All = 2047 } public class Subscription : Codable { public var id:Int? public var customerId:Int? public var email:String? public var skuId:Int? public var skuName:String? public var skuType:SkuType? public var code:String? public var quantity:Int? public var supportQuantity:Int? public var total:Int? public var isPlan:Bool? public var isRenewal:Bool? public var subscriptionDurationDays:Int? public var renewalDate:Date? public var licenseRef:String? public var licenseName:String? public var licenseAddress:String? public var licenseType:LicenseType? public var expiryDate:Date? public var licenseKey:LicenseKey? public var licenseKeyText:String? public var createdDate:Date? public var modifiedDate:Date? public var cancelledDate:Date? public var stripeSubscriptionId:String? public var emailId:Int? public var emailRenewalId:Int? public var emailExpiredId:Int? public var renewalSubscriptionId:Int? public var externalRef:String? public var notes:String? public var error:String? required public init(){} }