Wrong enum value for the team member role in booking businesses - Request fails
Describe the bug
When you try to fetch staff members of a booking business where one staff member has the Team Member role, the request fails with the error message Invalid enum value member.
Expected behavior
I expect to receive a valid result.
How to reproduce
Request the staff members of a booking business that contains a user with role Team Member
$app_client->solutions()->bookingBusinesses()->byBookingBusinessId( 'business-with-a-staff-member' )->staffMembers()->get()->wait();
SDK Version
2.49.0
Latest version known to work for scenario above?
No response
Known Workarounds
No response
Debug output
invalid enum value member
Configuration
This issue is unrelated to my configuration.
Other information
The team member role name is declared wrong in https://github.com/microsoftgraph/msgraph-sdk-php/blob/acceb46d913bbfeb955c7f82057fb13ac6470117/src/Generated/Models/BookingStaffRole.php#L14
It must be member. This is also the role identifier when requesting the staff members directly via Postman:
"role": "member"
@lkaisers thanks for reporting this issue.
I don't have a bookings business configured in my test tenant at present. Would you be able to show me the raw JSON response to this API call? You can use Graph Explorer to make the call in your dev tenant.
We use Kiota to generate our SDKs from the source metadata for Microsoft Graph and the value of teamMember comes directly from there, so I'd like a sample response from that API so that I can engage the team who own the underly service that the SDK is calling into.
@lkaisers thanks for reporting this issue.
I don't have a bookings business configured in my test tenant at present. Would you be able to show me the raw JSON response to this API call? You can use Graph Explorer to make the call in your dev tenant.
We use Kiota to generate our SDKs from the source metadata for Microsoft Graph and the value of
teamMembercomes directly from there, so I'd like a sample response from that API so that I can engage the team who own the underly service that the SDK is calling into.
Here's the response including the user that I have made a team member in our test business. I have anonymized sensitive data in this response.
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#solutions/bookingBusinesses('XY')/staffMembers",
"value": [
{
"@odata.type": "#microsoft.graph.bookingStaffMember",
"id": "f821e6af-b4c3-4254-b68c-e215fba76e3f",
"displayName": "Benachrichtigungsdienst",
"emailAddress": "[email protected]",
"availabilityIsAffectedByPersonalCalendar": true,
"role": "member",
"useBusinessHours": false,
"isEmailNotificationEnabled": true,
"membershipStatus": "active",
"timeZone": "",
"createdDateTime": "2025-11-11T12:06:23.5764355Z",
"lastUpdatedDateTime": "2025-12-03T10:17:57.8078715Z",
"workingHours": [
{
"day": "monday",
"timeSlots": [
{
"startTime": "00:00:00.0000000",
"endTime": "00:00:00.0000000"
}
]
},
{
"day": "tuesday",
"timeSlots": [
{
"startTime": "00:00:00.0000000",
"endTime": "00:00:00.0000000"
}
]
},
{
"day": "wednesday",
"timeSlots": [
{
"startTime": "00:00:00.0000000",
"endTime": "00:00:00.0000000"
}
]
},
{
"day": "thursday",
"timeSlots": [
{
"startTime": "00:00:00.0000000",
"endTime": "00:00:00.0000000"
}
]
},
{
"day": "friday",
"timeSlots": [
{
"startTime": "00:00:00.0000000",
"endTime": "00:00:00.0000000"
}
]
},
{
"day": "saturday",
"timeSlots": []
},
{
"day": "sunday",
"timeSlots": []
}
]
}
]
}