Complex classes like AggregateOffer 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 AggregateOffer, and based on these observations, apply Extract Interface, too.
1 | <?php |
||
23 | class AggregateOffer extends BaseType implements AggregateOfferContract, IntangibleContract, OfferContract, ThingContract |
||
24 | { |
||
25 | /** |
||
26 | * The payment method(s) accepted by seller for this offer. |
||
27 | * |
||
28 | * @param \Spatie\SchemaOrg\Contracts\LoanOrCreditContract|\Spatie\SchemaOrg\Contracts\LoanOrCreditContract[]|\Spatie\SchemaOrg\Contracts\PaymentMethodContract|\Spatie\SchemaOrg\Contracts\PaymentMethodContract[] $acceptedPaymentMethod |
||
29 | * |
||
30 | * @return static |
||
31 | * |
||
32 | * @see http://schema.org/acceptedPaymentMethod |
||
33 | */ |
||
34 | public function acceptedPaymentMethod($acceptedPaymentMethod) |
||
38 | |||
39 | /** |
||
40 | * An additional offer that can only be obtained in combination with the |
||
41 | * first base offer (e.g. supplements and extensions that are available for |
||
42 | * a surcharge). |
||
43 | * |
||
44 | * @param \Spatie\SchemaOrg\Contracts\OfferContract|\Spatie\SchemaOrg\Contracts\OfferContract[] $addOn |
||
45 | * |
||
46 | * @return static |
||
47 | * |
||
48 | * @see http://schema.org/addOn |
||
49 | */ |
||
50 | public function addOn($addOn) |
||
54 | |||
55 | /** |
||
56 | * An additional type for the item, typically used for adding more specific |
||
57 | * types from external vocabularies in microdata syntax. This is a |
||
58 | * relationship between something and a class that the thing is in. In RDFa |
||
59 | * syntax, it is better to use the native RDFa syntax - the 'typeof' |
||
60 | * attribute - for multiple types. Schema.org tools may have only weaker |
||
61 | * understanding of extra types, in particular those defined externally. |
||
62 | * |
||
63 | * @param string|string[] $additionalType |
||
64 | * |
||
65 | * @return static |
||
66 | * |
||
67 | * @see http://schema.org/additionalType |
||
68 | */ |
||
69 | public function additionalType($additionalType) |
||
73 | |||
74 | /** |
||
75 | * The amount of time that is required between accepting the offer and the |
||
76 | * actual usage of the resource or service. |
||
77 | * |
||
78 | * @param \Spatie\SchemaOrg\Contracts\QuantitativeValueContract|\Spatie\SchemaOrg\Contracts\QuantitativeValueContract[] $advanceBookingRequirement |
||
79 | * |
||
80 | * @return static |
||
81 | * |
||
82 | * @see http://schema.org/advanceBookingRequirement |
||
83 | */ |
||
84 | public function advanceBookingRequirement($advanceBookingRequirement) |
||
88 | |||
89 | /** |
||
90 | * The overall rating, based on a collection of reviews or ratings, of the |
||
91 | * item. |
||
92 | * |
||
93 | * @param \Spatie\SchemaOrg\Contracts\AggregateRatingContract|\Spatie\SchemaOrg\Contracts\AggregateRatingContract[] $aggregateRating |
||
94 | * |
||
95 | * @return static |
||
96 | * |
||
97 | * @see http://schema.org/aggregateRating |
||
98 | */ |
||
99 | public function aggregateRating($aggregateRating) |
||
103 | |||
104 | /** |
||
105 | * An alias for the item. |
||
106 | * |
||
107 | * @param string|string[] $alternateName |
||
108 | * |
||
109 | * @return static |
||
110 | * |
||
111 | * @see http://schema.org/alternateName |
||
112 | */ |
||
113 | public function alternateName($alternateName) |
||
117 | |||
118 | /** |
||
119 | * The geographic area where a service or offered item is provided. |
||
120 | * |
||
121 | * @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 |
||
122 | * |
||
123 | * @return static |
||
124 | * |
||
125 | * @see http://schema.org/areaServed |
||
126 | */ |
||
127 | public function areaServed($areaServed) |
||
131 | |||
132 | /** |
||
133 | * The availability of this item—for example In stock, Out of stock, |
||
134 | * Pre-order, etc. |
||
135 | * |
||
136 | * @param \Spatie\SchemaOrg\Contracts\ItemAvailabilityContract|\Spatie\SchemaOrg\Contracts\ItemAvailabilityContract[] $availability |
||
137 | * |
||
138 | * @return static |
||
139 | * |
||
140 | * @see http://schema.org/availability |
||
141 | */ |
||
142 | public function availability($availability) |
||
146 | |||
147 | /** |
||
148 | * The end of the availability of the product or service included in the |
||
149 | * offer. |
||
150 | * |
||
151 | * @param \DateTimeInterface|\DateTimeInterface[] $availabilityEnds |
||
152 | * |
||
153 | * @return static |
||
154 | * |
||
155 | * @see http://schema.org/availabilityEnds |
||
156 | */ |
||
157 | public function availabilityEnds($availabilityEnds) |
||
161 | |||
162 | /** |
||
163 | * The beginning of the availability of the product or service included in |
||
164 | * the offer. |
||
165 | * |
||
166 | * @param \DateTimeInterface|\DateTimeInterface[] $availabilityStarts |
||
167 | * |
||
168 | * @return static |
||
169 | * |
||
170 | * @see http://schema.org/availabilityStarts |
||
171 | */ |
||
172 | public function availabilityStarts($availabilityStarts) |
||
176 | |||
177 | /** |
||
178 | * The place(s) from which the offer can be obtained (e.g. store locations). |
||
179 | * |
||
180 | * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $availableAtOrFrom |
||
181 | * |
||
182 | * @return static |
||
183 | * |
||
184 | * @see http://schema.org/availableAtOrFrom |
||
185 | */ |
||
186 | public function availableAtOrFrom($availableAtOrFrom) |
||
190 | |||
191 | /** |
||
192 | * The delivery method(s) available for this offer. |
||
193 | * |
||
194 | * @param \Spatie\SchemaOrg\Contracts\DeliveryMethodContract|\Spatie\SchemaOrg\Contracts\DeliveryMethodContract[] $availableDeliveryMethod |
||
195 | * |
||
196 | * @return static |
||
197 | * |
||
198 | * @see http://schema.org/availableDeliveryMethod |
||
199 | */ |
||
200 | public function availableDeliveryMethod($availableDeliveryMethod) |
||
204 | |||
205 | /** |
||
206 | * The business function (e.g. sell, lease, repair, dispose) of the offer or |
||
207 | * component of a bundle (TypeAndQuantityNode). The default is |
||
208 | * http://purl.org/goodrelations/v1#Sell. |
||
209 | * |
||
210 | * @param \Spatie\SchemaOrg\Contracts\BusinessFunctionContract|\Spatie\SchemaOrg\Contracts\BusinessFunctionContract[] $businessFunction |
||
211 | * |
||
212 | * @return static |
||
213 | * |
||
214 | * @see http://schema.org/businessFunction |
||
215 | */ |
||
216 | public function businessFunction($businessFunction) |
||
220 | |||
221 | /** |
||
222 | * A category for the item. Greater signs or slashes can be used to |
||
223 | * informally indicate a category hierarchy. |
||
224 | * |
||
225 | * @param \Spatie\SchemaOrg\Contracts\ThingContract|\Spatie\SchemaOrg\Contracts\ThingContract[]|string|string[] $category |
||
226 | * |
||
227 | * @return static |
||
228 | * |
||
229 | * @see http://schema.org/category |
||
230 | */ |
||
231 | public function category($category) |
||
235 | |||
236 | /** |
||
237 | * The typical delay between the receipt of the order and the goods either |
||
238 | * leaving the warehouse or being prepared for pickup, in case the delivery |
||
239 | * method is on site pickup. |
||
240 | * |
||
241 | * @param \Spatie\SchemaOrg\Contracts\QuantitativeValueContract|\Spatie\SchemaOrg\Contracts\QuantitativeValueContract[] $deliveryLeadTime |
||
242 | * |
||
243 | * @return static |
||
244 | * |
||
245 | * @see http://schema.org/deliveryLeadTime |
||
246 | */ |
||
247 | public function deliveryLeadTime($deliveryLeadTime) |
||
251 | |||
252 | /** |
||
253 | * A description of the item. |
||
254 | * |
||
255 | * @param string|string[] $description |
||
256 | * |
||
257 | * @return static |
||
258 | * |
||
259 | * @see http://schema.org/description |
||
260 | */ |
||
261 | public function description($description) |
||
265 | |||
266 | /** |
||
267 | * A sub property of description. A short description of the item used to |
||
268 | * disambiguate from other, similar items. Information from other properties |
||
269 | * (in particular, name) may be necessary for the description to be useful |
||
270 | * for disambiguation. |
||
271 | * |
||
272 | * @param string|string[] $disambiguatingDescription |
||
273 | * |
||
274 | * @return static |
||
275 | * |
||
276 | * @see http://schema.org/disambiguatingDescription |
||
277 | */ |
||
278 | public function disambiguatingDescription($disambiguatingDescription) |
||
282 | |||
283 | /** |
||
284 | * The type(s) of customers for which the given offer is valid. |
||
285 | * |
||
286 | * @param \Spatie\SchemaOrg\Contracts\BusinessEntityTypeContract|\Spatie\SchemaOrg\Contracts\BusinessEntityTypeContract[] $eligibleCustomerType |
||
287 | * |
||
288 | * @return static |
||
289 | * |
||
290 | * @see http://schema.org/eligibleCustomerType |
||
291 | */ |
||
292 | public function eligibleCustomerType($eligibleCustomerType) |
||
296 | |||
297 | /** |
||
298 | * The duration for which the given offer is valid. |
||
299 | * |
||
300 | * @param \Spatie\SchemaOrg\Contracts\QuantitativeValueContract|\Spatie\SchemaOrg\Contracts\QuantitativeValueContract[] $eligibleDuration |
||
301 | * |
||
302 | * @return static |
||
303 | * |
||
304 | * @see http://schema.org/eligibleDuration |
||
305 | */ |
||
306 | public function eligibleDuration($eligibleDuration) |
||
310 | |||
311 | /** |
||
312 | * The interval and unit of measurement of ordering quantities for which the |
||
313 | * offer or price specification is valid. This allows e.g. specifying that a |
||
314 | * certain freight charge is valid only for a certain quantity. |
||
315 | * |
||
316 | * @param \Spatie\SchemaOrg\Contracts\QuantitativeValueContract|\Spatie\SchemaOrg\Contracts\QuantitativeValueContract[] $eligibleQuantity |
||
317 | * |
||
318 | * @return static |
||
319 | * |
||
320 | * @see http://schema.org/eligibleQuantity |
||
321 | */ |
||
322 | public function eligibleQuantity($eligibleQuantity) |
||
326 | |||
327 | /** |
||
328 | * The ISO 3166-1 (ISO 3166-1 alpha-2) or ISO 3166-2 code, the place, or the |
||
329 | * GeoShape for the geo-political region(s) for which the offer or delivery |
||
330 | * charge specification is valid. |
||
331 | * |
||
332 | * See also [[ineligibleRegion]]. |
||
333 | * |
||
334 | * @param \Spatie\SchemaOrg\Contracts\GeoShapeContract|\Spatie\SchemaOrg\Contracts\GeoShapeContract[]|\Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[]|string|string[] $eligibleRegion |
||
335 | * |
||
336 | * @return static |
||
337 | * |
||
338 | * @see http://schema.org/eligibleRegion |
||
339 | */ |
||
340 | public function eligibleRegion($eligibleRegion) |
||
344 | |||
345 | /** |
||
346 | * The transaction volume, in a monetary unit, for which the offer or price |
||
347 | * specification is valid, e.g. for indicating a minimal purchasing volume, |
||
348 | * to express free shipping above a certain order volume, or to limit the |
||
349 | * acceptance of credit cards to purchases to a certain minimal amount. |
||
350 | * |
||
351 | * @param \Spatie\SchemaOrg\Contracts\PriceSpecificationContract|\Spatie\SchemaOrg\Contracts\PriceSpecificationContract[] $eligibleTransactionVolume |
||
352 | * |
||
353 | * @return static |
||
354 | * |
||
355 | * @see http://schema.org/eligibleTransactionVolume |
||
356 | */ |
||
357 | public function eligibleTransactionVolume($eligibleTransactionVolume) |
||
361 | |||
362 | /** |
||
363 | * The GTIN-12 code of the product, or the product to which the offer |
||
364 | * refers. The GTIN-12 is the 12-digit GS1 Identification Key composed of a |
||
365 | * U.P.C. Company Prefix, Item Reference, and Check Digit used to identify |
||
366 | * trade items. See [GS1 GTIN |
||
367 | * Summary](http://www.gs1.org/barcodes/technical/idkeys/gtin) for more |
||
368 | * details. |
||
369 | * |
||
370 | * @param string|string[] $gtin12 |
||
371 | * |
||
372 | * @return static |
||
373 | * |
||
374 | * @see http://schema.org/gtin12 |
||
375 | */ |
||
376 | public function gtin12($gtin12) |
||
380 | |||
381 | /** |
||
382 | * The GTIN-13 code of the product, or the product to which the offer |
||
383 | * refers. This is equivalent to 13-digit ISBN codes and EAN UCC-13. Former |
||
384 | * 12-digit UPC codes can be converted into a GTIN-13 code by simply adding |
||
385 | * a preceeding zero. See [GS1 GTIN |
||
386 | * Summary](http://www.gs1.org/barcodes/technical/idkeys/gtin) for more |
||
387 | * details. |
||
388 | * |
||
389 | * @param string|string[] $gtin13 |
||
390 | * |
||
391 | * @return static |
||
392 | * |
||
393 | * @see http://schema.org/gtin13 |
||
394 | */ |
||
395 | public function gtin13($gtin13) |
||
399 | |||
400 | /** |
||
401 | * The GTIN-14 code of the product, or the product to which the offer |
||
402 | * refers. See [GS1 GTIN |
||
403 | * Summary](http://www.gs1.org/barcodes/technical/idkeys/gtin) for more |
||
404 | * details. |
||
405 | * |
||
406 | * @param string|string[] $gtin14 |
||
407 | * |
||
408 | * @return static |
||
409 | * |
||
410 | * @see http://schema.org/gtin14 |
||
411 | */ |
||
412 | public function gtin14($gtin14) |
||
416 | |||
417 | /** |
||
418 | * The [GTIN-8](http://apps.gs1.org/GDD/glossary/Pages/GTIN-8.aspx) code of |
||
419 | * the product, or the product to which the offer refers. This code is also |
||
420 | * known as EAN/UCC-8 or 8-digit EAN. See [GS1 GTIN |
||
421 | * Summary](http://www.gs1.org/barcodes/technical/idkeys/gtin) for more |
||
422 | * details. |
||
423 | * |
||
424 | * @param string|string[] $gtin8 |
||
425 | * |
||
426 | * @return static |
||
427 | * |
||
428 | * @see http://schema.org/gtin8 |
||
429 | */ |
||
430 | public function gtin8($gtin8) |
||
434 | |||
435 | /** |
||
436 | * The highest price of all offers available. |
||
437 | * |
||
438 | * Usage guidelines: |
||
439 | * |
||
440 | * * Use values from 0123456789 (Unicode 'DIGIT ZERO' (U+0030) to 'DIGIT |
||
441 | * NINE' (U+0039)) rather than superficially similiar Unicode symbols. |
||
442 | * * Use '.' (Unicode 'FULL STOP' (U+002E)) rather than ',' to indicate a |
||
443 | * decimal point. Avoid using these symbols as a readability separator. |
||
444 | * |
||
445 | * @param float|float[]|int|int[]|string|string[] $highPrice |
||
446 | * |
||
447 | * @return static |
||
448 | * |
||
449 | * @see http://schema.org/highPrice |
||
450 | */ |
||
451 | public function highPrice($highPrice) |
||
455 | |||
456 | /** |
||
457 | * The identifier property represents any kind of identifier for any kind of |
||
458 | * [[Thing]], such as ISBNs, GTIN codes, UUIDs etc. Schema.org provides |
||
459 | * dedicated properties for representing many of these, either as textual |
||
460 | * strings or as URL (URI) links. See [background |
||
461 | * notes](/docs/datamodel.html#identifierBg) for more details. |
||
462 | * |
||
463 | * @param \Spatie\SchemaOrg\Contracts\PropertyValueContract|\Spatie\SchemaOrg\Contracts\PropertyValueContract[]|string|string[] $identifier |
||
464 | * |
||
465 | * @return static |
||
466 | * |
||
467 | * @see http://schema.org/identifier |
||
468 | */ |
||
469 | public function identifier($identifier) |
||
473 | |||
474 | /** |
||
475 | * An image of the item. This can be a [[URL]] or a fully described |
||
476 | * [[ImageObject]]. |
||
477 | * |
||
478 | * @param \Spatie\SchemaOrg\Contracts\ImageObjectContract|\Spatie\SchemaOrg\Contracts\ImageObjectContract[]|string|string[] $image |
||
479 | * |
||
480 | * @return static |
||
481 | * |
||
482 | * @see http://schema.org/image |
||
483 | */ |
||
484 | public function image($image) |
||
488 | |||
489 | /** |
||
490 | * This links to a node or nodes indicating the exact quantity of the |
||
491 | * products included in the offer. |
||
492 | * |
||
493 | * @param \Spatie\SchemaOrg\Contracts\TypeAndQuantityNodeContract|\Spatie\SchemaOrg\Contracts\TypeAndQuantityNodeContract[] $includesObject |
||
494 | * |
||
495 | * @return static |
||
496 | * |
||
497 | * @see http://schema.org/includesObject |
||
498 | */ |
||
499 | public function includesObject($includesObject) |
||
503 | |||
504 | /** |
||
505 | * The ISO 3166-1 (ISO 3166-1 alpha-2) or ISO 3166-2 code, the place, or the |
||
506 | * GeoShape for the geo-political region(s) for which the offer or delivery |
||
507 | * charge specification is not valid, e.g. a region where the transaction is |
||
508 | * not allowed. |
||
509 | * |
||
510 | * See also [[eligibleRegion]]. |
||
511 | * |
||
512 | * @param \Spatie\SchemaOrg\Contracts\GeoShapeContract|\Spatie\SchemaOrg\Contracts\GeoShapeContract[]|\Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[]|string|string[] $ineligibleRegion |
||
513 | * |
||
514 | * @return static |
||
515 | * |
||
516 | * @see http://schema.org/ineligibleRegion |
||
517 | */ |
||
518 | public function ineligibleRegion($ineligibleRegion) |
||
522 | |||
523 | /** |
||
524 | * The current approximate inventory level for the item or items. |
||
525 | * |
||
526 | * @param \Spatie\SchemaOrg\Contracts\QuantitativeValueContract|\Spatie\SchemaOrg\Contracts\QuantitativeValueContract[] $inventoryLevel |
||
527 | * |
||
528 | * @return static |
||
529 | * |
||
530 | * @see http://schema.org/inventoryLevel |
||
531 | */ |
||
532 | public function inventoryLevel($inventoryLevel) |
||
536 | |||
537 | /** |
||
538 | * A predefined value from OfferItemCondition or a textual description of |
||
539 | * the condition of the product or service, or the products or services |
||
540 | * included in the offer. |
||
541 | * |
||
542 | * @param \Spatie\SchemaOrg\Contracts\OfferItemConditionContract|\Spatie\SchemaOrg\Contracts\OfferItemConditionContract[] $itemCondition |
||
543 | * |
||
544 | * @return static |
||
545 | * |
||
546 | * @see http://schema.org/itemCondition |
||
547 | */ |
||
548 | public function itemCondition($itemCondition) |
||
552 | |||
553 | /** |
||
554 | * An item being offered (or demanded). The transactional nature of the |
||
555 | * offer or demand is documented using [[businessFunction]], e.g. sell, |
||
556 | * lease etc. While several common expected types are listed explicitly in |
||
557 | * this definition, others can be used. Using a second type, such as Product |
||
558 | * or a subtype of Product, can clarify the nature of the offer. |
||
559 | * |
||
560 | * @param \Spatie\SchemaOrg\Contracts\AggregateOfferContract|\Spatie\SchemaOrg\Contracts\AggregateOfferContract[]|\Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|\Spatie\SchemaOrg\Contracts\EventContract|\Spatie\SchemaOrg\Contracts\EventContract[]|\Spatie\SchemaOrg\Contracts\MenuItemContract|\Spatie\SchemaOrg\Contracts\MenuItemContract[]|\Spatie\SchemaOrg\Contracts\ProductContract|\Spatie\SchemaOrg\Contracts\ProductContract[]|\Spatie\SchemaOrg\Contracts\ServiceContract|\Spatie\SchemaOrg\Contracts\ServiceContract[]|\Spatie\SchemaOrg\Contracts\TripContract|\Spatie\SchemaOrg\Contracts\TripContract[] $itemOffered |
||
561 | * |
||
562 | * @return static |
||
563 | * |
||
564 | * @see http://schema.org/itemOffered |
||
565 | */ |
||
566 | public function itemOffered($itemOffered) |
||
570 | |||
571 | /** |
||
572 | * The lowest price of all offers available. |
||
573 | * |
||
574 | * Usage guidelines: |
||
575 | * |
||
576 | * * Use values from 0123456789 (Unicode 'DIGIT ZERO' (U+0030) to 'DIGIT |
||
577 | * NINE' (U+0039)) rather than superficially similiar Unicode symbols. |
||
578 | * * Use '.' (Unicode 'FULL STOP' (U+002E)) rather than ',' to indicate a |
||
579 | * decimal point. Avoid using these symbols as a readability separator. |
||
580 | * |
||
581 | * @param float|float[]|int|int[]|string|string[] $lowPrice |
||
582 | * |
||
583 | * @return static |
||
584 | * |
||
585 | * @see http://schema.org/lowPrice |
||
586 | */ |
||
587 | public function lowPrice($lowPrice) |
||
591 | |||
592 | /** |
||
593 | * Indicates a page (or other CreativeWork) for which this thing is the main |
||
594 | * entity being described. See [background |
||
595 | * notes](/docs/datamodel.html#mainEntityBackground) for details. |
||
596 | * |
||
597 | * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $mainEntityOfPage |
||
598 | * |
||
599 | * @return static |
||
600 | * |
||
601 | * @see http://schema.org/mainEntityOfPage |
||
602 | */ |
||
603 | public function mainEntityOfPage($mainEntityOfPage) |
||
607 | |||
608 | /** |
||
609 | * The Manufacturer Part Number (MPN) of the product, or the product to |
||
610 | * which the offer refers. |
||
611 | * |
||
612 | * @param string|string[] $mpn |
||
613 | * |
||
614 | * @return static |
||
615 | * |
||
616 | * @see http://schema.org/mpn |
||
617 | */ |
||
618 | public function mpn($mpn) |
||
622 | |||
623 | /** |
||
624 | * The name of the item. |
||
625 | * |
||
626 | * @param string|string[] $name |
||
627 | * |
||
628 | * @return static |
||
629 | * |
||
630 | * @see http://schema.org/name |
||
631 | */ |
||
632 | public function name($name) |
||
636 | |||
637 | /** |
||
638 | * The number of offers for the product. |
||
639 | * |
||
640 | * @param int|int[] $offerCount |
||
641 | * |
||
642 | * @return static |
||
643 | * |
||
644 | * @see http://schema.org/offerCount |
||
645 | */ |
||
646 | public function offerCount($offerCount) |
||
650 | |||
651 | /** |
||
652 | * An offer to provide this item—for example, an offer to sell a |
||
653 | * product, rent the DVD of a movie, perform a service, or give away tickets |
||
654 | * to an event. Use [[businessFunction]] to indicate the kind of transaction |
||
655 | * offered, i.e. sell, lease, etc. This property can also be used to |
||
656 | * describe a [[Demand]]. While this property is listed as expected on a |
||
657 | * number of common types, it can be used in others. In that case, using a |
||
658 | * second type, such as Product or a subtype of Product, can clarify the |
||
659 | * nature of the offer. |
||
660 | * |
||
661 | * @param \Spatie\SchemaOrg\Contracts\DemandContract|\Spatie\SchemaOrg\Contracts\DemandContract[]|\Spatie\SchemaOrg\Contracts\OfferContract|\Spatie\SchemaOrg\Contracts\OfferContract[] $offers |
||
662 | * |
||
663 | * @return static |
||
664 | * |
||
665 | * @see http://schema.org/offers |
||
666 | */ |
||
667 | public function offers($offers) |
||
671 | |||
672 | /** |
||
673 | * Indicates a potential Action, which describes an idealized action in |
||
674 | * which this thing would play an 'object' role. |
||
675 | * |
||
676 | * @param \Spatie\SchemaOrg\Contracts\ActionContract|\Spatie\SchemaOrg\Contracts\ActionContract[] $potentialAction |
||
677 | * |
||
678 | * @return static |
||
679 | * |
||
680 | * @see http://schema.org/potentialAction |
||
681 | */ |
||
682 | public function potentialAction($potentialAction) |
||
686 | |||
687 | /** |
||
688 | * The offer price of a product, or of a price component when attached to |
||
689 | * PriceSpecification and its subtypes. |
||
690 | * |
||
691 | * Usage guidelines: |
||
692 | * |
||
693 | * * Use the [[priceCurrency]] property (with standard formats: [ISO 4217 |
||
694 | * currency format](http://en.wikipedia.org/wiki/ISO_4217) e.g. "USD"; |
||
695 | * [Ticker symbol](https://en.wikipedia.org/wiki/List_of_cryptocurrencies) |
||
696 | * for cryptocurrencies e.g. "BTC"; well known names for [Local Exchange |
||
697 | * Tradings |
||
698 | * Systems](https://en.wikipedia.org/wiki/Local_exchange_trading_system) |
||
699 | * (LETS) and other currency types e.g. "Ithaca HOUR") instead of including |
||
700 | * [ambiguous |
||
701 | * symbols](http://en.wikipedia.org/wiki/Dollar_sign#Currencies_that_use_the_dollar_or_peso_sign) |
||
702 | * such as '$' in the value. |
||
703 | * * Use '.' (Unicode 'FULL STOP' (U+002E)) rather than ',' to indicate a |
||
704 | * decimal point. Avoid using these symbols as a readability separator. |
||
705 | * * Note that both |
||
706 | * [RDFa](http://www.w3.org/TR/xhtml-rdfa-primer/#using-the-content-attribute) |
||
707 | * and Microdata syntax allow the use of a "content=" attribute for |
||
708 | * publishing simple machine-readable values alongside more human-friendly |
||
709 | * formatting. |
||
710 | * * Use values from 0123456789 (Unicode 'DIGIT ZERO' (U+0030) to 'DIGIT |
||
711 | * NINE' (U+0039)) rather than superficially similiar Unicode symbols. |
||
712 | * |
||
713 | * @param float|float[]|int|int[]|string|string[] $price |
||
714 | * |
||
715 | * @return static |
||
716 | * |
||
717 | * @see http://schema.org/price |
||
718 | */ |
||
719 | public function price($price) |
||
723 | |||
724 | /** |
||
725 | * The currency of the price, or a price component when attached to |
||
726 | * [[PriceSpecification]] and its subtypes. |
||
727 | * |
||
728 | * Use standard formats: [ISO 4217 currency |
||
729 | * format](http://en.wikipedia.org/wiki/ISO_4217) e.g. "USD"; [Ticker |
||
730 | * symbol](https://en.wikipedia.org/wiki/List_of_cryptocurrencies) for |
||
731 | * cryptocurrencies e.g. "BTC"; well known names for [Local Exchange |
||
732 | * Tradings |
||
733 | * Systems](https://en.wikipedia.org/wiki/Local_exchange_trading_system) |
||
734 | * (LETS) and other currency types e.g. "Ithaca HOUR". |
||
735 | * |
||
736 | * @param string|string[] $priceCurrency |
||
737 | * |
||
738 | * @return static |
||
739 | * |
||
740 | * @see http://schema.org/priceCurrency |
||
741 | */ |
||
742 | public function priceCurrency($priceCurrency) |
||
746 | |||
747 | /** |
||
748 | * One or more detailed price specifications, indicating the unit price and |
||
749 | * delivery or payment charges. |
||
750 | * |
||
751 | * @param \Spatie\SchemaOrg\Contracts\PriceSpecificationContract|\Spatie\SchemaOrg\Contracts\PriceSpecificationContract[] $priceSpecification |
||
752 | * |
||
753 | * @return static |
||
754 | * |
||
755 | * @see http://schema.org/priceSpecification |
||
756 | */ |
||
757 | public function priceSpecification($priceSpecification) |
||
761 | |||
762 | /** |
||
763 | * The date after which the price is no longer available. |
||
764 | * |
||
765 | * @param \DateTimeInterface|\DateTimeInterface[] $priceValidUntil |
||
766 | * |
||
767 | * @return static |
||
768 | * |
||
769 | * @see http://schema.org/priceValidUntil |
||
770 | */ |
||
771 | public function priceValidUntil($priceValidUntil) |
||
775 | |||
776 | /** |
||
777 | * A review of the item. |
||
778 | * |
||
779 | * @param \Spatie\SchemaOrg\Contracts\ReviewContract|\Spatie\SchemaOrg\Contracts\ReviewContract[] $review |
||
780 | * |
||
781 | * @return static |
||
782 | * |
||
783 | * @see http://schema.org/review |
||
784 | */ |
||
785 | public function review($review) |
||
789 | |||
790 | /** |
||
791 | * Review of the item. |
||
792 | * |
||
793 | * @param \Spatie\SchemaOrg\Contracts\ReviewContract|\Spatie\SchemaOrg\Contracts\ReviewContract[] $reviews |
||
794 | * |
||
795 | * @return static |
||
796 | * |
||
797 | * @see http://schema.org/reviews |
||
798 | */ |
||
799 | public function reviews($reviews) |
||
803 | |||
804 | /** |
||
805 | * URL of a reference Web page that unambiguously indicates the item's |
||
806 | * identity. E.g. the URL of the item's Wikipedia page, Wikidata entry, or |
||
807 | * official website. |
||
808 | * |
||
809 | * @param string|string[] $sameAs |
||
810 | * |
||
811 | * @return static |
||
812 | * |
||
813 | * @see http://schema.org/sameAs |
||
814 | */ |
||
815 | public function sameAs($sameAs) |
||
819 | |||
820 | /** |
||
821 | * An entity which offers (sells / leases / lends / loans) the services / |
||
822 | * goods. A seller may also be a provider. |
||
823 | * |
||
824 | * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $seller |
||
825 | * |
||
826 | * @return static |
||
827 | * |
||
828 | * @see http://schema.org/seller |
||
829 | */ |
||
830 | public function seller($seller) |
||
834 | |||
835 | /** |
||
836 | * The serial number or any alphanumeric identifier of a particular product. |
||
837 | * When attached to an offer, it is a shortcut for the serial number of the |
||
838 | * product included in the offer. |
||
839 | * |
||
840 | * @param string|string[] $serialNumber |
||
841 | * |
||
842 | * @return static |
||
843 | * |
||
844 | * @see http://schema.org/serialNumber |
||
845 | */ |
||
846 | public function serialNumber($serialNumber) |
||
850 | |||
851 | /** |
||
852 | * The Stock Keeping Unit (SKU), i.e. a merchant-specific identifier for a |
||
853 | * product or service, or the product to which the offer refers. |
||
854 | * |
||
855 | * @param string|string[] $sku |
||
856 | * |
||
857 | * @return static |
||
858 | * |
||
859 | * @see http://schema.org/sku |
||
860 | */ |
||
861 | public function sku($sku) |
||
865 | |||
866 | /** |
||
867 | * A CreativeWork or Event about this Thing. |
||
868 | * |
||
869 | * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|\Spatie\SchemaOrg\Contracts\EventContract|\Spatie\SchemaOrg\Contracts\EventContract[] $subjectOf |
||
870 | * |
||
871 | * @return static |
||
872 | * |
||
873 | * @see http://schema.org/subjectOf |
||
874 | */ |
||
875 | public function subjectOf($subjectOf) |
||
879 | |||
880 | /** |
||
881 | * URL of the item. |
||
882 | * |
||
883 | * @param string|string[] $url |
||
884 | * |
||
885 | * @return static |
||
886 | * |
||
887 | * @see http://schema.org/url |
||
888 | */ |
||
889 | public function url($url) |
||
893 | |||
894 | /** |
||
895 | * The date when the item becomes valid. |
||
896 | * |
||
897 | * @param \DateTimeInterface|\DateTimeInterface[] $validFrom |
||
898 | * |
||
899 | * @return static |
||
900 | * |
||
901 | * @see http://schema.org/validFrom |
||
902 | */ |
||
903 | public function validFrom($validFrom) |
||
907 | |||
908 | /** |
||
909 | * The date after when the item is not valid. For example the end of an |
||
910 | * offer, salary period, or a period of opening hours. |
||
911 | * |
||
912 | * @param \DateTimeInterface|\DateTimeInterface[] $validThrough |
||
913 | * |
||
914 | * @return static |
||
915 | * |
||
916 | * @see http://schema.org/validThrough |
||
917 | */ |
||
918 | public function validThrough($validThrough) |
||
922 | |||
923 | /** |
||
924 | * The warranty promise(s) included in the offer. |
||
925 | * |
||
926 | * @param \Spatie\SchemaOrg\Contracts\WarrantyPromiseContract|\Spatie\SchemaOrg\Contracts\WarrantyPromiseContract[] $warranty |
||
927 | * |
||
928 | * @return static |
||
929 | * |
||
930 | * @see http://schema.org/warranty |
||
931 | */ |
||
932 | public function warranty($warranty) |
||
936 | |||
937 | } |
||
938 |