Skip to content

NIP: Decentralized appointment scheduling (kind 31927)#2352

Open
geralt-debugs wants to merge 1 commit into
nostr-protocol:masterfrom
geralt-debugs:appointment_scheduling
Open

NIP: Decentralized appointment scheduling (kind 31927)#2352
geralt-debugs wants to merge 1 commit into
nostr-protocol:masterfrom
geralt-debugs:appointment_scheduling

Conversation

@geralt-debugs
Copy link
Copy Markdown

Summary

Adds a new NIP defining a privacy-preserving, decentralized appointment scheduling protocol built on Nostr, a
drop-in alternative to Calendly/Cal.com with no central intermediary.

What this proposes

  • Kind 31927 - Scheduling Page: NIP-44 encrypted availability config; only readable by those with the share URL's
    view key.
  • Kind 32680 - Key Index: Self-encrypted host-side record for recovering the view key on new devices.
  • Kind 31926 - Public Busy List: Free/busy publishing without leaking appointment details (already defined in
    NIP-52E).
  • Kind 1057/57 - Booking Request: NIP-59 gift-wrapped request from booker to host, carrying a pre-generated d tag
    and view key so the booker can add the event to their calendar immediately.
  • Kind 1058/58 - Booking Response: NIP-59 gift-wrapped approval or decline from host to booker.
  • Kind 32678/1052 - Private Calendar Event: Confirmed appointment encrypted with the booker's key (per NIP-52E);
    neither relay nor third party learns the appointment details.

Privacy model

  • Scheduling page body is encrypted; only the d tag is public.
  • Booking messages are gift-wrapped under ephemeral keys.
  • The confirmed appointment is encrypted with a key the booker generates; the host never has exclusive control
    over it.
  • Busy list reveals when but not what or with whom.

Dependencies

Depends on NIP-52E (Private Calendar Events) for kinds 32678 and 1052. It is possible to create public calendar events as well

@samuelmanzanera
Copy link
Copy Markdown

This is interesting, is it based on an existing implementation?

@geralt-debugs
Copy link
Copy Markdown
Author

Hey @samuelmanzanera yes we have implemented it at https://calendar.formstr.app/ or Calendar android app along with the companion nips(52 and its proposed extensions)

github: https://github.com/formstr-hq/nostr-calendar

@samuelmanzanera
Copy link
Copy Markdown

Hey @samuelmanzanera yes we have implemented it at https://calendar.formstr.app/ or Calendar android app along with the companion nips(52 and its proposed extensions)

github: https://github.com/formstr-hq/nostr-calendar

Thanks . I will definitely check it out

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants