Bookings.Manage.All
Allows an app to read, write and manage bookings appointments, businesses, customers, services, and staff on behalf of the signed-in user.
Graph Methods
Type: A = Application Permission, D = Delegate Permission
Delegate Permission
Id | 7f36b48e-542f-4d3b-9bcb-8406f0ab9fdb |
Consent Type | User |
Display String | Manage bookings information |
Description | Allows an app to read, write and manage bookings appointments, businesses, customers, services, and staff on behalf of the signed-in user. |
Resources
bookingAppointment
Property | Type | Description |
---|---|---|
additionalInformation | String | Additional information that is sent to the customer when an appointment is confirmed. |
anonymousJoinWebUrl | String | The URL of the meeting to join anonymously. |
customers | bookingCustomerInformation collection | A collection of customer properties for an appointment. An appointment will contain a list of customer information and each unit will indicate the properties of a customer who is part of that appointment. Optional. |
customerTimeZone | String | The time zone of the customer. For a list of possible values, see dateTimeTimeZone. |
duration | Duration | The length of the appointment, denoted in ISO8601 format. |
endDateTime | dateTimeTimeZone | The date, time, and time zone that the appointment ends. |
filledAttendeesCount | Int32 | The current number of customers in the appointment |
id | String | The ID of the bookingAppointment. Read-only. |
isLocationOnline | Boolean | If true , indicates that the appointment will be held online. Default value is false . |
joinWebUrl | String | The URL of the online meeting for the appointment. |
maximumAttendeesCount | Int32 | The maximum number of customers allowed in an appointment. If maximumAttendeesCount of the service is greater than 1, pass valid customer IDs while creating or updating an appointment. To create a customer, use the Create bookingCustomer operation. |
optOutOfCustomerEmail | Boolean | If true indicates that the bookingCustomer for this appointment does not wish to receive a confirmation for this appointment. |
postBuffer | Duration | The amount of time to reserve after the appointment ends, for cleaning up, as an example. The value is expressed in ISO8601 format. |
preBuffer | Duration | The amount of time to reserve before the appointment begins, for preparation, as an example. The value is expressed in ISO8601 format. |
price | Double | The regular price for an appointment for the specified bookingService. |
priceType | bookingPriceType | A setting to provide flexibility for the pricing structure of services. Possible values are: undefined , fixedPrice , startingAt , hourly , free , priceVaries , callUs , notSet , unknownFutureValue . |
reminders | bookingReminder collection | The collection of customer reminders sent for this appointment. The value of this property is available only when reading this bookingAppointment by its ID. |
selfServiceAppointmentId | String | An additional tracking ID for the appointment, if the appointment has been created directly by the customer on the scheduling page, as opposed to by a staff member on the behalf of the customer. Only supported for appointment if maxAttendeeCount is 1. |
serviceId | String | The ID of the bookingService associated with this appointment. |
serviceLocation | location | The location where the service is delivered. |
serviceName | String | The name of the bookingService associated with this appointment. This property is optional when creating a new appointment. If not specified, it is computed from the service associated with the appointment by the serviceId property. |
serviceNotes | String | Notes from a bookingStaffMember. The value of this property is available only when reading this bookingAppointment by its ID. |
smsNotificationsEnabled | Boolean | If true , indicates SMS notifications will be sent to the customers for the appointment. Default value is false . |
staffMemberIds | String collection | The ID of each bookingStaffMember who is scheduled in this appointment. |
startDateTime | dateTimeTimeZone | The date, time, and time zone that the appointment begins. |
bookingBusiness
Property | Type | Description |
---|---|---|
address | physicalAddress | The street address of the business. The address property, together with phone and webSiteUrl, appear in the footer of a business scheduling page. The attribute type of physicalAddress is not supported in v1.0. Internally we map the addresses to the type others . |
businessHours | bookingWorkHours collection | The hours of operation for the business. |
businessType | String | The type of business. |
defaultCurrencyIso | String | The code for the currency that the business operates in on Microsoft Bookings. |
displayName | String | The name of the business, which interfaces with customers. This name appears at the top of the business scheduling page. |
String | The email address for the business. | |
id | String | A unique programmatic identifier for the business. Read-only. |
isPublished | Boolean | The scheduling page has been made available to external customers. Use the publish and unpublish actions to set this property. Read-only. |
languageTag | String | The language of the self-service booking page. |
phone | String | The telephone number for the business. The phone property, together with address and webSiteUrl, appear in the footer of a business scheduling page. |
publicUrl | String | The URL for the scheduling page, which is set after you publish or unpublish the page. Read-only. |
schedulingPolicy | bookingSchedulingPolicy | Specifies how bookings can be created for this business. |
webSiteUrl | String | The URL of the business web site. The **w |
bookingCurrency
Property | Type | Description |
---|---|---|
id | String | A 3-character currency code, based on ISO 4217. For example, the currency code for the US dollar is USD, and for the Australian dollar is AUD. Read-only. |
symbol | String | The currency symbol. For example, the currency symbol for the US dollar and for the Australian dollar is $. |
bookingCustomer
Property | Type | Description |
---|---|---|
addresses | physicalAddress collection | Addresses associated with the customer. The attribute type of physicalAddress is not supported in v1.0. Internally we map the addresses to the type others . |
displayName | String | The name of the customer. |
emailAddress | String | The SMTP address of the customer. |
id | String | The ID of the customer. Read-only. |
phones | phone collection | Phone numbers associated with the customer, including home, business and mobile numbers. |
bookingCustomerInformation
Property | Type | Description |
---|---|---|
customerId | String | The ID of the bookingCustomer for this appointment. If no ID is specified when an appointment is created, then a new bookingCustomer object is created. Once set, you should consider the customerId immutable. |
customQuestionAnswers | bookingQuestionAnswer collection | It consists of the list of custom questions and answers given by the customer as part of the appointment |
emailAddress | String | The SMTP address of the bookingCustomer who is booking the appointment |
location | location | Represents location information for the bookingCustomer who is booking the appointment. |
name | String | The customer's name. |
notes | String | Notes from the customer associated with this appointment. You can get the value only when reading this bookingAppointment by its ID. You can set this property only when initially creating an appointment with a new customer. After that point, the value is computed from the customer represented by the customerId. |
phone | String | The customer's phone number. |
timeZone | String | The time zone of the customer. For a list of possible values, see dateTimeTimeZone. |
bookingCustomQuestion
Property | Type | Description |
---|---|---|
answerInputType | answerInputType | The expected answer type. The possible values are: text , radioButton , unknownFutureValue . |
answerOptions | String collection | List of possible answer values. |
displayName | String | The question. |
id | String | The ID of the custom question. Inherited from entity. |
bookingNamedEntity
Property | Type | Description |
---|---|---|
displayName | String | A name for the derived entity, which interfaces with customers. |
id | String | The ID for the derived entity. Read-only. |
bookingQuestionAssignment
Property | Type | Description |
---|---|---|
isRequired | Boolean | The ID of the custom question. |
questionId | String | Indicates whether it is mandatory to answer the custom question. |
bookingReminder
Property | Type | Description |
---|---|---|
message | String | The message in the reminder. |
offset | Duration | The amount of time before the start of an appointment that the reminder should be sent. It's denoted in ISO 8601 format. |
recipients | bookingReminderRecipients | The persons who should receive the reminder. Possible values are: allAttendees , staff , customer , unknownFutureValue . |
bookingSchedulingPolicy
Property | Type | Description |
---|---|---|
allowStaffSelection | Boolean | True if to allow customers to choose a specific person for the booking. |
maximumAdvance | Duration | Maximum number of days in advance that a booking can be made. It follows the ISO 8601 format. |
minimumLeadTime | Duration | The minimum amount of time before which bookings and cancellations must be made. It follows the ISO 8601 format. |
sendConfirmationsToOwner | Boolean | True to notify the business via email when a booking is created or changed. Use the email address specified in the email property of the bookingBusiness entity for the business. |
timeSlotInterval | Duration | Duration of each time slot, denoted in ISO 8601 format. |
bookingService
Property | Type | Description |
---|---|---|
additionalInformation | String | Additional information that is sent to the customer when an appointment is confirmed. |
customQuestions | bookingQuestionAssignment collection | Contains the set of custom questions associated with a particular service. |
defaultDuration | Duration | The default length of the service, represented in numbers of days, hours, minutes, and seconds. For example, P11D23H59M59.999999999999S. |
defaultLocation | location | The default physical location for the service. |
defaultPrice | Double | The default monetary price for the service. |
defaultPriceType | bookingPriceType | The default way the service is charged. Possible values are: undefined , fixedPrice , startingAt , hourly , free , priceVaries , callUs , notSet , unknownFutureValue . |
defaultReminders | bookingReminder collection | The default set of reminders for an appointment of this service. The value of this property is available only when reading this bookingService by its ID. |
description | String | A text description for the service. |
displayName | String | A service name. |
id | String | The ID of that service, in a GUID format. Read-only. |
isAnonymousJoinEnabled | Boolean | True if the URL to join the appointment anonymously (anonymousJoinWebUrl) will be generated for the appointment booked for this service. |
isHiddenFromCustomers | Boolean | True means this service is not available to customers for booking. |
isLocationOnline | Boolean | True indicates that the appointments for the service will be held online. Default value is false. |
languageTag | String | The language of the self-service booking page. |
maximumAttendeesCount | Int32 | The maximum number of customers allowed in a service. If maximumAttendeesCount of the service is greater than 1, pass valid customer IDs while creating or updating an appointment. To create a customer, use the Create bookingCustomer operation. |
notes | String | Additional information about this service. |
postBuffer | Duration | The time to buffer after an appointment for this service ends, and before the next customer appointment can be booked. |
preBuffer | Duration | The time to buffer before an appointment for this service can start. |
schedulingPolicy | bookingSchedulingPolicy | The set of policies that determine how appointments for this type of service should be created and managed. |
smsNotificationsEnabled | Boolean | True indicates SMS notifications can be sent to the customers for the appointment of the service. Default value is false. |
staffMemberIds | String collection | Represents those staff members who provide this service. |
webUrl | String | The URL a customer uses to access the service. |
bookingStaffMember
Property | Type | Description |
---|---|---|
availabilityIsAffectedByPersonalCalendar | Boolean | True means that if the staff member is a Microsoft 365 user, the Bookings API would verify the staff member's availability in their personal calendar in Microsoft 365, before making a booking. |
displayName | String | The name of the staff member, as displayed to customers. Required. |
emailAddress | String | The email address of the staff member. This can be in the same Microsoft 365 tenant as the business, or in a different email domain. This email address can be used if the sendConfirmationsToOwner property is set to true in the scheduling policy of the business. Required. |
id | String | The ID of the staff member, in a GUID format. Read-only. |
isEmailNotificationEnabled | Boolean | True indicates that a staff member will be notified via email when a booking assigned to them is created or changed. |
role | bookingStaffRole | The role of the staff member in the business. Possible values are: guest , administrator , viewer , externalGuest , unknownFutureValue , scheduler , teamMember . Note that you must use the Prefer: include-unknown-enum-members request header to get the following values from this evolvable enum: scheduler , teamMember . Required. |
timeZone | String | The time zone of the staff member. For a list of possible values, see dateTimeTimeZone. |
useBusinessHours | Boolean | True means the staff member's availability is as specified in the businessHours property of the business. False means the availability is determined by the staff member's workingHours property setting. |
workingHours | bookingWorkHours collection | The range of hours each day of the week that the staff member is available for booking. By default, they are initialized to be the same as the **b |
bookingWorkHours
Property | Type | Description |
---|---|---|
day | String | The day of the week represented by this instance. Possible values are: sunday , monday , tuesday , wednesday , thursday , friday , saturday . |
timeSlots | bookingWorkTimeSlot collection | A list of start/end times during a day. |
dateTimeTimeZone
Property | Type | Description |
---|---|---|
dateTime | String | A single point of time in a combined date and time representation ({date}T{time} ; for example, 2017-08-29T04:00:00.0000000 ). |
timeZone | String | Represents a time zone, for example, "Pacific Standard Time". See below for more possible values. |
Location
Property | Type | Description |
---|---|---|
address | physicalAddress | The street address of the location. |
coordinates | outlookGeoCoordinates | The geographic coordinates and elevation of the location. |
displayName | String | The name associated with the location. |
locationEmailAddress | String | Optional email address of the location. |
locationUri | String | Optional URI representing the location. |
locationType | locationType | The type of location. The possible values are: default , conferenceRoom , homeAddress , businessAddress ,geoCoordinates , streetAddress , hotel , restaurant , localBusiness , postalAddress . Read-only. |
uniqueId | String | For internal use only. |
uniqueIdType | locationUniqueIdType | For internal use only. |
phone
Property | Type | Description |
---|---|---|
number | string | The phone number. |
type | phoneType | The type of phone number. The possible values are: home , business , mobile , other , assistant , homeFax , businessFax , otherFax , pager , radio . |
physicalAddress
Property | Type | Description |
---|---|---|
city | String | The city. |
countryOrRegion | String | The country or region. It's a free-format string value, for example, "United States". |
postalCode | String | The postal code. |
state | String | The state. |
street | String | The street. |