Operations
How RSVP at scale really works
Three hundred guests, five events, and a deadline. The unflashy mechanics of running an RSVP system that actually returns honest numbers.
Most wedding RSVP systems look the same on the surface — a form, a deadline, a dashboard that aggregates yes-no-maybe counts. Underneath, the ones that return honest numbers and the ones that return wishful numbers are built on fundamentally different assumptions. This post is about those assumptions, and why getting them right matters more than any single feature.
The headcount is not the goal — the confidence is
Wedding planners do not actually need a number. They need a number they can trust enough to spend money on. There is a meaningful difference between "we expect 240" and "we are 90 percent confident the final count is between 230 and 245." A good RSVP system surfaces both, and is honest about the uncertainty band. A bad one shows the optimistic number on the dashboard and leaves the planner to discover the truth at the venue.
The way we model this on Tanvrit is to classify every guest into one of four
states — confirmed_yes, confirmed_no, tentative, and silent — and
present them separately. The "expected attendance" projection is then a
weighted sum: confirmed_yes count as 95 percent, tentative as 50 percent,
silent guests get a discount based on the response rate of similar weddings
in your region (typically 25 to 40 percent of silent guests turn up). The
result is a number that has been pessimistic enough times to be trusted.
The deadline is a process, not an event
Every RSVP system has a deadline field. Almost none of them treat the deadline as the central organising mechanic. Here is the version that works:
Fourteen days out, the platform sends every guest a soft reminder: "Just checking in — will you be joining us at the mehndi on the fourth?" Seven days out, anyone still silent gets a firmer nudge with the actual deadline explicit. On the deadline day, the planner gets a single notification listing exactly the guests who never replied, with a one-tap "convert to tentative" option. Three days before the event, anyone still tentative gets a final prompt with a soft language change ("we are finalising seating today — can we count you in?").
The point is not the schedule itself, which any spreadsheet can run. The point is that the schedule is automatic and consistent, and the planner never has to remember to send it. Wedding planners forget. Software does not.
Multi-event RSVP is not a sum of single-event RSVPs
The most common mistake in RSVP design is to treat a wedding as five separate events with five separate RSVPs. From a relational data point of view this seems correct — each event has guests, each guest has an attendance status. From a usability point of view it is a disaster. No human guest wants to receive five separate RSVP forms, and no planner wants to chase the same person across five tabs.
The model that works is one invitation per guest, with a multi-select checkbox: "I will be attending — mehndi, sangeet, ceremony, reception." The guest replies once, and the system writes five attendance records on their behalf. If they update one — "actually, I cannot make the sangeet" — the others stay intact. The data model is still per-event-per-guest under the hood. The user experience is one invitation, one form, one decision.
Plus-ones are the hardest part
The single biggest source of RSVP inaccuracy is the plus-one. A guest replies yes for themselves and "maybe" for a partner. The partner never replies directly. On the day, they may or may not arrive. We have measured this across our beta cohort: about 18 percent of plus-ones in the "maybe" bucket turn up, and about 11 percent of plus-ones in the "confirmed yes" bucket do not turn up. Both errors compound.
What helps: collect the plus-one's name and contact details at the original RSVP, and send them their own confirmation message. Now the plus-one is a person, not a placeholder, and they can be reminded directly. We have seen this single change move plus-one accuracy from roughly 60 percent to roughly 85 percent.
Dietary preferences need to be collected at RSVP, not later
Every catering team we have worked with asks the same question two weeks out: "how many vegetarians?" The planner then has to go back to the guests and ask them for a second time, which is annoying for everyone. The not-quite-obvious fix is to make dietary preference a required field at the RSVP itself. Three options is enough: veg, non-veg, dietary restriction (with a free-text field). This costs the guest seven extra seconds and saves the planner roughly a day of follow-up.
Channel mix: WhatsApp first, email second, SMS as fallback
In our 2026 cohort, RSVP response rates by channel break down like this: WhatsApp reminders, 78 percent reply rate within 48 hours. Email reminders, 34 percent. SMS reminders, 41 percent (lower than email but faster). Voice calls from the family, 92 percent — but they cost hours of human time and do not scale past a few dozen guests.
The pragmatic mix: use WhatsApp for nudges, email for the original detailed invitation, SMS as a fallback for guests whose WhatsApp deliveries fail, and reserve human phone calls for the final 20 silent guests in the last 72 hours. No RSVP system can fully replace the family phone call. The best ones make sure the phone call list is as short as possible.
What we do not solve
Two problems we have explicitly not solved, because we do not think technology should: the guest who replies yes but cancels on the morning, and the uninvited guest who turns up anyway. Both are universal wedding problems and both are best handled by a tolerant venue and a generous host, not by software. A good RSVP system gives you honest numbers up to the morning of the event; what happens at the door is human.
If your headcount feels right but your seating chart keeps shifting, the honest answer is that RSVP is doing its job and the seating chart is doing its.