Offer Object
An offer to transfer some rights to an item or to provide a service. For example sell a product.
Modeled based on https://schema.org/Offer
We welcome your feedback. Please use the Improvement Requests form.
Offer Object JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://apis.objectsgrid.com/schemas/OGObject.schema.json",
"title": "Offer",
"description": "Objects Grid Offer Object",
"type": "object",
"properties": {
"at_context": {
"description": "Schema context",
"type": [
"string",
"null"
],
"enum": [
"https://schema.org"
]
},
"at_type": {
"description": "The object type",
"type": [
"string",
"null"
],
"enum": [
"Offer"
]
},
"id": {
"description": "The unique identifier for Offer",
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 50
},
"identifier": {
"description": "The unique identifier for Offer",
"type": [
"string",
"null"
],
"minLength": 0,
"maxLength": 50
},
"image": {
"description": "image URL",
"type": [
"string",
"null"
],
"minLength": 0,
"format": "uri"
},
"name": {
"description": "The Offer Name",
"type": "array",
"items": {
"$ref": "#/$defs/LanguageTaggedString"
},
"minItems": 1
},
"description": {
"description": "The Offer Description",
"type": "array",
"items": {
"$ref": "#/$defs/LanguageTaggedString"
}
},
"url": {
"description": "This Offer URL",
"type": [
"string",
"null"
],
"format": "uri",
"minLength": 1
},
"acceptedPaymentMethod": {
"description": "The accepted Payment Method",
"type": [
"array",
"null"
],
"items": {
"type": "string"
}
},
"availability": {
"description": "item availability",
"type": "array",
"items": { "$ref": "#/$defs/ItemAvailability" },
"minItems": 1,
"uniqueItems": true
},
"availabilityEnds": {
"description": "What date the availability ends",
"type": [
"string",
"null"
],
"format": "date-time"
},
"availabilityStarts": {
"description": "What date the availability starts",
"type": [
"string",
"null"
],
"format": "date-time"
},
"availableDeliveryMethod": {
"description": "The available delivery method(s)",
"type": "array",
"items": { "$ref": "#/$defs/DeliveryMethod" },
"minItems": 1,
"uniqueItems": true
},
"businessFunction": {
"description": "business function",
"type": [
"array",
"null"
],
"items": {
"type": "string"
},
"minLength": 0
},
"category": {
"description": "The Offer category",
"type": [
"array",
"null"
],
"items": {
"type": "string"
},
"minLength": 0
},
"checkoutPageUrlTemplate": {
"description": "This Offer checkout Page Url Template",
"type": [
"string",
"null"
],
"format": "uri"
},
"deliveryLeadTime": {
"description": "The delivery lead time",
"anyOf": [
{
"$ref": "#/$defs/QuantitativeValue"
},
{
"type": "null"
}
]
},
"eligibleCustomerType": {
"description": "The eligible customer type",
"type": [
"array",
"null"
],
"items": {
"type": "string"
},
"minLength": 0
},
"eligibleDuration": {
"description": "The eligible duration",
"anyOf": [
{
"$ref": "#/$defs/QuantitativeValue"
},
{
"type": "null"
}
]
},
"eligibleQuantity": {
"description": "The eligible quantity",
"type": [
"number",
"null"
],
"minimum": 0
},
"eligibleRegion": {
"description": "The eligible region",
"type": [
"array",
"null"
],
"items": {
"type": "string"
},
"minLength": 0
},
"hasMerchantReturnPolicy": {
"description": "The Merchant Return Policy",
"anyOf": [
{
"$ref": "#/$defs/MerchantReturnPolicy"
},
{
"type": "null"
}
]
},
"itemCondition": {
"description": "The item condition",
"type": "array",
"items": { "$ref": "#/$defs/OfferItemCondition" },
"minItems": 1,
"uniqueItems": true
},
"itemOffered": {
"description": "The item offered by whom",
"type": [
"string",
"null"
],
"format": "uri"
},
"offeredBy": {
"description": "The Organization URL that offers this Offer",
"type": [
"string",
"null"
]
},
"price": {
"description": "The Offer price",
"type": [
"number",
"null"
],
"minimum": 0
},
"priceCurrency": {
"description": "The Offer price currency ISO 4217 codes",
"$ref": "#/$defs/CurrencyCodeEnumeration"
},
"priceValidUntil": {
"description": "The Offer price valid until date",
"type": [
"string",
"null"
],
"format": "date-time"
},
"shippingDetails": {
"description": "The Offer Shipping Details",
"anyOf": [
{
"$ref": "#/$defs/OfferShippingDetails"
},
{
"type": "null"
}
]
},
"validFrom": {
"description": "The Offer valid from date",
"type": [
"string",
"null"
],
"format": "date-time"
},
"validThrough": {
"description": "The Offer valid through date",
"type": [
"string",
"null"
],
"format": "date-time"
},
"warranty": {
"description": "The Offer Warranty",
"anyOf": [
{
"$ref": "#/$defs/WarrantyPromise"
},
{
"type": "null"
}
]
},
"tags": {
"description": "Object Tags",
"type": [
"array",
"null"
],
"items": {
"$ref": "#/$defs/Tag"
}
}
},
"required": [
"name", "price", "priceCurrency"
],
"$defs": {
"CurrencyCodeEnumeration": {
"type": "string",
"enum": [
"AED","AFN","ALL","AMD","ANG","AOA","ARS","AUD","AWG","AZN",
"BAM","BBD","BDT","BGN","BHD","BIF","BMD","BND","BOB","BRL",
"BSD","BTN","BWP","BYN","BZD","CAD","CDF","CHF","CLP","CNY",
"COP","CRC","CUP","CVE","CZK","DJF","DKK","DOP","DZD","EGP",
"ERN","ETB","EUR","FJD","FKP","FOK","GBP","GEL","GGP","GHS",
"GIP","GMD","GNF","GTQ","GYD","HKD","HNL","HRK","HTG","HUF",
"IDR","ILS","IMP","INR","IQD","IRR","ISK","JEP","JMD","JOD",
"JPY","KES","KGS","KHR","KID","KMF","KRW","KWD","KYD","KZT",
"LAK","LBP","LKR","LRD","LSL","LYD","MAD","MDL","MGA","MKD",
"MMK","MNT","MOP","MRU","MUR","MVR","MWK","MXN","MYR","MZN",
"NAD","NGN","NIO","NOK","NPR","NZD","OMR","PAB","PEN","PGK",
"PHP","PKR","PLN","PYG","QAR","RON","RSD","RUB","RWF","SAR",
"SBD","SCR","SDG","SEK","SGD","SHP","SLE","SOS","SRD","SSP",
"STN","SYP","SZL","THB","TJS","TMT","TND","TOP","TRY","TTD",
"TVD","TWD","TZS","UAH","UGX","USD","UYU","UZS","VES","VND",
"VUV","WST","XAF","XCD","XOF","XPF","YER","ZAR","ZMW","ZWL"
]
},
"DayOfWeek": {
"type": "string",
"enum": [
"https://schema.org/Monday",
"https://schema.org/Tuesday",
"https://schema.org/Wednesday",
"https://schema.org/Thursday",
"https://schema.org/Friday",
"https://schema.org/Saturday",
"https://schema.org/Sunday"
]
},
"DeliveryMethod" : {
"type": "string",
"enum": [
"http://purl.org/goodrelations/v1#DeliveryModeDirectDownload",
"http://purl.org/goodrelations/v1#DeliveryModeFreight",
"http://purl.org/goodrelations/v1#DeliveryModeMail",
"http://purl.org/goodrelations/v1#DeliveryModeOwnFleet",
"http://purl.org/goodrelations/v1#DeliveryModePickUp",
"https://purl.org/goodrelations/v1#DHL",
"https://purl.org/goodrelations/v1#FedEx",
"https://purl.org/goodrelations/v1#UPS",
"https://purl.org/goodrelations/v1#UPSAccessPoint",
"https://schema.org/LockerDelivery",
"https://schema.org/OnSitePickup",
"https://schema.org/ParcelService"
]
},
"ItemAvailability": {
"type": "string",
"enum": [
"https://schema.org/BackOrder",
"https://schema.org/Discontinued",
"https://schema.org/InStock",
"https://schema.org/InStoreOnly",
"https://schema.org/LimitedAvailability",
"https://schema.org/MadeToOrder",
"https://schema.org/OnlineOnly",
"https://schema.org/OutOfStock",
"https://schema.org/PreOrder",
"https://schema.org/PreSale",
"https://schema.org/Reserved",
"https://schema.org/SoldOut"
]
},
"LanguageTaggedString": {
"type": "object",
"properties": {
"at_value": {
"type": "string",
"minLength": 1
},
"at_language": {
"type": "string",
"minLength": 2
}
},
"required": [
"at_value",
"at_language"
]
},
"MerchantReturnEnumeration": {
"type": "string",
"enum": [
"https://schema.org/MerchantReturnFiniteReturnWindow",
"https://schema.org/MerchantReturnNotPermitted",
"https://schema.org/MerchantReturnUnlimitedWindow",
"https://schema.org/MerchantReturnUnspecified"
]
},
"MerchantReturnPolicy": {
"description": "MerchantReturnPolicy",
"properties": {
"at_type": {
"description": "The object type",
"type": [
"string",
"null"
],
"enum": [
"MerchantReturnPolicy"
]
},
"name": {
"description": "The Merchant Return Policy Name",
"type": "array",
"items": {
"$ref": "#/$defs/LanguageTaggedString"
},
"minItems": 1
},
"description": {
"description": "The Merchant Return Policy Description",
"type": "array",
"items": {
"$ref": "#/$defs/LanguageTaggedString"
}
},
"applicableCountry": {
"description": "The Merchant Return Policy applicable country",
"type": [
"string",
"null"
],
"minLength": 2,
"maxLength": 2
},
"inStoreReturnOffered": {
"description": "Whether in-store return is offered",
"type": [
"boolean",
"null"
]
},
"itemCondition": {
"description": "The item condition for the return policy",
"type": "array",
"items": { "$ref": "#/$defs/OfferItemCondition" },
"minItems": 1,
"uniqueItems": true
},
"merchantReturnDays": {
"description": "The number of days the merchant accepts returns",
"type": [
"integer",
"null"
],
"minimum": 0
},
"refundType": {
"description": "The type of refund offered by the merchant",
"type": "array",
"items": { "$ref": "#/$defs/RefundTypeEnumeration" },
"minItems": 1,
"uniqueItems": true
},
"returnPolicyCategory": {
"type": "array",
"items": { "$ref": "#/$defs/MerchantReturnEnumeration" },
"minItems": 1,
"uniqueItems": true
},
"returnMethod": {
"description": "The method of return",
"type": "array",
"items": { "$ref": "#/$defs/ReturnMethodEnumeration" },
"minItems": 1,
"uniqueItems": true
},
"returnFees": {
"description": "The fees associated with the return",
"type": "array",
"items": { "$ref": "#/$defs/ReturnFeesEnumeration" },
"minItems": 1,
"uniqueItems": true
}
},
"required": [
"name"
]
},
"MonetaryAmount": {
"description": "MonetaryAmount",
"properties": {
"at_type": {
"description": "The object type",
"type": [
"string",
"null"
],
"enum": [
"MonetaryAmount"
]
},
"currency": {
"description": "The currency code",
"$ref": "#/$defs/CurrencyCodeEnumeration"
},
"maxValue": {
"description": "The max monetary value",
"type": [
"number",
"null"
],
"minimum": 0
},
"minValue": {
"description": "The min monetary value",
"type": [
"number",
"null"
],
"minimum": 0
},
"value": {
"description": "The monetary value",
"type": [
"number",
"null"
],
"minimum": 0
}
},
"required": [
"value",
"currency"
]
},
"OfferItemCondition": {
"type": "string",
"enum": [
"https://schema.org/DamagedCondition",
"https://schema.org/NewCondition",
"https://schema.org/RefurbishedCondition",
"https://schema.org/UsedCondition"
]
},
"OfferShippingDetails": {
"description": "OfferShippingDetails",
"properties": {
"at_type": {
"description": "The object type",
"type": [
"string",
"null"
],
"enum": [
"OfferShippingDetails"
]
},
"name": {
"description": "The Merchant Return Policy Name",
"type": "array",
"items": {
"$ref": "#/$defs/LanguageTaggedString"
},
"minItems": 1
},
"description": {
"description": "The Merchant Return Policy Description",
"type": "array",
"items": {
"$ref": "#/$defs/LanguageTaggedString"
}
},
"deliveryTime": {
"description": "The delivery time for the shipping",
"anyOf": [
{
"$ref": "#/$defs/ShippingDeliveryTime"
},
{
"type": "null"
}
]
},
"depth": {
"description": "The depth of the shipping package",
"anyOf": [
{
"$ref": "#/$defs/QuantitativeValue"
},
{
"type": "null"
}
]
},
"doesNotShip": {
"description": "Whether the offer does not ship",
"type": [
"boolean",
"null"
]
},
"height": {
"description": "The height of the shipping package",
"anyOf": [
{
"$ref": "#/$defs/QuantitativeValue"
},
{
"type": "null"
}
]
},
"shippingRate": {
"description": "The shipping rate",
"anyOf": [
{
"$ref": "#/$defs/MonetaryAmount"
},
{
"type": "null"
}
]
},
"weight": {
"description": "The weight of the shipping package",
"anyOf": [
{
"$ref": "#/$defs/QuantitativeValue"
},
{
"type": "null"
}
]
},
"width": {
"description": "The width of the shipping package",
"anyOf": [
{
"$ref": "#/$defs/QuantitativeValue"
},
{
"type": "null"
}
]
}
},
"required": [
"name",
"shippingRate"
]
},
"ReturnFeesEnumeration": {
"type": "string",
"enum": [
"https://schema.org/FreeReturn",
"https://schema.org/OriginalShippingFeesReturn",
"https://schema.org/RestockingFees",
"https://schema.org/ReturnFeesCustomerResponsibility",
"https://schema.org/ReturnShippingFees"
]
},
"ReturnMethodEnumeration": {
"type": "string",
"enum": [
"https://schema.org/KeepProduct",
"https://schema.org/ReturnAtKiosk",
"https://schema.org/ReturnByMail",
"https://schema.org/ReturnInStore"
]
},
"RefundTypeEnumeration": {
"type": "string",
"enum": [
"https://schema.org/ExchangeRefund",
"https://schema.org/FullRefund",
"https://schema.org/StoreCreditRefund"
]
},
"ShippingDeliveryTime": {
"description": "ShippingDeliveryTime",
"properties": {
"at_type": {
"description": "The object type",
"type": [
"string",
"null"
],
"enum": [
"ShippingDeliveryTime"
]
},
"businessDays": {
"description": "The number of business days for delivery",
"anyOf": [
{
"$ref": "#/$defs/DayOfWeek"
},
{
"type": "null"
}
]
},
"cutoffTime": {
"description": "The cutoff time for shipping",
"type": [
"string",
"null"
],
"format": "time"
},
"handlingTime": {
"description": "The handling time in business days",
"anyOf": [
{
"$ref": "#/$defs/QuantitativeValue"
},
{
"type": "null"
}
]
},
"transitTime": {
"description": "The transit time in business days",
"anyOf": [
{
"$ref": "#/$defs/QuantitativeValue"
},
{
"type": "null"
}
]
}
},
"required": [
"businessDays"
]
},
"QuantitativeValue": {
"description": "QuantitativeValue",
"properties": {
"at_type": {
"description": "The object type",
"type": [
"string",
"null"
],
"enum": [
"QuantitativeValue"
]
},
"maxValue": {
"type": [
"number",
"null"
],
"minimum": 0
},
"minValue": {
"type": [
"number",
"null"
],
"minimum": 0
},
"unitCode": {
"type": "string",
"minLength": 1
},
"unitText": {
"type": "string",
"minLength": 1
},
"value": {
"type": [
"number",
"null"
],
"minimum": 0
}
},
"required": [
"unitCode",
"value"
]
},
"WarrantyPromise": {
"description": "WarrantyPromise",
"properties": {
"at_type": {
"description": "The object type",
"type": [
"string",
"null"
],
"enum": [
"WarrantyPromise"
]
},
"durationOfWarranty": {
"description": "The duration of the warranty",
"anyOf": [
{
"$ref": "#/$defs/QuantitativeValue"
},
{
"type": "null"
}
]
},
"warrantyScope": {
"description": "The scope of the warranty",
"type": [
"string",
"null"
]
}
},
"required": [
"durationOfWarranty"
]
},
"Tag": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"val": {
"type": "string",
"minLength": 1
}
},
"required": [
"name",
"val"
]
}
}
}
Last updated
Was this helpful?