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