Я использую MS Bookings API через Graph для интеграции в мобильное приложение.Проблема в том, что API бронирования позволяет мне бронировать сотрудника во временном интервале, который напрямую конфликтует с его личным календарем 0365 в компании.
Я удостоверился, что проверка 0365 влияет на доступность.
![enter image description here](https://i.stack.imgur.com/6HDXo.png)
Допустим, у этого сотрудника есть личный обед с 1300-1500, они блокируют это, это точно видно на странице опубликованных бронирований.Однако в API я не могу получить эту информацию, и это позволяет мне записываться на прием в этот временной интервал без предупреждения.
const bookingObject = {
"@odata.type": "#microsoft.graph.bookingAppointment",
"customerEmailAddress": Email,
"customerId": `${customerBookingId}`,
"customerName": `${FirstName} ${LastName}`,
"customerNotes": `
Notes: ${additionalNotes} \n
Phone: ${contactOption || Phone}`,
"customerPhone": contactOption || Phone,
"staffMemberIds": [employees[0].id || ''],
"start": {
"@odata.type": "#microsoft.graph.dateTimeTimeZone",
"dateTime": moment(isoTime).toISOString(),
"timeZone": "America/Los_Angeles"
},
"end": {
"@odata.type": "#microsoft.graph.dateTimeTimeZone",
"dateTime": moment(isoTime).add(30, 'minutes').toISOString(),
"timeZone": "America/Los_Angeles"
},
"reminders@odata.type": "#Collection(microsoft.graph.bookingReminder)",
"serviceId": "6e3f07bd-686a-45cc-8217-74c3d82e40fa",
"serviceNotes":
`Customer Name: ${FirstName} ${LastName}\n
Customer Phone: ${Phone || contactOption}\n`,
}
На странице опубликованных фактических заказов личные события сотрудников правильно блокируют времяи не позволяя клиенту забронировать их.Мне нужна такая же функциональность, но из API.В настоящее время я получаю все заказы за календарный месяц и программно удаляю их из списка раз.Я также использую эту конечную точку API для получения данных календаря, чтобы также удалить эти временные интервалы из доступного времени.
https://graph.microsoft.com/beta/me/calendar/getschedule
Проблема заключается в том, что эта конечная точка не возвращает всемероприятия персонала.На самом деле я не могу точно определить, какие события, особенно его возвращение.Мы перепутались с «представлениями» на событиях календаря и до сих пор не можем их отобразить.
Итак, кто-нибудь знает, где я могу получить полный список событий календаря пользователей за определенное время?
Разве API-интерфейсы бронирования не должны иметь эту конечную точку, если их опубликованный сайт имеет доступ?
Я не могу публиковать гораздо больше SS, поскольку это неизданный проект.
Спасибо!