I am using outlook calendar api to manage users calendar on a CRM. And as per my knowledge, event ID's for any user are always unique for the events on their calendar. But, in some cases, when I fetch the events for a time window, I get two events with same event ID in the response from the server (till now, I'm getting one SeriesMaster and one SingleInstance). e.g., Please have a look on two events of the same user.
1st event is:
"Start":{"DateTime":"2016-07-13T15:00:00.0000000","TimeZone":"UTC"},"End":{"DateTime":"2016-07-13T15:30:00.0000000","TimeZone":"UTC"},"Location":{"DisplayName":"","LocationType":"Default","UniqueIdType":"Unknown","Address":{"Type":"Unknown"},"Coordinates":{}},"Locations":[],"Recurrence":{"Pattern":{"Type":"Weekly","Interval":1,"Month":0,"DayOfMonth":0,"DaysOfWeek":["Monday","Tuesday","Wednesday","Thursday","Friday"],"FirstDayOfWeek":"Sunday","Index":"First"},"Range":{"Type":"NoEnd","StartDate":"2016-07-13","EndDate":"0001-01-01","RecurrenceTimeZone":"Eastern Standard Time","NumberOfOccurrences":0}},"Attendees":[{"Type":"Required","Status":{"Response":"None","Time":"0001-01-01T00:00:00Z"},{"@odata.id":"https://outlook.office.com/api/v2.0/Users('4f3a5396-c4e1-4f96-9d47-88efd09cf7d5@69e9fa32-18c7-4580-8b68-5042cb060d21')/Events('AQMkADlhNWMwNTJiLTUxOWQtNDBlZC05MWExLWMxNjRmZWY3ZDE3NABGAAAD5qmKtv6ZXUGI6fp4FLgPGwcAc0VsZLFXUEWDJV8jau5I2AAAAgENAAAAc0VsZLFXUEWDJV8jau5I2AAAAdBPbQAAAA==')","@odata.etag":"W/\"c0VsZLFXUEWDJV8jau5I2AAAIehEGA==\"","Id":"AQMkADlhNWMwNTJiLTUxOWQtNDBlZC05MWExLWMxNjRmZWY3ZDE3NABGAAAD5qmKtv6ZXUGI6fp4FLgPGwcAc0VsZLFXUEWDJV8jau5I2AAAAgENAAAAc0VsZLFXUEWDJV8jau5I2AAAAdBPbQAAAA==","CreatedDateTime":"2018-03-12T01:49:57.8583046Z","LastModifiedDateTime":"2018-05-02T18:46:31.9407131Z","ChangeKey":"c0VsZLFXUEWDJV8jau5I2AAAIehEGA==","Categories":[],"OriginalStartTimeZone":"Eastern Standard Time","OriginalEndTimeZone":"Eastern Standard Time","iCalUId":"040000008200E00074C5B7101A82E008000000005047993733DCD101000000000000000010000000E97F92FB0575724C8DFBC43970F08489","ReminderMinutesBeforeStart":15,"IsReminderOn":true,"HasAttachments":false,"Subject":"APPT","BodyPreview":"","Importance":"Normal","Sensitivity":"Normal","IsAllDay":false,"IsCancelled":false,"IsOrganizer":true,"ResponseRequested":true,"SeriesMasterId":null,"ShowAs":"Busy","Type":"SeriesMaster"
and, 2nd event is:
"Start":{"DateTime":"2018-05-03T19:00:00.0000000","TimeZone":"UTC"},"End":{"DateTime":"2018-05-03T19:30:00.0000000","TimeZone":"UTC"},"Location":{"DisplayName":"","LocationType":"Default","UniqueIdType":"Unknown","Address":{"Type":"Unknown"},"Coordinates":{}},"Locations":[],"Recurrence":null,{"@odata.id":"https://outlook.office.com/api/v2.0/Users('4f3a5396-c4e1-4f96-9d47-88efd09cf7d5@69e9fa32-18c7-4580-8b68-5042cb060d21')/Events('AQMkADlhNWMwNTJiLTUxOWQtNDBlZC05MWExLWMxNjRmZWY3ZDE3NABGAAAD5qmKtv6ZXUGI6fp4FLgPGwcAc0VsZLFXUEWDJV8jau5I2AAAAgENAAAAc0VsZLFXUEWDJV8jau5I2AAAAdBpbQAAAA==')","@odata.etag":"W/\"c0VsZLFXUEWDJV8jau5I2AAAIehD6A==\"","Id":"AQMkADlhNWMwNTJiLTUxOWQtNDBlZC05MWExLWMxNjRmZWY3ZDE3NABGAAAD5qmKtv6ZXUGI6fp4FLgPGwcAc0VsZLFXUEWDJV8jau5I2AAAAgENAAAAc0VsZLFXUEWDJV8jau5I2AAAAdBpbQAAAA==","CreatedDateTime":"2018-05-02T18:19:45.1643323Z","LastModifiedDateTime":"2018-05-02T18:25:39.7135811Z","ChangeKey":"c0VsZLFXUEWDJV8jau5I2AAAIehD6A==","Categories":[],"OriginalStartTimeZone":"UTC","OriginalEndTimeZone":"UTC","iCalUId":"040000008200E00074C5B7101A82E008000000004F75B80342E2D3010000000000000000100000005F993094248CD348815FEDB972AC66C8","ReminderMinutesBeforeStart":15,"IsReminderOn":true,"HasAttachments":false,"Subject":"Alternate Health- Modern Business","Importance":"Normal","Sensitivity":"Normal","IsAllDay":false,"IsCancelled":false,"IsOrganizer":false,"ResponseRequested":true,"SeriesMasterId":null,"ShowAs":"Busy","Type":"SingleInstance"
Those are not the same. I'm guessing you're comparing in a case-insensitive manner. However, IDs of items are case-sensitive.