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
nameStringYes—Offer name
descriptionStringNo—Offer description
priceString | NumberYes—Price value
priceCurrencyStringNo"USD"ISO 4217 currency code
availabilityStringNo"InStock"InStock, OutOfStock, PreOrder, etc.
urlStringNo—Offer URL
sellerOrganizationNo—Seller Organization object
validFromStringNo—ISO 8601 offer start date
validThroughStringNo—ISO 8601 offer end date
priceValidUntilStringNo—ISO 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