diff options
| -rw-r--r-- | 52.md | 12 |
1 files changed, 10 insertions, 2 deletions
| @@ -187,6 +187,10 @@ This NIP is intentionally not defining who is authorized to attend a calendar ev | |||
| 187 | 187 | ||
| 188 | This NIP is also intentionally not defining what happens if a calendar event changes after an RSVP is submitted. | 188 | This NIP is also intentionally not defining what happens if a calendar event changes after an RSVP is submitted. |
| 189 | 189 | ||
| 190 | The RSVP MUST have an `a` tag of the event coordinates to the calendar event, and optionally an `e` tag of the id of the specific calendar event revision. If an `e` tag is present, clients SHOULD interpret it as an indication that the RSVP is a response to that revision of the calendar event, and MAY interpret it to not necessarily apply to other revisions of the calendar event. | ||
| 191 | |||
| 192 | The RSVP MAY tag the author of the calendar event it is in response to using a `p` tag so that clients can easily query all RSVPs that pertain to the author. | ||
| 193 | |||
| 190 | ### Format | 194 | ### Format |
| 191 | 195 | ||
| 192 | The format uses a parameterized replaceable event kind `31925`. | 196 | The format uses a parameterized replaceable event kind `31925`. |
| @@ -194,10 +198,12 @@ The format uses a parameterized replaceable event kind `31925`. | |||
| 194 | The `.content` of these events is optional and should be a free-form note that adds more context to this calendar event response. | 198 | The `.content` of these events is optional and should be a free-form note that adds more context to this calendar event response. |
| 195 | 199 | ||
| 196 | The list of tags are as follows: | 200 | The list of tags are as follows: |
| 197 | * `a` (required) reference tag to kind `31922` or `31923` calendar event being responded to. | 201 | * `a` (required) coordinates to a kind `31922` or `31923` calendar event being responded to. |
| 202 | * `e` (optional) event id of a kind `31922` or `31923` calendar event being responded to. | ||
| 198 | * `d` (required) universally unique identifier. Generated by the client creating the calendar event RSVP. | 203 | * `d` (required) universally unique identifier. Generated by the client creating the calendar event RSVP. |
| 199 | * `status` (required) `accepted`, `declined`, or `tentative`. Determines attendance status to the referenced calendar event. | 204 | * `status` (required) `accepted`, `declined`, or `tentative`. Determines attendance status to the referenced calendar event. |
| 200 | * `fb` (optional) `free` or `busy`. Determines if the user would be free or busy for the duration of the calendar event. This tag must be omitted or ignored if the `status` label is set to `declined`. | 205 | * `fb` (optional) `free` or `busy`. Determines if the user would be free or busy for the duration of the calendar event. This tag must be omitted or ignored if the `status` label is set to `declined`. |
| 206 | * `p` (optional) pubkey of the author of the calendar event being responded to. | ||
| 201 | 207 | ||
| 202 | ```json | 208 | ```json |
| 203 | { | 209 | { |
| @@ -207,10 +213,12 @@ The list of tags are as follows: | |||
| 207 | "kind": 31925, | 213 | "kind": 31925, |
| 208 | "content": "<note>", | 214 | "content": "<note>", |
| 209 | "tags": [ | 215 | "tags": [ |
| 210 | ["a", "<31922 or 31923>:<calendar event author pubkey>:<d-identifier of calendar event>", "<optional relay url>"], | 216 | ["e", "<kind 31922 or 31923 event id", "<optional recommended relay URL>"] |
| 217 | ["a", "<31922 or 31923>:<calendar event author pubkey>:<d-identifier of calendar event>", "<optional recommended relay URL>"], | ||
| 211 | ["d", "<UUID>"], | 218 | ["d", "<UUID>"], |
| 212 | ["status", "<accepted/declined/tentative>"], | 219 | ["status", "<accepted/declined/tentative>"], |
| 213 | ["fb", "<free/busy>"], | 220 | ["fb", "<free/busy>"], |
| 221 | ["p", "<hex pubkey of kind 31922 or 31923 event>", "<optional recommended relay URL>"] | ||
| 214 | ] | 222 | ] |
| 215 | } | 223 | } |
| 216 | ``` | 224 | ``` |