GET | /Pricing |
---|
import java.math.*
import java.util.*
import java.io.InputStream
import net.servicestack.client.*
import com.google.gson.annotations.*
import com.google.gson.reflect.*
open class Pricing : IGet
{
}
open class PricingResponse
{
open var indie:Sku? = null
open var indieRenewal:Sku? = null
open var business:Sku? = null
open var businessRenewal:Sku? = null
open var enterprise:Sku? = null
open var indieSubscription:Sku? = null
open var businessSubscription:Sku? = null
open var enterpriseSubscription:Sku? = 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
}
enum class SkuType
{
Product,
PerDev,
PerCore,
Site,
Support,
Training,
Register,
Payment,
}
@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),
}
enum class LicenseType
{
Free,
FreeIndividual,
FreeOpenSource,
Indie,
Business,
Enterprise,
TextIndie,
TextBusiness,
OrmLiteIndie,
OrmLiteBusiness,
RedisIndie,
RedisBusiness,
AwsIndie,
AwsBusiness,
Trial,
Site,
TextSite,
RedisSite,
OrmLiteSite,
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /Pricing HTTP/1.1 Host: account.servicestack.net Accept: text/jsv
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { indie: { id: 0, productId: 0, type: Product, feature: 0, code: String, name: String, notes: String, maxQty: 0, price: 0, plan: String, discountOff: 0, discountLabelOff: String, actualPrice: 0, isPlan: False, isRenewal: False, subscriptionDurationDays: 0, expiryDurationDays: 0, trialPeriodDays: 0, supportQty: 0, coresQty: 0, createdDate: 0001-01-01, modifiedDate: 0001-01-01, licenseType: Free, active: False }, indieRenewal: { id: 0, productId: 0, type: Product, feature: 0, code: String, name: String, notes: String, maxQty: 0, price: 0, plan: String, discountOff: 0, discountLabelOff: String, actualPrice: 0, isPlan: False, isRenewal: False, subscriptionDurationDays: 0, expiryDurationDays: 0, trialPeriodDays: 0, supportQty: 0, coresQty: 0, createdDate: 0001-01-01, modifiedDate: 0001-01-01, licenseType: Free, active: False }, business: { id: 0, productId: 0, type: Product, feature: 0, code: String, name: String, notes: String, maxQty: 0, price: 0, plan: String, discountOff: 0, discountLabelOff: String, actualPrice: 0, isPlan: False, isRenewal: False, subscriptionDurationDays: 0, expiryDurationDays: 0, trialPeriodDays: 0, supportQty: 0, coresQty: 0, createdDate: 0001-01-01, modifiedDate: 0001-01-01, licenseType: Free, active: False }, businessRenewal: { id: 0, productId: 0, type: Product, feature: 0, code: String, name: String, notes: String, maxQty: 0, price: 0, plan: String, discountOff: 0, discountLabelOff: String, actualPrice: 0, isPlan: False, isRenewal: False, subscriptionDurationDays: 0, expiryDurationDays: 0, trialPeriodDays: 0, supportQty: 0, coresQty: 0, createdDate: 0001-01-01, modifiedDate: 0001-01-01, licenseType: Free, active: False }, enterprise: { id: 0, productId: 0, type: Product, feature: 0, code: String, name: String, notes: String, maxQty: 0, price: 0, plan: String, discountOff: 0, discountLabelOff: String, actualPrice: 0, isPlan: False, isRenewal: False, subscriptionDurationDays: 0, expiryDurationDays: 0, trialPeriodDays: 0, supportQty: 0, coresQty: 0, createdDate: 0001-01-01, modifiedDate: 0001-01-01, licenseType: Free, active: False }, indieSubscription: { id: 0, productId: 0, type: Product, feature: 0, code: String, name: String, notes: String, maxQty: 0, price: 0, plan: String, discountOff: 0, discountLabelOff: String, actualPrice: 0, isPlan: False, isRenewal: False, subscriptionDurationDays: 0, expiryDurationDays: 0, trialPeriodDays: 0, supportQty: 0, coresQty: 0, createdDate: 0001-01-01, modifiedDate: 0001-01-01, licenseType: Free, active: False }, businessSubscription: { id: 0, productId: 0, type: Product, feature: 0, code: String, name: String, notes: String, maxQty: 0, price: 0, plan: String, discountOff: 0, discountLabelOff: String, actualPrice: 0, isPlan: False, isRenewal: False, subscriptionDurationDays: 0, expiryDurationDays: 0, trialPeriodDays: 0, supportQty: 0, coresQty: 0, createdDate: 0001-01-01, modifiedDate: 0001-01-01, licenseType: Free, active: False }, enterpriseSubscription: { id: 0, productId: 0, type: Product, feature: 0, code: String, name: String, notes: String, maxQty: 0, price: 0, plan: String, discountOff: 0, discountLabelOff: String, actualPrice: 0, isPlan: False, isRenewal: False, subscriptionDurationDays: 0, expiryDurationDays: 0, trialPeriodDays: 0, supportQty: 0, coresQty: 0, createdDate: 0001-01-01, modifiedDate: 0001-01-01, licenseType: Free, active: False }, responseStatus: { errorCode: String, message: String, stackTrace: String, errors: [ { errorCode: String, fieldName: String, message: String, meta: { String: String } } ], meta: { String: String } } }