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