diff --git a/packages/app-store/office365calendar/lib/CalendarService.ts b/packages/app-store/office365calendar/lib/CalendarService.ts index 848e4334..2d1827e0 100644 --- a/packages/app-store/office365calendar/lib/CalendarService.ts +++ b/packages/app-store/office365calendar/lib/CalendarService.ts @@ -107,9 +107,9 @@ export default class Office365CalendarService implements Calendar { const dateFromParsed = new Date(dateFrom); const dateToParsed = new Date(dateTo); - const filter = `?startdatetime=${encodeURIComponent( + const filter = `?startDateTime=${encodeURIComponent( dateFromParsed.toISOString() - )}&enddatetime=${encodeURIComponent(dateToParsed.toISOString())}`; + )}&endDateTime=${encodeURIComponent(dateToParsed.toISOString())}`; return (await this.auth) .getToken() .then(async (accessToken) => { @@ -142,12 +142,14 @@ export default class Office365CalendarService implements Calendar { return responseBody.responses.reduce( (acc: BufferedBusyTime[], subResponse: { body: { value: any[] } }) => acc.concat( - subResponse.body.value.map((evt) => { - return { - start: evt.start.dateTime + "Z", - end: evt.end.dateTime + "Z", - }; - }) + subResponse.body.value + .filter((evt) => evt.showAs !== "free" && evt.showAs !== "workingElsewhere") + .map((evt) => { + return { + start: evt.start.dateTime + "Z", + end: evt.end.dateTime + "Z", + }; + }) ), [] ); diff --git a/packages/types/Calendar.d.ts b/packages/types/Calendar.d.ts index 57f8386f..45bd1e0d 100644 --- a/packages/types/Calendar.d.ts +++ b/packages/types/Calendar.d.ts @@ -60,7 +60,13 @@ export type BatchResponse = { }; export type SubResponse = { - body: { value: { start: { dateTime: string }; end: { dateTime: string } }[] }; + body: { + value: { + showAs: "free" | "tentative" | "away" | "busy" | "workingElsewhere"; + start: { dateTime: string }; + end: { dateTime: string }; + }[]; + }; }; export interface ConferenceData {