1<?php
2/*
3 * Copyright 2014 Google Inc.
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
6 * use this file except in compliance with the License. You may obtain a copy of
7 * the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14 * License for the specific language governing permissions and limitations under
15 * the License.
16 */
17
18namespace Google\Service\ShoppingContent;
19
20class Promotion extends \Google\Collection
21{
22  protected $collection_key = 'shippingServiceNames';
23  /**
24   * @var string[]
25   */
26  public $brand;
27  /**
28   * @var string[]
29   */
30  public $brandExclusion;
31  /**
32   * @var string
33   */
34  public $contentLanguage;
35  /**
36   * @var string
37   */
38  public $couponValueType;
39  /**
40   * @var string
41   */
42  public $freeGiftDescription;
43  /**
44   * @var string
45   */
46  public $freeGiftItemId;
47  protected $freeGiftValueType = PriceAmount::class;
48  protected $freeGiftValueDataType = '';
49  /**
50   * @var string
51   */
52  public $genericRedemptionCode;
53  /**
54   * @var int
55   */
56  public $getThisQuantityDiscounted;
57  /**
58   * @var string
59   */
60  public $id;
61  /**
62   * @var string[]
63   */
64  public $itemGroupId;
65  /**
66   * @var string[]
67   */
68  public $itemGroupIdExclusion;
69  /**
70   * @var string[]
71   */
72  public $itemId;
73  /**
74   * @var string[]
75   */
76  public $itemIdExclusion;
77  /**
78   * @var int
79   */
80  public $limitQuantity;
81  protected $limitValueType = PriceAmount::class;
82  protected $limitValueDataType = '';
83  /**
84   * @var string
85   */
86  public $longTitle;
87  protected $minimumPurchaseAmountType = PriceAmount::class;
88  protected $minimumPurchaseAmountDataType = '';
89  /**
90   * @var int
91   */
92  public $minimumPurchaseQuantity;
93  protected $moneyBudgetType = PriceAmount::class;
94  protected $moneyBudgetDataType = '';
95  protected $moneyOffAmountType = PriceAmount::class;
96  protected $moneyOffAmountDataType = '';
97  /**
98   * @var string
99   */
100  public $offerType;
101  /**
102   * @var int
103   */
104  public $orderLimit;
105  /**
106   * @var int
107   */
108  public $percentOff;
109  /**
110   * @var string
111   */
112  public $productApplicability;
113  /**
114   * @var string[]
115   */
116  public $productType;
117  /**
118   * @var string[]
119   */
120  public $productTypeExclusion;
121  /**
122   * @var string[]
123   */
124  public $promotionDestinationIds;
125  /**
126   * @var string
127   */
128  public $promotionDisplayDates;
129  protected $promotionDisplayTimePeriodType = TimePeriod::class;
130  protected $promotionDisplayTimePeriodDataType = '';
131  /**
132   * @var string
133   */
134  public $promotionEffectiveDates;
135  protected $promotionEffectiveTimePeriodType = TimePeriod::class;
136  protected $promotionEffectiveTimePeriodDataType = '';
137  /**
138   * @var string
139   */
140  public $promotionId;
141  /**
142   * @var string[]
143   */
144  public $redemptionChannel;
145  /**
146   * @var string[]
147   */
148  public $shippingServiceNames;
149  /**
150   * @var string
151   */
152  public $targetCountry;
153
154  /**
155   * @param string[]
156   */
157  public function setBrand($brand)
158  {
159    $this->brand = $brand;
160  }
161  /**
162   * @return string[]
163   */
164  public function getBrand()
165  {
166    return $this->brand;
167  }
168  /**
169   * @param string[]
170   */
171  public function setBrandExclusion($brandExclusion)
172  {
173    $this->brandExclusion = $brandExclusion;
174  }
175  /**
176   * @return string[]
177   */
178  public function getBrandExclusion()
179  {
180    return $this->brandExclusion;
181  }
182  /**
183   * @param string
184   */
185  public function setContentLanguage($contentLanguage)
186  {
187    $this->contentLanguage = $contentLanguage;
188  }
189  /**
190   * @return string
191   */
192  public function getContentLanguage()
193  {
194    return $this->contentLanguage;
195  }
196  /**
197   * @param string
198   */
199  public function setCouponValueType($couponValueType)
200  {
201    $this->couponValueType = $couponValueType;
202  }
203  /**
204   * @return string
205   */
206  public function getCouponValueType()
207  {
208    return $this->couponValueType;
209  }
210  /**
211   * @param string
212   */
213  public function setFreeGiftDescription($freeGiftDescription)
214  {
215    $this->freeGiftDescription = $freeGiftDescription;
216  }
217  /**
218   * @return string
219   */
220  public function getFreeGiftDescription()
221  {
222    return $this->freeGiftDescription;
223  }
224  /**
225   * @param string
226   */
227  public function setFreeGiftItemId($freeGiftItemId)
228  {
229    $this->freeGiftItemId = $freeGiftItemId;
230  }
231  /**
232   * @return string
233   */
234  public function getFreeGiftItemId()
235  {
236    return $this->freeGiftItemId;
237  }
238  /**
239   * @param PriceAmount
240   */
241  public function setFreeGiftValue(PriceAmount $freeGiftValue)
242  {
243    $this->freeGiftValue = $freeGiftValue;
244  }
245  /**
246   * @return PriceAmount
247   */
248  public function getFreeGiftValue()
249  {
250    return $this->freeGiftValue;
251  }
252  /**
253   * @param string
254   */
255  public function setGenericRedemptionCode($genericRedemptionCode)
256  {
257    $this->genericRedemptionCode = $genericRedemptionCode;
258  }
259  /**
260   * @return string
261   */
262  public function getGenericRedemptionCode()
263  {
264    return $this->genericRedemptionCode;
265  }
266  /**
267   * @param int
268   */
269  public function setGetThisQuantityDiscounted($getThisQuantityDiscounted)
270  {
271    $this->getThisQuantityDiscounted = $getThisQuantityDiscounted;
272  }
273  /**
274   * @return int
275   */
276  public function getGetThisQuantityDiscounted()
277  {
278    return $this->getThisQuantityDiscounted;
279  }
280  /**
281   * @param string
282   */
283  public function setId($id)
284  {
285    $this->id = $id;
286  }
287  /**
288   * @return string
289   */
290  public function getId()
291  {
292    return $this->id;
293  }
294  /**
295   * @param string[]
296   */
297  public function setItemGroupId($itemGroupId)
298  {
299    $this->itemGroupId = $itemGroupId;
300  }
301  /**
302   * @return string[]
303   */
304  public function getItemGroupId()
305  {
306    return $this->itemGroupId;
307  }
308  /**
309   * @param string[]
310   */
311  public function setItemGroupIdExclusion($itemGroupIdExclusion)
312  {
313    $this->itemGroupIdExclusion = $itemGroupIdExclusion;
314  }
315  /**
316   * @return string[]
317   */
318  public function getItemGroupIdExclusion()
319  {
320    return $this->itemGroupIdExclusion;
321  }
322  /**
323   * @param string[]
324   */
325  public function setItemId($itemId)
326  {
327    $this->itemId = $itemId;
328  }
329  /**
330   * @return string[]
331   */
332  public function getItemId()
333  {
334    return $this->itemId;
335  }
336  /**
337   * @param string[]
338   */
339  public function setItemIdExclusion($itemIdExclusion)
340  {
341    $this->itemIdExclusion = $itemIdExclusion;
342  }
343  /**
344   * @return string[]
345   */
346  public function getItemIdExclusion()
347  {
348    return $this->itemIdExclusion;
349  }
350  /**
351   * @param int
352   */
353  public function setLimitQuantity($limitQuantity)
354  {
355    $this->limitQuantity = $limitQuantity;
356  }
357  /**
358   * @return int
359   */
360  public function getLimitQuantity()
361  {
362    return $this->limitQuantity;
363  }
364  /**
365   * @param PriceAmount
366   */
367  public function setLimitValue(PriceAmount $limitValue)
368  {
369    $this->limitValue = $limitValue;
370  }
371  /**
372   * @return PriceAmount
373   */
374  public function getLimitValue()
375  {
376    return $this->limitValue;
377  }
378  /**
379   * @param string
380   */
381  public function setLongTitle($longTitle)
382  {
383    $this->longTitle = $longTitle;
384  }
385  /**
386   * @return string
387   */
388  public function getLongTitle()
389  {
390    return $this->longTitle;
391  }
392  /**
393   * @param PriceAmount
394   */
395  public function setMinimumPurchaseAmount(PriceAmount $minimumPurchaseAmount)
396  {
397    $this->minimumPurchaseAmount = $minimumPurchaseAmount;
398  }
399  /**
400   * @return PriceAmount
401   */
402  public function getMinimumPurchaseAmount()
403  {
404    return $this->minimumPurchaseAmount;
405  }
406  /**
407   * @param int
408   */
409  public function setMinimumPurchaseQuantity($minimumPurchaseQuantity)
410  {
411    $this->minimumPurchaseQuantity = $minimumPurchaseQuantity;
412  }
413  /**
414   * @return int
415   */
416  public function getMinimumPurchaseQuantity()
417  {
418    return $this->minimumPurchaseQuantity;
419  }
420  /**
421   * @param PriceAmount
422   */
423  public function setMoneyBudget(PriceAmount $moneyBudget)
424  {
425    $this->moneyBudget = $moneyBudget;
426  }
427  /**
428   * @return PriceAmount
429   */
430  public function getMoneyBudget()
431  {
432    return $this->moneyBudget;
433  }
434  /**
435   * @param PriceAmount
436   */
437  public function setMoneyOffAmount(PriceAmount $moneyOffAmount)
438  {
439    $this->moneyOffAmount = $moneyOffAmount;
440  }
441  /**
442   * @return PriceAmount
443   */
444  public function getMoneyOffAmount()
445  {
446    return $this->moneyOffAmount;
447  }
448  /**
449   * @param string
450   */
451  public function setOfferType($offerType)
452  {
453    $this->offerType = $offerType;
454  }
455  /**
456   * @return string
457   */
458  public function getOfferType()
459  {
460    return $this->offerType;
461  }
462  /**
463   * @param int
464   */
465  public function setOrderLimit($orderLimit)
466  {
467    $this->orderLimit = $orderLimit;
468  }
469  /**
470   * @return int
471   */
472  public function getOrderLimit()
473  {
474    return $this->orderLimit;
475  }
476  /**
477   * @param int
478   */
479  public function setPercentOff($percentOff)
480  {
481    $this->percentOff = $percentOff;
482  }
483  /**
484   * @return int
485   */
486  public function getPercentOff()
487  {
488    return $this->percentOff;
489  }
490  /**
491   * @param string
492   */
493  public function setProductApplicability($productApplicability)
494  {
495    $this->productApplicability = $productApplicability;
496  }
497  /**
498   * @return string
499   */
500  public function getProductApplicability()
501  {
502    return $this->productApplicability;
503  }
504  /**
505   * @param string[]
506   */
507  public function setProductType($productType)
508  {
509    $this->productType = $productType;
510  }
511  /**
512   * @return string[]
513   */
514  public function getProductType()
515  {
516    return $this->productType;
517  }
518  /**
519   * @param string[]
520   */
521  public function setProductTypeExclusion($productTypeExclusion)
522  {
523    $this->productTypeExclusion = $productTypeExclusion;
524  }
525  /**
526   * @return string[]
527   */
528  public function getProductTypeExclusion()
529  {
530    return $this->productTypeExclusion;
531  }
532  /**
533   * @param string[]
534   */
535  public function setPromotionDestinationIds($promotionDestinationIds)
536  {
537    $this->promotionDestinationIds = $promotionDestinationIds;
538  }
539  /**
540   * @return string[]
541   */
542  public function getPromotionDestinationIds()
543  {
544    return $this->promotionDestinationIds;
545  }
546  /**
547   * @param string
548   */
549  public function setPromotionDisplayDates($promotionDisplayDates)
550  {
551    $this->promotionDisplayDates = $promotionDisplayDates;
552  }
553  /**
554   * @return string
555   */
556  public function getPromotionDisplayDates()
557  {
558    return $this->promotionDisplayDates;
559  }
560  /**
561   * @param TimePeriod
562   */
563  public function setPromotionDisplayTimePeriod(TimePeriod $promotionDisplayTimePeriod)
564  {
565    $this->promotionDisplayTimePeriod = $promotionDisplayTimePeriod;
566  }
567  /**
568   * @return TimePeriod
569   */
570  public function getPromotionDisplayTimePeriod()
571  {
572    return $this->promotionDisplayTimePeriod;
573  }
574  /**
575   * @param string
576   */
577  public function setPromotionEffectiveDates($promotionEffectiveDates)
578  {
579    $this->promotionEffectiveDates = $promotionEffectiveDates;
580  }
581  /**
582   * @return string
583   */
584  public function getPromotionEffectiveDates()
585  {
586    return $this->promotionEffectiveDates;
587  }
588  /**
589   * @param TimePeriod
590   */
591  public function setPromotionEffectiveTimePeriod(TimePeriod $promotionEffectiveTimePeriod)
592  {
593    $this->promotionEffectiveTimePeriod = $promotionEffectiveTimePeriod;
594  }
595  /**
596   * @return TimePeriod
597   */
598  public function getPromotionEffectiveTimePeriod()
599  {
600    return $this->promotionEffectiveTimePeriod;
601  }
602  /**
603   * @param string
604   */
605  public function setPromotionId($promotionId)
606  {
607    $this->promotionId = $promotionId;
608  }
609  /**
610   * @return string
611   */
612  public function getPromotionId()
613  {
614    return $this->promotionId;
615  }
616  /**
617   * @param string[]
618   */
619  public function setRedemptionChannel($redemptionChannel)
620  {
621    $this->redemptionChannel = $redemptionChannel;
622  }
623  /**
624   * @return string[]
625   */
626  public function getRedemptionChannel()
627  {
628    return $this->redemptionChannel;
629  }
630  /**
631   * @param string[]
632   */
633  public function setShippingServiceNames($shippingServiceNames)
634  {
635    $this->shippingServiceNames = $shippingServiceNames;
636  }
637  /**
638   * @return string[]
639   */
640  public function getShippingServiceNames()
641  {
642    return $this->shippingServiceNames;
643  }
644  /**
645   * @param string
646   */
647  public function setTargetCountry($targetCountry)
648  {
649    $this->targetCountry = $targetCountry;
650  }
651  /**
652   * @return string
653   */
654  public function getTargetCountry()
655  {
656    return $this->targetCountry;
657  }
658}
659
660// Adding a class alias for backwards compatibility with the previous class name.
661class_alias(Promotion::class, 'Google_Service_ShoppingContent_Promotion');
662