X Enterprises
nuxt-x-schema

Offer

Schema.org Offer JSON-LD component for pricing and product availability structured data.

Offer

The XSchemaOffer component injects a <script type="application/ld+json"> tag for offer/pricing structured data. No visible output — SEO only.

Components

<XSchemaOffer />

Use on pages for products, plans, or services with a price. Can also be embedded within Product or Service schemas as a nested object.

<XSchemaOffer
  name="Premium Plan"
  :price="49.99"
  price-currency="USD"
  availability="InStock"
  url="https://example.com/premium"
/>

Props

PropTypeRequiredDefaultDescription
nameStringYesOffer name
descriptionStringNoOffer description
priceString | NumberYesPrice value
priceCurrencyStringNo"USD"ISO 4217 currency code
availabilityStringNo"InStock"InStock, OutOfStock, PreOrder, etc.
urlStringNoOffer URL
sellerOrganizationNoSeller Organization object
validFromStringNoISO 8601 offer start date
validThroughStringNoISO 8601 offer end date
priceValidUntilStringNoISO 8601 price expiry date
itemConditionStringNo"NewCondition"NewCondition, UsedCondition, RefurbishedCondition

AI Context

component: XSchemaOffer
package: "@xenterprises/nuxt-x-schema"
output: JSON-LD script tag in <head>
use-when: Adding Offer structured data for products, plans, or services with pricing
place: In page-level components (pages/ or layouts/), NOT in shared headers
notes:
  - Renderless component — no visible DOM output; purely SEO metadata
  - Injects JSON-LD server-side via useHead — SSR-safe, visible to crawlers on first paint
  - priceCurrency defaults to USD; use ISO 4217 codes for other currencies
Copyright © 2026