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