Calendar and Location types (#23)
Signed-off-by: Nick Gerakines <12125+ngerakines@users.noreply.github.com>
This commit is contained in:
146
community/lexicon/calendar/event.json
Normal file
146
community/lexicon/calendar/event.json
Normal file
@@ -0,0 +1,146 @@
|
|||||||
|
{
|
||||||
|
"lexicon": 1,
|
||||||
|
"id": "community.lexicon.calendar.event",
|
||||||
|
"defs": {
|
||||||
|
"main": {
|
||||||
|
"type": "record",
|
||||||
|
"description": "A calendar event.",
|
||||||
|
"key": "tid",
|
||||||
|
"record": {
|
||||||
|
"type": "object",
|
||||||
|
"required": [
|
||||||
|
"createdAt",
|
||||||
|
"name"
|
||||||
|
],
|
||||||
|
"properties": {
|
||||||
|
"name": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "The name of the event."
|
||||||
|
},
|
||||||
|
"description": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "The description of the event."
|
||||||
|
},
|
||||||
|
"createdAt": {
|
||||||
|
"type": "string",
|
||||||
|
"format": "datetime",
|
||||||
|
"description": "Client-declared timestamp when the event was created."
|
||||||
|
},
|
||||||
|
"startsAt": {
|
||||||
|
"type": "string",
|
||||||
|
"format": "datetime",
|
||||||
|
"description": "Client-declared timestamp when the event starts."
|
||||||
|
},
|
||||||
|
"endsAt": {
|
||||||
|
"type": "string",
|
||||||
|
"format": "datetime",
|
||||||
|
"description": "Client-declared timestamp when the event ends."
|
||||||
|
},
|
||||||
|
"mode": {
|
||||||
|
"type": "ref",
|
||||||
|
"ref": "community.lexicon.calendar.event#mode",
|
||||||
|
"description": "The attendance mode of the event."
|
||||||
|
},
|
||||||
|
"status": {
|
||||||
|
"type": "ref",
|
||||||
|
"ref": "community.lexicon.calendar.event#status",
|
||||||
|
"description": "The status of the event."
|
||||||
|
},
|
||||||
|
"locations": {
|
||||||
|
"type": "array",
|
||||||
|
"description": "The locations where the event takes place.",
|
||||||
|
"items": {
|
||||||
|
"type": "union",
|
||||||
|
"refs": [
|
||||||
|
"community.lexicon.calendar.event#uri",
|
||||||
|
"community.lexicon.location.address",
|
||||||
|
"community.lexicon.location.fsq",
|
||||||
|
"community.lexicon.location.geo",
|
||||||
|
"community.lexicon.location.h3"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"uris": {
|
||||||
|
"type": "array",
|
||||||
|
"description": "URIs associated with the event.",
|
||||||
|
"items": {
|
||||||
|
"type": "ref",
|
||||||
|
"ref": "community.lexicon.calendar.event#uri"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"mode": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "The mode of the event.",
|
||||||
|
"default": "community.lexicon.calendar.event#inperson",
|
||||||
|
"knownValues": [
|
||||||
|
"community.lexicon.calendar.event#hybrid",
|
||||||
|
"community.lexicon.calendar.event#inperson",
|
||||||
|
"community.lexicon.calendar.event#virtual"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"virtual": {
|
||||||
|
"type": "token",
|
||||||
|
"description": "A virtual event that takes place online."
|
||||||
|
},
|
||||||
|
"inperson": {
|
||||||
|
"type": "token",
|
||||||
|
"description": "An in-person event that takes place offline."
|
||||||
|
},
|
||||||
|
"hybrid": {
|
||||||
|
"type": "token",
|
||||||
|
"description": "A hybrid event that takes place both online and offline."
|
||||||
|
},
|
||||||
|
"status": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "The status of the event.",
|
||||||
|
"default": "community.lexicon.calendar.event#scheduled",
|
||||||
|
"knownValues": [
|
||||||
|
"community.lexicon.calendar.event#cancelled",
|
||||||
|
"community.lexicon.calendar.event#planned",
|
||||||
|
"community.lexicon.calendar.event#postponed",
|
||||||
|
"community.lexicon.calendar.event#rescheduled",
|
||||||
|
"community.lexicon.calendar.event#scheduled"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"planned": {
|
||||||
|
"type": "token",
|
||||||
|
"description": "The event has been created, but not finalized."
|
||||||
|
},
|
||||||
|
"scheduled": {
|
||||||
|
"type": "token",
|
||||||
|
"description": "The event has been created and scheduled."
|
||||||
|
},
|
||||||
|
"rescheduled": {
|
||||||
|
"type": "token",
|
||||||
|
"description": "The event has been rescheduled."
|
||||||
|
},
|
||||||
|
"cancelled": {
|
||||||
|
"type": "token",
|
||||||
|
"description": "The event has been cancelled."
|
||||||
|
},
|
||||||
|
"postponed": {
|
||||||
|
"type": "token",
|
||||||
|
"description": "The event has been postponed and a new start date has not been set."
|
||||||
|
},
|
||||||
|
"uri": {
|
||||||
|
"type": "object",
|
||||||
|
"description": "A URI associated with the event.",
|
||||||
|
"required": [
|
||||||
|
"uri"
|
||||||
|
],
|
||||||
|
"properties": {
|
||||||
|
"uri": {
|
||||||
|
"type": "string",
|
||||||
|
"format": "uri"
|
||||||
|
},
|
||||||
|
"name": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "The display name of the URI."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
45
community/lexicon/calendar/rsvp.json
Normal file
45
community/lexicon/calendar/rsvp.json
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
{
|
||||||
|
"lexicon": 1,
|
||||||
|
"id": "community.lexicon.calendar.rsvp",
|
||||||
|
"defs": {
|
||||||
|
"main": {
|
||||||
|
"type": "record",
|
||||||
|
"description": "An RSVP for an event.",
|
||||||
|
"key": "tid",
|
||||||
|
"record": {
|
||||||
|
"type": "object",
|
||||||
|
"required": [
|
||||||
|
"subject",
|
||||||
|
"status"
|
||||||
|
],
|
||||||
|
"properties": {
|
||||||
|
"subject": {
|
||||||
|
"type": "ref",
|
||||||
|
"ref": "com.atproto.repo.strongRef"
|
||||||
|
},
|
||||||
|
"status": {
|
||||||
|
"type": "string",
|
||||||
|
"default": "community.lexicon.calendar.rsvp#going",
|
||||||
|
"knownValues": [
|
||||||
|
"community.lexicon.calendar.rsvp#interested",
|
||||||
|
"community.lexicon.calendar.rsvp#going",
|
||||||
|
"community.lexicon.calendar.rsvp#notgoing"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"interested": {
|
||||||
|
"type": "token",
|
||||||
|
"description": "Interested in the event"
|
||||||
|
},
|
||||||
|
"going": {
|
||||||
|
"type": "token",
|
||||||
|
"description": "Going to the event"
|
||||||
|
},
|
||||||
|
"notgoing": {
|
||||||
|
"type": "token",
|
||||||
|
"description": "Not going to the event"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
41
community/lexicon/location/address.json
Normal file
41
community/lexicon/location/address.json
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
{
|
||||||
|
"lexicon": 1,
|
||||||
|
"id": "community.lexicon.location.address",
|
||||||
|
"defs": {
|
||||||
|
"main": {
|
||||||
|
"type": "object",
|
||||||
|
"description": "A physical location in the form of a street address.",
|
||||||
|
"required": [
|
||||||
|
"country"
|
||||||
|
],
|
||||||
|
"properties": {
|
||||||
|
"country": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "The ISO 3166 country code. Preferably the 2-letter code.",
|
||||||
|
"minLength": 2,
|
||||||
|
"maxLength": 10
|
||||||
|
},
|
||||||
|
"postalCode": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "The postal code of the location."
|
||||||
|
},
|
||||||
|
"region": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "The administrative region of the country. For example, a state in the USA."
|
||||||
|
},
|
||||||
|
"locality": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "The locality of the region. For example, a city in the USA."
|
||||||
|
},
|
||||||
|
"street": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "The street address."
|
||||||
|
},
|
||||||
|
"name": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "The name of the location."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
29
community/lexicon/location/fsq.json
Normal file
29
community/lexicon/location/fsq.json
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
{
|
||||||
|
"lexicon": 1,
|
||||||
|
"id": "community.lexicon.location.fsq",
|
||||||
|
"defs": {
|
||||||
|
"main": {
|
||||||
|
"type": "object",
|
||||||
|
"description": "A physical location contained in the Foursquare Open Source Places dataset.",
|
||||||
|
"required": [
|
||||||
|
"fsq_place_id"
|
||||||
|
],
|
||||||
|
"properties": {
|
||||||
|
"fsq_place_id": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "The unique identifier of a Foursquare POI."
|
||||||
|
},
|
||||||
|
"latitude": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"longitude": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"name": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "The name of the location."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
29
community/lexicon/location/geo.json
Normal file
29
community/lexicon/location/geo.json
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
{
|
||||||
|
"lexicon": 1,
|
||||||
|
"id": "community.lexicon.location.geo",
|
||||||
|
"defs": {
|
||||||
|
"main": {
|
||||||
|
"type": "object",
|
||||||
|
"description": "A physical location in the form of a WGS84 coordinate.",
|
||||||
|
"required": [
|
||||||
|
"latitude",
|
||||||
|
"longitude"
|
||||||
|
],
|
||||||
|
"properties": {
|
||||||
|
"latitude": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"longitude": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"altitude": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"name": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "The name of the location."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
23
community/lexicon/location/h3.json
Normal file
23
community/lexicon/location/h3.json
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
{
|
||||||
|
"lexicon": 1,
|
||||||
|
"id": "community.lexicon.location.h3",
|
||||||
|
"defs": {
|
||||||
|
"main": {
|
||||||
|
"type": "object",
|
||||||
|
"description": "A physical location in the form of a H3 encoded location.",
|
||||||
|
"required": [
|
||||||
|
"value"
|
||||||
|
],
|
||||||
|
"properties": {
|
||||||
|
"value": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "The h3 encoded location."
|
||||||
|
},
|
||||||
|
"name": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "The name of the location."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user