org.passingreads.book.event

passingreads.org

Documentation

The status of a book has changed.

main record

The status of a book has changed.

Record Key tid Timestamp-based ID

Properties

bookPub bytes Required

The multicodec public key of the book.

bookSig bytes Required

The signature of this record, without this attribute, as created by the private key associated with the book

did string did Required

The DID of the person who registered the book. Included here, so it's verifiable with the bookSig.

event string Optional

What event has occurred

Known values: org.passingreads.book.checkin, org.passingreads.book.drop, org.passingreads.book.find
occurredAt string datetime Required

Client-declared timestamp of when the book was dropped

View raw schema
{
  "key": "tid",
  "type": "record",
  "record": {
    "type": "object",
    "required": [
      "did",
      "book",
      "occurredAt",
      "location",
      "bookPub",
      "bookSig"
    ],
    "properties": {
      "did": {
        "type": "string",
        "format": "did",
        "description": "The DID of the person who registered the book. Included here, so it's verifiable with the bookSig."
      },
      "book": {
        "ref": "com.atproto.repo.strongRef#main",
        "type": "ref",
        "description": "The book that was dropped (a org.passingreads.book.registration)"
      },
      "event": {
        "type": "string",
        "description": "What event has occurred",
        "knownValues": [
          "org.passingreads.book.checkin",
          "org.passingreads.book.drop",
          "org.passingreads.book.find"
        ]
      },
      "bookPub": {
        "type": "bytes",
        "description": "The multicodec public key of the book."
      },
      "bookSig": {
        "type": "bytes",
        "description": "The signature of this record, without this attribute, as created by the private key associated with the book"
      },
      "location": {
        "refs": [
          "com.atproto.repo.strongRef#main",
          "community.lexicon.location.hthree#main",
          "#osmLocation"
        ],
        "type": "union",
        "description": "Where this event occurred (an h3 cell, an OSM place, or a link to an outpost — org.passingreads.outpost.registration)"
      },
      "occurredAt": {
        "type": "string",
        "format": "datetime",
        "description": "Client-declared timestamp of when the book was dropped"
      }
    }
  },
  "description": "The status of a book has changed."
}
osmLocation object

A physical location from OpenStreetMap.

Properties

category string Optional

The type of place (e.g., cafe, library, park).

name string Required

The name of the place from OpenStreetMap.

osmId string Required

The OpenStreetMap element ID in interoperable format: N (node), W (way), or R (relation) prefix followed by numeric ID. Example: N123456789

value string Required

The H3 cell index for proximity queries.

View raw schema
{
  "type": "object",
  "required": [
    "osmId",
    "name",
    "value"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "The name of the place from OpenStreetMap."
    },
    "osmId": {
      "type": "string",
      "description": "The OpenStreetMap element ID in interoperable format: N (node), W (way), or R (relation) prefix followed by numeric ID. Example: N123456789"
    },
    "value": {
      "type": "string",
      "description": "The H3 cell index for proximity queries."
    },
    "category": {
      "type": "string",
      "description": "The type of place (e.g., cafe, library, park)."
    }
  },
  "description": "A physical location from OpenStreetMap."
}

Lexicon Garden

@