osem-fcy/spec/support/schemas/conference.json
2018-11-20 17:30:56 -08:00

97 lines
2.2 KiB
JSON

{
"conference" : {
"type" : "object",
"required" : [
"short_title",
"title",
"description",
"start_date",
"end_date",
"picture_url",
"difficulty_levels",
"event_types",
"rooms",
"tracks",
"date_range",
"revision"
],
"properties" : {
"short_title": {
"type": "string"
},
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"start_date": {
"type": "string", "format": "date"
},
"end_date": {
"type": "string", "format": "date"
},
"picture_url": {
"anyOf": [
{ "type": "string" },
{ "type": "null" }
]
},
"difficulty_levels": {
"type": "array",
"items": {
"type": "object",
"required": ["id", "title", "description"],
"properties": {
"id": { "type": "integer" },
"title": { "type": "string" },
"description": { "type": "string" }
}
}
},
"event_types": {
"type": "array",
"items": {
"type": "object",
"required": ["id", "title", "description", "length"],
"properties": {
"id": { "type": "integer" },
"title": { "type": "string" },
"description": { "type": "string" },
"length": { "type": "integer" }
}
}
},
"rooms": {
"type": "array",
"items": {
"type": "object",
"required": ["id", "size", "events"],
"properties": {
"id": { "type": "integer" },
"size": { "type": "integer" },
"events": { "type": "array" }
}
}
},
"tracks": {
"type": "array",
"items": {
"type": "object",
"required": ["id", "name", "description"],
"properties": {
"id": { "type": "integer" },
"name": { "type": "string" },
"description": { "type": "string" }
}
}
},
"date_range": {
"type": "string"
},
"revision": {
"type": "integer"
}
}
}
}