Create bookingStaffMember
8/15/2019
4 minutes to read
In this article
Important
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 staff member in the specified bookingbusiness .
Permissions
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}/staffMembers
Name
Description
Authorization
Bearer {code}
Request body
In the request body, supply a JSON representation of bookingStaffMember object. You must include the following properties:
displayName
emailAddress
role
Response
If successful, this method returns 201, Created
response code and bookingStaffMember object in the response body.
Example
Request
The following is an example of the request.
POST https://graph.microsoft.com/beta/bookingBusinesses/{id}/staffMembers
Content-type: application/json
Content-length: 309
{
"@odata.type":"#microsoft.graph.bookingStaffMember",
"colorIndex":1,
"displayName":"Dana Swope",
"emailAddress":"danas@contoso.com",
"role@odata.type":"#microsoft.graph.bookingStaffRole",
"role":"externalGuest",
"useBusinessHours":true,
"workingHours@odata.type":"#Collection(microsoft.graph.bookingWorkHours)",
"workingHours":[
{
"@odata.type":"#microsoft.graph.bookingWorkHours",
"day@odata.type":"#microsoft.graph.dayOfWeek",
"day":"monday",
"timeSlots@odata.type":"#Collection(microsoft.graph.bookingWorkTimeSlot)",
"timeSlots":[
{
"@odata.type":"#microsoft.graph.bookingWorkTimeSlot",
"end":"17:00:00.0000000",
"start":"08:00:00.0000000"
}
]
},
{
"@odata.type":"#microsoft.graph.bookingWorkHours",
"day@odata.type":"#microsoft.graph.dayOfWeek",
"day":"tuesday",
"timeSlots@odata.type":"#Collection(microsoft.graph.bookingWorkTimeSlot)",
"timeSlots":[
{
"@odata.type":"#microsoft.graph.bookingWorkTimeSlot",
"end":"17:00:00.0000000",
"start":"08:00:00.0000000"
}
]
},
{
"@odata.type":"#microsoft.graph.bookingWorkHours",
"day@odata.type":"#microsoft.graph.dayOfWeek",
"day":"wednesday",
"timeSlots@odata.type":"#Collection(microsoft.graph.bookingWorkTimeSlot)",
"timeSlots":[
{
"@odata.type":"#microsoft.graph.bookingWorkTimeSlot",
"end":"17:00:00.0000000",
"start":"08:00:00.0000000"
}
]
},
{
"@odata.type":"#microsoft.graph.bookingWorkHours",
"day@odata.type":"#microsoft.graph.dayOfWeek",
"day":"thursday",
"timeSlots@odata.type":"#Collection(microsoft.graph.bookingWorkTimeSlot)",
"timeSlots":[
{
"@odata.type":"#microsoft.graph.bookingWorkTimeSlot",
"end":"17:00:00.0000000",
"start":"08:00:00.0000000"
}
]
},
{
"@odata.type":"#microsoft.graph.bookingWorkHours",
"day@odata.type":"#microsoft.graph.dayOfWeek",
"day":"friday",
"timeSlots@odata.type":"#Collection(microsoft.graph.bookingWorkTimeSlot)",
"timeSlots":[
{
"@odata.type":"#microsoft.graph.bookingWorkTimeSlot",
"end":"17:00:00.0000000",
"start":"08:00:00.0000000"
}
]
}
]
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var bookingStaffMember = new BookingStaffMember
{
ColorIndex = 1,
DisplayName = "Dana Swope",
EmailAddress = "danas@contoso.com",
AdditionalData = new Dictionary<string, object>()
{
{"workingHours@odata.type","#Collection(microsoft.graph.bookingWorkHours)"},
{"role@odata.type","#microsoft.graph.bookingStaffRole"}
},
Role = BookingStaffRole.ExternalGuest,
UseBusinessHours = true,
WorkingHours = new List<BookingWorkHours>()
{
new BookingWorkHours
{
AdditionalData = new Dictionary<string, object>()
{
{"timeSlots@odata.type","#Collection(microsoft.graph.bookingWorkTimeSlot)"},
{"day@odata.type","#microsoft.graph.dayOfWeek"}
},
Day = DayOfWeek.Monday,
TimeSlots = new List<BookingWorkTimeSlot>()
{
new BookingWorkTimeSlot
{
End = "17:00:00.0000000",
Start = "08:00:00.0000000"
}
}
},
new BookingWorkHours
{
AdditionalData = new Dictionary<string, object>()
{
{"timeSlots@odata.type","#Collection(microsoft.graph.bookingWorkTimeSlot)"},
{"day@odata.type","#microsoft.graph.dayOfWeek"}
},
Day = DayOfWeek.Tuesday,
TimeSlots = new List<BookingWorkTimeSlot>()
{
new BookingWorkTimeSlot
{
End = "17:00:00.0000000",
Start = "08:00:00.0000000"
}
}
},
new BookingWorkHours
{
AdditionalData = new Dictionary<string, object>()
{
{"timeSlots@odata.type","#Collection(microsoft.graph.bookingWorkTimeSlot)"},
{"day@odata.type","#microsoft.graph.dayOfWeek"}
},
Day = DayOfWeek.Wednesday,
TimeSlots = new List<BookingWorkTimeSlot>()
{
new BookingWorkTimeSlot
{
End = "17:00:00.0000000",
Start = "08:00:00.0000000"
}
}
},
new BookingWorkHours
{
AdditionalData = new Dictionary<string, object>()
{
{"timeSlots@odata.type","#Collection(microsoft.graph.bookingWorkTimeSlot)"},
{"day@odata.type","#microsoft.graph.dayOfWeek"}
},
Day = DayOfWeek.Thursday,
TimeSlots = new List<BookingWorkTimeSlot>()
{
new BookingWorkTimeSlot
{
End = "17:00:00.0000000",
Start = "08:00:00.0000000"
}
}
},
new BookingWorkHours
{
AdditionalData = new Dictionary<string, object>()
{
{"timeSlots@odata.type","#Collection(microsoft.graph.bookingWorkTimeSlot)"},
{"day@odata.type","#microsoft.graph.dayOfWeek"}
},
Day = DayOfWeek.Friday,
TimeSlots = new List<BookingWorkTimeSlot>()
{
new BookingWorkTimeSlot
{
End = "17:00:00.0000000",
Start = "08:00:00.0000000"
}
}
}
}
};
await graphClient.BookingBusinesses["{id}"].StaffMembers
.Request()
.AddAsync(bookingStaffMember);
Read the SDK documentation for details on how to add the SDK to your project and create an authProvider instance.
const options = {
authProvider,
};
const client = Client.init(options);
const bookingStaffMember = {
@odata.type:"#microsoft.graph.bookingStaffMember",
colorIndex:1,
displayName:"Dana Swope",
emailAddress:"danas@contoso.com",
role@odata.type:"#microsoft.graph.bookingStaffRole",
role:"externalGuest",
useBusinessHours:true,
workingHours@odata.type:"#Collection(microsoft.graph.bookingWorkHours)",
workingHours:[
{
@odata.type:"#microsoft.graph.bookingWorkHours",
day@odata.type:"#microsoft.graph.dayOfWeek",
day:"monday",
timeSlots@odata.type:"#Collection(microsoft.graph.bookingWorkTimeSlot)",
timeSlots:[
{
@odata.type:"#microsoft.graph.bookingWorkTimeSlot",
end:"17:00:00.0000000",
start:"08:00:00.0000000"
}
]
},
{
@odata.type:"#microsoft.graph.bookingWorkHours",
day@odata.type:"#microsoft.graph.dayOfWeek",
day:"tuesday",
timeSlots@odata.type:"#Collection(microsoft.graph.bookingWorkTimeSlot)",
timeSlots:[
{
@odata.type:"#microsoft.graph.bookingWorkTimeSlot",
end:"17:00:00.0000000",
start:"08:00:00.0000000"
}
]
},
{
@odata.type:"#microsoft.graph.bookingWorkHours",
day@odata.type:"#microsoft.graph.dayOfWeek",
day:"wednesday",
timeSlots@odata.type:"#Collection(microsoft.graph.bookingWorkTimeSlot)",
timeSlots:[
{
@odata.type:"#microsoft.graph.bookingWorkTimeSlot",
end:"17:00:00.0000000",
start:"08:00:00.0000000"
}
]
},
{
@odata.type:"#microsoft.graph.bookingWorkHours",
day@odata.type:"#microsoft.graph.dayOfWeek",
day:"thursday",
timeSlots@odata.type:"#Collection(microsoft.graph.bookingWorkTimeSlot)",
timeSlots:[
{
@odata.type:"#microsoft.graph.bookingWorkTimeSlot",
end:"17:00:00.0000000",
start:"08:00:00.0000000"
}
]
},
{
@odata.type:"#microsoft.graph.bookingWorkHours",
day@odata.type:"#microsoft.graph.dayOfWeek",
day:"friday",
timeSlots@odata.type:"#Collection(microsoft.graph.bookingWorkTimeSlot)",
timeSlots:[
{
@odata.type:"#microsoft.graph.bookingWorkTimeSlot",
end:"17:00:00.0000000",
start:"08:00:00.0000000"
}
]
}
]
};
let res = await client.api('/bookingBusinesses/{id}/staffMembers')
.version('beta')
.post(bookingStaffMember);
Read the SDK documentation for details on how to add the SDK to your project and create an authProvider instance.
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/beta/";
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/bookingBusinesses/{id}/staffMembers"]]];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
MSGraphBookingStaffMember *bookingStaffMember = [[MSGraphBookingStaffMember alloc] init];
[bookingStaffMember setColorIndex: 1];
[bookingStaffMember setDisplayName:@"Dana Swope"];
[bookingStaffMember setEmailAddress:@"danas@contoso.com"];
[bookingStaffMember setRole: [MSGraphBookingStaffRole externalGuest]];
[bookingStaffMember setUseBusinessHours: true];
NSMutableArray *workingHoursList = [[NSMutableArray alloc] init];
MSGraphBookingWorkHours *workingHours = [[MSGraphBookingWorkHours alloc] init];
[workingHours setDay: [MSGraphDayOfWeek monday]];
NSMutableArray *timeSlotsList = [[NSMutableArray alloc] init];
MSGraphBookingWorkTimeSlot *timeSlots = [[MSGraphBookingWorkTimeSlot alloc] init];
[timeSlots setEnd:@"17:00:00.0000000"];
[timeSlots setStart:@"08:00:00.0000000"];
[timeSlotsList addObject: timeSlots];
[workingHours setTimeSlots:timeSlotsList];
[workingHoursList addObject: workingHours];
MSGraphBookingWorkHours *workingHours = [[MSGraphBookingWorkHours alloc] init];
[workingHours setDay: [MSGraphDayOfWeek tuesday]];
NSMutableArray *timeSlotsList = [[NSMutableArray alloc] init];
MSGraphBookingWorkTimeSlot *timeSlots = [[MSGraphBookingWorkTimeSlot alloc] init];
[timeSlots setEnd:@"17:00:00.0000000"];
[timeSlots setStart:@"08:00:00.0000000"];
[timeSlotsList addObject: timeSlots];
[workingHours setTimeSlots:timeSlotsList];
[workingHoursList addObject: workingHours];
MSGraphBookingWorkHours *workingHours = [[MSGraphBookingWorkHours alloc] init];
[workingHours setDay: [MSGraphDayOfWeek wednesday]];
NSMutableArray *timeSlotsList = [[NSMutableArray alloc] init];
MSGraphBookingWorkTimeSlot *timeSlots = [[MSGraphBookingWorkTimeSlot alloc] init];
[timeSlots setEnd:@"17:00:00.0000000"];
[timeSlots setStart:@"08:00:00.0000000"];
[timeSlotsList addObject: timeSlots];
[workingHours setTimeSlots:timeSlotsList];
[workingHoursList addObject: workingHours];
MSGraphBookingWorkHours *workingHours = [[MSGraphBookingWorkHours alloc] init];
[workingHours setDay: [MSGraphDayOfWeek thursday]];
NSMutableArray *timeSlotsList = [[NSMutableArray alloc] init];
MSGraphBookingWorkTimeSlot *timeSlots = [[MSGraphBookingWorkTimeSlot alloc] init];
[timeSlots setEnd:@"17:00:00.0000000"];
[timeSlots setStart:@"08:00:00.0000000"];
[timeSlotsList addObject: timeSlots];
[workingHours setTimeSlots:timeSlotsList];
[workingHoursList addObject: workingHours];
MSGraphBookingWorkHours *workingHours = [[MSGraphBookingWorkHours alloc] init];
[workingHours setDay: [MSGraphDayOfWeek friday]];
NSMutableArray *timeSlotsList = [[NSMutableArray alloc] init];
MSGraphBookingWorkTimeSlot *timeSlots = [[MSGraphBookingWorkTimeSlot alloc] init];
[timeSlots setEnd:@"17:00:00.0000000"];
[timeSlots setStart:@"08:00:00.0000000"];
[timeSlotsList addObject: timeSlots];
[workingHours setTimeSlots:timeSlotsList];
[workingHoursList addObject: workingHours];
[bookingStaffMember setWorkingHours:workingHoursList];
NSError *error;
NSData *bookingStaffMemberData = [bookingStaffMember getSerializedDataWithError:&error];
[urlRequest setHTTPBody:bookingStaffMemberData];
MSURLSessionDataTask *meDataTask = [httpClient dataTaskWithRequest:urlRequest
completionHandler: ^(NSData *data, NSURLResponse *response, NSError *nserror) {
//Request Completed
}];
[meDataTask execute];
Read the SDK documentation for details on how to add the SDK to your project and create an authProvider instance.
In the request body, supply a JSON representation of bookingStaffMember object.
Response
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":"https://graph.microsoft.com/beta/$metadata#bookingBusinesses('Contosolunchdelivery%40M365B489948.onmicrosoft.com')/staffMembers/$entity",
"id":"8ee1c803-a1fa-406d-8259-7ab53233f148",
"displayName":"Dana Swope",
"emailAddress":"danas@contoso.com",
"availabilityIsAffectedByPersonalCalendar":false,
"colorIndex":1,
"role":"externalGuest",
"useBusinessHours":true,
"workingHours":[
{
"day":"monday",
"timeSlots":[
{
"start":"08:00:00.0000000",
"end":"17:00:00.0000000"
}
]
},
{
"day":"tuesday",
"timeSlots":[
{
"start":"08:00:00.0000000",
"end":"17:00:00.0000000"
}
]
},
{
"day":"wednesday",
"timeSlots":[
{
"start":"08:00:00.0000000",
"end":"17:00:00.0000000"
}
]
},
{
"day":"thursday",
"timeSlots":[
{
"start":"08:00:00.0000000",
"end":"17:00:00.0000000"
}
]
},
{
"day":"friday",
"timeSlots":[
{
"start":"08:00:00.0000000",
"end":"17:00:00.0000000"
}
]
}
]
}