Notfall-Einschieben + Kaskaden-Umplanung vorab anzeigen
Berechnet (OHNE zu schreiben) die Kaskade, die entsteht, wenn ein Notfallauftrag zu einer gewählten Zeit bei einem Techniker eingeschoben wird: wo der Notfall landet + jeder nach hinten geschobene Auftrag, gruppiert pro unternehmenslokalem Tag. `displacement_mode=reassign` übergibt stattdessen jeden verdrängten Auftrag an einen anderen machbaren Techniker in seinem URSPRÜNGLICHEN Fenster (Zusage am selben Tag) — Aufträge ohne alternative Kapazität fallen auf reschedule zurück und verbleiben in `days`. `mode=overtime` hält alle am selben Tag (Techniker arbeitet länger); `mode=next_day` verschiebt den Überlauf auf den/die nächsten Arbeitstag(e). Schreibgeschützt — kann bedenkenlos wiederholt aufgerufen werden; der Commit ist ein separater Endpoint. Isoliertes Feature (siehe EMERGENCY_RESCHEDULE_DESIGN.md). 409 NÄCHSTE SCHRITTE: EMERGENCY_RESCHEDULE_SLOT_OCCUPIED — das Landefenster ist durch einen Auftrag blockiert, den die Kaskade NICHT verschieben darf (ein weiteres P0, ein Team- oder mehrtägiger Auftrag): wählen Sie einen anderen Techniker (arbeiten Sie das /candidates-Ranking ab) oder eine andere Zeit; die Verdrängung berührt nie P0-/Team-/mehrtägige Anker. EMERGENCY_RESCHEDULE_NOT_ELIGIBLE / CREW_UNSUPPORTED / NO_WORKING_DAY / IN_PAST — dieselben Abhilfen wie bei /candidates.
Argumente
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" }'