ServiceStack Home (Live)

<back to all web services

Product

The following routes are available for this service:
GET/Product
GET/Product/{Id}
import java.math.*;
import java.util.*;
import java.io.InputStream;
import net.servicestack.client.*;

public class dtos
{

    public static class Product
    {
        public Integer id = null;
        public String name = null;
        public Date createdDate = null;
        public Date modifiedDate = null;
        public ArrayList<Sku> skus = null;
        public Boolean active = null;
        
        public Integer getId() { return id; }
        public Product setId(Integer value) { this.id = value; return this; }
        public String getName() { return name; }
        public Product setName(String value) { this.name = value; return this; }
        public Date getCreatedDate() { return createdDate; }
        public Product setCreatedDate(Date value) { this.createdDate = value; return this; }
        public Date getModifiedDate() { return modifiedDate; }
        public Product setModifiedDate(Date value) { this.modifiedDate = value; return this; }
        public ArrayList<Sku> getSkus() { return skus; }
        public Product setSkus(ArrayList<Sku> value) { this.skus = value; return this; }
        public Boolean isActive() { return active; }
        public Product setActive(Boolean value) { this.active = value; return this; }
    }

    public static class Sku
    {
        public Integer id = null;
        public Integer productId = null;
        public SkuType type = null;
        public LicenseFeature feature = null;
        public String code = null;
        public String name = null;
        public String notes = null;
        @Ignore()
        public Integer minQty = null;

        public Integer maxQty = null;
        public Integer price = null;
        public String plan = null;
        public Integer discountOff = null;
        public String discountLabelOff = null;
        public Integer actualPrice = null;
        public Boolean isPlan = null;
        public Boolean isRenewal = null;
        public Integer subscriptionDurationDays = null;
        public Integer expiryDurationDays = null;
        public Integer trialPeriodDays = null;
        public Integer supportQty = null;
        public Integer coresQty = null;
        public Date createdDate = null;
        public Date modifiedDate = null;
        public LicenseType licenseType = null;
        public Boolean active = null;
        
        public Integer getId() { return id; }
        public Sku setId(Integer value) { this.id = value; return this; }
        public Integer getProductId() { return productId; }
        public Sku setProductId(Integer value) { this.productId = value; return this; }
        public SkuType getType() { return type; }
        public Sku setType(SkuType value) { this.type = value; return this; }
        public LicenseFeature getFeature() { return feature; }
        public Sku setFeature(LicenseFeature value) { this.feature = value; return this; }
        public String getCode() { return code; }
        public Sku setCode(String value) { this.code = value; return this; }
        public String getName() { return name; }
        public Sku setName(String value) { this.name = value; return this; }
        public String getNotes() { return notes; }
        public Sku setNotes(String value) { this.notes = value; return this; }
        public Integer getMinQty() { return minQty; }
        public Sku setMinQty(Integer value) { this.minQty = value; return this; }
        public Integer getMaxQty() { return maxQty; }
        public Sku setMaxQty(Integer value) { this.maxQty = value; return this; }
        public Integer getPrice() { return price; }
        public Sku setPrice(Integer value) { this.price = value; return this; }
        public String getPlan() { return plan; }
        public Sku setPlan(String value) { this.plan = value; return this; }
        public Integer getDiscountOff() { return discountOff; }
        public Sku setDiscountOff(Integer value) { this.discountOff = value; return this; }
        public String getDiscountLabelOff() { return discountLabelOff; }
        public Sku setDiscountLabelOff(String value) { this.discountLabelOff = value; return this; }
        public Integer getActualPrice() { return actualPrice; }
        public Sku setActualPrice(Integer value) { this.actualPrice = value; return this; }
        public Boolean getIsPlan() { return isPlan; }
        public Sku setIsPlan(Boolean value) { this.isPlan = value; return this; }
        public Boolean getIsRenewal() { return isRenewal; }
        public Sku setIsRenewal(Boolean value) { this.isRenewal = value; return this; }
        public Integer getSubscriptionDurationDays() { return subscriptionDurationDays; }
        public Sku setSubscriptionDurationDays(Integer value) { this.subscriptionDurationDays = value; return this; }
        public Integer getExpiryDurationDays() { return expiryDurationDays; }
        public Sku setExpiryDurationDays(Integer value) { this.expiryDurationDays = value; return this; }
        public Integer getTrialPeriodDays() { return trialPeriodDays; }
        public Sku setTrialPeriodDays(Integer value) { this.trialPeriodDays = value; return this; }
        public Integer getSupportQty() { return supportQty; }
        public Sku setSupportQty(Integer value) { this.supportQty = value; return this; }
        public Integer getCoresQty() { return coresQty; }
        public Sku setCoresQty(Integer value) { this.coresQty = value; return this; }
        public Date getCreatedDate() { return createdDate; }
        public Sku setCreatedDate(Date value) { this.createdDate = value; return this; }
        public Date getModifiedDate() { return modifiedDate; }
        public Sku setModifiedDate(Date value) { this.modifiedDate = value; return this; }
        public LicenseType getLicenseType() { return licenseType; }
        public Sku setLicenseType(LicenseType value) { this.licenseType = value; return this; }
        public Boolean isActive() { return active; }
        public Sku setActive(Boolean value) { this.active = value; return this; }
    }

    public static enum SkuType
    {
        Product,
        PerDev,
        PerCore,
        Site,
        Support,
        Training,
        Register,
        Payment;
    }

    @Flags()
    public static enum LicenseFeature
    {
        @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);

        private final int value;
        LicenseFeature(final int intValue) { value = intValue; }
        public int getValue() { return value; }
    }

    public static enum LicenseType
    {
        Free,
        FreeIndividual,
        FreeOpenSource,
        Indie,
        Business,
        Enterprise,
        TextIndie,
        TextBusiness,
        OrmLiteIndie,
        OrmLiteBusiness,
        RedisIndie,
        RedisBusiness,
        AwsIndie,
        AwsBusiness,
        Trial,
        Site,
        TextSite,
        RedisSite,
        OrmLiteSite;
    }

}

Java Product DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /Product HTTP/1.1 
Host: account.servicestack.net 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	id: 0,
	name: String,
	createdDate: 0001-01-01,
	modifiedDate: 0001-01-01,
	skus: 
	[
		{
			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
		}
	],
	active: False
}