Completed
Push — master ( fd0635...f2796c )
by Tom
06:08
created

Service::isSimilarTo()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 1
1
<?php
2
3
namespace Spatie\SchemaOrg;
4
5
/**
6
 * A service provided by an organization, e.g. delivery service, print services,
7
 * etc.
8
 *
9
 * @see http://schema.org/Service
10
 *
11
 * @mixin \Spatie\SchemaOrg\Intangible
12
 */
13
class Service extends BaseType
14
{
15
    /**
16
     * The overall rating, based on a collection of reviews or ratings, of the
17
     * item.
18
     *
19
     * @param AggregateRating|AggregateRating[] $aggregateRating
20
     *
21
     * @return static
22
     *
23
     * @see http://schema.org/aggregateRating
24
     */
25
    public function aggregateRating($aggregateRating)
26
    {
27
        return $this->setProperty('aggregateRating', $aggregateRating);
28
    }
29
30
    /**
31
     * The geographic area where a service or offered item is provided.
32
     *
33
     * @param AdministrativeArea|AdministrativeArea[]|GeoShape|GeoShape[]|Place|Place[]|string|string[] $areaServed
34
     *
35
     * @return static
36
     *
37
     * @see http://schema.org/areaServed
38
     */
39
    public function areaServed($areaServed)
40
    {
41
        return $this->setProperty('areaServed', $areaServed);
42
    }
43
44
    /**
45
     * An intended audience, i.e. a group for whom something was created.
46
     *
47
     * @param Audience|Audience[] $audience
48
     *
49
     * @return static
50
     *
51
     * @see http://schema.org/audience
52
     */
53
    public function audience($audience)
54
    {
55
        return $this->setProperty('audience', $audience);
56
    }
57
58
    /**
59
     * A means of accessing the service (e.g. a phone bank, a web site, a
60
     * location, etc.).
61
     *
62
     * @param ServiceChannel|ServiceChannel[] $availableChannel
63
     *
64
     * @return static
65
     *
66
     * @see http://schema.org/availableChannel
67
     */
68
    public function availableChannel($availableChannel)
69
    {
70
        return $this->setProperty('availableChannel', $availableChannel);
71
    }
72
73
    /**
74
     * An award won by or for this item.
75
     *
76
     * @param string|string[] $award
77
     *
78
     * @return static
79
     *
80
     * @see http://schema.org/award
81
     */
82
    public function award($award)
83
    {
84
        return $this->setProperty('award', $award);
85
    }
86
87
    /**
88
     * The brand(s) associated with a product or service, or the brand(s)
89
     * maintained by an organization or business person.
90
     *
91
     * @param Brand|Brand[]|Organization|Organization[] $brand
92
     *
93
     * @return static
94
     *
95
     * @see http://schema.org/brand
96
     */
97
    public function brand($brand)
98
    {
99
        return $this->setProperty('brand', $brand);
100
    }
101
102
    /**
103
     * An entity that arranges for an exchange between a buyer and a seller.  In
104
     * most cases a broker never acquires or releases ownership of a product or
105
     * service involved in an exchange.  If it is not clear whether an entity is
106
     * a broker, seller, or buyer, the latter two terms are preferred.
107
     *
108
     * @param Organization|Organization[]|Person|Person[] $broker
109
     *
110
     * @return static
111
     *
112
     * @see http://schema.org/broker
113
     */
114
    public function broker($broker)
115
    {
116
        return $this->setProperty('broker', $broker);
117
    }
118
119
    /**
120
     * A category for the item. Greater signs or slashes can be used to
121
     * informally indicate a category hierarchy.
122
     *
123
     * @param Thing|Thing[]|string|string[] $category
124
     *
125
     * @return static
126
     *
127
     * @see http://schema.org/category
128
     */
129
    public function category($category)
130
    {
131
        return $this->setProperty('category', $category);
132
    }
133
134
    /**
135
     * Indicates an OfferCatalog listing for this Organization, Person, or
136
     * Service.
137
     *
138
     * @param OfferCatalog|OfferCatalog[] $hasOfferCatalog
139
     *
140
     * @return static
141
     *
142
     * @see http://schema.org/hasOfferCatalog
143
     */
144
    public function hasOfferCatalog($hasOfferCatalog)
145
    {
146
        return $this->setProperty('hasOfferCatalog', $hasOfferCatalog);
147
    }
148
149
    /**
150
     * The hours during which this service or contact is available.
151
     *
152
     * @param OpeningHoursSpecification|OpeningHoursSpecification[] $hoursAvailable
153
     *
154
     * @return static
155
     *
156
     * @see http://schema.org/hoursAvailable
157
     */
158
    public function hoursAvailable($hoursAvailable)
159
    {
160
        return $this->setProperty('hoursAvailable', $hoursAvailable);
161
    }
162
163
    /**
164
     * A pointer to another, somehow related product (or multiple products).
165
     *
166
     * @param Product|Product[]|Service|Service[] $isRelatedTo
167
     *
168
     * @return static
169
     *
170
     * @see http://schema.org/isRelatedTo
171
     */
172
    public function isRelatedTo($isRelatedTo)
173
    {
174
        return $this->setProperty('isRelatedTo', $isRelatedTo);
175
    }
176
177
    /**
178
     * A pointer to another, functionally similar product (or multiple
179
     * products).
180
     *
181
     * @param Product|Product[]|Service|Service[] $isSimilarTo
182
     *
183
     * @return static
184
     *
185
     * @see http://schema.org/isSimilarTo
186
     */
187
    public function isSimilarTo($isSimilarTo)
188
    {
189
        return $this->setProperty('isSimilarTo', $isSimilarTo);
190
    }
191
192
    /**
193
     * An associated logo.
194
     *
195
     * @param ImageObject|ImageObject[]|string|string[] $logo
196
     *
197
     * @return static
198
     *
199
     * @see http://schema.org/logo
200
     */
201
    public function logo($logo)
202
    {
203
        return $this->setProperty('logo', $logo);
204
    }
205
206
    /**
207
     * An offer to provide this item&#x2014;for example, an offer to sell a
208
     * product, rent the DVD of a movie, perform a service, or give away tickets
209
     * to an event.
210
     *
211
     * @param Offer|Offer[] $offers
212
     *
213
     * @return static
214
     *
215
     * @see http://schema.org/offers
216
     */
217
    public function offers($offers)
218
    {
219
        return $this->setProperty('offers', $offers);
220
    }
221
222
    /**
223
     * The tangible thing generated by the service, e.g. a passport, permit,
224
     * etc.
225
     *
226
     * @param Thing|Thing[] $produces
227
     *
228
     * @return static
229
     *
230
     * @see http://schema.org/produces
231
     */
232
    public function produces($produces)
233
    {
234
        return $this->setProperty('produces', $produces);
235
    }
236
237
    /**
238
     * The service provider, service operator, or service performer; the goods
239
     * producer. Another party (a seller) may offer those services or goods on
240
     * behalf of the provider. A provider may also serve as the seller.
241
     *
242
     * @param Organization|Organization[]|Person|Person[] $provider
243
     *
244
     * @return static
245
     *
246
     * @see http://schema.org/provider
247
     */
248
    public function provider($provider)
249
    {
250
        return $this->setProperty('provider', $provider);
251
    }
252
253
    /**
254
     * Indicates the mobility of a provided service (e.g. 'static', 'dynamic').
255
     *
256
     * @param string|string[] $providerMobility
257
     *
258
     * @return static
259
     *
260
     * @see http://schema.org/providerMobility
261
     */
262
    public function providerMobility($providerMobility)
263
    {
264
        return $this->setProperty('providerMobility', $providerMobility);
265
    }
266
267
    /**
268
     * A review of the item.
269
     *
270
     * @param Review|Review[] $review
271
     *
272
     * @return static
273
     *
274
     * @see http://schema.org/review
275
     */
276
    public function review($review)
277
    {
278
        return $this->setProperty('review', $review);
279
    }
280
281
    /**
282
     * The geographic area where the service is provided.
283
     *
284
     * @param AdministrativeArea|AdministrativeArea[]|GeoShape|GeoShape[]|Place|Place[] $serviceArea
285
     *
286
     * @return static
287
     *
288
     * @see http://schema.org/serviceArea
289
     */
290
    public function serviceArea($serviceArea)
291
    {
292
        return $this->setProperty('serviceArea', $serviceArea);
293
    }
294
295
    /**
296
     * The audience eligible for this service.
297
     *
298
     * @param Audience|Audience[] $serviceAudience
299
     *
300
     * @return static
301
     *
302
     * @see http://schema.org/serviceAudience
303
     */
304
    public function serviceAudience($serviceAudience)
305
    {
306
        return $this->setProperty('serviceAudience', $serviceAudience);
307
    }
308
309
    /**
310
     * The tangible thing generated by the service, e.g. a passport, permit,
311
     * etc.
312
     *
313
     * @param Thing|Thing[] $serviceOutput
314
     *
315
     * @return static
316
     *
317
     * @see http://schema.org/serviceOutput
318
     */
319
    public function serviceOutput($serviceOutput)
320
    {
321
        return $this->setProperty('serviceOutput', $serviceOutput);
322
    }
323
324
    /**
325
     * The type of service being offered, e.g. veterans' benefits, emergency
326
     * relief, etc.
327
     *
328
     * @param string|string[] $serviceType
329
     *
330
     * @return static
331
     *
332
     * @see http://schema.org/serviceType
333
     */
334
    public function serviceType($serviceType)
335
    {
336
        return $this->setProperty('serviceType', $serviceType);
337
    }
338
339
    /**
340
     * A slogan or motto associated with the item.
341
     *
342
     * @param string|string[] $slogan
343
     *
344
     * @return static
345
     *
346
     * @see http://schema.org/slogan
347
     */
348
    public function slogan($slogan)
349
    {
350
        return $this->setProperty('slogan', $slogan);
351
    }
352
353
}
354