> ## Documentation Index
> Fetch the complete documentation index at: https://docs.heychocolate.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Product

> The Product type represents an item with sustainability data, supporting multiple sectors.

## Product type

```graphql theme={null}
type Product {
  id: ID!
  name: String!
  description: String
  sku: String
  sectorTag: SectorTag!
  materialComposition: [MaterialComponent!]!
  impactScore: ImpactScore
  epd: Epd
  dpp: DigitalProductPassport
  supplyChain: SupplyChain
  certifications: [String!]!
  sectorMetadata: JSON
  images: [String!]!
  createdAt: DateTime!
  updatedAt: DateTime!
}

type ImpactScore {
  co2Equivalent: Float!
  mkiScore: Float
  waterFootprint: Float
  energyUse: Float
  unit: String!
  calculatedAt: DateTime!
  equivalencies: [Equivalency!]!
  breakdown: [ImpactBreakdown!]!
}

type ImpactBreakdown {
  phase: LifecyclePhase!
  contribution: Float!
  percentage: Float!
}

type MaterialComponent {
  name: String!
  percentage: Float!
  recycledContent: Float
  origin: String
  isBioBased: Boolean!
}

type Equivalency {
  category: EquivalencyCategory!
  description: String!
  value: String!
  icon: String!
  locale: String!
}

enum SectorTag {
  AGRI
  FOOD
  HIGHTECH_MANUFACTURING
  GREEN_CHEMISTRY
  TRADE
}

enum LifecyclePhase {
  RAW_MATERIALS
  MANUFACTURING
  TRANSPORT
  USE_PHASE
  END_OF_LIFE
}

enum EquivalencyCategory {
  TRANSPORT
  HOUSEHOLD
  NATURE
  FOOD
  ENERGY
  TIME
}
```

## Fields

| Field                 | Type                   | Description                              |
| --------------------- | ---------------------- | ---------------------------------------- |
| `id`                  | ID!                    | Unique product identifier                |
| `name`                | String!                | Product name                             |
| `sectorTag`           | SectorTag!             | Industry sector classification           |
| `materialComposition` | \[MaterialComponent!]! | Material breakdown                       |
| `impactScore`         | ImpactScore            | Calculated sustainability scores         |
| `epd`                 | Epd                    | Linked Environmental Product Declaration |
| `dpp`                 | DigitalProductPassport | Linked Digital Product Passport          |
| `supplyChain`         | SupplyChain            | Supply chain graph                       |
| `certifications`      | \[String!]!            | Environmental certifications             |
| `sectorMetadata`      | JSON                   | Sector-specific fields (flexible schema) |

## Sector metadata

The `sectorMetadata` field contains sector-specific data as a flexible JSON object:

**Agri:**

```json theme={null}
{ "soilUsage": "organic", "waterConsumption": 1200, "fertilizerType": "natural", "cropYield": 4500 }
```

**Food:**

```json theme={null}
{ "ingredientOrigins": ["NL", "BE"], "packagingType": "recyclable", "foodMiles": 350, "organicCertified": true }
```

**Hightech Manufacturing:**

```json theme={null}
{ "rareEarthMetals": ["neodymium"], "energyClass": "A++", "repairabilityScore": 8, "eWasteCategory": "WEEE" }
```

**Green Chemistry:**

```json theme={null}
{ "bioBasedPercentage": 85, "chemicalSafetyProfile": "non-toxic", "circularityIndex": 0.72 }
```

**Trade:**

```json theme={null}
{ "transportModes": ["SHIP", "TRUCK"], "warehouseEmissions": 2.1, "lastMileMethod": "electric" }
```

## Example query

```graphql theme={null}
query {
  product(id: "prod_abc123") {
    id
    name
    sectorTag
    materialComposition {
      name
      percentage
      isBioBased
    }
    impactScore {
      co2Equivalent
      mkiScore
      equivalencies {
        description
        value
        icon
      }
      breakdown {
        phase
        contribution
        percentage
      }
    }
    sectorMetadata
  }
}
```
