/** * This code was auto-generated by a Codezu. * * Changes to this file may cause incorrect behavior and will be lost if * the code is regenerated. */ package com.mozu.api.contracts.productadmin; import java.util.List; import java.util.HashMap; import java.io.Serializable; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import org.joda.time.DateTime; import java.io.IOException; import java.lang.ClassNotFoundException; import com.mozu.api.contracts.core.AuditInfo; import com.mozu.api.contracts.productadmin.AttributeInProductType; /** * A product type is like a product template. */ @JsonIgnoreProperties(ignoreUnknown = true) public class ProductType implements Serializable { // Default Serial Version UID private static final long serialVersionUID = 1L; /** * The type of goods in a bundled product. A bundled product is composed of products associated to sell together. Possible values include “Physical” and “DigitalCredit”. This comes from the `productType `of the product. Products are defaulted to a Physical `goodsType`. Gift cards have a `goodsType `of DigitalCredit. */ protected String goodsType; public String getGoodsType() { return this.goodsType; } public void setGoodsType(String goodsType) { this.goodsType = goodsType; } /** * Unique identifier of the source property, such as a catalog, discount, order, or email template.For a product field it will be the name of the field.For a category ID, must be a positive integer not greater than 2000000. By default, auto-generates a category ID when categories are created. If you want to specify an ID during creation (which preserves category link relationships when migrating tenant data from one sandbox to another), you must also include the query string in the endpoint. For example, . Then, use the property to specify the desired category ID.For a product attribute it will be the Attribute FQN.For a document, the ID must be specified as a 32 character, case-insensitive, alphanumeric string. You can specify the ID as 32 sequential characters or as groups separated by dashes in the format 8-4-4-4-12. For example, or.For email templates, the ID must be one of the following values: */ protected Integer id; public Integer getId() { return this.id; } public void setId(Integer id) { this.id = id; } /** * If true, this product is associated with the overall product type. There is only one BaseProductType per site group. System-supplied and read-only. */ protected Boolean isBaseProductType; public Boolean getIsBaseProductType() { return this.isBaseProductType; } public void setIsBaseProductType(Boolean isBaseProductType) { this.isBaseProductType = isBaseProductType; } /** * The unique identifier of the master catalog associated with the entity. */ protected Integer masterCatalogId; public Integer getMasterCatalogId() { return this.masterCatalogId; } public void setMasterCatalogId(Integer masterCatalogId) { this.masterCatalogId = masterCatalogId; } /** * The user supplied name that appears in . You can use this field for identification purposes. */ protected String name; public String getName() { return this.name; } public void setName(String name) { this.name = name; } /** * The total number of products. This total may indicate the total products associate with a product type or number of products in a list. */ protected Integer productCount; public Integer getProductCount() { return this.productCount; } public void setProductCount(Integer productCount) { this.productCount = productCount; } /** * List of product usages that describe how products of this type are used. Products of this type can be Standard (a single product without configurable options), Configurable (a product that includes configurable option attributes), Bundle (a collection of products sold as a single entity), or Component (an invididual product that represents a component in a bundle). */ protected List<String> productUsages; public List<String> getProductUsages() { return this.productUsages; } public void setProductUsages(List<String> productUsages) { this.productUsages = productUsages; } /** * Identifier and datetime stamp information recorded when a user or application creates, updates, or deletes a resource entity. This value is system-supplied and read-only. */ protected AuditInfo auditInfo; public AuditInfo getAuditInfo() { return this.auditInfo; } public void setAuditInfo(AuditInfo auditInfo) { this.auditInfo = auditInfo; } /** * List of extra product attributes defined for this product. For example, monogram could be a possible extra for a shirt product. */ protected List<AttributeInProductType> extras; public List<AttributeInProductType> getExtras() { return this.extras; } public void setExtras(List<AttributeInProductType> extras) { this.extras = extras; } /** * List of option attributes configured for an object. These values are associated and used by products, product bundles, and product types. */ protected List<AttributeInProductType> options; public List<AttributeInProductType> getOptions() { return this.options; } public void setOptions(List<AttributeInProductType> options) { this.options = options; } /** * Collection of property attributes defined for the object. Properties are associated to all objects within , including documents, products, and product types. */ protected List<AttributeInProductType> properties; public List<AttributeInProductType> getProperties() { return this.properties; } public void setProperties(List<AttributeInProductType> properties) { this.properties = properties; } }