Code Duplication    Length = 469-480 lines in 2 locations

src/Flight.php 1 location

@@ 16-484 (lines=469) @@
13
 * @see http://schema.org/Flight
14
 *
15
 */
16
class Flight extends BaseType implements FlightContract, IntangibleContract, ThingContract, TripContract
17
{
18
    /**
19
     * An additional type for the item, typically used for adding more specific
20
     * types from external vocabularies in microdata syntax. This is a
21
     * relationship between something and a class that the thing is in. In RDFa
22
     * syntax, it is better to use the native RDFa syntax - the 'typeof'
23
     * attribute - for multiple types. Schema.org tools may have only weaker
24
     * understanding of extra types, in particular those defined externally.
25
     *
26
     * @param string|string[] $additionalType
27
     *
28
     * @return static
29
     *
30
     * @see http://schema.org/additionalType
31
     */
32
    public function additionalType($additionalType)
33
    {
34
        return $this->setProperty('additionalType', $additionalType);
35
    }
36
37
    /**
38
     * The kind of aircraft (e.g., "Boeing 747").
39
     *
40
     * @param \Spatie\SchemaOrg\Contracts\VehicleContract|\Spatie\SchemaOrg\Contracts\VehicleContract[]|string|string[] $aircraft
41
     *
42
     * @return static
43
     *
44
     * @see http://schema.org/aircraft
45
     */
46
    public function aircraft($aircraft)
47
    {
48
        return $this->setProperty('aircraft', $aircraft);
49
    }
50
51
    /**
52
     * An alias for the item.
53
     *
54
     * @param string|string[] $alternateName
55
     *
56
     * @return static
57
     *
58
     * @see http://schema.org/alternateName
59
     */
60
    public function alternateName($alternateName)
61
    {
62
        return $this->setProperty('alternateName', $alternateName);
63
    }
64
65
    /**
66
     * The airport where the flight terminates.
67
     *
68
     * @param \Spatie\SchemaOrg\Contracts\AirportContract|\Spatie\SchemaOrg\Contracts\AirportContract[] $arrivalAirport
69
     *
70
     * @return static
71
     *
72
     * @see http://schema.org/arrivalAirport
73
     */
74
    public function arrivalAirport($arrivalAirport)
75
    {
76
        return $this->setProperty('arrivalAirport', $arrivalAirport);
77
    }
78
79
    /**
80
     * Identifier of the flight's arrival gate.
81
     *
82
     * @param string|string[] $arrivalGate
83
     *
84
     * @return static
85
     *
86
     * @see http://schema.org/arrivalGate
87
     */
88
    public function arrivalGate($arrivalGate)
89
    {
90
        return $this->setProperty('arrivalGate', $arrivalGate);
91
    }
92
93
    /**
94
     * Identifier of the flight's arrival terminal.
95
     *
96
     * @param string|string[] $arrivalTerminal
97
     *
98
     * @return static
99
     *
100
     * @see http://schema.org/arrivalTerminal
101
     */
102
    public function arrivalTerminal($arrivalTerminal)
103
    {
104
        return $this->setProperty('arrivalTerminal', $arrivalTerminal);
105
    }
106
107
    /**
108
     * The expected arrival time.
109
     *
110
     * @param \DateTimeInterface|\DateTimeInterface[] $arrivalTime
111
     *
112
     * @return static
113
     *
114
     * @see http://schema.org/arrivalTime
115
     */
116
    public function arrivalTime($arrivalTime)
117
    {
118
        return $this->setProperty('arrivalTime', $arrivalTime);
119
    }
120
121
    /**
122
     * The type of boarding policy used by the airline (e.g. zone-based or
123
     * group-based).
124
     *
125
     * @param \Spatie\SchemaOrg\Contracts\BoardingPolicyTypeContract|\Spatie\SchemaOrg\Contracts\BoardingPolicyTypeContract[] $boardingPolicy
126
     *
127
     * @return static
128
     *
129
     * @see http://schema.org/boardingPolicy
130
     */
131
    public function boardingPolicy($boardingPolicy)
132
    {
133
        return $this->setProperty('boardingPolicy', $boardingPolicy);
134
    }
135
136
    /**
137
     * 'carrier' is an out-dated term indicating the 'provider' for parcel
138
     * delivery and flights.
139
     *
140
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[] $carrier
141
     *
142
     * @return static
143
     *
144
     * @see http://schema.org/carrier
145
     */
146
    public function carrier($carrier)
147
    {
148
        return $this->setProperty('carrier', $carrier);
149
    }
150
151
    /**
152
     * The airport where the flight originates.
153
     *
154
     * @param \Spatie\SchemaOrg\Contracts\AirportContract|\Spatie\SchemaOrg\Contracts\AirportContract[] $departureAirport
155
     *
156
     * @return static
157
     *
158
     * @see http://schema.org/departureAirport
159
     */
160
    public function departureAirport($departureAirport)
161
    {
162
        return $this->setProperty('departureAirport', $departureAirport);
163
    }
164
165
    /**
166
     * Identifier of the flight's departure gate.
167
     *
168
     * @param string|string[] $departureGate
169
     *
170
     * @return static
171
     *
172
     * @see http://schema.org/departureGate
173
     */
174
    public function departureGate($departureGate)
175
    {
176
        return $this->setProperty('departureGate', $departureGate);
177
    }
178
179
    /**
180
     * Identifier of the flight's departure terminal.
181
     *
182
     * @param string|string[] $departureTerminal
183
     *
184
     * @return static
185
     *
186
     * @see http://schema.org/departureTerminal
187
     */
188
    public function departureTerminal($departureTerminal)
189
    {
190
        return $this->setProperty('departureTerminal', $departureTerminal);
191
    }
192
193
    /**
194
     * The expected departure time.
195
     *
196
     * @param \DateTimeInterface|\DateTimeInterface[] $departureTime
197
     *
198
     * @return static
199
     *
200
     * @see http://schema.org/departureTime
201
     */
202
    public function departureTime($departureTime)
203
    {
204
        return $this->setProperty('departureTime', $departureTime);
205
    }
206
207
    /**
208
     * A description of the item.
209
     *
210
     * @param string|string[] $description
211
     *
212
     * @return static
213
     *
214
     * @see http://schema.org/description
215
     */
216
    public function description($description)
217
    {
218
        return $this->setProperty('description', $description);
219
    }
220
221
    /**
222
     * A sub property of description. A short description of the item used to
223
     * disambiguate from other, similar items. Information from other properties
224
     * (in particular, name) may be necessary for the description to be useful
225
     * for disambiguation.
226
     *
227
     * @param string|string[] $disambiguatingDescription
228
     *
229
     * @return static
230
     *
231
     * @see http://schema.org/disambiguatingDescription
232
     */
233
    public function disambiguatingDescription($disambiguatingDescription)
234
    {
235
        return $this->setProperty('disambiguatingDescription', $disambiguatingDescription);
236
    }
237
238
    /**
239
     * The estimated time the flight will take.
240
     *
241
     * @param \Spatie\SchemaOrg\Contracts\DurationContract|\Spatie\SchemaOrg\Contracts\DurationContract[]|string|string[] $estimatedFlightDuration
242
     *
243
     * @return static
244
     *
245
     * @see http://schema.org/estimatedFlightDuration
246
     */
247
    public function estimatedFlightDuration($estimatedFlightDuration)
248
    {
249
        return $this->setProperty('estimatedFlightDuration', $estimatedFlightDuration);
250
    }
251
252
    /**
253
     * The distance of the flight.
254
     *
255
     * @param \Spatie\SchemaOrg\Contracts\DistanceContract|\Spatie\SchemaOrg\Contracts\DistanceContract[]|string|string[] $flightDistance
256
     *
257
     * @return static
258
     *
259
     * @see http://schema.org/flightDistance
260
     */
261
    public function flightDistance($flightDistance)
262
    {
263
        return $this->setProperty('flightDistance', $flightDistance);
264
    }
265
266
    /**
267
     * The unique identifier for a flight including the airline IATA code. For
268
     * example, if describing United flight 110, where the IATA code for United
269
     * is 'UA', the flightNumber is 'UA110'.
270
     *
271
     * @param string|string[] $flightNumber
272
     *
273
     * @return static
274
     *
275
     * @see http://schema.org/flightNumber
276
     */
277
    public function flightNumber($flightNumber)
278
    {
279
        return $this->setProperty('flightNumber', $flightNumber);
280
    }
281
282
    /**
283
     * The identifier property represents any kind of identifier for any kind of
284
     * [[Thing]], such as ISBNs, GTIN codes, UUIDs etc. Schema.org provides
285
     * dedicated properties for representing many of these, either as textual
286
     * strings or as URL (URI) links. See [background
287
     * notes](/docs/datamodel.html#identifierBg) for more details.
288
     *
289
     * @param \Spatie\SchemaOrg\Contracts\PropertyValueContract|\Spatie\SchemaOrg\Contracts\PropertyValueContract[]|string|string[] $identifier
290
     *
291
     * @return static
292
     *
293
     * @see http://schema.org/identifier
294
     */
295
    public function identifier($identifier)
296
    {
297
        return $this->setProperty('identifier', $identifier);
298
    }
299
300
    /**
301
     * An image of the item. This can be a [[URL]] or a fully described
302
     * [[ImageObject]].
303
     *
304
     * @param \Spatie\SchemaOrg\Contracts\ImageObjectContract|\Spatie\SchemaOrg\Contracts\ImageObjectContract[]|string|string[] $image
305
     *
306
     * @return static
307
     *
308
     * @see http://schema.org/image
309
     */
310
    public function image($image)
311
    {
312
        return $this->setProperty('image', $image);
313
    }
314
315
    /**
316
     * Indicates a page (or other CreativeWork) for which this thing is the main
317
     * entity being described. See [background
318
     * notes](/docs/datamodel.html#mainEntityBackground) for details.
319
     *
320
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $mainEntityOfPage
321
     *
322
     * @return static
323
     *
324
     * @see http://schema.org/mainEntityOfPage
325
     */
326
    public function mainEntityOfPage($mainEntityOfPage)
327
    {
328
        return $this->setProperty('mainEntityOfPage', $mainEntityOfPage);
329
    }
330
331
    /**
332
     * Description of the meals that will be provided or available for purchase.
333
     *
334
     * @param string|string[] $mealService
335
     *
336
     * @return static
337
     *
338
     * @see http://schema.org/mealService
339
     */
340
    public function mealService($mealService)
341
    {
342
        return $this->setProperty('mealService', $mealService);
343
    }
344
345
    /**
346
     * The name of the item.
347
     *
348
     * @param string|string[] $name
349
     *
350
     * @return static
351
     *
352
     * @see http://schema.org/name
353
     */
354
    public function name($name)
355
    {
356
        return $this->setProperty('name', $name);
357
    }
358
359
    /**
360
     * An offer to provide this item—for example, an offer to sell a
361
     * product, rent the DVD of a movie, perform a service, or give away tickets
362
     * to an event. Use [[businessFunction]] to indicate the kind of transaction
363
     * offered, i.e. sell, lease, etc. This property can also be used to
364
     * describe a [[Demand]]. While this property is listed as expected on a
365
     * number of common types, it can be used in others. In that case, using a
366
     * second type, such as Product or a subtype of Product, can clarify the
367
     * nature of the offer.
368
     *
369
     * @param \Spatie\SchemaOrg\Contracts\DemandContract|\Spatie\SchemaOrg\Contracts\DemandContract[]|\Spatie\SchemaOrg\Contracts\OfferContract|\Spatie\SchemaOrg\Contracts\OfferContract[] $offers
370
     *
371
     * @return static
372
     *
373
     * @see http://schema.org/offers
374
     */
375
    public function offers($offers)
376
    {
377
        return $this->setProperty('offers', $offers);
378
    }
379
380
    /**
381
     * Indicates a potential Action, which describes an idealized action in
382
     * which this thing would play an 'object' role.
383
     *
384
     * @param \Spatie\SchemaOrg\Contracts\ActionContract|\Spatie\SchemaOrg\Contracts\ActionContract[] $potentialAction
385
     *
386
     * @return static
387
     *
388
     * @see http://schema.org/potentialAction
389
     */
390
    public function potentialAction($potentialAction)
391
    {
392
        return $this->setProperty('potentialAction', $potentialAction);
393
    }
394
395
    /**
396
     * The service provider, service operator, or service performer; the goods
397
     * producer. Another party (a seller) may offer those services or goods on
398
     * behalf of the provider. A provider may also serve as the seller.
399
     *
400
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $provider
401
     *
402
     * @return static
403
     *
404
     * @see http://schema.org/provider
405
     */
406
    public function provider($provider)
407
    {
408
        return $this->setProperty('provider', $provider);
409
    }
410
411
    /**
412
     * URL of a reference Web page that unambiguously indicates the item's
413
     * identity. E.g. the URL of the item's Wikipedia page, Wikidata entry, or
414
     * official website.
415
     *
416
     * @param string|string[] $sameAs
417
     *
418
     * @return static
419
     *
420
     * @see http://schema.org/sameAs
421
     */
422
    public function sameAs($sameAs)
423
    {
424
        return $this->setProperty('sameAs', $sameAs);
425
    }
426
427
    /**
428
     * An entity which offers (sells / leases / lends / loans) the services /
429
     * goods.  A seller may also be a provider.
430
     *
431
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $seller
432
     *
433
     * @return static
434
     *
435
     * @see http://schema.org/seller
436
     */
437
    public function seller($seller)
438
    {
439
        return $this->setProperty('seller', $seller);
440
    }
441
442
    /**
443
     * A CreativeWork or Event about this Thing.
444
     *
445
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|\Spatie\SchemaOrg\Contracts\EventContract|\Spatie\SchemaOrg\Contracts\EventContract[] $subjectOf
446
     *
447
     * @return static
448
     *
449
     * @see http://schema.org/subjectOf
450
     */
451
    public function subjectOf($subjectOf)
452
    {
453
        return $this->setProperty('subjectOf', $subjectOf);
454
    }
455
456
    /**
457
     * URL of the item.
458
     *
459
     * @param string|string[] $url
460
     *
461
     * @return static
462
     *
463
     * @see http://schema.org/url
464
     */
465
    public function url($url)
466
    {
467
        return $this->setProperty('url', $url);
468
    }
469
470
    /**
471
     * The time when a passenger can check into the flight online.
472
     *
473
     * @param \DateTimeInterface|\DateTimeInterface[] $webCheckinTime
474
     *
475
     * @return static
476
     *
477
     * @see http://schema.org/webCheckinTime
478
     */
479
    public function webCheckinTime($webCheckinTime)
480
    {
481
        return $this->setProperty('webCheckinTime', $webCheckinTime);
482
    }
483
484
}
485

src/LodgingReservation.php 1 location

@@ 20-499 (lines=480) @@
17
 * @see http://schema.org/LodgingReservation
18
 *
19
 */
20
class LodgingReservation extends BaseType implements LodgingReservationContract, IntangibleContract, ReservationContract, ThingContract
21
{
22
    /**
23
     * An additional type for the item, typically used for adding more specific
24
     * types from external vocabularies in microdata syntax. This is a
25
     * relationship between something and a class that the thing is in. In RDFa
26
     * syntax, it is better to use the native RDFa syntax - the 'typeof'
27
     * attribute - for multiple types. Schema.org tools may have only weaker
28
     * understanding of extra types, in particular those defined externally.
29
     *
30
     * @param string|string[] $additionalType
31
     *
32
     * @return static
33
     *
34
     * @see http://schema.org/additionalType
35
     */
36
    public function additionalType($additionalType)
37
    {
38
        return $this->setProperty('additionalType', $additionalType);
39
    }
40
41
    /**
42
     * An alias for the item.
43
     *
44
     * @param string|string[] $alternateName
45
     *
46
     * @return static
47
     *
48
     * @see http://schema.org/alternateName
49
     */
50
    public function alternateName($alternateName)
51
    {
52
        return $this->setProperty('alternateName', $alternateName);
53
    }
54
55
    /**
56
     * 'bookingAgent' is an out-dated term indicating a 'broker' that serves as
57
     * a booking agent.
58
     *
59
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $bookingAgent
60
     *
61
     * @return static
62
     *
63
     * @see http://schema.org/bookingAgent
64
     */
65
    public function bookingAgent($bookingAgent)
66
    {
67
        return $this->setProperty('bookingAgent', $bookingAgent);
68
    }
69
70
    /**
71
     * The date and time the reservation was booked.
72
     *
73
     * @param \DateTimeInterface|\DateTimeInterface[] $bookingTime
74
     *
75
     * @return static
76
     *
77
     * @see http://schema.org/bookingTime
78
     */
79
    public function bookingTime($bookingTime)
80
    {
81
        return $this->setProperty('bookingTime', $bookingTime);
82
    }
83
84
    /**
85
     * An entity that arranges for an exchange between a buyer and a seller.  In
86
     * most cases a broker never acquires or releases ownership of a product or
87
     * service involved in an exchange.  If it is not clear whether an entity is
88
     * a broker, seller, or buyer, the latter two terms are preferred.
89
     *
90
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $broker
91
     *
92
     * @return static
93
     *
94
     * @see http://schema.org/broker
95
     */
96
    public function broker($broker)
97
    {
98
        return $this->setProperty('broker', $broker);
99
    }
100
101
    /**
102
     * The earliest someone may check into a lodging establishment.
103
     *
104
     * @param \DateTimeInterface|\DateTimeInterface[] $checkinTime
105
     *
106
     * @return static
107
     *
108
     * @see http://schema.org/checkinTime
109
     */
110
    public function checkinTime($checkinTime)
111
    {
112
        return $this->setProperty('checkinTime', $checkinTime);
113
    }
114
115
    /**
116
     * The latest someone may check out of a lodging establishment.
117
     *
118
     * @param \DateTimeInterface|\DateTimeInterface[] $checkoutTime
119
     *
120
     * @return static
121
     *
122
     * @see http://schema.org/checkoutTime
123
     */
124
    public function checkoutTime($checkoutTime)
125
    {
126
        return $this->setProperty('checkoutTime', $checkoutTime);
127
    }
128
129
    /**
130
     * A description of the item.
131
     *
132
     * @param string|string[] $description
133
     *
134
     * @return static
135
     *
136
     * @see http://schema.org/description
137
     */
138
    public function description($description)
139
    {
140
        return $this->setProperty('description', $description);
141
    }
142
143
    /**
144
     * A sub property of description. A short description of the item used to
145
     * disambiguate from other, similar items. Information from other properties
146
     * (in particular, name) may be necessary for the description to be useful
147
     * for disambiguation.
148
     *
149
     * @param string|string[] $disambiguatingDescription
150
     *
151
     * @return static
152
     *
153
     * @see http://schema.org/disambiguatingDescription
154
     */
155
    public function disambiguatingDescription($disambiguatingDescription)
156
    {
157
        return $this->setProperty('disambiguatingDescription', $disambiguatingDescription);
158
    }
159
160
    /**
161
     * The identifier property represents any kind of identifier for any kind of
162
     * [[Thing]], such as ISBNs, GTIN codes, UUIDs etc. Schema.org provides
163
     * dedicated properties for representing many of these, either as textual
164
     * strings or as URL (URI) links. See [background
165
     * notes](/docs/datamodel.html#identifierBg) for more details.
166
     *
167
     * @param \Spatie\SchemaOrg\Contracts\PropertyValueContract|\Spatie\SchemaOrg\Contracts\PropertyValueContract[]|string|string[] $identifier
168
     *
169
     * @return static
170
     *
171
     * @see http://schema.org/identifier
172
     */
173
    public function identifier($identifier)
174
    {
175
        return $this->setProperty('identifier', $identifier);
176
    }
177
178
    /**
179
     * An image of the item. This can be a [[URL]] or a fully described
180
     * [[ImageObject]].
181
     *
182
     * @param \Spatie\SchemaOrg\Contracts\ImageObjectContract|\Spatie\SchemaOrg\Contracts\ImageObjectContract[]|string|string[] $image
183
     *
184
     * @return static
185
     *
186
     * @see http://schema.org/image
187
     */
188
    public function image($image)
189
    {
190
        return $this->setProperty('image', $image);
191
    }
192
193
    /**
194
     * A full description of the lodging unit.
195
     *
196
     * @param string|string[] $lodgingUnitDescription
197
     *
198
     * @return static
199
     *
200
     * @see http://schema.org/lodgingUnitDescription
201
     */
202
    public function lodgingUnitDescription($lodgingUnitDescription)
203
    {
204
        return $this->setProperty('lodgingUnitDescription', $lodgingUnitDescription);
205
    }
206
207
    /**
208
     * Textual description of the unit type (including suite vs. room, size of
209
     * bed, etc.).
210
     *
211
     * @param \Spatie\SchemaOrg\Contracts\QualitativeValueContract|\Spatie\SchemaOrg\Contracts\QualitativeValueContract[]|string|string[] $lodgingUnitType
212
     *
213
     * @return static
214
     *
215
     * @see http://schema.org/lodgingUnitType
216
     */
217
    public function lodgingUnitType($lodgingUnitType)
218
    {
219
        return $this->setProperty('lodgingUnitType', $lodgingUnitType);
220
    }
221
222
    /**
223
     * Indicates a page (or other CreativeWork) for which this thing is the main
224
     * entity being described. See [background
225
     * notes](/docs/datamodel.html#mainEntityBackground) for details.
226
     *
227
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $mainEntityOfPage
228
     *
229
     * @return static
230
     *
231
     * @see http://schema.org/mainEntityOfPage
232
     */
233
    public function mainEntityOfPage($mainEntityOfPage)
234
    {
235
        return $this->setProperty('mainEntityOfPage', $mainEntityOfPage);
236
    }
237
238
    /**
239
     * The date and time the reservation was modified.
240
     *
241
     * @param \DateTimeInterface|\DateTimeInterface[] $modifiedTime
242
     *
243
     * @return static
244
     *
245
     * @see http://schema.org/modifiedTime
246
     */
247
    public function modifiedTime($modifiedTime)
248
    {
249
        return $this->setProperty('modifiedTime', $modifiedTime);
250
    }
251
252
    /**
253
     * The name of the item.
254
     *
255
     * @param string|string[] $name
256
     *
257
     * @return static
258
     *
259
     * @see http://schema.org/name
260
     */
261
    public function name($name)
262
    {
263
        return $this->setProperty('name', $name);
264
    }
265
266
    /**
267
     * The number of adults staying in the unit.
268
     *
269
     * @param \Spatie\SchemaOrg\Contracts\QuantitativeValueContract|\Spatie\SchemaOrg\Contracts\QuantitativeValueContract[]|int|int[] $numAdults
270
     *
271
     * @return static
272
     *
273
     * @see http://schema.org/numAdults
274
     */
275
    public function numAdults($numAdults)
276
    {
277
        return $this->setProperty('numAdults', $numAdults);
278
    }
279
280
    /**
281
     * The number of children staying in the unit.
282
     *
283
     * @param \Spatie\SchemaOrg\Contracts\QuantitativeValueContract|\Spatie\SchemaOrg\Contracts\QuantitativeValueContract[]|int|int[] $numChildren
284
     *
285
     * @return static
286
     *
287
     * @see http://schema.org/numChildren
288
     */
289
    public function numChildren($numChildren)
290
    {
291
        return $this->setProperty('numChildren', $numChildren);
292
    }
293
294
    /**
295
     * Indicates a potential Action, which describes an idealized action in
296
     * which this thing would play an 'object' role.
297
     *
298
     * @param \Spatie\SchemaOrg\Contracts\ActionContract|\Spatie\SchemaOrg\Contracts\ActionContract[] $potentialAction
299
     *
300
     * @return static
301
     *
302
     * @see http://schema.org/potentialAction
303
     */
304
    public function potentialAction($potentialAction)
305
    {
306
        return $this->setProperty('potentialAction', $potentialAction);
307
    }
308
309
    /**
310
     * The currency of the price, or a price component when attached to
311
     * [[PriceSpecification]] and its subtypes.
312
     * 
313
     * Use standard formats: [ISO 4217 currency
314
     * format](http://en.wikipedia.org/wiki/ISO_4217) e.g. "USD"; [Ticker
315
     * symbol](https://en.wikipedia.org/wiki/List_of_cryptocurrencies) for
316
     * cryptocurrencies e.g. "BTC"; well known names for [Local Exchange
317
     * Tradings
318
     * Systems](https://en.wikipedia.org/wiki/Local_exchange_trading_system)
319
     * (LETS) and other currency types e.g. "Ithaca HOUR".
320
     *
321
     * @param string|string[] $priceCurrency
322
     *
323
     * @return static
324
     *
325
     * @see http://schema.org/priceCurrency
326
     */
327
    public function priceCurrency($priceCurrency)
328
    {
329
        return $this->setProperty('priceCurrency', $priceCurrency);
330
    }
331
332
    /**
333
     * Any membership in a frequent flyer, hotel loyalty program, etc. being
334
     * applied to the reservation.
335
     *
336
     * @param \Spatie\SchemaOrg\Contracts\ProgramMembershipContract|\Spatie\SchemaOrg\Contracts\ProgramMembershipContract[] $programMembershipUsed
337
     *
338
     * @return static
339
     *
340
     * @see http://schema.org/programMembershipUsed
341
     */
342
    public function programMembershipUsed($programMembershipUsed)
343
    {
344
        return $this->setProperty('programMembershipUsed', $programMembershipUsed);
345
    }
346
347
    /**
348
     * The service provider, service operator, or service performer; the goods
349
     * producer. Another party (a seller) may offer those services or goods on
350
     * behalf of the provider. A provider may also serve as the seller.
351
     *
352
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $provider
353
     *
354
     * @return static
355
     *
356
     * @see http://schema.org/provider
357
     */
358
    public function provider($provider)
359
    {
360
        return $this->setProperty('provider', $provider);
361
    }
362
363
    /**
364
     * The thing -- flight, event, restaurant,etc. being reserved.
365
     *
366
     * @param \Spatie\SchemaOrg\Contracts\ThingContract|\Spatie\SchemaOrg\Contracts\ThingContract[] $reservationFor
367
     *
368
     * @return static
369
     *
370
     * @see http://schema.org/reservationFor
371
     */
372
    public function reservationFor($reservationFor)
373
    {
374
        return $this->setProperty('reservationFor', $reservationFor);
375
    }
376
377
    /**
378
     * A unique identifier for the reservation.
379
     *
380
     * @param string|string[] $reservationId
381
     *
382
     * @return static
383
     *
384
     * @see http://schema.org/reservationId
385
     */
386
    public function reservationId($reservationId)
387
    {
388
        return $this->setProperty('reservationId', $reservationId);
389
    }
390
391
    /**
392
     * The current status of the reservation.
393
     *
394
     * @param \Spatie\SchemaOrg\Contracts\ReservationStatusTypeContract|\Spatie\SchemaOrg\Contracts\ReservationStatusTypeContract[] $reservationStatus
395
     *
396
     * @return static
397
     *
398
     * @see http://schema.org/reservationStatus
399
     */
400
    public function reservationStatus($reservationStatus)
401
    {
402
        return $this->setProperty('reservationStatus', $reservationStatus);
403
    }
404
405
    /**
406
     * A ticket associated with the reservation.
407
     *
408
     * @param \Spatie\SchemaOrg\Contracts\TicketContract|\Spatie\SchemaOrg\Contracts\TicketContract[] $reservedTicket
409
     *
410
     * @return static
411
     *
412
     * @see http://schema.org/reservedTicket
413
     */
414
    public function reservedTicket($reservedTicket)
415
    {
416
        return $this->setProperty('reservedTicket', $reservedTicket);
417
    }
418
419
    /**
420
     * URL of a reference Web page that unambiguously indicates the item's
421
     * identity. E.g. the URL of the item's Wikipedia page, Wikidata entry, or
422
     * official website.
423
     *
424
     * @param string|string[] $sameAs
425
     *
426
     * @return static
427
     *
428
     * @see http://schema.org/sameAs
429
     */
430
    public function sameAs($sameAs)
431
    {
432
        return $this->setProperty('sameAs', $sameAs);
433
    }
434
435
    /**
436
     * A CreativeWork or Event about this Thing.
437
     *
438
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|\Spatie\SchemaOrg\Contracts\EventContract|\Spatie\SchemaOrg\Contracts\EventContract[] $subjectOf
439
     *
440
     * @return static
441
     *
442
     * @see http://schema.org/subjectOf
443
     */
444
    public function subjectOf($subjectOf)
445
    {
446
        return $this->setProperty('subjectOf', $subjectOf);
447
    }
448
449
    /**
450
     * The total price for the reservation or ticket, including applicable
451
     * taxes, shipping, etc.
452
     * 
453
     * Usage guidelines:
454
     * 
455
     * * Use values from 0123456789 (Unicode 'DIGIT ZERO' (U+0030) to 'DIGIT
456
     * NINE' (U+0039)) rather than superficially similiar Unicode symbols.
457
     * * Use '.' (Unicode 'FULL STOP' (U+002E)) rather than ',' to indicate a
458
     * decimal point. Avoid using these symbols as a readability separator.
459
     *
460
     * @param \Spatie\SchemaOrg\Contracts\PriceSpecificationContract|\Spatie\SchemaOrg\Contracts\PriceSpecificationContract[]|float|float[]|int|int[]|string|string[] $totalPrice
461
     *
462
     * @return static
463
     *
464
     * @see http://schema.org/totalPrice
465
     */
466
    public function totalPrice($totalPrice)
467
    {
468
        return $this->setProperty('totalPrice', $totalPrice);
469
    }
470
471
    /**
472
     * The person or organization the reservation or ticket is for.
473
     *
474
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $underName
475
     *
476
     * @return static
477
     *
478
     * @see http://schema.org/underName
479
     */
480
    public function underName($underName)
481
    {
482
        return $this->setProperty('underName', $underName);
483
    }
484
485
    /**
486
     * URL of the item.
487
     *
488
     * @param string|string[] $url
489
     *
490
     * @return static
491
     *
492
     * @see http://schema.org/url
493
     */
494
    public function url($url)
495
    {
496
        return $this->setProperty('url', $url);
497
    }
498
499
}
500