Appearance
Kind 31924: Calendar
Overview
A calendar is a collection of calendar events, represented as a custom replaceable list event. Calendars allow users to organize their events by specific purposes such as personal, work, travel, meetups, or conferences. Users can have multiple calendars to segment their calendar events as needed.
Specification
Property | Value |
---|---|
Kind Number | 31924 |
Event Range | Replaceable List |
Defined in | NIP-52 |
Content Format
The content
field should contain a detailed description of the calendar. While required, it can be an empty string.
Tags
Tag Name | Description | Format | Required |
---|---|---|---|
d | Universally unique identifier (UUID) | ["d", "<UUID>"] | Yes |
title | Calendar title | ["title", "<calendar title>"] | Yes |
a | Reference to a calendar event | ["a", "<31922 or 31923>:<calendar event author pubkey>:<d-identifier of calendar event>", "<optional relay url>"] | No |
Client Behavior
Clients should:
- Generate a UUID when creating a new calendar
- Allow users to create multiple calendars for different purposes
- Enable users to add and remove calendar events from calendars
- Display calendar events grouped by their respective calendars
- Allow users to filter events by calendar
Relay Behavior
Relays should handle these events as replaceable list events, allowing them to be updated according to standard Nostr protocols for replaceable lists.
Use Cases
- Personal calendar organization
- Work calendar management
- Travel itinerary collection
- Organizing conference schedules
- Community event listings
Example
json
{
"id": "b359e96a1e22342b4683920d10d50270c0ff06ffc31ec39c271c9e1e485f7e3a",
"pubkey": "79dff8f82963424e1852174ed276b6715c4ccc9777e489234a363a43d7c73143",
"created_at": 1671217411,
"kind": 31924,
"tags": [
["d", "8f4a15e3-a5f3-4ad5-9e88-89d3c8a3b92f"],
["title", "Work Schedule"],
["a", "31923:32e1827635450ebb3c5a7d12c1f8e7b2b514439ac10a67eef3d9fd9c5c68e245:7d9fea92-da3b-4f2d-9db8-e27c1b8cd391", "wss://relay.example.com"],
["a", "31922:79dff8f82963424e1852174ed276b6715c4ccc9777e489234a363a43d7c73143:5371fe41-2964-4f3e-b203-e56009f54729", "wss://relay.example.com"]
],
"content": "My work calendar containing meetings, conferences, and important deadlines.",
"sig": "d1c58dccb14081c5de703532f4b16f513fbb7127f35ac888b29f9317588c29fe3e44950e68df8f3174aadd0b4613f27574fd142abbaebed72dac3ddc234a60ac"
}
References
Related Kinds
- Kind 31922: Date-Based Calendar Event
- Kind 31923: Time-Based Calendar Event
- Kind 31925: Calendar Event RSVP
Notes
Clients can implement features for importing and exporting calendars to standard formats (like iCalendar) to enable interoperability with other calendar systems, though this functionality is not specified in NIP-52.