Agenda
An Agenda is the ordered list of items a Meeting works through.
It lives on the Meeting itself, with its own status, source document
pointer, and per-item structure.
agenda:
status: final
source_doc: 22nd-CIML-September-2025-Agenda-Final.pdf
items:
- { label: '1', kind: opening, title: 'Opening of the meeting' }
- { label: '2', kind: header, title: 'Procedural matters' }
- { label: '3.1', kind: numbered, title: 'Approval of the agenda', outcome: adopted }
- { label: '4', kind: header, title: 'Substantive matters' }
- { label: '4.2', kind: numbered, title: 'Budget for the 2027–2028 financial period',
outcome: deferred_to_subcommittee }
- { label: '10', kind: numbered, title: 'Any other business' }
- { label: '11', kind: closing, title: 'Closing of the meeting' }
Agenda fields
| Field | Type | Description |
|---|---|---|
identifier |
StructuredIdentifier[0..*] |
Optional formal identifier(s) — some bodies publish numbered agendas. |
status |
AgendaStatus |
Lifecycle state of this version (see below). |
source_doc |
String |
Pointer (filename or URL) to the original agenda PDF. |
items |
AgendaItem[0..*] |
The items. Order is the order of business. |
opening_session |
ScheduleItem |
Optional: the meeting’s opening session, if scheduled. |
closing_session |
ScheduleItem |
Optional: the meeting’s closing session, if scheduled. |
AgendaStatus
| Value | When |
|---|---|
draft |
Working copy, may change. |
final |
Issued, in force at start of meeting. |
amended |
Modified during the meeting (rare; usually means a re-issue). |
cancelled |
Meeting cancelled — agenda preserved for record. |
superseded |
Replaced by a later agenda for the same meeting. |
AgendaItem
| Field | Type | Description |
|---|---|---|
urn |
String |
First-class URN, hierarchical under the parent meeting URN ({meetingUrn}:agenda:{label}). Optional in source data — computable via Edoxen::UrnFor.agenda_item (see below). |
label |
String |
The printed number ("4.2", "10.a"). May be empty for headers. |
kind |
AgendaItemKind |
One of numbered, unnumbered, header, opening, closing. |
title |
String |
Short title as printed. |
description |
String |
Optional body / context. |
references |
Reference[0..*] |
Supporting documents (background papers, prior resolutions). |
outcome |
AgendaItemOutcome |
What happened with this item. |
decision_ref |
String |
URN of the decision this item produced, if any. |
topics |
Topic[0..*] |
The subject(s) of discussion at this item. |
components |
String[0..*] |
MeetingComponent identifiers covering this item. |
AgendaItemKind
| Value | Meaning |
|---|---|
numbered |
Normal agenda item, has a label and resolved (or not) by the meeting. |
unnumbered |
Talking-point only, no formal outcome. |
header |
A section divider inside the agenda (“Procedural matters”). |
opening |
The opening of the meeting (greetings, roll call, etc.). |
closing |
The closing of the meeting. |
The kind field is enum-restricted — the wire format cannot drift
to free-form values. This is what lets schema validation catch agenda
renames that look right but break downstream parsing.
AgendaItemOutcome
Captures what the meeting did with this item. The enum is
authoritative — wire values are kept in lockstep with
Edoxen::Enums::AGENDA_ITEM_OUTCOME:
discussed— meeting talked about it; no formal outcome yetresolved— meeting reached a decision (resolution adopted or resolution-rejected — check the linkedResolutionto see which)deferred— pushed to a later meetingadopted— meeting adopted the proposal as presentedwithdrawn— proponent withdrew the item
AgendaItem URNs
An item’s urn is derived from the parent meeting URN plus the item
label — {meetingUrn}:agenda:{label}. It is optional in source data;
the gem computes it on demand and can backfill a whole agenda:
Edoxen::UrnFor.agenda_item(meeting_urn: "urn:oiml:ciml:meeting:ciml-60", label: "6.2")
# => "urn:oiml:ciml:meeting:ciml-60:agenda:6.2"
Edoxen::UrnFor.parse("urn:oiml:ciml:meeting:ciml-60:agenda:6.2")
# => { meeting_urn: "urn:oiml:ciml:meeting:ciml-60", label: "6.2" }
Edoxen::UrnFor.assign_to_agenda!(meeting.agenda, meeting.urn)
# sets urn on every item that doesn't already carry one
References
Reference is a small lightweight citation attached to agenda items.
| Field | Type | Description |
|---|---|---|
ref |
String |
URL or document path. |
kind |
String |
Free-form descriptor (pdf, docx, web). |
title |
String |
Human-readable label. |
Use this when the agenda item cites background papers. For the
multi-language source PDFs of a meeting itself, prefer
Meeting.source_urls[] (per-language signed URLs).
ScheduleItem
A time-of-day entry on a sitting day. Distinct from AgendaItem —
the agenda is what gets done, the schedule is when.
| Field | Type | Description |
|---|---|---|
date |
Date |
Calendar day. |
time |
String |
Time-of-day (free text — some bodies write “14:30”, some “2:30 PM”, some “after agenda item 5”). |
event |
String |
One-line summary (default language). |
description |
String |
Optional fuller text (default language). |
room |
String |
Room or hall name. |
localizations |
ScheduleItemLocalization[0..*] |
Per-language event name + description. |
A Meeting carries a schedule[] array of these — one per slot in
the running order over the meeting’s date range. The agenda tells
you what; the schedule tells you when. Per-language content (event
name in EN vs FR) lives in localizations[]; structural fields
(date, time, room) are language-agnostic on the parent.
ScheduleItemLocalization
| Field | Type | Description |
|---|---|---|
language_code |
String (ISO 639-3) |
Three-letter code. |
script |
String (ISO 15924) |
Four-letter code. |
event |
String |
Localized event name. |
description |
String |
Localized description. |
Deadline
Submission or response deadlines that are tied to the meeting (e.g. “national position papers due 30 days before”):
| Field | Type | Description |
|---|---|---|
kind |
String |
Free-form label — use the body’s own terminology. |
date |
Date |
The deadline itself. |
description |
String |
What is owed by this date. |
See also
- Meeting Collection — the parent entity
- Resolution Collection — the parallel container; a
Meetingreferences Resolutions viaresolution_refs[] edoxen/edoxen-model— canonical LutaML/UML definitions