ESC
Type to search...

Bookings.Read.All

Export JSON
Export CSV
Copy URL
Print
ApplicationDelegated Read All Resources

Allows an app to read Bookings appointments, businesses, customers, services, and staff without a signed-in user.

Permission data: April 6, 2026 at 4:06 AM UTC
Delegated Access App-Only Access

Permission Details

Application Permission

Read all Bookings related resources.

Allows an app to read Bookings appointments, businesses, customers, services, and staff without a signed-in user.

Delegated Permission User consent allowed

Read bookings information

Allows an app to read bookings appointments, businesses, customers, services, and staff on behalf of the signed-in user.

Properties

Microsoft Graph v1.0 mapped-docs

Properties is shown from stable Microsoft Graph v1.0 metadata.

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.
bookingPageSettings bookingPageSettings Settings for the published booking page.
businessHours bookingWorkHours collection The hours of operation for the business.
businessType StringNullable The type of business.
createdDateTime DateTimeOffsetNullable The date, time, and time zone when the booking business was created. The timestamp type represents date and time information using ISO 8601 format and is always in UTC. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
defaultCurrencyIso StringNullable 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.
email StringNullable The email address for the business.
id String A unique programmatic identifier for the business. Read-only.
isPublished BooleanRead-onlyNullable The scheduling page has been made available to external customers. Use the publish and unpublish actions to set this property. Read-only.
languageTag StringNullable The language of the self-service booking page.
lastUpdatedDateTime DateTimeOffsetNullable The date, time, and time zone when the booking business was last updated. The timestamp type represents date and time information using ISO 8601 format and is always in UTC. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
phone StringNullable The telephone number for the business. The phone property, together with address and webSiteUrl, appear in the footer of a business scheduling page.
publicUrl StringRead-onlyNullable 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.

Showing 15 of 22 properties.

JSON Representation

Microsoft Graph v1.0 mapped-docs

JSON representation is shown from stable Microsoft Graph v1.0 metadata.

JSON representation
{
  "@odata.type": "#microsoft.graph.bookingBusiness",
  "address": {
    "@odata.type": "microsoft.graph.physicalAddress"
  },
  "bookingPageSettings": {
    "@odata.type": "microsoft.graph.bookingPageSettings"
  },
  "businessHours": [
    {
      "@odata.type": "microsoft.graph.bookingWorkHours"
    }
  ],
  "businessType": "String",
  "createdDateTime": "String (timestamp)",
  "defaultCurrencyIso": "String",
  "displayName": "String",
  "email": "String",
  "id": "String (identifier)",
  "isPublished": "Boolean",
  "languageTag": "String",
  "lastUpdatedDateTime": "String (timestamp)",
  "phone": "String",
  "publicUrl": "String",
  "schedulingPolicy": {
    "@odata.type": "microsoft.graph.bookingSchedulingPolicy"
  },
  "webSiteUrl": "String"
}

Relationships

Microsoft Graph v1.0 mapped-docs

Relationships is shown from stable Microsoft Graph v1.0 metadata.

Relationship Type Description
appointments bookingAppointment collection All the appointments of this business. Read-only. Nullable.
calendarView bookingAppointment collection The set of appointments of this business in a specified date range. Read-only. Nullable.
customers bookingCustomer collection All the customers of this business. Read-only. Nullable.
customQuestions bookingCustomQuestion collection All the custom questions of this business. Read-only. Nullable.
services bookingService collection All the services offered by this business. Read-only. Nullable.
staffMembers bookingStaffMember collection All the staff members that provide services in this business. Read-only. Nullable.
businessHours bookingWorkHours collection The hours of operation for the business.

Graph Methods

Delegated access App-only access
Exact Microsoft Learn match

Microsoft Graph v1.0 endpoints are mapped directly from refreshed Microsoft Learn permissions tables.

Methods
GET /solutions/bookingBusinesses
GET /solutions/bookingBusinesses/{bookingBusinessesId}/customQuestions
GET /solutions/bookingBusinesses/{bookingBusinessesId}/customQuestions/{bookingCustomQuestionId}
GET /solutions/bookingBusinesses/{id}
GET /solutions/bookingBusinesses/{id}/appointments
GET /solutions/bookingBusinesses/{id}/appointments/{id}
GET /solutions/bookingBusinesses/{id}/calendarView?start={start-value}&end={end-value}
GET /solutions/bookingBusinesses/{id}/customers
GET /solutions/bookingBusinesses/{id}/customers/{id}
GET /solutions/bookingBusinesses/{id}/services
GET /solutions/bookingBusinesses/{id}/services/{id}
GET /solutions/bookingBusinesses/{id}/staffMembers
GET /solutions/bookingBusinesses/{id}/staffMembers/{id}
GET /solutions/bookingCurrencies
GET /solutions/bookingCurrencies/{id}
POST /solutions/bookingBusinesses/{id}/appointments
POST /solutions/bookingBusinesses/{id}/getStaffAvailability
PATCH /solutions/bookingBusinesses/{id}/appointments/{id}
PATCH /solutions/bookingBusinesses/{id}/customers/{id}
DELETE /solutions/bookingBusinesses/{id}/appointments/{id}
DELETE /solutions/bookingBusinesses/{id}/customers/{id}
Exact Microsoft Learn match

Microsoft Graph beta endpoints are mapped directly from refreshed Microsoft Learn permissions tables.

Methods
GET /solutions/bookingbusinesses
GET /solutions/bookingbusinesses/{bookingBusinessesId}/customQuestions
GET /solutions/bookingbusinesses/{bookingBusinessesId}/customQuestions/{bookingCustomQuestionId}
GET /solutions/bookingbusinesses/{id}
GET /solutions/bookingbusinesses/{id}/appointments
GET /solutions/bookingBusinesses/{id}/appointments/{id}
GET /solutions/bookingbusinesses/{id}/calendarView?start={start-value}&end={end-value}
GET /solutions/bookingbusinesses/{id}/customers
GET /solutions/bookingbusinesses/{id}/customers/{id}
GET /solutions/bookingbusinesses/{id}/services
GET /solutions/bookingbusinesses/{id}/services/{id}
GET /solutions/bookingbusinesses/{id}/staffMembers
GET /solutions/bookingbusinesses/{id}/staffMembers/{id}
GET /solutions/bookingCurrencies
GET /solutions/bookingCurrencies/{id}
POST /solutions/bookingbusinesses/{id}/appointments
POST /solutions/bookingbusinesses/{id}/getStaffAvailability
PATCH /solutions/bookingBusinesses/{id}/appointments/{id}
PATCH /solutions/bookingbusinesses/{id}/customers/{id}
DELETE /solutions/bookingBusinesses/{id}/appointments/{id}
DELETE /solutions/bookingbusinesses/{id}/customers/{id}
Exact Microsoft Learn PowerShell match

Microsoft Graph PowerShell v1.0 commands are mapped directly from refreshed Microsoft Learn PowerShell snippets.

Commands
Get-MgBookingBusiness /solutions/bookingBusinesses
List bookingBusinesses
Get-MgBookingBusinessAppointment /solutions/bookingBusinesses/{id}/appointments
List appointments
Get-MgBookingBusinessAppointment /solutions/bookingBusinesses/{id}/appointments/{id}
Get bookingAppointment
Get-MgBookingBusinessCalendarView /solutions/bookingBusinesses/{id}/calendarView?start={start-value}&end={end-value}
List business calendarView
Get-MgBookingBusinessCustomer /solutions/bookingBusinesses/{id}/customers
List customers
Get-MgBookingBusinessCustomer /solutions/bookingBusinesses/{id}/customers/{id}
Get bookingCustomer
Get-MgBookingBusinessCustomQuestion /solutions/bookingBusinesses/{bookingBusinessesId}/customQuestions
List customQuestions
Get-MgBookingBusinessCustomQuestion /solutions/bookingBusinesses/{bookingBusinessesId}/customQuestions/{bookingCustomQuestionId}
Get bookingCustomQuestion
Get-MgBookingBusinessService /solutions/bookingBusinesses/{id}/services
List services
Get-MgBookingBusinessStaffAvailability /solutions/bookingBusinesses/{id}/getStaffAvailability
bookingsBusiness: getStaffAvailability
Get-MgBookingBusinessStaffMember /solutions/bookingBusinesses/{id}/staffMembers
List staffMembers
Get-MgBookingCurrency /solutions/bookingCurrencies
List bookingCurrencies
Get-MgBookingCurrency /solutions/bookingCurrencies/{id}
Get bookingCurrency
Remove-MgBookingBusinessAppointment /solutions/bookingBusinesses/{id}/appointments/{id}
Delete bookingAppointment
Remove-MgBookingBusinessCustomer /solutions/bookingBusinesses/{id}/customers/{id}
Delete bookingCustomer
Update-MgBookingBusinessCustomer /solutions/bookingBusinesses/{id}/customers/{id}
Update bookingCustomer
Exact Microsoft Learn PowerShell match

Microsoft Graph PowerShell beta commands are mapped directly from refreshed Microsoft Learn PowerShell snippets.

Commands
Get-MgBetaBookingBusinessStaffAvailability /solutions/bookingbusinesses/{id}/getStaffAvailability
bookingsBusiness: getStaffAvailability

Code Examples

C# / .NET SDK
bookingsBusiness: getStaffAvailability
// Code snippets are only available for the latest version. Current version is 5.x

// Dependencies
using Microsoft.Graph.Solutions.BookingBusinesses.Item.GetStaffAvailability;
using Microsoft.Graph.Models;

var requestBody = new GetStaffAvailabilityPostRequestBody
{
	StaffIds = new List<string>
	{
		"311a5454-08b2-4560-ba1c-f715e938cb79",
	},
	StartDateTime = new DateTimeTimeZone
	{
		DateTime = "2022-01-25T00:00:00",
		TimeZone = "India Standard Time",
	},
	EndDateTime = new DateTimeTimeZone
	{
		DateTime = "2022-01-26T17:00:00",
		TimeZone = "Pacific Standard Time",
	},
};

// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Solutions.BookingBusinesses["{bookingBusiness-id}"].GetStaffAvailability.PostAsGetStaffAvailabilityPostResponseAsync(requestBody);
JavaScript
bookingsBusiness: getStaffAvailability
const options = {
	authProvider,
};

const client = Client.init(options);

const staffAvailabilityItem = {
    staffIds: [
        '311a5454-08b2-4560-ba1c-f715e938cb79'
    ],
    startDateTime: {
        dateTime: '2022-01-25T00:00:00',
        timeZone: 'India Standard Time'
    },
    endDateTime: {
        dateTime: '2022-01-26T17:00:00',
        timeZone: 'Pacific Standard Time'
    }
};

await client.api('/solutions/bookingBusinesses/[email protected]/getStaffAvailability')
	.post(staffAvailabilityItem);
PowerShell
bookingsBusiness: getStaffAvailability
Import-Module Microsoft.Graph.Bookings

$params = @{
	staffIds = @(
	"311a5454-08b2-4560-ba1c-f715e938cb79"
)
startDateTime = @{
	dateTime = "2022-01-25T00:00:00"
	timeZone = "India Standard Time"
}
endDateTime = @{
	dateTime = "2022-01-26T17:00:00"
	timeZone = "Pacific Standard Time"
}
}

Get-MgBookingBusinessStaffAvailability -BookingBusinessId $bookingBusinessId -BodyParameter $params
Python
bookingsBusiness: getStaffAvailability
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.solutions.bookingbusinesses.item.get_staff_availability.get_staff_availability_post_request_body import GetStaffAvailabilityPostRequestBody
from msgraph.generated.models.date_time_time_zone import DateTimeTimeZone
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = GetStaffAvailabilityPostRequestBody(
	staff_ids = [
		"311a5454-08b2-4560-ba1c-f715e938cb79",
	],
	start_date_time = DateTimeTimeZone(
		date_time = "2022-01-25T00:00:00",
		time_zone = "India Standard Time",
	),
	end_date_time = DateTimeTimeZone(
		date_time = "2022-01-26T17:00:00",
		time_zone = "Pacific Standard Time",
	),
)

result = await graph_client.solutions.booking_businesses.by_booking_business_id('bookingBusiness-id').get_staff_availability.post(request_body)

App Registration

1

Navigate to Azure Portal

Go to App registrations in Microsoft Entra admin center

2

Add API Permission

Select your app → API permissions → Add a permission → Microsoft Graph

3

Select Permission Type

Choose Application permissions or delegated permissions and search for Bookings.Read.All

4

Grant Admin Consent

Application permissions always require admin consent.