# Send initial request > put a@gmail.com 1qnf39p0m9h6n1cm9qa9d8mocv@google.com BEGIN:VCALENDAR PRODID:-//Google Inc//Google Calendar 70.9054//EN VERSION:2.0 CALSCALE:GREGORIAN BEGIN:VTIMEZONE TZID:America/Los_Angeles X-LIC-LOCATION:America/Los_Angeles BEGIN:DAYLIGHT TZOFFSETFROM:-0800 TZOFFSETTO:-0700 TZNAME:PDT DTSTART:19700308T020000 RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU END:DAYLIGHT BEGIN:STANDARD TZOFFSETFROM:-0700 TZOFFSETTO:-0800 TZNAME:PST DTSTART:19701101T020000 RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU END:STANDARD END:VTIMEZONE BEGIN:VEVENT DTSTART;TZID=America/Los_Angeles:20250619T060000 DTEND;TZID=America/Los_Angeles:20250619T064500 RRULE:FREQ=WEEKLY;WKST=SU;COUNT=2;BYDAY=TH DTSTAMP:20250616T182403Z ORGANIZER;CN=John Doe:mailto:a@gmail.com UID:1qnf39p0m9h6n1cm9qa9d8mocv@google.com ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP= TRUE;CN=b@gmail.com;X-NUM-GUESTS=0:mailto:b@gmail.com ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=ACCEPTED;RSVP=TRUE ;CN=John Doe;X-NUM-GUESTS=0:mailto:a@gmail.com X-MICROSOFT-CDO-OWNERAPPTID:299828133 CREATED:20250616T182358Z LAST-MODIFIED:20250616T182358Z LOCATION: SEQUENCE:0 STATUS:CONFIRMED SUMMARY:Meet me maybe DESCRIPTION:This is the event description TRANSP:OPAQUE BEGIN:VALARM ACTION:DISPLAY DESCRIPTION:This is an event reminder TRIGGER:-P0DT0H10M0S END:VALARM END:VEVENT END:VCALENDAR > expect from: a@gmail.com to: b@gmail.com summary: invite summary.attendee: Participants([ItipParticipant { email: "a@gmail.com", name: Some("John Doe"), is_organizer: true }, ItipParticipant { email: "b@gmail.com", name: Some("b@gmail.com"), is_organizer: false }]) summary.description: Text("This is the event description") summary.dtstart: Time(ItipTime { start: 1750338000, tz_id: 148 }) summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Weekly, until: None, count: Some(2), interval: None, bysecond: [], byminute: [], byhour: [], byday: [ICalendarDay { ordwk: None, weekday: Thursday }], bymonthday: [], byyearday: [], byweekno: [], bymonth: [], bysetpos: [], wkst: Some(Sunday), rscale: None, skip: None }) summary.summary: Text("Meet me maybe") BEGIN:VCALENDAR METHOD:REQUEST PRODID:-//INBUXA//INBUXA Server//EN VERSION:2.0 BEGIN:VEVENT X-MICROSOFT-CDO-OWNERAPPTID:299828133 DESCRIPTION:This is the event description LOCATION: STATUS:CONFIRMED SUMMARY:Meet me maybe DTEND;TZID=America/Los_Angeles:20250619T064500 DTSTART;TZID=America/Los_Angeles:20250619T060000 TRANSP:OPAQUE ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP= TRUE;CN=b@gmail.com;X-NUM-GUESTS=0:mailto:b@gmail.com ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=ACCEPTED;RSVP=TRUE ;CN="John Doe";X-NUM-GUESTS=0:mailto:a@gmail.com ORGANIZER;CN="John Doe":mailto:a@gmail.com UID:1qnf39p0m9h6n1cm9qa9d8mocv@google.com RRULE:FREQ=WEEKLY;COUNT=2;BYDAY=TH;WKST=SU CREATED:20250616T182358Z DTSTAMP:0 LAST-MODIFIED:20250616T182358Z SEQUENCE:0 BEGIN:VALARM DESCRIPTION:This is an event reminder ACTION:DISPLAY TRIGGER:-PT10M END:VALARM END:VEVENT BEGIN:VTIMEZONE X-LIC-LOCATION:America/Los_Angeles TZID:America/Los_Angeles BEGIN:DAYLIGHT DTSTART:19700308T020000 TZNAME:PDT TZOFFSETFROM:-0800 TZOFFSETTO:-0700 RRULE:FREQ=YEARLY;BYDAY=2SU;BYMONTH=3 END:DAYLIGHT BEGIN:STANDARD DTSTART:19701101T020000 TZNAME:PST TZOFFSETFROM:-0700 TZOFFSETTO:-0800 RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=11 END:STANDARD END:VTIMEZONE END:VCALENDAR # Send iTIP > send # Update the event, expect no changes > put a@gmail.com 1qnf39p0m9h6n1cm9qa9d8mocv@google.com BEGIN:VCALENDAR PRODID:-//Google Inc//Google Calendar 70.9054//EN VERSION:2.0 CALSCALE:GREGORIAN BEGIN:VTIMEZONE TZID:America/Los_Angeles X-LIC-LOCATION:America/Los_Angeles BEGIN:DAYLIGHT TZOFFSETFROM:-0800 TZOFFSETTO:-0700 TZNAME:PDT DTSTART:19700308T020000 RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU END:DAYLIGHT BEGIN:STANDARD TZOFFSETFROM:-0700 TZOFFSETTO:-0800 TZNAME:PST DTSTART:19701101T020000 RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU END:STANDARD END:VTIMEZONE BEGIN:VEVENT DTSTART;TZID=America/Los_Angeles:20250619T060000 DTEND;TZID=America/Los_Angeles:20250619T064500 RRULE:FREQ=WEEKLY;WKST=SU;COUNT=2;BYDAY=TH DTSTAMP:20250616T182416Z ORGANIZER;CN=John Doe:mailto:a@gmail.com UID:1qnf39p0m9h6n1cm9qa9d8mocv@google.com ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP= TRUE;CN=b@gmail.com;X-NUM-GUESTS=0:mailto:b@gmail.com ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=ACCEPTED;RSVP=TRUE ;CN=John Doe;X-NUM-GUESTS=0:mailto:a@gmail.com X-MICROSOFT-CDO-OWNERAPPTID:299828133 CREATED:20250616T182358Z LAST-MODIFIED:20250616T182415Z LOCATION: SEQUENCE:1 STATUS:CONFIRMED SUMMARY:Meet me maybe DESCRIPTION:This is the updated event description TRANSP:OPAQUE BEGIN:VALARM ACTION:DISPLAY DESCRIPTION:This is an event reminder TRIGGER:-P0DT0H10M0S END:VALARM END:VEVENT END:VCALENDAR > expect from: a@gmail.com to: b@gmail.com summary: update REQUEST summary.attendee: Participants([ItipParticipant { email: "a@gmail.com", name: Some("John Doe"), is_organizer: true }, ItipParticipant { email: "b@gmail.com", name: Some("b@gmail.com"), is_organizer: false }]) summary.description: Text("This is the updated event description") summary.dtstart: Time(ItipTime { start: 1750338000, tz_id: 148 }) summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Weekly, until: None, count: Some(2), interval: None, bysecond: [], byminute: [], byhour: [], byday: [ICalendarDay { ordwk: None, weekday: Thursday }], bymonthday: [], byyearday: [], byweekno: [], bymonth: [], bysetpos: [], wkst: Some(Sunday), rscale: None, skip: None }) summary.summary: Text("Meet me maybe") ~summary.description: Text("This is the event description") BEGIN:VCALENDAR METHOD:REQUEST PRODID:-//INBUXA//INBUXA Server//EN VERSION:2.0 BEGIN:VEVENT X-MICROSOFT-CDO-OWNERAPPTID:299828133 DESCRIPTION:This is the updated event description LOCATION: STATUS:CONFIRMED SUMMARY:Meet me maybe DTEND;TZID=America/Los_Angeles:20250619T064500 DTSTART;TZID=America/Los_Angeles:20250619T060000 TRANSP:OPAQUE ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP= TRUE;CN=b@gmail.com;X-NUM-GUESTS=0:mailto:b@gmail.com ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=ACCEPTED;RSVP=TRUE ;CN="John Doe";X-NUM-GUESTS=0:mailto:a@gmail.com ORGANIZER;CN="John Doe":mailto:a@gmail.com UID:1qnf39p0m9h6n1cm9qa9d8mocv@google.com RRULE:FREQ=WEEKLY;COUNT=2;BYDAY=TH;WKST=SU CREATED:20250616T182358Z DTSTAMP:0 LAST-MODIFIED:20250616T182415Z SEQUENCE:1 END:VEVENT BEGIN:VTIMEZONE X-LIC-LOCATION:America/Los_Angeles TZID:America/Los_Angeles BEGIN:DAYLIGHT DTSTART:19700308T020000 TZNAME:PDT TZOFFSETFROM:-0800 TZOFFSETTO:-0700 RRULE:FREQ=YEARLY;BYDAY=2SU;BYMONTH=3 END:DAYLIGHT BEGIN:STANDARD DTSTART:19701101T020000 TZNAME:PST TZOFFSETFROM:-0700 TZOFFSETTO:-0800 RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=11 END:STANDARD END:VTIMEZONE END:VCALENDAR > send # Make sure the original alarms are preserved > get b@gmail.com 1qnf39p0m9h6n1cm9qa9d8mocv@google.com BEGIN:VCALENDAR PRODID:-//INBUXA//INBUXA Server//EN VERSION:2.0 BEGIN:VEVENT X-MICROSOFT-CDO-OWNERAPPTID:299828133 DESCRIPTION:This is the updated event description LOCATION: STATUS:CONFIRMED SUMMARY:Meet me maybe DTEND;TZID=America/Los_Angeles:20250619T064500 DTSTART;TZID=America/Los_Angeles:20250619T060000 TRANSP:OPAQUE ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP= TRUE;CN=b@gmail.com;X-NUM-GUESTS=0:mailto:b@gmail.com ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=ACCEPTED;RSVP=TRUE ;CN="John Doe";X-NUM-GUESTS=0:mailto:a@gmail.com ORGANIZER;CN="John Doe":mailto:a@gmail.com UID:1qnf39p0m9h6n1cm9qa9d8mocv@google.com RRULE:FREQ=WEEKLY;COUNT=2;BYDAY=TH;WKST=SU CREATED:20250616T182358Z DTSTAMP:0 LAST-MODIFIED:20250616T182358Z SEQUENCE:1 BEGIN:VALARM DESCRIPTION:This is an event reminder ACTION:DISPLAY TRIGGER:-PT10M END:VALARM END:VEVENT BEGIN:VTIMEZONE X-LIC-LOCATION:America/Los_Angeles TZID:America/Los_Angeles BEGIN:DAYLIGHT DTSTART:19700308T020000 TZNAME:PDT TZOFFSETFROM:-0800 TZOFFSETTO:-0700 RRULE:FREQ=YEARLY;BYDAY=2SU;BYMONTH=3 END:DAYLIGHT BEGIN:STANDARD DTSTART:19701101T020000 TZNAME:PST TZOFFSETFROM:-0700 TZOFFSETTO:-0800 RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=11 END:STANDARD END:VTIMEZONE END:VCALENDAR