forked from coderetreat/coderetreat.org
-
Notifications
You must be signed in to change notification settings - Fork 0
/
event_schema2018.json
109 lines (109 loc) · 3 KB
/
event_schema2018.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
{
"title": "Event Registration",
"type": "object",
"properties": {
"title": {
"description": "The title/name of your event",
"type": "string",
"minLength": 1
},
"url": {
"description":
"An URL leading to further information about your event, e.g. sign up on meetup/eventbrite",
"type": "string",
"minLength": 1
},
"moderators": {
"type": "array",
"items": {
"description": "List of moderators",
"type": "object",
"properties": {
"name": {
"description": "Moderator's name",
"type": "string"
},
"url" : {
"description": "Moderator's url: Twitter profile, GitHub profile, website, ...",
"type": "string"
}
},
"additionalProperties": false,
"required": ["name"]
}
},
"location": {
"oneOf": [
{ "$ref": "#/definitions/real_location" },
{ "$ref": "#/definitions/virtual_location" }
]
},
"sponsors": {
"type": "array",
"items": {
"description": "List of sponsors",
"type": "object",
"properties": {
"name": {
"description": "Sponsor's name",
"type": "string"
},
"url" : {
"description": "Sponsor's url: Twitter profile, GitHub profile, website, ...",
"type": "string"
}
},
"additionalProperties": false,
"required": ["name"]
}
}
},
"definitions": {
"virtual_location": {
"type": "string",
"enum": ["virtual"]
},
"real_location": {
"description":
"Further data about the location your event takes place at",
"type": "object",
"properties": {
"utcOffset": {
"description":
"The UTC Timezone the event will take place in (e.g. UTC+1 on Nov 18, 2017 for Berlin with DST considered)",
"type": "number"
},
"timezone": {
"description":
"The Timezone as a String, verified by https://momentjs.com/timezone/ to be an actual timezone",
"type": "string",
"format": "timezone"
},
"city": {
"type": "string",
"minLength": 1
},
"country": {
"type": "string",
"minLength": 1
},
"coordinates": {
"type": "object",
"description":
"Lat/Long values, given in EPSG:3857 (http://wiki.openstreetmap.org/wiki/EPSG:3857)",
"properties": {
"latitude": { "type": "number" },
"longitude": { "type": "number" }
},
"additionalProperties": false,
"required": ["latitude", "longitude"]
}
},
"additionalProperties": false,
"required": ["country", "city"],
"anyOf": [{ "required": ["utcOffset"] }, { "required": ["timezone"] }]
}
},
"additionalProperties": false,
"required": ["title", "location", "url"]
}