ShippingDeliveryTime
ShippingDeliveryTime is the delivery-estimate node nested under an OfferShippingDetails.deliveryTime. Google reads it to render the "Arrives by …" badge in merchant listing rich results.
Full example of schema.org/ShippingDeliveryTime json-ld markup
The markup is verified as valid with Rich Results Test from Google.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "ShippingDeliveryTime",
"handlingTime": {
"@type": "QuantitativeValue",
"minValue": 0,
"maxValue": 1,
"unitCode": "DAY"
},
"transitTime": {
"@type": "QuantitativeValue",
"minValue": 2,
"maxValue": 4,
"unitCode": "DAY"
},
"cutoffTime": "14:00-05:00",
"businessDays": {
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]
}
}
</script>Direct properties (4)
handlingTime: time from order to dispatch, as a QuantitativeValue withminValue,maxValue, and aunitCodeofDAYorHUR.transitTime: time from dispatch to delivery, same QuantitativeValue shape.cutoffTime: the daily deadline for same-day handling, as an ISO 8601 time with offset (14:00-05:00).businessDays: the DayOfWeek set during which the merchant dispatches, commonly written as an OpeningHoursSpecification block.
How Google computes the window
Delivery window = (handlingTime.minValue + transitTime.minValue) to (handlingTime.maxValue + transitTime.maxValue) business days, starting from the order time if before cutoffTime, otherwise from the next business day. Always include both endpoints; a single value collapses the window to "arrives on day N" which is rarely true.
Minimal valid version
The smallest markup that still produces a valid ShippingDeliveryTime entity. Use it as the floor. Reach for the advanced example above when you want search engines and AI agents to understand more about your content.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "ShippingDeliveryTime",
"handlingTime": { "@type": "QuantitativeValue", "minValue": 0, "maxValue": 1, "unitCode": "DAY" },
"transitTime": { "@type": "QuantitativeValue", "minValue": 2, "maxValue": 4, "unitCode": "DAY" }
}
</script>Google rich results this unlocks
Markup matching this example makes your page eligible for the following Google Search rich results. The primary target drives the required / recommended property classification in the advanced code block above.
- Google docsMerchant listing delivery estimateprimary
Common ShippingDeliveryTime mistakes
Mistakes that pass validation but silently fail to earn rich results or mislead consumers walking the graph. Avoid these and your markup will be ahead of most sites in the wild.
- 01
cutoffTime without timezone offset
Wrong"cutoffTime": "14:00"Right"cutoffTime": "14:00-05:00"Google needs the offset to rebase cutoff against a buyer's local time; bare times are ambiguous.
- 02
handlingTime as a Duration string
Wrong"handlingTime": "P1D"RightQuantitativeValue with minValue, maxValue, unitCode: "DAY"Google reads the QuantitativeValue shape, not ISO 8601 durations, for the handling / transit split.
- 03
businessDays as a single string
Wrong"businessDays": "Monday-Friday"RightOpeningHoursSpecification with dayOfWeek: ["Monday", … "Friday"]The enum takes individual day values, not a range string.
Schema properties in this example
Also mentioned in 3 other examples
ShippingDeliveryTime also appears in DietarySupplement, Offer, and OfferShippingDetails. See the full ShippingDeliveryTime schema page for every reference.
About the example data
Dunmore XooTee warehouse: 0–1 day handling, 2–4 day US transit, 2pm ET weekday cutoff, no weekend dispatch.
Comments
Loading comments...