Create bookingService


APIs under the /beta version in Microsoft Graph are subject to change. Use of these APIs in production applications is not supported.

Create a new bookingService for the specified bookingbusiness.


One of the following permissions is required to call this API. To learn more, including how to choose permissions, see Permissions.

Permission type Permissions (from least to most privileged)
Delegated (work or school account) Bookings.ReadWrite.All, Bookings.Manage.All
Delegated (personal Microsoft account) Not supported.
Application Not supported.

HTTP request

POST /bookingBusinesses/{id}/services

Request headers

Name Description
Authorization Bearer {code}

Request body

In the request body, supply a JSON representation of bookingService object.


If successful, this method returns 201, Created response code and bookingService object in the response body.



The following is an example of the request.

Content-type: application/json

            "street":"4567 First Street",
        "displayName":"Contoso Lunch Delivery",
            "message":"Please be reminded that this service is tomorrow.",
    "description":"Individual bento box lunch delivery",
    "notes":"Home-cooked special",

In the request body, supply a JSON representation of bookingService object.


The following is an example of the response. Note: The response object shown here may be truncated for brevity. All of the properties will be returned from an actual call.

HTTP/1.1 201 Created
Content-type: application/json

    "@odata.context": "$metadata#bookingBusinesses('')/services/$entity",
    "id": "57da6774-a087-4d69-b0e6-6fb82c339976",
    "displayName": "Bento",
    "defaultDuration": "PT1H30M",
    "defaultPrice": 10,
    "defaultPriceType": "fixedPrice",
    "description": "Individual bento box lunch delivery",
    "isHiddenFromCustomers": false,
    "notes": "Home-cooked special",
    "preBuffer": "PT5M",
    "postBuffer": "PT10M",
    "staffMemberIds": [],
    "defaultLocation": {
        "displayName": "Contoso Lunch Delivery",
        "locationEmailAddress": null,
        "locationUri": "",
        "locationType": null,
        "uniqueId": null,
        "uniqueIdType": null,
        "address": {
            "type": "home",
            "postOfficeBox": "",
            "street": "4567 First Street",
            "city": "Buffalo",
            "state": "NY",
            "countryOrRegion": "USA",
            "postalCode": "98052"
        "coordinates": {
            "altitude": null,
            "latitude": null,
            "longitude": null,
            "accuracy": null,
            "altitudeAccuracy": null
    "defaultReminders": [
            "offset": "P1D",
            "recipients": "allAttendees",
            "message": "Please be reminded that this service is tomorrow."
    "schedulingPolicy": {
        "timeSlotInterval": "PT1H",
        "minimumLeadTime": "PT10H",
        "maximumAdvance": "P10D",
        "sendConfirmationsToOwner": true,
        "allowStaffSelection": true

SDK sample code

GraphServiceClient graphClient = new GraphServiceClient( authProvider );

var staffMemberIdsList = new List<String>();
staffMemberIdsList.Add( "d90d1e8c-5cfe-48cf-a2d5-966267375b6a" );
staffMemberIdsList.Add( "2f5f8794-0b29-45b5-b56a-2eb5ff7aa880" );

var schedulingPolicy = new BookingSchedulingPolicy
	AllowStaffSelection = true,
	MaximumAdvance = "P10D",
	MinimumLeadTime = "PT10H",
	SendConfirmationsToOwner = true,
	TimeSlotInterval = "PT1H",

var defaultReminders = new BookingReminder
	Message = "Please be reminded that this service is tomorrow.",
	Offset = "P1D",
	Recipients = BookingReminderRecipients.AllAttendees,

var defaultRemindersList = new List<BookingReminder>();
defaultRemindersList.Add( defaultReminders );

var address = new PhysicalAddress
	City = "Buffalo",
	CountryOrRegion = "USA",
	PostalCode = "98052",
	PostOfficeBox = null,
	State = "NY",
	Street = "4567 First Street",
	Type = null,

var defaultLocation = new Location
	Address = address,
	Coordinates = null,
	DisplayName = "Contoso Lunch Delivery",
	LocationEmailAddress = null,
	LocationType = null,
	LocationUri = null,
	UniqueId = null,
	UniqueIdType = null,

var bookingService = new BookingService
	DefaultDuration = "PT1H30M",
	DefaultLocation = defaultLocation,
	DefaultPrice = 10.0,
	DefaultPriceType = BookingPriceType.FixedPrice,
	DefaultReminders = defaultRemindersList,
	Description = "Individual bento box lunch delivery",
	DisplayName = "Bento",
	IsHiddenFromCustomers = false,
	Notes = "Home-cooked special",
	PostBuffer = "PT10M",
	PreBuffer = "PT5M",
	SchedulingPolicy = schedulingPolicy,
	StaffMemberIds = staffMemberIdsList,

await graphClient.BookingBusinesses[""].Services

Read the SDK documentation for details on how to add the SDK to your project and create an authProvider instance.