跳至主要内容

需排班員工 · 05

員工調店

停權原門市 enrollment,再於目的門市建立新的 enrollment 綁定。

完成結果林志豪的信義店紀錄保留並自調店日停權,同一員工編號在中正店取得新的可用 enrollment。

實際案例​

S0004 林志豪於 2026-11-01 從台北信義店調至台北中正店。FREONE 允許同一員工同時綁定多個 Merchant,因此「調店」不是直接改 Merchant ID,而是終結來源綁定、建立目的綁定。來源員工有「領檯」與「結帳」兩項技能,目的 enrollment 也要帶入。

資料流​

  1. 1取得來源完整資料以信義店與 S0004 找到原 enrollment,保留個人、身份別、技能與問卷設定。GET /v1/enrollments
  2. 2停權來源門市自調店日 00:00 起,以 other+非空 comment 終結信義店使用權。PUT /v1/enrollment/{id}/suspension
  3. 3解析目的門市設定找到中正外場 squad,並重新查詢中正店可用的身份別與技能標籤。GET /v1/squads + tags
  4. 4建立目的 enrollment沿用 S0004 與完整個人資料,在中正店建立新綁定。POST /v1/enrollments/{merchantId}
  5. 5雙邊回讀確認來源已停權、目的可用,兩邊歷史不互相覆蓋。GET /v1/enrollments

欄位 mapping​

資料來源門市目的門市
Merchant IDtkfv5ttlcoej
Enrollment ID57bgaixu-54ea-dfhi-8a6b-dok95b1mozjd建立後為 fb601791-8nyz-dfhi-uiso-ddb1fb109nnj
Squad IDsqmmhw5vonCzosqmmrnwtvxxiH
External IDS0004S0004
領檯技能tagId: 7e6d1510-6179-4bd2-a235-679a76f11701、level: 3確認目的商家可用後保留同一指派
結帳技能tagId: 1b297e7a-1afb-44f5-909d-4b4aab122c02、level: 2確認目的商家可用後保留同一指派
生效時間suspension 起點activatedTime

Requests​

先停權來源 enrollment:

PUT /v1/enrollment/57bgaixu-54ea-dfhi-8a6b-dok95b1mozjd/suspension
Content-Type: application/json

{
"startTime": "2026-10-31T16:00:00Z",
"endTime": null,
"reason": "other",
"comment": "調店至台北中正店"
}

再建立目的 enrollment:

POST /v1/enrollments/tlcoej
Content-Type: application/json

{
"phone": "+886900000014",
"name": "林志豪",
"alias": "志豪",
"parttime": false,
"externalId": "S0004",
"activatedTime": "2026-10-31T16:00:00Z",
"identityTagId": "65107fa0-4284-46a5-82f7-b3657f660ed1",
"skills": [
{"tagId": "7e6d1510-6179-4bd2-a235-679a76f11701", "level": 3},
{"tagId": "1b297e7a-1afb-44f5-909d-4b4aab122c02", "level": 2}
],
"squads": [
{
"squadId": "sqmmrnwtvxxiH",
"shiftSurveyEligible": true,
"dayOffSurveyEligible": true
}
]
}

Response​

目的門市建立完成後回傳新的 enrollment:

{
"data": {
"id": "fb601791-8nyz-dfhi-uiso-ddb1fb109nnj",
"externalId": "S0004",
"name": "林志豪",
"alias": "志豪",
"phone": "+886900000014",
"parttime": false,
"connected": true,
"merchant": {
"id": "tlcoej",
"name": "台北中正店"
},
"identityTag": {
"id": "65107fa0-4284-46a5-82f7-b3657f660ed1",
"name": "正職"
},
"skills": [
{"tagId": "7e6d1510-6179-4bd2-a235-679a76f11701", "level": 3},
{"tagId": "1b297e7a-1afb-44f5-909d-4b4aab122c02", "level": 2}
],
"createdTime": "2026-10-20T06:01:00Z",
"updatedTime": "2026-10-20T06:01:00Z",
"activatedTime": "2026-10-31T16:00:00Z",
"activatedBy": {
"id": "a9da86bb-e7a7-4779-a8e4-f61c40e72553",
"name": "IT串接服務帳號"
},
"squads": [
{
"id": "sqmmrnwtvxxiH",
"name": "外場",
"shiftSurveyEligible": true,
"dayOffSurveyEligible": true
}
],
"suspension": null
}
}

驗收結果​

  • 信義店的 57bgaixu-54ea-dfhi-8a6b-dok95b1mozjd 仍存在,並自調店日停權。
  • 中正店有新的 fb601791-8nyz-dfhi-uiso-ddb1fb109nnj,且 externalId 仍為 S0004。
  • 中正店 enrollment 綁定 sqmmrnwtvxxiH,沒有誤用信義店 Squad。
  • 目的 enrollment 同時保留等級 3 的領檯技能與等級 2 的結帳技能。
關鍵提醒

不要把同一個 enrollment 的 Merchant 當成可更新欄位。建立目的資料前,仍要以目的 Merchant 重新查詢可用身份別、技能標籤與 Squad;即使名稱相同,也不要假設 ID 一定相同。本例兩店共用組織範圍的領檯與結帳標籤,因此 tagId 相同;其他標籤仍須依目的商家重新對應,並帶入每項 level。