Open Jewelry Schema (OJS)
A free, vendor-neutral data schema for jewelry products: one structured record that AI shopping agents and commerce platforms can both read. Schema version 1.0.
What it describes
One jewelry product as one record. Four modules are on every product: identity, commerce, media and audit. Five more are required when the product type calls for them: pearls, watch, smart, body and estate. Optional modules cover metals, stones, setting, sizing, style, certification, sustainability, care, relationships, reviews, legal terms, artisan work and religious pieces, and ai_commerce carries signals for AI agents. Each module has its own reference page in docs/domains/.
What it adds over Schema.org, GS1 and Google Merchant Center
The jewelry attributes those standards miss: stone treatments and origin, ring sizes in regional systems from ISO 8653 to US, UK, German, Japanese and Italian sizes, watch movements, pearl grading on the CIBJO seven-factor system, implant-grade materials for body jewelry, hallmarks, and placement data for AR try-on. Each is a field of a module in src/python/ojs/models/. Controlled vocabularies for metals, gems, treatments, hallmarks, eras, settings, pearls and styles are in spec/v1/codelists/.
Formats and tools
spec/v1/ojs-strict.json: the JSON Schema (Draft 2020-12), 108 definitions.spec/v1/context.jsonld: a JSON-LD context that maps the fields to Schema.org.src/python/ojs/: the reference implementation in Python (Pydantic v2), from which the JSON Schema is generated.src/python/ojs/transformers/: seven mappers, to Schema.org JSON-LD, Google Merchant Center, ACP, UCP, Perplexity's merchant feed, Shopify metafields and MCP resources.tools/validate-node/: a command-line validator that checks a file against the strict schema.examples/: five complete records, an engagement ring, a pearl necklace, a vintage watch, a smart ring and a body piercing.docs/integrations/: guides for Shopify and WooCommerce stores.
Licenses
The vocabulary, the schema files, the JSON-LD context, the codelists and the documentation in docs/ are dedicated to the public domain under CC0 1.0. The Python reference implementation, its tests and the examples are under the Apache License 2.0. The "OJS" and "Open Jewelry Schema" names and logos remain trademarks of Arbling Inc. The repository's NOTICE file sets out the scope of each license.
Governance and status
Arbling Inc. maintains OJS today. GOVERNANCE.md sets out a steering committee of five seats and its quorum, a public comment period of at least 14 days for new or deprecated fields, and contributions under the DCO instead of a CLA; the seats and their status are listed there. The schema is at version 1.0. Its latest release, v1.0.3 of October 5, 2026, made the prices and ring sizes in the contributed examples fictional, without changing the schema, as CHANGELOG.md records.
How Arbling uses OJS
Arbling is the founding maintainer of OJS. Its product checks a product record against OJS's required core (identity, price and availability, media), and keeps the facts it verifies and publishes, for jewelry and eight other categories, in its own Open Catalog Schema.
