How can shipping markup describe a seasonal exception?

The Citead team, updated

In short. Use seasonalOverride inside ShippingConditions with at least one ISO 8601 boundary date.

Definition: A seasonal shipping exception is a limited validity period attached to a ShippingConditions object. Google documents seasonalOverride as an OpeningHoursSpecification with validFrom and validThrough date properties.

Key facts

  • Google's ShippingService documentation places a standard business shipping policy under Organization through hasShippingService.
  • seasonalOverride is an OpeningHoursSpecification property for specifying the limited period during which a ShippingConditions object is valid.
  • Google describes seasonal overrides as a way to represent when a shipping condition is valid, including seasonal holidays.
  • At least one of validFrom and validThrough must be provided for the seasonal override.
  • validFrom is the first valid date and validThrough is the last valid date, both in ISO 8601 format.
  • Schema.org's ShippingConditions definition says that all specified conditions must be met for the shipping condition to apply.

Where does the seasonal exception sit?

Google models a standard shipping policy as an Organization with a hasShippingService property. The value is a ShippingService, whose shippingConditions property holds the conditions for a particular set of shipping rules. The seasonal window belongs inside one of those ShippingConditions objects as seasonalOverride.

Schema.org describes ShippingConditions as constraints and shipping information that can apply to only a subset of products, depending on characteristics such as weight, size, price, and destination. Its definition requires every specified condition to be met before that object applies.

"shippingConditions": [
  {
    "@type": "ShippingConditions",
    "seasonalOverride": {
      "@type": "OpeningHoursSpecification",
      "validFrom": "YYYY-MM-DD",
      "validThrough": "YYYY-MM-DD"
    }
  }
]

What do validFrom and validThrough mean?

Google says the OpeningHoursSpecification type represents when the condition is valid, for example because of seasonal holidays. At least one boundary is required, so a seasonal override can contain validFrom, validThrough, or both.

validFrom records the first date when the shipping condition is valid. validThrough records the last date when it is valid. Google specifies ISO 8601 format for both properties. The page does not document how an omitted boundary or overlapping seasonal windows are resolved.

The date values belong to the override, while the shipping charge or delivery details remain on the surrounding ShippingConditions object. Schema.org lists seasonalOverride as an OpeningHoursSpecification and describes it as the limited period during which the shipping conditions apply.

How can the markup be checked?

Google recommends validating the code with the Rich Results Test, then using the URL Inspection tool on pages that contain the structured data to test how Google sees them. The page must be accessible to Google and cannot be blocked by a robots.txt file, the noindex tag, or login requirements.

The documentation also recommends placing the shipping policy information on a single page describing the business's shipping policy. It states that ShippingService does not need to appear on every page and should be placed under Organization.

FAQ

Does a seasonal override require both dates?

No. Google's documentation requires at least one of validFrom and validThrough, and describes them as the first and last valid dates.

Which type carries the seasonal dates?

seasonalOverride carries an OpeningHoursSpecification value inside a ShippingConditions object. The object is held by the shippingConditions property of a ShippingService.

What date format should be used?

Google specifies ISO 8601 format for validFrom and validThrough. The two properties identify the first and last dates on which the shipping condition is valid.

Sources

  1. Google Search Central, "Merchant shipping policy (ShippingService) structured data", 2026-09-08
  2. Schema.org, "ShippingConditions", 2026-09-16

Check how a page reads to answer engines. Open the GEO score analyzer

Test a page and see what to fix first

The analysis usually takes less than 10 seconds and needs no account.

400,000+ pages scored in the public benchmark