/** * 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.productruntime; 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.productruntime.BundledProductSummary; import com.mozu.api.contracts.productruntime.Category; import com.mozu.api.contracts.productruntime.ProductImage; import com.mozu.api.contracts.productruntime.ProductInventoryInfo; import com.mozu.api.contracts.productruntime.PackageMeasurements; import com.mozu.api.contracts.productruntime.ProductPrice; import com.mozu.api.contracts.productruntime.ProductPricingBehaviorInfo; import com.mozu.api.contracts.productruntime.ProductProperty; import com.mozu.api.contracts.productruntime.ProductPurchasableState; /** * Summary list of the product validation in a storefront, including options selected by the shopper. */ @JsonIgnoreProperties(ignoreUnknown = true) public class ProductValidationSummary implements Serializable { // Default Serial Version UID private static final long serialVersionUID = 1L; /** * List of supported types of fulfillment for the product or variation. The types include direct ship, in-store pickup, or both. */ protected List<String> fulfillmentTypesSupported; public List<String> getFulfillmentTypesSupported() { return this.fulfillmentTypesSupported; } public void setFulfillmentTypesSupported(List<String> fulfillmentTypesSupported) { this.fulfillmentTypesSupported = fulfillmentTypesSupported; } /** * 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; } /** * Indicates if the product must be shipped alone in a container. This is used for products and products within a bundle. If true, this product cannot be shipped in a package with other items and must ship in a package by itself. */ protected Boolean isPackagedStandAlone; public Boolean getIsPackagedStandAlone() { return this.isPackagedStandAlone; } public void setIsPackagedStandAlone(Boolean isPackagedStandAlone) { this.isPackagedStandAlone = isPackagedStandAlone; } /** * Indicates if the item is subject to taxation, used by products, options, extras, cart and order items, line items, and wish lists. If true, the entity is subject to tax based on the relevant tax rate and rules. */ protected Boolean isTaxable; public Boolean getIsTaxable() { return this.isTaxable; } public void setIsTaxable(Boolean isTaxable) { this.isTaxable = isTaxable; } /** * The manufacturer's part number for the product. */ protected String mfgPartNumber; public String getMfgPartNumber() { return this.mfgPartNumber; } public void setMfgPartNumber(String mfgPartNumber) { this.mfgPartNumber = mfgPartNumber; } /** * Merchant-created code that uniquely identifies the product such as a SKU or item number. Once created, the product code is read-only. */ protected String productCode; public String getProductCode() { return this.productCode; } public void setProductCode(String productCode) { this.productCode = productCode; } /** * The name of the product that represents a line item in a taxable order or product bundle. */ protected String productName; public String getProductName() { return this.productName; } public void setProductName(String productName) { this.productName = productName; } /** * Brief text description of the product or component in a product bundle, typically used when the product is displayed in a list or in search results. */ protected String productShortDescription; public String getProductShortDescription() { return this.productShortDescription; } public void setProductShortDescription(String productShortDescription) { this.productShortDescription = productShortDescription; } /** * The product type template associated with the product on the storefront. */ protected String productType; public String getProductType() { return this.productType; } public void setProductType(String productType) { this.productType = productType; } /** * The usage type that applies to this product, which is 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 String productUsage; public String getProductUsage() { return this.productUsage; } public void setProductUsage(String productUsage) { this.productUsage = productUsage; } /** * The universal product code (UPC) is the barcode defined for the product. The UPC is unique across all sales channels. */ protected String upc; public String getUpc() { return this.upc; } public void setUpc(String upc) { this.upc = upc; } /** * Merchant-created code associated with a specific product variation. Variation product codes maintain an association with the base product code. */ protected String variationProductCode; public String getVariationProductCode() { return this.variationProductCode; } public void setVariationProductCode(String variationProductCode) { this.variationProductCode = variationProductCode; } /** * Properties of a collection of component products that make up a single product bundle with its own product code. Tenants can define product bundles for any product type that supports the Bundle product usage. */ protected List<BundledProductSummary> bundledProducts; public List<BundledProductSummary> getBundledProducts() { return this.bundledProducts; } public void setBundledProducts(List<BundledProductSummary> bundledProducts) { this.bundledProducts = bundledProducts; } /** * The list of all categories associated with the product. These categories contain products, can have discounts associated, and define the grouping of products to display on the storefront. */ protected List<Category> categories; public List<Category> getCategories() { return this.categories; } public void setCategories(List<Category> categories) { this.categories = categories; } /** * The image configured for the product on the storefront. */ protected ProductImage image; public ProductImage getImage() { return this.image; } public void setImage(ProductImage image) { this.image = image; } /** * Properties and data of inventory information for configured and bundled products. If product stock is managed, the data specifies out of stock behavior. */ protected ProductInventoryInfo inventoryInfo; public ProductInventoryInfo getInventoryInfo() { return this.inventoryInfo; } public void setInventoryInfo(ProductInventoryInfo inventoryInfo) { this.inventoryInfo = inventoryInfo; } /** * Dimensions of the packaged product. */ protected PackageMeasurements measurements; public PackageMeasurements getMeasurements() { return this.measurements; } public void setMeasurements(PackageMeasurements measurements) { this.measurements = measurements; } /** * Price that the merchant intends to sell the product which is not necessarily the list price. This is the price the merchant intends to sell the product if no sale price is present. */ protected ProductPrice price; public ProductPrice getPrice() { return this.price; } public void setPrice(ProductPrice price) { this.price = price; } /** * Properties that describe the behavior the system uses when determining the price of products. */ protected ProductPricingBehaviorInfo pricingBehavior; public ProductPricingBehaviorInfo getPricingBehavior() { return this.pricingBehavior; } public void setPricingBehavior(ProductPricingBehaviorInfo pricingBehavior) { this.pricingBehavior = pricingBehavior; } /** * Collection of property attributes defined for the object. Properties are associated to all objects within Mozu, including documents, products, and product types. */ protected List<ProductProperty> properties; public List<ProductProperty> getProperties() { return this.properties; } public void setProperties(List<ProductProperty> properties) { this.properties = properties; } /** * The current state of the configured product determines whether or not the product is eligible for purchase. Products with options are only purchasable if the shopper has selected all required options. If the product is not ready for purchase, a message lists missing options that are required. */ protected ProductPurchasableState purchasableState; public ProductPurchasableState getPurchasableState() { return this.purchasableState; } public void setPurchasableState(ProductPurchasableState purchasableState) { this.purchasableState = purchasableState; } }