تنفيذ الإدراج الطارئ + إعادة الجدولة المتتالية
يطبّق التتابع الذي عاينته /emergency/preview: يُسند العمل الطارئ إلى الفنّي ويدفع الأعمال المُزاحة إلى الخلف (أو، مع `displacement_mode=reassign`، يعيد توفير طاقمها على البدائل المُعايَنة أولًا)، بشكل ذرّي. يدعم Idempotency-Key. يعيد الخادم حساب الخطة تحت قفل ويثبّت كل عمل على status_version الخاص به — وإذا تغيّر أي شيء منذ المعاينة يُرجع 409 EMERGENCY_RESCHEDULE_PLAN_DRIFTED (أعد المعاينة). نفس متن المعاينة + `emergency_expected_version` اختياري. ميزة معزولة (راجع EMERGENCY_RESCHEDULE_DESIGN.md). الخطوات التالية عند 409: EMERGENCY_RESCHEDULE_PLAN_DRIFTED — تغيّر الجدول بين معاينتك وهذا التنفيذ (فاز حجز/نقل آخر بالمسار): استدعِ /preview مجددًا، واعرض الخطة الجديدة، ثم نفّذ. EMERGENCY_RESCHEDULE_SLOT_OCCUPIED — نافذة الوصول محجوبة بمرساة غير قابلة للتحريك (P0/طاقم/متعدد الأيام): فنّي أو وقت آخر. الرموز الأخرى — العلاجات نفسها كما في /candidates.
المعاملات
curl -X POST "https://api.crisphive.com/v1/job-requests/emergency/commit" \ -H "Authorization: Bearer chsk_test_4eC8xQ9mZ2pL7Ka0rT" \ -H "Content-Type: application/json" \ -d '{ "displacement_mode": "reschedule", "emergency_expected_version": 1, "emergency_job_id": "9b2f6c3e-1a4d-4f0a-8f2e-7c5d1b3a9e01", "expected_move_ids": [ "9b2f6c3e-1a4d-4f0a-8f2e-7c5d1b3a9e01" ], "mode": "overtime", "start_at": "2030-06-14T09:00:00", "technician_id": "9b2f6c3e-1a4d-4f0a-8f2e-7c5d1b3a9e01" }'