Schemas / Commerce

rig.commerce.product

v1.0.0 · stable maturity: draft 3 fields 0 required

Fields

FieldTypeMeaning
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"
}

Seen in

record-shop.json