-
Notifications
You must be signed in to change notification settings - Fork 5
/
groups.schema.json
116 lines (116 loc) · 4.45 KB
/
groups.schema.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
110
111
112
113
114
115
116
{
"$id": "https://example.com/address.schema.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"description": "gemstateio-groups",
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"id",
"locality",
"addedDate"
],
"additionalProperties": false,
"properties": {
"name": {
"description": "Full name of the group",
"type": "string"
},
"id": {
"description": "Unique identifier for the group. Feel free to leave this empty string when submitting PR; a value that works well with gemstate.io will be assigned by approver.",
"type": "string"
},
"locality": {
"description": "Incorporated city/town where this group typically meets in-person, 'Online' if the group doesn't meet in-person, or 'Idaho' if no specific location",
"type": "string"
},
"addedDate": {
"description": "Date the group was added to this list, intended to help people find new groups. (ISO 8601 format)",
"format": "date",
"type": "string"
},
"description": {
"description": "Optional brief description of the group",
"type": "string"
},
"tla": {
"description": "Optional acronym used by the group, e.g. Boise Software Developers Group members always call themselves BSDG.",
"type": "string"
},
"url": {
"description": "Optional (strongly encouraged) URL providing more information about the group, and ideally about the next meeting time & place",
"type": "string"
},
"organizers": {
"description": "Optional details about the people or organization coordinating the group, if not clear from 'name', and as sometimes needed to disambiguate groups with the same 'name,' or to contact for more information.",
"type": "array",
"items": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Name of the person/org"
},
"email": {
"type": "string"
},
"twitter": {
"type": "string",
"description": "Twitter handle not including @, e.g. \"waded\""
},
"idahoTechID": {
"type": "string",
"description": "Member ID (e.g. \"U0BLWUFN3\", not display name \"waded\") from http://idahotech.slack.com/"
}
},
"additionalProperties": false
}
},
"meetupComGroupName": {
"description": "If meetup.com is used for scheduling, the group name (seen in URLs as https://www.meetup.com/<meetupComGroupName>/",
"type": "string"
},
"eventbriteOrganizerId": {
"description": "If eventbrite.com is used for scheduling, the Eventbrite organizer ID (typically a number?)",
"type": "string"
},
"eventbriteKeywords": {
"description": "If eventbrite.com is used, a list of keywords used to narrow events listed (any event to be listed must contain one of the keywords in title, description, or location name",
"type":"array",
"items": {
"type": "string"
}
},
"iCalendarUrl": {
"description": "If a generic web calendar is used for scheduling, its iCalendar/RFC5545 URL (e.g. the .ical URLs provided for public Google Calendars)",
"type": "string"
},
"abandonedDate": {
"type": "string",
"format": "date",
"description": "If a group's no longer meeting, add this to record the last date it was known. This could be helpful in determining past interest, rather than deleting the group entirely. (ISO 8601 format)"
},
"schedCom": {
"description": "If sched.com is used to help people choose sessions within big events, add an item per event here",
"type":"array",
"items": {
"type": "object",
"required": [
"name"
],
"additionalProperties": false,
"properties": {
"name": {
"type": "string",
"description": "Conference name (seen in sched.com URLs as https://<conference_name>.sched.com)"
}
}
}
}
}
}
}