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/Suite.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\SuiteContract;
6
use \Spatie\SchemaOrg\Contracts\AccommodationContract;
7
use \Spatie\SchemaOrg\Contracts\PlaceContract;
8
use \Spatie\SchemaOrg\Contracts\ThingContract;
9
10
/**
11
 * A suite in a hotel or other public accommodation, denotes a class of luxury
12
 * accommodations, the key feature of which is multiple rooms (Source:
13
 * Wikipedia, the free encyclopedia, see <a
14
 * href="http://en.wikipedia.org/wiki/Suite_(hotel)">http://en.wikipedia.org/wiki/Suite_(hotel)</a>).
15
 * 
16
 * See also the <a href="/docs/hotels.html">dedicated document on the use of
17
 * schema.org for marking up hotels and other forms of accommodations</a>.
18
 *
19
 * @see http://schema.org/Suite
20
 *
21
 */
22 View Code Duplication
class Suite extends BaseType implements SuiteContract, AccommodationContract, 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...
23
{
24
    /**
25
     * A property-value pair representing an additional characteristics of the
26
     * entitity, e.g. a product feature or another characteristic for which
27
     * there is no matching property in schema.org.
28
     * 
29
     * Note: Publishers should be aware that applications designed to use
30
     * specific schema.org properties (e.g. http://schema.org/width,
31
     * http://schema.org/color, http://schema.org/gtin13, ...) will typically
32
     * expect such data to be provided using those properties, rather than using
33
     * the generic property/value mechanism.
34
     *
35
     * @param \Spatie\SchemaOrg\Contracts\PropertyValueContract|\Spatie\SchemaOrg\Contracts\PropertyValueContract[] $additionalProperty
36
     *
37
     * @return static
38
     *
39
     * @see http://schema.org/additionalProperty
40
     */
41
    public function additionalProperty($additionalProperty)
42
    {
43
        return $this->setProperty('additionalProperty', $additionalProperty);
44
    }
45
46
    /**
47
     * An additional type for the item, typically used for adding more specific
48
     * types from external vocabularies in microdata syntax. This is a
49
     * relationship between something and a class that the thing is in. In RDFa
50
     * syntax, it is better to use the native RDFa syntax - the 'typeof'
51
     * attribute - for multiple types. Schema.org tools may have only weaker
52
     * understanding of extra types, in particular those defined externally.
53
     *
54
     * @param string|string[] $additionalType
55
     *
56
     * @return static
57
     *
58
     * @see http://schema.org/additionalType
59
     */
60
    public function additionalType($additionalType)
61
    {
62
        return $this->setProperty('additionalType', $additionalType);
63
    }
64
65
    /**
66
     * Physical address of the item.
67
     *
68
     * @param \Spatie\SchemaOrg\Contracts\PostalAddressContract|\Spatie\SchemaOrg\Contracts\PostalAddressContract[]|string|string[] $address
69
     *
70
     * @return static
71
     *
72
     * @see http://schema.org/address
73
     */
74
    public function address($address)
75
    {
76
        return $this->setProperty('address', $address);
77
    }
78
79
    /**
80
     * The overall rating, based on a collection of reviews or ratings, of the
81
     * item.
82
     *
83
     * @param \Spatie\SchemaOrg\Contracts\AggregateRatingContract|\Spatie\SchemaOrg\Contracts\AggregateRatingContract[] $aggregateRating
84
     *
85
     * @return static
86
     *
87
     * @see http://schema.org/aggregateRating
88
     */
89
    public function aggregateRating($aggregateRating)
90
    {
91
        return $this->setProperty('aggregateRating', $aggregateRating);
92
    }
93
94
    /**
95
     * An alias for the item.
96
     *
97
     * @param string|string[] $alternateName
98
     *
99
     * @return static
100
     *
101
     * @see http://schema.org/alternateName
102
     */
103
    public function alternateName($alternateName)
104
    {
105
        return $this->setProperty('alternateName', $alternateName);
106
    }
107
108
    /**
109
     * An amenity feature (e.g. a characteristic or service) of the
110
     * Accommodation. This generic property does not make a statement about
111
     * whether the feature is included in an offer for the main accommodation or
112
     * available at extra costs.
113
     *
114
     * @param \Spatie\SchemaOrg\Contracts\LocationFeatureSpecificationContract|\Spatie\SchemaOrg\Contracts\LocationFeatureSpecificationContract[] $amenityFeature
115
     *
116
     * @return static
117
     *
118
     * @see http://schema.org/amenityFeature
119
     */
120
    public function amenityFeature($amenityFeature)
121
    {
122
        return $this->setProperty('amenityFeature', $amenityFeature);
123
    }
124
125
    /**
126
     * The type of bed or beds included in the accommodation. For the single
127
     * case of just one bed of a certain type, you use bed directly with a text.
128
     *       If you want to indicate the quantity of a certain kind of bed, use
129
     * an instance of BedDetails. For more detailed information, use the
130
     * amenityFeature property.
131
     *
132
     * @param \Spatie\SchemaOrg\Contracts\BedDetailsContract|\Spatie\SchemaOrg\Contracts\BedDetailsContract[]|string|string[] $bed
133
     *
134
     * @return static
135
     *
136
     * @see http://schema.org/bed
137
     */
138
    public function bed($bed)
139
    {
140
        return $this->setProperty('bed', $bed);
141
    }
142
143
    /**
144
     * A short textual code (also called "store code") that uniquely identifies
145
     * a place of business. The code is typically assigned by the
146
     * parentOrganization and used in structured URLs.
147
     * 
148
     * For example, in the URL
149
     * http://www.starbucks.co.uk/store-locator/etc/detail/3047 the code "3047"
150
     * is a branchCode for a particular branch.
151
     *
152
     * @param string|string[] $branchCode
153
     *
154
     * @return static
155
     *
156
     * @see http://schema.org/branchCode
157
     */
158
    public function branchCode($branchCode)
159
    {
160
        return $this->setProperty('branchCode', $branchCode);
161
    }
162
163
    /**
164
     * The basic containment relation between a place and one that contains it.
165
     *
166
     * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $containedIn
167
     *
168
     * @return static
169
     *
170
     * @see http://schema.org/containedIn
171
     */
172
    public function containedIn($containedIn)
173
    {
174
        return $this->setProperty('containedIn', $containedIn);
175
    }
176
177
    /**
178
     * The basic containment relation between a place and one that contains it.
179
     *
180
     * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $containedInPlace
181
     *
182
     * @return static
183
     *
184
     * @see http://schema.org/containedInPlace
185
     */
186
    public function containedInPlace($containedInPlace)
187
    {
188
        return $this->setProperty('containedInPlace', $containedInPlace);
189
    }
190
191
    /**
192
     * The basic containment relation between a place and another that it
193
     * contains.
194
     *
195
     * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $containsPlace
196
     *
197
     * @return static
198
     *
199
     * @see http://schema.org/containsPlace
200
     */
201
    public function containsPlace($containsPlace)
202
    {
203
        return $this->setProperty('containsPlace', $containsPlace);
204
    }
205
206
    /**
207
     * A description of the item.
208
     *
209
     * @param string|string[] $description
210
     *
211
     * @return static
212
     *
213
     * @see http://schema.org/description
214
     */
215
    public function description($description)
216
    {
217
        return $this->setProperty('description', $description);
218
    }
219
220
    /**
221
     * A sub property of description. A short description of the item used to
222
     * disambiguate from other, similar items. Information from other properties
223
     * (in particular, name) may be necessary for the description to be useful
224
     * for disambiguation.
225
     *
226
     * @param string|string[] $disambiguatingDescription
227
     *
228
     * @return static
229
     *
230
     * @see http://schema.org/disambiguatingDescription
231
     */
232
    public function disambiguatingDescription($disambiguatingDescription)
233
    {
234
        return $this->setProperty('disambiguatingDescription', $disambiguatingDescription);
235
    }
236
237
    /**
238
     * Upcoming or past event associated with this place, organization, or
239
     * action.
240
     *
241
     * @param \Spatie\SchemaOrg\Contracts\EventContract|\Spatie\SchemaOrg\Contracts\EventContract[] $event
242
     *
243
     * @return static
244
     *
245
     * @see http://schema.org/event
246
     */
247
    public function event($event)
248
    {
249
        return $this->setProperty('event', $event);
250
    }
251
252
    /**
253
     * Upcoming or past events associated with this place or organization.
254
     *
255
     * @param \Spatie\SchemaOrg\Contracts\EventContract|\Spatie\SchemaOrg\Contracts\EventContract[] $events
256
     *
257
     * @return static
258
     *
259
     * @see http://schema.org/events
260
     */
261
    public function events($events)
262
    {
263
        return $this->setProperty('events', $events);
264
    }
265
266
    /**
267
     * The fax number.
268
     *
269
     * @param string|string[] $faxNumber
270
     *
271
     * @return static
272
     *
273
     * @see http://schema.org/faxNumber
274
     */
275
    public function faxNumber($faxNumber)
276
    {
277
        return $this->setProperty('faxNumber', $faxNumber);
278
    }
279
280
    /**
281
     * The size of the accommodation, e.g. in square meter or squarefoot.
282
     * Typical unit code(s): MTK for square meter, FTK for square foot, or YDK
283
     * for square yard
284
     *
285
     * @param \Spatie\SchemaOrg\Contracts\QuantitativeValueContract|\Spatie\SchemaOrg\Contracts\QuantitativeValueContract[] $floorSize
286
     *
287
     * @return static
288
     *
289
     * @see http://schema.org/floorSize
290
     */
291
    public function floorSize($floorSize)
292
    {
293
        return $this->setProperty('floorSize', $floorSize);
294
    }
295
296
    /**
297
     * The geo coordinates of the place.
298
     *
299
     * @param \Spatie\SchemaOrg\Contracts\GeoCoordinatesContract|\Spatie\SchemaOrg\Contracts\GeoCoordinatesContract[]|\Spatie\SchemaOrg\Contracts\GeoShapeContract|\Spatie\SchemaOrg\Contracts\GeoShapeContract[] $geo
300
     *
301
     * @return static
302
     *
303
     * @see http://schema.org/geo
304
     */
305
    public function geo($geo)
306
    {
307
        return $this->setProperty('geo', $geo);
308
    }
309
310
    /**
311
     * The [Global Location Number](http://www.gs1.org/gln) (GLN, sometimes also
312
     * referred to as International Location Number or ILN) of the respective
313
     * organization, person, or place. The GLN is a 13-digit number used to
314
     * identify parties and physical locations.
315
     *
316
     * @param string|string[] $globalLocationNumber
317
     *
318
     * @return static
319
     *
320
     * @see http://schema.org/globalLocationNumber
321
     */
322
    public function globalLocationNumber($globalLocationNumber)
323
    {
324
        return $this->setProperty('globalLocationNumber', $globalLocationNumber);
325
    }
326
327
    /**
328
     * A URL to a map of the place.
329
     *
330
     * @param \Spatie\SchemaOrg\Contracts\MapContract|\Spatie\SchemaOrg\Contracts\MapContract[]|string|string[] $hasMap
331
     *
332
     * @return static
333
     *
334
     * @see http://schema.org/hasMap
335
     */
336
    public function hasMap($hasMap)
337
    {
338
        return $this->setProperty('hasMap', $hasMap);
339
    }
340
341
    /**
342
     * The identifier property represents any kind of identifier for any kind of
343
     * [[Thing]], such as ISBNs, GTIN codes, UUIDs etc. Schema.org provides
344
     * dedicated properties for representing many of these, either as textual
345
     * strings or as URL (URI) links. See [background
346
     * notes](/docs/datamodel.html#identifierBg) for more details.
347
     *
348
     * @param \Spatie\SchemaOrg\Contracts\PropertyValueContract|\Spatie\SchemaOrg\Contracts\PropertyValueContract[]|string|string[] $identifier
349
     *
350
     * @return static
351
     *
352
     * @see http://schema.org/identifier
353
     */
354
    public function identifier($identifier)
355
    {
356
        return $this->setProperty('identifier', $identifier);
357
    }
358
359
    /**
360
     * An image of the item. This can be a [[URL]] or a fully described
361
     * [[ImageObject]].
362
     *
363
     * @param \Spatie\SchemaOrg\Contracts\ImageObjectContract|\Spatie\SchemaOrg\Contracts\ImageObjectContract[]|string|string[] $image
364
     *
365
     * @return static
366
     *
367
     * @see http://schema.org/image
368
     */
369
    public function image($image)
370
    {
371
        return $this->setProperty('image', $image);
372
    }
373
374
    /**
375
     * A flag to signal that the item, event, or place is accessible for free.
376
     *
377
     * @param bool|bool[] $isAccessibleForFree
378
     *
379
     * @return static
380
     *
381
     * @see http://schema.org/isAccessibleForFree
382
     */
383
    public function isAccessibleForFree($isAccessibleForFree)
384
    {
385
        return $this->setProperty('isAccessibleForFree', $isAccessibleForFree);
386
    }
387
388
    /**
389
     * The International Standard of Industrial Classification of All Economic
390
     * Activities (ISIC), Revision 4 code for a particular organization,
391
     * business person, or place.
392
     *
393
     * @param string|string[] $isicV4
394
     *
395
     * @return static
396
     *
397
     * @see http://schema.org/isicV4
398
     */
399
    public function isicV4($isicV4)
400
    {
401
        return $this->setProperty('isicV4', $isicV4);
402
    }
403
404
    /**
405
     * The latitude of a location. For example ```37.42242``` ([WGS
406
     * 84](https://en.wikipedia.org/wiki/World_Geodetic_System)).
407
     *
408
     * @param float|float[]|int|int[]|string|string[] $latitude
409
     *
410
     * @return static
411
     *
412
     * @see http://schema.org/latitude
413
     */
414
    public function latitude($latitude)
415
    {
416
        return $this->setProperty('latitude', $latitude);
417
    }
418
419
    /**
420
     * An associated logo.
421
     *
422
     * @param \Spatie\SchemaOrg\Contracts\ImageObjectContract|\Spatie\SchemaOrg\Contracts\ImageObjectContract[]|string|string[] $logo
423
     *
424
     * @return static
425
     *
426
     * @see http://schema.org/logo
427
     */
428
    public function logo($logo)
429
    {
430
        return $this->setProperty('logo', $logo);
431
    }
432
433
    /**
434
     * The longitude of a location. For example ```-122.08585``` ([WGS
435
     * 84](https://en.wikipedia.org/wiki/World_Geodetic_System)).
436
     *
437
     * @param float|float[]|int|int[]|string|string[] $longitude
438
     *
439
     * @return static
440
     *
441
     * @see http://schema.org/longitude
442
     */
443
    public function longitude($longitude)
444
    {
445
        return $this->setProperty('longitude', $longitude);
446
    }
447
448
    /**
449
     * Indicates a page (or other CreativeWork) for which this thing is the main
450
     * entity being described. See [background
451
     * notes](/docs/datamodel.html#mainEntityBackground) for details.
452
     *
453
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $mainEntityOfPage
454
     *
455
     * @return static
456
     *
457
     * @see http://schema.org/mainEntityOfPage
458
     */
459
    public function mainEntityOfPage($mainEntityOfPage)
460
    {
461
        return $this->setProperty('mainEntityOfPage', $mainEntityOfPage);
462
    }
463
464
    /**
465
     * A URL to a map of the place.
466
     *
467
     * @param string|string[] $map
468
     *
469
     * @return static
470
     *
471
     * @see http://schema.org/map
472
     */
473
    public function map($map)
474
    {
475
        return $this->setProperty('map', $map);
476
    }
477
478
    /**
479
     * A URL to a map of the place.
480
     *
481
     * @param string|string[] $maps
482
     *
483
     * @return static
484
     *
485
     * @see http://schema.org/maps
486
     */
487
    public function maps($maps)
488
    {
489
        return $this->setProperty('maps', $maps);
490
    }
491
492
    /**
493
     * The total number of individuals that may attend an event or venue.
494
     *
495
     * @param int|int[] $maximumAttendeeCapacity
496
     *
497
     * @return static
498
     *
499
     * @see http://schema.org/maximumAttendeeCapacity
500
     */
501
    public function maximumAttendeeCapacity($maximumAttendeeCapacity)
502
    {
503
        return $this->setProperty('maximumAttendeeCapacity', $maximumAttendeeCapacity);
504
    }
505
506
    /**
507
     * The name of the item.
508
     *
509
     * @param string|string[] $name
510
     *
511
     * @return static
512
     *
513
     * @see http://schema.org/name
514
     */
515
    public function name($name)
516
    {
517
        return $this->setProperty('name', $name);
518
    }
519
520
    /**
521
     * The number of rooms (excluding bathrooms and closets) of the
522
     * accommodation or lodging business.
523
     * Typical unit code(s): ROM for room or C62 for no unit. The type of room
524
     * can be put in the unitText property of the QuantitativeValue.
525
     *
526
     * @param \Spatie\SchemaOrg\Contracts\QuantitativeValueContract|\Spatie\SchemaOrg\Contracts\QuantitativeValueContract[]|float|float[]|int|int[] $numberOfRooms
527
     *
528
     * @return static
529
     *
530
     * @see http://schema.org/numberOfRooms
531
     */
532
    public function numberOfRooms($numberOfRooms)
533
    {
534
        return $this->setProperty('numberOfRooms', $numberOfRooms);
535
    }
536
537
    /**
538
     * The allowed total occupancy for the accommodation in persons (including
539
     * infants etc). For individual accommodations, this is not necessarily the
540
     * legal maximum but defines the permitted usage as per the contractual
541
     * agreement (e.g. a double room used by a single person).
542
     * Typical unit code(s): C62 for person
543
     *
544
     * @param \Spatie\SchemaOrg\Contracts\QuantitativeValueContract|\Spatie\SchemaOrg\Contracts\QuantitativeValueContract[] $occupancy
545
     *
546
     * @return static
547
     *
548
     * @see http://schema.org/occupancy
549
     */
550
    public function occupancy($occupancy)
551
    {
552
        return $this->setProperty('occupancy', $occupancy);
553
    }
554
555
    /**
556
     * The opening hours of a certain place.
557
     *
558
     * @param \Spatie\SchemaOrg\Contracts\OpeningHoursSpecificationContract|\Spatie\SchemaOrg\Contracts\OpeningHoursSpecificationContract[] $openingHoursSpecification
559
     *
560
     * @return static
561
     *
562
     * @see http://schema.org/openingHoursSpecification
563
     */
564
    public function openingHoursSpecification($openingHoursSpecification)
565
    {
566
        return $this->setProperty('openingHoursSpecification', $openingHoursSpecification);
567
    }
568
569
    /**
570
     * Indications regarding the permitted usage of the accommodation.
571
     *
572
     * @param string|string[] $permittedUsage
573
     *
574
     * @return static
575
     *
576
     * @see http://schema.org/permittedUsage
577
     */
578
    public function permittedUsage($permittedUsage)
579
    {
580
        return $this->setProperty('permittedUsage', $permittedUsage);
581
    }
582
583
    /**
584
     * Indicates whether pets are allowed to enter the accommodation or lodging
585
     * business. More detailed information can be put in a text value.
586
     *
587
     * @param bool|bool[]|string|string[] $petsAllowed
588
     *
589
     * @return static
590
     *
591
     * @see http://schema.org/petsAllowed
592
     */
593
    public function petsAllowed($petsAllowed)
594
    {
595
        return $this->setProperty('petsAllowed', $petsAllowed);
596
    }
597
598
    /**
599
     * A photograph of this place.
600
     *
601
     * @param \Spatie\SchemaOrg\Contracts\ImageObjectContract|\Spatie\SchemaOrg\Contracts\ImageObjectContract[]|\Spatie\SchemaOrg\Contracts\PhotographContract|\Spatie\SchemaOrg\Contracts\PhotographContract[] $photo
602
     *
603
     * @return static
604
     *
605
     * @see http://schema.org/photo
606
     */
607
    public function photo($photo)
608
    {
609
        return $this->setProperty('photo', $photo);
610
    }
611
612
    /**
613
     * Photographs of this place.
614
     *
615
     * @param \Spatie\SchemaOrg\Contracts\ImageObjectContract|\Spatie\SchemaOrg\Contracts\ImageObjectContract[]|\Spatie\SchemaOrg\Contracts\PhotographContract|\Spatie\SchemaOrg\Contracts\PhotographContract[] $photos
616
     *
617
     * @return static
618
     *
619
     * @see http://schema.org/photos
620
     */
621
    public function photos($photos)
622
    {
623
        return $this->setProperty('photos', $photos);
624
    }
625
626
    /**
627
     * Indicates a potential Action, which describes an idealized action in
628
     * which this thing would play an 'object' role.
629
     *
630
     * @param \Spatie\SchemaOrg\Contracts\ActionContract|\Spatie\SchemaOrg\Contracts\ActionContract[] $potentialAction
631
     *
632
     * @return static
633
     *
634
     * @see http://schema.org/potentialAction
635
     */
636
    public function potentialAction($potentialAction)
637
    {
638
        return $this->setProperty('potentialAction', $potentialAction);
639
    }
640
641
    /**
642
     * A flag to signal that the [[Place]] is open to public visitors.  If this
643
     * property is omitted there is no assumed default boolean value
644
     *
645
     * @param bool|bool[] $publicAccess
646
     *
647
     * @return static
648
     *
649
     * @see http://schema.org/publicAccess
650
     */
651
    public function publicAccess($publicAccess)
652
    {
653
        return $this->setProperty('publicAccess', $publicAccess);
654
    }
655
656
    /**
657
     * A review of the item.
658
     *
659
     * @param \Spatie\SchemaOrg\Contracts\ReviewContract|\Spatie\SchemaOrg\Contracts\ReviewContract[] $review
660
     *
661
     * @return static
662
     *
663
     * @see http://schema.org/review
664
     */
665
    public function review($review)
666
    {
667
        return $this->setProperty('review', $review);
668
    }
669
670
    /**
671
     * Review of the item.
672
     *
673
     * @param \Spatie\SchemaOrg\Contracts\ReviewContract|\Spatie\SchemaOrg\Contracts\ReviewContract[] $reviews
674
     *
675
     * @return static
676
     *
677
     * @see http://schema.org/reviews
678
     */
679
    public function reviews($reviews)
680
    {
681
        return $this->setProperty('reviews', $reviews);
682
    }
683
684
    /**
685
     * URL of a reference Web page that unambiguously indicates the item's
686
     * identity. E.g. the URL of the item's Wikipedia page, Wikidata entry, or
687
     * official website.
688
     *
689
     * @param string|string[] $sameAs
690
     *
691
     * @return static
692
     *
693
     * @see http://schema.org/sameAs
694
     */
695
    public function sameAs($sameAs)
696
    {
697
        return $this->setProperty('sameAs', $sameAs);
698
    }
699
700
    /**
701
     * A slogan or motto associated with the item.
702
     *
703
     * @param string|string[] $slogan
704
     *
705
     * @return static
706
     *
707
     * @see http://schema.org/slogan
708
     */
709
    public function slogan($slogan)
710
    {
711
        return $this->setProperty('slogan', $slogan);
712
    }
713
714
    /**
715
     * Indicates whether it is allowed to smoke in the place, e.g. in the
716
     * restaurant, hotel or hotel room.
717
     *
718
     * @param bool|bool[] $smokingAllowed
719
     *
720
     * @return static
721
     *
722
     * @see http://schema.org/smokingAllowed
723
     */
724
    public function smokingAllowed($smokingAllowed)
725
    {
726
        return $this->setProperty('smokingAllowed', $smokingAllowed);
727
    }
728
729
    /**
730
     * The special opening hours of a certain place.
731
     * 
732
     * Use this to explicitly override general opening hours brought in scope by
733
     * [[openingHoursSpecification]] or [[openingHours]].
734
     *
735
     * @param \Spatie\SchemaOrg\Contracts\OpeningHoursSpecificationContract|\Spatie\SchemaOrg\Contracts\OpeningHoursSpecificationContract[] $specialOpeningHoursSpecification
736
     *
737
     * @return static
738
     *
739
     * @see http://schema.org/specialOpeningHoursSpecification
740
     */
741
    public function specialOpeningHoursSpecification($specialOpeningHoursSpecification)
742
    {
743
        return $this->setProperty('specialOpeningHoursSpecification', $specialOpeningHoursSpecification);
744
    }
745
746
    /**
747
     * A CreativeWork or Event about this Thing.
748
     *
749
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|\Spatie\SchemaOrg\Contracts\EventContract|\Spatie\SchemaOrg\Contracts\EventContract[] $subjectOf
750
     *
751
     * @return static
752
     *
753
     * @see http://schema.org/subjectOf
754
     */
755
    public function subjectOf($subjectOf)
756
    {
757
        return $this->setProperty('subjectOf', $subjectOf);
758
    }
759
760
    /**
761
     * The telephone number.
762
     *
763
     * @param string|string[] $telephone
764
     *
765
     * @return static
766
     *
767
     * @see http://schema.org/telephone
768
     */
769
    public function telephone($telephone)
770
    {
771
        return $this->setProperty('telephone', $telephone);
772
    }
773
774
    /**
775
     * URL of the item.
776
     *
777
     * @param string|string[] $url
778
     *
779
     * @return static
780
     *
781
     * @see http://schema.org/url
782
     */
783
    public function url($url)
784
    {
785
        return $this->setProperty('url', $url);
786
    }
787
788
}
789