# de.libranoir.buch

> Want-to-read or finished entry with optional rating and review. LibraNoir uses its internal book number as record key; any key is allowed.

- Kind: record
- Record key: any
- Authority: libranoir.de
- Lexicon: 1
- Published by [libranoir.de](https://lexicon.garden/identity/did:plc:ynof7d6bm7yhdw5nudasfdop), the NSID's authority

## Links

- [Documentation](https://lexicon.garden/lexicon/did:plc:ynof7d6bm7yhdw5nudasfdop/de.libranoir.buch)
- [Schema JSON](https://lexicon.garden/lexicon/did:plc:ynof7d6bm7yhdw5nudasfdop/de.libranoir.buch/schema.json)
- [Analytics](https://lexicon.garden/lexicon/did:plc:ynof7d6bm7yhdw5nudasfdop/de.libranoir.buch/analytics)

## Record (`de.libranoir.buch`)

Type: record · key any

### Properties

- `authors` (string, required): Author(s) as plain text.
  - Constraints: maxLength: 2000, maxGraphemes: 200
- `createdAt` (string · datetime, required)
- `identifiers` (ref)
  - Reference: `#identifiers`
- `review` (string): Optional short review.
  - Constraints: maxLength: 30000, maxGraphemes: 3000
- `stars` (integer): Rating from 1 to 10 (shown as 0.5 to 5 stars), same scale as BookHive.
  - Constraints: minimum: 1, maximum: 10
- `status` (string, required): Reading status.
  - Constraints: knownValues: wantToRead | finished
- `title` (string, required): Book title as shown on LibraNoir (usually German).
  - Constraints: maxLength: 3000, maxGraphemes: 300
- `updatedAt` (string · datetime)
- `url` (string · uri): Link to the book page, e.g. https://libranoir.de/buch/<slug>.

## #identifiers (`de.libranoir.buch#identifiers`)

Type: object

Book identifiers, same structure as in buzz.bookhive.book.

### Properties

- `isbn13` (string): ISBN-13 without hyphens, preferably of the first edition.
  - Constraints: minLength: 13, maxLength: 13

## Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "identifiers": {
      "description": "Book identifiers, same structure as in buzz.bookhive.book.",
      "properties": {
        "isbn13": {
          "description": "ISBN-13 without hyphens, preferably of the first edition.",
          "maxLength": 13,
          "minLength": 13,
          "type": "string"
        }
      },
      "type": "object"
    },
    "main": {
      "description": "Want-to-read or finished entry with optional rating and review. LibraNoir uses its internal book number as record key; any key is allowed.",
      "key": "any",
      "record": {
        "properties": {
          "authors": {
            "description": "Author(s) as plain text.",
            "maxGraphemes": 200,
            "maxLength": 2000,
            "type": "string"
          },
          "createdAt": {
            "format": "datetime",
            "type": "string"
          },
          "identifiers": {
            "ref": "#identifiers",
            "type": "ref"
          },
          "review": {
            "description": "Optional short review.",
            "maxGraphemes": 3000,
            "maxLength": 30000,
            "type": "string"
          },
          "stars": {
            "description": "Rating from 1 to 10 (shown as 0.5 to 5 stars), same scale as BookHive.",
            "maximum": 10,
            "minimum": 1,
            "type": "integer"
          },
          "status": {
            "description": "Reading status.",
            "knownValues": [
              "wantToRead",
              "finished"
            ],
            "type": "string"
          },
          "title": {
            "description": "Book title as shown on LibraNoir (usually German).",
            "maxGraphemes": 300,
            "maxLength": 3000,
            "type": "string"
          },
          "updatedAt": {
            "format": "datetime",
            "type": "string"
          },
          "url": {
            "description": "Link to the book page, e.g. https://libranoir.de/buch/<slug>.",
            "format": "uri",
            "type": "string"
          }
        },
        "required": [
          "title",
          "authors",
          "status",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "description": "A reader's entry for one book on LibraNoir (libranoir.de), the archive of the Spiegel bestseller list (fiction) since 1961. One record per person and book. Field names and meaning follow buzz.bookhive.book, without hiveId.",
  "id": "de.libranoir.buch",
  "lexicon": 1
}
```
