Skip to main content

Overview

The Event Schedule Component enables event-based QR Codes (like Event and Wedding categories) to include structured scheduling information.
It defines key event details such as start and end dates, time zones, recurrence settings, and calendar integrations.
This ensures that event QR Codes provide accurate, localized, and user-friendly event timing data.

Properties

PropertyTypeRequiredDescription
titlestringNoTitle of the event. Maximum 50 characters.
startDatestring✅ YesStart date of the event (ISO 8601 format recommended).
endDatestringConditionally requiredEnd date of the event. Required if allDayEvent is false.
timeZonestring✅ YesTime zone identifier (e.g., Asia/Kolkata, UTC).
repeatbooleanNoIndicates if the event repeats periodically.
recurrencestringNoDefines recurrence frequency. Supported values: daily, weekly, monthly, yearly.
allDayEventbooleanNoWhether the event lasts all day. Default: false.
timeFormatstringNoDefines time format for display. Options: 12h or 24h. Default: 24h.
dateFormatstringNoDefines date display format. Options: MM-dd-yyyy, dd-MM-yyyy, yyyy-MM-dd, M/dd/yyyy, MMM d, yyyy. Default: MM-dd-yyyy.
separatorobjectNoReference to Separator Component. Controls spacing or visual dividers between sections.
addToCalenderobjectNoConfiguration for “Add to Calendar” actions. Includes tracking from Event Tracking Component.
formattingobjectNoDefines text and card layout styles via Style Components.

Used in Categories

This component is used in the following QR Code categories:

Example Schema

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "definitions": {},
  "title": "Event Schedule component",
  "description": "Validate event schedule component schema",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "startDate",
    "timeZone"
  ],
  "properties": {
    "title": {
      "type": "string",
      "maxLength": 50,
      "description": "Title of the event"
    },
    "startDate": {
      "type": "string"
    },
    "endDate": {
      "type": "string"
    },
    "timeZone": {
      "type": "string"
    },
    "repeat": {
      "type": "boolean"
    },
    "recurrence": {
      "type": "string",
      "enum": [
        "daily",
        "weekly",
        "monthly",
        "yearly"
      ]
    },
    "allDayEvent": {
      "type": "boolean",
      "default": false
    },
    "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"
      ]
    },
    "separator": {
      "$ref": "separator.json"
    },
    "addToCalender": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "tracking": {
          "$ref": "event_tracking.json"
        }
      }
    },
    "formatting": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "textStyle": {
          "$ref": "style/text.json"
        },
        "cardStyle": {
          "$ref": "style/card.json"
        }
      }
    }
  },
  "if": {
    "properties": {
      "allDayEvent": {
        "const": false
      }
    },
    "required": [
      "allDayEvent"
    ]
  },
  "then": {
    "required": [
      "endDate"
    ]
  }
}

Notes

  • startDate and timeZone are mandatory for defining valid event schedules.
  • If allDayEvent is false, you must also include endDate.
  • The addToCalender object allows adding Google Calendar, iCal, or Outlook actions to the landing page.
  • Ensure proper timezone handling for users accessing the QR Code globally.