{
"id": "id.sifa.profile.presentationDelivery",
"defs": {
"main": {
"key": "tid",
"type": "record",
"record": {
"type": "object",
"required": [
"createdAt"
],
"properties": {
"date": {
"type": "string",
"maxLength": 10,
"description": "Calendar date of this delivery as YYYY-MM-DD (day only, no time). Future dates are allowed for upcoming deliveries. The day-only shape is enforced at the app layer. On the linked branch, derived from the event's startsAt in the event's own offset."
},
"mode": {
"type": "string",
"description": "Whether this delivery was in person, virtual, or hybrid. Stores the full community.lexicon.calendar.event mode token; absent means in person.",
"knownValues": [
"community.lexicon.calendar.event#inperson",
"community.lexicon.calendar.event#virtual",
"community.lexicon.calendar.event#hybrid"
]
},
"role": {
"type": "string",
"maxLength": 640,
"description": "The presenter's role in this delivery. Open set; see id.sifa.defs#presentationRole.",
"knownValues": [
"id.sifa.defs#presenter",
"id.sifa.defs#panelist",
"id.sifa.defs#keynote",
"id.sifa.defs#workshop",
"id.sifa.defs#host"
],
"maxGraphemes": 64
},
"links": {
"type": "array",
"items": {
"ref": "id.sifa.defs#presentationLink",
"type": "ref"
},
"maxLength": 20,
"description": "Links specific to this delivery, such as the recording of this occasion."
},
"title": {
"type": "string",
"maxLength": 3000,
"description": "Fallback title for this delivery, used when no presentationRef is set.",
"maxGraphemes": 300
},
"status": {
"type": "string",
"description": "Scheduling status of this delivery, typically hydrated from a linked calendar event. Stores the full community.lexicon.calendar.event status token. Consumers should surface cancelled and postponed states.",
"knownValues": [
"community.lexicon.calendar.event#scheduled",
"community.lexicon.calendar.event#cancelled",
"community.lexicon.calendar.event#postponed",
"community.lexicon.calendar.event#rescheduled",
"community.lexicon.calendar.event#planned"
]
},
"eventRef": {
"ref": "id.sifa.defs#externalRecordRef",
"type": "ref",
"description": "Optional reference to a community.lexicon.calendar.event for this occasion. Display fields are hydrated live from the target by AT-URI, with the stored fields as a fallback when the target is unavailable."
},
"location": {
"type": "string",
"maxLength": 2560,
"description": "Display location (city, country, or venue). On the linked branch, composed from the calendar event's structured locations.",
"maxGraphemes": 256
},
"createdAt": {
"type": "string",
"format": "datetime",
"description": "Client-declared timestamp when this record was originally created."
},
"eventName": {
"type": "string",
"maxLength": 3000,
"description": "Name of the event or venue. On the linked branch, hydrated from the calendar event's name.",
"maxGraphemes": 300
},
"presentationRef": {
"ref": "id.sifa.defs#externalRecordRef",
"type": "ref",
"description": "Optional reference to the id.sifa.profile.presentation (the content) delivered here. When set, title, duration, and audiences are taken from it."
}
}
},
"description": "Record representing a single occasion on which a presentation was delivered. This is the entry shown on a profile's activity timeline. At least one of presentationRef, title, or eventName is expected, enforced at the app layer."
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1,
"description": "An occasion on which a person delivered a presentation: a specific talk, panel, workshop, or demo at an event. References the reusable id.sifa.profile.presentation content and, optionally, the calendar event."
}