edoxen 0.5.0 → 0.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.rubocop.yml +26 -1
- data/.rubocop_todo.yml +1 -1
- data/CHANGELOG.md +133 -0
- data/CLAUDE.md +10 -6
- data/Gemfile +4 -0
- data/README.adoc +417 -181
- data/TODO.meeting-agenda/02-lutaml-canonical.md +1 -1
- data/TODO.meeting-agenda/09-verify-and-release.md +3 -3
- data/TODO.meeting-agenda/README.md +2 -2
- data/edoxen.gemspec +10 -9
- data/lib/edoxen/action.rb +5 -4
- data/lib/edoxen/agenda.rb +4 -7
- data/lib/edoxen/agenda_item.rb +12 -5
- data/lib/edoxen/approval.rb +2 -2
- data/lib/edoxen/attendance.rb +29 -0
- data/lib/edoxen/body_vocabulary_entry.rb +24 -0
- data/lib/edoxen/body_vocabulary_host.rb +40 -0
- data/lib/edoxen/cli.rb +186 -108
- data/lib/edoxen/consideration.rb +6 -4
- data/lib/edoxen/contact.rb +35 -0
- data/lib/edoxen/contact_collection.rb +26 -0
- data/lib/edoxen/contact_identifier.rb +13 -0
- data/lib/edoxen/contact_method.rb +16 -0
- data/lib/edoxen/date_time_range.rb +16 -0
- data/lib/edoxen/deadline.rb +1 -1
- data/lib/edoxen/decision.rb +57 -0
- data/lib/edoxen/decision_collection.rb +10 -0
- data/lib/edoxen/decision_date.rb +9 -0
- data/lib/edoxen/decision_metadata.rb +27 -0
- data/lib/edoxen/decision_relation.rb +11 -0
- data/lib/edoxen/declaration.rb +25 -0
- data/lib/edoxen/entity_ref.rb +74 -0
- data/lib/edoxen/enums.rb +129 -8
- data/lib/edoxen/error.rb +1 -1
- data/lib/edoxen/extension_attribute.rb +78 -0
- data/lib/edoxen/host_ref.rb +1 -1
- data/lib/edoxen/link_checker.rb +194 -0
- data/lib/edoxen/localized_name.rb +16 -0
- data/lib/edoxen/localized_string.rb +22 -0
- data/lib/edoxen/meeting.rb +42 -36
- data/lib/edoxen/meeting_collection.rb +1 -2
- data/lib/edoxen/meeting_collection_metadata.rb +4 -2
- data/lib/edoxen/meeting_component.rb +37 -0
- data/lib/edoxen/meeting_extension.rb +25 -0
- data/lib/edoxen/meeting_identifier.rb +1 -1
- data/lib/edoxen/meeting_series.rb +26 -0
- data/lib/edoxen/minutes.rb +30 -0
- data/lib/edoxen/minutes_section.rb +26 -0
- data/lib/edoxen/motion.rb +51 -0
- data/lib/edoxen/name.rb +29 -0
- data/lib/edoxen/officer.rb +19 -0
- data/lib/edoxen/officers_host.rb +19 -0
- data/lib/edoxen/person.rb +5 -9
- data/lib/edoxen/physical_venue.rb +15 -0
- data/lib/edoxen/recurrence.rb +27 -0
- data/lib/edoxen/recurrence_by_day.rb +10 -0
- data/lib/edoxen/reference.rb +1 -1
- data/lib/edoxen/reference_data.rb +85 -0
- data/lib/edoxen/schema_validator.rb +3 -4
- data/lib/edoxen/source_url.rb +4 -4
- data/lib/edoxen/statement.rb +21 -0
- data/lib/edoxen/structured_identifier.rb +2 -2
- data/lib/edoxen/topic.rb +39 -0
- data/lib/edoxen/topic_asset.rb +14 -0
- data/lib/edoxen/topic_document.rb +16 -0
- data/lib/edoxen/venue.rb +79 -0
- data/lib/edoxen/venue_collection.rb +18 -0
- data/lib/edoxen/venue_validator.rb +74 -0
- data/lib/edoxen/version.rb +1 -1
- data/lib/edoxen/virtual_venue.rb +15 -0
- data/lib/edoxen/vote_record.rb +29 -0
- data/lib/edoxen/voting.rb +45 -0
- data/lib/edoxen/voting_counts.rb +23 -0
- data/lib/edoxen.rb +53 -14
- data/schema/edoxen.yaml +1378 -247
- data/schema/meeting.yaml +1258 -201
- data/sig/edoxen.rbs +581 -1
- metadata +82 -21
- data/lib/edoxen/_metadata.rb.deprecated +0 -57
- data/lib/edoxen/localization.rb +0 -18
- data/lib/edoxen/location.rb +0 -15
- data/lib/edoxen/meeting_localization.rb +0 -15
- data/lib/edoxen/resolution.rb +0 -43
- data/lib/edoxen/resolution_collection.rb +0 -10
- data/lib/edoxen/resolution_date.rb +0 -11
- data/lib/edoxen/resolution_metadata.rb +0 -22
- data/lib/edoxen/resolution_relation.rb +0 -11
- data/lib/edoxen/resolution_set.rb +0 -17
- data/lib/edoxen/schedule_item.rb +0 -16
data/schema/meeting.yaml
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
---
|
|
2
|
-
$schema:
|
|
3
|
-
$id:
|
|
4
|
-
title:
|
|
2
|
+
"$schema": http://json-schema.org/draft-07/schema#
|
|
3
|
+
"$id": https://github.com/edoxen/edoxen-model/schema/meeting.yaml
|
|
4
|
+
title: Edoxen Meeting Schema
|
|
5
5
|
description: |
|
|
6
6
|
Schema for validating Edoxen Meeting/Agenda YAML files.
|
|
7
7
|
|
|
8
8
|
Mirrors the canonical LutaML information model in
|
|
9
|
-
https://github.com/
|
|
9
|
+
https://github.com/edoxen/edoxen-model/tree/main/models (meeting*.lutaml,
|
|
10
10
|
agenda*.lutaml, etc.).
|
|
11
11
|
|
|
12
12
|
The root accepts either a single Meeting or a MeetingCollection.
|
|
@@ -16,47 +16,61 @@ description: |
|
|
|
16
16
|
`spec/edoxen/schema_meeting_enum_sync_spec.rb`.
|
|
17
17
|
type: object
|
|
18
18
|
oneOf:
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
$defs:
|
|
23
|
-
|
|
24
|
-
# ====================================================================
|
|
25
|
-
# Reused from schema/edoxen.yaml (re-declared here so this file is
|
|
26
|
-
# self-contained — schema/meeting.yaml does not depend on
|
|
27
|
-
# schema/edoxen.yaml).
|
|
28
|
-
# ====================================================================
|
|
29
|
-
|
|
19
|
+
- "$ref": "#/$defs/MeetingCollection"
|
|
20
|
+
- "$ref": "#/$defs/Meeting"
|
|
21
|
+
- "$ref": "#/$defs/MeetingSeries"
|
|
22
|
+
"$defs":
|
|
30
23
|
StructuredIdentifier:
|
|
31
24
|
type: object
|
|
32
|
-
description:
|
|
25
|
+
description: An identifier (prefix + number). A Decision carries 1..* of these.
|
|
33
26
|
additionalProperties: false
|
|
34
|
-
required:
|
|
27
|
+
required:
|
|
28
|
+
- prefix
|
|
29
|
+
- number
|
|
35
30
|
properties:
|
|
36
|
-
prefix:
|
|
37
|
-
|
|
38
|
-
|
|
31
|
+
prefix:
|
|
32
|
+
type: string
|
|
33
|
+
number:
|
|
34
|
+
type: string
|
|
35
|
+
EntityRef:
|
|
36
|
+
type: object
|
|
37
|
+
description: |
|
|
38
|
+
Typed cross-reference between entities (1.0, TODO.refactor/1.0-design).
|
|
39
|
+
Exactly one of `urn`, `identifier`, or `local_ref` should be set;
|
|
40
|
+
the gem's `EntityRef#valid?` enforces this in Ruby.
|
|
41
|
+
additionalProperties: false
|
|
42
|
+
properties:
|
|
43
|
+
urn:
|
|
44
|
+
type: string
|
|
45
|
+
identifier:
|
|
46
|
+
"$ref": "#/$defs/StructuredIdentifier"
|
|
47
|
+
local_ref:
|
|
48
|
+
type: string
|
|
49
|
+
kind:
|
|
50
|
+
type: string
|
|
51
|
+
role:
|
|
52
|
+
type: string
|
|
53
|
+
note:
|
|
54
|
+
type: string
|
|
39
55
|
SourceUrl:
|
|
40
56
|
type: object
|
|
41
|
-
description:
|
|
57
|
+
description: Per-spelling canonical source URL (e.g. one PDF per language).
|
|
42
58
|
additionalProperties: false
|
|
43
|
-
required:
|
|
59
|
+
required:
|
|
60
|
+
- ref
|
|
44
61
|
properties:
|
|
45
|
-
ref:
|
|
46
|
-
|
|
47
|
-
|
|
62
|
+
ref:
|
|
63
|
+
type: string
|
|
64
|
+
format:
|
|
48
65
|
type: string
|
|
49
|
-
|
|
66
|
+
spelling:
|
|
67
|
+
type: string
|
|
68
|
+
description: ISO 24229 spelling/conversion system code
|
|
50
69
|
kind:
|
|
51
|
-
$ref: "#/$defs/SourceUrlKind"
|
|
52
|
-
|
|
53
|
-
# ====================================================================
|
|
54
|
-
# Meeting-side primitive types.
|
|
55
|
-
# ====================================================================
|
|
56
|
-
|
|
70
|
+
"$ref": "#/$defs/SourceUrlKind"
|
|
57
71
|
DateRange:
|
|
58
72
|
type: object
|
|
59
|
-
description:
|
|
73
|
+
description: Start + end date pair for multi-day meetings.
|
|
60
74
|
additionalProperties: false
|
|
61
75
|
properties:
|
|
62
76
|
start:
|
|
@@ -65,102 +79,411 @@ $defs:
|
|
|
65
79
|
end:
|
|
66
80
|
type: string
|
|
67
81
|
format: date
|
|
68
|
-
|
|
69
|
-
|
|
82
|
+
ContactMethodKind:
|
|
83
|
+
type: string
|
|
84
|
+
description: Polymorphic communication channel kind.
|
|
85
|
+
enum:
|
|
86
|
+
- phone
|
|
87
|
+
- mobile
|
|
88
|
+
- fax
|
|
89
|
+
- email
|
|
90
|
+
- url
|
|
91
|
+
- mail
|
|
92
|
+
- pager
|
|
93
|
+
- message
|
|
94
|
+
- other
|
|
95
|
+
LocalizedString:
|
|
70
96
|
type: object
|
|
71
|
-
description:
|
|
97
|
+
description: |
|
|
98
|
+
One language-specific value of a translatable String field.
|
|
99
|
+
`spelling` is an ISO 24229 spelling/conversion system code.
|
|
100
|
+
Always verbose — single-language data uses the same
|
|
101
|
+
`[{ spelling, value }]` shape as multi-language data.
|
|
72
102
|
additionalProperties: false
|
|
103
|
+
required:
|
|
104
|
+
- spelling
|
|
105
|
+
- value
|
|
73
106
|
properties:
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
107
|
+
spelling:
|
|
108
|
+
type: string
|
|
109
|
+
value:
|
|
110
|
+
type: string
|
|
111
|
+
extensions:
|
|
112
|
+
type: array
|
|
113
|
+
items:
|
|
114
|
+
"$ref": "#/$defs/MeetingExtension"
|
|
115
|
+
LocalizedName:
|
|
116
|
+
type: object
|
|
117
|
+
description: |
|
|
118
|
+
One language-specific value of a translatable Name field.
|
|
119
|
+
Mirrors LocalizedString but carries a structured Name.
|
|
120
|
+
additionalProperties: false
|
|
121
|
+
required:
|
|
122
|
+
- spelling
|
|
123
|
+
- value
|
|
124
|
+
properties:
|
|
125
|
+
spelling:
|
|
126
|
+
type: string
|
|
127
|
+
value:
|
|
128
|
+
"$ref": "#/$defs/Name"
|
|
129
|
+
extensions:
|
|
130
|
+
type: array
|
|
131
|
+
items:
|
|
132
|
+
"$ref": "#/$defs/MeetingExtension"
|
|
133
|
+
ContactMethod:
|
|
134
|
+
type: object
|
|
135
|
+
description: |
|
|
136
|
+
One polymorphic communication channel — phone, email, fax, url,
|
|
137
|
+
mail, etc. `kind` discriminates the channel; `value` carries the
|
|
138
|
+
address/number; `label` is a free-form display hint ("Office",
|
|
139
|
+
"Front desk"). OCP: new channel kinds are added via the
|
|
140
|
+
ContactMethodKind enum (or `other` + extensions).
|
|
141
|
+
additionalProperties: false
|
|
142
|
+
properties:
|
|
143
|
+
kind:
|
|
144
|
+
"$ref": "#/$defs/ContactMethodKind"
|
|
145
|
+
value:
|
|
146
|
+
type: string
|
|
147
|
+
label:
|
|
148
|
+
type: string
|
|
149
|
+
primary:
|
|
150
|
+
type: boolean
|
|
151
|
+
extensions:
|
|
152
|
+
type: array
|
|
153
|
+
items:
|
|
154
|
+
"$ref": "#/$defs/MeetingExtension"
|
|
155
|
+
ContactIdentifierKind:
|
|
156
|
+
type: string
|
|
157
|
+
description: Polymorphic external identifier scheme for a Contact.
|
|
158
|
+
enum:
|
|
159
|
+
- orcid
|
|
160
|
+
- isni
|
|
161
|
+
- wikidata
|
|
162
|
+
- ror
|
|
163
|
+
- ringgold
|
|
164
|
+
- github
|
|
165
|
+
- other
|
|
166
|
+
ContactIdentifier:
|
|
167
|
+
type: object
|
|
168
|
+
description: |
|
|
169
|
+
One polymorphic external identifier — ORCID, ISNI, Wikidata QID,
|
|
170
|
+
ROR, Ringgold, GitHub handle, etc. Replaces the hard-coded `orcid`
|
|
171
|
+
field. OCP: new identifier schemes are added via the
|
|
172
|
+
ContactIdentifierKind enum (or `other` + extensions).
|
|
173
|
+
additionalProperties: false
|
|
174
|
+
properties:
|
|
175
|
+
kind:
|
|
176
|
+
"$ref": "#/$defs/ContactIdentifierKind"
|
|
177
|
+
value:
|
|
178
|
+
type: string
|
|
179
|
+
extensions:
|
|
180
|
+
type: array
|
|
181
|
+
items:
|
|
182
|
+
"$ref": "#/$defs/MeetingExtension"
|
|
183
|
+
Name:
|
|
184
|
+
type: object
|
|
185
|
+
description: |
|
|
186
|
+
Structured personal/organisational name (VCARD RFC 6350
|
|
187
|
+
conventions). `formatted` is the pre-built display string (FN);
|
|
188
|
+
the structured components (N) are stored separately for sorting,
|
|
189
|
+
indexing, or locale-aware rendering.
|
|
190
|
+
additionalProperties: false
|
|
191
|
+
properties:
|
|
192
|
+
formatted:
|
|
193
|
+
type: string
|
|
194
|
+
family:
|
|
195
|
+
type: string
|
|
196
|
+
given:
|
|
197
|
+
type: string
|
|
198
|
+
additional:
|
|
199
|
+
type: string
|
|
200
|
+
prefix:
|
|
201
|
+
type: string
|
|
202
|
+
suffix:
|
|
203
|
+
type: string
|
|
204
|
+
extensions:
|
|
205
|
+
type: array
|
|
206
|
+
items:
|
|
207
|
+
"$ref": "#/$defs/MeetingExtension"
|
|
208
|
+
Contact:
|
|
209
|
+
type: object
|
|
210
|
+
description: |
|
|
211
|
+
VCARD-like abstract contact. 1.0: per-field Localized
|
|
212
|
+
(name, title, affiliation, address). Added `urn` (registry
|
|
213
|
+
identity) and `ref` (reference-by-URN).
|
|
214
|
+
additionalProperties: false
|
|
215
|
+
properties:
|
|
216
|
+
ref:
|
|
217
|
+
type: string
|
|
218
|
+
description: URN reference; if set, ignore other fields
|
|
219
|
+
urn:
|
|
220
|
+
type: string
|
|
221
|
+
pattern: "^urn:edoxen:contact:[^:]+:[^:]+$"
|
|
222
|
+
name:
|
|
223
|
+
type: array
|
|
224
|
+
items:
|
|
225
|
+
"$ref": "#/$defs/LocalizedName"
|
|
226
|
+
kind:
|
|
227
|
+
type: string
|
|
228
|
+
role:
|
|
229
|
+
type: string
|
|
230
|
+
title:
|
|
231
|
+
type: array
|
|
232
|
+
items:
|
|
233
|
+
"$ref": "#/$defs/LocalizedString"
|
|
234
|
+
affiliation:
|
|
235
|
+
type: array
|
|
236
|
+
items:
|
|
237
|
+
"$ref": "#/$defs/LocalizedString"
|
|
238
|
+
contact_methods:
|
|
239
|
+
type: array
|
|
240
|
+
items:
|
|
241
|
+
"$ref": "#/$defs/ContactMethod"
|
|
242
|
+
identifiers:
|
|
243
|
+
type: array
|
|
244
|
+
items:
|
|
245
|
+
"$ref": "#/$defs/ContactIdentifier"
|
|
246
|
+
address:
|
|
247
|
+
type: array
|
|
248
|
+
items:
|
|
249
|
+
"$ref": "#/$defs/LocalizedString"
|
|
250
|
+
extensions:
|
|
251
|
+
type: array
|
|
252
|
+
items:
|
|
253
|
+
"$ref": "#/$defs/MeetingExtension"
|
|
82
254
|
Person:
|
|
83
255
|
type: object
|
|
84
|
-
description:
|
|
256
|
+
description: |
|
|
257
|
+
A Contact that is specifically an individual human. Schema
|
|
258
|
+
duplicates Contact's properties because JSON-Schema draft-07
|
|
259
|
+
doesn't support `extends`. Same shape; semantically a subclass.
|
|
85
260
|
additionalProperties: false
|
|
86
261
|
properties:
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
262
|
+
ref:
|
|
263
|
+
type: string
|
|
264
|
+
urn:
|
|
265
|
+
type: string
|
|
266
|
+
pattern: "^urn:edoxen:contact:[^:]+:[^:]+$"
|
|
267
|
+
name:
|
|
268
|
+
type: array
|
|
269
|
+
items:
|
|
270
|
+
"$ref": "#/$defs/LocalizedName"
|
|
271
|
+
kind:
|
|
272
|
+
type: string
|
|
273
|
+
role:
|
|
274
|
+
type: string
|
|
275
|
+
title:
|
|
276
|
+
type: array
|
|
277
|
+
items:
|
|
278
|
+
"$ref": "#/$defs/LocalizedString"
|
|
279
|
+
affiliation:
|
|
280
|
+
type: array
|
|
281
|
+
items:
|
|
282
|
+
"$ref": "#/$defs/LocalizedString"
|
|
283
|
+
contact_methods:
|
|
284
|
+
type: array
|
|
285
|
+
items:
|
|
286
|
+
"$ref": "#/$defs/ContactMethod"
|
|
287
|
+
identifiers:
|
|
288
|
+
type: array
|
|
289
|
+
items:
|
|
290
|
+
"$ref": "#/$defs/ContactIdentifier"
|
|
291
|
+
address:
|
|
292
|
+
type: array
|
|
293
|
+
items:
|
|
294
|
+
"$ref": "#/$defs/LocalizedString"
|
|
295
|
+
extensions:
|
|
296
|
+
type: array
|
|
297
|
+
items:
|
|
298
|
+
"$ref": "#/$defs/MeetingExtension"
|
|
94
299
|
HostRef:
|
|
95
300
|
type: object
|
|
96
|
-
description:
|
|
301
|
+
description: Typed reference to a hosting organization.
|
|
97
302
|
additionalProperties: false
|
|
98
|
-
required:
|
|
303
|
+
required:
|
|
304
|
+
- ref
|
|
99
305
|
properties:
|
|
100
|
-
ref:
|
|
306
|
+
ref:
|
|
307
|
+
type: string
|
|
101
308
|
type:
|
|
102
|
-
$ref: "#/$defs/HostType"
|
|
103
|
-
role:
|
|
309
|
+
"$ref": "#/$defs/HostType"
|
|
310
|
+
role:
|
|
311
|
+
type: string
|
|
104
312
|
contact:
|
|
105
|
-
$ref: "#/$defs/
|
|
106
|
-
|
|
107
|
-
ScheduleItem:
|
|
313
|
+
"$ref": "#/$defs/Contact"
|
|
314
|
+
Attendance:
|
|
108
315
|
type: object
|
|
109
|
-
description:
|
|
316
|
+
description: One attendance record per person at a Meeting.
|
|
110
317
|
additionalProperties: false
|
|
318
|
+
required:
|
|
319
|
+
- person
|
|
320
|
+
- status
|
|
111
321
|
properties:
|
|
112
|
-
|
|
322
|
+
person:
|
|
323
|
+
"$ref": "#/$defs/Person"
|
|
324
|
+
status:
|
|
325
|
+
"$ref": "#/$defs/ParticipationStatus"
|
|
326
|
+
role:
|
|
327
|
+
"$ref": "#/$defs/AttendanceRole"
|
|
328
|
+
response:
|
|
329
|
+
"$ref": "#/$defs/AttendanceResponse"
|
|
330
|
+
affiliation:
|
|
113
331
|
type: string
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
332
|
+
proxy_for:
|
|
333
|
+
"$ref": "#/$defs/Person"
|
|
334
|
+
notes:
|
|
335
|
+
type: string
|
|
336
|
+
extensions:
|
|
337
|
+
type: array
|
|
338
|
+
items:
|
|
339
|
+
"$ref": "#/$defs/MeetingExtension"
|
|
340
|
+
VoteRecord:
|
|
341
|
+
type: object
|
|
342
|
+
description: One vote by one person on one decision/voting.
|
|
343
|
+
additionalProperties: false
|
|
344
|
+
required:
|
|
345
|
+
- person
|
|
346
|
+
- vote
|
|
347
|
+
properties:
|
|
348
|
+
decision_ref:
|
|
349
|
+
type: string
|
|
350
|
+
voting_ref:
|
|
351
|
+
type: string
|
|
352
|
+
person:
|
|
353
|
+
"$ref": "#/$defs/Person"
|
|
354
|
+
affiliation:
|
|
355
|
+
type: string
|
|
356
|
+
vote:
|
|
357
|
+
"$ref": "#/$defs/VoteType"
|
|
358
|
+
role:
|
|
359
|
+
type: string
|
|
360
|
+
notes:
|
|
361
|
+
type: string
|
|
362
|
+
extensions:
|
|
363
|
+
type: array
|
|
364
|
+
items:
|
|
365
|
+
"$ref": "#/$defs/MeetingExtension"
|
|
366
|
+
MinutesSection:
|
|
367
|
+
type: object
|
|
368
|
+
description: 'One section of a Meeting''s minutes — typically tied to an agenda item by `number`. 1.0: per-field Localized.'
|
|
369
|
+
additionalProperties: false
|
|
370
|
+
properties:
|
|
371
|
+
number:
|
|
372
|
+
type: string
|
|
373
|
+
title:
|
|
374
|
+
type: array
|
|
375
|
+
items:
|
|
376
|
+
"$ref": "#/$defs/LocalizedString"
|
|
377
|
+
narrative:
|
|
378
|
+
type: array
|
|
379
|
+
items:
|
|
380
|
+
"$ref": "#/$defs/LocalizedString"
|
|
381
|
+
page_start:
|
|
382
|
+
type: integer
|
|
383
|
+
page_end:
|
|
384
|
+
type: integer
|
|
385
|
+
references:
|
|
386
|
+
type: array
|
|
387
|
+
items:
|
|
388
|
+
"$ref": "#/$defs/Reference"
|
|
389
|
+
statements:
|
|
390
|
+
type: array
|
|
391
|
+
items:
|
|
392
|
+
"$ref": "#/$defs/Statement"
|
|
393
|
+
topic_ref:
|
|
394
|
+
type: string
|
|
395
|
+
description: |
|
|
396
|
+
URN back-reference to the Topic this section records.
|
|
397
|
+
Optional; formalises the convention that
|
|
398
|
+
`MinutesSection#number` matches `AgendaItem#label`.
|
|
399
|
+
Minutes:
|
|
400
|
+
type: object
|
|
401
|
+
description: |
|
|
402
|
+
The narrative record of a Meeting. 1.0: per-document language_code
|
|
403
|
+
+ script replaced by a single `spelling` (ISO 24229).
|
|
404
|
+
additionalProperties: false
|
|
405
|
+
properties:
|
|
406
|
+
identifier:
|
|
407
|
+
type: array
|
|
408
|
+
items:
|
|
409
|
+
"$ref": "#/$defs/StructuredIdentifier"
|
|
410
|
+
urn:
|
|
411
|
+
type: string
|
|
412
|
+
spelling:
|
|
413
|
+
type: string
|
|
414
|
+
description: ISO 24229 spelling/conversion system code
|
|
415
|
+
source_doc:
|
|
416
|
+
type: string
|
|
417
|
+
source_pages:
|
|
418
|
+
type: string
|
|
419
|
+
sections:
|
|
420
|
+
type: array
|
|
421
|
+
items:
|
|
422
|
+
"$ref": "#/$defs/MinutesSection"
|
|
120
423
|
Deadline:
|
|
121
424
|
type: object
|
|
122
|
-
description:
|
|
425
|
+
description: 'A time-bound requirement. 1.0: per-field Localized.'
|
|
123
426
|
additionalProperties: false
|
|
124
|
-
required:
|
|
427
|
+
required:
|
|
428
|
+
- date
|
|
125
429
|
properties:
|
|
126
430
|
date:
|
|
127
431
|
type: string
|
|
128
432
|
format: date
|
|
129
|
-
description:
|
|
130
|
-
|
|
433
|
+
description:
|
|
434
|
+
type: array
|
|
435
|
+
items:
|
|
436
|
+
"$ref": "#/$defs/LocalizedString"
|
|
131
437
|
Reference:
|
|
132
438
|
type: object
|
|
133
|
-
description:
|
|
439
|
+
description: Generic document reference.
|
|
134
440
|
additionalProperties: false
|
|
135
441
|
properties:
|
|
136
|
-
ref:
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
442
|
+
ref:
|
|
443
|
+
type: string
|
|
444
|
+
kind:
|
|
445
|
+
type: string
|
|
446
|
+
title:
|
|
447
|
+
type: array
|
|
448
|
+
items:
|
|
449
|
+
"$ref": "#/$defs/LocalizedString"
|
|
144
450
|
AgendaItem:
|
|
145
451
|
type: object
|
|
146
|
-
description:
|
|
452
|
+
description: 'One entry on an Agenda. 1.0: per-field Localized.'
|
|
147
453
|
additionalProperties: false
|
|
148
454
|
properties:
|
|
149
|
-
label:
|
|
455
|
+
label:
|
|
456
|
+
type: string
|
|
150
457
|
kind:
|
|
151
|
-
$ref: "#/$defs/AgendaItemKind"
|
|
152
|
-
title:
|
|
153
|
-
|
|
458
|
+
"$ref": "#/$defs/AgendaItemKind"
|
|
459
|
+
title:
|
|
460
|
+
type: array
|
|
461
|
+
items:
|
|
462
|
+
"$ref": "#/$defs/LocalizedString"
|
|
463
|
+
description:
|
|
464
|
+
type: array
|
|
465
|
+
items:
|
|
466
|
+
"$ref": "#/$defs/LocalizedString"
|
|
154
467
|
references:
|
|
155
468
|
type: array
|
|
156
469
|
items:
|
|
157
|
-
$ref: "#/$defs/Reference"
|
|
470
|
+
"$ref": "#/$defs/Reference"
|
|
158
471
|
outcome:
|
|
159
|
-
$ref: "#/$defs/AgendaItemOutcome"
|
|
160
|
-
|
|
472
|
+
"$ref": "#/$defs/AgendaItemOutcome"
|
|
473
|
+
decision_ref:
|
|
161
474
|
type: string
|
|
162
|
-
|
|
163
|
-
|
|
475
|
+
topics:
|
|
476
|
+
type: array
|
|
477
|
+
items:
|
|
478
|
+
"$ref": "#/$defs/Topic"
|
|
479
|
+
components:
|
|
480
|
+
type: array
|
|
481
|
+
items:
|
|
482
|
+
type: string
|
|
483
|
+
extensions:
|
|
484
|
+
type: array
|
|
485
|
+
items:
|
|
486
|
+
"$ref": "#/$defs/MeetingExtension"
|
|
164
487
|
Agenda:
|
|
165
488
|
type: object
|
|
166
489
|
description: |
|
|
@@ -171,188 +494,922 @@ $defs:
|
|
|
171
494
|
identifier:
|
|
172
495
|
type: array
|
|
173
496
|
items:
|
|
174
|
-
$ref: "#/$defs/StructuredIdentifier"
|
|
497
|
+
"$ref": "#/$defs/StructuredIdentifier"
|
|
175
498
|
status:
|
|
176
|
-
$ref: "#/$defs/AgendaStatus"
|
|
177
|
-
source_doc:
|
|
499
|
+
"$ref": "#/$defs/AgendaStatus"
|
|
500
|
+
source_doc:
|
|
501
|
+
type: string
|
|
178
502
|
items:
|
|
179
503
|
type: array
|
|
180
504
|
items:
|
|
181
|
-
$ref: "#/$defs/AgendaItem"
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
# ====================================================================
|
|
188
|
-
# Meeting side.
|
|
189
|
-
# ====================================================================
|
|
190
|
-
|
|
191
|
-
MeetingRelation:
|
|
505
|
+
"$ref": "#/$defs/AgendaItem"
|
|
506
|
+
extensions:
|
|
507
|
+
type: array
|
|
508
|
+
items:
|
|
509
|
+
"$ref": "#/$defs/MeetingExtension"
|
|
510
|
+
TopicDocument:
|
|
192
511
|
type: object
|
|
193
|
-
description:
|
|
512
|
+
description: 'Text-bearing document about a Topic. 1.0: per-field Localized.'
|
|
194
513
|
additionalProperties: false
|
|
195
|
-
required: [source, destination, type]
|
|
196
514
|
properties:
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
515
|
+
identifier:
|
|
516
|
+
type: string
|
|
517
|
+
title:
|
|
518
|
+
type: array
|
|
519
|
+
items:
|
|
520
|
+
"$ref": "#/$defs/LocalizedString"
|
|
521
|
+
version:
|
|
522
|
+
type: string
|
|
523
|
+
status:
|
|
524
|
+
type: string
|
|
525
|
+
url:
|
|
526
|
+
type: string
|
|
527
|
+
format:
|
|
528
|
+
type: string
|
|
529
|
+
spelling:
|
|
530
|
+
type: string
|
|
531
|
+
description: ISO 24229 spelling/conversion system code
|
|
532
|
+
extensions:
|
|
533
|
+
type: array
|
|
534
|
+
items:
|
|
535
|
+
"$ref": "#/$defs/MeetingExtension"
|
|
536
|
+
TopicAsset:
|
|
537
|
+
type: object
|
|
538
|
+
description: 'Non-text resource about a Topic. 1.0: per-field Localized.'
|
|
539
|
+
additionalProperties: false
|
|
540
|
+
properties:
|
|
541
|
+
identifier:
|
|
542
|
+
type: string
|
|
543
|
+
title:
|
|
544
|
+
type: array
|
|
545
|
+
items:
|
|
546
|
+
"$ref": "#/$defs/LocalizedString"
|
|
547
|
+
kind:
|
|
548
|
+
type: string
|
|
549
|
+
url:
|
|
550
|
+
type: string
|
|
551
|
+
format:
|
|
552
|
+
type: string
|
|
553
|
+
extensions:
|
|
554
|
+
type: array
|
|
555
|
+
items:
|
|
556
|
+
"$ref": "#/$defs/MeetingExtension"
|
|
557
|
+
Topic:
|
|
558
|
+
type: object
|
|
559
|
+
description: 'The subject of discussion at a Meeting. 1.0: per-field Localized.'
|
|
560
|
+
additionalProperties: false
|
|
561
|
+
properties:
|
|
562
|
+
identifier:
|
|
563
|
+
type: string
|
|
564
|
+
urn:
|
|
565
|
+
type: string
|
|
566
|
+
title:
|
|
567
|
+
type: array
|
|
568
|
+
items:
|
|
569
|
+
"$ref": "#/$defs/LocalizedString"
|
|
570
|
+
description:
|
|
571
|
+
type: array
|
|
572
|
+
items:
|
|
573
|
+
"$ref": "#/$defs/LocalizedString"
|
|
574
|
+
status:
|
|
575
|
+
"$ref": "#/$defs/TopicStatus"
|
|
576
|
+
resumption_of:
|
|
577
|
+
type: string
|
|
578
|
+
documents:
|
|
579
|
+
type: array
|
|
580
|
+
items:
|
|
581
|
+
"$ref": "#/$defs/TopicDocument"
|
|
582
|
+
assets:
|
|
583
|
+
type: array
|
|
584
|
+
items:
|
|
585
|
+
"$ref": "#/$defs/TopicAsset"
|
|
586
|
+
references:
|
|
587
|
+
type: array
|
|
588
|
+
items:
|
|
589
|
+
"$ref": "#/$defs/Reference"
|
|
590
|
+
motions:
|
|
591
|
+
type: array
|
|
592
|
+
items:
|
|
593
|
+
type: string
|
|
594
|
+
decisions:
|
|
595
|
+
type: array
|
|
596
|
+
items:
|
|
597
|
+
type: string
|
|
598
|
+
statements:
|
|
599
|
+
type: array
|
|
600
|
+
items:
|
|
601
|
+
"$ref": "#/$defs/Statement"
|
|
602
|
+
declarations:
|
|
603
|
+
type: array
|
|
604
|
+
items:
|
|
605
|
+
"$ref": "#/$defs/Declaration"
|
|
606
|
+
extensions:
|
|
607
|
+
type: array
|
|
608
|
+
items:
|
|
609
|
+
"$ref": "#/$defs/MeetingExtension"
|
|
610
|
+
Venue:
|
|
611
|
+
type: object
|
|
612
|
+
description: |
|
|
613
|
+
Polymorphic place where a Meeting happens. `kind` discriminates
|
|
614
|
+
physical vs virtual; all fields from both subtypes live here as
|
|
615
|
+
optional siblings. 1.0: per-field Localized (name, label,
|
|
616
|
+
description, address, building, floor, room, access_notes).
|
|
617
|
+
Added `urn` (registry identity) and `ref` (reference-by-URN).
|
|
618
|
+
additionalProperties: false
|
|
619
|
+
properties:
|
|
620
|
+
ref:
|
|
621
|
+
type: string
|
|
622
|
+
description: URN reference; if set, ignore other fields
|
|
623
|
+
urn:
|
|
624
|
+
type: string
|
|
625
|
+
pattern: "^urn:edoxen:venue:[^:]+:[^:]+$"
|
|
626
|
+
kind:
|
|
627
|
+
"$ref": "#/$defs/VenueKind"
|
|
628
|
+
name:
|
|
629
|
+
type: array
|
|
630
|
+
items:
|
|
631
|
+
"$ref": "#/$defs/LocalizedString"
|
|
632
|
+
label:
|
|
633
|
+
type: array
|
|
634
|
+
items:
|
|
635
|
+
"$ref": "#/$defs/LocalizedString"
|
|
636
|
+
description:
|
|
637
|
+
type: array
|
|
638
|
+
items:
|
|
639
|
+
"$ref": "#/$defs/LocalizedString"
|
|
640
|
+
capacity:
|
|
641
|
+
type: integer
|
|
642
|
+
url:
|
|
643
|
+
type: string
|
|
644
|
+
contact_methods:
|
|
645
|
+
type: array
|
|
646
|
+
items:
|
|
647
|
+
"$ref": "#/$defs/ContactMethod"
|
|
648
|
+
unlocode:
|
|
649
|
+
type: string
|
|
650
|
+
pattern: "^[A-Z]{2}[A-Z0-9]{3}$"
|
|
651
|
+
iata_code:
|
|
652
|
+
type: string
|
|
653
|
+
pattern: "^[A-Z]{3}$"
|
|
654
|
+
address:
|
|
655
|
+
type: array
|
|
656
|
+
items:
|
|
657
|
+
"$ref": "#/$defs/LocalizedString"
|
|
658
|
+
city:
|
|
659
|
+
type: string
|
|
660
|
+
country_code:
|
|
661
|
+
type: string
|
|
662
|
+
pattern: "^[A-Z]{2}$"
|
|
663
|
+
lat:
|
|
664
|
+
type: number
|
|
665
|
+
lon:
|
|
666
|
+
type: number
|
|
667
|
+
building:
|
|
668
|
+
type: array
|
|
669
|
+
items:
|
|
670
|
+
"$ref": "#/$defs/LocalizedString"
|
|
671
|
+
floor:
|
|
672
|
+
type: array
|
|
673
|
+
items:
|
|
674
|
+
"$ref": "#/$defs/LocalizedString"
|
|
675
|
+
room:
|
|
676
|
+
type: array
|
|
677
|
+
items:
|
|
678
|
+
"$ref": "#/$defs/LocalizedString"
|
|
679
|
+
access_notes:
|
|
680
|
+
type: array
|
|
681
|
+
items:
|
|
682
|
+
"$ref": "#/$defs/LocalizedString"
|
|
683
|
+
uri:
|
|
684
|
+
type: string
|
|
685
|
+
features:
|
|
686
|
+
type: array
|
|
687
|
+
items:
|
|
688
|
+
"$ref": "#/$defs/VirtualFeature"
|
|
689
|
+
passcode:
|
|
690
|
+
type: string
|
|
691
|
+
meeting_id:
|
|
692
|
+
type: string
|
|
693
|
+
dial_in_numbers:
|
|
694
|
+
type: array
|
|
695
|
+
items:
|
|
696
|
+
type: string
|
|
697
|
+
waiting_room:
|
|
698
|
+
type: boolean
|
|
699
|
+
registration_required:
|
|
700
|
+
type: boolean
|
|
701
|
+
extensions:
|
|
702
|
+
type: array
|
|
703
|
+
items:
|
|
704
|
+
"$ref": "#/$defs/MeetingExtension"
|
|
705
|
+
RecurrenceByDay:
|
|
706
|
+
type: object
|
|
707
|
+
description: BYDAY part of a recurrence. `ordinal` is null for 'every', +1 for first, -1 for last.
|
|
708
|
+
additionalProperties: false
|
|
709
|
+
properties:
|
|
710
|
+
ordinal:
|
|
711
|
+
type: integer
|
|
712
|
+
weekday:
|
|
713
|
+
type: string
|
|
714
|
+
Recurrence:
|
|
715
|
+
type: object
|
|
716
|
+
description: Structured ISO 8601-2 §13 recurrence.
|
|
717
|
+
additionalProperties: false
|
|
718
|
+
properties:
|
|
719
|
+
freq:
|
|
720
|
+
"$ref": "#/$defs/RecurrenceFreq"
|
|
721
|
+
interval:
|
|
722
|
+
type: integer
|
|
723
|
+
count:
|
|
724
|
+
type: integer
|
|
725
|
+
until:
|
|
726
|
+
type: string
|
|
727
|
+
format: date-time
|
|
728
|
+
by_day:
|
|
729
|
+
type: array
|
|
730
|
+
items:
|
|
731
|
+
"$ref": "#/$defs/RecurrenceByDay"
|
|
732
|
+
by_month_day:
|
|
733
|
+
type: array
|
|
734
|
+
items:
|
|
735
|
+
type: integer
|
|
736
|
+
by_month:
|
|
737
|
+
type: array
|
|
738
|
+
items:
|
|
739
|
+
type: integer
|
|
740
|
+
by_week_no:
|
|
741
|
+
type: array
|
|
742
|
+
items:
|
|
743
|
+
type: integer
|
|
744
|
+
by_year_day:
|
|
745
|
+
type: array
|
|
746
|
+
items:
|
|
747
|
+
type: integer
|
|
748
|
+
by_hour:
|
|
749
|
+
type: array
|
|
750
|
+
items:
|
|
751
|
+
type: integer
|
|
752
|
+
by_minute:
|
|
753
|
+
type: array
|
|
754
|
+
items:
|
|
755
|
+
type: integer
|
|
756
|
+
by_second:
|
|
757
|
+
type: array
|
|
758
|
+
items:
|
|
759
|
+
type: integer
|
|
760
|
+
by_set_pos:
|
|
761
|
+
type: array
|
|
762
|
+
items:
|
|
763
|
+
type: integer
|
|
764
|
+
week_start:
|
|
765
|
+
type: string
|
|
766
|
+
extensions:
|
|
767
|
+
type: array
|
|
768
|
+
items:
|
|
769
|
+
"$ref": "#/$defs/MeetingExtension"
|
|
770
|
+
ExtensionAttribute:
|
|
771
|
+
type: object
|
|
772
|
+
description: |
|
|
773
|
+
One typed key/value pair within a MeetingExtension. Polymorphic on
|
|
774
|
+
value type so consumers don't re-parse strings back into Int/Float/
|
|
775
|
+
Bool/Date (1.0 tighten, TODO.refactor/1.0-design).
|
|
776
|
+
additionalProperties: false
|
|
777
|
+
properties:
|
|
778
|
+
key:
|
|
779
|
+
type: string
|
|
201
780
|
type:
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
781
|
+
type: string
|
|
782
|
+
enum:
|
|
783
|
+
- string
|
|
784
|
+
- integer
|
|
785
|
+
- float
|
|
786
|
+
- boolean
|
|
787
|
+
- date
|
|
788
|
+
- datetime
|
|
789
|
+
value:
|
|
790
|
+
type: string
|
|
791
|
+
intValue:
|
|
792
|
+
type: integer
|
|
793
|
+
floatValue:
|
|
794
|
+
type: number
|
|
795
|
+
booleanValue:
|
|
796
|
+
type: boolean
|
|
797
|
+
dateValue:
|
|
798
|
+
type: string
|
|
799
|
+
format: date
|
|
800
|
+
dateTimeValue:
|
|
801
|
+
type: string
|
|
802
|
+
format: date-time
|
|
803
|
+
MeetingExtension:
|
|
205
804
|
type: object
|
|
206
|
-
description:
|
|
805
|
+
description: |
|
|
806
|
+
Profile-specific extension. Adopters register their namespace via
|
|
807
|
+
`profile` and discriminate via `kind`. Field semantics tightened
|
|
808
|
+
1.0 (TODO.refactor/1.0-design): `kind` is the in-profile discriminator,
|
|
809
|
+
`ref` is the URN of an external profile document, and the
|
|
810
|
+
recursive `extensions[]` slot was removed (YAGNI — use dotted
|
|
811
|
+
keys in `attributes[]` for nesting).
|
|
207
812
|
additionalProperties: false
|
|
208
|
-
required: [language_code]
|
|
209
813
|
properties:
|
|
210
|
-
|
|
814
|
+
profile:
|
|
815
|
+
type: string
|
|
816
|
+
kind:
|
|
211
817
|
type: string
|
|
212
|
-
|
|
213
|
-
script:
|
|
818
|
+
ref:
|
|
214
819
|
type: string
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
820
|
+
attributes:
|
|
821
|
+
type: array
|
|
822
|
+
items:
|
|
823
|
+
"$ref": "#/$defs/ExtensionAttribute"
|
|
824
|
+
Officer:
|
|
825
|
+
type: object
|
|
826
|
+
description: A person holding a structural role in a Meeting.
|
|
827
|
+
additionalProperties: false
|
|
828
|
+
properties:
|
|
829
|
+
role:
|
|
830
|
+
"$ref": "#/$defs/OfficerRole"
|
|
831
|
+
person:
|
|
832
|
+
"$ref": "#/$defs/Person"
|
|
833
|
+
term_start:
|
|
834
|
+
type: string
|
|
835
|
+
format: date
|
|
836
|
+
term_end:
|
|
837
|
+
type: string
|
|
838
|
+
format: date
|
|
839
|
+
extensions:
|
|
840
|
+
type: array
|
|
841
|
+
items:
|
|
842
|
+
"$ref": "#/$defs/MeetingExtension"
|
|
843
|
+
MeetingComponent:
|
|
844
|
+
type: object
|
|
845
|
+
description: 'Flat sub-event of a Meeting. 1.0: per-field Localized.'
|
|
846
|
+
additionalProperties: false
|
|
847
|
+
properties:
|
|
848
|
+
identifier:
|
|
849
|
+
type: string
|
|
850
|
+
urn:
|
|
851
|
+
type: string
|
|
852
|
+
kind:
|
|
853
|
+
"$ref": "#/$defs/ComponentKind"
|
|
854
|
+
body_type:
|
|
855
|
+
type: string
|
|
856
|
+
title:
|
|
857
|
+
type: array
|
|
858
|
+
items:
|
|
859
|
+
"$ref": "#/$defs/LocalizedString"
|
|
860
|
+
description:
|
|
861
|
+
type: array
|
|
862
|
+
items:
|
|
863
|
+
"$ref": "#/$defs/LocalizedString"
|
|
864
|
+
starts_at:
|
|
865
|
+
type: string
|
|
866
|
+
format: date-time
|
|
867
|
+
ends_at:
|
|
868
|
+
type: string
|
|
869
|
+
format: date-time
|
|
870
|
+
time_label:
|
|
871
|
+
type: array
|
|
872
|
+
items:
|
|
873
|
+
"$ref": "#/$defs/LocalizedString"
|
|
874
|
+
venue_refs:
|
|
875
|
+
type: array
|
|
876
|
+
items:
|
|
877
|
+
type: string
|
|
878
|
+
officers:
|
|
879
|
+
type: array
|
|
880
|
+
items:
|
|
881
|
+
"$ref": "#/$defs/Officer"
|
|
882
|
+
agenda_ref:
|
|
883
|
+
type: string
|
|
884
|
+
minutes_ref:
|
|
885
|
+
type: string
|
|
886
|
+
attendance_refs:
|
|
887
|
+
type: array
|
|
888
|
+
items:
|
|
889
|
+
type: string
|
|
890
|
+
extensions:
|
|
891
|
+
type: array
|
|
892
|
+
items:
|
|
893
|
+
"$ref": "#/$defs/MeetingExtension"
|
|
894
|
+
MeetingSeries:
|
|
895
|
+
type: object
|
|
896
|
+
description: 'Parent of recurring Meeting instances. 1.0: per-field Localized.'
|
|
897
|
+
additionalProperties: false
|
|
898
|
+
properties:
|
|
899
|
+
identifier:
|
|
900
|
+
type: array
|
|
901
|
+
items:
|
|
902
|
+
"$ref": "#/$defs/StructuredIdentifier"
|
|
903
|
+
urn:
|
|
904
|
+
type: string
|
|
905
|
+
name:
|
|
906
|
+
type: array
|
|
907
|
+
items:
|
|
908
|
+
"$ref": "#/$defs/LocalizedString"
|
|
909
|
+
description:
|
|
910
|
+
type: array
|
|
911
|
+
items:
|
|
912
|
+
"$ref": "#/$defs/LocalizedString"
|
|
913
|
+
recurrence:
|
|
914
|
+
"$ref": "#/$defs/Recurrence"
|
|
915
|
+
term:
|
|
916
|
+
type: string
|
|
917
|
+
contact:
|
|
918
|
+
"$ref": "#/$defs/Contact"
|
|
919
|
+
hosts:
|
|
920
|
+
type: array
|
|
921
|
+
items:
|
|
922
|
+
"$ref": "#/$defs/HostRef"
|
|
923
|
+
kind:
|
|
924
|
+
type: string
|
|
925
|
+
meeting_refs:
|
|
926
|
+
type: array
|
|
927
|
+
items:
|
|
928
|
+
type: string
|
|
929
|
+
extensions:
|
|
930
|
+
type: array
|
|
931
|
+
items:
|
|
932
|
+
"$ref": "#/$defs/MeetingExtension"
|
|
933
|
+
body_type:
|
|
934
|
+
type: string
|
|
935
|
+
MeetingRelation:
|
|
936
|
+
type: object
|
|
937
|
+
description: Directed link between two meetings.
|
|
938
|
+
additionalProperties: false
|
|
939
|
+
required:
|
|
940
|
+
- source
|
|
941
|
+
- destination
|
|
942
|
+
- type
|
|
943
|
+
properties:
|
|
944
|
+
source:
|
|
945
|
+
"$ref": "#/$defs/StructuredIdentifier"
|
|
946
|
+
destination:
|
|
947
|
+
"$ref": "#/$defs/StructuredIdentifier"
|
|
948
|
+
type:
|
|
949
|
+
"$ref": "#/$defs/MeetingRelationType"
|
|
220
950
|
Meeting:
|
|
221
951
|
type: object
|
|
222
|
-
description:
|
|
952
|
+
description: 'A single Meeting (event). 1.0: per-field Localized.'
|
|
223
953
|
additionalProperties: false
|
|
224
|
-
required:
|
|
954
|
+
required:
|
|
955
|
+
- identifier
|
|
956
|
+
- type
|
|
225
957
|
properties:
|
|
226
958
|
identifier:
|
|
227
959
|
type: array
|
|
228
960
|
minItems: 1
|
|
229
961
|
items:
|
|
230
|
-
$ref: "#/$defs/StructuredIdentifier"
|
|
231
|
-
urn:
|
|
232
|
-
|
|
962
|
+
"$ref": "#/$defs/StructuredIdentifier"
|
|
963
|
+
urn:
|
|
964
|
+
type: string
|
|
965
|
+
ordinal:
|
|
966
|
+
type: integer
|
|
967
|
+
series_ref:
|
|
968
|
+
type: string
|
|
233
969
|
type:
|
|
234
|
-
$ref: "#/$defs/MeetingType"
|
|
970
|
+
"$ref": "#/$defs/MeetingType"
|
|
235
971
|
status:
|
|
236
|
-
$ref: "#/$defs/MeetingStatus"
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
972
|
+
"$ref": "#/$defs/MeetingStatus"
|
|
973
|
+
visibility:
|
|
974
|
+
"$ref": "#/$defs/Visibility"
|
|
975
|
+
body_type:
|
|
976
|
+
type: string
|
|
977
|
+
title:
|
|
978
|
+
type: array
|
|
979
|
+
items:
|
|
980
|
+
"$ref": "#/$defs/LocalizedString"
|
|
981
|
+
scheduled_date_range:
|
|
982
|
+
"$ref": "#/$defs/DateRange"
|
|
983
|
+
occurred_date_range:
|
|
984
|
+
"$ref": "#/$defs/DateTimeRange"
|
|
985
|
+
recurrence:
|
|
986
|
+
"$ref": "#/$defs/Recurrence"
|
|
245
987
|
venues:
|
|
246
988
|
type: array
|
|
247
989
|
items:
|
|
248
|
-
$ref: "#/$defs/
|
|
249
|
-
general_area:
|
|
250
|
-
|
|
990
|
+
"$ref": "#/$defs/Venue"
|
|
991
|
+
general_area:
|
|
992
|
+
type: array
|
|
993
|
+
items:
|
|
994
|
+
"$ref": "#/$defs/LocalizedString"
|
|
995
|
+
practical_info:
|
|
996
|
+
type: array
|
|
997
|
+
items:
|
|
998
|
+
"$ref": "#/$defs/LocalizedString"
|
|
999
|
+
city:
|
|
1000
|
+
type: string
|
|
1001
|
+
pattern: "^[A-Z]{2}[A-Z0-9]{3}$"
|
|
251
1002
|
country_code:
|
|
252
1003
|
type: string
|
|
253
1004
|
pattern: "^[A-Z]{2}$"
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
1005
|
+
committee:
|
|
1006
|
+
type: string
|
|
1007
|
+
committee_group:
|
|
1008
|
+
type: string
|
|
1009
|
+
officers:
|
|
1010
|
+
type: array
|
|
1011
|
+
items:
|
|
1012
|
+
"$ref": "#/$defs/Officer"
|
|
259
1013
|
hosts:
|
|
260
1014
|
type: array
|
|
261
1015
|
items:
|
|
262
|
-
$ref: "#/$defs/HostRef"
|
|
263
|
-
|
|
1016
|
+
"$ref": "#/$defs/HostRef"
|
|
264
1017
|
source_urls:
|
|
265
1018
|
type: array
|
|
266
1019
|
items:
|
|
267
|
-
$ref: "#/$defs/SourceUrl"
|
|
268
|
-
landing_url:
|
|
269
|
-
|
|
270
|
-
|
|
1020
|
+
"$ref": "#/$defs/SourceUrl"
|
|
1021
|
+
landing_url:
|
|
1022
|
+
type: string
|
|
1023
|
+
registration_url:
|
|
1024
|
+
type: string
|
|
1025
|
+
note:
|
|
1026
|
+
type: array
|
|
1027
|
+
items:
|
|
1028
|
+
"$ref": "#/$defs/LocalizedString"
|
|
1029
|
+
contact:
|
|
1030
|
+
"$ref": "#/$defs/Contact"
|
|
271
1031
|
agenda:
|
|
272
|
-
$ref: "#/$defs/Agenda"
|
|
273
|
-
|
|
1032
|
+
"$ref": "#/$defs/Agenda"
|
|
1033
|
+
components:
|
|
274
1034
|
type: array
|
|
275
1035
|
items:
|
|
276
|
-
$ref: "#/$defs/
|
|
1036
|
+
"$ref": "#/$defs/MeetingComponent"
|
|
277
1037
|
deadlines:
|
|
278
1038
|
type: array
|
|
279
1039
|
items:
|
|
280
|
-
$ref: "#/$defs/Deadline"
|
|
281
|
-
|
|
282
|
-
|
|
1040
|
+
"$ref": "#/$defs/Deadline"
|
|
1041
|
+
attendance:
|
|
1042
|
+
type: array
|
|
1043
|
+
items:
|
|
1044
|
+
"$ref": "#/$defs/Attendance"
|
|
1045
|
+
minutes:
|
|
1046
|
+
type: array
|
|
1047
|
+
items:
|
|
1048
|
+
"$ref": "#/$defs/Minutes"
|
|
1049
|
+
declarations:
|
|
283
1050
|
type: array
|
|
284
1051
|
items:
|
|
285
|
-
$ref: "#/$defs/
|
|
1052
|
+
"$ref": "#/$defs/Declaration"
|
|
1053
|
+
decisions:
|
|
1054
|
+
type: array
|
|
1055
|
+
items:
|
|
1056
|
+
"$ref": "#/$defs/StructuredIdentifier"
|
|
1057
|
+
motions:
|
|
1058
|
+
type: array
|
|
1059
|
+
items:
|
|
1060
|
+
"$ref": "#/$defs/StructuredIdentifier"
|
|
1061
|
+
votings:
|
|
1062
|
+
type: array
|
|
1063
|
+
items:
|
|
1064
|
+
"$ref": "#/$defs/StructuredIdentifier"
|
|
286
1065
|
relations:
|
|
287
1066
|
type: array
|
|
288
1067
|
items:
|
|
289
|
-
$ref: "#/$defs/MeetingRelation"
|
|
290
|
-
|
|
1068
|
+
"$ref": "#/$defs/MeetingRelation"
|
|
1069
|
+
extensions:
|
|
291
1070
|
type: array
|
|
292
|
-
items:
|
|
293
|
-
|
|
1071
|
+
items:
|
|
1072
|
+
"$ref": "#/$defs/MeetingExtension"
|
|
294
1073
|
MeetingCollectionMetadata:
|
|
295
1074
|
type: object
|
|
296
|
-
description:
|
|
1075
|
+
description: 'Display-level metadata for a MeetingCollection. 1.0: per-field Localized.'
|
|
297
1076
|
additionalProperties: false
|
|
298
1077
|
properties:
|
|
299
|
-
title:
|
|
300
|
-
|
|
301
|
-
|
|
1078
|
+
title:
|
|
1079
|
+
type: array
|
|
1080
|
+
items:
|
|
1081
|
+
"$ref": "#/$defs/LocalizedString"
|
|
1082
|
+
source:
|
|
1083
|
+
type: string
|
|
1084
|
+
body_vocabulary:
|
|
1085
|
+
type: array
|
|
1086
|
+
items:
|
|
1087
|
+
"$ref": "#/$defs/BodyVocabularyEntry"
|
|
1088
|
+
BodyVocabularyEntry:
|
|
1089
|
+
type: object
|
|
1090
|
+
description: |
|
|
1091
|
+
One entry in a per-dataset body_vocabulary list. Maps a free-form
|
|
1092
|
+
body_type to a short canonical value. SSOT for body_type ->
|
|
1093
|
+
canonical_type resolution within the declaring collection.
|
|
1094
|
+
additionalProperties: false
|
|
1095
|
+
properties:
|
|
1096
|
+
body_type:
|
|
1097
|
+
type: string
|
|
1098
|
+
canonical_type:
|
|
1099
|
+
type: string
|
|
1100
|
+
definition:
|
|
1101
|
+
type: string
|
|
302
1102
|
MeetingCollection:
|
|
303
1103
|
type: object
|
|
304
|
-
description:
|
|
1104
|
+
description: Top-level wrapper for many Meetings in one file.
|
|
305
1105
|
additionalProperties: false
|
|
306
|
-
required:
|
|
1106
|
+
required:
|
|
1107
|
+
- meetings
|
|
307
1108
|
properties:
|
|
308
1109
|
metadata:
|
|
309
|
-
$ref: "#/$defs/MeetingCollectionMetadata"
|
|
1110
|
+
"$ref": "#/$defs/MeetingCollectionMetadata"
|
|
310
1111
|
meetings:
|
|
311
1112
|
type: array
|
|
312
1113
|
items:
|
|
313
|
-
$ref: "#/$defs/Meeting"
|
|
314
|
-
|
|
315
|
-
# ====================================================================
|
|
316
|
-
# Enums. Each value-list must equal the matching Edoxen::Enums::*
|
|
317
|
-
# frozen array; spec/edoxen/schema_meeting_enum_sync_spec.rb enforces.
|
|
318
|
-
# ====================================================================
|
|
319
|
-
|
|
1114
|
+
"$ref": "#/$defs/Meeting"
|
|
320
1115
|
MeetingType:
|
|
321
1116
|
type: string
|
|
322
|
-
description:
|
|
323
|
-
enum:
|
|
324
|
-
|
|
1117
|
+
description: Edoxen::Enums::MEETING_TYPE.
|
|
1118
|
+
enum:
|
|
1119
|
+
- plenary
|
|
1120
|
+
- working_group
|
|
1121
|
+
- task_group
|
|
1122
|
+
- ad_hoc
|
|
1123
|
+
- joint
|
|
1124
|
+
- general_assembly
|
|
1125
|
+
- committee
|
|
1126
|
+
- subcommittee
|
|
1127
|
+
- conference
|
|
1128
|
+
- workshop
|
|
1129
|
+
- seminar
|
|
1130
|
+
- webinar
|
|
1131
|
+
- hearing
|
|
1132
|
+
- markup
|
|
1133
|
+
- board_meeting
|
|
1134
|
+
- annual_general_meeting
|
|
1135
|
+
- other
|
|
1136
|
+
MeetingTypeCanonical:
|
|
1137
|
+
type: string
|
|
1138
|
+
description: |
|
|
1139
|
+
Edoxen::Enums::MEETING_TYPE_CANONICAL — short abstract set (1.0,
|
|
1140
|
+
TODO.refactor/1.0-design). No `other` escape — bodies pick the closest
|
|
1141
|
+
fit and use `body_type` for body-specific terminology.
|
|
1142
|
+
enum:
|
|
1143
|
+
- plenary
|
|
1144
|
+
- governing
|
|
1145
|
+
- working
|
|
1146
|
+
- advisory
|
|
325
1147
|
MeetingStatus:
|
|
326
1148
|
type: string
|
|
327
|
-
description:
|
|
328
|
-
enum:
|
|
329
|
-
|
|
1149
|
+
description: Edoxen::Enums::MEETING_STATUS.
|
|
1150
|
+
enum:
|
|
1151
|
+
- upcoming
|
|
1152
|
+
- completed
|
|
1153
|
+
- cancelled
|
|
330
1154
|
AgendaStatus:
|
|
331
1155
|
type: string
|
|
332
|
-
description:
|
|
333
|
-
enum:
|
|
334
|
-
|
|
1156
|
+
description: Edoxen::Enums::AGENDA_STATUS.
|
|
1157
|
+
enum:
|
|
1158
|
+
- draft
|
|
1159
|
+
- final
|
|
1160
|
+
- amended
|
|
1161
|
+
- cancelled
|
|
1162
|
+
- superseded
|
|
335
1163
|
AgendaItemKind:
|
|
336
1164
|
type: string
|
|
337
|
-
description:
|
|
338
|
-
enum:
|
|
339
|
-
|
|
1165
|
+
description: Edoxen::Enums::AGENDA_ITEM_KIND.
|
|
1166
|
+
enum:
|
|
1167
|
+
- numbered
|
|
1168
|
+
- unnumbered
|
|
1169
|
+
- header
|
|
1170
|
+
- opening
|
|
1171
|
+
- closing
|
|
1172
|
+
- aob
|
|
340
1173
|
AgendaItemOutcome:
|
|
341
1174
|
type: string
|
|
342
|
-
description:
|
|
343
|
-
enum:
|
|
344
|
-
|
|
1175
|
+
description: Edoxen::Enums::AGENDA_ITEM_OUTCOME.
|
|
1176
|
+
enum:
|
|
1177
|
+
- discussed
|
|
1178
|
+
- resolved
|
|
1179
|
+
- deferred
|
|
1180
|
+
- adopted
|
|
1181
|
+
- withdrawn
|
|
1182
|
+
- carried
|
|
1183
|
+
- negatived
|
|
345
1184
|
HostType:
|
|
346
1185
|
type: string
|
|
347
|
-
description:
|
|
348
|
-
enum:
|
|
349
|
-
|
|
1186
|
+
description: Edoxen::Enums::HOST_TYPE.
|
|
1187
|
+
enum:
|
|
1188
|
+
- national_body
|
|
1189
|
+
- liaison
|
|
1190
|
+
- associate
|
|
1191
|
+
- organizer
|
|
350
1192
|
MeetingRelationType:
|
|
351
1193
|
type: string
|
|
352
|
-
description:
|
|
353
|
-
enum:
|
|
354
|
-
|
|
1194
|
+
description: Edoxen::Enums::MEETING_RELATION_TYPE.
|
|
1195
|
+
enum:
|
|
1196
|
+
- continues_from
|
|
1197
|
+
- continues_to
|
|
1198
|
+
- joint_with
|
|
1199
|
+
- supersedes
|
|
1200
|
+
- superseded_by
|
|
1201
|
+
- rescheduled_from
|
|
1202
|
+
- rescheduled_to
|
|
1203
|
+
- parent_of
|
|
1204
|
+
- child_of
|
|
1205
|
+
- sibling_of
|
|
1206
|
+
- depends_on
|
|
1207
|
+
- finish_to_start
|
|
1208
|
+
- finish_to_finish
|
|
1209
|
+
- start_to_start
|
|
1210
|
+
- start_to_finish
|
|
355
1211
|
SourceUrlKind:
|
|
356
1212
|
type: string
|
|
357
|
-
description:
|
|
358
|
-
enum:
|
|
1213
|
+
description: Edoxen::Enums::SOURCE_URL_KIND.
|
|
1214
|
+
enum:
|
|
1215
|
+
- agenda_pdf
|
|
1216
|
+
- minutes_pdf
|
|
1217
|
+
- decisions_pdf
|
|
1218
|
+
- report_pdf
|
|
1219
|
+
- register_url
|
|
1220
|
+
- landing_page
|
|
1221
|
+
ParticipationStatus:
|
|
1222
|
+
type: string
|
|
1223
|
+
description: Edoxen::Enums::PARTICIPATION_STATUS.
|
|
1224
|
+
enum:
|
|
1225
|
+
- present
|
|
1226
|
+
- absent
|
|
1227
|
+
- apologies
|
|
1228
|
+
- observer
|
|
1229
|
+
- excused
|
|
1230
|
+
AttendanceRole:
|
|
1231
|
+
type: string
|
|
1232
|
+
description: Edoxen::Enums::ATTENDANCE_ROLE.
|
|
1233
|
+
enum:
|
|
1234
|
+
- chair
|
|
1235
|
+
- required
|
|
1236
|
+
- optional
|
|
1237
|
+
- non_participant
|
|
1238
|
+
AttendanceResponse:
|
|
1239
|
+
type: string
|
|
1240
|
+
description: Edoxen::Enums::ATTENDANCE_RESPONSE.
|
|
1241
|
+
enum:
|
|
1242
|
+
- pending
|
|
1243
|
+
- confirmed
|
|
1244
|
+
- declined
|
|
1245
|
+
- tentative
|
|
1246
|
+
- delegated
|
|
1247
|
+
VoteType:
|
|
1248
|
+
type: string
|
|
1249
|
+
description: Edoxen::Enums::VOTE_TYPE.
|
|
1250
|
+
enum:
|
|
1251
|
+
- affirmative
|
|
1252
|
+
- negative
|
|
1253
|
+
- abstain
|
|
1254
|
+
- absent
|
|
1255
|
+
- not_applicable
|
|
1256
|
+
TopicStatus:
|
|
1257
|
+
type: string
|
|
1258
|
+
description: Edoxen::Enums::TOPIC_STATUS.
|
|
1259
|
+
enum:
|
|
1260
|
+
- open
|
|
1261
|
+
- under_discussion
|
|
1262
|
+
- decided
|
|
1263
|
+
- deferred
|
|
1264
|
+
- withdrawn
|
|
1265
|
+
VenueKind:
|
|
1266
|
+
type: string
|
|
1267
|
+
description: Edoxen::Enums::VENUE_KIND.
|
|
1268
|
+
enum:
|
|
1269
|
+
- physical
|
|
1270
|
+
- virtual
|
|
1271
|
+
VirtualFeature:
|
|
1272
|
+
type: string
|
|
1273
|
+
description: Edoxen::Enums::VIRTUAL_FEATURE.
|
|
1274
|
+
enum:
|
|
1275
|
+
- audio
|
|
1276
|
+
- video
|
|
1277
|
+
- chat
|
|
1278
|
+
- phone
|
|
1279
|
+
- screen
|
|
1280
|
+
- feed
|
|
1281
|
+
Visibility:
|
|
1282
|
+
type: string
|
|
1283
|
+
description: Edoxen::Enums::VISIBILITY.
|
|
1284
|
+
enum:
|
|
1285
|
+
- public
|
|
1286
|
+
- private
|
|
1287
|
+
- confidential
|
|
1288
|
+
ComponentKind:
|
|
1289
|
+
type: string
|
|
1290
|
+
description: Edoxen::Enums::COMPONENT_KIND.
|
|
1291
|
+
enum:
|
|
1292
|
+
- track
|
|
1293
|
+
- session
|
|
1294
|
+
- debate
|
|
1295
|
+
- breakout
|
|
1296
|
+
- bof
|
|
1297
|
+
- plenary_session
|
|
1298
|
+
- working_group_session
|
|
1299
|
+
- committee_of_the_whole
|
|
1300
|
+
- keynote
|
|
1301
|
+
- address
|
|
1302
|
+
- statement
|
|
1303
|
+
- question_time
|
|
1304
|
+
- opening
|
|
1305
|
+
- closing
|
|
1306
|
+
- break
|
|
1307
|
+
- reception
|
|
1308
|
+
- registration
|
|
1309
|
+
- networking
|
|
1310
|
+
- other
|
|
1311
|
+
OfficerRole:
|
|
1312
|
+
type: string
|
|
1313
|
+
description: Edoxen::Enums::OFFICER_ROLE.
|
|
1314
|
+
enum:
|
|
1315
|
+
- chair
|
|
1316
|
+
- vice_chair
|
|
1317
|
+
- deputy_chair
|
|
1318
|
+
- secretary
|
|
1319
|
+
- treasurer
|
|
1320
|
+
- parliamentarian
|
|
1321
|
+
- presiding_officer
|
|
1322
|
+
- sergeant_at_arms
|
|
1323
|
+
- other
|
|
1324
|
+
RecurrenceFreq:
|
|
1325
|
+
type: string
|
|
1326
|
+
description: Edoxen::Enums::RECURRENCE_FREQ.
|
|
1327
|
+
enum:
|
|
1328
|
+
- secondly
|
|
1329
|
+
- minutely
|
|
1330
|
+
- hourly
|
|
1331
|
+
- daily
|
|
1332
|
+
- weekly
|
|
1333
|
+
- monthly
|
|
1334
|
+
- yearly
|
|
1335
|
+
DateTimeRange:
|
|
1336
|
+
type: object
|
|
1337
|
+
description: |
|
|
1338
|
+
Start + end pair with sub-day precision. Parallel to DateRange;
|
|
1339
|
+
use when day granularity is insufficient (e.g. a meeting that
|
|
1340
|
+
ran 09:00–11:30).
|
|
1341
|
+
additionalProperties: false
|
|
1342
|
+
properties:
|
|
1343
|
+
start:
|
|
1344
|
+
type: string
|
|
1345
|
+
format: date-time
|
|
1346
|
+
end:
|
|
1347
|
+
type: string
|
|
1348
|
+
format: date-time
|
|
1349
|
+
StatementKind:
|
|
1350
|
+
type: string
|
|
1351
|
+
description: |
|
|
1352
|
+
Discriminator for the three BS 0:2006 statement types. Adding a
|
|
1353
|
+
new kind is a one-line enum extension; the Statement model
|
|
1354
|
+
itself never needs to change (OCP).
|
|
1355
|
+
enum:
|
|
1356
|
+
- statement
|
|
1357
|
+
- comment
|
|
1358
|
+
- standpoint
|
|
1359
|
+
DeclarationKind:
|
|
1360
|
+
type: string
|
|
1361
|
+
description: |
|
|
1362
|
+
Discriminator for the two BS 0:2006 declaration types
|
|
1363
|
+
(conflict of interest, IPR).
|
|
1364
|
+
enum:
|
|
1365
|
+
- conflict_of_interest
|
|
1366
|
+
- ipr
|
|
1367
|
+
Statement:
|
|
1368
|
+
type: object
|
|
1369
|
+
description: |
|
|
1370
|
+
One remark made by one or more meeting members on a topic or a
|
|
1371
|
+
minutes section. Per-field Localized description; party is a
|
|
1372
|
+
list of Person references. The `kind` discriminator separates
|
|
1373
|
+
the three BS 0:2006 statement types.
|
|
1374
|
+
additionalProperties: false
|
|
1375
|
+
properties:
|
|
1376
|
+
kind:
|
|
1377
|
+
"$ref": "#/$defs/StatementKind"
|
|
1378
|
+
description:
|
|
1379
|
+
type: array
|
|
1380
|
+
items:
|
|
1381
|
+
"$ref": "#/$defs/LocalizedString"
|
|
1382
|
+
party:
|
|
1383
|
+
type: array
|
|
1384
|
+
items:
|
|
1385
|
+
"$ref": "#/$defs/Person"
|
|
1386
|
+
extensions:
|
|
1387
|
+
type: array
|
|
1388
|
+
items:
|
|
1389
|
+
"$ref": "#/$defs/MeetingExtension"
|
|
1390
|
+
Declaration:
|
|
1391
|
+
type: object
|
|
1392
|
+
description: |
|
|
1393
|
+
A formal declaration (conflict of interest or IPR) made by one
|
|
1394
|
+
or more meeting members. IPR-specific fields (`ipr_subject_ref`,
|
|
1395
|
+
`ipr_target_ref`) are populated only when `kind == "ipr"`.
|
|
1396
|
+
additionalProperties: false
|
|
1397
|
+
properties:
|
|
1398
|
+
kind:
|
|
1399
|
+
"$ref": "#/$defs/DeclarationKind"
|
|
1400
|
+
description:
|
|
1401
|
+
type: array
|
|
1402
|
+
items:
|
|
1403
|
+
"$ref": "#/$defs/LocalizedString"
|
|
1404
|
+
party:
|
|
1405
|
+
type: array
|
|
1406
|
+
items:
|
|
1407
|
+
"$ref": "#/$defs/Person"
|
|
1408
|
+
ipr_subject_ref:
|
|
1409
|
+
"$ref": "#/$defs/EntityRef"
|
|
1410
|
+
ipr_target_ref:
|
|
1411
|
+
"$ref": "#/$defs/EntityRef"
|
|
1412
|
+
extensions:
|
|
1413
|
+
type: array
|
|
1414
|
+
items:
|
|
1415
|
+
"$ref": "#/$defs/MeetingExtension"
|