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