win.tomo-x.rogaining.defs

tomo-x.win

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "checkpointView": {
      "properties": {
        "cid": {
          "format": "cid",
          "type": "string"
        },
        "imageUrl": {
          "description": "URL of the checkpoint image.",
          "format": "uri",
          "type": "string"
        },
        "indexedAt": {
          "format": "datetime",
          "type": "string"
        },
        "internalImageUrls": {
          "description": "URLs of the internal images. Only returned to the event's author.",
          "items": {
            "format": "uri",
            "type": "string"
          },
          "maxLength": 10,
          "type": "array"
        },
        "record": {
          "description": "The win.tomo-x.rogaining.checkpoint record.",
          "type": "unknown"
        },
        "uri": {
          "format": "at-uri",
          "type": "string"
        }
      },
      "required": [
        "uri",
        "cid",
        "record",
        "indexedAt"
      ],
      "type": "object"
    },
    "eventView": {
      "properties": {
        "approver": {
          "ref": "app.bsky.actor.defs#profileViewBasic",
          "type": "ref"
        },
        "author": {
          "ref": "app.bsky.actor.defs#profileViewBasic",
          "type": "ref"
        },
        "checkpointCount": {
          "minimum": 0,
          "type": "integer"
        },
        "cid": {
          "format": "cid",
          "type": "string"
        },
        "imageUrl": {
          "format": "uri",
          "type": "string"
        },
        "indexedAt": {
          "format": "datetime",
          "type": "string"
        },
        "participantCount": {
          "minimum": 0,
          "type": "integer"
        },
        "record": {
          "description": "The win.tomo-x.rogaining.event record.",
          "type": "unknown"
        },
        "teamCount": {
          "minimum": 0,
          "type": "integer"
        },
        "uri": {
          "format": "at-uri",
          "type": "string"
        }
      },
      "required": [
        "uri",
        "cid",
        "author",
        "record",
        "indexedAt"
      ],
      "type": "object"
    },
    "location": {
      "description": "Coordinates as decimal degrees encoded as strings (lexicon has no float type), e.g. \"35.681236\".",
      "properties": {
        "latitude": {
          "maxLength": 20,
          "type": "string"
        },
        "longitude": {
          "maxLength": 20,
          "type": "string"
        }
      },
      "required": [
        "latitude",
        "longitude"
      ],
      "type": "object"
    },
    "rankingEntry": {
      "properties": {
        "approvedCount": {
          "description": "Number of distinct non-goal checkpoints with an approved submission.",
          "minimum": 0,
          "type": "integer"
        },
        "rank": {
          "minimum": 1,
          "type": "integer"
        },
        "team": {
          "ref": "win.tomo-x.rogaining.defs#teamView",
          "type": "ref"
        },
        "totalPoints": {
          "description": "Sum of approved checkpoint points and the team's finish-time bonus.",
          "minimum": 0,
          "type": "integer"
        }
      },
      "required": [
        "team",
        "rank",
        "totalPoints",
        "approvedCount"
      ],
      "type": "object"
    },
    "submissionView": {
      "properties": {
        "approvalUri": {
          "description": "AT-URI of the approve record, if approved.",
          "format": "at-uri",
          "type": "string"
        },
        "author": {
          "ref": "app.bsky.actor.defs#profileViewBasic",
          "type": "ref"
        },
        "cid": {
          "format": "cid",
          "type": "string"
        },
        "distanceMeters": {
          "description": "Distance between the submitted location and the checkpoint, for the approver's review.",
          "minimum": 0,
          "type": "integer"
        },
        "indexedAt": {
          "format": "datetime",
          "type": "string"
        },
        "photoUrl": {
          "format": "uri",
          "type": "string"
        },
        "reason": {
          "description": "The reason of the approve or reject record that decided the status.",
          "type": "string"
        },
        "record": {
          "description": "The win.tomo-x.rogaining.submit record.",
          "type": "unknown"
        },
        "rejectionUri": {
          "description": "AT-URI of the reject record, if rejected.",
          "format": "at-uri",
          "type": "string"
        },
        "status": {
          "description": "Decided by one valid approve or reject record for the submission's current cid, made by the event's author or approver. The author's records take precedence over the approver's; among one account's records, the one with the newest createdAt wins. approved or rejected by that record, otherwise pending. Only approved submissions count for the ranking.",
          "knownValues": [
            "pending",
            "approved",
            "rejected"
          ],
          "type": "string"
        },
        "team": {
          "description": "The team the author belongs to in this event.",
          "format": "at-uri",
          "type": "string"
        },
        "uri": {
          "format": "at-uri",
          "type": "string"
        },
        "withinEventPeriod": {
          "description": "Whether the submission's createdAt is between the event's startsAt and endsAt, for the approver's review.",
          "type": "boolean"
        }
      },
      "required": [
        "uri",
        "cid",
        "author",
        "team",
        "record",
        "status",
        "indexedAt"
      ],
      "type": "object"
    },
    "teamView": {
      "properties": {
        "cid": {
          "format": "cid",
          "type": "string"
        },
        "indexedAt": {
          "format": "datetime",
          "type": "string"
        },
        "members": {
          "description": "Profiles of the team members.",
          "items": {
            "ref": "app.bsky.actor.defs#profileViewBasic",
            "type": "ref"
          },
          "type": "array"
        },
        "record": {
          "description": "The win.tomo-x.rogaining.team record.",
          "type": "unknown"
        },
        "uri": {
          "format": "at-uri",
          "type": "string"
        }
      },
      "required": [
        "uri",
        "cid",
        "record",
        "members",
        "indexedAt"
      ],
      "type": "object"
    }
  },
  "id": "win.tomo-x.rogaining.defs",
  "lexicon": 1
}

Validate Record

Validate a record against win.tomo-x.rogaining.defs

Validation Options
Automatically resolve and include external schemas for full validation
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:qcwvyds5tixmcwkwrg3hxgxd
CID
bafyreidurlrmbwwz3mibonk4r3dmgwpvfcdjfm7iarj3cf24uu2i4wya24
Indexed At
2026-10-25 06:10 UTC
AT-URI
at://did:plc:qcwvyds5tixmcwkwrg3hxgxd/com.atproto.lexicon.schema/win.tomo-x.rogaining.defs

Version History (4 versions)

Referenced Schemas (1)

Similar Lexicons

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • A checkpoint belonging to a rogaining event.

  • A participant's proof of reaching a checkpoint. Ignored unless the author is a member of a team in the event. Results are shared within the team.

  • An event approver's approval of a participant's checkpoint submission. Only valid when created by the DID in the event's approver field or by the event's author. See submissionView.status for how approve and reject reco…

  • An event approver's rejection of a participant's checkpoint submission. Only valid when created by the DID in the event's approver field or by the event's author. See submissionView.status for how approve and reject rec…

Lexicon Garden

@