> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://channel3.ferndocs.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://channel3.ferndocs.com/_mcp/server.

# Product Model

Every product returned by the Channel3 API follows a consistent data model. This guide explains the key fields and how to use them.

## Product

A `Product` represents a canonical product in the Channel3 catalog. Key fields include:

| Field         | Type   | Description                              |
| ------------- | ------ | ---------------------------------------- |
| `id`          | string | Unique product identifier                |
| `name`        | string | Product name                             |
| `description` | string | Product description                      |
| `brand`       | object | Brand information (`id`, `name`)         |
| `category`    | object | Category information (`slug`, `name`)    |
| `images`      | array  | Product images                           |
| `offers`      | array  | Purchase offers from different retailers |
| `variants`    | array  | Product variants (sizes, colors, etc.)   |

## Offers

Each product may have multiple `offers` from different retailers:

| Field          | Type   | Description                                       |
| -------------- | ------ | ------------------------------------------------- |
| `price`        | object | Current price (`amount`, `currency`)              |
| `availability` | string | `InStock`, `OutOfStock`, or `LimitedAvailability` |
| `url`          | string | Purchase URL (short-lived — always fetch fresh)   |
| `website_id`   | string | Retailer website identifier                       |

## Images

Product images include quality and type metadata:

| Field     | Type   | Description                              |
| --------- | ------ | ---------------------------------------- |
| `url`     | string | Image URL                                |
| `type`    | string | Image type (e.g. `product`, `lifestyle`) |
| `quality` | string | Image quality rating                     |

## Variants

Products can have variants for different sizes, colors, and other options:

| Field              | Type  | Description                            |
| ------------------ | ----- | -------------------------------------- |
| `options`          | array | Available variant options              |
| `selected_options` | array | Currently selected variant combination |

## Related

* [Caching Best Practices](/guides/caching) — How to cache product data effectively
* [API Reference](/api-reference) — Full endpoint and schema documentation