Schema.org · Schema
Schema.org Offer
An offer to transfer some rights to an item or to provide a service, for example an offer to sell tickets to an event or to rent a movie.
Schema.orgStructured DataLinked DataJSON-LDVocabularySEOWeb StandardsRDFOntology
Properties
| Name | Type | Description |
|---|---|---|
| @type | string | The Schema.org type. |
| @context | string | |
| name | string | The name of the offer. |
| description | string | A description of the offer. |
| url | string | URL of the offer. |
| price | object | The offer price. |
| priceCurrency | string | The currency of the price (ISO 4217). |
| priceValidUntil | string | The date after which the price is no longer available. |
| availability | string | The availability of this item. |
| availabilityStarts | string | The beginning of the availability of the product. |
| availabilityEnds | string | The end of the availability of the product. |
| itemCondition | string | The condition of the item. |
| seller | object | The entity offering the item. |
| offeredBy | object | A pointer to the organization making the offer. |
| itemOffered | object | The item being offered. |
| sku | string | The Stock Keeping Unit. |
| gtin | string | A Global Trade Item Number. |
| mpn | string | The Manufacturer Part Number. |
| validFrom | string | The date when the item becomes valid. |
| validThrough | string | The date after when the item is not valid. |
| eligibleRegion | string | The ISO 3166-1 (ISO 3166-1 alpha-2) or ISO 3166-2 code for the eligible region. |
| eligibleQuantity | object | The interval and unit of measurement of ordering quantities. |
| deliveryLeadTime | object | The typical delay between the receipt of the order and the goods either leaving the warehouse or being prepared for pickup. |
| shippingDetails | object | Indicates information about the shipping policies and options. |
| hasMerchantReturnPolicy | object | Specifies a MerchantReturnPolicy. |
| review | object | A review of the offer. |
| aggregateRating | object | The overall rating. |
| lowPrice | number | The lowest price of all offers available (for AggregateOffer). |
| highPrice | number | The highest price of all offers available (for AggregateOffer). |
| offerCount | integer | The number of offers for the product (for AggregateOffer). |
| sameAs | object | URL of a reference Web page that unambiguously indicates the item's identity. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://schema.org/schemas/offer.json",
"title": "Schema.org Offer",
"description": "An offer to transfer some rights to an item or to provide a service, for example an offer to sell tickets to an event or to rent a movie.",
"type": "object",
"required": ["@type"],
"properties": {
"@type": {
"type": "string",
"description": "The Schema.org type.",
"enum": ["Offer", "AggregateOffer"]
},
"@context": {
"type": "string",
"default": "https://schema.org"
},
"name": {
"type": "string",
"description": "The name of the offer."
},
"description": {
"type": "string",
"description": "A description of the offer."
},
"url": {
"type": "string",
"format": "uri",
"description": "URL of the offer."
},
"price": {
"oneOf": [
{ "type": "number" },
{ "type": "string" }
],
"description": "The offer price."
},
"priceCurrency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "The currency of the price (ISO 4217)."
},
"priceValidUntil": {
"type": "string",
"format": "date",
"description": "The date after which the price is no longer available."
},
"availability": {
"type": "string",
"enum": ["BackOrder", "Discontinued", "InStock", "InStoreOnly", "LimitedAvailability", "OnlineOnly", "OutOfStock", "PreOrder", "PreSale", "SoldOut"],
"description": "The availability of this item."
},
"availabilityStarts": {
"type": "string",
"format": "date-time",
"description": "The beginning of the availability of the product."
},
"availabilityEnds": {
"type": "string",
"format": "date-time",
"description": "The end of the availability of the product."
},
"itemCondition": {
"type": "string",
"enum": ["DamagedCondition", "NewCondition", "RefurbishedCondition", "UsedCondition"],
"description": "The condition of the item."
},
"seller": {
"oneOf": [
{ "$ref": "schema-org-person-schema.json" },
{ "$ref": "schema-org-organization-schema.json" }
],
"description": "The entity offering the item."
},
"offeredBy": {
"oneOf": [
{ "$ref": "schema-org-person-schema.json" },
{ "$ref": "schema-org-organization-schema.json" }
],
"description": "A pointer to the organization making the offer."
},
"itemOffered": {
"type": "object",
"description": "The item being offered.",
"properties": {
"@type": { "type": "string" },
"name": { "type": "string" }
}
},
"sku": {
"type": "string",
"description": "The Stock Keeping Unit."
},
"gtin": {
"type": "string",
"description": "A Global Trade Item Number."
},
"mpn": {
"type": "string",
"description": "The Manufacturer Part Number."
},
"validFrom": {
"type": "string",
"format": "date-time",
"description": "The date when the item becomes valid."
},
"validThrough": {
"type": "string",
"format": "date-time",
"description": "The date after when the item is not valid."
},
"eligibleRegion": {
"type": "string",
"description": "The ISO 3166-1 (ISO 3166-1 alpha-2) or ISO 3166-2 code for the eligible region."
},
"eligibleQuantity": {
"type": "object",
"description": "The interval and unit of measurement of ordering quantities.",
"properties": {
"@type": { "type": "string", "const": "QuantitativeValue" },
"value": { "type": "number" },
"minValue": { "type": "number" },
"maxValue": { "type": "number" },
"unitCode": { "type": "string" }
}
},
"deliveryLeadTime": {
"type": "object",
"description": "The typical delay between the receipt of the order and the goods either leaving the warehouse or being prepared for pickup.",
"properties": {
"@type": { "type": "string", "const": "QuantitativeValue" },
"value": { "type": "number" },
"unitCode": { "type": "string" }
}
},
"shippingDetails": {
"$ref": "#/$defs/OfferShippingDetails",
"description": "Indicates information about the shipping policies and options."
},
"hasMerchantReturnPolicy": {
"$ref": "#/$defs/MerchantReturnPolicy",
"description": "Specifies a MerchantReturnPolicy."
},
"review": {
"oneOf": [
{ "$ref": "schema-org-review-schema.json" },
{ "type": "array", "items": { "$ref": "schema-org-review-schema.json" } }
],
"description": "A review of the offer."
},
"aggregateRating": {
"$ref": "schema-org-aggregate-rating-schema.json",
"description": "The overall rating."
},
"lowPrice": {
"type": "number",
"description": "The lowest price of all offers available (for AggregateOffer)."
},
"highPrice": {
"type": "number",
"description": "The highest price of all offers available (for AggregateOffer)."
},
"offerCount": {
"type": "integer",
"description": "The number of offers for the product (for AggregateOffer)."
},
"sameAs": {
"oneOf": [
{ "type": "string", "format": "uri" },
{ "type": "array", "items": { "type": "string", "format": "uri" } }
],
"description": "URL of a reference Web page that unambiguously indicates the item's identity."
}
},
"$defs": {
"OfferShippingDetails": {
"type": "object",
"description": "Shipping details for an offer.",
"properties": {
"@type": { "type": "string", "const": "OfferShippingDetails" },
"shippingRate": {
"type": "object",
"properties": {
"@type": { "const": "MonetaryAmount" },
"value": { "type": "number" },
"currency": { "type": "string" }
}
},
"shippingDestination": {
"type": "object",
"properties": {
"@type": { "const": "DefinedRegion" },
"addressCountry": { "type": "string" }
}
},
"deliveryTime": {
"type": "object",
"properties": {
"@type": { "const": "ShippingDeliveryTime" },
"handlingTime": { "type": "object" },
"transitTime": { "type": "object" }
}
}
}
},
"MerchantReturnPolicy": {
"type": "object",
"description": "A MerchantReturnPolicy.",
"properties": {
"@type": { "type": "string", "const": "MerchantReturnPolicy" },
"applicableCountry": { "type": "string" },
"returnPolicyCategory": { "type": "string", "enum": ["MerchantReturnFiniteReturnWindow", "MerchantReturnNotPermitted", "MerchantReturnUnlimitedWindow", "MerchantReturnUnspecified"] },
"merchantReturnDays": { "type": "integer" },
"returnMethod": { "type": "string", "enum": ["ReturnAtKiosk", "ReturnByMail", "ReturnInStore"] },
"returnFees": { "type": "string", "enum": ["FreeReturn", "OriginalShippingFees", "RestockingFees", "ReturnFeesCustomerResponsibility", "ReturnShippingFees"] }
}
}
}
}