# family.pardy.familytime.goal

> Published by [pardy.at](https://lexicon.garden/identity/did:plc:dp7v5b5kejmmzzpwmqyf5wj6)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:dp7v5b5kejmmzzpwmqyf5wj6/family.pardy.familytime.goal)
- [Documentation](https://lexicon.garden/lexicon/did:plc:dp7v5b5kejmmzzpwmqyf5wj6/family.pardy.familytime.goal/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:dp7v5b5kejmmzzpwmqyf5wj6/family.pardy.familytime.goal/examples)

## Definitions

### `family.pardy.familytime.goal`

**Type**: `record`

A star chart goal: earn this many stars, get the reward. Stars, claims and rewards point at the id. Tied to an event, it shows before it on the days it happens; otherwise in its own window. Board configuration: board space (parents only); each parent saves their own copy with rkey = id, and the newest updatedAt wins (a deleted copy removes it).

**Key**: `any`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `createdAt` | `string` (datetime) | Yes |  |
| `deleted` | `boolean` | No | Removed, when this is the newest copy. |
| `emoji` | `string` | No |  |
| `event` | `string` | No | A board event's URI, or an imported calendar series (feed URI#uid): when to show the goal, not how many stars it takes. |
| `id` | `string` | Yes | Stable across edits and parents; the record key. |
| `reward` | `object` | No |  |
| `show` | `object` | No | When to show it, if not tied to an event. |
| `stars` | `integer` | No | Stars to earn the reward. |
| `title` | `string` | No |  |
| `updatedAt` | `string` (datetime) | Yes | Last write wins across parents. |
| `who` | `array` | No | Kids it's for; empty means every kid. |

## Raw Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "A star chart goal: earn this many stars, get the reward. Stars, claims and rewards point at the id. Tied to an event, it shows before it on the days it happens; otherwise in its own window. Board configuration: board space (parents only); each parent saves their own copy with rkey = id, and the newest updatedAt wins (a deleted copy removes it).",
      "key": "any",
      "record": {
        "properties": {
          "createdAt": {
            "format": "datetime",
            "type": "string"
          },
          "deleted": {
            "description": "Removed, when this is the newest copy.",
            "type": "boolean"
          },
          "emoji": {
            "maxLength": 32,
            "type": "string"
          },
          "event": {
            "description": "A board event's URI, or an imported calendar series (feed URI#uid): when to show the goal, not how many stars it takes.",
            "maxLength": 2000,
            "type": "string"
          },
          "id": {
            "description": "Stable across edits and parents; the record key.",
            "maxLength": 64,
            "type": "string"
          },
          "reward": {
            "properties": {
              "emoji": {
                "maxLength": 32,
                "type": "string"
              },
              "title": {
                "maxLength": 100,
                "type": "string"
              }
            },
            "required": [
              "title",
              "emoji"
            ],
            "type": "object"
          },
          "show": {
            "description": "When to show it, if not tied to an event.",
            "properties": {
              "from": {
                "maxLength": 5,
                "type": "string"
              },
              "until": {
                "maxLength": 5,
                "type": "string"
              }
            },
            "required": [
              "from",
              "until"
            ],
            "type": "object"
          },
          "stars": {
            "description": "Stars to earn the reward.",
            "maximum": 30,
            "minimum": 1,
            "type": "integer"
          },
          "title": {
            "maxLength": 100,
            "type": "string"
          },
          "updatedAt": {
            "description": "Last write wins across parents.",
            "format": "datetime",
            "type": "string"
          },
          "who": {
            "description": "Kids it's for; empty means every kid.",
            "items": {
              "format": "did",
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "createdAt",
          "id",
          "updatedAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "family.pardy.familytime.goal",
  "lexicon": 1
}
```
