# world.treeline.gear.item

> Published by [treeline.world](https://lexicon.garden/identity/did:plc:sjejpugpajgvxweilujzjcmq)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:sjejpugpajgvxweilujzjcmq/world.treeline.gear.item)
- [Documentation](https://lexicon.garden/lexicon/did:plc:sjejpugpajgvxweilujzjcmq/world.treeline.gear.item/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:sjejpugpajgvxweilujzjcmq/world.treeline.gear.item/examples)

## Definitions

### `world.treeline.gear.item#gearComponent`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `currentDistanceMeters` | `integer` | No | Cumulative distance logged on this component. |
| `installedDate` | `string` (datetime) | No | Date when component was installed. |
| `maxDistanceMeters` | `integer` | No | Component service limit in meters. |
| `name` | `string` | Yes | Component name (e.g. Chain, Cassette, Brake Pads). |

### `world.treeline.gear.item`

**Type**: `record`

An outdoor sports equipment item and mileage/maintenance tracker.

**Key**: `tid`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `brand` | `string` | No | Manufacturer brand name. |
| `createdAt` | `string` (datetime) | No | Timestamp when this gear record was created. |
| `currentDistanceMeters` | `integer` | No | Cumulative distance logged on Treeline activities. |
| `initialDistanceMeters` | `integer` | No | Prior distance logged on the item before tracking on Treeline. |
| `maxDistanceMeters` | `integer` | No | Recommended service life or replacement threshold in meters. |
| `model` | `string` | No | Product model identifier. |
| `name` | `string` | Yes | Athlete nickname for the gear item (e.g. Santa Cruz Hightower, Speedgoat 5). |
| `notes` | `string` | No | Maintenance notes, shock tuning, tire pressures, or repairs. |
| `primaryCategory` | `string` | Yes | Broad category of outdoor gear. |
| `purchaseDate` | `string` (datetime) | No | Date when the item was acquired. |
| `retired` | `boolean` | No | Whether the gear item has been decommissioned. |
| `subCategory` | `string` | No | Specific discipline classification (e.g. gravel_bike, trail_running_shoes). |
| `subComponents` | `array` | No | Tracked wearable components attached to this item. |

## Raw Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "gearComponent": {
      "properties": {
        "currentDistanceMeters": {
          "default": 0,
          "description": "Cumulative distance logged on this component.",
          "minimum": 0,
          "type": "integer"
        },
        "installedDate": {
          "description": "Date when component was installed.",
          "format": "datetime",
          "type": "string"
        },
        "maxDistanceMeters": {
          "description": "Component service limit in meters.",
          "minimum": 0,
          "type": "integer"
        },
        "name": {
          "description": "Component name (e.g. Chain, Cassette, Brake Pads).",
          "maxLength": 100,
          "type": "string"
        }
      },
      "required": [
        "name"
      ],
      "type": "object"
    },
    "main": {
      "description": "An outdoor sports equipment item and mileage/maintenance tracker.",
      "key": "tid",
      "record": {
        "properties": {
          "brand": {
            "description": "Manufacturer brand name.",
            "maxLength": 100,
            "type": "string"
          },
          "createdAt": {
            "description": "Timestamp when this gear record was created.",
            "format": "datetime",
            "type": "string"
          },
          "currentDistanceMeters": {
            "default": 0,
            "description": "Cumulative distance logged on Treeline activities.",
            "minimum": 0,
            "type": "integer"
          },
          "initialDistanceMeters": {
            "default": 0,
            "description": "Prior distance logged on the item before tracking on Treeline.",
            "minimum": 0,
            "type": "integer"
          },
          "maxDistanceMeters": {
            "description": "Recommended service life or replacement threshold in meters.",
            "minimum": 0,
            "type": "integer"
          },
          "model": {
            "description": "Product model identifier.",
            "maxLength": 100,
            "type": "string"
          },
          "name": {
            "description": "Athlete nickname for the gear item (e.g. Santa Cruz Hightower, Speedgoat 5).",
            "maxGraphemes": 100,
            "maxLength": 1000,
            "type": "string"
          },
          "notes": {
            "description": "Maintenance notes, shock tuning, tire pressures, or repairs.",
            "maxGraphemes": 1000,
            "maxLength": 10000,
            "type": "string"
          },
          "primaryCategory": {
            "description": "Broad category of outdoor gear.",
            "knownValues": [
              "footwear",
              "bike",
              "winter_sports",
              "water_sports",
              "climbing",
              "apparel_packs",
              "electronics_hardware",
              "other"
            ],
            "type": "string"
          },
          "purchaseDate": {
            "description": "Date when the item was acquired.",
            "format": "datetime",
            "type": "string"
          },
          "retired": {
            "default": false,
            "description": "Whether the gear item has been decommissioned.",
            "type": "boolean"
          },
          "subCategory": {
            "description": "Specific discipline classification (e.g. gravel_bike, trail_running_shoes).",
            "maxLength": 100,
            "type": "string"
          },
          "subComponents": {
            "description": "Tracked wearable components attached to this item.",
            "items": {
              "ref": "#gearComponent",
              "type": "ref"
            },
            "type": "array"
          }
        },
        "required": [
          "name",
          "primaryCategory"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "world.treeline.gear.item",
  "lexicon": 1
}
```
