📄 Source: Attributes.php
<?php
/*
* Copyright 2014 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
namespace Google\Service\Css;
class Attributes extends \Google\Collection
{
protected $collection_key = 'sizeTypes';
/**
* Additional URL of images of the item.
*
* @var string[]
*/
public $additionalImageLinks;
/**
* Set to true if the item is targeted towards adults.
*
* @var bool
*/
public $adult;
/**
* Target age group of the item.
*
* @var string
*/
public $ageGroup;
/**
* Product Related Attributes.[14-36] Brand of the item.
*
* @var string
*/
public $brand;
protected $certificationsType = Certification::class;
protected $certificationsDataType = 'array';
/**
* Color of the item.
*
* @var string
*/
public $color;
/**
* Allows advertisers to override the item URL when the product is shown
* within the context of Product Ads.
*
* @var string
*/
public $cppAdsRedirect;
/**
* URL directly linking to your the Product Detail Page of the CSS.
*
* @var string
*/
public $cppLink;
/**
* URL for the mobile-optimized version of the Product Detail Page of the CSS.
*
* @var string
*/
public $cppMobileLink;
/**
* Custom label 0 for custom grouping of items in a Shopping campaign.
*
* @var string
*/
public $customLabel0;
/**
* Custom label 1 for custom grouping of items in a Shopping campaign.
*
* @var string
*/
public $customLabel1;
/**
* Custom label 2 for custom grouping of items in a Shopping campaign.
*
* @var string
*/
public $customLabel2;
/**
* Custom label 3 for custom grouping of items in a Shopping campaign.
*
* @var string
*/
public $customLabel3;
/**
* Custom label 4 for custom grouping of items in a Shopping campaign.
*
* @var string
*/
public $customLabel4;
/**
* Description of the item.
*
* @var string
*/
public $description;
/**
* The list of destinations to exclude for this target (corresponds to
* unchecked check boxes in Merchant Center).
*
* @var string[]
*/
public $excludedDestinations;
/**
* Date on which the item should expire, as specified upon insertion, in [ISO
* 8601](http://en.wikipedia.org/wiki/ISO_8601) format. The actual expiration
* date is exposed in `productstatuses` as
* [googleExpirationDate](https://support.google.com/merchants/answer/6324499)
* and might be earlier if `expirationDate` is too far in the future. Note: It
* may take 2+ days from the expiration date for the item to actually get
* deleted.
*
* @var string
*/
public $expirationDate;
/**
* Target gender of the item.
*
* @var string
*/
public $gender;
/**
* Google's category of the item (see [Google product
* taxonomy](https://support.google.com/merchants/answer/1705911)). When
* querying products, this field will contain the user provided value. There
* is currently no way to get back the auto assigned google product categories
* through the API.
*
* @var string
*/
public $googleProductCategory;
/**
* Global Trade Item Number
* ([GTIN](https://support.google.com/merchants/answer/188494#gtin)) of the
* item.
*
* @var string
*/
public $gtin;
/**
* Condition of the headline offer.
*
* @var string
*/
public $headlineOfferCondition;
protected $headlineOfferInstallmentType = HeadlineOfferInstallment::class;
protected $headlineOfferInstallmentDataType = '';
/**
* Link to the headline offer.
*
* @var string
*/
public $headlineOfferLink;
/**
* Mobile Link to the headline offer.
*
* @var string
*/
public $headlineOfferMobileLink;
protected $headlineOfferPriceType = Price::class;
protected $headlineOfferPriceDataType = '';
protected $headlineOfferShippingPriceType = Price::class;
protected $headlineOfferShippingPriceDataType = '';
protected $headlineOfferSubscriptionCostType = HeadlineOfferSubscriptionCost::class;
protected $headlineOfferSubscriptionCostDataType = '';
protected $highPriceType = Price::class;
protected $highPriceDataType = '';
/**
* URL of an image of the item.
*
* @var string
*/
public $imageLink;
/**
* The list of destinations to include for this target (corresponds to checked
* check boxes in Merchant Center). Default destinations are always included
* unless provided in `excludedDestinations`.
*
* @var string[]
*/
public $includedDestinations;
/**
* Whether the item is a merchant-defined bundle. A bundle is a custom
* grouping of different products sold by a merchant for a single price.
*
* @var bool
*/
public $isBundle;
/**
* Shared identifier for all variants of the same product.
*
* @var string
*/
public $itemGroupId;
protected $lowPriceType = Price::class;
protected $lowPriceDataType = '';
/**
* The material of which the item is made.
*
* @var string
*/
public $material;
/**
* Maximum rating score of the product. Required if `rating` is provided. This
* field is for an upcoming feature and is not yet used.
*
* @var string
*/
public $maxRating;
/**
* Minimum rating score of the product. Required if `rating` is provided. This
* field is for an upcoming feature and is not yet used.
*
* @var string
*/
public $minRating;
/**
* Manufacturer Part Number
* ([MPN](https://support.google.com/merchants/answer/188494#mpn)) of the
* item.
*
* @var string
*/
public $mpn;
/**
* The number of identical products in a merchant-defined multipack.
*
* @var string
*/
public $multipack;
/**
* The number of CSS Products.
*
* @var string
*/
public $numberOfOffers;
/**
* The item's pattern (e.g. polka dots).
*
* @var string
*/
public $pattern;
/**
* Publication of this item will be temporarily paused.
*
* @var string
*/
public $pause;
protected $productDetailsType = ProductDetail::class;
protected $productDetailsDataType = 'array';
protected $productHeightType = ProductDimension::class;
protected $productHeightDataType = '';
/**
* Bullet points describing the most relevant highlights of a product.
*
* @var string[]
*/
public $productHighlights;
protected $productLengthType = ProductDimension::class;
protected $productLengthDataType = '';
/**
* Categories of the item (formatted as in [products data
* specification](https://support.google.com/merchants/answer/6324406)).
*
* @var string[]
*/
public $productTypes;
protected $productWeightType = ProductWeight::class;
protected $productWeightDataType = '';
protected $productWidthType = ProductDimension::class;
protected $productWidthDataType = '';
/**
* Average rating score of the product. The value must be within the range of
* [`min_rating`, `max_rating`], inclusive. When displayed on the product
* page, this rating is normalized to a scale of [1, 5] with one decimal
* place. If provided, `review_count`, `min_rating`, and `max_rating` are also
* required. This field is for an upcoming feature and is not yet used.
*
* @var
*/
public $rating;
/**
* Number of reviews of the product. Required if `rating` is provided. This
* field is for an upcoming feature and is not yet used.
*
* @var string
*/
public $reviewCount;
/**
* Size of the item. Only one value is allowed. For variants with different
* sizes, insert a separate product for each size with the same `itemGroupId`
* value (see [https://support.google.com/merchants/answer/6324492](size
* definition)).
*
* @var string
*/
public $size;
/**
* System in which the size is specified. Recommended for apparel items.
*
* @var string
*/
public $sizeSystem;
/**
* The cut of the item. It can be used to represent combined size types for
* apparel items. Maximum two of size types can be provided (see [size
* type](https://support.google.com/merchants/answer/6324497).
*
* @var string[]
*/
public $sizeTypes;
/**
* Title of the item.
*
* @var string
*/
public $title;
/**
* Additional URL of images of the item.
*
* @param string[] $additionalImageLinks
*/
public function setAdditionalImageLinks($additionalImageLinks)
{
$this->additionalImageLinks = $additionalImageLinks;
}
/**
* @return string[]
*/
public function getAdditionalImageLinks()
{
return $this->additionalImageLinks;
}
/**
* Set to true if the item is targeted towards adults.
*
* @param bool $adult
*/
public function setAdult($adult)
{
$this->adult = $adult;
}
/**
* @return bool
*/
public function getAdult()
{
return $this->adult;
}
/**
* Target age group of the item.
*
* @param string $ageGroup
*/
public function setAgeGroup($ageGroup)
{
$this->ageGroup = $ageGroup;
}
/**
* @return string
*/
public function getAgeGroup()
{
return $this->ageGroup;
}
/**
* Product Related Attributes.[14-36] Brand of the item.
*
* @param string $brand
*/
public function setBrand($brand)
{
$this->brand = $brand;
}
/**
* @return string
*/
public function getBrand()
{
return $this->brand;
}
/**
* A list of certificates claimed by the CSS for the given product.
*
* @param Certification[] $certifications
*/
public function setCertifications($certifications)
{
$this->certifications = $certifications;
}
/**
* @return Certification[]
*/
public function getCertifications()
{
return $this->certifications;
}
/**
* Color of the item.
*
* @param string $color
*/
public function setColor($color)
{
$this->color = $color;
}
/**
* @return string
*/
public function getColor()
{
return $this->color;
}
/**
* Allows advertisers to override the item URL when the product is shown
* within the context of Product Ads.
*
* @param string $cppAdsRedirect
*/
public function setCppAdsRedirect($cppAdsRedirect)
{
$this->cppAdsRedirect = $cppAdsRedirect;
}
/**
* @return string
*/
public function getCppAdsRedirect()
{
return $this->cppAdsRedirect;
}
/**
* URL directly linking to your the Product Detail Page of the CSS.
*
* @param string $cppLink
*/
public function setCppLink($cppLink)
{
$this->cppLink = $cppLink;
}
/**
* @return string
*/
public function getCppLink()
{
return $this->cppLink;
}
/**
* URL for the mobile-optimized version of the Product Detail Page of the CSS.
*
* @param string $cppMobileLink
*/
public function setCppMobileLink($cppMobileLink)
{
$this->cppMobileLink = $cppMobileLink;
}
/**
* @return string
*/
public function getCppMobileLink()
{
return $this->cppMobileLink;
}
/**
* Custom label 0 for custom grouping of items in a Shopping campaign.
*
* @param string $customLabel0
*/
public function setCustomLabel0($customLabel0)
{
$this->customLabel0 = $customLabel0;
}
/**
* @return string
*/
public function getCustomLabel0()
{
return $this->customLabel0;
}
/**
* Custom label 1 for custom grouping of items in a Shopping campaign.
*
* @param string $customLabel1
*/
public function setCustomLabel1($customLabel1)
{
$this->customLabel1 = $customLabel1;
}
/**
* @return string
*/
public function getCustomLabel1()
{
return $this->customLabel1;
}
/**
* Custom label 2 for custom grouping of items in a Shopping campaign.
*
* @param string $customLabel2
*/
public function setCustomLabel2($customLabel2)
{
$this->customLabel2 = $customLabel2;
}
/**
* @return string
*/
public function getCustomLabel2()
{
return $this->customLabel2;
}
/**
* Custom label 3 for custom grouping of items in a Shopping campaign.
*
* @param string $customLabel3
*/
public function setCustomLabel3($customLabel3)
{
$this->customLabel3 = $customLabel3;
}
/**
* @return string
*/
public function getCustomLabel3()
{
return $this->customLabel3;
}
/**
* Custom label 4 for custom grouping of items in a Shopping campaign.
*
* @param string $customLabel4
*/
public function setCustomLabel4($customLabel4)
{
$this->customLabel4 = $customLabel4;
}
/**
* @return string
*/
public function getCustomLabel4()
{
return $this->customLabel4;
}
/**
* Description of the item.
*
* @param string $description
*/
public function setDescription($description)
{
$this->description = $description;
}
/**
* @return string
*/
public function getDescription()
{
return $this->description;
}
/**
* The list of destinations to exclude for this target (corresponds to
* unchecked check boxes in Merchant Center).
*
* @param string[] $excludedDestinations
*/
public function setExcludedDestinations($excludedDestinations)
{
$this->excludedDestinations = $excludedDestinations;
}
/**
* @return string[]
*/
public function getExcludedDestinations()
{
return $this->excludedDestinations;
}
/**
* Date on which the item should expire, as specified upon insertion, in [ISO
* 8601](http://en.wikipedia.org/wiki/ISO_8601) format. The actual expiration
* date is exposed in `productstatuses` as
* [googleExpirationDate](https://support.google.com/merchants/answer/6324499)
* and might be earlier if `expirationDate` is too far in the future. Note: It
* may take 2+ days from the expiration date for the item to actually get
* deleted.
*
* @param string $expirationDate
*/
public function setExpirationDate($expirationDate)
{
$this->expirationDate = $expirationDate;
}
/**
* @return string
*/
public function getExpirationDate()
{
return $this->expirationDate;
}
/**
* Target gender of the item.
*
* @param string $gender
*/
public function setGender($gender)
{
$this->gender = $gender;
}
/**
* @return string
*/
public function getGender()
{
return $this->gender;
}
/**
* Google's category of the item (see [Google product
* taxonomy](https://support.google.com/merchants/answer/1705911)). When
* querying products, this field will contain the user provided value. There
* is currently no way to get back the auto assigned google product categories
* through the API.
*
* @param string $googleProductCategory
*/
public function setGoogleProductCategory($googleProductCategory)
{
$this->googleProductCategory = $googleProductCategory;
}
/**
* @return string
*/
public function getGoogleProductCategory()
{
return $this->googleProductCategory;
}
/**
* Global Trade Item Number
* ([GTIN](https://support.google.com/merchants/answer/188494#gtin)) of the
* item.
*
* @param string $gtin
*/
public function setGtin($gtin)
{
$this->gtin = $gtin;
}
/**
* @return string
*/
public function getGtin()
{
return $this->gtin;
}
/**
* Condition of the headline offer.
*
* @param string $headlineOfferCondition
*/
public function setHeadlineOfferCondition($headlineOfferCondition)
{
$this->headlineOfferCondition = $headlineOfferCondition;
}
/**
* @return string
*/
public function getHeadlineOfferCondition()
{
return $this->headlineOfferCondition;
}
/**
* Number and amount of installments to pay for an item.
*
* @param HeadlineOfferInstallment $headlineOfferInstallment
*/
public function setHeadlineOfferInstallment(HeadlineOfferInstallment $headlineOfferInstallment)
{
$this->headlineOfferInstallment = $headlineOfferInstallment;
}
/**
* @return HeadlineOfferInstallment
*/
public function getHeadlineOfferInstallment()
{
return $this->headlineOfferInstallment;
}
/**
* Link to the headline offer.
*
* @param string $headlineOfferLink
*/
public function setHeadlineOfferLink($headlineOfferLink)
{
$this->headlineOfferLink = $headlineOfferLink;
}
/**
* @return string
*/
public function getHeadlineOfferLink()
{
return $this->headlineOfferLink;
}
/**
* Mobile Link to the headline offer.
*
* @param string $headlineOfferMobileLink
*/
public function setHeadlineOfferMobileLink($headlineOfferMobileLink)
{
$this->headlineOfferMobileLink = $headlineOfferMobileLink;
}
/**
* @return string
*/
public function getHeadlineOfferMobileLink()
{
return $this->headlineOfferMobileLink;
}
/**
* Headline Price of the CSS Product.
*
* @param Price $headlineOfferPrice
*/
public function setHeadlineOfferPrice(Price $headlineOfferPrice)
{
$this->headlineOfferPrice = $headlineOfferPrice;
}
/**
* @return Price
*/
public function getHeadlineOfferPrice()
{
return $this->headlineOfferPrice;
}
/**
* Headline Price of the CSS Product.
*
* @param Price $headlineOfferShippingPrice
*/
public function setHeadlineOfferShippingPrice(Price $headlineOfferShippingPrice)
{
$this->headlineOfferShippingPrice = $headlineOfferShippingPrice;
}
/**
* @return Price
*/
public function getHeadlineOfferShippingPrice()
{
return $this->headlineOfferShippingPrice;
}
/**
* Number of periods (months or years) and amount of payment per period for an
* item with an associated subscription contract.
*
* @param HeadlineOfferSubscriptionCost $headlineOfferSubscriptionCost
*/
public function setHeadlineOfferSubscriptionCost(HeadlineOfferSubscriptionCost $headlineOfferSubscriptionCost)
{
$this->headlineOfferSubscriptionCost = $headlineOfferSubscriptionCost;
}
/**
* @return HeadlineOfferSubscriptionCost
*/
public function getHeadlineOfferSubscriptionCost()
{
return $this->headlineOfferSubscriptionCost;
}
/**
* High Price of the CSS Product.
*
* @param Price $highPrice
*/
public function setHighPrice(Price $highPrice)
{
$this->highPrice = $highPrice;
}
/**
* @return Price
*/
public function getHighPrice()
{
return $this->highPrice;
}
/**
* URL of an image of the item.
*
* @param string $imageLink
*/
public function setImageLink($imageLink)
{
$this->imageLink = $imageLink;
}
/**
* @return string
*/
public function getImageLink()
{
return $this->imageLink;
}
/**
* The list of destinations to include for this target (corresponds to checked
* check boxes in Merchant Center). Default destinations are always included
* unless provided in `excludedDestinations`.
*
* @param string[] $includedDestinations
*/
public function setIncludedDestinations($includedDestinations)
{
$this->includedDestinations = $includedDestinations;
}
/**
* @return string[]
*/
public function getIncludedDestinations()
{
return $this->includedDestinations;
}
/**
* Whether the item is a merchant-defined bundle. A bundle is a custom
* grouping of different products sold by a merchant for a single price.
*
* @param bool $isBundle
*/
public function setIsBundle($isBundle)
{
$this->isBundle = $isBundle;
}
/**
* @return bool
*/
public function getIsBundle()
{
return $this->isBundle;
}
/**
* Shared identifier for all variants of the same product.
*
* @param string $itemGroupId
*/
public function setItemGroupId($itemGroupId)
{
$this->itemGroupId = $itemGroupId;
}
/**
* @return string
*/
public function getItemGroupId()
{
return $this->itemGroupId;
}
/**
* Low Price of the CSS Product.
*
* @param Price $lowPrice
*/
public function setLowPrice(Price $lowPrice)
{
$this->lowPrice = $lowPrice;
}
/**
* @return Price
*/
public function getLowPrice()
{
return $this->lowPrice;
}
/**
* The material of which the item is made.
*
* @param string $material
*/
public function setMaterial($material)
{
$this->material = $material;
}
/**
* @return string
*/
public function getMaterial()
{
return $this->material;
}
/**
* Maximum rating score of the product. Required if `rating` is provided. This
* field is for an upcoming feature and is not yet used.
*
* @param string $maxRating
*/
public function setMaxRating($maxRating)
{
$this->maxRating = $maxRating;
}
/**
* @return string
*/
public function getMaxRating()
{
return $this->maxRating;
}
/**
* Minimum rating score of the product. Required if `rating` is provided. This
* field is for an upcoming feature and is not yet used.
*
* @param string $minRating
*/
public function setMinRating($minRating)
{
$this->minRating = $minRating;
}
/**
* @return string
*/
public function getMinRating()
{
return $this->minRating;
}
/**
* Manufacturer Part Number
* ([MPN](https://support.google.com/merchants/answer/188494#mpn)) of the
* item.
*
* @param string $mpn
*/
public function setMpn($mpn)
{
$this->mpn = $mpn;
}
/**
* @return string
*/
public function getMpn()
{
return $this->mpn;
}
/**
* The number of identical products in a merchant-defined multipack.
*
* @param string $multipack
*/
public function setMultipack($multipack)
{
$this->multipack = $multipack;
}
/**
* @return string
*/
public function getMultipack()
{
return $this->multipack;
}
/**
* The number of CSS Products.
*
* @param string $numberOfOffers
*/
public function setNumberOfOffers($numberOfOffers)
{
$this->numberOfOffers = $numberOfOffers;
}
/**
* @return string
*/
public function getNumberOfOffers()
{
return $this->numberOfOffers;
}
/**
* The item's pattern (e.g. polka dots).
*
* @param string $pattern
*/
public function setPattern($pattern)
{
$this->pattern = $pattern;
}
/**
* @return string
*/
public function getPattern()
{
return $this->pattern;
}
/**
* Publication of this item will be temporarily paused.
*
* @param string $pause
*/
public function setPause($pause)
{
$this->pause = $pause;
}
/**
* @return string
*/
public function getPause()
{
return $this->pause;
}
/**
* Technical specification or additional product details.
*
* @param ProductDetail[] $productDetails
*/
public function setProductDetails($productDetails)
{
$this->productDetails = $productDetails;
}
/**
* @return ProductDetail[]
*/
public function getProductDetails()
{
return $this->productDetails;
}
/**
* The height of the product in the units provided. The value must be between
* 0 (exclusive) and 3000 (inclusive).
*
* @param ProductDimension $productHeight
*/
public function setProductHeight(ProductDimension $productHeight)
{
$this->productHeight = $productHeight;
}
/**
* @return ProductDimension
*/
public function getProductHeight()
{
return $this->productHeight;
}
/**
* Bullet points describing the most relevant highlights of a product.
*
* @param string[] $productHighlights
*/
public function setProductHighlights($productHighlights)
{
$this->productHighlights = $productHighlights;
}
/**
* @return string[]
*/
public function getProductHighlights()
{
return $this->productHighlights;
}
/**
* The length of the product in the units provided. The value must be between
* 0 (exclusive) and 3000 (inclusive).
*
* @param ProductDimension $productLength
*/
public function setProductLength(ProductDimension $productLength)
{
$this->productLength = $productLength;
}
/**
* @return ProductDimension
*/
public function getProductLength()
{
return $this->productLength;
}
/**
* Categories of the item (formatted as in [products data
* specification](https://support.google.com/merchants/answer/6324406)).
*
* @param string[] $productTypes
*/
public function setProductTypes($productTypes)
{
$this->productTypes = $productTypes;
}
/**
* @return string[]
*/
public function getProductTypes()
{
return $this->productTypes;
}
/**
* The weight of the product in the units provided. The value must be between
* 0 (exclusive) and 2000 (inclusive).
*
* @param ProductWeight $productWeight
*/
public function setProductWeight(ProductWeight $productWeight)
{
$this->productWeight = $productWeight;
}
/**
* @return ProductWeight
*/
public function getProductWeight()
{
return $this->productWeight;
}
/**
* The width of the product in the units provided. The value must be between 0
* (exclusive) and 3000 (inclusive).
*
* @param ProductDimension $productWidth
*/
public function setProductWidth(ProductDimension $productWidth)
{
$this->productWidth = $productWidth;
}
/**
* @return ProductDimension
*/
public function getProductWidth()
{
return $this->productWidth;
}
public function setRating($rating)
{
$this->rating = $rating;
}
public function getRating()
{
return $this->rating;
}
/**
* Number of reviews of the product. Required if `rating` is provided. This
* field is for an upcoming feature and is not yet used.
*
* @param string $reviewCount
*/
public function setReviewCount($reviewCount)
{
$this->reviewCount = $reviewCount;
}
/**
* @return string
*/
public function getReviewCount()
{
return $this->reviewCount;
}
/**
* Size of the item. Only one value is allowed. For variants with different
* sizes, insert a separate product for each size with the same `itemGroupId`
* value (see [https://support.google.com/merchants/answer/6324492](size
* definition)).
*
* @param string $size
*/
public function setSize($size)
{
$this->size = $size;
}
/**
* @return string
*/
public function getSize()
{
return $this->size;
}
/**
* System in which the size is specified. Recommended for apparel items.
*
* @param string $sizeSystem
*/
public function setSizeSystem($sizeSystem)
{
$this->sizeSystem = $sizeSystem;
}
/**
* @return string
*/
public function getSizeSystem()
{
return $this->sizeSystem;
}
/**
* The cut of the item. It can be used to represent combined size types for
* apparel items. Maximum two of size types can be provided (see [size
* type](https://support.google.com/merchants/answer/6324497).
*
* @param string[] $sizeTypes
*/
public function setSizeTypes($sizeTypes)
{
$this->sizeTypes = $sizeTypes;
}
/**
* @return string[]
*/
public function getSizeTypes()
{
return $this->sizeTypes;
}
/**
* Title of the item.
*
* @param string $title
*/
public function setTitle($title)
{
$this->title = $title;
}
/**
* @return string
*/
public function getTitle()
{
return $this->title;
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(Attributes::class, 'Google_Service_Css_Attributes');
← Back