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