rsvp

An  RSVP  is a reply to an event that says whether the sender is attending, is not attending, might attend, or is merely interested.


 * See rsvps for how to display received RSVPs on your event posts!

Looking for a quick way to RSVP to the next IndieWeb event? See:
 * How to publish an RSVP

Why
Why implement RSVP posts?

Own your RSVPs! It’s empowering being able to RSVP (especially yes or maybe) from your own site to the indie event posts, and via Bridgy Publish to Facebook events as well!

Share your RSVPs with friends. For public events that you'd like your friends to attend, post RSVPs publicly on your own site. When your friends see that you're going or might go, it helps encourage them to also attend.

Encourage friends to go even if you cannot. Why implement and post a RSVP no? A public RSVP no is a good way to share and promote an event you wish you could go to but can't make it to.

Why POSSE RSVPs? Because the sharing / encouraging aspect of publishing makes sense beyond the simple RSVP answers, it also makes sense to POSSE all your RSVPs as you would any other reply or note (e.g. to Twitter etc.) beyond just responding to the event.

How to
How-tos for RSVP posts are very similar to the how-tos for reply posts so we won't duplicate common info here.

How to publish
How to publish an RSVP :

Use a tool that supports RSVP posts! E.g.

How to RSVP with WordPress
If you use WordPress:
 * 1) Make sure you have webmention functionality set up in WordPress
 * 2) Choose from ONE of the following:
 * 3) * Use the "RSVP" javascript bookmarklet in the IndieWeb PressThis bookmarklet. Once installed and activated, the bookmarklets can be found in the admin menu under "Tools". Go to the page you want to RSVP to and click the bookmarklet in your browser to create an RSVP post.
 * 4) * Use Post Kinds Plugin to post an RSVP post. Use the Post Kinds Plugin which includes RSVP functionality. Set the Post Kind as RSVP, add the URL & Title of Event into the Post Properties box, and set the RSVP Property to whether you are attending or not.
 * 5) * Add minimal HTML to a post. Create a traditional post and use HTML as described below.

How to RSVP with Micro.blog
If you use micro.blog: See this post from Manton: Micro.blog RSVPs with Webmention for more details.
 * 1) Add an HTML link to your blog post with the class "u-in-reply-to".
 * 2) Add a span or data tag similar to the "How to RSVP with HTML" instructions below, using class "p-rsvp".
 * 3) When the post is published, Micro.blog will notice the reply URL and send the Webmention for you.

How to RSVP with Known
If you use Known:

As of the 0.99 release, Known includes an "Events" plugin by default. Once signed into your Known site, you may activate the Events plugin under the "Site Configuration" menu. Navigate to Plugins, scroll down to find the Events plugin, and click to enable the plugin.

Once enabled, the action bar at top of the content area of your Known website should include an icon entitled "RSVP." Click the icon, and follow the instructions to send an RSVP. Once the RSVP post is created, Known will automatically send a Webmention to the supplied website address.

How to RSVP with HTML
Or if you're using another tool (like your own CMS) then:

1. Create a reply post and use the h-entry  property to specify your RSVP status. Here's a minimal RSVP post example: &lt;div class="h-entry"&gt; &lt;span class="p-author h-card"&gt; &lt;a class="u-url" href="HTTP://YOURSITE.EXAMPLE.ORG/"&gt; &lt;img class="u-photo" src="HTTP://EXAMPLE.ORG/YOURPHOTO.JPG" alt="YOUR FULL NAME HERE's photo"/&gt; &lt;span class="p-name"&gt;YOUR FULL NAME HERE&lt;/span&gt; &lt;/a&gt; &lt;/span&gt;: RSVP &lt;span class="p-rsvp"&gt;yes&lt;/span&gt; to &lt;a href="HTTP://EXAMPLE.ORG/EVENTURL" class="u-in-reply-to"&gt;INDIEWEB EVENT&lt;/a&gt; &lt;/div&gt; Replace the ALLCAPS URLs and LINK TEXT with info for you (your site, photo, name), and the event (event link, name).

Note: If your theme already adds the  class, then you will need to leave out the wrapper   tag, and the   if your theme already includes authorship information.

See example as a whole page: http://codepen.io/iamjessklein/pen/rLXwOw

Possible RSVP values:  yes, no , maybe , interested
 * See: http://microformats.org/wiki/h-entry#p-rsvp for specification details

2. Send a Webmention to the event post as you would for a reply to any post. (Sending your First Webmention from Scratch by is a good tutorial for those doing this for the first time without using other software.)

3. You should include author information in your RSVP post so the event knows who is attending (and then send another Webmention so the event page gets the update).

See reply for more general details on posting replies.

You can also use the  element to express the meaning behind the literal p-rsvp value while providing your own visible human readable language:

Multi RSVP
If there are multiple copies of a single event (e.g. POSSE copies, or reposts), or multiple sessions for an event, you can post a multi-RSVP, a single RSVP post that replies simultaneously to multiple event URLs.

Publish a multi-RSVP just as it says above, and add in-reply-to markup for each of the events, similar to how a multi-reply does so to multiple posts.

The difference is:
 * A multi-RSVP must link to multiple event posts only when they all represent the same real world event, or multiple sessions for the same event, e.g. a multi-day event with different URLs for each day.
 * A plain multi-reply may be replying to multiple different posts, that just happened to be related by topic or thread.

NEEDED: (a complete multi-RSVP markup example would be nice too)

Update an RSVP
Similarly, update your RSVP and send another webmention.

See reply for more general details on updating replies.

Delete an RSVP
Similarly, delete your RSVP, send another webmention, and be prepared to return 410 GONE for your RSVP permalink.

See reply for more general details on deleting replies.

Accept an RSVP
RSVPs are sent to event posts, which should recognize that this type of response is a special RSVP response, and can use that to increment attending/not attending counters for example.

When you receive a webmention from a URL that is a reply (has an  URL that is the event URL), also check if the entry contains an   property.

IndieWeb Examples
In datetime order of implementation (earliest first)

Aaron Parecki
has implemented RSVP posts in p3k deployed on his site aaronparecki.com:

RSVP posts are marked up with the  property from the microformats2 h-entry plus proposal.

Example:
 * 2013-06-25: http://aaronparecki.com/replies/2013/06/25/3/indiewebcamp
 * on event http://werd.io/event/51c94deebed7de5c2386a1b4/unofficial-portland-post-indiewebcamp-meetup

Multi-RSVPs published since 2014-09-08. E.g.
 * http://aaronparecki.com/replies/2014/09/08/1/ - in-reply-to:
 * http://known.kevinmarks.com/2014/indieweb-xoxo-breakfast
 * http://aaronparecki.com/events/2014/09/13/1/indieweb-xoxo-breakfast

autosuggest
If a p3k user is creating a reply to a URL, p3k:
 * parses the reply URL
 * looks for an h-event
 * if it finds one,
 * changes the type from reply to an rsvp
 * prompts the user to select yes/no/maybe/other

Nick Doty
implemented RSVP notes on his site npdoty.com (since YYYY-MM-DD?)

Example:
 * http://bcc.npdoty.name/post-facto-regrets-and-RSVP-microformat

Tantek
undefined has implemented RSVP reply notes in Falcon deployed on his site tantek.com as of 2013-264, and support for all RSVP values in Falcon as of 2017-016!

RSVP posts' reply-contexts are marked up with the  property from the microformats2 h-entry plus proposal.

Examples:
 * RSVP yes: http://tantek.com/2013/264/t1/indiewebcamp-breakfast-rsvp
 * on event: http://aaronparecki.com/events/2013/09/21/1/indiewebcamp-breakfast
 * showed up via Tantek doing a manual webmention. Subsequently implemented automatic Webmention sending in Falcon when the user presses the "Post" button.
 * when hosting (explicitly with "hosting " phrasing since 2017-135)
 * when co-organizing (explicitly with "co-organizing " phrasing since 2017-139)
 * when requiring sign-up and actively participating (explicitly with "signed up for " phrasing intended as RSVP since 2019-071; prior post that got matched on 2019-034)
 * RSVP yes during event since 2017-228.
 * using "attending " phrasing
 * RSVP yes after event ended since 2016-336.
 * using "went to " phrasing
 * when I’d hosted (explicitly with "hosted " phrasing since 2020-190)
 * RSVP maybe in general since 2017-016
 * RSVP maybe remote, since 2015-042
 * on event: https://kylewm.com/2015/02/homebrew-website-club-2015-february-11
 * another: http://tantek.com/2016/346/t2/homebrew-website-club-godaddy-sf
 * RSVP no, since 2015-043
 * on silo event: https://www.facebook.com/events/1540673402878317
 * RSVP interested, since 2017-014

Multi-RSVPs published since 2014-09-12. E.g.
 * Multi-RSVP yes: http://tantek.com/2014/255/t3/going-indieweb-xoxo-breakfast - in-reply-to:
 * http://known.kevinmarks.com/2014/indieweb-xoxo-breakfast
 * POSSE copy: https://www.facebook.com/events/1475412386074562/
 * http://aaronparecki.com/events/2014/09/13/1/indieweb-xoxo-breakfast
 * Multi-POSSE-RSVP yes to two POSSE copies! http://tantek.com/2017/247/t1/going-to-serenity-movie-party - in-reply-to
 * tickets URL: https://drafthouse.com/sf/show/syfy-presents-serenity-movie-party
 * FB POSSE RSVP (via Bridgy): https://www.facebook.com/events/347630705664521
 * Tweet threaded reply: https://twitter.com/DrafthouseSF/status/904750941940932609
 * Multi-RSVP no: http://tantek.com/2015/252/t2/homebrew-website-club-sf-pdx
 * https://kylewm.com/2015/09/sf-homebrew-website-club
 * POSSE copy: https://www.facebook.com/events/742074362604957/
 * http://aaronparecki.com/events/2015/09/09/1/homebrew-website-club
 * Multi-RSVP no using text "missing " http://tantek.com/2017/011/t2/missing-first-indieweb-hwcs-go-now


 * all RSVPs have minimal reply-context which, in addition to RSVP yes/no/maybe/interested, just shows URL(s) of event(s) being replied to

Kyle Mahan
has posted RSVPs on his site since 2014-04-08. RSVP posts are just regular replies with a hand-authored p-rsvp property. Examples:
 * https://kylewm.com/2014/04/rsvp-span-class-p-rsvp-yes-span-first-indie-rsvp-attempt-let-s-see
 * reply context with name of event, domain of event linked to event permalink
 * Since 2016-03-08, I've posted a few RSVPs via Woodwind/micropub.

gRegor Morrill
Has manually posted at least one rsvp on gregorlove.com as of 2014-06-26:
 * http://gregorlove.com/2014/06/yes-looking-forward-to-meeting/
 * reply-context with synthesized "post at domain" text linked to event permalink

As of 2017-06-07, showing RSVP responses on events:
 * https://gregorlove.com/2017/05/homebrew-website-club/
 * RSVPs backfed from Facebook
 * https://gregorlove.com/2017/06/homebrew-website-club/
 * Backfeed and indie RSVP; not yet de-duplicated

I also RSVP to events on sites that don't support webmentions or microformats, like meetup.com:
 * https://gregorlove.com/2019/02/im-attending-san-diego-green/

Jeena
implemented RSVP notes on his site jeena.net since 2016-??-??

Example:
 * https://jeena.net/comments/627
 * multi-rsvp with reply-context that shows URLs of the events being responded to

Tim
implemented RSVP notes on his site www.webrocker.de since 2016-04-16

Example:
 * https://www.webrocker.de/2016/04/16/indiewebcamp-nuremberg/
 * article with explicit RSVP markup

Ryan Rix
is able to publish RSVPs through Arcology since 2016-04-23 by attaching a p-rsvp property to any reply. This is syndicated out to non-indie events using Bridgy. E.g.
 * http://notes.whatthefuck.computer/1461394620.0-note.html
 * article with explicit RSVP markup

Shane Becker
manually RSVPed from an Article to IndieWeb Summit 2016 on 2016-05-02.
 * http://veganstraightedge.com/articles/2016/05/02/rsvp-yes-to-indieweb-summit
 * article with explicit RSVP markup

Scott Gruber
Manually RSVPed from a Note to IndieWeb Summit 2016 on 2016-05-23.

Example:
 * https://scottgruber.me/notes/indiewebcamp
 * article with explicit RSVP markup

Sebastiaan Andeweg
posted his first event on 2017-01-06 (an indie event for HWC 2017-01-11) and replied to it with an RSVP post a few hours later.


 * First RSVP: https://seblog.nl/2017/01/06/1/rsvp

Martijn van der Ven
has been RSVPing since YYYY-MM-DD? when confirming he was going to the first HWC of 2017 in the Netherlands. Example:
 * https://licit.li/587642007b9fc

Eddie Hinkle
has been RSVPing since 2017-03-11 when confirming he was going to his first HWC in Baltimore, MD.
 * Example:
 * http://eddiehinkle.com/social/2017/03/rsvp-indieweb-march-22/
 * RSVP Social Stream Example:
 * http://eddiehinkle.com/social/rsvps/

Doug Beal
has been RSVPing since 2017-05-09 when confirming going to IndieWeb Summit 2017 in Portland

https://dougbeal.com/kind/rsvp/

Example:
 * RSVP yes: https://dougbeal.com/2017/05/09/indieweb-summit-2017-portland-oregon/
 * on event https://2017.indieweb.org
 * generated using Press This Indieweb bookmarklet
 * RSVP yes: https://dougbeal.com/2017/05/30/event-virtual-homebrew-website-club-jeena-net/
 * on event https://jeena.net/events/25
 * included note If I’ve Time Zoned right, I should be there ?
 * generated using Press This Indieweb bookmarklet
 * RSVP yes https://dougbeal.com/2018/07/17/indiewebcamp-sf-dweb-hackers-day-tantek/
 * on event http://tantek.com/2018/212/e1/indiewebcamp-sf-dweb-hackers-day
 * note in prose: "RSVPs yes (remote)" - indicating a remote-participation RSVP.
 * duplicate Post Kinds and body markup
 * syndication to twitter
 * appears in micro.blog feed

fluffy
has been RSVPing since confirming attendance of IndieWeb Summit 2019 in Portland, implemented using custom headers implemented in a Publ template.

Jamie Tanna
has been RSPVing since 2019-05-13.

From 2019-07-27 Jamie has created an iCalendar feed for his RSVPs.

Ben Werdmuller
implemented RSVP posts in idno in 2013, however sometime later benwerd's RSVPs appears to have lost their  markup.

RSVP posts are marked up with the  property from the microformats2 h-entry plus proposal.

Example:
 * http://werd.io/view/51ca1213bed7de1e7763d71f

Bret Comnes
implemented RSVP posts on his site bret.io:

RSVP posts are marked up with the  property from the microformats2 h-entry plus proposal.

Example:
 * 2013-06-25: https://web.archive.org/web/20160317234906/http://bret.io/2013/06/25/t2/ (original http://bret.io/2013/06/25/t2/ 404 sometime after 2016)
 * on event: http://werd.io/event/51c94deebed7de5c2386a1b4/unofficial-portland-post-indiewebcamp-meetup
 * showed up via Bret doing a manual webmention (automation plan: simple shell script that does git push then send webmention)
 * It should be noted that any webmention I do will be manual for the time being. A likely scenario will be some kind of webmention.io integration when it supports the sending of web-mentions or pingbacks.  It might be possible with fancy JS as well, I am not sure.--Bret.io 18:23, 25 June 2013 (PDT)

RSVP buttons
An RSVP post starts with some UI to create it, typically in the context of a specific event.

RSVP Interested Going
A reader could recognize a public event post, and present buttons for the user to RSVP (e.g. via micropub with their own site).

Good start with minimal likely options:

[ Interested ] [ Going ]

Clicking either button would publish the respective RSVP to the user's site via micropub, and at a minimum could then:
 * Show confirmation: replace the buttons with static UI text that says ✓ Interested or ✓ Going depending on whichever the user chose. This state would not be stored anywhere except the current state of the browser.

RSVP simple updates
A reader that implemented the above [ Interested ] [ Going ] buttons could add just a tiny bit of browser-only code that allowed for undo and updates, as follows:

Start with minimal likely options again:

[ Interested ] [ Going ]

But this time, if the user clicks a button, only that button turns into static text, e.g.:

If the user clicks Interested: ✓ Interested [ Going ]

If the user clicks Going: [ Interested ] ✓ Going

If the user clicks on the static text with checkmark ✓, then delete the RSVP and show:

[ Interested ] [ Going ]

Similarly, if the user clicks on another button after clicking one, then update the RSVP accordingly and switch the display to that button being static checkmark UI text.

RSVP buttons with state
If a reader can keep track of the posts it has made on behalf of the user (keep a cache of the user's RSVP post permalink), then it could update the buttons accordingly (instead of just showing static UI text).

If they chose "Interested", show a button drop down [ ✓ Interested v ] which when clicked shows: [  Going          ] [ ✓ Interested    ] [ --  ] [   Not Interested ]

If they chose "Going", show a button drop down [ ✓ Going v ] which when clicked [ ✓ Going    ] [  Maybe     ] [ -- ] [   Not Going ]

And if they click any of those, the show Going as above, and:

If they chose "Not Interested", delete the RSVP post and show (like before) [ Interested ] [ Going ]

If they chose "Maybe", show a button drop down [ ✓ Maybe v ] which when clicked [  Going     ] [ ✓ Maybe    ] [ -- ] [   Not Going ]

If they chose "Not Going", update the RSVP post and show a button drop down [ ✓ Not Going v ] which when clicked [  Going     ] [  Maybe     ] [ -- ] [ ✓ Not Going ] And again, when selected, update the RSVP post and show the updated button/dropdown.

RSVP Going Maybe Cannot
For private events and invitations, a reader could instead display: [ Going ] [ Maybe ] [ Can't Go ]

Invitations to a private event typically have an expectation (from the host) of a stronger indication of intent of the invitee. If you receive an explicit invite to a private event, it's more likely that the host wants an actual yes/no response vs a silent ignore.

Some more reasoning (why the other options are less necessary for private events)
 * "interested" is there to be able to let others know of your potential interest in the event, but makes less sense on a private event since a private event doesn't need the "boost" of promoting it to a larger network.
 * "ignore". More likely to need the "ignore" button for public events since it's a lot easier to be "invited" to those because of the way Facebook encourages sharing events.

Text Design
Similar to like brainstorming, it's useful to explore how to best represent RSVP posts as a notification (e.g. to the author of the event (and the invitation) that the RSVP is responding to), text only (e.g. SMS authoring/output or POSSEing to text only destinations), inline hypertext and markup for that.

(stub)

E.g. some p-rsvp value/prose equivalent possibilities to consider, as the start of a plain text reply
 * yes - "going to " (implemented in 's RSVPs).
 * "attending " for an RSVP published during the event. (implemented in 's RSVPs, undefined research: 2 of 3 past uses (once a year 2010-2012) of "attending …" in notes were RSVPs, and third was an implied RSVP).
 * "went to " for an RSVP published after the event's end time or has otherwise ended. (implemented in 's RSVPs)
 * "hosting " for an RSVP to an event that you're actually hosting (implemented in 's RSVPs)
 * "hosted " for an RSVP published after an event's end time that you hosted (implemented in ’s RSVPs)
 * "co-organizing " for an RSVP to an event that you're co-organizing, but perhaps not hosting (implemented in 's RSVPs)
 * more possible variants: "co-hosting", "organizing"
 * "signed up for " for an RSVP to an event that includes some form of active partipation (e.g. a trail race) (implemented in 's RSVPs).
 * "rsvp yes" is experimenting with, see below
 * maybe - "might go to " (implemented in 's RSVPs).
 * "rsvp maybe" is experimenting with, see below
 * no - "not going to " (implemented in 's RSVPs).
 * "missing " - as an alias of "not going to " that reflects more of an implied desire to have gone. (implemented in 's RSVPs).
 * non-explicit-RSVP real-world example of "missing " at start of a note that does reflect this semantic: http://tantek.com/2015/255/t1/celebrate-ariel-matt-tonight (only example found of that text pattern match on his site)
 * interested - "considering tonight's ", "considering today's ", and "considering going to ", all of which provide enough specific context to imply an event (implemented in 's RSVPs)
 * non-explicit-RSVP real-world example of "insterested " at start of a note that does reflect this semantic: http://tantek.com/2011/040/t4/long-now-live-longer-think-who-going (only example found of "considering " text pattern match on his site that applies to an event)
 * Rejected: "interested in " - seems too generic, never felt like using it in practice

Remote variants? Only for some level of actual participation (yes, maybe).
 * yes - "remotely attending "
 * maybe - "might remotely attend " (implemented in 's RSVPs).


 * I was thinking about this and wrote an idea to parse plain text Twitter replies since they're sent to me via Bridgy. I'm experimenting with this for 2019-12-11 HWC (see tweet). Added text above, inline.

Remote Participation
If an event has a remote-participation option (no idea how to represent that other than prose), then it makes sense to allow people to RSVP as a remote participant.

This is useful for at least two reasons (use-cases), a remote RSVP ...
 * helps the event organizer plan for making sure the remote-participation setup is working
 * implies the organizer need not worry about any food/drink/seating in-person for that RSVP

Real world examples:
 * 's RSVPs for a couple of real world examples of prose publishing of remote RSVPs.
 * 's RSVPs for yes (remote) example

Driving use-case:
 * Tantek's event: http://tantek.com/2018/212/e1/indiewebcamp-sf-dweb-hackers-day
 * needs estimate for food, thus needs to know who is RSVPing in-person (default) vs. remote (explicit)

Possible approaches:
 * new property (seems heavy-weight)
 * feels this is a better option than extending the RSVP property and adding logic to all clients in terms of what it supports. It means clients need to support a new property instead of a breaking change for existing properties
 * new RSVP property value, e.g.
 * "yes-remote" - would likely require everyone (including English publishers) to use  element, perhaps a good thing to encourage cross-language consistency in markup?
 * expand RSVP property grammar, space separated set of values like class/rel, add "remote"
 * e.g. "yes remote" (or "remote yes", equivalent)
 * also "maybe remote" (not sure if anyone has published this yet)

What value could be used to?
It is necessary to differentiate  between remote and onsite, especially considering the second reason given above. Someone participating remotely will not be taking a seat and may not always count towards the total of guests allowed.

Would it be useful to extend the possible values from,  ,  ,   to  ,  ,  ,  ,  ,  ,  ,  ?


 * with these double values, does the order matter? Should consumers pickup  too? This makes consuming harder.
 * how hard would it be to define RSVP as a set of space separated values, much like -attribute values? In CSS selector terms   would tell a consumer that the RSVP is remote. —
 * :  does not need it's own value, for   is 'no'. I'm not sure about   and , but if it turns out you don't need them, just   (and implying 'remote yes') might be just enough.
 * -0 on remote no. If an event explicitly allows / encourages remote participation, a  could make sense as an update to a   or   previous RSVP, though it's not clear that just plain   wouldn't work, or rather, what additional meaning / usefulness does remote no provide over no? I'd lean toward minimizing possible values to those that have actual necessary use-cases not covered by existing values. -  Tantek Çelik 13:59, 2 May 2018 (PDT)
 * dash instead of space? remote participation is so different than in-person participation that it may make sense to use explicit new dash separated values for them like:  and   (undefined has used remote maybe in prose) indicating actual intent or possibility of using remote participation tools. It's not clear how   is any different than interested (neither implies anything about participation), see above for why   is likely unnecessary. -  Tantek Çelik 14:03, 2 May 2018 (PDT)
 * believes remote yes is redundant. For a yes remotely, just remote makes sense. No is no. There may be a case for a maybe or interested version of remote in future, but suggest that remote itself should come first.

Remote value examples

 * published a  RSVP to IWS 2017.

POSSE
How and where should RSVP posts be POSSEd?

Event-aware destinations to consider:


 * Facebook - lots of events are posted on FB
 * Bridgy Publish supports POSSEing RSVPs to Facebook Events!
 * undefined is posting RSVPs using Falcon on tantek.com and automatically POSSEing them to Facebook using Bridgy. See examples above.


 * Eventbrite - has best API for creating events, getting updates, perhaps backfeeding attendees etc.
 * Bridgy feature request: publish RSVP to an Eventbrite event (Related: Bridgy feature request: publish Eventbrite events)
 * Lots of people seem to use Eventbrite to post events
 * Eventbrite also emails people when some number (2+?) of their friends are going to an event - so it's a good way to indirectly let your friends know too when you RSVP.
 * Real world examples of indie RSVP posts in reply to Eventbrite events:
 * undefined: http://tantek.com/2015/266/t1/science-hack-day-san-francisco-sign-up


 * Lanyrd - has an API for creating events, getting updates, backfeeding RSVPs
 * No explicit Bridgy Publish issue for POSSEing an indie RSVP to a Lanyrd event as no one has posted one yet.
 * Related: Bridgy Publish feature request: POSSE to Lanyrd
 * Related: Bridgy backfeed from Lanyrd feature request


 * Plancast - event-specific silo
 * No explicit Bridgy Publish issue for POSSEing an indie RSVP to a Plancast event as no one has posted one yet.
 * meetup.com - event-specific silo
 * Bridgy feature request: publish RSVP to a meetup.com event

Problematic event-aware destinations:
 * Google+ - another silo that has explicit event posts, but has some challenges:
 * G+ API doesn't expose events
 * when someone shares an event, you can see it in their stream with activities.list and get, but that's just a note about it, not the event itself.
 * G+ API bug asking for events: http://code.google.com/p/google-plus-platform/issues/detail?id=567
 * Not sure if that would help towards being able to RSVP to a G+ event.

POSSE to Twitter
Twitter - can we compress the details of an RSVP post into 280 characters or less? (256 to leave room for event permalink URL).


 * Is there an event POSSE tweet to @-reply to from your RSVP POSSE tweet?
 * If not, how do we abbreviate what/when/where "fields"? E.g. just like event:
 * What: summary... (ellipsed)
 * Where: @-alias of venue (how do we do venue lookup on Twitter? Perhaps use Foursquare to lookup the venue and see if their venue entry has a Twitter for the venue?
 * When: YYYY-MM-DD HH:MM (seems quite long, what's the best way to compress a datetime in a human readable way?)
 * CC: @-names (of folks to explicitly notify, like an invitation)
 * Should such fields be explicitly labeled e.g. with "What: / Where:" etc. with linebreaks between them?
 * Or should we figure out a plain text event serialization format since things like an @-named venue already reads well "at venue"? (see picoformats for prior work/research on this)
 * IndieWeb Examples:
 * https://twitter.com/t/status/646773517065678848 POSSE tweet of

Backfeed from Twitter
While this may be more appropriate on RSVPs, keeping here since it is part of the same design dependency as POSSEing to Twitter — human readable plain text RSVP posts.


 * How do we backfeed RSVP-like responses from Twitter? E.g. determine that a response is an RSVP yes/no/maybe:
 * https://twitter.com/Johannes_Ernst/status/1097915214689853440 "Planning to be there!"

RSVPing with others
Many event systems (e.g. Evite) provide the ability for invitees to RSVP with an optional additional number of people they will bring to an event, AKA a "plus one" or "+1" or more.

It would be good to figure out a way to:
 * post an RSVP for yourself and some number of additional attendees (you plan to bring with you)
 * post an RSVP and explicitly list who else you plan to bring with you, in essence RSVPing on their behalf (which they themselves may syndicate-in from your RSVP post to their own site)
 * define how an event organizer’s site can receive this information to keep track of and possibly display:
 * the total number of attendees
 * who is planning to attend the event

Whether or not an event has explicit capacity, the ability to indicate a "+1" optionally with their name is helpful both to folks publishing RSVPs, and folks hosting events to get a count of and who will attend for event planning purposes (food, seating, other constraints etc.)

Capacity and Ticketing
TODO: merge into event

If event capacity is limited, the event host may not know at the time of responding to the RSVP whether you are allowed in (get a ticket) or not (waitlisted). It can supply a URL to answer this later in the RSVP 202 response. However this protocol could be extended to cover the ticketing case too.
 * Return the ticket/waitlist url in the RSVP response.
 * when the capacity issue is resolved, update the ticket url information so that the unauthenticated page includes a h-entry that states 'you have 2 tickets' 'you are waitlisted' etc.
 * send a webmention back to the RSVP post so that this response shows up OR poll the webmention status URL
 * we could define new markup for this stage so it can be automatically handled

Attendees can also RSVP for multiple people, ie request multiple tickets, by posting multiple RSVPs, one per ticket. CMSes can automate this with custom RSVP UIs that generate and send an RSVP post per ticket.

During the event, there are a couple possible ways for host(s) to verify attendees. If you want to use traditional tickets, when the RSVP poster goes to the ticket link, they can authenticate in with indieauth to get the actual ticket proof, which may be printable, a QR code to display on the phone, or just a page you show to the doorkeeper.

A more modern, IndieWeb way is to forego tickets entirely, digital or otherwise. If the host has followed the process above, they end up with a list of RSVPs and domains for those RSVPs. The host can then set up a page on their site that accepts IndieAuth logins. When an attendee arrives, they IndieAuth into that page with their domain, the host checks the domain against their RSVP list, and lets them in (along with any guests).

Calendar integration
It could be useful for RSVP 'yes' posts to appear in your calendar.


 * publishes an iCal feed of his event posts and then subscribes to this in Google Calendar - the same approach could be used for RSVP posts.
 * has an iCal feed of his RSVPs (for `yes`, `maybe` and `interested`) which has been available since 2019-07-27 which he is super happy with, and subscribes to in Google Calendar, as well as embedding the calendar on https://www.jvt.me/rsvps/
 * has produced a service for any /Microformats2 feed marking up RSVPs to be converted to an iCalendar feed

are rsvp-values case-sensitive?
No. Per the h-entry specification, the values for p-rsvp are Case-insensitive values, normalized to lowercase., so yes, Yes or yEs are all valid and equivalent.

Facebook
Facebook has fairly widespread support of RSVP posts and RSVP-specific webactions on event posts.

Many details about Facebook's RSVP posts and buttons (including screenshots and wireframes) are captured here:
 * http://microformats.org/wiki/rsvp-examples#Facebook


 * Why Facebook RSVPs can't be trusted
 * https://amp.thedailybeast.com/theres-an-algorithmic-reason-you-should-reply-yes-to-every-facebook-event

Sessions

 * London 2020: Owning Your RSVPs