# com.cultureblocs.venue.lineup

> Published by [cultureblocs.com](https://lexicon.garden/identity/did:plc:l3726um33xesakwqhjkkpoet)

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:l3726um33xesakwqhjkkpoet/com.cultureblocs.venue.lineup)
- [Documentation](https://lexicon.garden/lexicon/did:plc:l3726um33xesakwqhjkkpoet/com.cultureblocs.venue.lineup/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:l3726um33xesakwqhjkkpoet/com.cultureblocs.venue.lineup/examples)

## Definitions

### `com.cultureblocs.venue.lineup`

**Type**: `record`

Cultural detail attached to an event that the shared calendar record does not carry: who is on, and what is performed or shown. A layer, not a replacement — it references an event by strongRef and never duplicates it. The same discipline as the creative namespace: layers reference the core claim rather than growing it. If these fields prove generally useful they belong upstream in the community calendar lexicon, not here.

**Key**: `tid`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `note` | `string` | No |  |
| `tags` | `array` | No |  |
| `event` | `ref` → `com.cultureblocs.defs#strongRef` | Yes | The event this describes — normally a community.lexicon.calendar.event record. Pin the CID so the attachment is tamper-evident. |
| `venue` | `ref` → `com.cultureblocs.defs#strongRef` | No | The venue profile record, when the event happens at a venue that publishes one. |
| `works` | `array` | No | Works performed or shown, where the programme is specific about them. |
| `billing` | `array` | No | Who is on: performers, artists, speakers, DJs. `did` links to a creative profile where one exists. |
| `createdAt` | `string` (datetime) | Yes |  |

## Raw Schema

```json
{
  "id": "com.cultureblocs.venue.lineup",
  "defs": {
    "main": {
      "key": "tid",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "event",
          "createdAt"
        ],
        "properties": {
          "note": {
            "type": "string",
            "maxGraphemes": 2000
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string",
              "maxGraphemes": 64
            },
            "maxLength": 8
          },
          "event": {
            "ref": "com.cultureblocs.defs#strongRef",
            "type": "ref",
            "description": "The event this describes — normally a community.lexicon.calendar.event record. Pin the CID so the attachment is tamper-evident."
          },
          "venue": {
            "ref": "com.cultureblocs.defs#strongRef",
            "type": "ref",
            "description": "The venue profile record, when the event happens at a venue that publishes one."
          },
          "works": {
            "type": "array",
            "items": {
              "ref": "com.cultureblocs.defs#workRef",
              "type": "ref"
            },
            "maxLength": 20,
            "description": "Works performed or shown, where the programme is specific about them."
          },
          "billing": {
            "type": "array",
            "items": {
              "ref": "com.cultureblocs.defs#creditRef",
              "type": "ref"
            },
            "maxLength": 20,
            "description": "Who is on: performers, artists, speakers, DJs. `did` links to a creative profile where one exists."
          },
          "createdAt": {
            "type": "string",
            "format": "datetime"
          }
        }
      },
      "description": "Cultural detail attached to an event that the shared calendar record does not carry: who is on, and what is performed or shown. A layer, not a replacement — it references an event by strongRef and never duplicates it. The same discipline as the creative namespace: layers reference the core claim rather than growing it. If these fields prove generally useful they belong upstream in the community calendar lexicon, not here."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}
```
