Bookings API
21 TopicsBookings Service Option bookingMultiStaffSupportEnabled
I'm creating services via Graph API and would like the ability to set the following parameter when creating the service bookingMultiStaffSupportEnabled. Also, it would be nice to be able to post external email addresses as well.76Views2likes1CommentPATCH /bookingBusinesses/{id} displayName updates not reflected in GET /bookingBusinesses
We are encountering an inconsistency with the Microsoft Graph API for Bookings. After sending a successful PATCH request to update the displayName of a booking business, the update is correctly reflected in the response of GET /bookingBusinesses/{id}. However, the same change is not reflected in the results of GET /bookingBusinesses, even after a week has passed. Details: PATCH Endpoint Used: PATCH https://graph.microsoft.com/v1.0/solutions/bookingBusinesses/{id} GET Endpoints Tested: GET https://graph.microsoft.com/v1.0/solutions/bookingBusinesses/{id} ✅ Shows updated displayName GET https://graph.microsoft.com/v1.0/solutions/bookingBusinesses ❌ Still shows old displayName Response to PATCH: HTTP 204 No Content (successful update) Observed Delay: Over 7 days, no change observed in list response. Expected Behavior: GET /bookingBusinesses should return the updated displayName for the business entity. Trace ID / Request Log Metadata: "timestamp": "2025-06-13T13:44:41.479Z" "service": "ms-bookings-business-graph-api-utility" "xray_trace_id": "1-684c2b46-693da2b57acdbf0c7e9110a1" "status": 204 Steps to Reproduce: Send a valid PATCH to update displayName on an existing booking business. Confirm GET /bookingBusinesses/{id} reflects the new displayName. Check GET /bookingBusinesses — the displayName remains unchanged. Wait multiple days (in this case, 7+) — still no update observed in the list endpoint. Impact: This affects our ability to reliably sync and display updated business data across our systems, particularly where lists are used (e.g., admin interfaces, calendars, reporting). It creates confusion for users expecting to see the latest business names.73Views1like0CommentsBook Appointment - MS Bookings Graph API
Hi, I can create appointments using the MS Bookings API, for particular staff/customers and services in my configured booking business. However I've noticed that the API call does not stop double bookings of staff from being created (same start/end, same staff/service etc). The MS Bookings user interface does seem to detect duplicate bookings (informing the user that they are too late as the staff member is now busy), whether the appointment is occurring at exactly the same points in time, or starts mid-way through an appointment. (I have tested this via multiple browser tabs at the booking page, booking the same appointment in each.) Inspecting the response in the web browser for the bookings UI shows an API response payload with "error": "Status(StatusCode="FailedPrecondition", Detail="Staff not available" Looking at https://learn.microsoft.com/en-us/graph/api/bookingbusiness-post-appointments?view=graph-rest-1.0&tabs=http for the documentation of the API I've noticed that there is very little in regards non-success responses / error codes / oDataError documentation. In fact nothing at all. The only way around this I can see is that on booking an appointment you have to first check availability, but even that seems to be subject to a potential race condition - given that often the API call takes a few seconds to create the appointment and respond with the details. Does anybody know of a better work-around please, or is there some documentation I am missing, seems like a really important part is missing in the book appointment API -namely it should not proceed and should return an appropriate error message/response if the staff member is not available? Or perhaps, this is by design and the app programmer does need to re-check availability ;0 Thanks in advance for any help 🙂1.2KViews0likes2CommentsAppointments Created Through Graph API with Local Time and Local Timezone showing as UTC Time
Within the last month Appointments created through the Graph API using Local Time and Local Timezone, have been showing as the UTC time, but still showing the Local Timezone. Using the Graph API the Appointment Start and End times were set in as local times with the local timezone. Until this last month, these appointments were created successfully and the bookings emails were also showing the correct times. But within the last month, the Times in the Bookings system and emails were showing as UTC. It seems like Microsoft pushed some update that caused times to be processed differently, the times submitted were treated as UTC times When did Microsoft push this update and where is the update post on it? Thank you151Views0likes0CommentsBooking Appointment Graph API Update No Longer Updates Service Name
The service name property of an appointment was previously editable per docs and testing. https://learn.microsoft.com/en-us/graph/api/bookingappointment-update?view=graph-rest-1.0 Now when an update occurs via API, the service name completely resets to the default service name of the appointments service ID. You can still pass the service name when creating and appointment via the API, but any updates will break it. Anyone else experiencing this issue?243Views0likes0CommentsError when using Power Automate to push data when an Micorsoft Bookings appointment is created
Hi all, I'm using Power Automate to fill a row of an Excel sheet with the data from Microsoft Bookings appointments. I use the trigger "When an appointment is created". I copied the SMTP address from the "Configuration" tab in the Bookings backend. When I tested this earlier, everything seemed to work properly, and I got the data in the Excel sheet. This morning I checked back to the overnight results - where several appointments were made, I received the following Error Details: Status(StatusCode="PermissionDenied", Detail="Invalid authority. Accessing user not part of bookings calendar") Weird because I am administrator for the Bookings calendar. Anyone who can help me with this?611Views0likes1CommentSend an email to an especific account after a client shcedule an appointment
Hello, my company has a ticketing system that is triggered when a client sends an email to a specific address. I wanted to check if the Bookings app can send an email to a specific address when a client makes a booking. Also, if possible, this email contains info from the booking details.321Views0likes0CommentsBookings created via Graph API
So I have an interesting problem. We are using Graph to create a bookings appointment in a bookings business within our org. When we use Graph the email that gets sent to the customer does not have a link to cancel/reschedule. However if you book an appointment using the bookings page the ensuing confirmation email will have the link. I check the appointments after they are created and only the one created via the bookings page have 'Let customer manage the appointment' checked. The ones created via the API do not. The services have it defaulted to allow for customers to cancel and reschedule. Is there something that we need to pass through graph when we are creating the appointment that specifically will turn this on? Really need the customers to have that link in the confirmation email.1KViews0likes0Comments"End time can not be a past date." on getStaffAvailability
Today a request to getStaffAvailability that was working no longer works, has anyone experienced the same issue? We are using Bookings APIs with application permissions. API: https://learn.microsoft.com/en-us/graph/api/bookingbusiness-getstaffavailability?view=graph-rest-1.0&tabs=http Request body: { "staffIds": [ ... ], "startDateTime": { "dateTime": "2023-07-04T07:00:00", "timeZone": "UTC" }, "endDateTime": { "dateTime": "2023-08-04T22:00:00", "timeZone": "UTC" } } Response: { "error": { "code": "UnknownError", "message": "{\"error\":{\"message\":\"End time can not be a past date.\",\"code\":\"Bad Request\"}}", "innerError": { "date": "2023-11-14T09:23:47", "request-id": ..., "client-request-id": ... } } }494Views0likes1CommentExport tracking data with Graph API
We are currently working on exporting data from MS Bookings pages using the Microsoft Graph API. We are having difficulties gathering "Tracking Data" information. According to your documentation, it is possible to export data manually that included specific field (see this documentation https://learn.microsoft.com/en-us/microsoft-365/bookings/reporting-info?view=o365-worldwide), but some of the fields (tracking data) included in the improved report section are not available if extracted automatically with Microsoft Graph. Is there a possibility to export the Tracking Data automatically through a script, rather than accessing each pages and processing manually?647Views0likes0Comments