# world.treeline.condition.report

> 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.condition.report)
- [Documentation](https://lexicon.garden/lexicon/did:plc:sjejpugpajgvxweilujzjcmq/world.treeline.condition.report/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:sjejpugpajgvxweilujzjcmq/world.treeline.condition.report/examples)

## Definitions

### `world.treeline.condition.report`

**Type**: `record`

Crowdsourced trail condition or hazard report with temporal decay.

**Key**: `tid`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `coordinate` | `array` | No | Optional exact GPS coordinates [lon, lat, ele?] of the hazard, as decimal strings (the ATProto data model has no floats). On an activity-subject report it also limits which of the activity's matched trails the report reaches. |
| `expiresAt` | `string` (datetime) | No | Optional explicit expiration timestamp. When absent, defaults to reportedAt + 14 days. |
| `notes` | `string` | No | Detailed notes describing the observed trail condition or obstacle. |
| `photoBlob` | `blob` | No | Optional photograph of the condition or hazard. |
| `reportedAt` | `string` (datetime) | Yes | Timestamp when the observation was made. |
| `severity` | `string` | Yes | Severity level of the condition. |
| `status` | `string` | Yes | Current status or condition observation. |
| `subject` | `union` | Yes | The trail, route, segment, activity, or landmark subject of this condition report. A strongRef to a world.treeline.activity.record reports on every trail that activity matched. |

### `world.treeline.condition.report#trailSubject`

**Type**: `object`

Subject reference for a physical trail identified by external registry IDs.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `cotrexId` | `string` | No | COTREX trail feature identifier. |
| `osmRelationId` | `string` | No | OpenStreetMap relation identifier. |
| `osmWayId` | `string` | No | OpenStreetMap way identifier. |
| `usfsTrailNumber` | `string` | No | United States Forest Service trail identifier. |

## Raw Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Crowdsourced trail condition or hazard report with temporal decay.",
      "key": "tid",
      "record": {
        "properties": {
          "coordinate": {
            "description": "Optional exact GPS coordinates [lon, lat, ele?] of the hazard, as decimal strings (the ATProto data model has no floats). On an activity-subject report it also limits which of the activity's matched trails the report reaches.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "expiresAt": {
            "description": "Optional explicit expiration timestamp. When absent, defaults to reportedAt + 14 days.",
            "format": "datetime",
            "type": "string"
          },
          "notes": {
            "description": "Detailed notes describing the observed trail condition or obstacle.",
            "maxGraphemes": 1000,
            "maxLength": 10000,
            "type": "string"
          },
          "photoBlob": {
            "accept": [
              "image/png",
              "image/jpeg",
              "image/webp"
            ],
            "description": "Optional photograph of the condition or hazard.",
            "maxSize": 10000000,
            "type": "blob"
          },
          "reportedAt": {
            "description": "Timestamp when the observation was made.",
            "format": "datetime",
            "type": "string"
          },
          "severity": {
            "description": "Severity level of the condition.",
            "knownValues": [
              "info",
              "caution",
              "hazard",
              "closure"
            ],
            "type": "string"
          },
          "status": {
            "description": "Current status or condition observation.",
            "knownValues": [
              "clear",
              "minor_issues",
              "wet_muddy",
              "snow_ice",
              "tree_fall",
              "flowing",
              "dry",
              "closed"
            ],
            "type": "string"
          },
          "subject": {
            "description": "The trail, route, segment, activity, or landmark subject of this condition report. A strongRef to a world.treeline.activity.record reports on every trail that activity matched.",
            "refs": [
              "#trailSubject",
              "com.atproto.repo.strongRef"
            ],
            "type": "union"
          }
        },
        "required": [
          "subject",
          "status",
          "severity",
          "reportedAt"
        ],
        "type": "object"
      },
      "type": "record"
    },
    "trailSubject": {
      "description": "Subject reference for a physical trail identified by external registry IDs.",
      "properties": {
        "cotrexId": {
          "description": "COTREX trail feature identifier.",
          "type": "string"
        },
        "osmRelationId": {
          "description": "OpenStreetMap relation identifier.",
          "type": "string"
        },
        "osmWayId": {
          "description": "OpenStreetMap way identifier.",
          "type": "string"
        },
        "usfsTrailNumber": {
          "description": "United States Forest Service trail identifier.",
          "type": "string"
        }
      },
      "type": "object"
    }
  },
  "id": "world.treeline.condition.report",
  "lexicon": 1
}
```
