I'm working on a scheduling application that utilizes an ics file to set up an appointment in outlook, the issue im having is that the appointment time changes depending on timezone and im not wanting it too. For example i want to set an appointment from 11am-noon from central time, the ics would change to adjust to the timezone eastern and make it from noon - 1pm. Here is what my ICS file looks like. I tried specifying Timezones in the TZID but it would always adjust.
BEGIN:VCALENDAR
VERSION:2.0
METHOD:REQUEST
BEGIN:VEVENT
ATTENDEE;CN=email<email@email.org>;RSVP=TRUE:mailto:email@email.org
CLASS:PUBLIC
CREATED:20201007T114658Z
DESCRIPTION:
DTEND;TZID="Central Standard Time":20201007T120000
DTSTAMP:20201007T114908
DTSTART;TZID="Central Standard Time":20201007T110000
LOCATION:Unknown
ORGANIZER;CN="Appointment":mailto:AppointmentsManager@email.org
PRIORITY:5
SEQUENCE:1
SUMMARY;LANGUAGE=en-us:east
TRANSP:OPAQUE
UID:X9053866f41994acda100ded7fb305ebe
BEGIN:VALARM
TRIGGER:-PT1H
ACTION:DISPLAY
DESCRIPTION:Reminder
END:VALARM
END:VEVENT
END:VCALENDAR
Your ICS file does not have a VTIMEZONE component. If you specify a TZID for an event's start/end time, you must create a corresponding VTIMEZONE component that provides the definition for that timezone.
Alternatively, you could convert the start/end time to UTC, which means you don't need a TZID parameter:
DTEND:20201007T170000Z
DTSTART:20201007T160000Z
Another alternative: Use an Olsen timezone ID in the TZID parameter and prefix it with a slash. However, this is not guaranteed to work with all mail clients.
DTEND;TZID="/America/Chicago":20201007T120000
DTSTART;TZID="/America/Chicago":20201007T110000