# am.noz.at.spl.group

> Published by [noz.am](https://lexicon.garden/identity/did:plc:lmkzmvv6sdxntwtyxpg7fqqq)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:lmkzmvv6sdxntwtyxpg7fqqq/am.noz.at.spl.group)
- [Documentation](https://lexicon.garden/lexicon/did:plc:lmkzmvv6sdxntwtyxpg7fqqq/am.noz.at.spl.group/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:lmkzmvv6sdxntwtyxpg7fqqq/am.noz.at.spl.group/examples)

## Definitions

### `am.noz.at.spl.group`

**Type**: `record`

Optional group or trip metadata inside a ledger Space. Multiple groups may share one Space when they have the same members.

**Key**: `tid`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `kind` | `string` | Yes |  |
| `name` | `string` | Yes |  |
| `groupId` | `string` | Yes |  |
| `members` | `array` | Yes |  |
| `timezone` | `string` | Yes | IANA time-zone name used for recurring expenses. |
| `createdAt` | `string` (datetime) | Yes |  |
| `updatedAt` | `string` (datetime) | Yes |  |
| `schemaVersion` | `integer` | Yes |  |
| `simplifyDebts` | `boolean` | Yes |  |
| `defaultCurrency` | `string` | Yes | Uppercase ISO 4217 currency code, such as EUR or USD. |

### `am.noz.at.spl.group#member`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `did` | `string` (did) | Yes |  |
| `role` | `string` | Yes |  |
| `active` | `boolean` | Yes |  |
| `joinedAt` | `string` (datetime) | Yes |  |

## Raw Schema

```json
{
  "id": "am.noz.at.spl.group",
  "defs": {
    "main": {
      "key": "tid",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "schemaVersion",
          "groupId",
          "name",
          "kind",
          "defaultCurrency",
          "timezone",
          "simplifyDebts",
          "members",
          "createdAt",
          "updatedAt"
        ],
        "properties": {
          "kind": {
            "enum": [
              "group",
              "trip",
              "household",
              "couple",
              "other"
            ],
            "type": "string"
          },
          "name": {
            "type": "string",
            "maxLength": 256,
            "minLength": 1,
            "maxGraphemes": 80
          },
          "groupId": {
            "type": "string",
            "maxLength": 64,
            "minLength": 1
          },
          "members": {
            "type": "array",
            "items": {
              "ref": "lex:am.noz.at.spl.group#member",
              "type": "ref"
            },
            "maxLength": 250,
            "minLength": 1
          },
          "timezone": {
            "type": "string",
            "maxLength": 64,
            "minLength": 1,
            "description": "IANA time-zone name used for recurring expenses."
          },
          "createdAt": {
            "type": "string",
            "format": "datetime"
          },
          "updatedAt": {
            "type": "string",
            "format": "datetime"
          },
          "schemaVersion": {
            "type": "integer",
            "const": 1
          },
          "simplifyDebts": {
            "type": "boolean"
          },
          "defaultCurrency": {
            "type": "string",
            "maxLength": 3,
            "minLength": 3,
            "description": "Uppercase ISO 4217 currency code, such as EUR or USD."
          }
        }
      },
      "description": "Optional group or trip metadata inside a ledger Space. Multiple groups may share one Space when they have the same members."
    },
    "member": {
      "type": "object",
      "required": [
        "did",
        "role",
        "joinedAt",
        "active"
      ],
      "properties": {
        "did": {
          "type": "string",
          "format": "did"
        },
        "role": {
          "enum": [
            "owner",
            "admin",
            "member"
          ],
          "type": "string"
        },
        "active": {
          "type": "boolean"
        },
        "joinedAt": {
          "type": "string",
          "format": "datetime"
        }
      }
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}
```
