# AI Product Passport Schema

Companion to **The AI Product Passport: What Information Does an AI Shopping Agent Need?**

The **PIM output contract** for all consumers is [`ai-ready-catalog-contract.md`](ai-ready-catalog-contract.md). This passport is the **shopping-agent information object** — what a comparison/recommendation turn is allowed to read.

Fragmented product data produces poor AI recommendations.

```text
Product
├── Attributes
├── Variants
├── Price
├── Inventory
├── Compatibility
├── Reviews (aggregated, policy-safe)
├── Shipping
└── Policies (return, warranty) by reference
```

## Minimum fields

| Group | Fields | If missing |
| ----- | ------ | ---------- |
| Identity | `sku`, `parent_id`, `gtin` | Fail closed |
| Attributes | Required per category | No comparison |
| Variants | Size/color graph | Wrong size sold |
| Price | Amount, currency, `asOf`, fees known | Hallucinated total |
| Inventory | ATP, `asOf` | Oversell |
| Compatibility | Named relations | Bad attach |
| Reviews | Count + themes from **your** pipeline | Invented quotes |
| Shipping | Method ids, not prose | Wrong ETA |
| Policies | Policy document version | Drift |

Do not auto-publish passport fields. Draft in PIM; merchandiser publishes.

## Related

- Catalog contract: [`ai-ready-catalog-contract.md`](ai-ready-catalog-contract.md)
- Comparison audit: [`ai-comparison-audit-framework.md`](ai-comparison-audit-framework.md)
- GEO packaging: [`geo-product-information-checklist.md`](geo-product-information-checklist.md)
