Skip to content

@type: Store · LocalBusiness

Retail store schema generator

For a shop, the local questions are simple: where are you, are you open now, and do you take my card? Store schema answers all three in structured data, which feeds “open now” filters and AI shopping assistants.

Free · no account needed · validated against Google's LocalBusiness guidelines

Example · Fieldwork Supply Co.
<script type="application/ld+json">{  "@context": "https://schema.org",  "@type": "Store",  "@id": "https://fieldworksupply.example/#localbusiness",  "name": "Fieldwork Supply Co.",  "description": "Independent outdoor and camping store in Portland's Pearl District: packs, tents, repairs and rentals.",  "url": "https://fieldworksupply.example",  "logo": "https://fieldworksupply.example/logo.png",  "image": "https://fieldworksupply.example/img/store-16x9.jpg",  "telephone": "+1 503-555-0166",  "email": "shop@fieldworksupply.example",  "priceRange": "$$",  "currenciesAccepted": "USD",  "paymentAccepted": "Credit Card, Debit Card, Cash, Apple Pay",  "address": {    "@type": "PostalAddress",    "streetAddress": "1022 NW Glisan St",    "addressLocality": "Portland",    "addressRegion": "OR",    "postalCode": "97209",    "addressCountry": "US"  },  "geo": {    "@type": "GeoCoordinates",    "latitude": 45.52641,    "longitude": -122.68132  },  "openingHoursSpecification": [    {      "@type": "OpeningHoursSpecification",      "dayOfWeek": [        "Monday",        "Tuesday",        "Wednesday",        "Thursday",        "Friday"      ],      "opens": "10:00",      "closes": "19:00"    },    {      "@type": "OpeningHoursSpecification",      "dayOfWeek": "Saturday",      "opens": "09:00",      "closes": "19:00"    },    {      "@type": "OpeningHoursSpecification",      "dayOfWeek": "Sunday",      "opens": "11:00",      "closes": "17:00"    }  ],  "specialOpeningHoursSpecification": [    {      "@type": "OpeningHoursSpecification",      "name": "Thanksgiving",      "validFrom": "2026-11-26",      "validThrough": "2026-11-26",      "opens": "00:00",      "closes": "00:00"    },    {      "@type": "OpeningHoursSpecification",      "name": "Black Friday",      "validFrom": "2026-11-27",      "validThrough": "2026-11-27",      "opens": "08:00",      "closes": "21:00"    }  ],  "hasOfferCatalog": {    "@type": "OfferCatalog",    "name": "In-store services",    "itemListElement": [      {        "@type": "Offer",        "itemOffered": {          "@type": "Service",          "name": "Gear rental",          "description": "Tents, packs and stoves by the day."        },        "priceSpecification": {          "@type": "PriceSpecification",          "minPrice": "15.00",          "priceCurrency": "USD"        }      },      {        "@type": "Offer",        "itemOffered": {          "@type": "Service",          "name": "Tent repair",          "description": "Pole, zip and seam repairs in about a week."        },        "priceSpecification": {          "@type": "PriceSpecification",          "minPrice": "25.00",          "priceCurrency": "USD"        }      }    ]  },  "sameAs": [    "https://maps.app.goo.gl/fieldworksupply-example",    "https://www.instagram.com/fieldworksupplyco"  ]}</script>
Validator score 100/100 · 0 errors

Generate your retail store schema

Fill in your details — the JSON-LD, validator and search preview update as you type. Free, no account.

Full builder

Step 1 of 7

Business

Business type

Pick the most specific schema.org subtype. It's the strongest relevance signal you can send.

Identity

Use the name exactly as it appears on your storefront and Google Business Profile.

Missing business name

0/750

Website & media

Missing website URL

Square, at least 112×112px, on a plain background.

No images

Free schema checker

Validate existing retail store markup

Already have retail store markup? Paste it to see its score, rich result eligibility and exactly what to fix.

Properties that matter for retail stores

@type: StoreThe schema.org parent for shops — use a subtype like BookStore or HardwareStore when one fits.
openingHoursSpecificationShopping hours, late-night openings and Sunday trading per day.
specialOpeningHoursSpecificationHoliday closures and extended December hours.
paymentAcceptedCash, card, contactless — removes a reason not to visit.
name + addressRequired by Google for every LocalBusiness — and must match your Business Profile exactly.

Best practices

  • Keep store markup about the location; mark up products on product pages with Product schema.
  • Add holiday hours weeks in advance — Google shows them in the knowledge panel.
  • Multi-branch retailers: one page and one markup block per branch.

FAQ

What the validator checks

  • Required name and full postal address
  • Phone format and international prefix
  • Overlapping or invalid split hours
  • Coordinates with 5+ decimal precision
  • Expired holiday exceptions
  • Keyword-stuffed business names
  • Self-serving review markup
  • Most specific schema.org subtype

For agencies

Managing several retail stores?

Host the schema for up to 25 client locations and update hours across every site from one dashboard.

See Pro