스케줄 보드 작업 이동 미리보기
확정된 작업을 새 시각 및/또는 기사로 이동할 때의 결과를 (쓰기 없이) 계산합니다: 작업이 어디에 배치되는지, `mode`에 따라 뒤로 밀려나는 모든 이후 작업, 그리고 코디네이터가 수락할 경고(밀려난 작업이 확정된 창을 벗어남, 초과 근무). 같은 기사 = 순수 시각 이동; 다른 기사 = 수동 재배정. 읽기 전용 — 드래그하는 동안 반복 호출해도 안전하며, 커밋은 별도 엔드포인트입니다. SCHEDULE_BOARD_DESIGN.md 참고. 경고 상세: TECH_NOT_FEASIBLE 경고는 `reason` = `cannot_arrive_in_time`(기사 하루 시작 위치/근무 시작으로부터의 통근; `earliest_feasible_at`(RFC3339 UTC)가 그들이 현장에 있을 수 있는 같은 날의 가장 이른 시각 — 드롭 슬롯으로 제안하세요) | `missing_required_skills` | `not_available_today`(근무 시간, 승인된 휴가가 없거나 서비스 지역 밖) | `not_lead_tier`를 담습니다. P0 이동에서는 이 경고가 참고용이며(코디네이터가 그대로 커밋 가능), p1/p2/p3에서는 같은 조건이 하드 409 SCHEDULE_MOVE_TECH_INFEASIBLE입니다. 409 다음 단계: SCHEDULE_MOVE_NOT_ELIGIBLE (작업이 미확정/미견적/보관/완료 — 이동 불가) · SCHEDULE_MOVE_IN_PROGRESS (기사가 이미 수행 중 — 이동하지 마세요) · SCHEDULE_MOVE_IN_PAST (미래 시각 선택) · SCHEDULE_MOVE_OUTSIDE_WINDOW (도착 시각이 고객 확정 창 밖 — 하드 블록; 창 안의 시각 선택) · SCHEDULE_MOVE_SLOT_OCCUPIED (도착 창이 이동 불가 앵커에 막힘 — 다른 기사/시각) · SCHEDULE_MOVE_TECH_INFEASIBLE (비-P0 하드 블록: 대상 기사가 자격/가용성 없음 — TECH_NOT_FEASIBLE 경고 사유 참고; 기사 또는 시각 변경) · SCHEDULE_MOVE_MULTIDAY_UNSUPPORTED (멀티데이 작업은 v1에서 이동 불가) · SCHEDULE_MOVE_NO_WORKING_DAY (근무일 선택) · SCHEDULE_MOVE_REQUIRES_FREE_SLOT (비-P0 이동은 밀어내기 불가 — 소유자가 allow_non_p0_displacement를 켜지 않는 한 여유 용량만) · SCHEDULE_MOVE_CREW_UNSTAFFABLE (크루 슬롯에 새 시각의 대체 가능 인원이 없음 — 다른 시각).
인수
curl -X POST "https://api.crisphive.com/v1/job-requests/9b2f6c3e-1a4d-4f0a-8f2e-7c5d1b3a9e01/move/preview" \ -H "Authorization: Bearer chsk_test_4eC8xQ9mZ2pL7Ka0rT" \ -H "Content-Type: application/json" \ -d '{ "mode": "overtime", "start_at": "2030-06-14T09:00:00", "technician_id": "9b2f6c3e-1a4d-4f0a-8f2e-7c5d1b3a9e01" }'