# win.tomo-x.rogaining.checkpoint

> Published by [tomo-x.win](https://lexicon.garden/identity/did:plc:qcwvyds5tixmcwkwrg3hxgxd)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:qcwvyds5tixmcwkwrg3hxgxd/win.tomo-x.rogaining.checkpoint)
- [Documentation](https://lexicon.garden/lexicon/did:plc:qcwvyds5tixmcwkwrg3hxgxd/win.tomo-x.rogaining.checkpoint/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:qcwvyds5tixmcwkwrg3hxgxd/win.tomo-x.rogaining.checkpoint/examples)

## Definitions

### `win.tomo-x.rogaining.checkpoint`

**Type**: `record`

A checkpoint belonging to a rogaining event.

**Key**: `tid`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `createdAt` | `string` (datetime) | Yes |  |
| `description` | `string` | No |  |
| `event` | `ref` → `com.atproto.repo.strongRef` | Yes | The event this checkpoint belongs to. |
| `image` | `blob` | Yes | Image of the checkpoint. |
| `internalImages` | `array` | Yes | Internal images of the checkpoint, not shown to participants. |
| `isGoal` | `boolean` | No | Whether this checkpoint is the event finish. Goal submissions are not judged. |
| `location` | `ref` → `win.tomo-x.rogaining.defs#location` | Yes |  |
| `name` | `string` | Yes |  |
| `point` | `integer` | Yes | Score awarded for reaching this checkpoint. |
| `radiusMeters` | `integer` | No | Allowed distance from the location for a valid submission. |

## Raw Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "A checkpoint belonging to a rogaining event.",
      "key": "tid",
      "record": {
        "properties": {
          "createdAt": {
            "format": "datetime",
            "type": "string"
          },
          "description": {
            "maxGraphemes": 1000,
            "maxLength": 10000,
            "type": "string"
          },
          "event": {
            "description": "The event this checkpoint belongs to.",
            "ref": "com.atproto.repo.strongRef",
            "type": "ref"
          },
          "image": {
            "accept": [
              "image/png",
              "image/jpeg",
              "image/webp"
            ],
            "description": "Image of the checkpoint.",
            "maxSize": 2000000,
            "type": "blob"
          },
          "internalImages": {
            "description": "Internal images of the checkpoint, not shown to participants.",
            "items": {
              "accept": [
                "image/png",
                "image/jpeg",
                "image/webp"
              ],
              "maxSize": 2000000,
              "type": "blob"
            },
            "maxLength": 10,
            "type": "array"
          },
          "isGoal": {
            "default": false,
            "description": "Whether this checkpoint is the event finish. Goal submissions are not judged.",
            "type": "boolean"
          },
          "location": {
            "ref": "win.tomo-x.rogaining.defs#location",
            "type": "ref"
          },
          "name": {
            "maxGraphemes": 100,
            "maxLength": 1000,
            "type": "string"
          },
          "point": {
            "description": "Score awarded for reaching this checkpoint.",
            "minimum": 0,
            "type": "integer"
          },
          "radiusMeters": {
            "default": 30,
            "description": "Allowed distance from the location for a valid submission.",
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "event",
          "name",
          "point",
          "location",
          "createdAt",
          "image",
          "internalImages"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "win.tomo-x.rogaining.checkpoint",
  "lexicon": 1
}
```
