Issues (439)

Security Analysis    no request data  

This project does not seem to handle request data directly as such no vulnerable execution paths were found.

  Cross-Site Scripting
Cross-Site Scripting enables an attacker to inject code into the response of a web-request that is viewed by other users. It can for example be used to bypass access controls, or even to take over other users' accounts.
  File Exposure
File Exposure allows an attacker to gain access to local files that he should not be able to access. These files can for example include database credentials, or other configuration files.
  File Manipulation
File Manipulation enables an attacker to write custom data to files. This potentially leads to injection of arbitrary code on the server.
  Object Injection
Object Injection enables an attacker to inject an object into PHP code, and can lead to arbitrary code execution, file exposure, or file manipulation attacks.
  Code Injection
Code Injection enables an attacker to execute arbitrary code on the server.
  Response Splitting
Response Splitting can be used to send arbitrary responses.
  File Inclusion
File Inclusion enables an attacker to inject custom files into PHP's file loading mechanism, either explicitly passed to include, or for example via PHP's auto-loading mechanism.
  Command Injection
Command Injection enables an attacker to inject a shell command that is execute with the privileges of the web-server. This can be used to expose sensitive data, or gain access of your server.
  SQL Injection
SQL Injection enables an attacker to execute arbitrary SQL code on your database server gaining access to user data, or manipulating user data.
  XPath Injection
XPath Injection enables an attacker to modify the parts of XML document that are read. If that XML document is for example used for authentication, this can lead to further vulnerabilities similar to SQL Injection.
  LDAP Injection
LDAP Injection enables an attacker to inject LDAP statements potentially granting permission to run unauthorized queries, or modify content inside the LDAP tree.
  Header Injection
  Other Vulnerability
This category comprises other attack vectors such as manipulating the PHP runtime, loading custom extensions, freezing the runtime, or similar.
  Regex Injection
Regex Injection enables an attacker to execute arbitrary code in your PHP process.
  XML Injection
XML Injection enables an attacker to read files on your local filesystem including configuration files, or can be abused to freeze your web-server process.
  Variable Injection
Variable Injection enables an attacker to overwrite program variables with custom data, and can lead to further vulnerabilities.
Unfortunately, the security analysis is currently not available for your project. If you are a non-commercial open-source project, please contact support to gain access.

src/Hotel.php (1 issue)

Upgrade to new PHP Analysis Engine

These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more

1
<?php
2
3
namespace Spatie\SchemaOrg;
4
5
use \Spatie\SchemaOrg\Contracts\HotelContract;
6
use \Spatie\SchemaOrg\Contracts\LocalBusinessContract;
7
use \Spatie\SchemaOrg\Contracts\LodgingBusinessContract;
8
use \Spatie\SchemaOrg\Contracts\OrganizationContract;
9
use \Spatie\SchemaOrg\Contracts\PlaceContract;
10
use \Spatie\SchemaOrg\Contracts\ThingContract;
11
12
/**
13
 * A hotel is an establishment that provides lodging paid on a short-term basis
14
 * (Source: Wikipedia, the free encyclopedia, see
15
 * http://en.wikipedia.org/wiki/Hotel).
16
 * 
17
 * See also the <a href="/docs/hotels.html">dedicated document on the use of
18
 * schema.org for marking up hotels and other forms of accommodations</a>.
19
 *
20
 * @see http://schema.org/Hotel
21
 *
22
 */
23 View Code Duplication
class Hotel extends BaseType implements HotelContract, LocalBusinessContract, LodgingBusinessContract, OrganizationContract, PlaceContract, ThingContract
0 ignored issues
show
This class seems to be duplicated in your project.

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

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

Loading history...
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