Completed
Pull Request — master (#51)
by Tom
07:46
created

Organization   B

Complexity

Total Complexity 48

Size/Duplication

Total Lines 701
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Importance

Changes 0
Metric Value
wmc 48
lcom 1
cbo 1
dl 0
loc 701
rs 8
c 0
b 0
f 0

How to fix   Complexity   

Complex Class

Complex classes like Organization 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 Organization, and based on these observations, apply Extract Interface, too.

1
<?php
2
3
namespace Spatie\SchemaOrg;
4
5
/**
6
 * An organization such as a school, NGO, corporation, club, etc.
7
 *
8
 * @see http://schema.org/Organization
9
 */
10
class Organization extends Thing
11
{
12
    /**
13
     * The schema.org Actions mechanism benefited from extensive discussions
14
     * across the Web standards community around W3C, in particular from the
15
     * [Hydra project](http://purl.org/hydra/)'s community group.
16
     *
17
     * @see http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_ActionCollabClass
18
     */
19
     const ActionCollabClass = 'http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_ActionCollabClass';
20
21
    /**
22
     * This element is based on the work of the Automotive Ontology Working
23
     * Group, see
24
     * [www.automotive-ontology.org](http://www.automotive-ontology.org) for
25
     * details. Many class and property definitions are inspired by or based on
26
     * abstracts from Wikipedia, the free encyclopedia.
27
     *
28
     * @see http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#Automotive_Ontology_Working_Group
29
     */
30
     const AutomotiveOntologyWGClass = 'http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#Automotive_Ontology_Working_Group';
31
32
    /**
33
     * The W3C [Schema Bib Extend](http://www.w3.org/community/schemabibex/)
34
     * (BibEx) group led the work to improve schema.org for bibliographic
35
     * information, including terms for periodicals, articles and multi-volume
36
     * works. The design was inspired in places (e.g. [[pageStart]],
37
     * [[pageEnd]], [[pagination]]) by the [Bibliographic
38
     * Ontology](http://bibliontology.com/), 'bibo'.
39
     *
40
     * @see http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_bibex
41
     */
42
     const BibExTerm = 'http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_bibex';
43
44
    /**
45
     * This class is based upon W3C DCAT work, and benefits from collaboration
46
     * around the DCAT, ADMS and VoID vocabularies. See
47
     * http://www.w3.org/wiki/WebSchemas/Datasets for full details and mappings.
48
     *
49
     * @see http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_DatasetClass
50
     */
51
     const DatasetClass = 'http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_DatasetClass';
52
53
    /**
54
     * This element is based on the work of the Financial Industry Business
55
     * Ontology project (see
56
     * [http://www.fibo.org/schema](http://www.fibo.org/schema) for details), in
57
     * support of the W3C Financial Industry Business Ontology Community Group
58
     * ([http://www.fibo.org/community](http://www.fibo.org/community)). Many
59
     * class and property definitions are inspired by or based on
60
     * [http://www.fibo.org](http://www.fibo.org).
61
     *
62
     * @see http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#FIBO
63
     */
64
     const FIBO = 'http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#FIBO';
65
66
    /**
67
     * The implementation and use of Legal Entity Identifier (LEI) is supported
68
     * by Global Legal Entity Identifier Foundation
69
     * [https://www.gleif.org](https://www.gleif.org).
70
     *
71
     * @see http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#GLEIF
72
     */
73
     const GLEIF = 'http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#GLEIF';
74
75
    /**
76
     * This class is derived from the GoodRelations Vocabulary for E-Commerce,
77
     * created by Martin Hepp. GoodRelations is a data model for sharing
78
     * e-commerce data on the Web that can be expressed in a variety of
79
     * syntaxes, including RDFa and HTML5 Microdata. More information about
80
     * GoodRelations can be found at
81
     * [http://purl.org/goodrelations/](http://purl.org/goodrelations/).
82
     *
83
     * @see http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_GoodRelationsClass
84
     */
85
     const GoodRelationsClass = 'http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_GoodRelationsClass';
86
87
    /**
88
     * This term
89
     * [uses](http://blog.schema.org/2012/11/good-relations-and-schemaorg.html)
90
     * terminology from the GoodRelations Vocabulary for E-Commerce, created by
91
     * Martin Hepp. GoodRelations is a data model for sharing e-commerce data on
92
     * the Web. More information about GoodRelations can be found at
93
     * [http://purl.org/goodrelations/](http://purl.org/goodrelations/).
94
     *
95
     * @see http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_GoodRelationsTerms
96
     */
97
     const GoodRelationsTerms = 'http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_GoodRelationsTerms';
98
99
    /**
100
     * This class is based on the work of the LRMI project, see lrmi.net for
101
     * details.
102
     *
103
     * @see http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_LRMIClass
104
     */
105
     const LRMIClass = 'http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_LRMIClass';
106
107
    /**
108
     * This vocabulary was improved through collaboration with the MusicBrainz
109
     * project
110
     *     ([www.musicbrainz.org](http://www.musicbrainz.org)), and is partially
111
     * inspired by the MusicBrainz and
112
     *     [Music Ontology](http://musicontology.com/docs/getting-started.html)
113
     * schemas.
114
     *
115
     * @see http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#MBZ
116
     */
117
     const MBZ = 'http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#MBZ';
118
119
    /**
120
     * This element is based on the STI Accommodation Ontology, see <a
121
     * href="http://ontologies.sti-innsbruck.at/acco/ns.html">http://ontologies.sti-innsbruck.at/acco/ns.html</a>
122
     * for details.
123
     *     Many class and property definitions are inspired by or based on
124
     * abstracts from Wikipedia, the free encyclopedia.
125
     *
126
     * @see https://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#STI_Accommodation_Ontology
127
     */
128
     const STI Accommodation Ontology = 'https://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#STI_Accommodation_Ontology';
0 ignored issues
show
Bug introduced by
This code did not parse for me. Apparently, there is an error somewhere around this line:

Syntax error, unexpected T_STRING, expecting '='
Loading history...
129
130
    /**
131
     * The Question/Answer types were [based
132
     * on](https://www.w3.org/wiki/WebSchemas/QASchemaResearch) the Stack
133
     * Overflow API.
134
     *
135
     * @see http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_QAStackExchange
136
     */
137
     const Stack Exchange = 'http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_QAStackExchange';
138
139
    /**
140
     * This class contains information contributed by
141
     * [http://wikidoc.org>WikiDoc](http://wikidoc.org>WikiDoc).
142
     *
143
     * @see http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_WikiDoc
144
     */
145
     const WikiDoc = 'http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_WikiDoc';
146
147
    /**
148
     * This class contains derivatives of IPTC rNews properties. rNews is a data
149
     * model of publishing metadata with serializations currently available for
150
     * RDFa as well as HTML5 Microdata. More information about the IPTC and
151
     * rNews can be found at [rnews.org](http://rnews.org).
152
     *
153
     * @see http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_rNews
154
     */
155
     const rNews = 'http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_rNews';
156
157
    /**
158
     * Physical address of the item.
159
     *
160
     * @param PostalAddress|PostalAddress[]|string|string[] $address
161
     *
162
     * @return static
163
     *
164
     * @see http://schema.org/address
165
     */
166
    public function address($address)
167
    {
168
        return $this->setProperty('address', $address);
169
    }
170
171
    /**
172
     * The overall rating, based on a collection of reviews or ratings, of the
173
     * item.
174
     *
175
     * @param AggregateRating|AggregateRating[] $aggregateRating
176
     *
177
     * @return static
178
     *
179
     * @see http://schema.org/aggregateRating
180
     */
181
    public function aggregateRating($aggregateRating)
182
    {
183
        return $this->setProperty('aggregateRating', $aggregateRating);
184
    }
185
186
    /**
187
     * The geographic area where a service or offered item is provided.
188
     *
189
     * @param AdministrativeArea|AdministrativeArea[]|GeoShape|GeoShape[]|Place|Place[]|string|string[] $areaServed
190
     *
191
     * @return static
192
     *
193
     * @see http://schema.org/areaServed
194
     */
195
    public function areaServed($areaServed)
196
    {
197
        return $this->setProperty('areaServed', $areaServed);
198
    }
199
200
    /**
201
     * An award won by or for this item.
202
     *
203
     * @param string|string[] $award
204
     *
205
     * @return static
206
     *
207
     * @see http://schema.org/award
208
     */
209
    public function award($award)
210
    {
211
        return $this->setProperty('award', $award);
212
    }
213
214
    /**
215
     * Awards won by or for this item.
216
     *
217
     * @param string|string[] $awards
218
     *
219
     * @return static
220
     *
221
     * @see http://schema.org/awards
222
     */
223
    public function awards($awards)
224
    {
225
        return $this->setProperty('awards', $awards);
226
    }
227
228
    /**
229
     * The brand(s) associated with a product or service, or the brand(s)
230
     * maintained by an organization or business person.
231
     *
232
     * @param Brand|Brand[]|Organization|Organization[] $brand
233
     *
234
     * @return static
235
     *
236
     * @see http://schema.org/brand
237
     */
238
    public function brand($brand)
239
    {
240
        return $this->setProperty('brand', $brand);
241
    }
242
243
    /**
244
     * A contact point for a person or organization.
245
     *
246
     * @param ContactPoint|ContactPoint[] $contactPoint
247
     *
248
     * @return static
249
     *
250
     * @see http://schema.org/contactPoint
251
     */
252
    public function contactPoint($contactPoint)
253
    {
254
        return $this->setProperty('contactPoint', $contactPoint);
255
    }
256
257
    /**
258
     * A contact point for a person or organization.
259
     *
260
     * @param ContactPoint|ContactPoint[] $contactPoints
261
     *
262
     * @return static
263
     *
264
     * @see http://schema.org/contactPoints
265
     */
266
    public function contactPoints($contactPoints)
267
    {
268
        return $this->setProperty('contactPoints', $contactPoints);
269
    }
270
271
    /**
272
     * A relationship between an organization and a department of that
273
     * organization, also described as an organization (allowing different urls,
274
     * logos, opening hours). For example: a store with a pharmacy, or a bakery
275
     * with a cafe.
276
     *
277
     * @param Organization|Organization[] $department
278
     *
279
     * @return static
280
     *
281
     * @see http://schema.org/department
282
     */
283
    public function department($department)
284
    {
285
        return $this->setProperty('department', $department);
286
    }
287
288
    /**
289
     * The date that this organization was dissolved.
290
     *
291
     * @param \DateTimeInterface|\DateTimeInterface[] $dissolutionDate
292
     *
293
     * @return static
294
     *
295
     * @see http://schema.org/dissolutionDate
296
     */
297
    public function dissolutionDate($dissolutionDate)
298
    {
299
        return $this->setProperty('dissolutionDate', $dissolutionDate);
300
    }
301
302
    /**
303
     * The Dun & Bradstreet DUNS number for identifying an organization or
304
     * business person.
305
     *
306
     * @param string|string[] $duns
307
     *
308
     * @return static
309
     *
310
     * @see http://schema.org/duns
311
     */
312
    public function duns($duns)
313
    {
314
        return $this->setProperty('duns', $duns);
315
    }
316
317
    /**
318
     * Email address.
319
     *
320
     * @param string|string[] $email
321
     *
322
     * @return static
323
     *
324
     * @see http://schema.org/email
325
     */
326
    public function email($email)
327
    {
328
        return $this->setProperty('email', $email);
329
    }
330
331
    /**
332
     * Someone working for this organization.
333
     *
334
     * @param Person|Person[] $employee
335
     *
336
     * @return static
337
     *
338
     * @see http://schema.org/employee
339
     */
340
    public function employee($employee)
341
    {
342
        return $this->setProperty('employee', $employee);
343
    }
344
345
    /**
346
     * People working for this organization.
347
     *
348
     * @param Person|Person[] $employees
349
     *
350
     * @return static
351
     *
352
     * @see http://schema.org/employees
353
     */
354
    public function employees($employees)
355
    {
356
        return $this->setProperty('employees', $employees);
357
    }
358
359
    /**
360
     * Upcoming or past event associated with this place, organization, or
361
     * action.
362
     *
363
     * @param Event|Event[] $event
364
     *
365
     * @return static
366
     *
367
     * @see http://schema.org/event
368
     */
369
    public function event($event)
370
    {
371
        return $this->setProperty('event', $event);
372
    }
373
374
    /**
375
     * Upcoming or past events associated with this place or organization.
376
     *
377
     * @param Event|Event[] $events
378
     *
379
     * @return static
380
     *
381
     * @see http://schema.org/events
382
     */
383
    public function events($events)
384
    {
385
        return $this->setProperty('events', $events);
386
    }
387
388
    /**
389
     * The fax number.
390
     *
391
     * @param string|string[] $faxNumber
392
     *
393
     * @return static
394
     *
395
     * @see http://schema.org/faxNumber
396
     */
397
    public function faxNumber($faxNumber)
398
    {
399
        return $this->setProperty('faxNumber', $faxNumber);
400
    }
401
402
    /**
403
     * A person who founded this organization.
404
     *
405
     * @param Person|Person[] $founder
406
     *
407
     * @return static
408
     *
409
     * @see http://schema.org/founder
410
     */
411
    public function founder($founder)
412
    {
413
        return $this->setProperty('founder', $founder);
414
    }
415
416
    /**
417
     * A person who founded this organization.
418
     *
419
     * @param Person|Person[] $founders
420
     *
421
     * @return static
422
     *
423
     * @see http://schema.org/founders
424
     */
425
    public function founders($founders)
426
    {
427
        return $this->setProperty('founders', $founders);
428
    }
429
430
    /**
431
     * The date that this organization was founded.
432
     *
433
     * @param \DateTimeInterface|\DateTimeInterface[] $foundingDate
434
     *
435
     * @return static
436
     *
437
     * @see http://schema.org/foundingDate
438
     */
439
    public function foundingDate($foundingDate)
440
    {
441
        return $this->setProperty('foundingDate', $foundingDate);
442
    }
443
444
    /**
445
     * The place where the Organization was founded.
446
     *
447
     * @param Place|Place[] $foundingLocation
448
     *
449
     * @return static
450
     *
451
     * @see http://schema.org/foundingLocation
452
     */
453
    public function foundingLocation($foundingLocation)
454
    {
455
        return $this->setProperty('foundingLocation', $foundingLocation);
456
    }
457
458
    /**
459
     * A person or organization that supports (sponsors) something through some
460
     * kind of financial contribution.
461
     *
462
     * @param Organization|Organization[]|Person|Person[] $funder
463
     *
464
     * @return static
465
     *
466
     * @see http://schema.org/funder
467
     */
468
    public function funder($funder)
469
    {
470
        return $this->setProperty('funder', $funder);
471
    }
472
473
    /**
474
     * The [Global Location Number](http://www.gs1.org/gln) (GLN, sometimes also
475
     * referred to as International Location Number or ILN) of the respective
476
     * organization, person, or place. The GLN is a 13-digit number used to
477
     * identify parties and physical locations.
478
     *
479
     * @param string|string[] $globalLocationNumber
480
     *
481
     * @return static
482
     *
483
     * @see http://schema.org/globalLocationNumber
484
     */
485
    public function globalLocationNumber($globalLocationNumber)
486
    {
487
        return $this->setProperty('globalLocationNumber', $globalLocationNumber);
488
    }
489
490
    /**
491
     * Indicates an OfferCatalog listing for this Organization, Person, or
492
     * Service.
493
     *
494
     * @param OfferCatalog|OfferCatalog[] $hasOfferCatalog
495
     *
496
     * @return static
497
     *
498
     * @see http://schema.org/hasOfferCatalog
499
     */
500
    public function hasOfferCatalog($hasOfferCatalog)
501
    {
502
        return $this->setProperty('hasOfferCatalog', $hasOfferCatalog);
503
    }
504
505
    /**
506
     * Points-of-Sales operated by the organization or person.
507
     *
508
     * @param Place|Place[] $hasPOS
509
     *
510
     * @return static
511
     *
512
     * @see http://schema.org/hasPOS
513
     */
514
    public function hasPOS($hasPOS)
515
    {
516
        return $this->setProperty('hasPOS', $hasPOS);
517
    }
518
519
    /**
520
     * The International Standard of Industrial Classification of All Economic
521
     * Activities (ISIC), Revision 4 code for a particular organization,
522
     * business person, or place.
523
     *
524
     * @param string|string[] $isicV4
525
     *
526
     * @return static
527
     *
528
     * @see http://schema.org/isicV4
529
     */
530
    public function isicV4($isicV4)
531
    {
532
        return $this->setProperty('isicV4', $isicV4);
533
    }
534
535
    /**
536
     * The official name of the organization, e.g. the registered company name.
537
     *
538
     * @param string|string[] $legalName
539
     *
540
     * @return static
541
     *
542
     * @see http://schema.org/legalName
543
     */
544
    public function legalName($legalName)
545
    {
546
        return $this->setProperty('legalName', $legalName);
547
    }
548
549
    /**
550
     * An organization identifier that uniquely identifies a legal entity as
551
     * defined in ISO 17442.
552
     *
553
     * @param string|string[] $leiCode
554
     *
555
     * @return static
556
     *
557
     * @see http://schema.org/leiCode
558
     */
559
    public function leiCode($leiCode)
560
    {
561
        return $this->setProperty('leiCode', $leiCode);
562
    }
563
564
    /**
565
     * The location of for example where the event is happening, an organization
566
     * is located, or where an action takes place.
567
     *
568
     * @param Place|Place[]|PostalAddress|PostalAddress[]|string|string[] $location
569
     *
570
     * @return static
571
     *
572
     * @see http://schema.org/location
573
     */
574
    public function location($location)
575
    {
576
        return $this->setProperty('location', $location);
577
    }
578
579
    /**
580
     * An associated logo.
581
     *
582
     * @param ImageObject|ImageObject[]|string|string[] $logo
583
     *
584
     * @return static
585
     *
586
     * @see http://schema.org/logo
587
     */
588
    public function logo($logo)
589
    {
590
        return $this->setProperty('logo', $logo);
591
    }
592
593
    /**
594
     * A pointer to products or services offered by the organization or person.
595
     *
596
     * @param Offer|Offer[] $makesOffer
597
     *
598
     * @return static
599
     *
600
     * @see http://schema.org/makesOffer
601
     */
602
    public function makesOffer($makesOffer)
603
    {
604
        return $this->setProperty('makesOffer', $makesOffer);
605
    }
606
607
    /**
608
     * A member of an Organization or a ProgramMembership. Organizations can be
609
     * members of organizations; ProgramMembership is typically for individuals.
610
     *
611
     * @param Organization|Organization[]|Person|Person[] $member
612
     *
613
     * @return static
614
     *
615
     * @see http://schema.org/member
616
     */
617
    public function member($member)
618
    {
619
        return $this->setProperty('member', $member);
620
    }
621
622
    /**
623
     * An Organization (or ProgramMembership) to which this Person or
624
     * Organization belongs.
625
     *
626
     * @param Organization|Organization[]|ProgramMembership|ProgramMembership[] $memberOf
627
     *
628
     * @return static
629
     *
630
     * @see http://schema.org/memberOf
631
     */
632
    public function memberOf($memberOf)
633
    {
634
        return $this->setProperty('memberOf', $memberOf);
635
    }
636
637
    /**
638
     * A member of this organization.
639
     *
640
     * @param Organization|Organization[]|Person|Person[] $members
641
     *
642
     * @return static
643
     *
644
     * @see http://schema.org/members
645
     */
646
    public function members($members)
647
    {
648
        return $this->setProperty('members', $members);
649
    }
650
651
    /**
652
     * The North American Industry Classification System (NAICS) code for a
653
     * particular organization or business person.
654
     *
655
     * @param string|string[] $naics
656
     *
657
     * @return static
658
     *
659
     * @see http://schema.org/naics
660
     */
661
    public function naics($naics)
662
    {
663
        return $this->setProperty('naics', $naics);
664
    }
665
666
    /**
667
     * The number of employees in an organization e.g. business.
668
     *
669
     * @param QuantitativeValue|QuantitativeValue[] $numberOfEmployees
670
     *
671
     * @return static
672
     *
673
     * @see http://schema.org/numberOfEmployees
674
     */
675
    public function numberOfEmployees($numberOfEmployees)
676
    {
677
        return $this->setProperty('numberOfEmployees', $numberOfEmployees);
678
    }
679
680
    /**
681
     * A pointer to the organization or person making the offer.
682
     *
683
     * @param Offer|Offer[]|Person|Person[] $offeredBy
684
     *
685
     * @return static
686
     *
687
     * @see http://schema.org/offeredBy
688
     */
689
    public function offeredBy($offeredBy)
690
    {
691
        return $this->setProperty('offeredBy', $offeredBy);
692
    }
693
694
    /**
695
     * Products owned by the organization or person.
696
     *
697
     * @param OwnershipInfo|OwnershipInfo[]|Product|Product[] $owns
698
     *
699
     * @return static
700
     *
701
     * @see http://schema.org/owns
702
     */
703
    public function owns($owns)
704
    {
705
        return $this->setProperty('owns', $owns);
706
    }
707
708
    /**
709
     * The larger organization that this organization is a [[subOrganization]]
710
     * of, if any.
711
     *
712
     * @param Organization|Organization[] $parentOrganization
713
     *
714
     * @return static
715
     *
716
     * @see http://schema.org/parentOrganization
717
     */
718
    public function parentOrganization($parentOrganization)
719
    {
720
        return $this->setProperty('parentOrganization', $parentOrganization);
721
    }
722
723
    /**
724
     * A review of the item.
725
     *
726
     * @param Review|Review[] $review
727
     *
728
     * @return static
729
     *
730
     * @see http://schema.org/review
731
     */
732
    public function review($review)
733
    {
734
        return $this->setProperty('review', $review);
735
    }
736
737
    /**
738
     * Review of the item.
739
     *
740
     * @param Review|Review[] $reviews
741
     *
742
     * @return static
743
     *
744
     * @see http://schema.org/reviews
745
     */
746
    public function reviews($reviews)
747
    {
748
        return $this->setProperty('reviews', $reviews);
749
    }
750
751
    /**
752
     * A pointer to products or services sought by the organization or person
753
     * (demand).
754
     *
755
     * @param Demand|Demand[] $seeks
756
     *
757
     * @return static
758
     *
759
     * @see http://schema.org/seeks
760
     */
761
    public function seeks($seeks)
762
    {
763
        return $this->setProperty('seeks', $seeks);
764
    }
765
766
    /**
767
     * The geographic area where the service is provided.
768
     *
769
     * @param AdministrativeArea|AdministrativeArea[]|GeoShape|GeoShape[]|Place|Place[] $serviceArea
770
     *
771
     * @return static
772
     *
773
     * @see http://schema.org/serviceArea
774
     */
775
    public function serviceArea($serviceArea)
776
    {
777
        return $this->setProperty('serviceArea', $serviceArea);
778
    }
779
780
    /**
781
     * A person or organization that supports a thing through a pledge, promise,
782
     * or financial contribution. e.g. a sponsor of a Medical Study or a
783
     * corporate sponsor of an event.
784
     *
785
     * @param Organization|Organization[]|Person|Person[] $sponsor
786
     *
787
     * @return static
788
     *
789
     * @see http://schema.org/sponsor
790
     */
791
    public function sponsor($sponsor)
792
    {
793
        return $this->setProperty('sponsor', $sponsor);
794
    }
795
796
    /**
797
     * A relationship between two organizations where the first includes the
798
     * second, e.g., as a subsidiary. See also: the more specific 'department'
799
     * property.
800
     *
801
     * @param Organization|Organization[] $subOrganization
802
     *
803
     * @return static
804
     *
805
     * @see http://schema.org/subOrganization
806
     */
807
    public function subOrganization($subOrganization)
808
    {
809
        return $this->setProperty('subOrganization', $subOrganization);
810
    }
811
812
    /**
813
     * The Tax / Fiscal ID of the organization or person, e.g. the TIN in the US
814
     * or the CIF/NIF in Spain.
815
     *
816
     * @param string|string[] $taxID
817
     *
818
     * @return static
819
     *
820
     * @see http://schema.org/taxID
821
     */
822
    public function taxID($taxID)
823
    {
824
        return $this->setProperty('taxID', $taxID);
825
    }
826
827
    /**
828
     * The telephone number.
829
     *
830
     * @param string|string[] $telephone
831
     *
832
     * @return static
833
     *
834
     * @see http://schema.org/telephone
835
     */
836
    public function telephone($telephone)
837
    {
838
        return $this->setProperty('telephone', $telephone);
839
    }
840
841
    /**
842
     * The Value-added Tax ID of the organization or person.
843
     *
844
     * @param string|string[] $vatID
845
     *
846
     * @return static
847
     *
848
     * @see http://schema.org/vatID
849
     */
850
    public function vatID($vatID)
851
    {
852
        return $this->setProperty('vatID', $vatID);
853
    }
854
855
}
856