Completed
Push — master ( fd0635...f2796c )
by Tom
06:08
created

Product::slogan()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 1
1
<?php
2
3
namespace Spatie\SchemaOrg;
4
5
/**
6
 * Any offered product or service. For example: a pair of shoes; a concert
7
 * ticket; the rental of a car; a haircut; or an episode of a TV show streamed
8
 * online.
9
 *
10
 * @see http://schema.org/Product
11
 *
12
 * @mixin \Spatie\SchemaOrg\Thing
13
 */
14
class Product extends BaseType
15
{
16
    /**
17
     * A property-value pair representing an additional characteristics of the
18
     * entitity, e.g. a product feature or another characteristic for which
19
     * there is no matching property in schema.org.
20
     * 
21
     * Note: Publishers should be aware that applications designed to use
22
     * specific schema.org properties (e.g. http://schema.org/width,
23
     * http://schema.org/color, http://schema.org/gtin13, ...) will typically
24
     * expect such data to be provided using those properties, rather than using
25
     * the generic property/value mechanism.
26
     *
27
     * @param PropertyValue|PropertyValue[] $additionalProperty
28
     *
29
     * @return static
30
     *
31
     * @see http://schema.org/additionalProperty
32
     */
33
    public function additionalProperty($additionalProperty)
34
    {
35
        return $this->setProperty('additionalProperty', $additionalProperty);
36
    }
37
38
    /**
39
     * The overall rating, based on a collection of reviews or ratings, of the
40
     * item.
41
     *
42
     * @param AggregateRating|AggregateRating[] $aggregateRating
43
     *
44
     * @return static
45
     *
46
     * @see http://schema.org/aggregateRating
47
     */
48
    public function aggregateRating($aggregateRating)
49
    {
50
        return $this->setProperty('aggregateRating', $aggregateRating);
51
    }
52
53
    /**
54
     * An intended audience, i.e. a group for whom something was created.
55
     *
56
     * @param Audience|Audience[] $audience
57
     *
58
     * @return static
59
     *
60
     * @see http://schema.org/audience
61
     */
62
    public function audience($audience)
63
    {
64
        return $this->setProperty('audience', $audience);
65
    }
66
67
    /**
68
     * An award won by or for this item.
69
     *
70
     * @param string|string[] $award
71
     *
72
     * @return static
73
     *
74
     * @see http://schema.org/award
75
     */
76
    public function award($award)
77
    {
78
        return $this->setProperty('award', $award);
79
    }
80
81
    /**
82
     * Awards won by or for this item.
83
     *
84
     * @param string|string[] $awards
85
     *
86
     * @return static
87
     *
88
     * @see http://schema.org/awards
89
     */
90
    public function awards($awards)
91
    {
92
        return $this->setProperty('awards', $awards);
93
    }
94
95
    /**
96
     * The brand(s) associated with a product or service, or the brand(s)
97
     * maintained by an organization or business person.
98
     *
99
     * @param Brand|Brand[]|Organization|Organization[] $brand
100
     *
101
     * @return static
102
     *
103
     * @see http://schema.org/brand
104
     */
105
    public function brand($brand)
106
    {
107
        return $this->setProperty('brand', $brand);
108
    }
109
110
    /**
111
     * A category for the item. Greater signs or slashes can be used to
112
     * informally indicate a category hierarchy.
113
     *
114
     * @param Thing|Thing[]|string|string[] $category
115
     *
116
     * @return static
117
     *
118
     * @see http://schema.org/category
119
     */
120
    public function category($category)
121
    {
122
        return $this->setProperty('category', $category);
123
    }
124
125
    /**
126
     * The color of the product.
127
     *
128
     * @param string|string[] $color
129
     *
130
     * @return static
131
     *
132
     * @see http://schema.org/color
133
     */
134
    public function color($color)
135
    {
136
        return $this->setProperty('color', $color);
137
    }
138
139
    /**
140
     * The depth of the item.
141
     *
142
     * @param Distance|Distance[]|QuantitativeValue|QuantitativeValue[] $depth
143
     *
144
     * @return static
145
     *
146
     * @see http://schema.org/depth
147
     */
148
    public function depth($depth)
149
    {
150
        return $this->setProperty('depth', $depth);
151
    }
152
153
    /**
154
     * The GTIN-12 code of the product, or the product to which the offer
155
     * refers. The GTIN-12 is the 12-digit GS1 Identification Key composed of a
156
     * U.P.C. Company Prefix, Item Reference, and Check Digit used to identify
157
     * trade items. See [GS1 GTIN
158
     * Summary](http://www.gs1.org/barcodes/technical/idkeys/gtin) for more
159
     * details.
160
     *
161
     * @param string|string[] $gtin12
162
     *
163
     * @return static
164
     *
165
     * @see http://schema.org/gtin12
166
     */
167
    public function gtin12($gtin12)
168
    {
169
        return $this->setProperty('gtin12', $gtin12);
170
    }
171
172
    /**
173
     * The GTIN-13 code of the product, or the product to which the offer
174
     * refers. This is equivalent to 13-digit ISBN codes and EAN UCC-13. Former
175
     * 12-digit UPC codes can be converted into a GTIN-13 code by simply adding
176
     * a preceeding zero. See [GS1 GTIN
177
     * Summary](http://www.gs1.org/barcodes/technical/idkeys/gtin) for more
178
     * details.
179
     *
180
     * @param string|string[] $gtin13
181
     *
182
     * @return static
183
     *
184
     * @see http://schema.org/gtin13
185
     */
186
    public function gtin13($gtin13)
187
    {
188
        return $this->setProperty('gtin13', $gtin13);
189
    }
190
191
    /**
192
     * The GTIN-14 code of the product, or the product to which the offer
193
     * refers. See [GS1 GTIN
194
     * Summary](http://www.gs1.org/barcodes/technical/idkeys/gtin) for more
195
     * details.
196
     *
197
     * @param string|string[] $gtin14
198
     *
199
     * @return static
200
     *
201
     * @see http://schema.org/gtin14
202
     */
203
    public function gtin14($gtin14)
204
    {
205
        return $this->setProperty('gtin14', $gtin14);
206
    }
207
208
    /**
209
     * The [GTIN-8](http://apps.gs1.org/GDD/glossary/Pages/GTIN-8.aspx) code of
210
     * the product, or the product to which the offer refers. This code is also
211
     * known as EAN/UCC-8 or 8-digit EAN. See [GS1 GTIN
212
     * Summary](http://www.gs1.org/barcodes/technical/idkeys/gtin) for more
213
     * details.
214
     *
215
     * @param string|string[] $gtin8
216
     *
217
     * @return static
218
     *
219
     * @see http://schema.org/gtin8
220
     */
221
    public function gtin8($gtin8)
222
    {
223
        return $this->setProperty('gtin8', $gtin8);
224
    }
225
226
    /**
227
     * The height of the item.
228
     *
229
     * @param Distance|Distance[]|QuantitativeValue|QuantitativeValue[] $height
230
     *
231
     * @return static
232
     *
233
     * @see http://schema.org/height
234
     */
235
    public function height($height)
236
    {
237
        return $this->setProperty('height', $height);
238
    }
239
240
    /**
241
     * A pointer to another product (or multiple products) for which this
242
     * product is an accessory or spare part.
243
     *
244
     * @param Product|Product[] $isAccessoryOrSparePartFor
245
     *
246
     * @return static
247
     *
248
     * @see http://schema.org/isAccessoryOrSparePartFor
249
     */
250
    public function isAccessoryOrSparePartFor($isAccessoryOrSparePartFor)
251
    {
252
        return $this->setProperty('isAccessoryOrSparePartFor', $isAccessoryOrSparePartFor);
253
    }
254
255
    /**
256
     * A pointer to another product (or multiple products) for which this
257
     * product is a consumable.
258
     *
259
     * @param Product|Product[] $isConsumableFor
260
     *
261
     * @return static
262
     *
263
     * @see http://schema.org/isConsumableFor
264
     */
265
    public function isConsumableFor($isConsumableFor)
266
    {
267
        return $this->setProperty('isConsumableFor', $isConsumableFor);
268
    }
269
270
    /**
271
     * A pointer to another, somehow related product (or multiple products).
272
     *
273
     * @param Product|Product[]|Service|Service[] $isRelatedTo
274
     *
275
     * @return static
276
     *
277
     * @see http://schema.org/isRelatedTo
278
     */
279
    public function isRelatedTo($isRelatedTo)
280
    {
281
        return $this->setProperty('isRelatedTo', $isRelatedTo);
282
    }
283
284
    /**
285
     * A pointer to another, functionally similar product (or multiple
286
     * products).
287
     *
288
     * @param Product|Product[]|Service|Service[] $isSimilarTo
289
     *
290
     * @return static
291
     *
292
     * @see http://schema.org/isSimilarTo
293
     */
294
    public function isSimilarTo($isSimilarTo)
295
    {
296
        return $this->setProperty('isSimilarTo', $isSimilarTo);
297
    }
298
299
    /**
300
     * A predefined value from OfferItemCondition or a textual description of
301
     * the condition of the product or service, or the products or services
302
     * included in the offer.
303
     *
304
     * @param OfferItemCondition|OfferItemCondition[] $itemCondition
305
     *
306
     * @return static
307
     *
308
     * @see http://schema.org/itemCondition
309
     */
310
    public function itemCondition($itemCondition)
311
    {
312
        return $this->setProperty('itemCondition', $itemCondition);
313
    }
314
315
    /**
316
     * An associated logo.
317
     *
318
     * @param ImageObject|ImageObject[]|string|string[] $logo
319
     *
320
     * @return static
321
     *
322
     * @see http://schema.org/logo
323
     */
324
    public function logo($logo)
325
    {
326
        return $this->setProperty('logo', $logo);
327
    }
328
329
    /**
330
     * The manufacturer of the product.
331
     *
332
     * @param Organization|Organization[] $manufacturer
333
     *
334
     * @return static
335
     *
336
     * @see http://schema.org/manufacturer
337
     */
338
    public function manufacturer($manufacturer)
339
    {
340
        return $this->setProperty('manufacturer', $manufacturer);
341
    }
342
343
    /**
344
     * A material that something is made from, e.g. leather, wool, cotton,
345
     * paper.
346
     *
347
     * @param Product|Product[]|string|string[] $material
348
     *
349
     * @return static
350
     *
351
     * @see http://schema.org/material
352
     */
353
    public function material($material)
354
    {
355
        return $this->setProperty('material', $material);
356
    }
357
358
    /**
359
     * The model of the product. Use with the URL of a ProductModel or a textual
360
     * representation of the model identifier. The URL of the ProductModel can
361
     * be from an external source. It is recommended to additionally provide
362
     * strong product identifiers via the gtin8/gtin13/gtin14 and mpn
363
     * properties.
364
     *
365
     * @param ProductModel|ProductModel[]|string|string[] $model
366
     *
367
     * @return static
368
     *
369
     * @see http://schema.org/model
370
     */
371
    public function model($model)
372
    {
373
        return $this->setProperty('model', $model);
374
    }
375
376
    /**
377
     * The Manufacturer Part Number (MPN) of the product, or the product to
378
     * which the offer refers.
379
     *
380
     * @param string|string[] $mpn
381
     *
382
     * @return static
383
     *
384
     * @see http://schema.org/mpn
385
     */
386
    public function mpn($mpn)
387
    {
388
        return $this->setProperty('mpn', $mpn);
389
    }
390
391
    /**
392
     * An offer to provide this item&#x2014;for example, an offer to sell a
393
     * product, rent the DVD of a movie, perform a service, or give away tickets
394
     * to an event.
395
     *
396
     * @param Offer|Offer[] $offers
397
     *
398
     * @return static
399
     *
400
     * @see http://schema.org/offers
401
     */
402
    public function offers($offers)
403
    {
404
        return $this->setProperty('offers', $offers);
405
    }
406
407
    /**
408
     * The product identifier, such as ISBN. For example: ``` meta
409
     * itemprop="productID" content="isbn:123-456-789" ```.
410
     *
411
     * @param string|string[] $productID
412
     *
413
     * @return static
414
     *
415
     * @see http://schema.org/productID
416
     */
417
    public function productID($productID)
418
    {
419
        return $this->setProperty('productID', $productID);
420
    }
421
422
    /**
423
     * The date of production of the item, e.g. vehicle.
424
     *
425
     * @param \DateTimeInterface|\DateTimeInterface[] $productionDate
426
     *
427
     * @return static
428
     *
429
     * @see http://schema.org/productionDate
430
     */
431
    public function productionDate($productionDate)
432
    {
433
        return $this->setProperty('productionDate', $productionDate);
434
    }
435
436
    /**
437
     * The date the item e.g. vehicle was purchased by the current owner.
438
     *
439
     * @param \DateTimeInterface|\DateTimeInterface[] $purchaseDate
440
     *
441
     * @return static
442
     *
443
     * @see http://schema.org/purchaseDate
444
     */
445
    public function purchaseDate($purchaseDate)
446
    {
447
        return $this->setProperty('purchaseDate', $purchaseDate);
448
    }
449
450
    /**
451
     * The release date of a product or product model. This can be used to
452
     * distinguish the exact variant of a product.
453
     *
454
     * @param \DateTimeInterface|\DateTimeInterface[] $releaseDate
455
     *
456
     * @return static
457
     *
458
     * @see http://schema.org/releaseDate
459
     */
460
    public function releaseDate($releaseDate)
461
    {
462
        return $this->setProperty('releaseDate', $releaseDate);
463
    }
464
465
    /**
466
     * A review of the item.
467
     *
468
     * @param Review|Review[] $review
469
     *
470
     * @return static
471
     *
472
     * @see http://schema.org/review
473
     */
474
    public function review($review)
475
    {
476
        return $this->setProperty('review', $review);
477
    }
478
479
    /**
480
     * Review of the item.
481
     *
482
     * @param Review|Review[] $reviews
483
     *
484
     * @return static
485
     *
486
     * @see http://schema.org/reviews
487
     */
488
    public function reviews($reviews)
489
    {
490
        return $this->setProperty('reviews', $reviews);
491
    }
492
493
    /**
494
     * The Stock Keeping Unit (SKU), i.e. a merchant-specific identifier for a
495
     * product or service, or the product to which the offer refers.
496
     *
497
     * @param string|string[] $sku
498
     *
499
     * @return static
500
     *
501
     * @see http://schema.org/sku
502
     */
503
    public function sku($sku)
504
    {
505
        return $this->setProperty('sku', $sku);
506
    }
507
508
    /**
509
     * A slogan or motto associated with the item.
510
     *
511
     * @param string|string[] $slogan
512
     *
513
     * @return static
514
     *
515
     * @see http://schema.org/slogan
516
     */
517
    public function slogan($slogan)
518
    {
519
        return $this->setProperty('slogan', $slogan);
520
    }
521
522
    /**
523
     * The weight of the product or person.
524
     *
525
     * @param QuantitativeValue|QuantitativeValue[] $weight
526
     *
527
     * @return static
528
     *
529
     * @see http://schema.org/weight
530
     */
531
    public function weight($weight)
532
    {
533
        return $this->setProperty('weight', $weight);
534
    }
535
536
    /**
537
     * The width of the item.
538
     *
539
     * @param Distance|Distance[]|QuantitativeValue|QuantitativeValue[] $width
540
     *
541
     * @return static
542
     *
543
     * @see http://schema.org/width
544
     */
545
    public function width($width)
546
    {
547
        return $this->setProperty('width', $width);
548
    }
549
550
}
551