# community.cheese.type

> Published by [cheese.community](https://lexicon.garden/identity/did:plc:f3tw75yxxq7uocckmtwhc6x5)

✓ This is the authoritative definition for this NSID.

## Description

A canonical cheese type record

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:f3tw75yxxq7uocckmtwhc6x5/community.cheese.type)
- [Documentation](https://lexicon.garden/lexicon/did:plc:f3tw75yxxq7uocckmtwhc6x5/community.cheese.type/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:f3tw75yxxq7uocckmtwhc6x5/community.cheese.type/examples)

## Definitions

### `community.cheese.type`

**Type**: `record`

A canonical cheese type record

**Key**: `tid`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `aka` | `array` | No | Also-known-as names for the cheese |
| `link` | `string` (uri) | No | Optional reference link about the cheese |
| `milk` | `string` | No | Milk source (e.g., cow, goat, sheep, buffalo, mixed) |
| `name` | `string` | Yes | Name of the cheese |
| `rind` | `string` | No | Rind type (e.g., washed, bloomy, natural) |
| `photo` | `blob` | No | A photo of the cheese |
| `origin` | `ref` → `#origin` | No | Geographic and producer origin of the cheese |
| `source` | `ref` → `#source` | No | Where the canonical type information was sourced from |
| `texture` | `string` | No | Texture classification |
| `seasonal` | `boolean` | No | Whether the cheese has restricted seasonal availability |
| `agedWeeks` | `integer` | No | Typical aging time in weeks |
| `createdAt` | `string` (datetime) | Yes | Timestamp when the type record was created |
| `description` | `string` | No | General description of the cheese |
| `pasteurized` | `boolean` | No | Whether the cheese is made from pasteurized milk |
| `tastingNotes` | `string` | No | Tasting notes and flavor profile |
| `availableMonths` | `array` | No | Months the cheese is available (1-12) if seasonal |
| `servingTempCelsius` | `ref` → `#temperatureRange` | No | Recommended serving temperature range in Celsius |

### `community.cheese.type#origin`

**Type**: `object`

Geographic and producer origin of a cheese

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `region` | `string` | No |  |
| `country` | `string` | No |  |
| `producer` | `string` | No |  |

### `community.cheese.type#source`

**Type**: `object`

Source information for a canonical cheese type

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `uri` | `string` (uri) | Yes | URI of the source (e.g., Wikipedia page) |
| `notes` | `string` | No | Notes about the source |

### `community.cheese.type#temperatureRange`

**Type**: `object`

A numeric range

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `max` | `integer` | Yes | Maximum value |
| `min` | `integer` | Yes | Minimum value |

## Raw Schema

```json
{
  "id": "community.cheese.type",
  "defs": {
    "main": {
      "key": "tid",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "name",
          "createdAt"
        ],
        "properties": {
          "aka": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 200
            },
            "maxLength": 20,
            "description": "Also-known-as names for the cheese"
          },
          "link": {
            "type": "string",
            "format": "uri",
            "maxLength": 500,
            "description": "Optional reference link about the cheese"
          },
          "milk": {
            "type": "string",
            "maxLength": 100,
            "description": "Milk source (e.g., cow, goat, sheep, buffalo, mixed)"
          },
          "name": {
            "type": "string",
            "maxLength": 200,
            "description": "Name of the cheese"
          },
          "rind": {
            "type": "string",
            "maxLength": 100,
            "description": "Rind type (e.g., washed, bloomy, natural)"
          },
          "photo": {
            "type": "blob",
            "accept": [
              "image/*"
            ],
            "maxSize": 10000000,
            "description": "A photo of the cheese"
          },
          "origin": {
            "ref": "#origin",
            "type": "ref",
            "description": "Geographic and producer origin of the cheese"
          },
          "source": {
            "ref": "#source",
            "type": "ref",
            "description": "Where the canonical type information was sourced from"
          },
          "texture": {
            "type": "string",
            "maxLength": 50,
            "description": "Texture classification",
            "knownValues": [
              "soft",
              "semi-soft",
              "semi-hard",
              "hard",
              "blue"
            ]
          },
          "seasonal": {
            "type": "boolean",
            "description": "Whether the cheese has restricted seasonal availability"
          },
          "agedWeeks": {
            "type": "integer",
            "minimum": 0,
            "description": "Typical aging time in weeks"
          },
          "createdAt": {
            "type": "string",
            "format": "datetime",
            "description": "Timestamp when the type record was created"
          },
          "description": {
            "type": "string",
            "maxLength": 5000,
            "description": "General description of the cheese"
          },
          "pasteurized": {
            "type": "boolean",
            "description": "Whether the cheese is made from pasteurized milk"
          },
          "tastingNotes": {
            "type": "string",
            "maxLength": 2000,
            "description": "Tasting notes and flavor profile"
          },
          "availableMonths": {
            "type": "array",
            "items": {
              "type": "integer",
              "maximum": 12,
              "minimum": 1
            },
            "maxLength": 12,
            "description": "Months the cheese is available (1-12) if seasonal"
          },
          "servingTempCelsius": {
            "ref": "#temperatureRange",
            "type": "ref",
            "description": "Recommended serving temperature range in Celsius"
          }
        }
      },
      "description": "A canonical cheese type record"
    },
    "origin": {
      "type": "object",
      "properties": {
        "region": {
          "type": "string",
          "maxLength": 100
        },
        "country": {
          "type": "string",
          "maxLength": 100
        },
        "producer": {
          "type": "string",
          "maxLength": 200
        }
      },
      "description": "Geographic and producer origin of a cheese"
    },
    "source": {
      "type": "object",
      "required": [
        "uri"
      ],
      "properties": {
        "uri": {
          "type": "string",
          "format": "uri",
          "maxLength": 500,
          "description": "URI of the source (e.g., Wikipedia page)"
        },
        "notes": {
          "type": "string",
          "maxLength": 1000,
          "description": "Notes about the source"
        }
      },
      "description": "Source information for a canonical cheese type"
    },
    "temperatureRange": {
      "type": "object",
      "required": [
        "min",
        "max"
      ],
      "properties": {
        "max": {
          "type": "integer",
          "description": "Maximum value"
        },
        "min": {
          "type": "integer",
          "description": "Minimum value"
        }
      },
      "description": "A numeric range"
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1,
  "description": "A canonical cheese type record"
}
```
