Schemas / Commerce
rig.commerce.product
v1.0.0 · stable maturity: draft 3 fields 0 required
Fields
| Field | Type | Meaning | |
|---|---|---|---|
gtin |
string | optional | Optional. GTIN digits only (8, 12, 13, or 14) |
brand |
entity | optional | Optional. Organisation that brands it |
parent |
entity | optional | Optional. Product this variant belongs to |
A sellable item. Format when present.
Field meanings follow GS1 GTIN and schema.org Product. This schema is the item - not an offer, not stock, and not a checkout.
All fields optional. A product with only a name is still a product - the name is rig.meta.named. An empty component is valid: presence means this entity is a product.
A variant sets parent. Do not invent a second product id. The importer strips GTIN hyphens and spaces. Do not store a GTIN-13 that is an ISBN under a second key - that ISBN stays on rig.book.identifier.
An offer of this product is rig.commerce.offer item. Stock at a place is rig.commerce.stock.
JSON Schema
Resolves at https://rig.works/schemas/rig.commerce.product.schema.json —
raw file.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://rig.works/schemas/rig.commerce.product.schema.json",
"title": "rig.commerce.product",
"type": "object",
"additionalProperties": false,
"properties": {
"gtin": {
"type": "string",
"pattern": "^[0-9]{8}$|^[0-9]{12,14}$",
"description": "GS1 GTIN digits only (8, 12, 13, or 14)."
},
"brand": {
"$ref": "./_defs.schema.json#/$defs/entity"
},
"parent": {
"$ref": "./_defs.schema.json#/$defs/entity"
}
},
"description": "A sellable item. Field meanings follow GS1 GTIN and schema.org Product. Name is rig.meta.named. A variant sets parent.",
"x-rig-maturity": "draft"
}