[System]
You are an expert 911 emergency dispatcher.
You must respond with exactly one JSON object and no extra text.

Action types:
1) dispatch
2) duplicate
3) hold

Rules:
- If the incoming call is a duplicate of an active event, choose duplicate.
- If not duplicate and a FREE unit of required type exists, choose dispatch with the nearest FREE unit.
- If no FREE unit of required type exists, choose hold with the soonest-to-free busy unit.
- Optional reroute is allowed only for high-severity calls when all units are busy and a lower-severity event is currently assigned.

Severity: 1 (minor) to 5 (catastrophic)
Vehicle mapping:
- fire -> fire
- medical or accident -> ambulance
- crime -> police

[User]
=== INCOMING CALL [CALL-0001] ===
Building's on fire on Lake Street near Maple Heights! People are yelling from the windows, please hurry!

=== ACTIVE EVENTS ===
(none)

=== UNIT STATUS ===
police_0        | police     | Central Police Station         | FREE
police_1        | police     | Central Police Station         | FREE
ambulance_2     | ambulance  | City Central Hospital          | FREE
ambulance_3     | ambulance  | City Central Hospital          | FREE
fire_4          | fire       | Engine House No. 1             | FREE
fire_5          | fire       | Engine House No. 1             | FREE
fire_6          | fire       | Engine House No. 1             | FREE

=== CITY REFERENCE ===
City Central Hospital (hospital) → Downtown Mall [2 min], Engine House No. 1 [3 min], Cedar Park Village [5 min]
Engine House No. 1 (fire_station) → City Central Hospital [3 min], Downtown Mall [3 min], Cedar Park Village [6 min], Central Crossroads [9 min], Willow Creek Homes [14 min]
Central Police Station (police_station) → Maple Heights [3 min], Riverside Market [6 min], Willow Creek Homes [7 min], Cedar Park Village [7 min]
Maple Heights (residential) → Central Police Station [3 min], Riverside Market [1 min], Willow Creek Homes [4 min], Cedar Park Village [9 min], Central Crossroads [7 min]
Willow Creek Homes (residential) → Central Police Station [7 min], Maple Heights [4 min], Riverside Market [3 min], Engine House No. 1 [14 min]
Cedar Park Village (residential) → Engine House No. 1 [6 min], City Central Hospital [5 min], Downtown Mall [6 min], Central Police Station [7 min], Maple Heights [9 min]
Downtown Mall (commercial) → City Central Hospital [2 min], Engine House No. 1 [3 min], Cedar Park Village [6 min], Riverside Market [8 min], Central Crossroads [6 min]
Riverside Market (commercial) → Central Police Station [6 min], Maple Heights [1 min], Willow Creek Homes [3 min], Central Crossroads [7 min], Downtown Mall [8 min]
Central Crossroads (road_junction) → Engine House No. 1 [9 min], Riverside Market [7 min], Downtown Mall [6 min], Maple Heights [7 min]

=== DISPATCHER NOTES ===
(first call)

[Assistant] {"action_type": "dispatch", "severity_pred": 3, "is_duplicate": false, "duplicate_of_event_id": null, "vehicle_type": "fire", "vehicle_id": "fire_4", "reroute": null}


[System]
You are an expert 911 emergency dispatcher.
You must respond with exactly one JSON object and no extra text.

Action types:
1) dispatch
2) duplicate
3) hold

Rules:
- If the incoming call is a duplicate of an active event, choose duplicate.
- If not duplicate and a FREE unit of required type exists, choose dispatch with the nearest FREE unit.
- If no FREE unit of required type exists, choose hold with the soonest-to-free busy unit.
- Optional reroute is allowed only for high-severity calls when all units are busy and a lower-severity event is currently assigned.

Severity: 1 (minor) to 5 (catastrophic)
Vehicle mapping:
- fire -> fire
- medical or accident -> ambulance
- crime -> police

[User]
=== INCOMING CALL [CALL-0002] ===
There's a break-in happening right now at 656 Lake Street. I can see someone climbing through a window from across the street.

=== ACTIVE EVENTS ===
EVT-0001 | fire       | Maple Heights                  | sev 3 | fire_4 ETA 12 min | opened step 1

=== UNIT STATUS ===
police_0        | police     | Central Police Station         | FREE
police_1        | police     | Central Police Station         | FREE
ambulance_2     | ambulance  | City Central Hospital          | FREE
ambulance_3     | ambulance  | City Central Hospital          | FREE
fire_4          | fire       | Engine House No. 1             | DISPATCHED → EVT-0001
fire_5          | fire       | Engine House No. 1             | FREE
fire_6          | fire       | Engine House No. 1             | FREE

=== CITY REFERENCE ===
City Central Hospital (hospital) → Downtown Mall [2 min], Engine House No. 1 [3 min], Cedar Park Village [5 min]
Engine House No. 1 (fire_station) → City Central Hospital [3 min], Downtown Mall [3 min], Cedar Park Village [6 min], Central Crossroads [9 min], Willow Creek Homes [14 min]
Central Police Station (police_station) → Maple Heights [3 min], Riverside Market [6 min], Willow Creek Homes [7 min], Cedar Park Village [7 min]
Maple Heights (residential) → Central Police Station [3 min], Riverside Market [1 min], Willow Creek Homes [4 min], Cedar Park Village [9 min], Central Crossroads [7 min]
Willow Creek Homes (residential) → Central Police Station [7 min], Maple Heights [4 min], Riverside Market [3 min], Engine House No. 1 [14 min]
Cedar Park Village (residential) → Engine House No. 1 [6 min], City Central Hospital [5 min], Downtown Mall [6 min], Central Police Station [7 min], Maple Heights [9 min]
Downtown Mall (commercial) → City Central Hospital [2 min], Engine House No. 1 [3 min], Cedar Park Village [6 min], Riverside Market [8 min], Central Crossroads [6 min]
Riverside Market (commercial) → Central Police Station [6 min], Maple Heights [1 min], Willow Creek Homes [3 min], Central Crossroads [7 min], Downtown Mall [8 min]
Central Crossroads (road_junction) → Engine House No. 1 [9 min], Riverside Market [7 min], Downtown Mall [6 min], Maple Heights [7 min]

=== DISPATCHER NOTES ===
Step 1: CALL-0001 → fire fire_4

[Assistant] {"action_type": "dispatch", "severity_pred": 2, "is_duplicate": false, "duplicate_of_event_id": null, "vehicle_type": "police", "vehicle_id": "police_0", "reroute": null}


[System]
You are an expert 911 emergency dispatcher.
You must respond with exactly one JSON object and no extra text.

Action types:
1) dispatch
2) duplicate
3) hold

Rules:
- If the incoming call is a duplicate of an active event, choose duplicate.
- If not duplicate and a FREE unit of required type exists, choose dispatch with the nearest FREE unit.
- If no FREE unit of required type exists, choose hold with the soonest-to-free busy unit.
- Optional reroute is allowed only for high-severity calls when all units are busy and a lower-severity event is currently assigned.

Severity: 1 (minor) to 5 (catastrophic)
Vehicle mapping:
- fire -> fire
- medical or accident -> ambulance
- crime -> police

[User]
=== INCOMING CALL [CALL-0003] ===
I think I heard gunshots near 954 Lake Street! People are running. I'm hiding inside Maple Heights, please send help!

=== ACTIVE EVENTS ===
EVT-0001 | fire       | Maple Heights                  | sev 3 | fire_4 ETA 12 min | opened step 1
EVT-0002 | crime      | Maple Heights                  | sev 2 | police_0 ETA 2 min | opened step 2

=== UNIT STATUS ===
police_0        | police     | Central Police Station         | DISPATCHED → EVT-0002
police_1        | police     | Central Police Station         | FREE
ambulance_2     | ambulance  | City Central Hospital          | FREE
ambulance_3     | ambulance  | City Central Hospital          | FREE
fire_4          | fire       | Engine House No. 1             | DISPATCHED → EVT-0001
fire_5          | fire       | Engine House No. 1             | FREE
fire_6          | fire       | Engine House No. 1             | FREE

=== CITY REFERENCE ===
City Central Hospital (hospital) → Downtown Mall [2 min], Engine House No. 1 [3 min], Cedar Park Village [5 min]
Engine House No. 1 (fire_station) → City Central Hospital [3 min], Downtown Mall [3 min], Cedar Park Village [6 min], Central Crossroads [9 min], Willow Creek Homes [14 min]
Central Police Station (police_station) → Maple Heights [3 min], Riverside Market [6 min], Willow Creek Homes [7 min], Cedar Park Village [7 min]
Maple Heights (residential) → Central Police Station [3 min], Riverside Market [1 min], Willow Creek Homes [4 min], Cedar Park Village [9 min], Central Crossroads [7 min]
Willow Creek Homes (residential) → Central Police Station [7 min], Maple Heights [4 min], Riverside Market [3 min], Engine House No. 1 [14 min]
Cedar Park Village (residential) → Engine House No. 1 [6 min], City Central Hospital [5 min], Downtown Mall [6 min], Central Police Station [7 min], Maple Heights [9 min]
Downtown Mall (commercial) → City Central Hospital [2 min], Engine House No. 1 [3 min], Cedar Park Village [6 min], Riverside Market [8 min], Central Crossroads [6 min]
Riverside Market (commercial) → Central Police Station [6 min], Maple Heights [1 min], Willow Creek Homes [3 min], Central Crossroads [7 min], Downtown Mall [8 min]
Central Crossroads (road_junction) → Engine House No. 1 [9 min], Riverside Market [7 min], Downtown Mall [6 min], Maple Heights [7 min]

=== DISPATCHER NOTES ===
Step 1: CALL-0001 → fire fire_4
Step 2: CALL-0002 → police police_0

[Assistant] {"action_type": "dispatch", "severity_pred": 1, "is_duplicate": false, "duplicate_of_event_id": null, "vehicle_type": "police", "vehicle_id": "police_1", "reroute": null}


[System]
You are an expert 911 emergency dispatcher.
You must respond with exactly one JSON object and no extra text.

Action types:
1) dispatch
2) duplicate
3) hold

Rules:
- If the incoming call is a duplicate of an active event, choose duplicate.
- If not duplicate and a FREE unit of required type exists, choose dispatch with the nearest FREE unit.
- If no FREE unit of required type exists, choose hold with the soonest-to-free busy unit.
- Optional reroute is allowed only for high-severity calls when all units are busy and a lower-severity event is currently assigned.

Severity: 1 (minor) to 5 (catastrophic)
Vehicle mapping:
- fire -> fire
- medical or accident -> ambulance
- crime -> police

[User]
=== INCOMING CALL [CALL-0004] ===
My husband just collapsed and he won't wake up! He's breathing weird. We're at 159 Main Boulevard, please hurry!

=== ACTIVE EVENTS ===
EVT-0001 | fire       | Maple Heights                  | sev 3 | fire_4 ETA 12 min | opened step 1
EVT-0002 | crime      | Maple Heights                  | sev 2 | police_0 ETA 2 min | opened step 2
EVT-0003 | crime      | Maple Heights                  | sev 1 | police_1 ETA 2 min | opened step 3

=== UNIT STATUS ===
police_0        | police     | Maple Heights                  | ON_SCENE → EVT-0002
police_1        | police     | Central Police Station         | DISPATCHED → EVT-0003
ambulance_2     | ambulance  | City Central Hospital          | FREE
ambulance_3     | ambulance  | City Central Hospital          | FREE
fire_4          | fire       | Engine House No. 1             | DISPATCHED → EVT-0001
fire_5          | fire       | Engine House No. 1             | FREE
fire_6          | fire       | Engine House No. 1             | FREE

=== CITY REFERENCE ===
City Central Hospital (hospital) → Downtown Mall [2 min], Engine House No. 1 [3 min], Cedar Park Village [5 min]
Engine House No. 1 (fire_station) → City Central Hospital [3 min], Downtown Mall [3 min], Cedar Park Village [6 min], Central Crossroads [9 min], Willow Creek Homes [14 min]
Central Police Station (police_station) → Maple Heights [3 min], Riverside Market [6 min], Willow Creek Homes [7 min], Cedar Park Village [7 min]
Maple Heights (residential) → Central Police Station [3 min], Riverside Market [1 min], Willow Creek Homes [4 min], Cedar Park Village [9 min], Central Crossroads [7 min]
Willow Creek Homes (residential) → Central Police Station [7 min], Maple Heights [4 min], Riverside Market [3 min], Engine House No. 1 [14 min]
Cedar Park Village (residential) → Engine House No. 1 [6 min], City Central Hospital [5 min], Downtown Mall [6 min], Central Police Station [7 min], Maple Heights [9 min]
Downtown Mall (commercial) → City Central Hospital [2 min], Engine House No. 1 [3 min], Cedar Park Village [6 min], Riverside Market [8 min], Central Crossroads [6 min]
Riverside Market (commercial) → Central Police Station [6 min], Maple Heights [1 min], Willow Creek Homes [3 min], Central Crossroads [7 min], Downtown Mall [8 min]
Central Crossroads (road_junction) → Engine House No. 1 [9 min], Riverside Market [7 min], Downtown Mall [6 min], Maple Heights [7 min]

=== DISPATCHER NOTES ===
Step 1: CALL-0001 → fire fire_4
Step 2: CALL-0002 → police police_0
Step 3: CALL-0003 → police police_1

[Assistant] {"action_type": "dispatch", "severity_pred": 3, "is_duplicate": false, "duplicate_of_event_id": null, "vehicle_type": "ambulance", "vehicle_id": "ambulance_2", "reroute": null}


[System]
You are an expert 911 emergency dispatcher.
You must respond with exactly one JSON object and no extra text.

Action types:
1) dispatch
2) duplicate
3) hold

Rules:
- If the incoming call is a duplicate of an active event, choose duplicate.
- If not duplicate and a FREE unit of required type exists, choose dispatch with the nearest FREE unit.
- If no FREE unit of required type exists, choose hold with the soonest-to-free busy unit.
- Optional reroute is allowed only for high-severity calls when all units are busy and a lower-severity event is currently assigned.

Severity: 1 (minor) to 5 (catastrophic)
Vehicle mapping:
- fire -> fire
- medical or accident -> ambulance
- crime -> police

[User]
=== INCOMING CALL [CALL-0005] ===
Oh god, the whole kitchen is on fire at 596 Lake Street! My kids are upstairs — please send someone NOW!

=== ACTIVE EVENTS ===
EVT-0001 | fire       | Maple Heights                  | sev 3 | fire_4 ETA 12 min | opened step 1
EVT-0002 | crime      | Maple Heights                  | sev 2 | police_0 ETA 2 min | opened step 2
EVT-0003 | crime      | Maple Heights                  | sev 1 | police_1 ETA 2 min | opened step 3
EVT-0004 | medical    | Cedar Park Village             | sev 3 | ambulance_2 ETA 5 min | opened step 4

=== UNIT STATUS ===
police_0        | police     | Maple Heights                  | ON_SCENE → EVT-0002
police_1        | police     | Maple Heights                  | ON_SCENE → EVT-0003
ambulance_2     | ambulance  | City Central Hospital          | DISPATCHED → EVT-0004
ambulance_3     | ambulance  | City Central Hospital          | FREE
fire_4          | fire       | Engine House No. 1             | DISPATCHED → EVT-0001
fire_5          | fire       | Engine House No. 1             | FREE
fire_6          | fire       | Engine House No. 1             | FREE

=== CITY REFERENCE ===
City Central Hospital (hospital) → Downtown Mall [2 min], Engine House No. 1 [3 min], Cedar Park Village [5 min]
Engine House No. 1 (fire_station) → City Central Hospital [3 min], Downtown Mall [3 min], Cedar Park Village [6 min], Central Crossroads [9 min], Willow Creek Homes [14 min]
Central Police Station (police_station) → Maple Heights [3 min], Riverside Market [6 min], Willow Creek Homes [7 min], Cedar Park Village [7 min]
Maple Heights (residential) → Central Police Station [3 min], Riverside Market [1 min], Willow Creek Homes [4 min], Cedar Park Village [9 min], Central Crossroads [7 min]
Willow Creek Homes (residential) → Central Police Station [7 min], Maple Heights [4 min], Riverside Market [3 min], Engine House No. 1 [14 min]
Cedar Park Village (residential) → Engine House No. 1 [6 min], City Central Hospital [5 min], Downtown Mall [6 min], Central Police Station [7 min], Maple Heights [9 min]
Downtown Mall (commercial) → City Central Hospital [2 min], Engine House No. 1 [3 min], Cedar Park Village [6 min], Riverside Market [8 min], Central Crossroads [6 min]
Riverside Market (commercial) → Central Police Station [6 min], Maple Heights [1 min], Willow Creek Homes [3 min], Central Crossroads [7 min], Downtown Mall [8 min]
Central Crossroads (road_junction) → Engine House No. 1 [9 min], Riverside Market [7 min], Downtown Mall [6 min], Maple Heights [7 min]

=== DISPATCHER NOTES ===
Step 2: CALL-0002 → police police_0
Step 3: CALL-0003 → police police_1
Step 4: CALL-0004 → ambulance ambulance_2

[Assistant] {"action_type": "duplicate", "severity_pred": 3, "is_duplicate": true, "duplicate_of_event_id": "EVT-0001", "vehicle_type": null, "vehicle_id": null, "reroute": null}


[System]
You are an expert 911 emergency dispatcher.
You must respond with exactly one JSON object and no extra text.

Action types:
1) dispatch
2) duplicate
3) hold

Rules:
- If the incoming call is a duplicate of an active event, choose duplicate.
- If not duplicate and a FREE unit of required type exists, choose dispatch with the nearest FREE unit.
- If no FREE unit of required type exists, choose hold with the soonest-to-free busy unit.
- Optional reroute is allowed only for high-severity calls when all units are busy and a lower-severity event is currently assigned.

Severity: 1 (minor) to 5 (catastrophic)
Vehicle mapping:
- fire -> fire
- medical or accident -> ambulance
- crime -> police

[User]
=== INCOMING CALL [CALL-0006] ===
My husband just collapsed and he won't wake up! He's breathing weird. We're at 142 Third Drive, please hurry!

=== ACTIVE EVENTS ===
EVT-0001 | fire       | Maple Heights                  | sev 3 | fire_4 ETA 12 min | opened step 1
EVT-0003 | crime      | Maple Heights                  | sev 1 | police_1 ETA 2 min | opened step 3
EVT-0004 | medical    | Cedar Park Village             | sev 3 | ambulance_2 ETA 5 min | opened step 4

=== UNIT STATUS ===
police_0        | police     | Maple Heights                  | RETURNING → EVT-0002
police_1        | police     | Maple Heights                  | ON_SCENE → EVT-0003
ambulance_2     | ambulance  | City Central Hospital          | DISPATCHED → EVT-0004
ambulance_3     | ambulance  | City Central Hospital          | FREE
fire_4          | fire       | Engine House No. 1             | DISPATCHED → EVT-0001
fire_5          | fire       | Engine House No. 1             | FREE
fire_6          | fire       | Engine House No. 1             | FREE

=== CITY REFERENCE ===
City Central Hospital (hospital) → Downtown Mall [2 min], Engine House No. 1 [3 min], Cedar Park Village [5 min]
Engine House No. 1 (fire_station) → City Central Hospital [3 min], Downtown Mall [3 min], Cedar Park Village [6 min], Central Crossroads [9 min], Willow Creek Homes [14 min]
Central Police Station (police_station) → Maple Heights [3 min], Riverside Market [6 min], Willow Creek Homes [7 min], Cedar Park Village [7 min]
Maple Heights (residential) → Central Police Station [3 min], Riverside Market [1 min], Willow Creek Homes [4 min], Cedar Park Village [9 min], Central Crossroads [7 min]
Willow Creek Homes (residential) → Central Police Station [7 min], Maple Heights [4 min], Riverside Market [3 min], Engine House No. 1 [14 min]
Cedar Park Village (residential) → Engine House No. 1 [6 min], City Central Hospital [5 min], Downtown Mall [6 min], Central Police Station [7 min], Maple Heights [9 min]
Downtown Mall (commercial) → City Central Hospital [2 min], Engine House No. 1 [3 min], Cedar Park Village [6 min], Riverside Market [8 min], Central Crossroads [6 min]
Riverside Market (commercial) → Central Police Station [6 min], Maple Heights [1 min], Willow Creek Homes [3 min], Central Crossroads [7 min], Downtown Mall [8 min]
Central Crossroads (road_junction) → Engine House No. 1 [9 min], Riverside Market [7 min], Downtown Mall [6 min], Maple Heights [7 min]

=== DISPATCHER NOTES ===
Step 3: CALL-0003 → police police_1
Step 4: CALL-0004 → ambulance ambulance_2
Step 5: CALL-0005 → Duplicate of EVT-0001

[Assistant] {"action_type": "dispatch", "severity_pred": 5, "is_duplicate": false, "duplicate_of_event_id": null, "vehicle_type": "ambulance", "vehicle_id": "ambulance_3", "reroute": null}


[System]
You are an expert 911 emergency dispatcher.
You must respond with exactly one JSON object and no extra text.

Action types:
1) dispatch
2) duplicate
3) hold

Rules:
- If the incoming call is a duplicate of an active event, choose duplicate.
- If not duplicate and a FREE unit of required type exists, choose dispatch with the nearest FREE unit.
- If no FREE unit of required type exists, choose hold with the soonest-to-free busy unit.
- Optional reroute is allowed only for high-severity calls when all units are busy and a lower-severity event is currently assigned.

Severity: 1 (minor) to 5 (catastrophic)
Vehicle mapping:
- fire -> fire
- medical or accident -> ambulance
- crime -> police

[User]
=== INCOMING CALL [CALL-0007] ===
Yeah there's a small fire in a dumpster near Cedar Park Village on Main Boulevard. It's not spreading but it's pretty smoky.

=== ACTIVE EVENTS ===
EVT-0001 | fire       | Maple Heights                  | sev 3 | fire_4 ETA 12 min | opened step 1
EVT-0004 | medical    | Cedar Park Village             | sev 3 | ambulance_2 ETA 5 min | opened step 4
EVT-0005 | medical    | Downtown Mall                  | sev 5 | ambulance_3 ETA 1 min | opened step 6

=== UNIT STATUS ===
police_0        | police     | Maple Heights                  | RETURNING → EVT-0002
police_1        | police     | Maple Heights                  | RETURNING → EVT-0003
ambulance_2     | ambulance  | City Central Hospital          | DISPATCHED → EVT-0004
ambulance_3     | ambulance  | Downtown Mall                  | ON_SCENE → EVT-0005
fire_4          | fire       | Engine House No. 1             | DISPATCHED → EVT-0001
fire_5          | fire       | Engine House No. 1             | FREE
fire_6          | fire       | Engine House No. 1             | FREE

=== CITY REFERENCE ===
City Central Hospital (hospital) → Downtown Mall [2 min], Engine House No. 1 [3 min], Cedar Park Village [5 min]
Engine House No. 1 (fire_station) → City Central Hospital [3 min], Downtown Mall [3 min], Cedar Park Village [6 min], Central Crossroads [9 min], Willow Creek Homes [14 min]
Central Police Station (police_station) → Maple Heights [3 min], Riverside Market [6 min], Willow Creek Homes [7 min], Cedar Park Village [7 min]
Maple Heights (residential) → Central Police Station [3 min], Riverside Market [1 min], Willow Creek Homes [4 min], Cedar Park Village [9 min], Central Crossroads [7 min]
Willow Creek Homes (residential) → Central Police Station [7 min], Maple Heights [4 min], Riverside Market [3 min], Engine House No. 1 [14 min]
Cedar Park Village (residential) → Engine House No. 1 [6 min], City Central Hospital [5 min], Downtown Mall [6 min], Central Police Station [7 min], Maple Heights [9 min]
Downtown Mall (commercial) → City Central Hospital [2 min], Engine House No. 1 [3 min], Cedar Park Village [6 min], Riverside Market [8 min], Central Crossroads [6 min]
Riverside Market (commercial) → Central Police Station [6 min], Maple Heights [1 min], Willow Creek Homes [3 min], Central Crossroads [7 min], Downtown Mall [8 min]
Central Crossroads (road_junction) → Engine House No. 1 [9 min], Riverside Market [7 min], Downtown Mall [6 min], Maple Heights [7 min]

=== DISPATCHER NOTES ===
Step 4: CALL-0004 → ambulance ambulance_2
Step 5: CALL-0005 → Duplicate of EVT-0001
Step 6: CALL-0006 → ambulance ambulance_3

[Assistant] {"action_type": "dispatch", "severity_pred": 4, "is_duplicate": false, "duplicate_of_event_id": null, "vehicle_type": "fire", "vehicle_id": "fire_5", "reroute": null}


[System]
You are an expert 911 emergency dispatcher.
You must respond with exactly one JSON object and no extra text.

Action types:
1) dispatch
2) duplicate
3) hold

Rules:
- If the incoming call is a duplicate of an active event, choose duplicate.
- If not duplicate and a FREE unit of required type exists, choose dispatch with the nearest FREE unit.
- If no FREE unit of required type exists, choose hold with the soonest-to-free busy unit.
- Optional reroute is allowed only for high-severity calls when all units are busy and a lower-severity event is currently assigned.

Severity: 1 (minor) to 5 (catastrophic)
Vehicle mapping:
- fire -> fire
- medical or accident -> ambulance
- crime -> police

[User]
=== INCOMING CALL [CALL-0008] ===
Car accident at Second Lane and River Lane. One driver looks hurt, holding their neck. Other car's smoking.

=== ACTIVE EVENTS ===
EVT-0001 | fire       | Maple Heights                  | sev 3 | fire_4 ETA 12 min | opened step 1
EVT-0004 | medical    | Cedar Park Village             | sev 3 | ambulance_2 ETA 5 min | opened step 4
EVT-0005 | medical    | Downtown Mall                  | sev 5 | ambulance_3 ETA 1 min | opened step 6
EVT-0006 | fire       | Cedar Park Village             | sev 4 | fire_5 ETA 6 min | opened step 7

=== UNIT STATUS ===
police_0        | police     | Central Police Station         | FREE
police_1        | police     | Maple Heights                  | RETURNING → EVT-0003
ambulance_2     | ambulance  | City Central Hospital          | DISPATCHED → EVT-0004
ambulance_3     | ambulance  | Downtown Mall                  | ON_SCENE → EVT-0005
fire_4          | fire       | Engine House No. 1             | DISPATCHED → EVT-0001
fire_5          | fire       | Engine House No. 1             | DISPATCHED → EVT-0006
fire_6          | fire       | Engine House No. 1             | FREE

=== CITY REFERENCE ===
City Central Hospital (hospital) → Downtown Mall [2 min], Engine House No. 1 [3 min], Cedar Park Village [5 min]
Engine House No. 1 (fire_station) → City Central Hospital [3 min], Downtown Mall [3 min], Cedar Park Village [6 min], Central Crossroads [9 min], Willow Creek Homes [14 min]
Central Police Station (police_station) → Maple Heights [3 min], Riverside Market [6 min], Willow Creek Homes [7 min], Cedar Park Village [7 min]
Maple Heights (residential) → Central Police Station [3 min], Riverside Market [1 min], Willow Creek Homes [4 min], Cedar Park Village [9 min], Central Crossroads [7 min]
Willow Creek Homes (residential) → Central Police Station [7 min], Maple Heights [4 min], Riverside Market [3 min], Engine House No. 1 [14 min]
Cedar Park Village (residential) → Engine House No. 1 [6 min], City Central Hospital [5 min], Downtown Mall [6 min], Central Police Station [7 min], Maple Heights [9 min]
Downtown Mall (commercial) → City Central Hospital [2 min], Engine House No. 1 [3 min], Cedar Park Village [6 min], Riverside Market [8 min], Central Crossroads [6 min]
Riverside Market (commercial) → Central Police Station [6 min], Maple Heights [1 min], Willow Creek Homes [3 min], Central Crossroads [7 min], Downtown Mall [8 min]
Central Crossroads (road_junction) → Engine House No. 1 [9 min], Riverside Market [7 min], Downtown Mall [6 min], Maple Heights [7 min]

=== DISPATCHER NOTES ===
Step 5: CALL-0005 → Duplicate of EVT-0001
Step 6: CALL-0006 → ambulance ambulance_3
Step 7: CALL-0007 → fire fire_5

[Assistant] {"action_type": "dispatch", "severity_pred": 4, "is_duplicate": false, "duplicate_of_event_id": null, "vehicle_type": "ambulance", "vehicle_id": null, "reroute": {"vehicle_to_reroute": "ambulance_2", "from_event_id": "EVT-0004", "replacement_vehicle_id": null}}


[System]
You are an expert 911 emergency dispatcher.
You must respond with exactly one JSON object and no extra text.

Action types:
1) dispatch
2) duplicate
3) hold

Rules:
- If the incoming call is a duplicate of an active event, choose duplicate.
- If not duplicate and a FREE unit of required type exists, choose dispatch with the nearest FREE unit.
- If no FREE unit of required type exists, choose hold with the soonest-to-free busy unit.
- Optional reroute is allowed only for high-severity calls when all units are busy and a lower-severity event is currently assigned.

Severity: 1 (minor) to 5 (catastrophic)
Vehicle mapping:
- fire -> fire
- medical or accident -> ambulance
- crime -> police

[User]
=== INCOMING CALL [CALL-0009] ===
Active shooter at Cedar Park Village! Multiple shots fired, people running everywhere. Send everyone NOW!

=== ACTIVE EVENTS ===
EVT-0001 | fire       | Maple Heights                  | sev 3 | fire_4 ETA 12 min | opened step 1
EVT-0006 | fire       | Cedar Park Village             | sev 4 | fire_5 ETA 6 min | opened step 7
EVT-0007 | accident   | Riverside Market               | sev 4 | ambulance_2 ETA 9 min | opened step 8

=== UNIT STATUS ===
police_0        | police     | Central Police Station         | FREE
police_1        | police     | Central Police Station         | FREE
ambulance_2     | ambulance  | City Central Hospital          | DISPATCHED → EVT-0007
ambulance_3     | ambulance  | Downtown Mall                  | RETURNING → EVT-0005
fire_4          | fire       | Engine House No. 1             | DISPATCHED → EVT-0001
fire_5          | fire       | Engine House No. 1             | DISPATCHED → EVT-0006
fire_6          | fire       | Engine House No. 1             | FREE

=== CITY REFERENCE ===
City Central Hospital (hospital) → Downtown Mall [2 min], Engine House No. 1 [3 min], Cedar Park Village [5 min]
Engine House No. 1 (fire_station) → City Central Hospital [3 min], Downtown Mall [3 min], Cedar Park Village [6 min], Central Crossroads [9 min], Willow Creek Homes [14 min]
Central Police Station (police_station) → Maple Heights [3 min], Riverside Market [6 min], Willow Creek Homes [7 min], Cedar Park Village [7 min]
Maple Heights (residential) → Central Police Station [3 min], Riverside Market [1 min], Willow Creek Homes [4 min], Cedar Park Village [9 min], Central Crossroads [7 min]
Willow Creek Homes (residential) → Central Police Station [7 min], Maple Heights [4 min], Riverside Market [3 min], Engine House No. 1 [14 min]
Cedar Park Village (residential) → Engine House No. 1 [6 min], City Central Hospital [5 min], Downtown Mall [6 min], Central Police Station [7 min], Maple Heights [9 min]
Downtown Mall (commercial) → City Central Hospital [2 min], Engine House No. 1 [3 min], Cedar Park Village [6 min], Riverside Market [8 min], Central Crossroads [6 min]
Riverside Market (commercial) → Central Police Station [6 min], Maple Heights [1 min], Willow Creek Homes [3 min], Central Crossroads [7 min], Downtown Mall [8 min]
Central Crossroads (road_junction) → Engine House No. 1 [9 min], Riverside Market [7 min], Downtown Mall [6 min], Maple Heights [7 min]

=== DISPATCHER NOTES ===
Step 6: CALL-0006 → ambulance ambulance_3
Step 7: CALL-0007 → fire fire_5
Step 8: CALL-0008 → ambulance ?

[Assistant] {"action_type": "dispatch", "severity_pred": 2, "is_duplicate": false, "duplicate_of_event_id": null, "vehicle_type": "police", "vehicle_id": "police_0", "reroute": null}


[System]
You are an expert 911 emergency dispatcher.
You must respond with exactly one JSON object and no extra text.

Action types:
1) dispatch
2) duplicate
3) hold

Rules:
- If the incoming call is a duplicate of an active event, choose duplicate.
- If not duplicate and a FREE unit of required type exists, choose dispatch with the nearest FREE unit.
- If no FREE unit of required type exists, choose hold with the soonest-to-free busy unit.
- Optional reroute is allowed only for high-severity calls when all units are busy and a lower-severity event is currently assigned.

Severity: 1 (minor) to 5 (catastrophic)
Vehicle mapping:
- fire -> fire
- medical or accident -> ambulance
- crime -> police

[User]
=== INCOMING CALL [CALL-0010] ===
Hello, my neighbor fell and hurt her ankle at 506 River Lane. She's conscious and talking but can't walk.

=== ACTIVE EVENTS ===
EVT-0001 | fire       | Maple Heights                  | sev 3 | fire_4 ETA 12 min | opened step 1
EVT-0006 | fire       | Cedar Park Village             | sev 4 | fire_5 ETA 6 min | opened step 7
EVT-0007 | accident   | Riverside Market               | sev 4 | ambulance_2 ETA 9 min | opened step 8
EVT-0008 | crime      | Cedar Park Village             | sev 2 | police_0 ETA 7 min | opened step 9

=== UNIT STATUS ===
police_0        | police     | Central Police Station         | DISPATCHED → EVT-0008
police_1        | police     | Central Police Station         | FREE
ambulance_2     | ambulance  | City Central Hospital          | DISPATCHED → EVT-0007
ambulance_3     | ambulance  | Downtown Mall                  | RETURNING → EVT-0005
fire_4          | fire       | Engine House No. 1             | DISPATCHED → EVT-0001
fire_5          | fire       | Engine House No. 1             | DISPATCHED → EVT-0006
fire_6          | fire       | Engine House No. 1             | FREE

=== CITY REFERENCE ===
City Central Hospital (hospital) → Downtown Mall [2 min], Engine House No. 1 [3 min], Cedar Park Village [5 min]
Engine House No. 1 (fire_station) → City Central Hospital [3 min], Downtown Mall [3 min], Cedar Park Village [6 min], Central Crossroads [9 min], Willow Creek Homes [14 min]
Central Police Station (police_station) → Maple Heights [3 min], Riverside Market [6 min], Willow Creek Homes [7 min], Cedar Park Village [7 min]
Maple Heights (residential) → Central Police Station [3 min], Riverside Market [1 min], Willow Creek Homes [4 min], Cedar Park Village [9 min], Central Crossroads [7 min]
Willow Creek Homes (residential) → Central Police Station [7 min], Maple Heights [4 min], Riverside Market [3 min], Engine House No. 1 [14 min]
Cedar Park Village (residential) → Engine House No. 1 [6 min], City Central Hospital [5 min], Downtown Mall [6 min], Central Police Station [7 min], Maple Heights [9 min]
Downtown Mall (commercial) → City Central Hospital [2 min], Engine House No. 1 [3 min], Cedar Park Village [6 min], Riverside Market [8 min], Central Crossroads [6 min]
Riverside Market (commercial) → Central Police Station [6 min], Maple Heights [1 min], Willow Creek Homes [3 min], Central Crossroads [7 min], Downtown Mall [8 min]
Central Crossroads (road_junction) → Engine House No. 1 [9 min], Riverside Market [7 min], Downtown Mall [6 min], Maple Heights [7 min]

=== DISPATCHER NOTES ===
Step 7: CALL-0007 → fire fire_5
Step 8: CALL-0008 → ambulance ?
Step 9: CALL-0009 → police police_0

[Assistant] {"action_type": "hold", "severity_pred": 1, "is_duplicate": false, "duplicate_of_event_id": null, "vehicle_type": "ambulance", "vehicle_id": "ambulance_3", "reroute": null}


[System]
You are an expert 911 emergency dispatcher.
You must respond with exactly one JSON object and no extra text.

Action types:
1) dispatch
2) duplicate
3) hold

Rules:
- If the incoming call is a duplicate of an active event, choose duplicate.
- If not duplicate and a FREE unit of required type exists, choose dispatch with the nearest FREE unit.
- If no FREE unit of required type exists, choose hold with the soonest-to-free busy unit.
- Optional reroute is allowed only for high-severity calls when all units are busy and a lower-severity event is currently assigned.

Severity: 1 (minor) to 5 (catastrophic)
Vehicle mapping:
- fire -> fire
- medical or accident -> ambulance
- crime -> police

[User]
=== INCOMING CALL [CALL-0011] ===
Fender bender on Second Lane near Riverside Market. No injuries but the cars are blocking the road.

=== ACTIVE EVENTS ===
EVT-0001 | fire       | Maple Heights                  | sev 3 | fire_4 ETA 12 min | opened step 1
EVT-0006 | fire       | Cedar Park Village             | sev 4 | fire_5 ETA 6 min | opened step 7
EVT-0007 | accident   | Riverside Market               | sev 4 | ambulance_2 ETA 9 min | opened step 8
EVT-0008 | crime      | Cedar Park Village             | sev 2 | police_0 ETA 7 min | opened step 9
EVT-0009 | medical    | Willow Creek Homes             | sev 1 | ambulance_3 ETA 12 min | opened step 10

=== UNIT STATUS ===
police_0        | police     | Central Police Station         | DISPATCHED → EVT-0008
police_1        | police     | Central Police Station         | FREE
ambulance_2     | ambulance  | City Central Hospital          | DISPATCHED → EVT-0007
ambulance_3     | ambulance  | City Central Hospital          | DISPATCHED → EVT-0009
fire_4          | fire       | Engine House No. 1             | DISPATCHED → EVT-0001
fire_5          | fire       | Engine House No. 1             | DISPATCHED → EVT-0006
fire_6          | fire       | Engine House No. 1             | FREE

=== CITY REFERENCE ===
City Central Hospital (hospital) → Downtown Mall [2 min], Engine House No. 1 [3 min], Cedar Park Village [5 min]
Engine House No. 1 (fire_station) → City Central Hospital [3 min], Downtown Mall [3 min], Cedar Park Village [6 min], Central Crossroads [9 min], Willow Creek Homes [14 min]
Central Police Station (police_station) → Maple Heights [3 min], Riverside Market [6 min], Willow Creek Homes [7 min], Cedar Park Village [7 min]
Maple Heights (residential) → Central Police Station [3 min], Riverside Market [1 min], Willow Creek Homes [4 min], Cedar Park Village [9 min], Central Crossroads [7 min]
Willow Creek Homes (residential) → Central Police Station [7 min], Maple Heights [4 min], Riverside Market [3 min], Engine House No. 1 [14 min]
Cedar Park Village (residential) → Engine House No. 1 [6 min], City Central Hospital [5 min], Downtown Mall [6 min], Central Police Station [7 min], Maple Heights [9 min]
Downtown Mall (commercial) → City Central Hospital [2 min], Engine House No. 1 [3 min], Cedar Park Village [6 min], Riverside Market [8 min], Central Crossroads [6 min]
Riverside Market (commercial) → Central Police Station [6 min], Maple Heights [1 min], Willow Creek Homes [3 min], Central Crossroads [7 min], Downtown Mall [8 min]
Central Crossroads (road_junction) → Engine House No. 1 [9 min], Riverside Market [7 min], Downtown Mall [6 min], Maple Heights [7 min]

=== DISPATCHER NOTES ===
Step 8: CALL-0008 → ambulance ?
Step 9: CALL-0009 → police police_0
Step 10: CALL-0010 → HOLD (ambulance, waiting for ambulance_3)

[Assistant] {"action_type": "duplicate", "severity_pred": 4, "is_duplicate": true, "duplicate_of_event_id": "EVT-0007", "vehicle_type": null, "vehicle_id": null, "reroute": null}


[System]
You are an expert 911 emergency dispatcher.
You must respond with exactly one JSON object and no extra text.

Action types:
1) dispatch
2) duplicate
3) hold

Rules:
- If the incoming call is a duplicate of an active event, choose duplicate.
- If not duplicate and a FREE unit of required type exists, choose dispatch with the nearest FREE unit.
- If no FREE unit of required type exists, choose hold with the soonest-to-free busy unit.
- Optional reroute is allowed only for high-severity calls when all units are busy and a lower-severity event is currently assigned.

Severity: 1 (minor) to 5 (catastrophic)
Vehicle mapping:
- fire -> fire
- medical or accident -> ambulance
- crime -> police

[User]
=== INCOMING CALL [CALL-0012] ===
There's a massive fire — the whole block near Cedar Park Village is burning. Multiple buildings involved, I can see people trapped. Send everything you've got!

=== ACTIVE EVENTS ===
EVT-0001 | fire       | Maple Heights                  | sev 3 | fire_4 ETA 12 min | opened step 1
EVT-0006 | fire       | Cedar Park Village             | sev 4 | fire_5 ETA 6 min | opened step 7
EVT-0007 | accident   | Riverside Market               | sev 4 | ambulance_2 ETA 9 min | opened step 8
EVT-0008 | crime      | Cedar Park Village             | sev 2 | police_0 ETA 7 min | opened step 9
EVT-0009 | medical    | Willow Creek Homes             | sev 1 | ambulance_3 ETA 12 min | opened step 10

=== UNIT STATUS ===
police_0        | police     | Central Police Station         | DISPATCHED → EVT-0008
police_1        | police     | Central Police Station         | FREE
ambulance_2     | ambulance  | City Central Hospital          | DISPATCHED → EVT-0007
ambulance_3     | ambulance  | City Central Hospital          | DISPATCHED → EVT-0009
fire_4          | fire       | Engine House No. 1             | DISPATCHED → EVT-0001
fire_5          | fire       | Engine House No. 1             | DISPATCHED → EVT-0006
fire_6          | fire       | Engine House No. 1             | FREE

=== CITY REFERENCE ===
City Central Hospital (hospital) → Downtown Mall [2 min], Engine House No. 1 [3 min], Cedar Park Village [5 min]
Engine House No. 1 (fire_station) → City Central Hospital [3 min], Downtown Mall [3 min], Cedar Park Village [6 min], Central Crossroads [9 min], Willow Creek Homes [14 min]
Central Police Station (police_station) → Maple Heights [3 min], Riverside Market [6 min], Willow Creek Homes [7 min], Cedar Park Village [7 min]
Maple Heights (residential) → Central Police Station [3 min], Riverside Market [1 min], Willow Creek Homes [4 min], Cedar Park Village [9 min], Central Crossroads [7 min]
Willow Creek Homes (residential) → Central Police Station [7 min], Maple Heights [4 min], Riverside Market [3 min], Engine House No. 1 [14 min]
Cedar Park Village (residential) → Engine House No. 1 [6 min], City Central Hospital [5 min], Downtown Mall [6 min], Central Police Station [7 min], Maple Heights [9 min]
Downtown Mall (commercial) → City Central Hospital [2 min], Engine House No. 1 [3 min], Cedar Park Village [6 min], Riverside Market [8 min], Central Crossroads [6 min]
Riverside Market (commercial) → Central Police Station [6 min], Maple Heights [1 min], Willow Creek Homes [3 min], Central Crossroads [7 min], Downtown Mall [8 min]
Central Crossroads (road_junction) → Engine House No. 1 [9 min], Riverside Market [7 min], Downtown Mall [6 min], Maple Heights [7 min]

=== DISPATCHER NOTES ===
Step 9: CALL-0009 → police police_0
Step 10: CALL-0010 → HOLD (ambulance, waiting for ambulance_3)
Step 11: CALL-0011 → Duplicate of EVT-0007

[Assistant] {"action_type": "duplicate", "severity_pred": 4, "is_duplicate": true, "duplicate_of_event_id": "EVT-0006", "vehicle_type": null, "vehicle_id": null, "reroute": null}


[System]
You are an expert 911 emergency dispatcher.
You must respond with exactly one JSON object and no extra text.

Action types:
1) dispatch
2) duplicate
3) hold

Rules:
- If the incoming call is a duplicate of an active event, choose duplicate.
- If not duplicate and a FREE unit of required type exists, choose dispatch with the nearest FREE unit.
- If no FREE unit of required type exists, choose hold with the soonest-to-free busy unit.
- Optional reroute is allowed only for high-severity calls when all units are busy and a lower-severity event is currently assigned.

Severity: 1 (minor) to 5 (catastrophic)
Vehicle mapping:
- fire -> fire
- medical or accident -> ambulance
- crime -> police

[User]
=== INCOMING CALL [CALL-0013] ===
Hello, my neighbor fell and hurt her ankle at 972 Second Lane. She's conscious and talking but can't walk.

=== ACTIVE EVENTS ===
EVT-0001 | fire       | Maple Heights                  | sev 3 | fire_4 ETA 12 min | opened step 1
EVT-0006 | fire       | Cedar Park Village             | sev 4 | fire_5 ETA 6 min | opened step 7
EVT-0007 | accident   | Riverside Market               | sev 4 | ambulance_2 ETA 9 min | opened step 8
EVT-0008 | crime      | Cedar Park Village             | sev 2 | police_0 ETA 7 min | opened step 9
EVT-0009 | medical    | Willow Creek Homes             | sev 1 | ambulance_3 ETA 12 min | opened step 10

=== UNIT STATUS ===
police_0        | police     | Central Police Station         | DISPATCHED → EVT-0008
police_1        | police     | Central Police Station         | FREE
ambulance_2     | ambulance  | City Central Hospital          | DISPATCHED → EVT-0007
ambulance_3     | ambulance  | City Central Hospital          | DISPATCHED → EVT-0009
fire_4          | fire       | Maple Heights                  | ON_SCENE → EVT-0001
fire_5          | fire       | Cedar Park Village             | ON_SCENE → EVT-0006
fire_6          | fire       | Engine House No. 1             | FREE

=== CITY REFERENCE ===
City Central Hospital (hospital) → Downtown Mall [2 min], Engine House No. 1 [3 min], Cedar Park Village [5 min]
Engine House No. 1 (fire_station) → City Central Hospital [3 min], Downtown Mall [3 min], Cedar Park Village [6 min], Central Crossroads [9 min], Willow Creek Homes [14 min]
Central Police Station (police_station) → Maple Heights [3 min], Riverside Market [6 min], Willow Creek Homes [7 min], Cedar Park Village [7 min]
Maple Heights (residential) → Central Police Station [3 min], Riverside Market [1 min], Willow Creek Homes [4 min], Cedar Park Village [9 min], Central Crossroads [7 min]
Willow Creek Homes (residential) → Central Police Station [7 min], Maple Heights [4 min], Riverside Market [3 min], Engine House No. 1 [14 min]
Cedar Park Village (residential) → Engine House No. 1 [6 min], City Central Hospital [5 min], Downtown Mall [6 min], Central Police Station [7 min], Maple Heights [9 min]
Downtown Mall (commercial) → City Central Hospital [2 min], Engine House No. 1 [3 min], Cedar Park Village [6 min], Riverside Market [8 min], Central Crossroads [6 min]
Riverside Market (commercial) → Central Police Station [6 min], Maple Heights [1 min], Willow Creek Homes [3 min], Central Crossroads [7 min], Downtown Mall [8 min]
Central Crossroads (road_junction) → Engine House No. 1 [9 min], Riverside Market [7 min], Downtown Mall [6 min], Maple Heights [7 min]

=== DISPATCHER NOTES ===
Step 10: CALL-0010 → HOLD (ambulance, waiting for ambulance_3)
Step 11: CALL-0011 → Duplicate of EVT-0007
Step 12: CALL-0012 → Duplicate of EVT-0006

[Assistant] {"action_type": "hold", "severity_pred": 2, "is_duplicate": false, "duplicate_of_event_id": null, "vehicle_type": "ambulance", "vehicle_id": "ambulance_2", "reroute": null}


[System]
You are an expert 911 emergency dispatcher.
You must respond with exactly one JSON object and no extra text.

Action types:
1) dispatch
2) duplicate
3) hold

Rules:
- If the incoming call is a duplicate of an active event, choose duplicate.
- If not duplicate and a FREE unit of required type exists, choose dispatch with the nearest FREE unit.
- If no FREE unit of required type exists, choose hold with the soonest-to-free busy unit.
- Optional reroute is allowed only for high-severity calls when all units are busy and a lower-severity event is currently assigned.

Severity: 1 (minor) to 5 (catastrophic)
Vehicle mapping:
- fire -> fire
- medical or accident -> ambulance
- crime -> police

[User]
=== INCOMING CALL [CALL-0014] ===
Yeah there's a small fire in a dumpster near Maple Heights on Lake Street. It's not spreading but it's pretty smoky.

=== ACTIVE EVENTS ===
EVT-0001 | fire       | Maple Heights                  | sev 3 | fire_4 ETA 12 min | opened step 1
EVT-0006 | fire       | Cedar Park Village             | sev 4 | fire_5 ETA 6 min | opened step 7
EVT-0007 | accident   | Riverside Market               | sev 4 | ambulance_2 ETA 9 min | opened step 8
EVT-0008 | crime      | Cedar Park Village             | sev 2 | police_0 ETA 7 min | opened step 9
EVT-0009 | medical    | Willow Creek Homes             | sev 1 | ambulance_3 ETA 12 min | opened step 10
EVT-0010 | medical    | Riverside Market               | sev 2 | HELD → ambulance_2 | opened step 13

=== UNIT STATUS ===
police_0        | police     | Central Police Station         | DISPATCHED → EVT-0008
police_1        | police     | Central Police Station         | FREE
ambulance_2     | ambulance  | City Central Hospital          | DISPATCHED → EVT-0007
ambulance_3     | ambulance  | City Central Hospital          | DISPATCHED → EVT-0009
fire_4          | fire       | Maple Heights                  | ON_SCENE → EVT-0001
fire_5          | fire       | Cedar Park Village             | ON_SCENE → EVT-0006
fire_6          | fire       | Engine House No. 1             | FREE

=== CITY REFERENCE ===
City Central Hospital (hospital) → Downtown Mall [2 min], Engine House No. 1 [3 min], Cedar Park Village [5 min]
Engine House No. 1 (fire_station) → City Central Hospital [3 min], Downtown Mall [3 min], Cedar Park Village [6 min], Central Crossroads [9 min], Willow Creek Homes [14 min]
Central Police Station (police_station) → Maple Heights [3 min], Riverside Market [6 min], Willow Creek Homes [7 min], Cedar Park Village [7 min]
Maple Heights (residential) → Central Police Station [3 min], Riverside Market [1 min], Willow Creek Homes [4 min], Cedar Park Village [9 min], Central Crossroads [7 min]
Willow Creek Homes (residential) → Central Police Station [7 min], Maple Heights [4 min], Riverside Market [3 min], Engine House No. 1 [14 min]
Cedar Park Village (residential) → Engine House No. 1 [6 min], City Central Hospital [5 min], Downtown Mall [6 min], Central Police Station [7 min], Maple Heights [9 min]
Downtown Mall (commercial) → City Central Hospital [2 min], Engine House No. 1 [3 min], Cedar Park Village [6 min], Riverside Market [8 min], Central Crossroads [6 min]
Riverside Market (commercial) → Central Police Station [6 min], Maple Heights [1 min], Willow Creek Homes [3 min], Central Crossroads [7 min], Downtown Mall [8 min]
Central Crossroads (road_junction) → Engine House No. 1 [9 min], Riverside Market [7 min], Downtown Mall [6 min], Maple Heights [7 min]

=== DISPATCHER NOTES ===
Step 11: CALL-0011 → Duplicate of EVT-0007
Step 12: CALL-0012 → Duplicate of EVT-0006
Step 13: CALL-0013 → HOLD (ambulance, waiting for ambulance_2)

[Assistant] {"action_type": "dispatch", "severity_pred": 4, "is_duplicate": false, "duplicate_of_event_id": null, "vehicle_type": "fire", "vehicle_id": "fire_6", "reroute": null}


[System]
You are an expert 911 emergency dispatcher.
You must respond with exactly one JSON object and no extra text.

Action types:
1) dispatch
2) duplicate
3) hold

Rules:
- If the incoming call is a duplicate of an active event, choose duplicate.
- If not duplicate and a FREE unit of required type exists, choose dispatch with the nearest FREE unit.
- If no FREE unit of required type exists, choose hold with the soonest-to-free busy unit.
- Optional reroute is allowed only for high-severity calls when all units are busy and a lower-severity event is currently assigned.

Severity: 1 (minor) to 5 (catastrophic)
Vehicle mapping:
- fire -> fire
- medical or accident -> ambulance
- crime -> police

[User]
=== INCOMING CALL [CALL-0015] ===
Building's on fire on River Lane near Willow Creek Homes! People are yelling from the windows, please hurry!

=== ACTIVE EVENTS ===
EVT-0007 | accident   | Riverside Market               | sev 4 | ambulance_2 ETA 9 min | opened step 8
EVT-0008 | crime      | Cedar Park Village             | sev 2 | police_0 ETA 7 min | opened step 9
EVT-0009 | medical    | Willow Creek Homes             | sev 1 | ambulance_3 ETA 12 min | opened step 10
EVT-0010 | medical    | Riverside Market               | sev 2 | HELD → ambulance_2 | opened step 13
EVT-0011 | fire       | Maple Heights                  | sev 4 | fire_6 ETA 12 min | opened step 14

=== UNIT STATUS ===
police_0        | police     | Central Police Station         | DISPATCHED → EVT-0008
police_1        | police     | Central Police Station         | FREE
ambulance_2     | ambulance  | City Central Hospital          | DISPATCHED → EVT-0007
ambulance_3     | ambulance  | City Central Hospital          | DISPATCHED → EVT-0009
fire_4          | fire       | Maple Heights                  | RETURNING → EVT-0001
fire_5          | fire       | Cedar Park Village             | RETURNING → EVT-0006
fire_6          | fire       | Engine House No. 1             | DISPATCHED → EVT-0011

=== CITY REFERENCE ===
City Central Hospital (hospital) → Downtown Mall [2 min], Engine House No. 1 [3 min], Cedar Park Village [5 min]
Engine House No. 1 (fire_station) → City Central Hospital [3 min], Downtown Mall [3 min], Cedar Park Village [6 min], Central Crossroads [9 min], Willow Creek Homes [14 min]
Central Police Station (police_station) → Maple Heights [3 min], Riverside Market [6 min], Willow Creek Homes [7 min], Cedar Park Village [7 min]
Maple Heights (residential) → Central Police Station [3 min], Riverside Market [1 min], Willow Creek Homes [4 min], Cedar Park Village [9 min], Central Crossroads [7 min]
Willow Creek Homes (residential) → Central Police Station [7 min], Maple Heights [4 min], Riverside Market [3 min], Engine House No. 1 [14 min]
Cedar Park Village (residential) → Engine House No. 1 [6 min], City Central Hospital [5 min], Downtown Mall [6 min], Central Police Station [7 min], Maple Heights [9 min]
Downtown Mall (commercial) → City Central Hospital [2 min], Engine House No. 1 [3 min], Cedar Park Village [6 min], Riverside Market [8 min], Central Crossroads [6 min]
Riverside Market (commercial) → Central Police Station [6 min], Maple Heights [1 min], Willow Creek Homes [3 min], Central Crossroads [7 min], Downtown Mall [8 min]
Central Crossroads (road_junction) → Engine House No. 1 [9 min], Riverside Market [7 min], Downtown Mall [6 min], Maple Heights [7 min]

=== DISPATCHER NOTES ===
Step 12: CALL-0012 → Duplicate of EVT-0006
Step 13: CALL-0013 → HOLD (ambulance, waiting for ambulance_2)
Step 14: CALL-0014 → fire fire_6

[Assistant] {"action_type": "hold", "severity_pred": 4, "is_duplicate": false, "duplicate_of_event_id": null, "vehicle_type": "fire", "vehicle_id": "fire_4", "reroute": null}


[System]
You are an expert 911 emergency dispatcher.
You must respond with exactly one JSON object and no extra text.

Action types:
1) dispatch
2) duplicate
3) hold

Rules:
- If the incoming call is a duplicate of an active event, choose duplicate.
- If not duplicate and a FREE unit of required type exists, choose dispatch with the nearest FREE unit.
- If no FREE unit of required type exists, choose hold with the soonest-to-free busy unit.
- Optional reroute is allowed only for high-severity calls when all units are busy and a lower-severity event is currently assigned.

Severity: 1 (minor) to 5 (catastrophic)
Vehicle mapping:
- fire -> fire
- medical or accident -> ambulance
- crime -> police

[User]
=== INCOMING CALL [CALL-0016] ===
My husband just collapsed and he won't wake up! He's breathing weird. We're at 666 River Lane, please hurry!

=== ACTIVE EVENTS ===
EVT-0007 | accident   | Riverside Market               | sev 4 | ambulance_2 ETA 9 min | opened step 8
EVT-0008 | crime      | Cedar Park Village             | sev 2 | police_0 ETA 7 min | opened step 9
EVT-0009 | medical    | Willow Creek Homes             | sev 1 | ambulance_3 ETA 12 min | opened step 10
EVT-0010 | medical    | Riverside Market               | sev 2 | HELD → ambulance_2 | opened step 13
EVT-0011 | fire       | Maple Heights                  | sev 4 | fire_6 ETA 12 min | opened step 14
EVT-0012 | fire       | Willow Creek Homes             | sev 4 | HELD → fire_4 | opened step 15

=== UNIT STATUS ===
police_0        | police     | Cedar Park Village             | ON_SCENE → EVT-0008
police_1        | police     | Central Police Station         | FREE
ambulance_2     | ambulance  | City Central Hospital          | DISPATCHED → EVT-0007
ambulance_3     | ambulance  | City Central Hospital          | DISPATCHED → EVT-0009
fire_4          | fire       | Maple Heights                  | RETURNING → EVT-0001
fire_5          | fire       | Cedar Park Village             | RETURNING → EVT-0006
fire_6          | fire       | Engine House No. 1             | DISPATCHED → EVT-0011

=== CITY REFERENCE ===
City Central Hospital (hospital) → Downtown Mall [2 min], Engine House No. 1 [3 min], Cedar Park Village [5 min]
Engine House No. 1 (fire_station) → City Central Hospital [3 min], Downtown Mall [3 min], Cedar Park Village [6 min], Central Crossroads [9 min], Willow Creek Homes [14 min]
Central Police Station (police_station) → Maple Heights [3 min], Riverside Market [6 min], Willow Creek Homes [7 min], Cedar Park Village [7 min]
Maple Heights (residential) → Central Police Station [3 min], Riverside Market [1 min], Willow Creek Homes [4 min], Cedar Park Village [9 min], Central Crossroads [7 min]
Willow Creek Homes (residential) → Central Police Station [7 min], Maple Heights [4 min], Riverside Market [3 min], Engine House No. 1 [14 min]
Cedar Park Village (residential) → Engine House No. 1 [6 min], City Central Hospital [5 min], Downtown Mall [6 min], Central Police Station [7 min], Maple Heights [9 min]
Downtown Mall (commercial) → City Central Hospital [2 min], Engine House No. 1 [3 min], Cedar Park Village [6 min], Riverside Market [8 min], Central Crossroads [6 min]
Riverside Market (commercial) → Central Police Station [6 min], Maple Heights [1 min], Willow Creek Homes [3 min], Central Crossroads [7 min], Downtown Mall [8 min]
Central Crossroads (road_junction) → Engine House No. 1 [9 min], Riverside Market [7 min], Downtown Mall [6 min], Maple Heights [7 min]

=== DISPATCHER NOTES ===
Step 13: CALL-0013 → HOLD (ambulance, waiting for ambulance_2)
Step 14: CALL-0014 → fire fire_6
Step 15: CALL-0015 → HOLD (fire, waiting for fire_4)

[Assistant] {"action_type": "dispatch", "severity_pred": 4, "is_duplicate": false, "duplicate_of_event_id": null, "vehicle_type": "ambulance", "vehicle_id": null, "reroute": {"vehicle_to_reroute": "ambulance_3", "from_event_id": "EVT-0009", "replacement_vehicle_id": null}}


[System]
You are an expert 911 emergency dispatcher.
You must respond with exactly one JSON object and no extra text.

Action types:
1) dispatch
2) duplicate
3) hold

Rules:
- If the incoming call is a duplicate of an active event, choose duplicate.
- If not duplicate and a FREE unit of required type exists, choose dispatch with the nearest FREE unit.
- If no FREE unit of required type exists, choose hold with the soonest-to-free busy unit.
- Optional reroute is allowed only for high-severity calls when all units are busy and a lower-severity event is currently assigned.

Severity: 1 (minor) to 5 (catastrophic)
Vehicle mapping:
- fire -> fire
- medical or accident -> ambulance
- crime -> police

[User]
=== INCOMING CALL [CALL-0017] ===
Fender bender on Second Lane near Riverside Market. No injuries but the cars are blocking the road.

=== ACTIVE EVENTS ===
EVT-0007 | accident   | Riverside Market               | sev 4 | ambulance_2 ETA 9 min | opened step 8
EVT-0008 | crime      | Cedar Park Village             | sev 2 | police_0 ETA 7 min | opened step 9
EVT-0009 | medical    | Willow Creek Homes             | sev 1 | HELD → ambulance_3 | opened step 10
EVT-0010 | medical    | Riverside Market               | sev 2 | HELD → ambulance_2 | opened step 13
EVT-0011 | fire       | Maple Heights                  | sev 4 | fire_6 ETA 12 min | opened step 14
EVT-0012 | fire       | Willow Creek Homes             | sev 4 | fire_4 ETA 14 min | opened step 15
EVT-0013 | medical    | Willow Creek Homes             | sev 4 | ambulance_3 ETA 12 min | opened step 16

=== UNIT STATUS ===
police_0        | police     | Cedar Park Village             | ON_SCENE → EVT-0008
police_1        | police     | Central Police Station         | FREE
ambulance_2     | ambulance  | Riverside Market               | ON_SCENE → EVT-0007
ambulance_3     | ambulance  | City Central Hospital          | DISPATCHED → EVT-0013
fire_4          | fire       | Engine House No. 1             | DISPATCHED → EVT-0012
fire_5          | fire       | Engine House No. 1             | FREE
fire_6          | fire       | Engine House No. 1             | DISPATCHED → EVT-0011

=== CITY REFERENCE ===
City Central Hospital (hospital) → Downtown Mall [2 min], Engine House No. 1 [3 min], Cedar Park Village [5 min]
Engine House No. 1 (fire_station) → City Central Hospital [3 min], Downtown Mall [3 min], Cedar Park Village [6 min], Central Crossroads [9 min], Willow Creek Homes [14 min]
Central Police Station (police_station) → Maple Heights [3 min], Riverside Market [6 min], Willow Creek Homes [7 min], Cedar Park Village [7 min]
Maple Heights (residential) → Central Police Station [3 min], Riverside Market [1 min], Willow Creek Homes [4 min], Cedar Park Village [9 min], Central Crossroads [7 min]
Willow Creek Homes (residential) → Central Police Station [7 min], Maple Heights [4 min], Riverside Market [3 min], Engine House No. 1 [14 min]
Cedar Park Village (residential) → Engine House No. 1 [6 min], City Central Hospital [5 min], Downtown Mall [6 min], Central Police Station [7 min], Maple Heights [9 min]
Downtown Mall (commercial) → City Central Hospital [2 min], Engine House No. 1 [3 min], Cedar Park Village [6 min], Riverside Market [8 min], Central Crossroads [6 min]
Riverside Market (commercial) → Central Police Station [6 min], Maple Heights [1 min], Willow Creek Homes [3 min], Central Crossroads [7 min], Downtown Mall [8 min]
Central Crossroads (road_junction) → Engine House No. 1 [9 min], Riverside Market [7 min], Downtown Mall [6 min], Maple Heights [7 min]

=== DISPATCHER NOTES ===
Step 14: CALL-0014 → fire fire_6
Step 15: CALL-0015 → HOLD (fire, waiting for fire_4)
Step 16: CALL-0016 → ambulance ?

[Assistant] {"action_type": "duplicate", "severity_pred": 4, "is_duplicate": true, "duplicate_of_event_id": "EVT-0007", "vehicle_type": null, "vehicle_id": null, "reroute": null}


[System]
You are an expert 911 emergency dispatcher.
You must respond with exactly one JSON object and no extra text.

Action types:
1) dispatch
2) duplicate
3) hold

Rules:
- If the incoming call is a duplicate of an active event, choose duplicate.
- If not duplicate and a FREE unit of required type exists, choose dispatch with the nearest FREE unit.
- If no FREE unit of required type exists, choose hold with the soonest-to-free busy unit.
- Optional reroute is allowed only for high-severity calls when all units are busy and a lower-severity event is currently assigned.

Severity: 1 (minor) to 5 (catastrophic)
Vehicle mapping:
- fire -> fire
- medical or accident -> ambulance
- crime -> police

[User]
=== INCOMING CALL [CALL-0018] ===
I just got mugged near Downtown Mall! The guy ran towards Sunset Road. He had a knife.

=== ACTIVE EVENTS ===
EVT-0007 | accident   | Riverside Market               | sev 4 | ambulance_2 ETA 9 min | opened step 8
EVT-0009 | medical    | Willow Creek Homes             | sev 1 | HELD → ambulance_3 | opened step 10
EVT-0010 | medical    | Riverside Market               | sev 2 | HELD → ambulance_2 | opened step 13
EVT-0011 | fire       | Maple Heights                  | sev 4 | fire_6 ETA 12 min | opened step 14
EVT-0012 | fire       | Willow Creek Homes             | sev 4 | fire_4 ETA 14 min | opened step 15
EVT-0013 | medical    | Willow Creek Homes             | sev 4 | ambulance_3 ETA 12 min | opened step 16

=== UNIT STATUS ===
police_0        | police     | Cedar Park Village             | RETURNING → EVT-0008
police_1        | police     | Central Police Station         | FREE
ambulance_2     | ambulance  | Riverside Market               | ON_SCENE → EVT-0007
ambulance_3     | ambulance  | City Central Hospital          | DISPATCHED → EVT-0013
fire_4          | fire       | Engine House No. 1             | DISPATCHED → EVT-0012
fire_5          | fire       | Engine House No. 1             | FREE
fire_6          | fire       | Engine House No. 1             | DISPATCHED → EVT-0011

=== CITY REFERENCE ===
City Central Hospital (hospital) → Downtown Mall [2 min], Engine House No. 1 [3 min], Cedar Park Village [5 min]
Engine House No. 1 (fire_station) → City Central Hospital [3 min], Downtown Mall [3 min], Cedar Park Village [6 min], Central Crossroads [9 min], Willow Creek Homes [14 min]
Central Police Station (police_station) → Maple Heights [3 min], Riverside Market [6 min], Willow Creek Homes [7 min], Cedar Park Village [7 min]
Maple Heights (residential) → Central Police Station [3 min], Riverside Market [1 min], Willow Creek Homes [4 min], Cedar Park Village [9 min], Central Crossroads [7 min]
Willow Creek Homes (residential) → Central Police Station [7 min], Maple Heights [4 min], Riverside Market [3 min], Engine House No. 1 [14 min]
Cedar Park Village (residential) → Engine House No. 1 [6 min], City Central Hospital [5 min], Downtown Mall [6 min], Central Police Station [7 min], Maple Heights [9 min]
Downtown Mall (commercial) → City Central Hospital [2 min], Engine House No. 1 [3 min], Cedar Park Village [6 min], Riverside Market [8 min], Central Crossroads [6 min]
Riverside Market (commercial) → Central Police Station [6 min], Maple Heights [1 min], Willow Creek Homes [3 min], Central Crossroads [7 min], Downtown Mall [8 min]
Central Crossroads (road_junction) → Engine House No. 1 [9 min], Riverside Market [7 min], Downtown Mall [6 min], Maple Heights [7 min]

=== DISPATCHER NOTES ===
Step 15: CALL-0015 → HOLD (fire, waiting for fire_4)
Step 16: CALL-0016 → ambulance ?
Step 17: CALL-0017 → Duplicate of EVT-0007

[Assistant] {"action_type": "dispatch", "severity_pred": 5, "is_duplicate": false, "duplicate_of_event_id": null, "vehicle_type": "police", "vehicle_id": "police_1", "reroute": null}


[System]
You are an expert 911 emergency dispatcher.
You must respond with exactly one JSON object and no extra text.

Action types:
1) dispatch
2) duplicate
3) hold

Rules:
- If the incoming call is a duplicate of an active event, choose duplicate.
- If not duplicate and a FREE unit of required type exists, choose dispatch with the nearest FREE unit.
- If no FREE unit of required type exists, choose hold with the soonest-to-free busy unit.
- Optional reroute is allowed only for high-severity calls when all units are busy and a lower-severity event is currently assigned.

Severity: 1 (minor) to 5 (catastrophic)
Vehicle mapping:
- fire -> fire
- medical or accident -> ambulance
- crime -> police

[User]
=== INCOMING CALL [CALL-0019] ===
There's a fire at 248 River Lane! Flames coming out a window on the second floor. I don't think anyone's inside but I'm not sure.

=== ACTIVE EVENTS ===
EVT-0009 | medical    | Willow Creek Homes             | sev 1 | HELD → ambulance_3 | opened step 10
EVT-0010 | medical    | Riverside Market               | sev 2 | HELD → ambulance_2 | opened step 13
EVT-0011 | fire       | Maple Heights                  | sev 4 | fire_6 ETA 12 min | opened step 14
EVT-0012 | fire       | Willow Creek Homes             | sev 4 | fire_4 ETA 14 min | opened step 15
EVT-0013 | medical    | Willow Creek Homes             | sev 4 | ambulance_3 ETA 12 min | opened step 16
EVT-0014 | crime      | Downtown Mall                  | sev 5 | police_1 ETA 11 min | opened step 18

=== UNIT STATUS ===
police_0        | police     | Cedar Park Village             | RETURNING → EVT-0008
police_1        | police     | Central Police Station         | DISPATCHED → EVT-0014
ambulance_2     | ambulance  | Riverside Market               | RETURNING → EVT-0007
ambulance_3     | ambulance  | City Central Hospital          | DISPATCHED → EVT-0013
fire_4          | fire       | Engine House No. 1             | DISPATCHED → EVT-0012
fire_5          | fire       | Engine House No. 1             | FREE
fire_6          | fire       | Engine House No. 1             | DISPATCHED → EVT-0011

=== CITY REFERENCE ===
City Central Hospital (hospital) → Downtown Mall [2 min], Engine House No. 1 [3 min], Cedar Park Village [5 min]
Engine House No. 1 (fire_station) → City Central Hospital [3 min], Downtown Mall [3 min], Cedar Park Village [6 min], Central Crossroads [9 min], Willow Creek Homes [14 min]
Central Police Station (police_station) → Maple Heights [3 min], Riverside Market [6 min], Willow Creek Homes [7 min], Cedar Park Village [7 min]
Maple Heights (residential) → Central Police Station [3 min], Riverside Market [1 min], Willow Creek Homes [4 min], Cedar Park Village [9 min], Central Crossroads [7 min]
Willow Creek Homes (residential) → Central Police Station [7 min], Maple Heights [4 min], Riverside Market [3 min], Engine House No. 1 [14 min]
Cedar Park Village (residential) → Engine House No. 1 [6 min], City Central Hospital [5 min], Downtown Mall [6 min], Central Police Station [7 min], Maple Heights [9 min]
Downtown Mall (commercial) → City Central Hospital [2 min], Engine House No. 1 [3 min], Cedar Park Village [6 min], Riverside Market [8 min], Central Crossroads [6 min]
Riverside Market (commercial) → Central Police Station [6 min], Maple Heights [1 min], Willow Creek Homes [3 min], Central Crossroads [7 min], Downtown Mall [8 min]
Central Crossroads (road_junction) → Engine House No. 1 [9 min], Riverside Market [7 min], Downtown Mall [6 min], Maple Heights [7 min]

=== DISPATCHER NOTES ===
Step 16: CALL-0016 → ambulance ?
Step 17: CALL-0017 → Duplicate of EVT-0007
Step 18: CALL-0018 → police police_1

[Assistant] {"action_type": "duplicate", "severity_pred": 4, "is_duplicate": true, "duplicate_of_event_id": "EVT-0012", "vehicle_type": null, "vehicle_id": null, "reroute": null}


[System]
You are an expert 911 emergency dispatcher.
You must respond with exactly one JSON object and no extra text.

Action types:
1) dispatch
2) duplicate
3) hold

Rules:
- If the incoming call is a duplicate of an active event, choose duplicate.
- If not duplicate and a FREE unit of required type exists, choose dispatch with the nearest FREE unit.
- If no FREE unit of required type exists, choose hold with the soonest-to-free busy unit.
- Optional reroute is allowed only for high-severity calls when all units are busy and a lower-severity event is currently assigned.

Severity: 1 (minor) to 5 (catastrophic)
Vehicle mapping:
- fire -> fire
- medical or accident -> ambulance
- crime -> police

[User]
=== INCOMING CALL [CALL-0020] ===
Someone fainted at Maple Heights. They're breathing okay now but look really pale. We're on Lake Street.

=== ACTIVE EVENTS ===
EVT-0009 | medical    | Willow Creek Homes             | sev 1 | HELD → ambulance_3 | opened step 10
EVT-0010 | medical    | Riverside Market               | sev 2 | HELD → ambulance_2 | opened step 13
EVT-0011 | fire       | Maple Heights                  | sev 4 | fire_6 ETA 12 min | opened step 14
EVT-0012 | fire       | Willow Creek Homes             | sev 4 | fire_4 ETA 14 min | opened step 15
EVT-0013 | medical    | Willow Creek Homes             | sev 4 | ambulance_3 ETA 12 min | opened step 16
EVT-0014 | crime      | Downtown Mall                  | sev 5 | police_1 ETA 11 min | opened step 18

=== UNIT STATUS ===
police_0        | police     | Central Police Station         | FREE
police_1        | police     | Central Police Station         | DISPATCHED → EVT-0014
ambulance_2     | ambulance  | Riverside Market               | RETURNING → EVT-0007
ambulance_3     | ambulance  | City Central Hospital          | DISPATCHED → EVT-0013
fire_4          | fire       | Engine House No. 1             | DISPATCHED → EVT-0012
fire_5          | fire       | Engine House No. 1             | FREE
fire_6          | fire       | Engine House No. 1             | DISPATCHED → EVT-0011

=== CITY REFERENCE ===
City Central Hospital (hospital) → Downtown Mall [2 min], Engine House No. 1 [3 min], Cedar Park Village [5 min]
Engine House No. 1 (fire_station) → City Central Hospital [3 min], Downtown Mall [3 min], Cedar Park Village [6 min], Central Crossroads [9 min], Willow Creek Homes [14 min]
Central Police Station (police_station) → Maple Heights [3 min], Riverside Market [6 min], Willow Creek Homes [7 min], Cedar Park Village [7 min]
Maple Heights (residential) → Central Police Station [3 min], Riverside Market [1 min], Willow Creek Homes [4 min], Cedar Park Village [9 min], Central Crossroads [7 min]
Willow Creek Homes (residential) → Central Police Station [7 min], Maple Heights [4 min], Riverside Market [3 min], Engine House No. 1 [14 min]
Cedar Park Village (residential) → Engine House No. 1 [6 min], City Central Hospital [5 min], Downtown Mall [6 min], Central Police Station [7 min], Maple Heights [9 min]
Downtown Mall (commercial) → City Central Hospital [2 min], Engine House No. 1 [3 min], Cedar Park Village [6 min], Riverside Market [8 min], Central Crossroads [6 min]
Riverside Market (commercial) → Central Police Station [6 min], Maple Heights [1 min], Willow Creek Homes [3 min], Central Crossroads [7 min], Downtown Mall [8 min]
Central Crossroads (road_junction) → Engine House No. 1 [9 min], Riverside Market [7 min], Downtown Mall [6 min], Maple Heights [7 min]

=== DISPATCHER NOTES ===
Step 17: CALL-0017 → Duplicate of EVT-0007
Step 18: CALL-0018 → police police_1
Step 19: CALL-0019 → Duplicate of EVT-0012

[Assistant] {"action_type": "hold", "severity_pred": 4, "is_duplicate": false, "duplicate_of_event_id": null, "vehicle_type": "ambulance", "vehicle_id": "ambulance_2", "reroute": null}


[System]
You are an expert 911 emergency dispatcher.
You must respond with exactly one JSON object and no extra text.

Action types:
1) dispatch
2) duplicate
3) hold

Rules:
- If the incoming call is a duplicate of an active event, choose duplicate.
- If not duplicate and a FREE unit of required type exists, choose dispatch with the nearest FREE unit.
- If no FREE unit of required type exists, choose hold with the soonest-to-free busy unit.
- Optional reroute is allowed only for high-severity calls when all units are busy and a lower-severity event is currently assigned.

Severity: 1 (minor) to 5 (catastrophic)
Vehicle mapping:
- fire -> fire
- medical or accident -> ambulance
- crime -> police

[User]
=== INCOMING CALL [CALL-0001] ===
Active shooter at Oak Avenue Shops! Multiple shots fired, people running everywhere. Send everyone NOW!

=== ACTIVE EVENTS ===
(none)

=== UNIT STATUS ===
police_0        | police     | Central Police Station         | FREE
police_1        | police     | Central Police Station         | FREE
ambulance_2     | ambulance  | Riverside General Hospital     | FREE
ambulance_3     | ambulance  | Riverside General Hospital     | FREE
ambulance_4     | ambulance  | Riverside General Hospital     | FREE
fire_5          | fire       | Central Fire Station           | FREE
fire_6          | fire       | Central Fire Station           | FREE

=== CITY REFERENCE ===
Riverside General Hospital (hospital) → Central Police Station [10 min], Oakwood Apartments [11 min]
Central Fire Station (fire_station) → Eastgate Roundabout [3 min], Birchwood Place [6 min]
Central Police Station (police_station) → Riverside General Hospital [10 min], Oak Avenue Shops [2 min], Willow Creek Homes [5 min], Eastgate Roundabout [8 min]
Lakeview Residences (residential) → Oakwood Apartments [9 min], Birchwood Place [8 min]
Birchwood Place (residential) → Central Fire Station [6 min], Lakeview Residences [8 min], Oakwood Apartments [4 min], Eastgate Roundabout [4 min]
Willow Creek Homes (residential) → Central Police Station [5 min], Oak Avenue Shops [5 min]
Oakwood Apartments (residential) → Riverside General Hospital [11 min], Lakeview Residences [9 min], Birchwood Place [4 min], Eastgate Roundabout [7 min], Oak Avenue Shops [8 min]
Oak Avenue Shops (commercial) → Central Police Station [2 min], Willow Creek Homes [5 min], Oakwood Apartments [8 min], Eastgate Roundabout [7 min]
Eastgate Roundabout (road_junction) → Central Fire Station [3 min], Central Police Station [8 min], Birchwood Place [4 min], Oakwood Apartments [7 min], Oak Avenue Shops [7 min]

=== DISPATCHER NOTES ===
(first call)

[Assistant] {"action_type": "dispatch", "severity_pred": 2, "is_duplicate": false, "duplicate_of_event_id": null, "vehicle_type": "police", "vehicle_id": "police_0", "reroute": null}


[System]
You are an expert 911 emergency dispatcher.
You must respond with exactly one JSON object and no extra text.

Action types:
1) dispatch
2) duplicate
3) hold

Rules:
- If the incoming call is a duplicate of an active event, choose duplicate.
- If not duplicate and a FREE unit of required type exists, choose dispatch with the nearest FREE unit.
- If no FREE unit of required type exists, choose hold with the soonest-to-free busy unit.
- Optional reroute is allowed only for high-severity calls when all units are busy and a lower-severity event is currently assigned.

Severity: 1 (minor) to 5 (catastrophic)
Vehicle mapping:
- fire -> fire
- medical or accident -> ambulance
- crime -> police

[User]
=== INCOMING CALL [CALL-0002] ===
I'd like to report a shoplifter at Oakwood Apartments on Hill Drive. They already left but I got a good look.

=== ACTIVE EVENTS ===
EVT-0001 | crime      | Oak Avenue Shops               | sev 2 | police_0 ETA 2 min | opened step 1

=== UNIT STATUS ===
police_0        | police     | Central Police Station         | DISPATCHED → EVT-0001
police_1        | police     | Central Police Station         | FREE
ambulance_2     | ambulance  | Riverside General Hospital     | FREE
ambulance_3     | ambulance  | Riverside General Hospital     | FREE
ambulance_4     | ambulance  | Riverside General Hospital     | FREE
fire_5          | fire       | Central Fire Station           | FREE
fire_6          | fire       | Central Fire Station           | FREE

=== CITY REFERENCE ===
Riverside General Hospital (hospital) → Central Police Station [10 min], Oakwood Apartments [11 min]
Central Fire Station (fire_station) → Eastgate Roundabout [3 min], Birchwood Place [6 min]
Central Police Station (police_station) → Riverside General Hospital [10 min], Oak Avenue Shops [2 min], Willow Creek Homes [5 min], Eastgate Roundabout [8 min]
Lakeview Residences (residential) → Oakwood Apartments [9 min], Birchwood Place [8 min]
Birchwood Place (residential) → Central Fire Station [6 min], Lakeview Residences [8 min], Oakwood Apartments [4 min], Eastgate Roundabout [4 min]
Willow Creek Homes (residential) → Central Police Station [5 min], Oak Avenue Shops [5 min]
Oakwood Apartments (residential) → Riverside General Hospital [11 min], Lakeview Residences [9 min], Birchwood Place [4 min], Eastgate Roundabout [7 min], Oak Avenue Shops [8 min]
Oak Avenue Shops (commercial) → Central Police Station [2 min], Willow Creek Homes [5 min], Oakwood Apartments [8 min], Eastgate Roundabout [7 min]
Eastgate Roundabout (road_junction) → Central Fire Station [3 min], Central Police Station [8 min], Birchwood Place [4 min], Oakwood Apartments [7 min], Oak Avenue Shops [7 min]

=== DISPATCHER NOTES ===
Step 1: CALL-0001 → police police_0

[Assistant] {"action_type": "dispatch", "severity_pred": 1, "is_duplicate": false, "duplicate_of_event_id": null, "vehicle_type": "police", "vehicle_id": "police_1", "reroute": null}


[System]
You are an expert 911 emergency dispatcher.
You must respond with exactly one JSON object and no extra text.

Action types:
1) dispatch
2) duplicate
3) hold

Rules:
- If the incoming call is a duplicate of an active event, choose duplicate.
- If not duplicate and a FREE unit of required type exists, choose dispatch with the nearest FREE unit.
- If no FREE unit of required type exists, choose hold with the soonest-to-free busy unit.
- Optional reroute is allowed only for high-severity calls when all units are busy and a lower-severity event is currently assigned.

Severity: 1 (minor) to 5 (catastrophic)
Vehicle mapping:
- fire -> fire
- medical or accident -> ambulance
- crime -> police

[User]
=== INCOMING CALL [CALL-0003] ===
There's been some kind of mass incident at Lakeview Residences — multiple people down, some not moving. We need everything, Spring Street entrance.

=== ACTIVE EVENTS ===
EVT-0001 | crime      | Oak Avenue Shops               | sev 2 | police_0 ETA 2 min | opened step 1
EVT-0002 | crime      | Oakwood Apartments             | sev 1 | police_1 ETA 9 min | opened step 2

=== UNIT STATUS ===
police_0        | police     | Oak Avenue Shops               | ON_SCENE → EVT-0001
police_1        | police     | Central Police Station         | DISPATCHED → EVT-0002
ambulance_2     | ambulance  | Riverside General Hospital     | FREE
ambulance_3     | ambulance  | Riverside General Hospital     | FREE
ambulance_4     | ambulance  | Riverside General Hospital     | FREE
fire_5          | fire       | Central Fire Station           | FREE
fire_6          | fire       | Central Fire Station           | FREE

=== CITY REFERENCE ===
Riverside General Hospital (hospital) → Central Police Station [10 min], Oakwood Apartments [11 min]
Central Fire Station (fire_station) → Eastgate Roundabout [3 min], Birchwood Place [6 min]
Central Police Station (police_station) → Riverside General Hospital [10 min], Oak Avenue Shops [2 min], Willow Creek Homes [5 min], Eastgate Roundabout [8 min]
Lakeview Residences (residential) → Oakwood Apartments [9 min], Birchwood Place [8 min]
Birchwood Place (residential) → Central Fire Station [6 min], Lakeview Residences [8 min], Oakwood Apartments [4 min], Eastgate Roundabout [4 min]
Willow Creek Homes (residential) → Central Police Station [5 min], Oak Avenue Shops [5 min]
Oakwood Apartments (residential) → Riverside General Hospital [11 min], Lakeview Residences [9 min], Birchwood Place [4 min], Eastgate Roundabout [7 min], Oak Avenue Shops [8 min]
Oak Avenue Shops (commercial) → Central Police Station [2 min], Willow Creek Homes [5 min], Oakwood Apartments [8 min], Eastgate Roundabout [7 min]
Eastgate Roundabout (road_junction) → Central Fire Station [3 min], Central Police Station [8 min], Birchwood Place [4 min], Oakwood Apartments [7 min], Oak Avenue Shops [7 min]

=== DISPATCHER NOTES ===
Step 1: CALL-0001 → police police_0
Step 2: CALL-0002 → police police_1

[Assistant] {"action_type": "dispatch", "severity_pred": 4, "is_duplicate": false, "duplicate_of_event_id": null, "vehicle_type": "ambulance", "vehicle_id": "ambulance_2", "reroute": null}


[System]
You are an expert 911 emergency dispatcher.
You must respond with exactly one JSON object and no extra text.

Action types:
1) dispatch
2) duplicate
3) hold

Rules:
- If the incoming call is a duplicate of an active event, choose duplicate.
- If not duplicate and a FREE unit of required type exists, choose dispatch with the nearest FREE unit.
- If no FREE unit of required type exists, choose hold with the soonest-to-free busy unit.
- Optional reroute is allowed only for high-severity calls when all units are busy and a lower-severity event is currently assigned.

Severity: 1 (minor) to 5 (catastrophic)
Vehicle mapping:
- fire -> fire
- medical or accident -> ambulance
- crime -> police

[User]
=== INCOMING CALL [CALL-0004] ===
Pedestrian hit by a truck at Hill Avenue near Oak Avenue Shops. They're not moving. There's blood everywhere.

=== ACTIVE EVENTS ===
EVT-0001 | crime      | Oak Avenue Shops               | sev 2 | police_0 ETA 2 min | opened step 1
EVT-0002 | crime      | Oakwood Apartments             | sev 1 | police_1 ETA 9 min | opened step 2
EVT-0003 | medical    | Lakeview Residences            | sev 4 | ambulance_2 ETA 19 min | opened step 3

=== UNIT STATUS ===
police_0        | police     | Oak Avenue Shops               | ON_SCENE → EVT-0001
police_1        | police     | Central Police Station         | DISPATCHED → EVT-0002
ambulance_2     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0003
ambulance_3     | ambulance  | Riverside General Hospital     | FREE
ambulance_4     | ambulance  | Riverside General Hospital     | FREE
fire_5          | fire       | Central Fire Station           | FREE
fire_6          | fire       | Central Fire Station           | FREE

=== CITY REFERENCE ===
Riverside General Hospital (hospital) → Central Police Station [10 min], Oakwood Apartments [11 min]
Central Fire Station (fire_station) → Eastgate Roundabout [3 min], Birchwood Place [6 min]
Central Police Station (police_station) → Riverside General Hospital [10 min], Oak Avenue Shops [2 min], Willow Creek Homes [5 min], Eastgate Roundabout [8 min]
Lakeview Residences (residential) → Oakwood Apartments [9 min], Birchwood Place [8 min]
Birchwood Place (residential) → Central Fire Station [6 min], Lakeview Residences [8 min], Oakwood Apartments [4 min], Eastgate Roundabout [4 min]
Willow Creek Homes (residential) → Central Police Station [5 min], Oak Avenue Shops [5 min]
Oakwood Apartments (residential) → Riverside General Hospital [11 min], Lakeview Residences [9 min], Birchwood Place [4 min], Eastgate Roundabout [7 min], Oak Avenue Shops [8 min]
Oak Avenue Shops (commercial) → Central Police Station [2 min], Willow Creek Homes [5 min], Oakwood Apartments [8 min], Eastgate Roundabout [7 min]
Eastgate Roundabout (road_junction) → Central Fire Station [3 min], Central Police Station [8 min], Birchwood Place [4 min], Oakwood Apartments [7 min], Oak Avenue Shops [7 min]

=== DISPATCHER NOTES ===
Step 1: CALL-0001 → police police_0
Step 2: CALL-0002 → police police_1
Step 3: CALL-0003 → ambulance ambulance_2

[Assistant] {"action_type": "dispatch", "severity_pred": 4, "is_duplicate": false, "duplicate_of_event_id": null, "vehicle_type": "ambulance", "vehicle_id": "ambulance_3", "reroute": null}


[System]
You are an expert 911 emergency dispatcher.
You must respond with exactly one JSON object and no extra text.

Action types:
1) dispatch
2) duplicate
3) hold

Rules:
- If the incoming call is a duplicate of an active event, choose duplicate.
- If not duplicate and a FREE unit of required type exists, choose dispatch with the nearest FREE unit.
- If no FREE unit of required type exists, choose hold with the soonest-to-free busy unit.
- Optional reroute is allowed only for high-severity calls when all units are busy and a lower-severity event is currently assigned.

Severity: 1 (minor) to 5 (catastrophic)
Vehicle mapping:
- fire -> fire
- medical or accident -> ambulance
- crime -> police

[User]
=== INCOMING CALL [CALL-0005] ===
Multi-car pileup on Hill Drive near Oakwood Apartments! At least 5 cars, people screaming, I can smell gas leaking. Send fire too!

=== ACTIVE EVENTS ===
EVT-0002 | crime      | Oakwood Apartments             | sev 1 | police_1 ETA 9 min | opened step 2
EVT-0003 | medical    | Lakeview Residences            | sev 4 | ambulance_2 ETA 19 min | opened step 3
EVT-0004 | accident   | Oak Avenue Shops               | sev 4 | ambulance_3 ETA 12 min | opened step 4

=== UNIT STATUS ===
police_0        | police     | Oak Avenue Shops               | RETURNING → EVT-0001
police_1        | police     | Central Police Station         | DISPATCHED → EVT-0002
ambulance_2     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0003
ambulance_3     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0004
ambulance_4     | ambulance  | Riverside General Hospital     | FREE
fire_5          | fire       | Central Fire Station           | FREE
fire_6          | fire       | Central Fire Station           | FREE

=== CITY REFERENCE ===
Riverside General Hospital (hospital) → Central Police Station [10 min], Oakwood Apartments [11 min]
Central Fire Station (fire_station) → Eastgate Roundabout [3 min], Birchwood Place [6 min]
Central Police Station (police_station) → Riverside General Hospital [10 min], Oak Avenue Shops [2 min], Willow Creek Homes [5 min], Eastgate Roundabout [8 min]
Lakeview Residences (residential) → Oakwood Apartments [9 min], Birchwood Place [8 min]
Birchwood Place (residential) → Central Fire Station [6 min], Lakeview Residences [8 min], Oakwood Apartments [4 min], Eastgate Roundabout [4 min]
Willow Creek Homes (residential) → Central Police Station [5 min], Oak Avenue Shops [5 min]
Oakwood Apartments (residential) → Riverside General Hospital [11 min], Lakeview Residences [9 min], Birchwood Place [4 min], Eastgate Roundabout [7 min], Oak Avenue Shops [8 min]
Oak Avenue Shops (commercial) → Central Police Station [2 min], Willow Creek Homes [5 min], Oakwood Apartments [8 min], Eastgate Roundabout [7 min]
Eastgate Roundabout (road_junction) → Central Fire Station [3 min], Central Police Station [8 min], Birchwood Place [4 min], Oakwood Apartments [7 min], Oak Avenue Shops [7 min]

=== DISPATCHER NOTES ===
Step 2: CALL-0002 → police police_1
Step 3: CALL-0003 → ambulance ambulance_2
Step 4: CALL-0004 → ambulance ambulance_3

[Assistant] {"action_type": "dispatch", "severity_pred": 2, "is_duplicate": false, "duplicate_of_event_id": null, "vehicle_type": "ambulance", "vehicle_id": "ambulance_4", "reroute": null}


[System]
You are an expert 911 emergency dispatcher.
You must respond with exactly one JSON object and no extra text.

Action types:
1) dispatch
2) duplicate
3) hold

Rules:
- If the incoming call is a duplicate of an active event, choose duplicate.
- If not duplicate and a FREE unit of required type exists, choose dispatch with the nearest FREE unit.
- If no FREE unit of required type exists, choose hold with the soonest-to-free busy unit.
- Optional reroute is allowed only for high-severity calls when all units are busy and a lower-severity event is currently assigned.

Severity: 1 (minor) to 5 (catastrophic)
Vehicle mapping:
- fire -> fire
- medical or accident -> ambulance
- crime -> police

[User]
=== INCOMING CALL [CALL-0006] ===
Fender bender on Spring Street near Lakeview Residences. No injuries but the cars are blocking the road.

=== ACTIVE EVENTS ===
EVT-0002 | crime      | Oakwood Apartments             | sev 1 | police_1 ETA 9 min | opened step 2
EVT-0003 | medical    | Lakeview Residences            | sev 4 | ambulance_2 ETA 19 min | opened step 3
EVT-0004 | accident   | Oak Avenue Shops               | sev 4 | ambulance_3 ETA 12 min | opened step 4
EVT-0005 | accident   | Oakwood Apartments             | sev 2 | ambulance_4 ETA 11 min | opened step 5

=== UNIT STATUS ===
police_0        | police     | Oak Avenue Shops               | RETURNING → EVT-0001
police_1        | police     | Central Police Station         | DISPATCHED → EVT-0002
ambulance_2     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0003
ambulance_3     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0004
ambulance_4     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0005
fire_5          | fire       | Central Fire Station           | FREE
fire_6          | fire       | Central Fire Station           | FREE

=== CITY REFERENCE ===
Riverside General Hospital (hospital) → Central Police Station [10 min], Oakwood Apartments [11 min]
Central Fire Station (fire_station) → Eastgate Roundabout [3 min], Birchwood Place [6 min]
Central Police Station (police_station) → Riverside General Hospital [10 min], Oak Avenue Shops [2 min], Willow Creek Homes [5 min], Eastgate Roundabout [8 min]
Lakeview Residences (residential) → Oakwood Apartments [9 min], Birchwood Place [8 min]
Birchwood Place (residential) → Central Fire Station [6 min], Lakeview Residences [8 min], Oakwood Apartments [4 min], Eastgate Roundabout [4 min]
Willow Creek Homes (residential) → Central Police Station [5 min], Oak Avenue Shops [5 min]
Oakwood Apartments (residential) → Riverside General Hospital [11 min], Lakeview Residences [9 min], Birchwood Place [4 min], Eastgate Roundabout [7 min], Oak Avenue Shops [8 min]
Oak Avenue Shops (commercial) → Central Police Station [2 min], Willow Creek Homes [5 min], Oakwood Apartments [8 min], Eastgate Roundabout [7 min]
Eastgate Roundabout (road_junction) → Central Fire Station [3 min], Central Police Station [8 min], Birchwood Place [4 min], Oakwood Apartments [7 min], Oak Avenue Shops [7 min]

=== DISPATCHER NOTES ===
Step 3: CALL-0003 → ambulance ambulance_2
Step 4: CALL-0004 → ambulance ambulance_3
Step 5: CALL-0005 → ambulance ambulance_4

[Assistant] {"action_type": "hold", "severity_pred": 3, "is_duplicate": false, "duplicate_of_event_id": null, "vehicle_type": "ambulance", "vehicle_id": "ambulance_3", "reroute": null}


[System]
You are an expert 911 emergency dispatcher.
You must respond with exactly one JSON object and no extra text.

Action types:
1) dispatch
2) duplicate
3) hold

Rules:
- If the incoming call is a duplicate of an active event, choose duplicate.
- If not duplicate and a FREE unit of required type exists, choose dispatch with the nearest FREE unit.
- If no FREE unit of required type exists, choose hold with the soonest-to-free busy unit.
- Optional reroute is allowed only for high-severity calls when all units are busy and a lower-severity event is currently assigned.

Severity: 1 (minor) to 5 (catastrophic)
Vehicle mapping:
- fire -> fire
- medical or accident -> ambulance
- crime -> police

[User]
=== INCOMING CALL [CALL-0007] ===
Car accident at Hill Drive and Sunset Avenue. One driver looks hurt, holding their neck. Other car's smoking.

=== ACTIVE EVENTS ===
EVT-0002 | crime      | Oakwood Apartments             | sev 1 | police_1 ETA 9 min | opened step 2
EVT-0003 | medical    | Lakeview Residences            | sev 4 | ambulance_2 ETA 19 min | opened step 3
EVT-0004 | accident   | Oak Avenue Shops               | sev 4 | ambulance_3 ETA 12 min | opened step 4
EVT-0005 | accident   | Oakwood Apartments             | sev 2 | ambulance_4 ETA 11 min | opened step 5
EVT-0006 | accident   | Lakeview Residences            | sev 3 | HELD → ambulance_3 | opened step 6

=== UNIT STATUS ===
police_0        | police     | Central Police Station         | FREE
police_1        | police     | Central Police Station         | DISPATCHED → EVT-0002
ambulance_2     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0003
ambulance_3     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0004
ambulance_4     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0005
fire_5          | fire       | Central Fire Station           | FREE
fire_6          | fire       | Central Fire Station           | FREE

=== CITY REFERENCE ===
Riverside General Hospital (hospital) → Central Police Station [10 min], Oakwood Apartments [11 min]
Central Fire Station (fire_station) → Eastgate Roundabout [3 min], Birchwood Place [6 min]
Central Police Station (police_station) → Riverside General Hospital [10 min], Oak Avenue Shops [2 min], Willow Creek Homes [5 min], Eastgate Roundabout [8 min]
Lakeview Residences (residential) → Oakwood Apartments [9 min], Birchwood Place [8 min]
Birchwood Place (residential) → Central Fire Station [6 min], Lakeview Residences [8 min], Oakwood Apartments [4 min], Eastgate Roundabout [4 min]
Willow Creek Homes (residential) → Central Police Station [5 min], Oak Avenue Shops [5 min]
Oakwood Apartments (residential) → Riverside General Hospital [11 min], Lakeview Residences [9 min], Birchwood Place [4 min], Eastgate Roundabout [7 min], Oak Avenue Shops [8 min]
Oak Avenue Shops (commercial) → Central Police Station [2 min], Willow Creek Homes [5 min], Oakwood Apartments [8 min], Eastgate Roundabout [7 min]
Eastgate Roundabout (road_junction) → Central Fire Station [3 min], Central Police Station [8 min], Birchwood Place [4 min], Oakwood Apartments [7 min], Oak Avenue Shops [7 min]

=== DISPATCHER NOTES ===
Step 4: CALL-0004 → ambulance ambulance_3
Step 5: CALL-0005 → ambulance ambulance_4
Step 6: CALL-0006 → HOLD (ambulance, waiting for ambulance_3)

[Assistant] {"action_type": "hold", "severity_pred": 3, "is_duplicate": false, "duplicate_of_event_id": null, "vehicle_type": "ambulance", "vehicle_id": "ambulance_3", "reroute": null}


[System]
You are an expert 911 emergency dispatcher.
You must respond with exactly one JSON object and no extra text.

Action types:
1) dispatch
2) duplicate
3) hold

Rules:
- If the incoming call is a duplicate of an active event, choose duplicate.
- If not duplicate and a FREE unit of required type exists, choose dispatch with the nearest FREE unit.
- If no FREE unit of required type exists, choose hold with the soonest-to-free busy unit.
- Optional reroute is allowed only for high-severity calls when all units are busy and a lower-severity event is currently assigned.

Severity: 1 (minor) to 5 (catastrophic)
Vehicle mapping:
- fire -> fire
- medical or accident -> ambulance
- crime -> police

[User]
=== INCOMING CALL [CALL-0008] ===
I just got mugged near Oakwood Apartments! The guy ran towards Sunset Avenue. He had a knife.

=== ACTIVE EVENTS ===
EVT-0002 | crime      | Oakwood Apartments             | sev 1 | police_1 ETA 9 min | opened step 2
EVT-0003 | medical    | Lakeview Residences            | sev 4 | ambulance_2 ETA 19 min | opened step 3
EVT-0004 | accident   | Oak Avenue Shops               | sev 4 | ambulance_3 ETA 12 min | opened step 4
EVT-0005 | accident   | Oakwood Apartments             | sev 2 | ambulance_4 ETA 11 min | opened step 5
EVT-0006 | accident   | Lakeview Residences            | sev 3 | HELD → ambulance_3 | opened step 6
EVT-0007 | accident   | Oakwood Apartments             | sev 3 | HELD → ambulance_3 | opened step 7

=== UNIT STATUS ===
police_0        | police     | Central Police Station         | FREE
police_1        | police     | Central Police Station         | DISPATCHED → EVT-0002
ambulance_2     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0003
ambulance_3     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0004
ambulance_4     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0005
fire_5          | fire       | Central Fire Station           | FREE
fire_6          | fire       | Central Fire Station           | FREE

=== CITY REFERENCE ===
Riverside General Hospital (hospital) → Central Police Station [10 min], Oakwood Apartments [11 min]
Central Fire Station (fire_station) → Eastgate Roundabout [3 min], Birchwood Place [6 min]
Central Police Station (police_station) → Riverside General Hospital [10 min], Oak Avenue Shops [2 min], Willow Creek Homes [5 min], Eastgate Roundabout [8 min]
Lakeview Residences (residential) → Oakwood Apartments [9 min], Birchwood Place [8 min]
Birchwood Place (residential) → Central Fire Station [6 min], Lakeview Residences [8 min], Oakwood Apartments [4 min], Eastgate Roundabout [4 min]
Willow Creek Homes (residential) → Central Police Station [5 min], Oak Avenue Shops [5 min]
Oakwood Apartments (residential) → Riverside General Hospital [11 min], Lakeview Residences [9 min], Birchwood Place [4 min], Eastgate Roundabout [7 min], Oak Avenue Shops [8 min]
Oak Avenue Shops (commercial) → Central Police Station [2 min], Willow Creek Homes [5 min], Oakwood Apartments [8 min], Eastgate Roundabout [7 min]
Eastgate Roundabout (road_junction) → Central Fire Station [3 min], Central Police Station [8 min], Birchwood Place [4 min], Oakwood Apartments [7 min], Oak Avenue Shops [7 min]

=== DISPATCHER NOTES ===
Step 5: CALL-0005 → ambulance ambulance_4
Step 6: CALL-0006 → HOLD (ambulance, waiting for ambulance_3)
Step 7: CALL-0007 → HOLD (ambulance, waiting for ambulance_3)

[Assistant] {"action_type": "dispatch", "severity_pred": 3, "is_duplicate": false, "duplicate_of_event_id": null, "vehicle_type": "police", "vehicle_id": "police_0", "reroute": null}