[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 Park Street and Lake Boulevard. One driver looks hurt, holding their neck. Other car's smoking.

=== ACTIVE EVENTS ===
EVT-0001 | medical    | Maple Heights                  | sev 5 | ambulance_3 ETA 6 min | opened step 1
EVT-0002 | fire       | Magnolia Gardens               | sev 4 | fire_6 ETA 10 min | opened step 4
EVT-0003 | fire       | Magnolia Gardens               | sev 2 | fire_7 ETA 10 min | opened step 5
EVT-0004 | accident   | Maple Heights                  | sev 4 | ambulance_4 ETA 6 min | opened step 6

=== UNIT STATUS ===
police_0        | police     | Metro Police HQ                | FREE
police_1        | police     | Metro Police HQ                | FREE
police_2        | police     | Metro Police HQ                | FREE
ambulance_3     | ambulance  | Maple Heights                  | ON_SCENE → EVT-0001
ambulance_4     | ambulance  | St. Mary's Medical Center      | DISPATCHED → EVT-0004
ambulance_5     | ambulance  | St. Mary's Medical Center      | FREE
fire_6          | fire       | Engine House No. 1             | DISPATCHED → EVT-0002
fire_7          | fire       | Engine House No. 1             | DISPATCHED → EVT-0003
fire_8          | fire       | Engine House No. 1             | FREE

=== CITY REFERENCE ===
St. Mary's Medical Center (hospital) → Magnolia Gardens [4 min], Maple Heights [6 min], Elmwood Terrace [5 min], Metro Police HQ [5 min], Central Plaza [8 min]
Engine House No. 1 (fire_station) → Central Plaza [4 min], Cedar Park Village [5 min], Northside Junction [5 min]
Metro Police HQ (police_station) → St. Mary's Medical Center [5 min], Maple Heights [7 min], Elmwood Terrace [9 min], Cedar Park Village [14 min]
Maple Heights (residential) → St. Mary's Medical Center [6 min], Metro Police HQ [7 min], Elmwood Terrace [4 min], Magnolia Gardens [6 min], Central Crossroads [5 min]
Cedar Park Village (residential) → Engine House No. 1 [5 min], Metro Police HQ [14 min], Central Plaza [2 min], Northside Junction [5 min], Central Crossroads [10 min], Elmwood Terrace [14 min]
Elmwood Terrace (residential) → St. Mary's Medical Center [5 min], Metro Police HQ [9 min], Maple Heights [4 min], Magnolia Gardens [4 min], Central Crossroads [3 min], Cedar Park Village [14 min], Northside Junction [8 min]
Magnolia Gardens (residential) → St. Mary's Medical Center [4 min], Maple Heights [6 min], Elmwood Terrace [4 min], Central Crossroads [3 min], Northside Junction [5 min]
Central Plaza (commercial) → Engine House No. 1 [4 min], Cedar Park Village [2 min], St. Mary's Medical Center [8 min]
Northside Junction (road_junction) → Engine House No. 1 [5 min], Cedar Park Village [5 min], Magnolia Gardens [5 min], Elmwood Terrace [8 min]
Central Crossroads (road_junction) → Maple Heights [5 min], Cedar Park Village [10 min], Elmwood Terrace [3 min], Magnolia Gardens [3 min]

=== DISPATCHER NOTES ===
Step 4: CALL-0004 → fire fire_6
Step 5: CALL-0005 → fire fire_7
Step 6: CALL-0006 → ambulance ambulance_4

[Assistant] {"action_type": "dispatch", "severity_pred": 2, "is_duplicate": false, "duplicate_of_event_id": null, "vehicle_type": "ambulance", "vehicle_id": "ambulance_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] ===
Hello, my neighbor fell and hurt her ankle at 506 Lake Boulevard. She's conscious and talking but can't walk.

=== ACTIVE EVENTS ===
EVT-0001 | medical    | Maple Heights                  | sev 5 | ambulance_3 ETA 6 min | opened step 1
EVT-0002 | fire       | Magnolia Gardens               | sev 4 | fire_6 ETA 10 min | opened step 4
EVT-0003 | fire       | Magnolia Gardens               | sev 2 | fire_7 ETA 10 min | opened step 5
EVT-0004 | accident   | Maple Heights                  | sev 4 | ambulance_4 ETA 6 min | opened step 6
EVT-0005 | accident   | Maple Heights                  | sev 2 | ambulance_5 ETA 6 min | opened step 7

=== UNIT STATUS ===
police_0        | police     | Metro Police HQ                | FREE
police_1        | police     | Metro Police HQ                | FREE
police_2        | police     | Metro Police HQ                | FREE
ambulance_3     | ambulance  | Maple Heights                  | ON_SCENE → EVT-0001
ambulance_4     | ambulance  | St. Mary's Medical Center      | DISPATCHED → EVT-0004
ambulance_5     | ambulance  | St. Mary's Medical Center      | DISPATCHED → EVT-0005
fire_6          | fire       | Engine House No. 1             | DISPATCHED → EVT-0002
fire_7          | fire       | Engine House No. 1             | DISPATCHED → EVT-0003
fire_8          | fire       | Engine House No. 1             | FREE

=== CITY REFERENCE ===
St. Mary's Medical Center (hospital) → Magnolia Gardens [4 min], Maple Heights [6 min], Elmwood Terrace [5 min], Metro Police HQ [5 min], Central Plaza [8 min]
Engine House No. 1 (fire_station) → Central Plaza [4 min], Cedar Park Village [5 min], Northside Junction [5 min]
Metro Police HQ (police_station) → St. Mary's Medical Center [5 min], Maple Heights [7 min], Elmwood Terrace [9 min], Cedar Park Village [14 min]
Maple Heights (residential) → St. Mary's Medical Center [6 min], Metro Police HQ [7 min], Elmwood Terrace [4 min], Magnolia Gardens [6 min], Central Crossroads [5 min]
Cedar Park Village (residential) → Engine House No. 1 [5 min], Metro Police HQ [14 min], Central Plaza [2 min], Northside Junction [5 min], Central Crossroads [10 min], Elmwood Terrace [14 min]
Elmwood Terrace (residential) → St. Mary's Medical Center [5 min], Metro Police HQ [9 min], Maple Heights [4 min], Magnolia Gardens [4 min], Central Crossroads [3 min], Cedar Park Village [14 min], Northside Junction [8 min]
Magnolia Gardens (residential) → St. Mary's Medical Center [4 min], Maple Heights [6 min], Elmwood Terrace [4 min], Central Crossroads [3 min], Northside Junction [5 min]
Central Plaza (commercial) → Engine House No. 1 [4 min], Cedar Park Village [2 min], St. Mary's Medical Center [8 min]
Northside Junction (road_junction) → Engine House No. 1 [5 min], Cedar Park Village [5 min], Magnolia Gardens [5 min], Elmwood Terrace [8 min]
Central Crossroads (road_junction) → Maple Heights [5 min], Cedar Park Village [10 min], Elmwood Terrace [3 min], Magnolia Gardens [3 min]

=== DISPATCHER NOTES ===
Step 5: CALL-0005 → fire fire_7
Step 6: CALL-0006 → ambulance ambulance_4
Step 7: CALL-0007 → ambulance ambulance_5

[Assistant] {"action_type": "hold", "severity_pred": 2, "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-0009] ===
There's a man having chest pains at 599 Elm Avenue. He's sweating a lot and says his arm feels numb.

=== ACTIVE EVENTS ===
EVT-0002 | fire       | Magnolia Gardens               | sev 4 | fire_6 ETA 10 min | opened step 4
EVT-0003 | fire       | Magnolia Gardens               | sev 2 | fire_7 ETA 10 min | opened step 5
EVT-0004 | accident   | Maple Heights                  | sev 4 | ambulance_4 ETA 6 min | opened step 6
EVT-0005 | accident   | Maple Heights                  | sev 2 | ambulance_5 ETA 6 min | opened step 7
EVT-0006 | medical    | Magnolia Gardens               | sev 2 | HELD → ambulance_3 | opened step 8

=== UNIT STATUS ===
police_0        | police     | Metro Police HQ                | FREE
police_1        | police     | Metro Police HQ                | FREE
police_2        | police     | Metro Police HQ                | FREE
ambulance_3     | ambulance  | Maple Heights                  | RETURNING → EVT-0001
ambulance_4     | ambulance  | St. Mary's Medical Center      | DISPATCHED → EVT-0004
ambulance_5     | ambulance  | St. Mary's Medical Center      | DISPATCHED → EVT-0005
fire_6          | fire       | Engine House No. 1             | DISPATCHED → EVT-0002
fire_7          | fire       | Engine House No. 1             | DISPATCHED → EVT-0003
fire_8          | fire       | Engine House No. 1             | FREE

=== CITY REFERENCE ===
St. Mary's Medical Center (hospital) → Magnolia Gardens [4 min], Maple Heights [6 min], Elmwood Terrace [5 min], Metro Police HQ [5 min], Central Plaza [8 min]
Engine House No. 1 (fire_station) → Central Plaza [4 min], Cedar Park Village [5 min], Northside Junction [5 min]
Metro Police HQ (police_station) → St. Mary's Medical Center [5 min], Maple Heights [7 min], Elmwood Terrace [9 min], Cedar Park Village [14 min]
Maple Heights (residential) → St. Mary's Medical Center [6 min], Metro Police HQ [7 min], Elmwood Terrace [4 min], Magnolia Gardens [6 min], Central Crossroads [5 min]
Cedar Park Village (residential) → Engine House No. 1 [5 min], Metro Police HQ [14 min], Central Plaza [2 min], Northside Junction [5 min], Central Crossroads [10 min], Elmwood Terrace [14 min]
Elmwood Terrace (residential) → St. Mary's Medical Center [5 min], Metro Police HQ [9 min], Maple Heights [4 min], Magnolia Gardens [4 min], Central Crossroads [3 min], Cedar Park Village [14 min], Northside Junction [8 min]
Magnolia Gardens (residential) → St. Mary's Medical Center [4 min], Maple Heights [6 min], Elmwood Terrace [4 min], Central Crossroads [3 min], Northside Junction [5 min]
Central Plaza (commercial) → Engine House No. 1 [4 min], Cedar Park Village [2 min], St. Mary's Medical Center [8 min]
Northside Junction (road_junction) → Engine House No. 1 [5 min], Cedar Park Village [5 min], Magnolia Gardens [5 min], Elmwood Terrace [8 min]
Central Crossroads (road_junction) → Maple Heights [5 min], Cedar Park Village [10 min], Elmwood Terrace [3 min], Magnolia Gardens [3 min]

=== DISPATCHER NOTES ===
Step 6: CALL-0006 → ambulance ambulance_4
Step 7: CALL-0007 → ambulance ambulance_5
Step 8: CALL-0008 → 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-0010] ===
A cyclist got hit by a car near Maple Heights. They're on the ground, conscious but bleeding from the head.

=== ACTIVE EVENTS ===
EVT-0002 | fire       | Magnolia Gardens               | sev 4 | fire_6 ETA 10 min | opened step 4
EVT-0003 | fire       | Magnolia Gardens               | sev 2 | fire_7 ETA 10 min | opened step 5
EVT-0004 | accident   | Maple Heights                  | sev 4 | ambulance_4 ETA 6 min | opened step 6
EVT-0005 | accident   | Maple Heights                  | sev 2 | ambulance_5 ETA 6 min | opened step 7
EVT-0006 | medical    | Magnolia Gardens               | sev 2 | HELD → ambulance_3 | opened step 8
EVT-0007 | medical    | Elmwood Terrace                | sev 3 | HELD → ambulance_3 | opened step 9

=== UNIT STATUS ===
police_0        | police     | Metro Police HQ                | FREE
police_1        | police     | Metro Police HQ                | FREE
police_2        | police     | Metro Police HQ                | FREE
ambulance_3     | ambulance  | Maple Heights                  | RETURNING → EVT-0001
ambulance_4     | ambulance  | St. Mary's Medical Center      | DISPATCHED → EVT-0004
ambulance_5     | ambulance  | St. Mary's Medical Center      | DISPATCHED → EVT-0005
fire_6          | fire       | Engine House No. 1             | DISPATCHED → EVT-0002
fire_7          | fire       | Engine House No. 1             | DISPATCHED → EVT-0003
fire_8          | fire       | Engine House No. 1             | FREE

=== CITY REFERENCE ===
St. Mary's Medical Center (hospital) → Magnolia Gardens [4 min], Maple Heights [6 min], Elmwood Terrace [5 min], Metro Police HQ [5 min], Central Plaza [8 min]
Engine House No. 1 (fire_station) → Central Plaza [4 min], Cedar Park Village [5 min], Northside Junction [5 min]
Metro Police HQ (police_station) → St. Mary's Medical Center [5 min], Maple Heights [7 min], Elmwood Terrace [9 min], Cedar Park Village [14 min]
Maple Heights (residential) → St. Mary's Medical Center [6 min], Metro Police HQ [7 min], Elmwood Terrace [4 min], Magnolia Gardens [6 min], Central Crossroads [5 min]
Cedar Park Village (residential) → Engine House No. 1 [5 min], Metro Police HQ [14 min], Central Plaza [2 min], Northside Junction [5 min], Central Crossroads [10 min], Elmwood Terrace [14 min]
Elmwood Terrace (residential) → St. Mary's Medical Center [5 min], Metro Police HQ [9 min], Maple Heights [4 min], Magnolia Gardens [4 min], Central Crossroads [3 min], Cedar Park Village [14 min], Northside Junction [8 min]
Magnolia Gardens (residential) → St. Mary's Medical Center [4 min], Maple Heights [6 min], Elmwood Terrace [4 min], Central Crossroads [3 min], Northside Junction [5 min]
Central Plaza (commercial) → Engine House No. 1 [4 min], Cedar Park Village [2 min], St. Mary's Medical Center [8 min]
Northside Junction (road_junction) → Engine House No. 1 [5 min], Cedar Park Village [5 min], Magnolia Gardens [5 min], Elmwood Terrace [8 min]
Central Crossroads (road_junction) → Maple Heights [5 min], Cedar Park Village [10 min], Elmwood Terrace [3 min], Magnolia Gardens [3 min]

=== DISPATCHER NOTES ===
Step 7: CALL-0007 → ambulance ambulance_5
Step 8: CALL-0008 → HOLD (ambulance, waiting for ambulance_3)
Step 9: CALL-0009 → HOLD (ambulance, waiting for ambulance_3)

[Assistant] {"action_type": "duplicate", "severity_pred": 2, "is_duplicate": true, "duplicate_of_event_id": "EVT-0005", "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-0001] ===
There's a man having chest pains at 972 Sunset Road. He's sweating a lot and says his arm feels numb.

=== ACTIVE EVENTS ===
(none)

=== UNIT STATUS ===
police_0        | police     | Metro Police HQ                | FREE
police_1        | police     | Metro Police HQ                | FREE
police_2        | police     | Metro Police HQ                | FREE
ambulance_3     | ambulance  | Riverside General Hospital     | FREE
ambulance_4     | ambulance  | Riverside General Hospital     | FREE
ambulance_5     | ambulance  | Riverside General Hospital     | FREE
fire_6          | fire       | Westside Fire Department       | FREE
fire_7          | fire       | Westside Fire Department       | FREE

=== CITY REFERENCE ===
Riverside General Hospital (hospital) → Eastgate Roundabout [3 min], Oakwood Apartments [6 min], Elmwood Terrace [15 min], Lakeview Residences [7 min]
Westside Fire Department (fire_station) → Downtown Mall [1 min], Central Crossroads [2 min], Eastgate Roundabout [8 min]
Metro Police HQ (police_station) → Elmwood Terrace [3 min], Lakeview Residences [6 min], Central Crossroads [11 min], Eastgate Roundabout [10 min]
Oakwood Apartments (residential) → Riverside General Hospital [6 min], Downtown Mall [4 min], Central Crossroads [4 min], Lakeview Residences [9 min], Eastgate Roundabout [6 min]
Elmwood Terrace (residential) → Riverside General Hospital [15 min], Metro Police HQ [3 min], Lakeview Residences [8 min]
Lakeview Residences (residential) → Metro Police HQ [6 min], Oakwood Apartments [9 min], Elmwood Terrace [8 min], Eastgate Roundabout [4 min], Riverside General Hospital [7 min]
Downtown Mall (commercial) → Westside Fire Department [1 min], Oakwood Apartments [4 min], Central Crossroads [1 min], Eastgate Roundabout [8 min]
Eastgate Roundabout (road_junction) → Riverside General Hospital [3 min], Metro Police HQ [10 min], Lakeview Residences [4 min], Downtown Mall [8 min], Oakwood Apartments [6 min], Central Crossroads [8 min], Westside Fire Department [8 min]
Central Crossroads (road_junction) → Westside Fire Department [2 min], Metro Police HQ [11 min], Oakwood Apartments [4 min], Downtown Mall [1 min], Eastgate Roundabout [8 min]

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

[Assistant] {"action_type": "dispatch", "severity_pred": 2, "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-0002] ===
Someone's not breathing at Downtown Mall! A bystander is doing CPR. Please send an ambulance to Park Avenue immediately!

=== ACTIVE EVENTS ===
EVT-0001 | medical    | Elmwood Terrace                | sev 2 | ambulance_3 ETA 15 min | opened step 1

=== UNIT STATUS ===
police_0        | police     | Metro Police HQ                | FREE
police_1        | police     | Metro Police HQ                | FREE
police_2        | police     | Metro Police HQ                | FREE
ambulance_3     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0001
ambulance_4     | ambulance  | Riverside General Hospital     | FREE
ambulance_5     | ambulance  | Riverside General Hospital     | FREE
fire_6          | fire       | Westside Fire Department       | FREE
fire_7          | fire       | Westside Fire Department       | FREE

=== CITY REFERENCE ===
Riverside General Hospital (hospital) → Eastgate Roundabout [3 min], Oakwood Apartments [6 min], Elmwood Terrace [15 min], Lakeview Residences [7 min]
Westside Fire Department (fire_station) → Downtown Mall [1 min], Central Crossroads [2 min], Eastgate Roundabout [8 min]
Metro Police HQ (police_station) → Elmwood Terrace [3 min], Lakeview Residences [6 min], Central Crossroads [11 min], Eastgate Roundabout [10 min]
Oakwood Apartments (residential) → Riverside General Hospital [6 min], Downtown Mall [4 min], Central Crossroads [4 min], Lakeview Residences [9 min], Eastgate Roundabout [6 min]
Elmwood Terrace (residential) → Riverside General Hospital [15 min], Metro Police HQ [3 min], Lakeview Residences [8 min]
Lakeview Residences (residential) → Metro Police HQ [6 min], Oakwood Apartments [9 min], Elmwood Terrace [8 min], Eastgate Roundabout [4 min], Riverside General Hospital [7 min]
Downtown Mall (commercial) → Westside Fire Department [1 min], Oakwood Apartments [4 min], Central Crossroads [1 min], Eastgate Roundabout [8 min]
Eastgate Roundabout (road_junction) → Riverside General Hospital [3 min], Metro Police HQ [10 min], Lakeview Residences [4 min], Downtown Mall [8 min], Oakwood Apartments [6 min], Central Crossroads [8 min], Westside Fire Department [8 min]
Central Crossroads (road_junction) → Westside Fire Department [2 min], Metro Police HQ [11 min], Oakwood Apartments [4 min], Downtown Mall [1 min], Eastgate Roundabout [8 min]

=== DISPATCHER NOTES ===
Step 1: CALL-0001 → ambulance ambulance_3

[Assistant] {"action_type": "dispatch", "severity_pred": 4, "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-0003] ===
Active shooter at Downtown Mall! Multiple shots fired, people running everywhere. Send everyone NOW!

=== ACTIVE EVENTS ===
EVT-0001 | medical    | Elmwood Terrace                | sev 2 | ambulance_3 ETA 15 min | opened step 1
EVT-0002 | medical    | Downtown Mall                  | sev 4 | ambulance_4 ETA 10 min | opened step 2

=== UNIT STATUS ===
police_0        | police     | Metro Police HQ                | FREE
police_1        | police     | Metro Police HQ                | FREE
police_2        | police     | Metro Police HQ                | FREE
ambulance_3     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0001
ambulance_4     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0002
ambulance_5     | ambulance  | Riverside General Hospital     | FREE
fire_6          | fire       | Westside Fire Department       | FREE
fire_7          | fire       | Westside Fire Department       | FREE

=== CITY REFERENCE ===
Riverside General Hospital (hospital) → Eastgate Roundabout [3 min], Oakwood Apartments [6 min], Elmwood Terrace [15 min], Lakeview Residences [7 min]
Westside Fire Department (fire_station) → Downtown Mall [1 min], Central Crossroads [2 min], Eastgate Roundabout [8 min]
Metro Police HQ (police_station) → Elmwood Terrace [3 min], Lakeview Residences [6 min], Central Crossroads [11 min], Eastgate Roundabout [10 min]
Oakwood Apartments (residential) → Riverside General Hospital [6 min], Downtown Mall [4 min], Central Crossroads [4 min], Lakeview Residences [9 min], Eastgate Roundabout [6 min]
Elmwood Terrace (residential) → Riverside General Hospital [15 min], Metro Police HQ [3 min], Lakeview Residences [8 min]
Lakeview Residences (residential) → Metro Police HQ [6 min], Oakwood Apartments [9 min], Elmwood Terrace [8 min], Eastgate Roundabout [4 min], Riverside General Hospital [7 min]
Downtown Mall (commercial) → Westside Fire Department [1 min], Oakwood Apartments [4 min], Central Crossroads [1 min], Eastgate Roundabout [8 min]
Eastgate Roundabout (road_junction) → Riverside General Hospital [3 min], Metro Police HQ [10 min], Lakeview Residences [4 min], Downtown Mall [8 min], Oakwood Apartments [6 min], Central Crossroads [8 min], Westside Fire Department [8 min]
Central Crossroads (road_junction) → Westside Fire Department [2 min], Metro Police HQ [11 min], Oakwood Apartments [4 min], Downtown Mall [1 min], Eastgate Roundabout [8 min]

=== DISPATCHER NOTES ===
Step 1: CALL-0001 → ambulance ambulance_3
Step 2: CALL-0002 → ambulance ambulance_4

[Assistant] {"action_type": "dispatch", "severity_pred": 1, "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-0004] ===
I just got mugged near Elmwood Terrace! The guy ran towards River Drive. He had a knife.

=== ACTIVE EVENTS ===
EVT-0001 | medical    | Elmwood Terrace                | sev 2 | ambulance_3 ETA 15 min | opened step 1
EVT-0002 | medical    | Downtown Mall                  | sev 4 | ambulance_4 ETA 10 min | opened step 2
EVT-0003 | crime      | Downtown Mall                  | sev 1 | police_0 ETA 12 min | opened step 3

=== UNIT STATUS ===
police_0        | police     | Metro Police HQ                | DISPATCHED → EVT-0003
police_1        | police     | Metro Police HQ                | FREE
police_2        | police     | Metro Police HQ                | FREE
ambulance_3     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0001
ambulance_4     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0002
ambulance_5     | ambulance  | Riverside General Hospital     | FREE
fire_6          | fire       | Westside Fire Department       | FREE
fire_7          | fire       | Westside Fire Department       | FREE

=== CITY REFERENCE ===
Riverside General Hospital (hospital) → Eastgate Roundabout [3 min], Oakwood Apartments [6 min], Elmwood Terrace [15 min], Lakeview Residences [7 min]
Westside Fire Department (fire_station) → Downtown Mall [1 min], Central Crossroads [2 min], Eastgate Roundabout [8 min]
Metro Police HQ (police_station) → Elmwood Terrace [3 min], Lakeview Residences [6 min], Central Crossroads [11 min], Eastgate Roundabout [10 min]
Oakwood Apartments (residential) → Riverside General Hospital [6 min], Downtown Mall [4 min], Central Crossroads [4 min], Lakeview Residences [9 min], Eastgate Roundabout [6 min]
Elmwood Terrace (residential) → Riverside General Hospital [15 min], Metro Police HQ [3 min], Lakeview Residences [8 min]
Lakeview Residences (residential) → Metro Police HQ [6 min], Oakwood Apartments [9 min], Elmwood Terrace [8 min], Eastgate Roundabout [4 min], Riverside General Hospital [7 min]
Downtown Mall (commercial) → Westside Fire Department [1 min], Oakwood Apartments [4 min], Central Crossroads [1 min], Eastgate Roundabout [8 min]
Eastgate Roundabout (road_junction) → Riverside General Hospital [3 min], Metro Police HQ [10 min], Lakeview Residences [4 min], Downtown Mall [8 min], Oakwood Apartments [6 min], Central Crossroads [8 min], Westside Fire Department [8 min]
Central Crossroads (road_junction) → Westside Fire Department [2 min], Metro Police HQ [11 min], Oakwood Apartments [4 min], Downtown Mall [1 min], Eastgate Roundabout [8 min]

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

[Assistant] {"action_type": "dispatch", "severity_pred": 4, "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-0005] ===
Bad crash on Elm Lane! Car flipped over near Oakwood Apartments. Driver's trapped inside, not responding!

=== ACTIVE EVENTS ===
EVT-0001 | medical    | Elmwood Terrace                | sev 2 | ambulance_3 ETA 15 min | opened step 1
EVT-0002 | medical    | Downtown Mall                  | sev 4 | ambulance_4 ETA 10 min | opened step 2
EVT-0003 | crime      | Downtown Mall                  | sev 1 | police_0 ETA 12 min | opened step 3
EVT-0004 | crime      | Elmwood Terrace                | sev 4 | police_1 ETA 3 min | opened step 4

=== UNIT STATUS ===
police_0        | police     | Metro Police HQ                | DISPATCHED → EVT-0003
police_1        | police     | Metro Police HQ                | DISPATCHED → EVT-0004
police_2        | police     | Metro Police HQ                | FREE
ambulance_3     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0001
ambulance_4     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0002
ambulance_5     | ambulance  | Riverside General Hospital     | FREE
fire_6          | fire       | Westside Fire Department       | FREE
fire_7          | fire       | Westside Fire Department       | FREE

=== CITY REFERENCE ===
Riverside General Hospital (hospital) → Eastgate Roundabout [3 min], Oakwood Apartments [6 min], Elmwood Terrace [15 min], Lakeview Residences [7 min]
Westside Fire Department (fire_station) → Downtown Mall [1 min], Central Crossroads [2 min], Eastgate Roundabout [8 min]
Metro Police HQ (police_station) → Elmwood Terrace [3 min], Lakeview Residences [6 min], Central Crossroads [11 min], Eastgate Roundabout [10 min]
Oakwood Apartments (residential) → Riverside General Hospital [6 min], Downtown Mall [4 min], Central Crossroads [4 min], Lakeview Residences [9 min], Eastgate Roundabout [6 min]
Elmwood Terrace (residential) → Riverside General Hospital [15 min], Metro Police HQ [3 min], Lakeview Residences [8 min]
Lakeview Residences (residential) → Metro Police HQ [6 min], Oakwood Apartments [9 min], Elmwood Terrace [8 min], Eastgate Roundabout [4 min], Riverside General Hospital [7 min]
Downtown Mall (commercial) → Westside Fire Department [1 min], Oakwood Apartments [4 min], Central Crossroads [1 min], Eastgate Roundabout [8 min]
Eastgate Roundabout (road_junction) → Riverside General Hospital [3 min], Metro Police HQ [10 min], Lakeview Residences [4 min], Downtown Mall [8 min], Oakwood Apartments [6 min], Central Crossroads [8 min], Westside Fire Department [8 min]
Central Crossroads (road_junction) → Westside Fire Department [2 min], Metro Police HQ [11 min], Oakwood Apartments [4 min], Downtown Mall [1 min], Eastgate Roundabout [8 min]

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

[Assistant] {"action_type": "dispatch", "severity_pred": 5, "is_duplicate": false, "duplicate_of_event_id": null, "vehicle_type": "ambulance", "vehicle_id": "ambulance_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-0006] ===
There's a fight outside Downtown Mall on Park Avenue. Looks like 3-4 people involved, getting pretty violent.

=== ACTIVE EVENTS ===
EVT-0001 | medical    | Elmwood Terrace                | sev 2 | ambulance_3 ETA 15 min | opened step 1
EVT-0002 | medical    | Downtown Mall                  | sev 4 | ambulance_4 ETA 10 min | opened step 2
EVT-0003 | crime      | Downtown Mall                  | sev 1 | police_0 ETA 12 min | opened step 3
EVT-0004 | crime      | Elmwood Terrace                | sev 4 | police_1 ETA 3 min | opened step 4
EVT-0005 | accident   | Oakwood Apartments             | sev 5 | ambulance_5 ETA 6 min | opened step 5

=== UNIT STATUS ===
police_0        | police     | Metro Police HQ                | DISPATCHED → EVT-0003
police_1        | police     | Metro Police HQ                | DISPATCHED → EVT-0004
police_2        | police     | Metro Police HQ                | FREE
ambulance_3     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0001
ambulance_4     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0002
ambulance_5     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0005
fire_6          | fire       | Westside Fire Department       | FREE
fire_7          | fire       | Westside Fire Department       | FREE

=== CITY REFERENCE ===
Riverside General Hospital (hospital) → Eastgate Roundabout [3 min], Oakwood Apartments [6 min], Elmwood Terrace [15 min], Lakeview Residences [7 min]
Westside Fire Department (fire_station) → Downtown Mall [1 min], Central Crossroads [2 min], Eastgate Roundabout [8 min]
Metro Police HQ (police_station) → Elmwood Terrace [3 min], Lakeview Residences [6 min], Central Crossroads [11 min], Eastgate Roundabout [10 min]
Oakwood Apartments (residential) → Riverside General Hospital [6 min], Downtown Mall [4 min], Central Crossroads [4 min], Lakeview Residences [9 min], Eastgate Roundabout [6 min]
Elmwood Terrace (residential) → Riverside General Hospital [15 min], Metro Police HQ [3 min], Lakeview Residences [8 min]
Lakeview Residences (residential) → Metro Police HQ [6 min], Oakwood Apartments [9 min], Elmwood Terrace [8 min], Eastgate Roundabout [4 min], Riverside General Hospital [7 min]
Downtown Mall (commercial) → Westside Fire Department [1 min], Oakwood Apartments [4 min], Central Crossroads [1 min], Eastgate Roundabout [8 min]
Eastgate Roundabout (road_junction) → Riverside General Hospital [3 min], Metro Police HQ [10 min], Lakeview Residences [4 min], Downtown Mall [8 min], Oakwood Apartments [6 min], Central Crossroads [8 min], Westside Fire Department [8 min]
Central Crossroads (road_junction) → Westside Fire Department [2 min], Metro Police HQ [11 min], Oakwood Apartments [4 min], Downtown Mall [1 min], Eastgate Roundabout [8 min]

=== DISPATCHER NOTES ===
Step 3: CALL-0003 → police police_0
Step 4: CALL-0004 → police police_1
Step 5: CALL-0005 → ambulance ambulance_5

[Assistant] {"action_type": "duplicate", "severity_pred": 1, "is_duplicate": true, "duplicate_of_event_id": "EVT-0003", "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-0007] ===
I just got mugged near Elmwood Terrace! The guy ran towards Main Boulevard. He had a knife.

=== ACTIVE EVENTS ===
EVT-0001 | medical    | Elmwood Terrace                | sev 2 | ambulance_3 ETA 15 min | opened step 1
EVT-0002 | medical    | Downtown Mall                  | sev 4 | ambulance_4 ETA 10 min | opened step 2
EVT-0003 | crime      | Downtown Mall                  | sev 1 | police_0 ETA 12 min | opened step 3
EVT-0004 | crime      | Elmwood Terrace                | sev 4 | police_1 ETA 3 min | opened step 4
EVT-0005 | accident   | Oakwood Apartments             | sev 5 | ambulance_5 ETA 6 min | opened step 5

=== UNIT STATUS ===
police_0        | police     | Metro Police HQ                | DISPATCHED → EVT-0003
police_1        | police     | Elmwood Terrace                | ON_SCENE → EVT-0004
police_2        | police     | Metro Police HQ                | FREE
ambulance_3     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0001
ambulance_4     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0002
ambulance_5     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0005
fire_6          | fire       | Westside Fire Department       | FREE
fire_7          | fire       | Westside Fire Department       | FREE

=== CITY REFERENCE ===
Riverside General Hospital (hospital) → Eastgate Roundabout [3 min], Oakwood Apartments [6 min], Elmwood Terrace [15 min], Lakeview Residences [7 min]
Westside Fire Department (fire_station) → Downtown Mall [1 min], Central Crossroads [2 min], Eastgate Roundabout [8 min]
Metro Police HQ (police_station) → Elmwood Terrace [3 min], Lakeview Residences [6 min], Central Crossroads [11 min], Eastgate Roundabout [10 min]
Oakwood Apartments (residential) → Riverside General Hospital [6 min], Downtown Mall [4 min], Central Crossroads [4 min], Lakeview Residences [9 min], Eastgate Roundabout [6 min]
Elmwood Terrace (residential) → Riverside General Hospital [15 min], Metro Police HQ [3 min], Lakeview Residences [8 min]
Lakeview Residences (residential) → Metro Police HQ [6 min], Oakwood Apartments [9 min], Elmwood Terrace [8 min], Eastgate Roundabout [4 min], Riverside General Hospital [7 min]
Downtown Mall (commercial) → Westside Fire Department [1 min], Oakwood Apartments [4 min], Central Crossroads [1 min], Eastgate Roundabout [8 min]
Eastgate Roundabout (road_junction) → Riverside General Hospital [3 min], Metro Police HQ [10 min], Lakeview Residences [4 min], Downtown Mall [8 min], Oakwood Apartments [6 min], Central Crossroads [8 min], Westside Fire Department [8 min]
Central Crossroads (road_junction) → Westside Fire Department [2 min], Metro Police HQ [11 min], Oakwood Apartments [4 min], Downtown Mall [1 min], Eastgate Roundabout [8 min]

=== DISPATCHER NOTES ===
Step 4: CALL-0004 → police police_1
Step 5: CALL-0005 → ambulance ambulance_5
Step 6: CALL-0006 → Duplicate of EVT-0003

[Assistant] {"action_type": "duplicate", "severity_pred": 4, "is_duplicate": true, "duplicate_of_event_id": "EVT-0004", "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-0008] ===
There's a massive fire — the whole block near Elmwood Terrace is burning. Multiple buildings involved, I can see people trapped. Send everything you've got!

=== ACTIVE EVENTS ===
EVT-0001 | medical    | Elmwood Terrace                | sev 2 | ambulance_3 ETA 15 min | opened step 1
EVT-0002 | medical    | Downtown Mall                  | sev 4 | ambulance_4 ETA 10 min | opened step 2
EVT-0003 | crime      | Downtown Mall                  | sev 1 | police_0 ETA 12 min | opened step 3
EVT-0004 | crime      | Elmwood Terrace                | sev 4 | police_1 ETA 3 min | opened step 4
EVT-0005 | accident   | Oakwood Apartments             | sev 5 | ambulance_5 ETA 6 min | opened step 5

=== UNIT STATUS ===
police_0        | police     | Metro Police HQ                | DISPATCHED → EVT-0003
police_1        | police     | Elmwood Terrace                | ON_SCENE → EVT-0004
police_2        | police     | Metro Police HQ                | FREE
ambulance_3     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0001
ambulance_4     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0002
ambulance_5     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0005
fire_6          | fire       | Westside Fire Department       | FREE
fire_7          | fire       | Westside Fire Department       | FREE

=== CITY REFERENCE ===
Riverside General Hospital (hospital) → Eastgate Roundabout [3 min], Oakwood Apartments [6 min], Elmwood Terrace [15 min], Lakeview Residences [7 min]
Westside Fire Department (fire_station) → Downtown Mall [1 min], Central Crossroads [2 min], Eastgate Roundabout [8 min]
Metro Police HQ (police_station) → Elmwood Terrace [3 min], Lakeview Residences [6 min], Central Crossroads [11 min], Eastgate Roundabout [10 min]
Oakwood Apartments (residential) → Riverside General Hospital [6 min], Downtown Mall [4 min], Central Crossroads [4 min], Lakeview Residences [9 min], Eastgate Roundabout [6 min]
Elmwood Terrace (residential) → Riverside General Hospital [15 min], Metro Police HQ [3 min], Lakeview Residences [8 min]
Lakeview Residences (residential) → Metro Police HQ [6 min], Oakwood Apartments [9 min], Elmwood Terrace [8 min], Eastgate Roundabout [4 min], Riverside General Hospital [7 min]
Downtown Mall (commercial) → Westside Fire Department [1 min], Oakwood Apartments [4 min], Central Crossroads [1 min], Eastgate Roundabout [8 min]
Eastgate Roundabout (road_junction) → Riverside General Hospital [3 min], Metro Police HQ [10 min], Lakeview Residences [4 min], Downtown Mall [8 min], Oakwood Apartments [6 min], Central Crossroads [8 min], Westside Fire Department [8 min]
Central Crossroads (road_junction) → Westside Fire Department [2 min], Metro Police HQ [11 min], Oakwood Apartments [4 min], Downtown Mall [1 min], Eastgate Roundabout [8 min]

=== DISPATCHER NOTES ===
Step 5: CALL-0005 → ambulance ambulance_5
Step 6: CALL-0006 → Duplicate of EVT-0003
Step 7: CALL-0007 → Duplicate of EVT-0004

[Assistant] {"action_type": "dispatch", "severity_pred": 1, "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-0009] ===
There's a massive fire — the whole block near Elmwood Terrace is burning. Multiple buildings involved, I can see people trapped. Send everything you've got!

=== ACTIVE EVENTS ===
EVT-0001 | medical    | Elmwood Terrace                | sev 2 | ambulance_3 ETA 15 min | opened step 1
EVT-0002 | medical    | Downtown Mall                  | sev 4 | ambulance_4 ETA 10 min | opened step 2
EVT-0003 | crime      | Downtown Mall                  | sev 1 | police_0 ETA 12 min | opened step 3
EVT-0005 | accident   | Oakwood Apartments             | sev 5 | ambulance_5 ETA 6 min | opened step 5
EVT-0006 | fire       | Elmwood Terrace                | sev 1 | fire_6 ETA 16 min | opened step 8

=== UNIT STATUS ===
police_0        | police     | Metro Police HQ                | DISPATCHED → EVT-0003
police_1        | police     | Elmwood Terrace                | RETURNING → EVT-0004
police_2        | police     | Metro Police HQ                | FREE
ambulance_3     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0001
ambulance_4     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0002
ambulance_5     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0005
fire_6          | fire       | Westside Fire Department       | DISPATCHED → EVT-0006
fire_7          | fire       | Westside Fire Department       | FREE

=== CITY REFERENCE ===
Riverside General Hospital (hospital) → Eastgate Roundabout [3 min], Oakwood Apartments [6 min], Elmwood Terrace [15 min], Lakeview Residences [7 min]
Westside Fire Department (fire_station) → Downtown Mall [1 min], Central Crossroads [2 min], Eastgate Roundabout [8 min]
Metro Police HQ (police_station) → Elmwood Terrace [3 min], Lakeview Residences [6 min], Central Crossroads [11 min], Eastgate Roundabout [10 min]
Oakwood Apartments (residential) → Riverside General Hospital [6 min], Downtown Mall [4 min], Central Crossroads [4 min], Lakeview Residences [9 min], Eastgate Roundabout [6 min]
Elmwood Terrace (residential) → Riverside General Hospital [15 min], Metro Police HQ [3 min], Lakeview Residences [8 min]
Lakeview Residences (residential) → Metro Police HQ [6 min], Oakwood Apartments [9 min], Elmwood Terrace [8 min], Eastgate Roundabout [4 min], Riverside General Hospital [7 min]
Downtown Mall (commercial) → Westside Fire Department [1 min], Oakwood Apartments [4 min], Central Crossroads [1 min], Eastgate Roundabout [8 min]
Eastgate Roundabout (road_junction) → Riverside General Hospital [3 min], Metro Police HQ [10 min], Lakeview Residences [4 min], Downtown Mall [8 min], Oakwood Apartments [6 min], Central Crossroads [8 min], Westside Fire Department [8 min]
Central Crossroads (road_junction) → Westside Fire Department [2 min], Metro Police HQ [11 min], Oakwood Apartments [4 min], Downtown Mall [1 min], Eastgate Roundabout [8 min]

=== DISPATCHER NOTES ===
Step 6: CALL-0006 → Duplicate of EVT-0003
Step 7: CALL-0007 → Duplicate of EVT-0004
Step 8: CALL-0008 → fire fire_6

[Assistant] {"action_type": "duplicate", "severity_pred": 1, "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-0010] ===
I just got mugged near Elmwood Terrace! The guy ran towards Second Avenue. He had a knife.

=== ACTIVE EVENTS ===
EVT-0001 | medical    | Elmwood Terrace                | sev 2 | ambulance_3 ETA 15 min | opened step 1
EVT-0002 | medical    | Downtown Mall                  | sev 4 | ambulance_4 ETA 10 min | opened step 2
EVT-0003 | crime      | Downtown Mall                  | sev 1 | police_0 ETA 12 min | opened step 3
EVT-0005 | accident   | Oakwood Apartments             | sev 5 | ambulance_5 ETA 6 min | opened step 5
EVT-0006 | fire       | Elmwood Terrace                | sev 1 | fire_6 ETA 16 min | opened step 8

=== UNIT STATUS ===
police_0        | police     | Metro Police HQ                | DISPATCHED → EVT-0003
police_1        | police     | Elmwood Terrace                | RETURNING → EVT-0004
police_2        | police     | Metro Police HQ                | FREE
ambulance_3     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0001
ambulance_4     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0002
ambulance_5     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0005
fire_6          | fire       | Westside Fire Department       | DISPATCHED → EVT-0006
fire_7          | fire       | Westside Fire Department       | FREE

=== CITY REFERENCE ===
Riverside General Hospital (hospital) → Eastgate Roundabout [3 min], Oakwood Apartments [6 min], Elmwood Terrace [15 min], Lakeview Residences [7 min]
Westside Fire Department (fire_station) → Downtown Mall [1 min], Central Crossroads [2 min], Eastgate Roundabout [8 min]
Metro Police HQ (police_station) → Elmwood Terrace [3 min], Lakeview Residences [6 min], Central Crossroads [11 min], Eastgate Roundabout [10 min]
Oakwood Apartments (residential) → Riverside General Hospital [6 min], Downtown Mall [4 min], Central Crossroads [4 min], Lakeview Residences [9 min], Eastgate Roundabout [6 min]
Elmwood Terrace (residential) → Riverside General Hospital [15 min], Metro Police HQ [3 min], Lakeview Residences [8 min]
Lakeview Residences (residential) → Metro Police HQ [6 min], Oakwood Apartments [9 min], Elmwood Terrace [8 min], Eastgate Roundabout [4 min], Riverside General Hospital [7 min]
Downtown Mall (commercial) → Westside Fire Department [1 min], Oakwood Apartments [4 min], Central Crossroads [1 min], Eastgate Roundabout [8 min]
Eastgate Roundabout (road_junction) → Riverside General Hospital [3 min], Metro Police HQ [10 min], Lakeview Residences [4 min], Downtown Mall [8 min], Oakwood Apartments [6 min], Central Crossroads [8 min], Westside Fire Department [8 min]
Central Crossroads (road_junction) → Westside Fire Department [2 min], Metro Police HQ [11 min], Oakwood Apartments [4 min], Downtown Mall [1 min], Eastgate Roundabout [8 min]

=== DISPATCHER NOTES ===
Step 7: CALL-0007 → Duplicate of EVT-0004
Step 8: CALL-0008 → fire fire_6
Step 9: CALL-0009 → Duplicate of EVT-0006

[Assistant] {"action_type": "dispatch", "severity_pred": 4, "is_duplicate": false, "duplicate_of_event_id": null, "vehicle_type": "police", "vehicle_id": "police_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-0011] ===
I'd like to report a shoplifter at Elmwood Terrace on Sunset Road. They already left but I got a good look.

=== ACTIVE EVENTS ===
EVT-0001 | medical    | Elmwood Terrace                | sev 2 | ambulance_3 ETA 15 min | opened step 1
EVT-0002 | medical    | Downtown Mall                  | sev 4 | ambulance_4 ETA 10 min | opened step 2
EVT-0003 | crime      | Downtown Mall                  | sev 1 | police_0 ETA 12 min | opened step 3
EVT-0005 | accident   | Oakwood Apartments             | sev 5 | ambulance_5 ETA 6 min | opened step 5
EVT-0006 | fire       | Elmwood Terrace                | sev 1 | fire_6 ETA 16 min | opened step 8
EVT-0007 | crime      | Elmwood Terrace                | sev 4 | police_2 ETA 3 min | opened step 10

=== UNIT STATUS ===
police_0        | police     | Metro Police HQ                | DISPATCHED → EVT-0003
police_1        | police     | Metro Police HQ                | FREE
police_2        | police     | Metro Police HQ                | DISPATCHED → EVT-0007
ambulance_3     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0001
ambulance_4     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0002
ambulance_5     | ambulance  | Oakwood Apartments             | ON_SCENE → EVT-0005
fire_6          | fire       | Westside Fire Department       | DISPATCHED → EVT-0006
fire_7          | fire       | Westside Fire Department       | FREE

=== CITY REFERENCE ===
Riverside General Hospital (hospital) → Eastgate Roundabout [3 min], Oakwood Apartments [6 min], Elmwood Terrace [15 min], Lakeview Residences [7 min]
Westside Fire Department (fire_station) → Downtown Mall [1 min], Central Crossroads [2 min], Eastgate Roundabout [8 min]
Metro Police HQ (police_station) → Elmwood Terrace [3 min], Lakeview Residences [6 min], Central Crossroads [11 min], Eastgate Roundabout [10 min]
Oakwood Apartments (residential) → Riverside General Hospital [6 min], Downtown Mall [4 min], Central Crossroads [4 min], Lakeview Residences [9 min], Eastgate Roundabout [6 min]
Elmwood Terrace (residential) → Riverside General Hospital [15 min], Metro Police HQ [3 min], Lakeview Residences [8 min]
Lakeview Residences (residential) → Metro Police HQ [6 min], Oakwood Apartments [9 min], Elmwood Terrace [8 min], Eastgate Roundabout [4 min], Riverside General Hospital [7 min]
Downtown Mall (commercial) → Westside Fire Department [1 min], Oakwood Apartments [4 min], Central Crossroads [1 min], Eastgate Roundabout [8 min]
Eastgate Roundabout (road_junction) → Riverside General Hospital [3 min], Metro Police HQ [10 min], Lakeview Residences [4 min], Downtown Mall [8 min], Oakwood Apartments [6 min], Central Crossroads [8 min], Westside Fire Department [8 min]
Central Crossroads (road_junction) → Westside Fire Department [2 min], Metro Police HQ [11 min], Oakwood Apartments [4 min], Downtown Mall [1 min], Eastgate Roundabout [8 min]

=== DISPATCHER NOTES ===
Step 8: CALL-0008 → fire fire_6
Step 9: CALL-0009 → Duplicate of EVT-0006
Step 10: CALL-0010 → police police_2

[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] ===
I just got mugged near Lakeview Residences! The guy ran towards Sunset Avenue. He had a knife.

=== ACTIVE EVENTS ===
EVT-0001 | medical    | Elmwood Terrace                | sev 2 | ambulance_3 ETA 15 min | opened step 1
EVT-0002 | medical    | Downtown Mall                  | sev 4 | ambulance_4 ETA 10 min | opened step 2
EVT-0003 | crime      | Downtown Mall                  | sev 1 | police_0 ETA 12 min | opened step 3
EVT-0005 | accident   | Oakwood Apartments             | sev 5 | ambulance_5 ETA 6 min | opened step 5
EVT-0006 | fire       | Elmwood Terrace                | sev 1 | fire_6 ETA 16 min | opened step 8
EVT-0007 | crime      | Elmwood Terrace                | sev 4 | police_2 ETA 3 min | opened step 10

=== UNIT STATUS ===
police_0        | police     | Metro Police HQ                | DISPATCHED → EVT-0003
police_1        | police     | Metro Police HQ                | FREE
police_2        | police     | Metro Police HQ                | DISPATCHED → EVT-0007
ambulance_3     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0001
ambulance_4     | ambulance  | Downtown Mall                  | ON_SCENE → EVT-0002
ambulance_5     | ambulance  | Oakwood Apartments             | ON_SCENE → EVT-0005
fire_6          | fire       | Westside Fire Department       | DISPATCHED → EVT-0006
fire_7          | fire       | Westside Fire Department       | FREE

=== CITY REFERENCE ===
Riverside General Hospital (hospital) → Eastgate Roundabout [3 min], Oakwood Apartments [6 min], Elmwood Terrace [15 min], Lakeview Residences [7 min]
Westside Fire Department (fire_station) → Downtown Mall [1 min], Central Crossroads [2 min], Eastgate Roundabout [8 min]
Metro Police HQ (police_station) → Elmwood Terrace [3 min], Lakeview Residences [6 min], Central Crossroads [11 min], Eastgate Roundabout [10 min]
Oakwood Apartments (residential) → Riverside General Hospital [6 min], Downtown Mall [4 min], Central Crossroads [4 min], Lakeview Residences [9 min], Eastgate Roundabout [6 min]
Elmwood Terrace (residential) → Riverside General Hospital [15 min], Metro Police HQ [3 min], Lakeview Residences [8 min]
Lakeview Residences (residential) → Metro Police HQ [6 min], Oakwood Apartments [9 min], Elmwood Terrace [8 min], Eastgate Roundabout [4 min], Riverside General Hospital [7 min]
Downtown Mall (commercial) → Westside Fire Department [1 min], Oakwood Apartments [4 min], Central Crossroads [1 min], Eastgate Roundabout [8 min]
Eastgate Roundabout (road_junction) → Riverside General Hospital [3 min], Metro Police HQ [10 min], Lakeview Residences [4 min], Downtown Mall [8 min], Oakwood Apartments [6 min], Central Crossroads [8 min], Westside Fire Department [8 min]
Central Crossroads (road_junction) → Westside Fire Department [2 min], Metro Police HQ [11 min], Oakwood Apartments [4 min], Downtown Mall [1 min], Eastgate Roundabout [8 min]

=== DISPATCHER NOTES ===
Step 9: CALL-0009 → Duplicate of EVT-0006
Step 10: CALL-0010 → police police_2
Step 11: CALL-0011 → Duplicate of EVT-0007

[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-0013] ===
I'd like to report a shoplifter at Lakeview Residences on Main Boulevard. They already left but I got a good look.

=== ACTIVE EVENTS ===
EVT-0001 | medical    | Elmwood Terrace                | sev 2 | ambulance_3 ETA 15 min | opened step 1
EVT-0002 | medical    | Downtown Mall                  | sev 4 | ambulance_4 ETA 10 min | opened step 2
EVT-0003 | crime      | Downtown Mall                  | sev 1 | police_0 ETA 12 min | opened step 3
EVT-0006 | fire       | Elmwood Terrace                | sev 1 | fire_6 ETA 16 min | opened step 8
EVT-0007 | crime      | Elmwood Terrace                | sev 4 | police_2 ETA 3 min | opened step 10
EVT-0008 | crime      | Lakeview Residences            | sev 1 | police_1 ETA 5 min | opened step 12

=== UNIT STATUS ===
police_0        | police     | Metro Police HQ                | DISPATCHED → EVT-0003
police_1        | police     | Metro Police HQ                | DISPATCHED → EVT-0008
police_2        | police     | Elmwood Terrace                | ON_SCENE → EVT-0007
ambulance_3     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0001
ambulance_4     | ambulance  | Downtown Mall                  | ON_SCENE → EVT-0002
ambulance_5     | ambulance  | Oakwood Apartments             | RETURNING → EVT-0005
fire_6          | fire       | Westside Fire Department       | DISPATCHED → EVT-0006
fire_7          | fire       | Westside Fire Department       | FREE

=== CITY REFERENCE ===
Riverside General Hospital (hospital) → Eastgate Roundabout [3 min], Oakwood Apartments [6 min], Elmwood Terrace [15 min], Lakeview Residences [7 min]
Westside Fire Department (fire_station) → Downtown Mall [1 min], Central Crossroads [2 min], Eastgate Roundabout [8 min]
Metro Police HQ (police_station) → Elmwood Terrace [3 min], Lakeview Residences [6 min], Central Crossroads [11 min], Eastgate Roundabout [10 min]
Oakwood Apartments (residential) → Riverside General Hospital [6 min], Downtown Mall [4 min], Central Crossroads [4 min], Lakeview Residences [9 min], Eastgate Roundabout [6 min]
Elmwood Terrace (residential) → Riverside General Hospital [15 min], Metro Police HQ [3 min], Lakeview Residences [8 min]
Lakeview Residences (residential) → Metro Police HQ [6 min], Oakwood Apartments [9 min], Elmwood Terrace [8 min], Eastgate Roundabout [4 min], Riverside General Hospital [7 min]
Downtown Mall (commercial) → Westside Fire Department [1 min], Oakwood Apartments [4 min], Central Crossroads [1 min], Eastgate Roundabout [8 min]
Eastgate Roundabout (road_junction) → Riverside General Hospital [3 min], Metro Police HQ [10 min], Lakeview Residences [4 min], Downtown Mall [8 min], Oakwood Apartments [6 min], Central Crossroads [8 min], Westside Fire Department [8 min]
Central Crossroads (road_junction) → Westside Fire Department [2 min], Metro Police HQ [11 min], Oakwood Apartments [4 min], Downtown Mall [1 min], Eastgate Roundabout [8 min]

=== DISPATCHER NOTES ===
Step 10: CALL-0010 → police police_2
Step 11: CALL-0011 → Duplicate of EVT-0007
Step 12: CALL-0012 → police police_1

[Assistant] {"action_type": "duplicate", "severity_pred": 1, "is_duplicate": true, "duplicate_of_event_id": "EVT-0008", "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-0014] ===
I'd like to report a shoplifter at Downtown Mall on Park Avenue. They already left but I got a good look.

=== ACTIVE EVENTS ===
EVT-0001 | medical    | Elmwood Terrace                | sev 2 | ambulance_3 ETA 15 min | opened step 1
EVT-0003 | crime      | Downtown Mall                  | sev 1 | police_0 ETA 12 min | opened step 3
EVT-0006 | fire       | Elmwood Terrace                | sev 1 | fire_6 ETA 16 min | opened step 8
EVT-0007 | crime      | Elmwood Terrace                | sev 4 | police_2 ETA 3 min | opened step 10
EVT-0008 | crime      | Lakeview Residences            | sev 1 | police_1 ETA 5 min | opened step 12

=== UNIT STATUS ===
police_0        | police     | Metro Police HQ                | DISPATCHED → EVT-0003
police_1        | police     | Metro Police HQ                | DISPATCHED → EVT-0008
police_2        | police     | Elmwood Terrace                | ON_SCENE → EVT-0007
ambulance_3     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0001
ambulance_4     | ambulance  | Downtown Mall                  | RETURNING → EVT-0002
ambulance_5     | ambulance  | Oakwood Apartments             | RETURNING → EVT-0005
fire_6          | fire       | Westside Fire Department       | DISPATCHED → EVT-0006
fire_7          | fire       | Westside Fire Department       | FREE

=== CITY REFERENCE ===
Riverside General Hospital (hospital) → Eastgate Roundabout [3 min], Oakwood Apartments [6 min], Elmwood Terrace [15 min], Lakeview Residences [7 min]
Westside Fire Department (fire_station) → Downtown Mall [1 min], Central Crossroads [2 min], Eastgate Roundabout [8 min]
Metro Police HQ (police_station) → Elmwood Terrace [3 min], Lakeview Residences [6 min], Central Crossroads [11 min], Eastgate Roundabout [10 min]
Oakwood Apartments (residential) → Riverside General Hospital [6 min], Downtown Mall [4 min], Central Crossroads [4 min], Lakeview Residences [9 min], Eastgate Roundabout [6 min]
Elmwood Terrace (residential) → Riverside General Hospital [15 min], Metro Police HQ [3 min], Lakeview Residences [8 min]
Lakeview Residences (residential) → Metro Police HQ [6 min], Oakwood Apartments [9 min], Elmwood Terrace [8 min], Eastgate Roundabout [4 min], Riverside General Hospital [7 min]
Downtown Mall (commercial) → Westside Fire Department [1 min], Oakwood Apartments [4 min], Central Crossroads [1 min], Eastgate Roundabout [8 min]
Eastgate Roundabout (road_junction) → Riverside General Hospital [3 min], Metro Police HQ [10 min], Lakeview Residences [4 min], Downtown Mall [8 min], Oakwood Apartments [6 min], Central Crossroads [8 min], Westside Fire Department [8 min]
Central Crossroads (road_junction) → Westside Fire Department [2 min], Metro Police HQ [11 min], Oakwood Apartments [4 min], Downtown Mall [1 min], Eastgate Roundabout [8 min]

=== DISPATCHER NOTES ===
Step 11: CALL-0011 → Duplicate of EVT-0007
Step 12: CALL-0012 → police police_1
Step 13: CALL-0013 → Duplicate of EVT-0008

[Assistant] {"action_type": "hold", "severity_pred": 3, "is_duplicate": false, "duplicate_of_event_id": null, "vehicle_type": "police", "vehicle_id": "police_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-0015] ===
Pedestrian hit by a truck at Elm Lane near Lakeview Residences. They're not moving. There's blood everywhere.

=== ACTIVE EVENTS ===
EVT-0001 | medical    | Elmwood Terrace                | sev 2 | ambulance_3 ETA 15 min | opened step 1
EVT-0003 | crime      | Downtown Mall                  | sev 1 | police_0 ETA 12 min | opened step 3
EVT-0006 | fire       | Elmwood Terrace                | sev 1 | fire_6 ETA 16 min | opened step 8
EVT-0008 | crime      | Lakeview Residences            | sev 1 | police_1 ETA 5 min | opened step 12
EVT-0009 | crime      | Downtown Mall                  | sev 3 | HELD → police_2 | opened step 14

=== UNIT STATUS ===
police_0        | police     | Downtown Mall                  | ON_SCENE → EVT-0003
police_1        | police     | Metro Police HQ                | DISPATCHED → EVT-0008
police_2        | police     | Elmwood Terrace                | RETURNING → EVT-0007
ambulance_3     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0001
ambulance_4     | ambulance  | Downtown Mall                  | RETURNING → EVT-0002
ambulance_5     | ambulance  | Riverside General Hospital     | FREE
fire_6          | fire       | Westside Fire Department       | DISPATCHED → EVT-0006
fire_7          | fire       | Westside Fire Department       | FREE

=== CITY REFERENCE ===
Riverside General Hospital (hospital) → Eastgate Roundabout [3 min], Oakwood Apartments [6 min], Elmwood Terrace [15 min], Lakeview Residences [7 min]
Westside Fire Department (fire_station) → Downtown Mall [1 min], Central Crossroads [2 min], Eastgate Roundabout [8 min]
Metro Police HQ (police_station) → Elmwood Terrace [3 min], Lakeview Residences [6 min], Central Crossroads [11 min], Eastgate Roundabout [10 min]
Oakwood Apartments (residential) → Riverside General Hospital [6 min], Downtown Mall [4 min], Central Crossroads [4 min], Lakeview Residences [9 min], Eastgate Roundabout [6 min]
Elmwood Terrace (residential) → Riverside General Hospital [15 min], Metro Police HQ [3 min], Lakeview Residences [8 min]
Lakeview Residences (residential) → Metro Police HQ [6 min], Oakwood Apartments [9 min], Elmwood Terrace [8 min], Eastgate Roundabout [4 min], Riverside General Hospital [7 min]
Downtown Mall (commercial) → Westside Fire Department [1 min], Oakwood Apartments [4 min], Central Crossroads [1 min], Eastgate Roundabout [8 min]
Eastgate Roundabout (road_junction) → Riverside General Hospital [3 min], Metro Police HQ [10 min], Lakeview Residences [4 min], Downtown Mall [8 min], Oakwood Apartments [6 min], Central Crossroads [8 min], Westside Fire Department [8 min]
Central Crossroads (road_junction) → Westside Fire Department [2 min], Metro Police HQ [11 min], Oakwood Apartments [4 min], Downtown Mall [1 min], Eastgate Roundabout [8 min]

=== DISPATCHER NOTES ===
Step 12: CALL-0012 → police police_1
Step 13: CALL-0013 → Duplicate of EVT-0008
Step 14: CALL-0014 → HOLD (police, waiting for police_2)

[Assistant] {"action_type": "dispatch", "severity_pred": 4, "is_duplicate": false, "duplicate_of_event_id": null, "vehicle_type": "ambulance", "vehicle_id": "ambulance_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-0001] ===
Active shooter at Aspen Ridge! Multiple shots fired, people running everywhere. Send everyone NOW!

=== ACTIVE EVENTS ===
(none)

=== UNIT STATUS ===
police_0        | police     | Metro Police HQ                | FREE
police_1        | police     | Metro Police HQ                | 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       | Engine House No. 1             | FREE
fire_6          | fire       | Engine House No. 1             | FREE
fire_7          | fire       | Engine House No. 1             | FREE

=== CITY REFERENCE ===
Riverside General Hospital (hospital) → Engine House No. 1 [4 min], Downtown Mall [6 min], Hilltop Manor [9 min], Eastgate Roundabout [7 min], Maple Heights [12 min]
Engine House No. 1 (fire_station) → Riverside General Hospital [4 min], Downtown Mall [4 min], Birchwood Place [7 min], Hilltop Manor [8 min], Eastgate Roundabout [10 min]
Metro Police HQ (police_station) → Aspen Ridge [2 min], Maple Heights [3 min], Parkside Shopping Center [4 min], Birchwood Place [5 min]
Aspen Ridge (residential) → Metro Police HQ [2 min], Birchwood Place [6 min], Parkside Shopping Center [4 min], Maple Heights [4 min]
Maple Heights (residential) → Metro Police HQ [3 min], Parkside Shopping Center [4 min], Aspen Ridge [4 min], Riverside General Hospital [12 min], Hilltop Manor [8 min]
Birchwood Place (residential) → Engine House No. 1 [7 min], Aspen Ridge [6 min], Metro Police HQ [5 min], Downtown Mall [7 min]
Hilltop Manor (residential) → Riverside General Hospital [9 min], Eastgate Roundabout [1 min], Parkside Shopping Center [5 min], Engine House No. 1 [8 min], Maple Heights [8 min]
Parkside Shopping Center (commercial) → Metro Police HQ [4 min], Aspen Ridge [4 min], Maple Heights [4 min], Hilltop Manor [5 min], Eastgate Roundabout [8 min]
Downtown Mall (commercial) → Riverside General Hospital [6 min], Engine House No. 1 [4 min], Birchwood Place [7 min], Eastgate Roundabout [13 min]
Eastgate Roundabout (road_junction) → Riverside General Hospital [7 min], Hilltop Manor [1 min], Parkside Shopping Center [8 min], Engine House No. 1 [10 min], Downtown Mall [13 min]

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

[Assistant] {"action_type": "dispatch", "severity_pred": 3, "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] ===
My husband just collapsed and he won't wake up! He's breathing weird. We're at 630 Oak Street, please hurry!

=== ACTIVE EVENTS ===
EVT-0001 | crime      | Aspen Ridge                    | sev 3 | police_0 ETA 1 min | opened step 1

=== UNIT STATUS ===
police_0        | police     | Aspen Ridge                    | ON_SCENE → EVT-0001
police_1        | police     | Metro Police HQ                | 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       | Engine House No. 1             | FREE
fire_6          | fire       | Engine House No. 1             | FREE
fire_7          | fire       | Engine House No. 1             | FREE

=== CITY REFERENCE ===
Riverside General Hospital (hospital) → Engine House No. 1 [4 min], Downtown Mall [6 min], Hilltop Manor [9 min], Eastgate Roundabout [7 min], Maple Heights [12 min]
Engine House No. 1 (fire_station) → Riverside General Hospital [4 min], Downtown Mall [4 min], Birchwood Place [7 min], Hilltop Manor [8 min], Eastgate Roundabout [10 min]
Metro Police HQ (police_station) → Aspen Ridge [2 min], Maple Heights [3 min], Parkside Shopping Center [4 min], Birchwood Place [5 min]
Aspen Ridge (residential) → Metro Police HQ [2 min], Birchwood Place [6 min], Parkside Shopping Center [4 min], Maple Heights [4 min]
Maple Heights (residential) → Metro Police HQ [3 min], Parkside Shopping Center [4 min], Aspen Ridge [4 min], Riverside General Hospital [12 min], Hilltop Manor [8 min]
Birchwood Place (residential) → Engine House No. 1 [7 min], Aspen Ridge [6 min], Metro Police HQ [5 min], Downtown Mall [7 min]
Hilltop Manor (residential) → Riverside General Hospital [9 min], Eastgate Roundabout [1 min], Parkside Shopping Center [5 min], Engine House No. 1 [8 min], Maple Heights [8 min]
Parkside Shopping Center (commercial) → Metro Police HQ [4 min], Aspen Ridge [4 min], Maple Heights [4 min], Hilltop Manor [5 min], Eastgate Roundabout [8 min]
Downtown Mall (commercial) → Riverside General Hospital [6 min], Engine House No. 1 [4 min], Birchwood Place [7 min], Eastgate Roundabout [13 min]
Eastgate Roundabout (road_junction) → Riverside General Hospital [7 min], Hilltop Manor [1 min], Parkside Shopping Center [8 min], Engine House No. 1 [10 min], Downtown Mall [13 min]

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

[Assistant] {"action_type": "dispatch", "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-0003] ===
Building's on fire on Third Boulevard near Hilltop Manor! People are yelling from the windows, please hurry!

=== ACTIVE EVENTS ===
EVT-0001 | crime      | Aspen Ridge                    | sev 3 | police_0 ETA 1 min | opened step 1
EVT-0002 | medical    | Maple Heights                  | sev 2 | ambulance_2 ETA 11 min | opened step 2

=== UNIT STATUS ===
police_0        | police     | Aspen Ridge                    | ON_SCENE → EVT-0001
police_1        | police     | Metro Police HQ                | FREE
ambulance_2     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0002
ambulance_3     | ambulance  | Riverside General Hospital     | FREE
ambulance_4     | ambulance  | Riverside General Hospital     | FREE
fire_5          | fire       | Engine House No. 1             | FREE
fire_6          | fire       | Engine House No. 1             | FREE
fire_7          | fire       | Engine House No. 1             | FREE

=== CITY REFERENCE ===
Riverside General Hospital (hospital) → Engine House No. 1 [4 min], Downtown Mall [6 min], Hilltop Manor [9 min], Eastgate Roundabout [7 min], Maple Heights [12 min]
Engine House No. 1 (fire_station) → Riverside General Hospital [4 min], Downtown Mall [4 min], Birchwood Place [7 min], Hilltop Manor [8 min], Eastgate Roundabout [10 min]
Metro Police HQ (police_station) → Aspen Ridge [2 min], Maple Heights [3 min], Parkside Shopping Center [4 min], Birchwood Place [5 min]
Aspen Ridge (residential) → Metro Police HQ [2 min], Birchwood Place [6 min], Parkside Shopping Center [4 min], Maple Heights [4 min]
Maple Heights (residential) → Metro Police HQ [3 min], Parkside Shopping Center [4 min], Aspen Ridge [4 min], Riverside General Hospital [12 min], Hilltop Manor [8 min]
Birchwood Place (residential) → Engine House No. 1 [7 min], Aspen Ridge [6 min], Metro Police HQ [5 min], Downtown Mall [7 min]
Hilltop Manor (residential) → Riverside General Hospital [9 min], Eastgate Roundabout [1 min], Parkside Shopping Center [5 min], Engine House No. 1 [8 min], Maple Heights [8 min]
Parkside Shopping Center (commercial) → Metro Police HQ [4 min], Aspen Ridge [4 min], Maple Heights [4 min], Hilltop Manor [5 min], Eastgate Roundabout [8 min]
Downtown Mall (commercial) → Riverside General Hospital [6 min], Engine House No. 1 [4 min], Birchwood Place [7 min], Eastgate Roundabout [13 min]
Eastgate Roundabout (road_junction) → Riverside General Hospital [7 min], Hilltop Manor [1 min], Parkside Shopping Center [8 min], Engine House No. 1 [10 min], Downtown Mall [13 min]

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

[Assistant] {"action_type": "dispatch", "severity_pred": 3, "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-0004] ===
I'd like to report a shoplifter at Downtown Mall on Lake Lane. They already left but I got a good look.

=== ACTIVE EVENTS ===
EVT-0002 | medical    | Maple Heights                  | sev 2 | ambulance_2 ETA 11 min | opened step 2
EVT-0003 | fire       | Hilltop Manor                  | sev 3 | fire_5 ETA 7 min | opened step 3

=== UNIT STATUS ===
police_0        | police     | Aspen Ridge                    | RETURNING → EVT-0001
police_1        | police     | Metro Police HQ                | FREE
ambulance_2     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0002
ambulance_3     | ambulance  | Riverside General Hospital     | FREE
ambulance_4     | ambulance  | Riverside General Hospital     | FREE
fire_5          | fire       | Engine House No. 1             | DISPATCHED → EVT-0003
fire_6          | fire       | Engine House No. 1             | FREE
fire_7          | fire       | Engine House No. 1             | FREE

=== CITY REFERENCE ===
Riverside General Hospital (hospital) → Engine House No. 1 [4 min], Downtown Mall [6 min], Hilltop Manor [9 min], Eastgate Roundabout [7 min], Maple Heights [12 min]
Engine House No. 1 (fire_station) → Riverside General Hospital [4 min], Downtown Mall [4 min], Birchwood Place [7 min], Hilltop Manor [8 min], Eastgate Roundabout [10 min]
Metro Police HQ (police_station) → Aspen Ridge [2 min], Maple Heights [3 min], Parkside Shopping Center [4 min], Birchwood Place [5 min]
Aspen Ridge (residential) → Metro Police HQ [2 min], Birchwood Place [6 min], Parkside Shopping Center [4 min], Maple Heights [4 min]
Maple Heights (residential) → Metro Police HQ [3 min], Parkside Shopping Center [4 min], Aspen Ridge [4 min], Riverside General Hospital [12 min], Hilltop Manor [8 min]
Birchwood Place (residential) → Engine House No. 1 [7 min], Aspen Ridge [6 min], Metro Police HQ [5 min], Downtown Mall [7 min]
Hilltop Manor (residential) → Riverside General Hospital [9 min], Eastgate Roundabout [1 min], Parkside Shopping Center [5 min], Engine House No. 1 [8 min], Maple Heights [8 min]
Parkside Shopping Center (commercial) → Metro Police HQ [4 min], Aspen Ridge [4 min], Maple Heights [4 min], Hilltop Manor [5 min], Eastgate Roundabout [8 min]
Downtown Mall (commercial) → Riverside General Hospital [6 min], Engine House No. 1 [4 min], Birchwood Place [7 min], Eastgate Roundabout [13 min]
Eastgate Roundabout (road_junction) → Riverside General Hospital [7 min], Hilltop Manor [1 min], Parkside Shopping Center [8 min], Engine House No. 1 [10 min], Downtown Mall [13 min]

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

[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-0005] ===
Fender bender on Spring Street near Aspen Ridge. No injuries but the cars are blocking the road.

=== ACTIVE EVENTS ===
EVT-0002 | medical    | Maple Heights                  | sev 2 | ambulance_2 ETA 11 min | opened step 2
EVT-0003 | fire       | Hilltop Manor                  | sev 3 | fire_5 ETA 7 min | opened step 3
EVT-0004 | crime      | Downtown Mall                  | sev 1 | police_1 ETA 11 min | opened step 4

=== UNIT STATUS ===
police_0        | police     | Aspen Ridge                    | RETURNING → EVT-0001
police_1        | police     | Metro Police HQ                | DISPATCHED → EVT-0004
ambulance_2     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0002
ambulance_3     | ambulance  | Riverside General Hospital     | FREE
ambulance_4     | ambulance  | Riverside General Hospital     | FREE
fire_5          | fire       | Engine House No. 1             | DISPATCHED → EVT-0003
fire_6          | fire       | Engine House No. 1             | FREE
fire_7          | fire       | Engine House No. 1             | FREE

=== CITY REFERENCE ===
Riverside General Hospital (hospital) → Engine House No. 1 [4 min], Downtown Mall [6 min], Hilltop Manor [9 min], Eastgate Roundabout [7 min], Maple Heights [12 min]
Engine House No. 1 (fire_station) → Riverside General Hospital [4 min], Downtown Mall [4 min], Birchwood Place [7 min], Hilltop Manor [8 min], Eastgate Roundabout [10 min]
Metro Police HQ (police_station) → Aspen Ridge [2 min], Maple Heights [3 min], Parkside Shopping Center [4 min], Birchwood Place [5 min]
Aspen Ridge (residential) → Metro Police HQ [2 min], Birchwood Place [6 min], Parkside Shopping Center [4 min], Maple Heights [4 min]
Maple Heights (residential) → Metro Police HQ [3 min], Parkside Shopping Center [4 min], Aspen Ridge [4 min], Riverside General Hospital [12 min], Hilltop Manor [8 min]
Birchwood Place (residential) → Engine House No. 1 [7 min], Aspen Ridge [6 min], Metro Police HQ [5 min], Downtown Mall [7 min]
Hilltop Manor (residential) → Riverside General Hospital [9 min], Eastgate Roundabout [1 min], Parkside Shopping Center [5 min], Engine House No. 1 [8 min], Maple Heights [8 min]
Parkside Shopping Center (commercial) → Metro Police HQ [4 min], Aspen Ridge [4 min], Maple Heights [4 min], Hilltop Manor [5 min], Eastgate Roundabout [8 min]
Downtown Mall (commercial) → Riverside General Hospital [6 min], Engine House No. 1 [4 min], Birchwood Place [7 min], Eastgate Roundabout [13 min]
Eastgate Roundabout (road_junction) → Riverside General Hospital [7 min], Hilltop Manor [1 min], Parkside Shopping Center [8 min], Engine House No. 1 [10 min], Downtown Mall [13 min]

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

[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-0006] ===
Hi, I think I see some smoke coming from behind Maple Heights. It might be nothing but thought I should call.

=== ACTIVE EVENTS ===
EVT-0002 | medical    | Maple Heights                  | sev 2 | ambulance_2 ETA 11 min | opened step 2
EVT-0003 | fire       | Hilltop Manor                  | sev 3 | fire_5 ETA 7 min | opened step 3
EVT-0004 | crime      | Downtown Mall                  | sev 1 | police_1 ETA 11 min | opened step 4
EVT-0005 | accident   | Aspen Ridge                    | sev 4 | ambulance_3 ETA 15 min | opened step 5

=== UNIT STATUS ===
police_0        | police     | Metro Police HQ                | FREE
police_1        | police     | Metro Police HQ                | DISPATCHED → EVT-0004
ambulance_2     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0002
ambulance_3     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0005
ambulance_4     | ambulance  | Riverside General Hospital     | FREE
fire_5          | fire       | Engine House No. 1             | DISPATCHED → EVT-0003
fire_6          | fire       | Engine House No. 1             | FREE
fire_7          | fire       | Engine House No. 1             | FREE

=== CITY REFERENCE ===
Riverside General Hospital (hospital) → Engine House No. 1 [4 min], Downtown Mall [6 min], Hilltop Manor [9 min], Eastgate Roundabout [7 min], Maple Heights [12 min]
Engine House No. 1 (fire_station) → Riverside General Hospital [4 min], Downtown Mall [4 min], Birchwood Place [7 min], Hilltop Manor [8 min], Eastgate Roundabout [10 min]
Metro Police HQ (police_station) → Aspen Ridge [2 min], Maple Heights [3 min], Parkside Shopping Center [4 min], Birchwood Place [5 min]
Aspen Ridge (residential) → Metro Police HQ [2 min], Birchwood Place [6 min], Parkside Shopping Center [4 min], Maple Heights [4 min]
Maple Heights (residential) → Metro Police HQ [3 min], Parkside Shopping Center [4 min], Aspen Ridge [4 min], Riverside General Hospital [12 min], Hilltop Manor [8 min]
Birchwood Place (residential) → Engine House No. 1 [7 min], Aspen Ridge [6 min], Metro Police HQ [5 min], Downtown Mall [7 min]
Hilltop Manor (residential) → Riverside General Hospital [9 min], Eastgate Roundabout [1 min], Parkside Shopping Center [5 min], Engine House No. 1 [8 min], Maple Heights [8 min]
Parkside Shopping Center (commercial) → Metro Police HQ [4 min], Aspen Ridge [4 min], Maple Heights [4 min], Hilltop Manor [5 min], Eastgate Roundabout [8 min]
Downtown Mall (commercial) → Riverside General Hospital [6 min], Engine House No. 1 [4 min], Birchwood Place [7 min], Eastgate Roundabout [13 min]
Eastgate Roundabout (road_junction) → Riverside General Hospital [7 min], Hilltop Manor [1 min], Parkside Shopping Center [8 min], Engine House No. 1 [10 min], Downtown Mall [13 min]

=== DISPATCHER NOTES ===
Step 3: CALL-0003 → fire fire_5
Step 4: CALL-0004 → police police_1
Step 5: CALL-0005 → ambulance ambulance_3

[Assistant] {"action_type": "dispatch", "severity_pred": 1, "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-0007] ===
Yeah there's a small fire in a dumpster near Hilltop Manor on Third Boulevard. It's not spreading but it's pretty smoky.

=== ACTIVE EVENTS ===
EVT-0002 | medical    | Maple Heights                  | sev 2 | ambulance_2 ETA 11 min | opened step 2
EVT-0003 | fire       | Hilltop Manor                  | sev 3 | fire_5 ETA 7 min | opened step 3
EVT-0004 | crime      | Downtown Mall                  | sev 1 | police_1 ETA 11 min | opened step 4
EVT-0005 | accident   | Aspen Ridge                    | sev 4 | ambulance_3 ETA 15 min | opened step 5
EVT-0006 | fire       | Maple Heights                  | sev 1 | fire_6 ETA 14 min | opened step 6

=== UNIT STATUS ===
police_0        | police     | Metro Police HQ                | FREE
police_1        | police     | Metro Police HQ                | DISPATCHED → EVT-0004
ambulance_2     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0002
ambulance_3     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0005
ambulance_4     | ambulance  | Riverside General Hospital     | FREE
fire_5          | fire       | Engine House No. 1             | DISPATCHED → EVT-0003
fire_6          | fire       | Engine House No. 1             | DISPATCHED → EVT-0006
fire_7          | fire       | Engine House No. 1             | FREE

=== CITY REFERENCE ===
Riverside General Hospital (hospital) → Engine House No. 1 [4 min], Downtown Mall [6 min], Hilltop Manor [9 min], Eastgate Roundabout [7 min], Maple Heights [12 min]
Engine House No. 1 (fire_station) → Riverside General Hospital [4 min], Downtown Mall [4 min], Birchwood Place [7 min], Hilltop Manor [8 min], Eastgate Roundabout [10 min]
Metro Police HQ (police_station) → Aspen Ridge [2 min], Maple Heights [3 min], Parkside Shopping Center [4 min], Birchwood Place [5 min]
Aspen Ridge (residential) → Metro Police HQ [2 min], Birchwood Place [6 min], Parkside Shopping Center [4 min], Maple Heights [4 min]
Maple Heights (residential) → Metro Police HQ [3 min], Parkside Shopping Center [4 min], Aspen Ridge [4 min], Riverside General Hospital [12 min], Hilltop Manor [8 min]
Birchwood Place (residential) → Engine House No. 1 [7 min], Aspen Ridge [6 min], Metro Police HQ [5 min], Downtown Mall [7 min]
Hilltop Manor (residential) → Riverside General Hospital [9 min], Eastgate Roundabout [1 min], Parkside Shopping Center [5 min], Engine House No. 1 [8 min], Maple Heights [8 min]
Parkside Shopping Center (commercial) → Metro Police HQ [4 min], Aspen Ridge [4 min], Maple Heights [4 min], Hilltop Manor [5 min], Eastgate Roundabout [8 min]
Downtown Mall (commercial) → Riverside General Hospital [6 min], Engine House No. 1 [4 min], Birchwood Place [7 min], Eastgate Roundabout [13 min]
Eastgate Roundabout (road_junction) → Riverside General Hospital [7 min], Hilltop Manor [1 min], Parkside Shopping Center [8 min], Engine House No. 1 [10 min], Downtown Mall [13 min]

=== DISPATCHER NOTES ===
Step 4: CALL-0004 → police police_1
Step 5: CALL-0005 → ambulance ambulance_3
Step 6: CALL-0006 → fire fire_6

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