Skip to main content

Overview

The RSVP Component manages guest responses for Event and Wedding QR Codes.
It allows customization of invitee information fields, RSVP deadlines, and submission settings — ensuring smooth event attendance tracking and communication.
It also supports custom forms, guest limits, and localized date/time formats, while maintaining compatibility with legacy RSVP structures (deprecated fields retained for backward support).

Properties

PropertyTypeRequiredDescription
receiverEmailstringNoOrganizer’s email where RSVP submissions are sent. Must be a valid email address.
inviteeDetailsobject✅ YesDefines which fields the invitee must fill out (name, email, phone).
nameboolean✅ YesWhether to collect the invitee’s name (always required).
emailbooleanNoIf true, requests the invitee’s email address.
phonebooleanNoIf true, requests the invitee’s phone number.
rsvpByobjectNoSets the RSVP deadline and time format.
endDatestring✅ YesDate after which RSVP submissions will be closed.
timeZonestring✅ YesTimezone for RSVP deadline.
timeFormatstringNoTime format, either 12h or 24h. Default: 24h.
dateFormatstringNoDate format used for display. Default: MM-dd-yyyy.
numberOfGuestsnumberNoNumber of additional guests the invitee can bring (0–50). Default: 0.
questionsobjectNoReference to the custom RSVP form schema (rsvp_form).
submitButtonobjectNoButton reference for form submission (Base Button Component).
formattingobjectNoDefines custom styles for text and card layout.
textStyleobjectNoReference to [style/text.json].
cardStyleobjectNoReference to [style/card.json].
Deprecated FieldsanswerFormat_, askFromGuests, askFromInvitee, question, _optionsare deprecated and retained for legacy compatibility.

Used in Categories

This component is used in the following categories:

Schema

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "definitions": {},
  "title": "RSVP Component",
  "description": "Validate RSVP component schema",
  "type": "object",
  "required": [
    "inviteeDetails"
  ],
  "additionalProperties": false,
  "properties": {
    "receiverEmail": {
      "type": "string",
      "format": "email",
      "pattern": "^\\S+@\\S+\\.\\S+$",
      "description": "Email where RSVP will be sent"
    },
    "inviteeDetails": {
      "type": "object",
      "required": [
        "name"
      ],
      "additionalProperties": false,
      "properties": {
        "name": {
          "type": "boolean",
          "default": true,
          "description": "Name will be always asked"
        },
        "email": {
          "type": "boolean",
          "default": false,
          "description": "If true, email will be asked from the invitee"
        },
        "phone": {
          "type": "boolean",
          "default": false,
          "description": "If true, phone number will be asked from the invitee"
        }
      }
    },
    "rsvpBy": {
      "type": "object",
      "additionalProperties": false,
      "description": "Rsvp end date.",
      "required": [
        "endDate",
        "timeZone"
      ],
      "properties": {
        "endDate": {
          "type": "string"
        },
        "timeZone": {
          "type": "string"
        },
        "timeFormat": {
          "type": "string",
          "default": "24h",
          "enum": [
            "12h",
            "24h"
          ]
        },
        "dateFormat": {
          "type": "string",
          "default": "MM-dd-yyyy",
          "enum": [
            "MM-dd-yyyy",
            "dd-MM-yyyy",
            "yyyy-MM-dd",
            "M/dd/yyyy",
            "MMM d, yyyy"
          ]
        }
      }
    },
    "numberOfGuests": {
      "type": "number",
      "minimum": 0,
      "default": 0,
      "maximum": 50,
      "$comment": "A maximum of 50 guest can be added.",
      "description": "Additional number to guests invitee an bring with them"
    },
    "answerFormat": {
      "type": "string",
      "description": "** This JSON OBJECT IS DEPRECATED ** ",
      "enum": [
        "option",
        "paragraph"
      ]
    },
    "askFromGuests": {
      "type": "boolean",
      "default": false,
      "description": "Whether to ask the question from quests as well. ** This JSON OBJECT IS DEPRECATED **"
    },
    "askFromInvitee": {
      "type": "boolean",
      "description": "Whether to ask the question from quests as well. ** This JSON OBJECT IS DEPRECATED **"
    },
    "question": {
      "type": "string",
      "maxLength": 1000,
      "description": "Question to ask from invitee or guests ** This JSON OBJECT IS DEPRECATED ** "
    },
    "options": {
      "type": "array",
      "description": "Array of strings to use when answerFormat is set to option. ** This JSON OBJECT IS DEPRECATED ** ",
      "maxItems": 50,
      "$comment": "A maximum of 50 options can be added",
      "items": {
        "type": "object",
        "required": [
          "option"
        ],
        "additionalProperties": false,
        "properties": {
          "option": {
            "type": "string",
            "maxLength": 500
          }
        }
      }
    },
    "questions": {
      "$ref": "rsvp_form.json"
    },
    "submitButton": {
      "$ref": "_base_button.json"
    },
    "formatting": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "textStyle": {
          "$ref": "style/text.json"
        },
        "cardStyle": {
          "$ref": "style/card.json"
        }
      }
    }
  }
}

Notes

  • The inviteeDetails.name field is mandatory and always enabled.
  • Use receiverEmail to automatically route submissions to event hosts.
  • Deprecated properties (answerFormat, question, etc.) should be avoided in new implementations.
  • Use rsvp_form reference to build structured multi-question RSVP forms.