Why Calendar Invite First?
The goal is to secure a spot on the Customer’s calendar, track the calendar invite responses and have a conversation through Calendar Invite Updates.
The Story of building the NFL game schedule for the 272 Games
Arnie the Builder
The goal for Arnie the Builder is focused on developing a typical architecture for vertical industries based on Upcoming Events and the ability to use this as a template design for others to use for guidance on how embedded calendar invites can be used for customer communications, promotions, and a vehicle to get on the calendar first, promote directly to the calendar.
He is currently defining typical architectures for three main areas: Sporting Schedules, Technology Conferences, and Entertainment Venues. His NFL Mini Site is a demo platform he built using a framework of concepts that we will review in detail later in this document.
Mandy, the Organizer and owner of the NFL Promotion Site
The goal for Mandy is to offer NFL schedules on her website as an alternative engagement channel, allowing potential customers to select games and send themselves a calendar invite.
Think of it as the “Modern Day” equivalent of the Magnet that vendors give out for your favorite teams with a branded logo on it.
She tracks customers who have sent themselves calendar invites and engages with them by editing and updating the invites as needed before the event. She then resends the updated invites to those confirmed in a Y or M status.
In addition, she may offer promotions through calendar invite updates that are game-related, such as coupons, merchandise, or special events at the game.
Categories in the sports industry typically include team merchandise, tickets for current games or related events, food vendors within the stadium, and local businesses that promote their goods and services during the game.
Zack the Sports Fanatic Customer
Zack is a big fan of Mandy’s Sport Schedules, showing interest in the product, promotional offers, tickets, and vendors related to the NFL Game Schedule.
Alternatively, he may be an NFL fan interested in specific games and will enjoy the engagement of selecting and sending a calendar invite using Mandy’s Game Schedule.
Starting the Story off
We are going to start with Mandy the Organizer’s Point of View (POV) and then integrate Zack’s (POV) as the customer of Mandy’s.
Let’s assume Mandy, the organizer, gets access to Arnie the Builder's master VUE.JS template for the NFL custom mini site. She aims to utilize the Calendar Invite Server (CIS) to deploy the game schedule and upload the NFL game schedule, thereby attracting new customers and strengthening her relationships with current ones by offering the NFL mini-site on her branded main website.
Data Ingestion
Mandy, the Organizer, uses her Google business account. She downloads the team's ICAL schedules from https://fixturedownload.com/sport/american-football and uploads them to her Google Calendar business account.
She then uploads the individual game calendars’ ICAL files into her Google Business Calendar Account. She does this by using the built-in functions of the Calendar Client for file import and export.
Specific to Google, she clicks on the System Gear icon and navigates to Settings, General, and Import & Export.
Under Import a File, the Import Option box allows you to select the calendar to import to. The "Select from your computer" box icon will enable you to select a file from your computer for upload. Once you have completed this process for all the individual teams, the data will be ready for deduping.
Little History in Display Math and Dedup for Digital Calendars
NFL is 17 games X 32 teams = 544 in Total Display. Then divide 544 by 2 or 272 games to be displayed for the Schedule.
NBA is 82 games X 30 teams = 2,460 in Total Display. Then divide 2,460 by 2 or 1,230 games to be displayed for the Schedule.
MLB is 162 games X 30 teams 4,860 in Total Display. Then divide 4,860 by 2 or 2,430 games to be displayed for the Schedule.
NHL is 32 games X 32 teams = 2,624 in Total Display. Then divide 2,624 by 2 or 1,312 games to be displayed for the Schedule.
Deduping the games
This step is necessary because the game data for any uploaded game is built for a single team, representing a game schedule for the year, as they play against the opposing team. When displaying the year in your Google or Outlook Calendar, you will see the total games, including duplicates. To alleviate this, go into the schedule view and click a button to delete the duplicate games.
Mandy, the organizer, reviews her NFL master schedule and forwards the NFL calendar events to the Calendar Invite Server using the designated email address. In this demo, the email address is defined as create@calendarsnack.com.
This email box is the Inbound Processor that runs the Lambda Function workflows of taking the data from the Organizer’s Calendar Invite, disassembling it using the Functions, and storing the Calendar components inside the Dynamo DB for recall later when the Rest API is called for Outbound processing by matching the customer’s email to the UID for sending and tracking.
What Mandy, the Organizer, sees 270 NFL Games in her Calendar Client after uploading the NFL Games, deduping, and sending them to the Calendar Invite Server for display and API Code generation.
The Data here is laid out for the 272 Games in Schedule View in Google or Outlook Calendar Clients. When she logs into the calendar invite server she will see any data she sent from her calendar invite to the calendar invite server Inbound processor email address.
Any time the Individual Calendar Event data needs to be changed Mandy can use the same Calendar Client using the Edit Funtion, to change location, date, time, subject or add promotional information for products and SAVE to resend back to the Inbound Processor Email address.
What Mandy sees in the Organizer View of Calendar Invite Data in the Calendar Invite Server for the NFL Season.
Mandy the Organizer will see several pieces of data gathered from the individual Calendar Invite for the Event, as well as Calendar Invite Receipt data collected from the customers who respond to the Organizer for their current status in their Calendar Clients. This is the interaction of Y, N, and M in the customer’s Calendar Client.
This data is tracked for every customer who receives a calendar invite from the REST API, as each invite triggers a request for calendar receipts to the API Gateway.
In addition to the individual, she will see all event data sent to the Calendar Invite Server from her calendar client by using the designated email address that the domain owner of the Calendar Invite Server can configure. In this demo, the email address is create@calendarsnack.com.
This includes the time the Calendar Invite is sent to the Inbound processor email address, as well as the subject, Date, Event start and end times, Location, Message body contents (including any promotion offers or instructions), and agenda.
With this data set, we track the first creation date and map the Event's UID in the Database to the Organizer’s Email address of the Calendar Client. When the Calendar Invite is updated, the Calendar Invite Server adds a plus 1 to the Original and maps the previous one to the next one, and scores that into the database.
We then track and report that as Update X in the reporting calendar invite server reporting console.
Mandy, the organizer, accesses game data through the Calendar Invite Server Console, and that data is pulled with the same Rest APIs as the NFL Demo Site.
She can create, update, or cancel Games with her Calendar Client, and the data will be updated in the Calendar Invite Server Inbound processor, and the API’s will refresh the data.
In this Diagram, the Calendar Event data on Mandy’s Google Calendar was sent to the Calendar Invite Server, processed, and stored for use in both the Calendar Invite Console and the NFL demo Schedule site.
Let’s start when Mandy logs in to the Calendar Invite Server console.
The Event Organizers dashboard for the Organizer
This is the main viewing area for the Organizer. This dashboard pulls data from the Organizer’s 7 APIs and parses the data using JSON arrays to display the data in the Dashboard. It’s a fast and efficient way to display detailed data.
The Calendar picker pulls all data stored in S3 and DynamoDB.
It summarizes the information for All Events, New Events, Upcoming Events, and Past Events, categorized by the Organizer's Email Address in the Calendar Client. This allows the API to drill into an S3 Bucket, accessing specific calendar days to call and view event data back to the display pages.
The Upcoming Event view pulls the detailed data from S3 and DynamoDB.
It displays the Event Title, Start Date, Start Time, Invitation Total, RSVP Total, and Response Rate in individual event cards at this level for easy viewing. The Event Cards have a button that will drill into View Event Report.
What’s in the Event Summary inside the View Event Report for the Organizer
Event Summary contains EVENT ID, Status, created by, Created on Date and Time, Last Update on Date and Time, Number of Updates to the Calendar Invite Event, Created With: what Calendar Client. It also contains a button to click to get the detailed Event Invitee email List to be emailed to the Organizer’s email address in a CSV format.
There is an option to include names and email addresses in the Calendar Invite Console; however, we chose not to do so on this demo platform due to concerns about personal information.
Sports Schedules can lead to better fan engagement and provide a means to communicate with fans about cross-promotions of tickets, merchandise, game data
1. Offering the game schedule makes your brand more interesting and a way to gather more customers through the use of email data collection, and in return, the customers get a calendar invite.
2. Event changes for Location, Time, Date, and promotions are done through the Organizer’s Calendar Client provide updates directly to the customers calendar.
3. Organizers can track and segment customers' interest based on Yes, Maybe, or No replies back to the Calendar Invite Server API.
NFL Custom Demo Site for the 272 embedded calendar lnvites
Mandy promotes the NFL Schedule through her website, email campaigns, and partnerships with vendors involved in cross-event promotions.
Customers like Zack in this Demo scenario visit the Game Schedule website, select some games, enter their email address, and receive a calendar invite.
As as long Zack is on the website with the email box loaded with his email address he can get the calendar invite with one click for a game.
Mandy, the Organizer, then tracks all her customers that have selected calendar invites for games off the Website and track in the Calendar Invite Console.
Mandy Edits the Orginal Calendar Event in her calendar client for that game and Saves the Event. That sends the Update to the Inbound Processor email address for a and build a new Calendar Invitations that includes the promotional Jersey and a Booth Number in the message body to those responded with a Y or M from the first calendar invite. This process is automated by the Calendar Invite server logic.
Other Option for Mandy the Organizer to send calendar invites
Mandy could also use the Calendar Invite Server Rest API for Email marketing and Direct Calendar Invite Sending after gathering emails from the NFL promotions site.
Example 1 - Embedding Calendar Invite in an Email Template.
Mandy adds the new email address gathered from the NFL Promotion Site to her MailChimp email marketing list to promote a possible calendar invite embedded in the MailChimp Campaign.
When a customer clicks the Call-to-Action Button they receive the calendar invite and the event is tracked and can be updated.
Example 2. Sending a direct calendar invite from a List
Example 2- From an Web Application Example above that can load up to 1000 email’s into the browser from a Txt file which allows for quick sending of calendar invites by allowing to pick from the 272 games in this example, selecting a specific game and then confirming by typing YES into the Picker for final sending.
Example 3 - Or using an direct email list API from a third party vendor to send 1000’s of calendar invites using the same Calendar Invite Server Rest API. The Game Selector Picker could match the event to be sent and send it to Que for order for confirmation to the Organizer for Final review in the Calendar Invite Server Dashboard for final release of the batch send.
Recap of Large Untapped Markets in Closing for Sending, Tracking, Updating Calendar Invites Embedded in Upcoming Event Pages
Customized Websites for Schedules like the NFL one Arnie built for demo for for NBA, NFL, MBA, NHL, Red Bull Sports, College Sports, Global Sports, F1, Moto GP, and Technology Conferences.
Direct Sending for News Letters Events
Bee Hive and Sub Stack represent millions of customers and those customers are looking for ways to maintain and gain new subscribers.
One way would to add the ability to directly send calendar invites to a segmented list, track and update the calendar invite data for promotions or brand offers.
Email Marketing Integration as an Alternative to Add to Calendar + RSVP Form
The ability to generate calendar invite API code to embed the calendar invite into a Call to Action button the 100’s of Email Marketing Providers is a market.
Like - Klaviyo, MailChimp, SendGrid and HubSpot.
Why using the Calendar Invite Server is better for domains and Brands than Add to Calendar + RSVP Form.
Feature - Attendee Action
Calendar Invite Server (The Winner) -A simple, one-click “Yes, No, Maybe” response directly within their calendar or email client.
“Add to Calendar” + RSVP Form (The Loser) -A multi-step process: clicking a button, being redirected, and filling out a separate form.
Feature - Event Updates
Calendar Invite Server (The Winner) -Changes are seamlessly and automatically pushed directly to the attendee’s calendar, keeping it up to date.
“Add to Calendar” + RSVP Form (The Loser) - Non-existent. This method requires a new email blast, forcing users to manually update their own calendars.
Feature - Organizer Workflow
Calendar Invite Server (The Winner) -Simple and integrated. The entire event lifecycle is managed from the organizer’s own familiar calendar client to the REST API of the Calendar Invite Server Pipeline for Create, Send, Track, Update and Cancel.
“Add to Calendar” + RSVP Form (The Loser) -Complex and fragmented. Requires logging into multiple platforms to generate Add to Calendar buttons and manage separate RSVP forms and then bolt them together for the campaign.
Feature - Communication
Calendar Invite Server (The Winner) -Establishes a direct, two-way communication channel to the attendee’s calendar for the life of the event.
“Add to Calendar” + RSVP Form (The Loser) - Creates a one-way, one-time data drop with Add to Calendar Button to customers calendar using a static file. There is no persistent connection to the attendee’s calendar using the RSVP to Send Data.