</> Web Validators

Full Schema Hierarchy

Browse every schema.org type: what it inherits from, what inherits from it, and every property it accepts.

Built from schema.org's own machine-readable release -- 939 types and 1538 properties, version 30.1 -- and served from a committed copy, so it works whether or not schema.org is reachable. Each property is shown with the type it was declared on, which is the part that is hard to see on the official hierarchy page.

Based on: Schema.org · Schema.org — Full Hierarchy

About this validation

Browses the schema.org type hierarchy from a committed copy of schema.org's own machine-readable release: supertypes, subtypes, and the properties a type accepts including everything it inherits.

Rules reviewed:
Nov 15, 2026

SEOTechTests methodology: Serves schema.org's type hierarchy from a copy of its own machine-readable release that is generated by a script in this repository and committed, so the page never depends on schema.org being reachable. Supertypes are flattened breadth-first, and the property list for a type is everything declared on it plus everything inherited.

Standards and vendor-documented behavior can change. This reflects the source as last reviewed above, not a permanent guarantee.

MerchantReturnPolicy

A MerchantReturnPolicy provides information about product return policies associated with an Organization, Product, or Offer.

schema.org/MerchantReturnPolicy35 properties0 subtypes

Inheritance

Thing→Intangible→MerchantReturnPolicy

Properties declared on MerchantReturnPolicy (22)

additionalPropertyPropertyValueA property-value pair representing an additional characteristic of the entity, e.g.
applicableCountryCountry, TextA country where a particular merchant return policy applies to, for example the two-letter ISO 3166-1 alpha-2 country code.
customerRemorseReturnFeesReturnFeesEnumerationThe type of return fees if the product is returned due to customer remorse.
customerRemorseReturnLabelSourceReturnLabelSourceEnumerationThe method (from an enumeration) by which the customer obtains a return shipping label for a product returned due to customer remorse.
customerRemorseReturnShippingFeesAmountMonetaryAmountThe amount of shipping costs if a product is returned due to customer remorse.
inStoreReturnsOfferedBooleanAre in-store returns offered?
itemConditionOfferItemConditionA predefined value from OfferItemCondition specifying the condition of the product or service, or the products or services included in the offer.
itemDefectReturnFeesReturnFeesEnumerationThe type of return fees for returns of defect products.
itemDefectReturnLabelSourceReturnLabelSourceEnumerationThe method (from an enumeration) by which the customer obtains a return shipping label for a defect product.
itemDefectReturnShippingFeesAmountMonetaryAmountAmount of shipping costs for defect product returns.
merchantReturnDaysDate, DateTime, IntegerSpecifies either a fixed return date or the number of days (from the delivery date) that a product can be returned.
merchantReturnLinkURLSpecifies a Web page or service by URL, for product returns.
refundTypeRefundTypeEnumerationA refund type, from an enumerated list.
restockingFeeMonetaryAmount, NumberUse MonetaryAmount to specify a fixed restocking fee for product returns, or use Number to specify a percentage of the product price paid by the customer.
returnFeesReturnFeesEnumerationThe type of return fees for purchased products (for any return reason).
returnLabelSourceReturnLabelSourceEnumerationThe method (from an enumeration) by which the customer obtains a return shipping label for a product returned for any reason.
returnMethodReturnMethodEnumerationThe type of return method offered, specified from an enumeration.
returnPolicyCategoryMerchantReturnEnumerationSpecifies an applicable return policy (from an enumeration).
returnPolicyCountryCountry, TextThe country where the product has to be sent to for returns, for example "Ireland" using the name property of Country.
returnPolicySeasonalOverrideMerchantReturnPolicySeasonalOverrideSeasonal override of a return policy.
returnShippingFeesAmountMonetaryAmountAmount of shipping costs for product returns (for any reason).
validForMemberTierMemberProgramTierThe membership program tier(s) an Offer (or a PriceSpecification, OfferShippingDetails, or MerchantReturnPolicy under an Offer) is valid for.

Inherited properties (13)

additionalTypefrom ThingText, URLAn additional type for the item, typically used for adding more specific types from external vocabularies in microdata syntax.
alternateNamefrom ThingTextAn alias for the item.
descriptionfrom ThingText, TextObjectA description of the item.
disambiguatingDescriptionfrom ThingTextA sub property of description.
identifierfrom ThingPropertyValue, Text, URLThe identifier property represents any kind of identifier for any kind of Thing, such as ISBNs, GTIN codes, UUIDs etc.
imagefrom ThingImageObject, URLAn image of the item.
mainEntityOfPagefrom ThingCreativeWork, URLIndicates a page (or other CreativeWork) for which this thing is the main entity being described.
namefrom ThingTextThe name of the item.
ownerfrom ThingOrganization, PersonA person or organization who owns this Thing.
potentialActionfrom ThingActionIndicates a potential Action, which describes an idealized action in which this thing would play an 'object' role.
sameAsfrom ThingURLURL of a reference Web page that unambiguously indicates the item's identity.
subjectOffrom ThingCreativeWork, EventA CreativeWork or Event about this Thing.
urlfrom ThingURLURL of the item.

FAQ

Where does this hierarchy come from?

From schema.org's published machine-readable vocabulary, condensed to the type and property relations and committed to this site. The release version it was built from is shown with the results.[1, 2]

Why does a type list properties it does not declare?

Because it inherits them. Every type ultimately descends from Thing, so name, url, description and image are available everywhere without being declared on each type.[1]

What do pending and attic mean next to a type?

schema.org keeps proposed terms in a pending area before they join the core vocabulary, and moves retired ones to an attic so old markup still resolves. A term in either is real, but not part of the core vocabulary.[1]