For schedule2 we decided to drop/deprecate duration on Event from the example data ( c.f. #129 - especially #129 (comment)), but a Duration type is still in schema2:
…
"events": [
{
"type": "OTHER",
"guid": "270fa44c-821a-577f-8ca3-33e8d4a8c2a7",
"start": "2024-12-27T10:30:00+01:00",
"end": "2024-12-27T11:00:00+01:00",
"room": {"name": "Saal 1", "slug": "saal-1", "guid": "ba692ba3-421b-5371-8309-60acc34a3c05"},
"slug": "38c3-opening-ceremony",
"title": "38C3: Opening Ceremony",
"subtitle": null,
"language": "en",
"track": {"slug": "ccc"},
"abstract": "Glad you could make it! Take a seat and buckle up for a ride through four days of chaotic adventures.",
"description": "This ceremony will prepare you for the 38C3 in all its glory, underground and above, hacks and trolls, art and radical ideas. Let's kick this thing off together!",
"logo": null,
"participants": [
{"guid": "0c16ffaa-709d-599f-959f-9a38b911361a", "name": "Gabriela Bogk", "role": "SPEAKER"},
{"guid": "721a267b-b09d-5422-8221-4f9a71cfc727", "name": "Aline Blankertz", "role": "SPEAKER"},
{"guid": "4cee1e72-681f-5c8b-8dcd-8e58c8f4a445", "name": "Senficon", "role": "CONTRIBUTOR"}
],
"links": [
{"url": "https://example.net/", "title": "foo bar"},
{"type": "ACTIVITYPUB", "url": "https://example.net/@handle/123456", "service": "MASTODON"},
{"type": "FEEDBACK", "url": "https://fahrplan.events.ccc.de/congress/2024/fahrplan/talk/HQCCYH/feedback/"}
],
"attachments": [
{"type": "SLIDES", "url": "https://example.net/foo/bar/1235.pdf"}
],
"url": "https://events.ccc.de/congress/2024/hub/event/38c3-opening-ceremony/"
},
…
]
but this is not a solution for unscheduled events.
The older, intermediate submission-json schema has solves this issue by using an integer:
"duration": {
"description": "The talk’s duration in minutes, or null",
"type": ["integer", "null"],
"examples": [30, 45, 90, null],
"maximum": 840
},
but for now we decided to stick to following solution in schedule2:
"Conference": {
"type": "object",
"title": "Conference",
"properties": {
"acronym": {
"timeslot_duration": {
"$ref": "#/definitions/Duration"
},
…
},
"Event": {
"type": "object",
"additionalProperties": false,
"properties": {
…
"start": {
"type": "string",
"format": "date-time",
"examples": ["2020-12-14T09:00:00+01:00"]
},
"end": {
"type": "string",
"format": "date-time",
"examples": ["2020-12-14T10:00:00+01:00"]
},
"duration": {
"$ref": "#/definitions/Duration",
"deprecated": true,
"$comment": "For scheduled events, use end instead"
},
…
},
"Duration": {
"title": "Duration (ISO8601)",
"type": "string",
"examples": ["PT15M", "PT1H30M"],
"pattern": "^P(?!$)(?:\\d+Y)?(?:\\d+M)?(?:\\d+W)?(?:\\d+D)?(?:T(?=\\d)(?:\\d+H)?(?:\\d+M)?(?:\\d+(?:\\.\\d+)?S)?)?$"
},
For schedule2 we decided to drop/deprecate
durationon Event from the example data ( c.f. #129 - especially #129 (comment)), but aDurationtype is still in schema2:but this is not a solution for unscheduled events.
The older, intermediate
submission-jsonschema has solves this issue by using an integer:but for now we decided to stick to following solution in schedule2: