Skip to content

feat(event-ticket): send calendar invite with ticket email - #139

Merged
NagariaHussain merged 8 commits into
bwhtech:mainfrom
krishna-254:feat/calendar-invites
Jan 27, 2026
Merged

feat(event-ticket): send calendar invite with ticket email#139
NagariaHussain merged 8 commits into
bwhtech:mainfrom
krishna-254:feat/calendar-invites

Conversation

@krishna-254

@krishna-254 krishna-254 commented Jan 23, 2026

Copy link
Copy Markdown
Contributor

What does this PR do?

Adds support for sending a calendar (.ics) invite along with event ticket emails.

Related Issue

Closes #104

Changes

  • Mandatory start and end time.
  • Check box for events to send invites in Customization tab of the Buzz Event form
Screenshot 2026-01-27 at 3 32 02 PM
  • Generate ICS calendar invite for events
  • Attach calendar invite to ticket email
  • Ensure Gmail and calendar clients recognize the invite correctly

How to test

  1. Create an event with date & time
  2. Book a ticket
  3. Verify ticket email includes a calendar invite
  4. Open email in Gmail and confirm "Add to calendar" works

Comment on lines +398 to 403
{
"default": "0",
"fieldname": "attach_calendar_invite",
"fieldtype": "Check",
"label": "Attach Calendar Invite"
}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be in the customisations tab below the ticket email template field. Should be checked by default.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment thread buzz/utils.py Outdated
Comment on lines +171 to +187
return f"""BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Buzz Events//EN
CALSCALE:GREGORIAN
METHOD:PUBLISH
BEGIN:VEVENT
UID:{uuid4()}@buzz
DTSTAMP:{now_datetime().strftime("%Y%m%dT%H%M%S")}
DTSTART;TZID={event_doc.time_zone}:{start_dt.strftime("%Y%m%dT%H%M%S")}
DTEND;TZID={event_doc.time_zone}:{end_dt.strftime("%Y%m%dT%H%M%S")}
SUMMARY:{event_doc.title}
LOCATION:{venue_address}
ATTENDEE;CN=Attendee;RSVP=TRUE:mailto:{attendee_email}
DESCRIPTION:Your ticket for {event_doc.title}
END:VEVENT
END:VCALENDAR
"""

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's put this in a Jinja template and render?

"ics.jinja2" in templates folder

@NagariaHussain

Copy link
Copy Markdown
Contributor

Also, please install and run pre-commit. Linters are failing.

@NagariaHussain
NagariaHussain merged commit 3596717 into bwhtech:main Jan 27, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Send calendar invite with tickets

2 participants