ElectronicsStore::makesOffer()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4

Duplication

Lines 4
Ratio 100 %

Importance

Changes 0
Metric Value
dl 4
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
use \Spatie\SchemaOrg\Contracts\ElectronicsStoreContract;
6
use \Spatie\SchemaOrg\Contracts\LocalBusinessContract;
7
use \Spatie\SchemaOrg\Contracts\OrganizationContract;
8
use \Spatie\SchemaOrg\Contracts\PlaceContract;
9
use \Spatie\SchemaOrg\Contracts\StoreContract;
10
use \Spatie\SchemaOrg\Contracts\ThingContract;
11
12
/**
13
 * An electronics store.
14
 *
15
 * @see http://schema.org/ElectronicsStore
16
 *
17
 */
18 View Code Duplication
class ElectronicsStore extends BaseType implements ElectronicsStoreContract, LocalBusinessContract, OrganizationContract, PlaceContract, StoreContract, ThingContract
0 ignored issues
show
Duplication introduced by
This class seems to be duplicated in your project.

Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.

You can also find more detailed suggestions in the “Code” section of your repository.

Loading history...
19
{
20
    /**
21
     * A property-value pair representing an additional characteristics of the
22
     * entitity, e.g. a product feature or another characteristic for which
23
     * there is no matching property in schema.org.
24
     * 
25
     * Note: Publishers should be aware that applications designed to use
26
     * specific schema.org properties (e.g. http://schema.org/width,
27
     * http://schema.org/color, http://schema.org/gtin13, ...) will typically
28
     * expect such data to be provided using those properties, rather than using
29
     * the generic property/value mechanism.
30
     *
31
     * @param \Spatie\SchemaOrg\Contracts\PropertyValueContract|\Spatie\SchemaOrg\Contracts\PropertyValueContract[] $additionalProperty
32
     *
33
     * @return static
34
     *
35
     * @see http://schema.org/additionalProperty
36
     */
37
    public function additionalProperty($additionalProperty)
38
    {
39
        return $this->setProperty('additionalProperty', $additionalProperty);
40
    }
41
42
    /**
43
     * An additional type for the item, typically used for adding more specific
44
     * types from external vocabularies in microdata syntax. This is a
45
     * relationship between something and a class that the thing is in. In RDFa
46
     * syntax, it is better to use the native RDFa syntax - the 'typeof'
47
     * attribute - for multiple types. Schema.org tools may have only weaker
48
     * understanding of extra types, in particular those defined externally.
49
     *
50
     * @param string|string[] $additionalType
51
     *
52
     * @return static
53
     *
54
     * @see http://schema.org/additionalType
55
     */
56
    public function additionalType($additionalType)
57
    {
58
        return $this->setProperty('additionalType', $additionalType);
59
    }
60
61
    /**
62
     * Physical address of the item.
63
     *
64
     * @param \Spatie\SchemaOrg\Contracts\PostalAddressContract|\Spatie\SchemaOrg\Contracts\PostalAddressContract[]|string|string[] $address
65
     *
66
     * @return static
67
     *
68
     * @see http://schema.org/address
69
     */
70
    public function address($address)
71
    {
72
        return $this->setProperty('address', $address);
73
    }
74
75
    /**
76
     * The overall rating, based on a collection of reviews or ratings, of the
77
     * item.
78
     *
79
     * @param \Spatie\SchemaOrg\Contracts\AggregateRatingContract|\Spatie\SchemaOrg\Contracts\AggregateRatingContract[] $aggregateRating
80
     *
81
     * @return static
82
     *
83
     * @see http://schema.org/aggregateRating
84
     */
85
    public function aggregateRating($aggregateRating)
86
    {
87
        return $this->setProperty('aggregateRating', $aggregateRating);
88
    }
89
90
    /**
91
     * An alias for the item.
92
     *
93
     * @param string|string[] $alternateName
94
     *
95
     * @return static
96
     *
97
     * @see http://schema.org/alternateName
98
     */
99
    public function alternateName($alternateName)
100
    {
101
        return $this->setProperty('alternateName', $alternateName);
102
    }
103
104
    /**
105
     * An amenity feature (e.g. a characteristic or service) of the
106
     * Accommodation. This generic property does not make a statement about
107
     * whether the feature is included in an offer for the main accommodation or
108
     * available at extra costs.
109
     *
110
     * @param \Spatie\SchemaOrg\Contracts\LocationFeatureSpecificationContract|\Spatie\SchemaOrg\Contracts\LocationFeatureSpecificationContract[] $amenityFeature
111
     *
112
     * @return static
113
     *
114
     * @see http://schema.org/amenityFeature
115
     */
116
    public function amenityFeature($amenityFeature)
117
    {
118
        return $this->setProperty('amenityFeature', $amenityFeature);
119
    }
120
121
    /**
122
     * The geographic area where a service or offered item is provided.
123
     *
124
     * @param \Spatie\SchemaOrg\Contracts\AdministrativeAreaContract|\Spatie\SchemaOrg\Contracts\AdministrativeAreaContract[]|\Spatie\SchemaOrg\Contracts\GeoShapeContract|\Spatie\SchemaOrg\Contracts\GeoShapeContract[]|\Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[]|string|string[] $areaServed
125
     *
126
     * @return static
127
     *
128
     * @see http://schema.org/areaServed
129
     */
130
    public function areaServed($areaServed)
131
    {
132
        return $this->setProperty('areaServed', $areaServed);
133
    }
134
135
    /**
136
     * An award won by or for this item.
137
     *
138
     * @param string|string[] $award
139
     *
140
     * @return static
141
     *
142
     * @see http://schema.org/award
143
     */
144
    public function award($award)
145
    {
146
        return $this->setProperty('award', $award);
147
    }
148
149
    /**
150
     * Awards won by or for this item.
151
     *
152
     * @param string|string[] $awards
153
     *
154
     * @return static
155
     *
156
     * @see http://schema.org/awards
157
     */
158
    public function awards($awards)
159
    {
160
        return $this->setProperty('awards', $awards);
161
    }
162
163
    /**
164
     * A short textual code (also called "store code") that uniquely identifies
165
     * a place of business. The code is typically assigned by the
166
     * parentOrganization and used in structured URLs.
167
     * 
168
     * For example, in the URL
169
     * http://www.starbucks.co.uk/store-locator/etc/detail/3047 the code "3047"
170
     * is a branchCode for a particular branch.
171
     *
172
     * @param string|string[] $branchCode
173
     *
174
     * @return static
175
     *
176
     * @see http://schema.org/branchCode
177
     */
178
    public function branchCode($branchCode)
179
    {
180
        return $this->setProperty('branchCode', $branchCode);
181
    }
182
183
    /**
184
     * The larger organization that this local business is a branch of, if any.
185
     * Not to be confused with (anatomical)[[branch]].
186
     *
187
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[] $branchOf
188
     *
189
     * @return static
190
     *
191
     * @see http://schema.org/branchOf
192
     */
193
    public function branchOf($branchOf)
194
    {
195
        return $this->setProperty('branchOf', $branchOf);
196
    }
197
198
    /**
199
     * The brand(s) associated with a product or service, or the brand(s)
200
     * maintained by an organization or business person.
201
     *
202
     * @param \Spatie\SchemaOrg\Contracts\BrandContract|\Spatie\SchemaOrg\Contracts\BrandContract[]|\Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[] $brand
203
     *
204
     * @return static
205
     *
206
     * @see http://schema.org/brand
207
     */
208
    public function brand($brand)
209
    {
210
        return $this->setProperty('brand', $brand);
211
    }
212
213
    /**
214
     * A contact point for a person or organization.
215
     *
216
     * @param \Spatie\SchemaOrg\Contracts\ContactPointContract|\Spatie\SchemaOrg\Contracts\ContactPointContract[] $contactPoint
217
     *
218
     * @return static
219
     *
220
     * @see http://schema.org/contactPoint
221
     */
222
    public function contactPoint($contactPoint)
223
    {
224
        return $this->setProperty('contactPoint', $contactPoint);
225
    }
226
227
    /**
228
     * A contact point for a person or organization.
229
     *
230
     * @param \Spatie\SchemaOrg\Contracts\ContactPointContract|\Spatie\SchemaOrg\Contracts\ContactPointContract[] $contactPoints
231
     *
232
     * @return static
233
     *
234
     * @see http://schema.org/contactPoints
235
     */
236
    public function contactPoints($contactPoints)
237
    {
238
        return $this->setProperty('contactPoints', $contactPoints);
239
    }
240
241
    /**
242
     * The basic containment relation between a place and one that contains it.
243
     *
244
     * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $containedIn
245
     *
246
     * @return static
247
     *
248
     * @see http://schema.org/containedIn
249
     */
250
    public function containedIn($containedIn)
251
    {
252
        return $this->setProperty('containedIn', $containedIn);
253
    }
254
255
    /**
256
     * The basic containment relation between a place and one that contains it.
257
     *
258
     * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $containedInPlace
259
     *
260
     * @return static
261
     *
262
     * @see http://schema.org/containedInPlace
263
     */
264
    public function containedInPlace($containedInPlace)
265
    {
266
        return $this->setProperty('containedInPlace', $containedInPlace);
267
    }
268
269
    /**
270
     * The basic containment relation between a place and another that it
271
     * contains.
272
     *
273
     * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $containsPlace
274
     *
275
     * @return static
276
     *
277
     * @see http://schema.org/containsPlace
278
     */
279
    public function containsPlace($containsPlace)
280
    {
281
        return $this->setProperty('containsPlace', $containsPlace);
282
    }
283
284
    /**
285
     * The currency accepted.
286
     * 
287
     * Use standard formats: [ISO 4217 currency
288
     * format](http://en.wikipedia.org/wiki/ISO_4217) e.g. "USD"; [Ticker
289
     * symbol](https://en.wikipedia.org/wiki/List_of_cryptocurrencies) for
290
     * cryptocurrencies e.g. "BTC"; well known names for [Local Exchange
291
     * Tradings
292
     * Systems](https://en.wikipedia.org/wiki/Local_exchange_trading_system)
293
     * (LETS) and other currency types e.g. "Ithaca HOUR".
294
     *
295
     * @param string|string[] $currenciesAccepted
296
     *
297
     * @return static
298
     *
299
     * @see http://schema.org/currenciesAccepted
300
     */
301
    public function currenciesAccepted($currenciesAccepted)
302
    {
303
        return $this->setProperty('currenciesAccepted', $currenciesAccepted);
304
    }
305
306
    /**
307
     * A relationship between an organization and a department of that
308
     * organization, also described as an organization (allowing different urls,
309
     * logos, opening hours). For example: a store with a pharmacy, or a bakery
310
     * with a cafe.
311
     *
312
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[] $department
313
     *
314
     * @return static
315
     *
316
     * @see http://schema.org/department
317
     */
318
    public function department($department)
319
    {
320
        return $this->setProperty('department', $department);
321
    }
322
323
    /**
324
     * A description of the item.
325
     *
326
     * @param string|string[] $description
327
     *
328
     * @return static
329
     *
330
     * @see http://schema.org/description
331
     */
332
    public function description($description)
333
    {
334
        return $this->setProperty('description', $description);
335
    }
336
337
    /**
338
     * A sub property of description. A short description of the item used to
339
     * disambiguate from other, similar items. Information from other properties
340
     * (in particular, name) may be necessary for the description to be useful
341
     * for disambiguation.
342
     *
343
     * @param string|string[] $disambiguatingDescription
344
     *
345
     * @return static
346
     *
347
     * @see http://schema.org/disambiguatingDescription
348
     */
349
    public function disambiguatingDescription($disambiguatingDescription)
350
    {
351
        return $this->setProperty('disambiguatingDescription', $disambiguatingDescription);
352
    }
353
354
    /**
355
     * The date that this organization was dissolved.
356
     *
357
     * @param \DateTimeInterface|\DateTimeInterface[] $dissolutionDate
358
     *
359
     * @return static
360
     *
361
     * @see http://schema.org/dissolutionDate
362
     */
363
    public function dissolutionDate($dissolutionDate)
364
    {
365
        return $this->setProperty('dissolutionDate', $dissolutionDate);
366
    }
367
368
    /**
369
     * The Dun & Bradstreet DUNS number for identifying an organization or
370
     * business person.
371
     *
372
     * @param string|string[] $duns
373
     *
374
     * @return static
375
     *
376
     * @see http://schema.org/duns
377
     */
378
    public function duns($duns)
379
    {
380
        return $this->setProperty('duns', $duns);
381
    }
382
383
    /**
384
     * Email address.
385
     *
386
     * @param string|string[] $email
387
     *
388
     * @return static
389
     *
390
     * @see http://schema.org/email
391
     */
392
    public function email($email)
393
    {
394
        return $this->setProperty('email', $email);
395
    }
396
397
    /**
398
     * Someone working for this organization.
399
     *
400
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $employee
401
     *
402
     * @return static
403
     *
404
     * @see http://schema.org/employee
405
     */
406
    public function employee($employee)
407
    {
408
        return $this->setProperty('employee', $employee);
409
    }
410
411
    /**
412
     * People working for this organization.
413
     *
414
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $employees
415
     *
416
     * @return static
417
     *
418
     * @see http://schema.org/employees
419
     */
420
    public function employees($employees)
421
    {
422
        return $this->setProperty('employees', $employees);
423
    }
424
425
    /**
426
     * Upcoming or past event associated with this place, organization, or
427
     * action.
428
     *
429
     * @param \Spatie\SchemaOrg\Contracts\EventContract|\Spatie\SchemaOrg\Contracts\EventContract[] $event
430
     *
431
     * @return static
432
     *
433
     * @see http://schema.org/event
434
     */
435
    public function event($event)
436
    {
437
        return $this->setProperty('event', $event);
438
    }
439
440
    /**
441
     * Upcoming or past events associated with this place or organization.
442
     *
443
     * @param \Spatie\SchemaOrg\Contracts\EventContract|\Spatie\SchemaOrg\Contracts\EventContract[] $events
444
     *
445
     * @return static
446
     *
447
     * @see http://schema.org/events
448
     */
449
    public function events($events)
450
    {
451
        return $this->setProperty('events', $events);
452
    }
453
454
    /**
455
     * The fax number.
456
     *
457
     * @param string|string[] $faxNumber
458
     *
459
     * @return static
460
     *
461
     * @see http://schema.org/faxNumber
462
     */
463
    public function faxNumber($faxNumber)
464
    {
465
        return $this->setProperty('faxNumber', $faxNumber);
466
    }
467
468
    /**
469
     * A person who founded this organization.
470
     *
471
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $founder
472
     *
473
     * @return static
474
     *
475
     * @see http://schema.org/founder
476
     */
477
    public function founder($founder)
478
    {
479
        return $this->setProperty('founder', $founder);
480
    }
481
482
    /**
483
     * A person who founded this organization.
484
     *
485
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $founders
486
     *
487
     * @return static
488
     *
489
     * @see http://schema.org/founders
490
     */
491
    public function founders($founders)
492
    {
493
        return $this->setProperty('founders', $founders);
494
    }
495
496
    /**
497
     * The date that this organization was founded.
498
     *
499
     * @param \DateTimeInterface|\DateTimeInterface[] $foundingDate
500
     *
501
     * @return static
502
     *
503
     * @see http://schema.org/foundingDate
504
     */
505
    public function foundingDate($foundingDate)
506
    {
507
        return $this->setProperty('foundingDate', $foundingDate);
508
    }
509
510
    /**
511
     * The place where the Organization was founded.
512
     *
513
     * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $foundingLocation
514
     *
515
     * @return static
516
     *
517
     * @see http://schema.org/foundingLocation
518
     */
519
    public function foundingLocation($foundingLocation)
520
    {
521
        return $this->setProperty('foundingLocation', $foundingLocation);
522
    }
523
524
    /**
525
     * A person or organization that supports (sponsors) something through some
526
     * kind of financial contribution.
527
     *
528
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $funder
529
     *
530
     * @return static
531
     *
532
     * @see http://schema.org/funder
533
     */
534
    public function funder($funder)
535
    {
536
        return $this->setProperty('funder', $funder);
537
    }
538
539
    /**
540
     * The geo coordinates of the place.
541
     *
542
     * @param \Spatie\SchemaOrg\Contracts\GeoCoordinatesContract|\Spatie\SchemaOrg\Contracts\GeoCoordinatesContract[]|\Spatie\SchemaOrg\Contracts\GeoShapeContract|\Spatie\SchemaOrg\Contracts\GeoShapeContract[] $geo
543
     *
544
     * @return static
545
     *
546
     * @see http://schema.org/geo
547
     */
548
    public function geo($geo)
549
    {
550
        return $this->setProperty('geo', $geo);
551
    }
552
553
    /**
554
     * The [Global Location Number](http://www.gs1.org/gln) (GLN, sometimes also
555
     * referred to as International Location Number or ILN) of the respective
556
     * organization, person, or place. The GLN is a 13-digit number used to
557
     * identify parties and physical locations.
558
     *
559
     * @param string|string[] $globalLocationNumber
560
     *
561
     * @return static
562
     *
563
     * @see http://schema.org/globalLocationNumber
564
     */
565
    public function globalLocationNumber($globalLocationNumber)
566
    {
567
        return $this->setProperty('globalLocationNumber', $globalLocationNumber);
568
    }
569
570
    /**
571
     * A URL to a map of the place.
572
     *
573
     * @param \Spatie\SchemaOrg\Contracts\MapContract|\Spatie\SchemaOrg\Contracts\MapContract[]|string|string[] $hasMap
574
     *
575
     * @return static
576
     *
577
     * @see http://schema.org/hasMap
578
     */
579
    public function hasMap($hasMap)
580
    {
581
        return $this->setProperty('hasMap', $hasMap);
582
    }
583
584
    /**
585
     * Indicates an OfferCatalog listing for this Organization, Person, or
586
     * Service.
587
     *
588
     * @param \Spatie\SchemaOrg\Contracts\OfferCatalogContract|\Spatie\SchemaOrg\Contracts\OfferCatalogContract[] $hasOfferCatalog
589
     *
590
     * @return static
591
     *
592
     * @see http://schema.org/hasOfferCatalog
593
     */
594
    public function hasOfferCatalog($hasOfferCatalog)
595
    {
596
        return $this->setProperty('hasOfferCatalog', $hasOfferCatalog);
597
    }
598
599
    /**
600
     * Points-of-Sales operated by the organization or person.
601
     *
602
     * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $hasPOS
603
     *
604
     * @return static
605
     *
606
     * @see http://schema.org/hasPOS
607
     */
608
    public function hasPOS($hasPOS)
609
    {
610
        return $this->setProperty('hasPOS', $hasPOS);
611
    }
612
613
    /**
614
     * The identifier property represents any kind of identifier for any kind of
615
     * [[Thing]], such as ISBNs, GTIN codes, UUIDs etc. Schema.org provides
616
     * dedicated properties for representing many of these, either as textual
617
     * strings or as URL (URI) links. See [background
618
     * notes](/docs/datamodel.html#identifierBg) for more details.
619
     *
620
     * @param \Spatie\SchemaOrg\Contracts\PropertyValueContract|\Spatie\SchemaOrg\Contracts\PropertyValueContract[]|string|string[] $identifier
621
     *
622
     * @return static
623
     *
624
     * @see http://schema.org/identifier
625
     */
626
    public function identifier($identifier)
627
    {
628
        return $this->setProperty('identifier', $identifier);
629
    }
630
631
    /**
632
     * An image of the item. This can be a [[URL]] or a fully described
633
     * [[ImageObject]].
634
     *
635
     * @param \Spatie\SchemaOrg\Contracts\ImageObjectContract|\Spatie\SchemaOrg\Contracts\ImageObjectContract[]|string|string[] $image
636
     *
637
     * @return static
638
     *
639
     * @see http://schema.org/image
640
     */
641
    public function image($image)
642
    {
643
        return $this->setProperty('image', $image);
644
    }
645
646
    /**
647
     * A flag to signal that the item, event, or place is accessible for free.
648
     *
649
     * @param bool|bool[] $isAccessibleForFree
650
     *
651
     * @return static
652
     *
653
     * @see http://schema.org/isAccessibleForFree
654
     */
655
    public function isAccessibleForFree($isAccessibleForFree)
656
    {
657
        return $this->setProperty('isAccessibleForFree', $isAccessibleForFree);
658
    }
659
660
    /**
661
     * The International Standard of Industrial Classification of All Economic
662
     * Activities (ISIC), Revision 4 code for a particular organization,
663
     * business person, or place.
664
     *
665
     * @param string|string[] $isicV4
666
     *
667
     * @return static
668
     *
669
     * @see http://schema.org/isicV4
670
     */
671
    public function isicV4($isicV4)
672
    {
673
        return $this->setProperty('isicV4', $isicV4);
674
    }
675
676
    /**
677
     * The latitude of a location. For example ```37.42242``` ([WGS
678
     * 84](https://en.wikipedia.org/wiki/World_Geodetic_System)).
679
     *
680
     * @param float|float[]|int|int[]|string|string[] $latitude
681
     *
682
     * @return static
683
     *
684
     * @see http://schema.org/latitude
685
     */
686
    public function latitude($latitude)
687
    {
688
        return $this->setProperty('latitude', $latitude);
689
    }
690
691
    /**
692
     * The official name of the organization, e.g. the registered company name.
693
     *
694
     * @param string|string[] $legalName
695
     *
696
     * @return static
697
     *
698
     * @see http://schema.org/legalName
699
     */
700
    public function legalName($legalName)
701
    {
702
        return $this->setProperty('legalName', $legalName);
703
    }
704
705
    /**
706
     * An organization identifier that uniquely identifies a legal entity as
707
     * defined in ISO 17442.
708
     *
709
     * @param string|string[] $leiCode
710
     *
711
     * @return static
712
     *
713
     * @see http://schema.org/leiCode
714
     */
715
    public function leiCode($leiCode)
716
    {
717
        return $this->setProperty('leiCode', $leiCode);
718
    }
719
720
    /**
721
     * The location of for example where the event is happening, an organization
722
     * is located, or where an action takes place.
723
     *
724
     * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[]|\Spatie\SchemaOrg\Contracts\PostalAddressContract|\Spatie\SchemaOrg\Contracts\PostalAddressContract[]|string|string[] $location
725
     *
726
     * @return static
727
     *
728
     * @see http://schema.org/location
729
     */
730
    public function location($location)
731
    {
732
        return $this->setProperty('location', $location);
733
    }
734
735
    /**
736
     * An associated logo.
737
     *
738
     * @param \Spatie\SchemaOrg\Contracts\ImageObjectContract|\Spatie\SchemaOrg\Contracts\ImageObjectContract[]|string|string[] $logo
739
     *
740
     * @return static
741
     *
742
     * @see http://schema.org/logo
743
     */
744
    public function logo($logo)
745
    {
746
        return $this->setProperty('logo', $logo);
747
    }
748
749
    /**
750
     * The longitude of a location. For example ```-122.08585``` ([WGS
751
     * 84](https://en.wikipedia.org/wiki/World_Geodetic_System)).
752
     *
753
     * @param float|float[]|int|int[]|string|string[] $longitude
754
     *
755
     * @return static
756
     *
757
     * @see http://schema.org/longitude
758
     */
759
    public function longitude($longitude)
760
    {
761
        return $this->setProperty('longitude', $longitude);
762
    }
763
764
    /**
765
     * Indicates a page (or other CreativeWork) for which this thing is the main
766
     * entity being described. See [background
767
     * notes](/docs/datamodel.html#mainEntityBackground) for details.
768
     *
769
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $mainEntityOfPage
770
     *
771
     * @return static
772
     *
773
     * @see http://schema.org/mainEntityOfPage
774
     */
775
    public function mainEntityOfPage($mainEntityOfPage)
776
    {
777
        return $this->setProperty('mainEntityOfPage', $mainEntityOfPage);
778
    }
779
780
    /**
781
     * A pointer to products or services offered by the organization or person.
782
     *
783
     * @param \Spatie\SchemaOrg\Contracts\OfferContract|\Spatie\SchemaOrg\Contracts\OfferContract[] $makesOffer
784
     *
785
     * @return static
786
     *
787
     * @see http://schema.org/makesOffer
788
     */
789
    public function makesOffer($makesOffer)
790
    {
791
        return $this->setProperty('makesOffer', $makesOffer);
792
    }
793
794
    /**
795
     * A URL to a map of the place.
796
     *
797
     * @param string|string[] $map
798
     *
799
     * @return static
800
     *
801
     * @see http://schema.org/map
802
     */
803
    public function map($map)
804
    {
805
        return $this->setProperty('map', $map);
806
    }
807
808
    /**
809
     * A URL to a map of the place.
810
     *
811
     * @param string|string[] $maps
812
     *
813
     * @return static
814
     *
815
     * @see http://schema.org/maps
816
     */
817
    public function maps($maps)
818
    {
819
        return $this->setProperty('maps', $maps);
820
    }
821
822
    /**
823
     * The total number of individuals that may attend an event or venue.
824
     *
825
     * @param int|int[] $maximumAttendeeCapacity
826
     *
827
     * @return static
828
     *
829
     * @see http://schema.org/maximumAttendeeCapacity
830
     */
831
    public function maximumAttendeeCapacity($maximumAttendeeCapacity)
832
    {
833
        return $this->setProperty('maximumAttendeeCapacity', $maximumAttendeeCapacity);
834
    }
835
836
    /**
837
     * A member of an Organization or a ProgramMembership. Organizations can be
838
     * members of organizations; ProgramMembership is typically for individuals.
839
     *
840
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $member
841
     *
842
     * @return static
843
     *
844
     * @see http://schema.org/member
845
     */
846
    public function member($member)
847
    {
848
        return $this->setProperty('member', $member);
849
    }
850
851
    /**
852
     * An Organization (or ProgramMembership) to which this Person or
853
     * Organization belongs.
854
     *
855
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\ProgramMembershipContract|\Spatie\SchemaOrg\Contracts\ProgramMembershipContract[] $memberOf
856
     *
857
     * @return static
858
     *
859
     * @see http://schema.org/memberOf
860
     */
861
    public function memberOf($memberOf)
862
    {
863
        return $this->setProperty('memberOf', $memberOf);
864
    }
865
866
    /**
867
     * A member of this organization.
868
     *
869
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $members
870
     *
871
     * @return static
872
     *
873
     * @see http://schema.org/members
874
     */
875
    public function members($members)
876
    {
877
        return $this->setProperty('members', $members);
878
    }
879
880
    /**
881
     * The North American Industry Classification System (NAICS) code for a
882
     * particular organization or business person.
883
     *
884
     * @param string|string[] $naics
885
     *
886
     * @return static
887
     *
888
     * @see http://schema.org/naics
889
     */
890
    public function naics($naics)
891
    {
892
        return $this->setProperty('naics', $naics);
893
    }
894
895
    /**
896
     * The name of the item.
897
     *
898
     * @param string|string[] $name
899
     *
900
     * @return static
901
     *
902
     * @see http://schema.org/name
903
     */
904
    public function name($name)
905
    {
906
        return $this->setProperty('name', $name);
907
    }
908
909
    /**
910
     * The number of employees in an organization e.g. business.
911
     *
912
     * @param \Spatie\SchemaOrg\Contracts\QuantitativeValueContract|\Spatie\SchemaOrg\Contracts\QuantitativeValueContract[] $numberOfEmployees
913
     *
914
     * @return static
915
     *
916
     * @see http://schema.org/numberOfEmployees
917
     */
918
    public function numberOfEmployees($numberOfEmployees)
919
    {
920
        return $this->setProperty('numberOfEmployees', $numberOfEmployees);
921
    }
922
923
    /**
924
     * A pointer to the organization or person making the offer.
925
     *
926
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $offeredBy
927
     *
928
     * @return static
929
     *
930
     * @see http://schema.org/offeredBy
931
     */
932
    public function offeredBy($offeredBy)
933
    {
934
        return $this->setProperty('offeredBy', $offeredBy);
935
    }
936
937
    /**
938
     * The general opening hours for a business. Opening hours can be specified
939
     * as a weekly time range, starting with days, then times per day. Multiple
940
     * days can be listed with commas ',' separating each day. Day or time
941
     * ranges are specified using a hyphen '-'.
942
     * 
943
     * * Days are specified using the following two-letter combinations:
944
     * ```Mo```, ```Tu```, ```We```, ```Th```, ```Fr```, ```Sa```, ```Su```.
945
     * * Times are specified using 24:00 time. For example, 3pm is specified as
946
     * ```15:00```. 
947
     * * Here is an example: <code>&lt;time itemprop="openingHours"
948
     * datetime=&quot;Tu,Th 16:00-20:00&quot;&gt;Tuesdays and Thursdays
949
     * 4-8pm&lt;/time&gt;</code>.
950
     * * If a business is open 7 days a week, then it can be specified as
951
     * <code>&lt;time itemprop=&quot;openingHours&quot;
952
     * datetime=&quot;Mo-Su&quot;&gt;Monday through Sunday, all
953
     * day&lt;/time&gt;</code>.
954
     *
955
     * @param string|string[] $openingHours
956
     *
957
     * @return static
958
     *
959
     * @see http://schema.org/openingHours
960
     */
961
    public function openingHours($openingHours)
962
    {
963
        return $this->setProperty('openingHours', $openingHours);
964
    }
965
966
    /**
967
     * The opening hours of a certain place.
968
     *
969
     * @param \Spatie\SchemaOrg\Contracts\OpeningHoursSpecificationContract|\Spatie\SchemaOrg\Contracts\OpeningHoursSpecificationContract[] $openingHoursSpecification
970
     *
971
     * @return static
972
     *
973
     * @see http://schema.org/openingHoursSpecification
974
     */
975
    public function openingHoursSpecification($openingHoursSpecification)
976
    {
977
        return $this->setProperty('openingHoursSpecification', $openingHoursSpecification);
978
    }
979
980
    /**
981
     * Products owned by the organization or person.
982
     *
983
     * @param \Spatie\SchemaOrg\Contracts\OwnershipInfoContract|\Spatie\SchemaOrg\Contracts\OwnershipInfoContract[]|\Spatie\SchemaOrg\Contracts\ProductContract|\Spatie\SchemaOrg\Contracts\ProductContract[] $owns
984
     *
985
     * @return static
986
     *
987
     * @see http://schema.org/owns
988
     */
989
    public function owns($owns)
990
    {
991
        return $this->setProperty('owns', $owns);
992
    }
993
994
    /**
995
     * The larger organization that this organization is a [[subOrganization]]
996
     * of, if any.
997
     *
998
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[] $parentOrganization
999
     *
1000
     * @return static
1001
     *
1002
     * @see http://schema.org/parentOrganization
1003
     */
1004
    public function parentOrganization($parentOrganization)
1005
    {
1006
        return $this->setProperty('parentOrganization', $parentOrganization);
1007
    }
1008
1009
    /**
1010
     * Cash, Credit Card, Cryptocurrency, Local Exchange Tradings System, etc.
1011
     *
1012
     * @param string|string[] $paymentAccepted
1013
     *
1014
     * @return static
1015
     *
1016
     * @see http://schema.org/paymentAccepted
1017
     */
1018
    public function paymentAccepted($paymentAccepted)
1019
    {
1020
        return $this->setProperty('paymentAccepted', $paymentAccepted);
1021
    }
1022
1023
    /**
1024
     * A photograph of this place.
1025
     *
1026
     * @param \Spatie\SchemaOrg\Contracts\ImageObjectContract|\Spatie\SchemaOrg\Contracts\ImageObjectContract[]|\Spatie\SchemaOrg\Contracts\PhotographContract|\Spatie\SchemaOrg\Contracts\PhotographContract[] $photo
1027
     *
1028
     * @return static
1029
     *
1030
     * @see http://schema.org/photo
1031
     */
1032
    public function photo($photo)
1033
    {
1034
        return $this->setProperty('photo', $photo);
1035
    }
1036
1037
    /**
1038
     * Photographs of this place.
1039
     *
1040
     * @param \Spatie\SchemaOrg\Contracts\ImageObjectContract|\Spatie\SchemaOrg\Contracts\ImageObjectContract[]|\Spatie\SchemaOrg\Contracts\PhotographContract|\Spatie\SchemaOrg\Contracts\PhotographContract[] $photos
1041
     *
1042
     * @return static
1043
     *
1044
     * @see http://schema.org/photos
1045
     */
1046
    public function photos($photos)
1047
    {
1048
        return $this->setProperty('photos', $photos);
1049
    }
1050
1051
    /**
1052
     * Indicates a potential Action, which describes an idealized action in
1053
     * which this thing would play an 'object' role.
1054
     *
1055
     * @param \Spatie\SchemaOrg\Contracts\ActionContract|\Spatie\SchemaOrg\Contracts\ActionContract[] $potentialAction
1056
     *
1057
     * @return static
1058
     *
1059
     * @see http://schema.org/potentialAction
1060
     */
1061
    public function potentialAction($potentialAction)
1062
    {
1063
        return $this->setProperty('potentialAction', $potentialAction);
1064
    }
1065
1066
    /**
1067
     * The price range of the business, for example ```$$$```.
1068
     *
1069
     * @param string|string[] $priceRange
1070
     *
1071
     * @return static
1072
     *
1073
     * @see http://schema.org/priceRange
1074
     */
1075
    public function priceRange($priceRange)
1076
    {
1077
        return $this->setProperty('priceRange', $priceRange);
1078
    }
1079
1080
    /**
1081
     * A flag to signal that the [[Place]] is open to public visitors.  If this
1082
     * property is omitted there is no assumed default boolean value
1083
     *
1084
     * @param bool|bool[] $publicAccess
1085
     *
1086
     * @return static
1087
     *
1088
     * @see http://schema.org/publicAccess
1089
     */
1090
    public function publicAccess($publicAccess)
1091
    {
1092
        return $this->setProperty('publicAccess', $publicAccess);
1093
    }
1094
1095
    /**
1096
     * The publishingPrinciples property indicates (typically via [[URL]]) a
1097
     * document describing the editorial principles of an [[Organization]] (or
1098
     * individual e.g. a [[Person]] writing a blog) that relate to their
1099
     * activities as a publisher, e.g. ethics or diversity policies. When
1100
     * applied to a [[CreativeWork]] (e.g. [[NewsArticle]]) the principles are
1101
     * those of the party primarily responsible for the creation of the
1102
     * [[CreativeWork]].
1103
     * 
1104
     * While such policies are most typically expressed in natural language,
1105
     * sometimes related information (e.g. indicating a [[funder]]) can be
1106
     * expressed using schema.org terminology.
1107
     *
1108
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $publishingPrinciples
1109
     *
1110
     * @return static
1111
     *
1112
     * @see http://schema.org/publishingPrinciples
1113
     */
1114
    public function publishingPrinciples($publishingPrinciples)
1115
    {
1116
        return $this->setProperty('publishingPrinciples', $publishingPrinciples);
1117
    }
1118
1119
    /**
1120
     * A review of the item.
1121
     *
1122
     * @param \Spatie\SchemaOrg\Contracts\ReviewContract|\Spatie\SchemaOrg\Contracts\ReviewContract[] $review
1123
     *
1124
     * @return static
1125
     *
1126
     * @see http://schema.org/review
1127
     */
1128
    public function review($review)
1129
    {
1130
        return $this->setProperty('review', $review);
1131
    }
1132
1133
    /**
1134
     * Review of the item.
1135
     *
1136
     * @param \Spatie\SchemaOrg\Contracts\ReviewContract|\Spatie\SchemaOrg\Contracts\ReviewContract[] $reviews
1137
     *
1138
     * @return static
1139
     *
1140
     * @see http://schema.org/reviews
1141
     */
1142
    public function reviews($reviews)
1143
    {
1144
        return $this->setProperty('reviews', $reviews);
1145
    }
1146
1147
    /**
1148
     * URL of a reference Web page that unambiguously indicates the item's
1149
     * identity. E.g. the URL of the item's Wikipedia page, Wikidata entry, or
1150
     * official website.
1151
     *
1152
     * @param string|string[] $sameAs
1153
     *
1154
     * @return static
1155
     *
1156
     * @see http://schema.org/sameAs
1157
     */
1158
    public function sameAs($sameAs)
1159
    {
1160
        return $this->setProperty('sameAs', $sameAs);
1161
    }
1162
1163
    /**
1164
     * A pointer to products or services sought by the organization or person
1165
     * (demand).
1166
     *
1167
     * @param \Spatie\SchemaOrg\Contracts\DemandContract|\Spatie\SchemaOrg\Contracts\DemandContract[] $seeks
1168
     *
1169
     * @return static
1170
     *
1171
     * @see http://schema.org/seeks
1172
     */
1173
    public function seeks($seeks)
1174
    {
1175
        return $this->setProperty('seeks', $seeks);
1176
    }
1177
1178
    /**
1179
     * The geographic area where the service is provided.
1180
     *
1181
     * @param \Spatie\SchemaOrg\Contracts\AdministrativeAreaContract|\Spatie\SchemaOrg\Contracts\AdministrativeAreaContract[]|\Spatie\SchemaOrg\Contracts\GeoShapeContract|\Spatie\SchemaOrg\Contracts\GeoShapeContract[]|\Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $serviceArea
1182
     *
1183
     * @return static
1184
     *
1185
     * @see http://schema.org/serviceArea
1186
     */
1187
    public function serviceArea($serviceArea)
1188
    {
1189
        return $this->setProperty('serviceArea', $serviceArea);
1190
    }
1191
1192
    /**
1193
     * A slogan or motto associated with the item.
1194
     *
1195
     * @param string|string[] $slogan
1196
     *
1197
     * @return static
1198
     *
1199
     * @see http://schema.org/slogan
1200
     */
1201
    public function slogan($slogan)
1202
    {
1203
        return $this->setProperty('slogan', $slogan);
1204
    }
1205
1206
    /**
1207
     * Indicates whether it is allowed to smoke in the place, e.g. in the
1208
     * restaurant, hotel or hotel room.
1209
     *
1210
     * @param bool|bool[] $smokingAllowed
1211
     *
1212
     * @return static
1213
     *
1214
     * @see http://schema.org/smokingAllowed
1215
     */
1216
    public function smokingAllowed($smokingAllowed)
1217
    {
1218
        return $this->setProperty('smokingAllowed', $smokingAllowed);
1219
    }
1220
1221
    /**
1222
     * The special opening hours of a certain place.
1223
     * 
1224
     * Use this to explicitly override general opening hours brought in scope by
1225
     * [[openingHoursSpecification]] or [[openingHours]].
1226
     *
1227
     * @param \Spatie\SchemaOrg\Contracts\OpeningHoursSpecificationContract|\Spatie\SchemaOrg\Contracts\OpeningHoursSpecificationContract[] $specialOpeningHoursSpecification
1228
     *
1229
     * @return static
1230
     *
1231
     * @see http://schema.org/specialOpeningHoursSpecification
1232
     */
1233
    public function specialOpeningHoursSpecification($specialOpeningHoursSpecification)
1234
    {
1235
        return $this->setProperty('specialOpeningHoursSpecification', $specialOpeningHoursSpecification);
1236
    }
1237
1238
    /**
1239
     * A person or organization that supports a thing through a pledge, promise,
1240
     * or financial contribution. e.g. a sponsor of a Medical Study or a
1241
     * corporate sponsor of an event.
1242
     *
1243
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $sponsor
1244
     *
1245
     * @return static
1246
     *
1247
     * @see http://schema.org/sponsor
1248
     */
1249
    public function sponsor($sponsor)
1250
    {
1251
        return $this->setProperty('sponsor', $sponsor);
1252
    }
1253
1254
    /**
1255
     * A relationship between two organizations where the first includes the
1256
     * second, e.g., as a subsidiary. See also: the more specific 'department'
1257
     * property.
1258
     *
1259
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[] $subOrganization
1260
     *
1261
     * @return static
1262
     *
1263
     * @see http://schema.org/subOrganization
1264
     */
1265
    public function subOrganization($subOrganization)
1266
    {
1267
        return $this->setProperty('subOrganization', $subOrganization);
1268
    }
1269
1270
    /**
1271
     * A CreativeWork or Event about this Thing.
1272
     *
1273
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|\Spatie\SchemaOrg\Contracts\EventContract|\Spatie\SchemaOrg\Contracts\EventContract[] $subjectOf
1274
     *
1275
     * @return static
1276
     *
1277
     * @see http://schema.org/subjectOf
1278
     */
1279
    public function subjectOf($subjectOf)
1280
    {
1281
        return $this->setProperty('subjectOf', $subjectOf);
1282
    }
1283
1284
    /**
1285
     * The Tax / Fiscal ID of the organization or person, e.g. the TIN in the US
1286
     * or the CIF/NIF in Spain.
1287
     *
1288
     * @param string|string[] $taxID
1289
     *
1290
     * @return static
1291
     *
1292
     * @see http://schema.org/taxID
1293
     */
1294
    public function taxID($taxID)
1295
    {
1296
        return $this->setProperty('taxID', $taxID);
1297
    }
1298
1299
    /**
1300
     * The telephone number.
1301
     *
1302
     * @param string|string[] $telephone
1303
     *
1304
     * @return static
1305
     *
1306
     * @see http://schema.org/telephone
1307
     */
1308
    public function telephone($telephone)
1309
    {
1310
        return $this->setProperty('telephone', $telephone);
1311
    }
1312
1313
    /**
1314
     * URL of the item.
1315
     *
1316
     * @param string|string[] $url
1317
     *
1318
     * @return static
1319
     *
1320
     * @see http://schema.org/url
1321
     */
1322
    public function url($url)
1323
    {
1324
        return $this->setProperty('url', $url);
1325
    }
1326
1327
    /**
1328
     * The Value-added Tax ID of the organization or person.
1329
     *
1330
     * @param string|string[] $vatID
1331
     *
1332
     * @return static
1333
     *
1334
     * @see http://schema.org/vatID
1335
     */
1336
    public function vatID($vatID)
1337
    {
1338
        return $this->setProperty('vatID', $vatID);
1339
    }
1340
1341
}
1342