Attorney   F
last analyzed

Complexity

Total Complexity 87

Size/Duplication

Total Lines 1324
Duplicated Lines 100 %

Coupling/Cohesion

Components 1
Dependencies 1

Importance

Changes 0
Metric Value
wmc 87
lcom 1
cbo 1
dl 1324
loc 1324
rs 0.8
c 0
b 0
f 0

87 Methods

Rating   Name   Duplication   Size   Complexity  
A additionalProperty() 4 4 1
A additionalType() 4 4 1
A address() 4 4 1
A aggregateRating() 4 4 1
A alternateName() 4 4 1
A amenityFeature() 4 4 1
A areaServed() 4 4 1
A award() 4 4 1
A awards() 4 4 1
A branchCode() 4 4 1
A branchOf() 4 4 1
A brand() 4 4 1
A contactPoint() 4 4 1
A contactPoints() 4 4 1
A containedIn() 4 4 1
A containedInPlace() 4 4 1
A containsPlace() 4 4 1
A currenciesAccepted() 4 4 1
A department() 4 4 1
A description() 4 4 1
A disambiguatingDescription() 4 4 1
A dissolutionDate() 4 4 1
A duns() 4 4 1
A email() 4 4 1
A employee() 4 4 1
A employees() 4 4 1
A event() 4 4 1
A events() 4 4 1
A faxNumber() 4 4 1
A founder() 4 4 1
A founders() 4 4 1
A foundingDate() 4 4 1
A foundingLocation() 4 4 1
A funder() 4 4 1
A geo() 4 4 1
A globalLocationNumber() 4 4 1
A hasMap() 4 4 1
A hasOfferCatalog() 4 4 1
A hasPOS() 4 4 1
A identifier() 4 4 1
A image() 4 4 1
A isAccessibleForFree() 4 4 1
A isicV4() 4 4 1
A latitude() 4 4 1
A legalName() 4 4 1
A leiCode() 4 4 1
A location() 4 4 1
A logo() 4 4 1
A longitude() 4 4 1
A mainEntityOfPage() 4 4 1
A makesOffer() 4 4 1
A map() 4 4 1
A maps() 4 4 1
A maximumAttendeeCapacity() 4 4 1
A member() 4 4 1
A memberOf() 4 4 1
A members() 4 4 1
A naics() 4 4 1
A name() 4 4 1
A numberOfEmployees() 4 4 1
A offeredBy() 4 4 1
A openingHours() 4 4 1
A openingHoursSpecification() 4 4 1
A owns() 4 4 1
A parentOrganization() 4 4 1
A paymentAccepted() 4 4 1
A photo() 4 4 1
A photos() 4 4 1
A potentialAction() 4 4 1
A priceRange() 4 4 1
A publicAccess() 4 4 1
A publishingPrinciples() 4 4 1
A review() 4 4 1
A reviews() 4 4 1
A sameAs() 4 4 1
A seeks() 4 4 1
A serviceArea() 4 4 1
A slogan() 4 4 1
A smokingAllowed() 4 4 1
A specialOpeningHoursSpecification() 4 4 1
A sponsor() 4 4 1
A subOrganization() 4 4 1
A subjectOf() 4 4 1
A taxID() 4 4 1
A telephone() 4 4 1
A url() 4 4 1
A vatID() 4 4 1

How to fix   Duplicated Code    Complexity   

Duplicated Code

Duplicate code is one of the most pungent code smells. A rule that is often used is to re-structure code once it is duplicated in three or more places.

Common duplication problems, and corresponding solutions are:

Complex Class

 Tip:   Before tackling complexity, make sure that you eliminate any duplication first. This often can reduce the size of classes significantly.

Complex classes like Attorney often do a lot of different things. To break such a class down, we need to identify a cohesive component within that class. A common approach to find such a component is to look for fields/methods that share the same prefixes, or suffixes. You can also have a look at the cohesion graph to spot any un-connected, or weakly-connected components.

Once you have determined the fields that belong together, you can apply the Extract Class refactoring. If the component makes sense as a sub-class, Extract Subclass is also a candidate, and is often faster.

While breaking up the class, it is a good idea to analyze how other classes use Attorney, and based on these observations, apply Extract Interface, too.

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