From 6cf822138c909e4ee9acc681cb2b6047379becd6 Mon Sep 17 00:00:00 2001 From: Daniele Tonon Date: Sat, 16 Mar 2024 12:14:12 +0100 Subject: [PATCH] Deprecate location, add type, address, place, url and languages --- 52.md | 33 ++++++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/52.md b/52.md index f35d9040..86e88be1 100644 --- a/52.md +++ b/52.md @@ -26,11 +26,15 @@ The `.content` of these events should be a detailed description of the calendar The list of tags are as follows: * `d` (required) universally unique identifier (UUID). Generated by the client creating the calendar event. -* `title` (required) title of the calendar event +* `type` (required) type of the event, list of [_onsite_, _online_] * `start` (required) inclusive start date in ISO 8601 format (YYYY-MM-DD). Must be less than `end`, if it exists. * `end` (optional) exclusive end date in ISO 8601 format (YYYY-MM-DD). If omitted, the calendar event ends on the same date as `start`. -* `location` (optional, repeated) location of the calendar event. e.g. address, GPS coordinates, meeting room name, link to video call +* `address` (required if `type` is _onsite_) address of the calendar event following ISO 19160:2015 and splitting the elements in the array; the country is specified in ISO 3166 +* `place` (optional, permitted only if `type` is _onsite_) name of the place of the calendar event. e.g. univeristy, building, business, public space * `g` (optional) [geohash](https://en.wikipedia.org/wiki/Geohash) to associate calendar event with a searchable physical location +* `url` (required if `type` is _online_) the url where the user can access the calendar event; it can be a nostr:naddr1xxx or a http(s)://xxx endpoint +* `languages` (optional) list + of [IETF language tags](https://en.wikipedia.org/wiki/IETF_language_tag) indicating the major languages used in the event * `p` (optional, repeated) 32-bytes hex pubkey of a participant, optional recommended relay URL, and participant's role in the meeting * `t` (optional, repeated) hashtag to categorize calendar event * `r` (optional, repeated) references / links to web pages, documents, video calls, recorded videos, etc. @@ -48,6 +52,8 @@ The following tags are deprecated: "tags": [ ["d", ""], + ["type", "", ""], + ["title", ""], // Dates @@ -55,13 +61,18 @@ The following tags are deprecated: ["end", "<YYYY-MM-DD>"], // Location - ["location", "<location>"], + ["address", "<street name and number>", "<city or locality>", "<postal or zip code>", "<country>"], + ["place", "<place>"], ["g", "<geohash>"], + ["url", "<nostr:naddr1xxx or a http(s)://xxx>"], // Participants ["p", "<32-bytes hex of a pubkey>", "<optional recommended relay URL>", "<role>"], ["p", "<32-bytes hex of a pubkey>", "<optional recommended relay URL>", "<role>"], + // Languages + ["languages", "<lang>", "<lang>"] + // Hashtags ["t", "<tag>"], ["t", "<tag>"], @@ -85,13 +96,18 @@ The `.content` of these events should be a detailed description of the calendar The list of tags are as follows: * `d` (required) universally unique identifier (UUID). Generated by the client creating the calendar event. +* `type` (required) type of the event, list of [_onsite_, _online_] * `title` (required) title of the calendar event * `start` (required) inclusive start Unix timestamp in seconds. Must be less than `end`, if it exists. * `end` (optional) exclusive end Unix timestamp in seconds. If omitted, the calendar event ends instantaneously. * `start_tzid` (optional) time zone of the start timestamp, as defined by the IANA Time Zone Database. e.g., `America/Costa_Rica` * `end_tzid` (optional) time zone of the end timestamp, as defined by the IANA Time Zone Database. e.g., `America/Costa_Rica`. If omitted and `start_tzid` is provided, the time zone of the end timestamp is the same as the start timestamp. -* `location` (optional, repeated) location of the calendar event. e.g. address, GPS coordinates, meeting room name, link to video call +* `address` (required if `type` is _onsite_) address of the calendar event following ISO 19160:2015 and splitting the elements in the array; the country is specified in ISO 3166 +* `place` (optional, permitted only if `type` is _onsite_) name of the place of the calendar event. e.g. univeristy, building, business, public space * `g` (optional) [geohash](https://en.wikipedia.org/wiki/Geohash) to associate calendar event with a searchable physical location +* `url` (required if `type` is _online_) the url where the user can access the calendar event; it can be a nostr:naddr1xxx (preferably a NIP-53 event) or an http(s)://xxx endpoint +* `languages` (optional) list + of [IETF language tags](https://en.wikipedia.org/wiki/IETF_language_tag) indicating the major languages used in the event * `p` (optional, repeated) 32-bytes hex pubkey of a participant, optional recommended relay URL, and participant's role in the meeting * `t` (optional, repeated) hashtag to categorize calendar event * `r` (optional, repeated) references / links to web pages, documents, video calls, recorded videos, etc. @@ -109,6 +125,8 @@ The following tags are deprecated: "tags": [ ["d", "<UUID>"], + ["type", "<onsite>", "<online>"], + ["title", "<title of calendar event>"], // Timestamps @@ -119,8 +137,13 @@ The following tags are deprecated: ["end_tzid", "<IANA Time Zone Database identifier>"], // Location - ["location", "<location>"], + ["address", "<street name and number>", "<city or locality>", "<postal or zip code>", "<country>"], + ["place", "<place>"], ["g", "<geohash>"], + ["url", "<nostr:naddr1xxx or a http(s)://xxx>"], + + // Languages + ["languages", "<lang>", "<lang>"] // Participants ["p", "<32-bytes hex of a pubkey>", "<optional recommended relay URL>", "<role>"],