# OfferCatalog - Schema.org Type

> Source: https://schema.org/OfferCatalog
> Extracted: 2026-02-16T18:51:42.268Z

---

**Note**: You are viewing the development version of [Schema.org](https://schema.org/). See [how we work](https://schema.org/docs/howwework.html) for more details.

An OfferCatalog is an ItemList that contains related Offers and/or further OfferCatalogs that are offeredBy the same provider.

Property

Expected Type

Description

Properties from [ItemList](https://schema.org/ItemList "ItemList")

`[aggregateElement](https://schema.org/aggregateElement "aggregateElement")`

[Thing](https://schema.org/Thing "Thing")

Indicates a prototype of the elements in the list that is used to hold aggregate information (ratings, offers, etc.).

`[itemListElement](https://schema.org/itemListElement "itemListElement")`

[ListItem](https://schema.org/ListItem "ListItem")  or  
[Text](https://schema.org/Text "Text")  or  
[Thing](https://schema.org/Thing "Thing")

For itemListElement values, you can use simple strings (e.g. "Peter", "Paul", "Mary"), existing entities, or use ListItem.

Text values are best if the elements in the list are plain strings. Existing entities are best for a simple, unordered list of existing things in your data. ListItem is used with ordered lists when you want to provide additional context about the element in that list or when the same item might be in different places in different lists.

Note: The order of elements in your mark-up is not sufficient for indicating the order or elements. Use ListItem with a 'position' property in such cases.

`[itemListOrder](https://schema.org/itemListOrder "itemListOrder")`

[ItemListOrderType](https://schema.org/ItemListOrderType "ItemListOrderType")  or  
[Text](https://schema.org/Text "Text")

Type of ordering (e.g. Ascending, Descending, Unordered).

`[numberOfItems](https://schema.org/numberOfItems "numberOfItems")`

[Integer](https://schema.org/Integer "Integer")

The number of items in an ItemList. Note that some descriptions might not fully describe all items in a list (e.g., multi-page pagination); in such cases, the numberOfItems would be for the entire list.

Properties from [Thing](https://schema.org/Thing "Thing")

`[additionalType](https://schema.org/additionalType "additionalType")`

[Text](https://schema.org/Text "Text")  or  
[URL](https://schema.org/URL "URL")

An additional type for the item, typically used for adding more specific types from external vocabularies in microdata syntax. This is a relationship between something and a class that the thing is in. Typically the value is a URI-identified RDF class, and in this case corresponds to the use of rdf:type in RDF. Text values can be used sparingly, for cases where useful information can be added without their being an appropriate schema to reference. In the case of text values, the class label should follow the schema.org [style guide](https://schema.org/docs/styleguide.html).

`[alternateName](https://schema.org/alternateName "alternateName")`

[Text](https://schema.org/Text "Text")

An alias for the item.

`[description](https://schema.org/description "description")`

[Text](https://schema.org/Text "Text")  or  
[TextObject](https://schema.org/TextObject "TextObject")

A description of the item.

`[disambiguatingDescription](https://schema.org/disambiguatingDescription "disambiguatingDescription")`

[Text](https://schema.org/Text "Text")

A sub property of description. A short description of the item used to disambiguate from other, similar items. Information from other properties (in particular, name) may be necessary for the description to be useful for disambiguation.

`[identifier](https://schema.org/identifier "identifier")`

[PropertyValue](https://schema.org/PropertyValue "PropertyValue")  or  
[Text](https://schema.org/Text "Text")  or  
[URL](https://schema.org/URL "URL")

The identifier property represents any kind of identifier for any kind of [Thing](https://schema.org/Thing), such as ISBNs, GTIN codes, UUIDs etc. Schema.org provides dedicated properties for representing many of these, either as textual strings or as URL (URI) links. See [background notes](https://schema.org/docs/datamodel.html#identifierBg) for more details.

`[image](https://schema.org/image "image")`

[ImageObject](https://schema.org/ImageObject "ImageObject")  or  
[URL](https://schema.org/URL "URL")

An image of the item. This can be a [URL](https://schema.org/URL) or a fully described [ImageObject](https://schema.org/ImageObject).

`[mainEntityOfPage](https://schema.org/mainEntityOfPage "mainEntityOfPage")`

[CreativeWork](https://schema.org/CreativeWork "CreativeWork")  or  
[URL](https://schema.org/URL "URL")

Indicates a page (or other CreativeWork) for which this thing is the main entity being described. See [background notes](https://schema.org/docs/datamodel.html#mainEntityBackground) for details.  
Inverse property: [mainEntity](https://schema.org/mainEntity "mainEntity")

`[name](https://schema.org/name "name")`

[Text](https://schema.org/Text "Text")

The name of the item.

`[owner](https://schema.org/owner "owner")`

[Organization](https://schema.org/Organization "Organization")  or  
[Person](https://schema.org/Person "Person")

A person or organization who owns this Thing.  
Inverse property: [owns](https://schema.org/owns "owns")

`[potentialAction](https://schema.org/potentialAction "potentialAction")`

[Action](https://schema.org/Action "Action")

Indicates a potential Action, which describes an idealized action in which this thing would play an 'object' role.

`[sameAs](https://schema.org/sameAs "sameAs")`

[URL](https://schema.org/URL "URL")

URL of a reference Web page that unambiguously indicates the item's identity. E.g. the URL of the item's Wikipedia page, Wikidata entry, or official website.

`[subjectOf](https://schema.org/subjectOf "subjectOf")`

[CreativeWork](https://schema.org/CreativeWork "CreativeWork")  or  
[Event](https://schema.org/Event "Event")

A CreativeWork or Event about this Thing.  
Inverse property: [about](https://schema.org/about "about")

`[url](https://schema.org/url "url")`

[URL](https://schema.org/URL "URL")

URL of the item.

Instances of [OfferCatalog](https://schema.org/OfferCatalog "OfferCatalog") may appear as a value for the following properties

Property

On Types

Description

[hasOfferCatalog](https://schema.org/hasOfferCatalog "hasOfferCatalog")

[Organization](https://schema.org/Organization "Organization")  or  
[Person](https://schema.org/Person "Person")  or  
[Service](https://schema.org/Service "Service")

Indicates an OfferCatalog listing for this Organization, Person, or Service.

### Examples

Example notes or example HTML without markup.

ACME Home Cleaning offers a variety of services in Massachusetts, including:
<ul>
  <li>House cleaning</li>
  <ul>
    <li>Apartment light cleaning</li>
    <li>House light cleaning up to 2 bedrooms</li>
    <li>House light cleaning 3+ bedrooms</li>
  </ul>
  <li>One-time services</li>
  <ul>
    <li>Window washing</li>
    <li>Carpet deep cleaning</li>
    <li>Move in/out cleaning</li>
  </ul>
</ul>

Example encoded as [Microdata](https://en.wikipedia.org/wiki/Microdata_\(HTML\)) embedded in HTML.

<div itemscope itemtype="https://schema.org/Service">
  <meta itemprop="serviceType" content="Home cleaning" />
  <span itemprop="provider" itemscope itemtype="https://schema.org/LocalBusiness">
    <span itemprop="name">ACME Home Cleaning</span>
  </span>
  offers a variety of services in
  <span itemprop="areaServed" itemscope itemtype="https://schema.org/State">
    <span itemprop="name">Massachusetts</span>, including
  </span>
  <ul itemprop="hasOfferCatalog" itemscope itemtype="https://schema.org/OfferCatalog">
    <li itemprop="itemListElement" itemscope itemtype="https://schema.org/OfferCatalog">
      <span itemprop="name">House cleaning</span>
      <ul itemprop="itemListElement" itemscope itemtype="https://schema.org/OfferCatalog">
        <li itemprop="itemListElement" itemscope itemtype="https://schema.org/Offer">
          <div itemprop="itemOffered" itemscope itemtype="https://schema.org/Service">
            <span itemprop="name">Apartment light cleaning</span>
          </div>
        </li>
        <li itemprop="itemListElement" itemscope itemtype="https://schema.org/Offer">
          <div itemprop="itemOffered" itemscope itemtype="https://schema.org/Service">
            <span itemprop="name">House light cleaning up to 2 bedrooms</span>
          </div>
        </li>
        <li itemprop="itemListElement" itemscope itemtype="https://schema.org/Offer">
          <div itemprop="itemOffered" itemscope itemtype="https://schema.org/Service">
            <span itemprop="name">House light cleaning 3+ bedrooms</span>
          </div>
        </li>
      </ul>
    <li itemprop="itemListElement" itemscope itemtype="https://schema.org/OfferCatalog">
      <span itemprop="name">One-time services</span>
      <ul itemprop="itemListElement" itemscope itemtype="https://schema.org/OfferCatalog">
        <li itemprop="itemListElement" itemscope itemtype="https://schema.org/Offer">
          <div itemprop="itemOffered" itemscope itemtype="https://schema.org/Service">
            <span itemprop="name">Window washing</span>
          </div>
        </li>
        <li itemprop="itemListElement" itemscope itemtype="https://schema.org/Offer">
          <div itemprop="itemOffered" itemscope itemtype="https://schema.org/Service">
            <span itemprop="name">Carpet deep cleaning</span>
          </div>
        </li>
        <li itemprop="itemListElement" itemscope itemtype="https://schema.org/Offer">
          <div itemprop="itemOffered" itemscope itemtype="https://schema.org/Service">
            <span itemprop="name">Move in/out cleaning</span>
          </div>
        </li>
      </ul>
    </li>
  </ul>
</div>

Example encoded as [RDFa](https://en.wikipedia.org/wiki/RDFa) embedded in HTML.

<div vocab="https://schema.org/" typeof="Service">
  <meta property="serviceType" content="Home cleaning" />
  <span property="provider" typeof="LocalBusiness">
    <span property="name">ACME Home Cleaning</span>
  </span>
  offers a variety of services in
  <span property="areaServed" typeof="State">
    <span property="name">Massachusetts</span>, including
  </span>
  <ul property="hasOfferCatalog" typeof="OfferCatalog">
    <li property="itemListElement" typeof="OfferCatalog">
      <span property="name">House cleaning</span>
      <ul property="itemListElement" typeof="OfferCatalog">
        <li property="itemListElement" typeof="Offer">
          <div property="itemOffered" typeof="Service">
            <span property="name">Apartment light cleaning</span>
          </div>
        </li>
        <li property="itemListElement" typeof="Offer">
          <div property="itemOffered" typeof="Service">
            <span property="name">House light cleaning up to 2 bedrooms</span>
          </div>
        </li>
        <li property="itemListElement" typeof="Offer">
          <div property="itemOffered" typeof="Service">
            <span property="name">House light cleaning 3+ bedrooms</span>
          </div>
        </li>
      </ul>
    <li property="itemListElement" typeof="OfferCatalog">
      <span property="name">One-time services</span>
      <ul property="itemListElement" typeof="OfferCatalog">
        <li property="itemListElement" typeof="Offer">
          <div property="itemOffered" typeof="Service">
            <span property="name">Window washing</span>
          </div>
        </li>
        <li property="itemListElement" typeof="Offer">
          <div property="itemOffered" typeof="Service">
            <span property="name">Carpet deep cleaning</span>
          </div>
        </li>
        <li property="itemListElement" typeof="Offer">
          <div property="itemOffered" typeof="Service">
            <span property="name">Move in/out cleaning</span>
          </div>
        </li>
      </ul>
    </li>
  </ul>
</div>

Example encoded as [JSON-LD](https://en.wikipedia.org/wiki/JSON-LD) in a HTML script tag.

<script type="application/ld+json">
{
  "@context": "https://schema.org/",
  "@type": "Service",
  "serviceType": "Weekly home cleaning",
  "provider": {
    "@type": "LocalBusiness",
    "name": "ACME Home Cleaning"
  },
  "areaServed": {
    "@type": "State",
    "name": "Massachusetts"
  },
  "hasOfferCatalog": {
    "@type": "OfferCatalog",
    "name": "Cleaning services",
    "itemListElement": \[
      {
        "@type": "OfferCatalog",
        "name": "House Cleaning",
        "itemListElement": \[
          {
            "@type": "Offer",
            "itemOffered": {
              "@type": "Service",
              "name": "Apartment light cleaning"
            }
          },
          {
            "@type": "Offer",
            "itemOffered": {
              "@type": "Service",
              "name": "House light cleaning up to 2 bedrooms"
            }
          },
          {
            "@type": "Offer",
            "itemOffered": {
              "@type": "Service",
              "name": "House light cleaning 3+ bedrooms"
            }
          }
        \]
      },
      {
        "@type": "OfferCatalog",
        "name": "One-time services",
        "itemListElement": \[
          {
            "@type": "Offer",
            "itemOffered": {
              "@type": "Service",
              "name": "Window washing"
            }
          },
          {
            "@type": "Offer",
            "itemOffered": {
              "@type": "Service",
              "name": "Carpet cleaning"
            }
          },
          {
            "@type": "Offer",
            "itemOffered": {
              "@type": "Service",
              "name": "Move in/out cleaning"
            }
          }
        \]
      }
    \]
  }
}
</script>

Structured representation of the JSON-LD example.