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