{
"id": "am.noz.at.spl.group",
"defs": {
"main": {
"key": "literal:self",
"type": "record",
"record": {
"type": "object",
"required": [
"schemaVersion",
"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
},
"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": "Group metadata. Only the record in the space authority's repo is canonical."
},
"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
}