Code Duplication    Length = 1431-1431 lines in 7 locations

src/BedAndBreakfast.php 1 location

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

src/Campground.php 1 location

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

src/Hostel.php 1 location

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

src/Hotel.php 1 location

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

src/LodgingBusiness.php 1 location

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

src/Motel.php 1 location

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

src/Resort.php 1 location

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