管理一线经理的排班权限

排班中的一线经理是具有 团队所有者或计划所有者角色的用户。 他们为其团队创建和管理计划。 默认情况下,一线经理可以在排班中执行以下操作:

  • 为其团队配置 排班设置 。 例如,一线经理可以打开时间时钟,并设置其团队中的一线员工是否可以换班和请求休假。
  • 在排班中为其团队创建和管理计划组。 计划组用于根据团队中的共同特征(例如部门或作业类型)对一线员工进行分组。

根据组织的需求,可能需要限制一线经理可用于管理其团队计划的排班功能。 本文介绍如何使用 shiftsRoleDefinition Graph API 控制这些功能的权限。

排班中用于管理团队的一线经理功能

下表列出了排班中一线经理可用于管理团队的设置和计划组功能,并指示是否可以限制该功能。

设置/功能 说明 使用 shiftsRoleDefinition Graph API 控制权限
团队时区 设置团队的时区和最近的城市。
周开始时间 设置计划开始的星期几。
复制班次 设置复制班次时是否自动包含班次活动。
打开班次 打开或关闭创建和请求开放班次的功能。 ✔️1
交换班次 打开或关闭工人相互交换班次的能力。 ✔️1
产品/服务转移 打开或关闭员工向同事提供轮班的能力。 ✔️1
休假请求 打开或关闭工作人员请求休假的能力。 ✔️
休假原因 添加和编辑团队的休假原因。 ✔️
时钟 为团队打开或关闭时钟。 ✔️
时钟地理位置 定义时钟地理位置 (优先于时钟设置) ✔️
过去班次的可见性 打开或关闭员工查看同事过去轮班的能力。
休假的可见性 打开或关闭员工查看彼此的休假详细信息的能力。
班次详细信息的可见性 打开或关闭员工查看彼此轮班详细信息的能力。
管理计划组 添加、重命名和删除计划组。 ✔️
管理计划组成员身份 从计划组添加和删除团队成员。

1可以通过 参数管理这三项功能 CanModifyShiftRequestsCapabilities

还可以使用 创建或替换计划 图形 API 来定义排班设置,并使用 创建计划组 图形 API 来管理计划组和成员身份。

示例方案

在 Contoso Ltd,部门经理直接向商店经理报告。 与部门经理相比,商店经理在公司内拥有更多的权限,角色分配方式如下:

  • 应用商店经理是 Teams 中的团队所有者。
  • 部门经理是 Teams 中的团队成员,在排班中安排所有者。

Contoso 回顾了一线经理的排班功能,并根据他们的业务需求确定了以下要求:

一线经理不应该选择他们的团队是否可以在排班中使用时钟

Contoso 决定暂时不使用排班中的时钟,因为他们希望一线员工使用店内工作站来打卡和下班。 这意味着他们需要:

  • 删除商店经理 (团队所有者) 和部门经理的权限, (计划所有者) 更改其团队的时钟设置。
  • 将所有团队的“排班时间”中的时钟设置设置为 “关闭 ”。

为此:

  1. 若要防止一线经理更改其团队的时钟设置,请使用 shiftsRoleDefinition Graph API,并从allowedResourceActions团队所有者角色的列表中删除 CanModifyTimeClockCapabilities 参数,并使用排班计划每个团队的所有者角色。

    此示例显示了 Contoso Chicago 商店的团队所有者角色的权限, (团队 ID fb963991-69a8-4d2c-8465-cd8e374891c4) 。

    请求

    PATCH https://graph.microsoft.com/beta/teams/fb963991-69a8-4d2c-8465-cd8e374891c4/schedule/shiftsRoleDefinition/teamowner
    Content-Type: application/json
    
    {
    "shiftsRoleDefinition": [
      {
        "allowedResourceActions": [
           "CanModifyShiftRequestsCapabilities",
           "CanModifyTimeOffRequestsCapabilities",
           "CanModifySchedulingGroups",
           "CanModifyTimeOffReasons"
         ]
      }
     ]
    }     
    
  2. 若要关闭所有团队的排班时钟,请使用 创建或替换日程安排 图形 API,并将 timeClockEnabled parameterfalse 设置为 每个团队的 。

    在这里,Contoso Chicago 商店的时钟已关闭, (团队 ID fb963991-69a8-4d2c-8465-cd8e374891c4) 。

    请求

    PUT https://graph.microsoft.com/v1.0/teams/fb963991-69a8-4d2c-8465-cd8e374891c4/schedule
    Content-Type: application/json
    
    {
      "enabled": true,
      "timeZone": "America/Chicago”, 
      "timeClockEnabled": false
    }
    

以下是在删除更改权限之前和之后,对于 Contoso 的商店经理和部门经理来说,排班中的时钟设置是怎样的。 删除其权限后,设置在排班中不可用。

一线经理在删除更改权限之前和之后的排班时间时钟设置示例。

部门经理不应选择是否可以在排班中添加和编辑休假原因

在 Contoso,添加和编辑休假原因由商店经理负责。 这意味着他们需要删除部门经理 (计划所有者的权限,) 在所有团队的排班中添加和编辑休假原因。

为此,请使用 shiftsRoleDefinition Graph API,并使用排班从allowedResourceActions每个团队的计划所有者角色列表中删除 CanModifyTimeOffReasons 参数。

此示例显示 Contoso Chicago 商店的计划所有者角色的权限, (团队 ID fb963991-69a8-4d2c-8465-cd8e374891c4) 。

请求

PATCH https://graph.microsoft.com/beta/teams/fb963991-69a8-4d2c-8465-cd8e374891c4/schedule/shiftsRoleDefinition/scheduleowner
Content-Type: application/json

{
"shiftsRoleDefinition": [
  {
    "allowedResourceActions": [
       "CanModifyShiftRequestsCapabilities",
       "CanModifyTimeOffRequestsCapabilities",
       "CanModifySchedulingGroups"
     ]
  }
 ]
}

以下是在删除其使用权限之前和之后,Contoso 部门经理在班次中的休假原因选项的外观。 删除其权限后,选项在排班中不可用。

部门经理在删除其使用权限之前和之后的班次中的休假原因选项示例。