Kicking off a dedicated space for discussion for Calendar, Events, RSVP

Hi all, I have a few proposals on how the existing Lexicon schemas for community.lexicon.calendar could be improved. Please share your thoughts on the following points addressed!

  1. community.lexicon.calendar.event: Deprecate the “endsAt” property, to be eventually displaced by the use of “length” which should be defined as a positive value that begins at 0 (which would equate to “all day” for most clients), with an increase in the integer being reflected as startsAt + length as opposed to endsAt - startsAt, which has the benefits of being interchangeably flipped, along with a significantly easier stopgap in preventing events which end before startsAt is reached.

  2. community.lexicon.calendar.event: Allow multiple String values in “mode” to allow for both “in-person” and “virtual” to be assigned to one event, as “hybrid” provides alternative connotations that do not reflect the use case of using both values at the same time. A “hybrid” event tends to refer to parts of an event being online, whilst others being in-person. Re-defining this property as an array would be beneficial long term.

  3. community.lexicon.calendar.rsvp: Deprecate status string of “going,” “not going” and “interested” to be superseded by a percentage value which can derive the original status values. 0% would replace “not going,” 50% would replace “interested,” and 100% would replace “going.” By utilising a percentage, this allows for additional fine-grain control of how a user may want to represent the likelihood that they will attend the event, such as “90% chance of attendance” rather than “Interested” which does not provide enough valuable information for event arbitrators.

I put quite a decent amount of thought into each point. I do, however, see that the first point might be an issue due to the way that Bluesky defines its timestamps, so I do understand if the decision to redefine the endAt as length could end up being too painful to go through with.

1 Like