[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] ===
A cyclist got hit by a car near Magnolia Gardens. They're on the ground, conscious but bleeding from the head.

=== ACTIVE EVENTS ===
EVT-0002 | crime      | Parkside Shopping Center       | sev 5 | police_0 ETA 8 min | opened step 4
EVT-0004 | crime      | Parkside Shopping Center       | sev 3 | police_1 ETA 8 min | opened step 6
EVT-0006 | medical    | Spring Meadow Estates          | sev 5 | ambulance_5 ETA 11 min | opened step 8
EVT-0007 | crime      | Magnolia Gardens               | sev 4 | police_2 ETA 11 min | opened step 9
EVT-0008 | accident   | Cedar Park Village             | sev 5 | ambulance_3 ETA 8 min | opened step 10
EVT-0009 | accident   | Cedar Park Village             | sev 5 | HELD → ambulance_4 | opened step 11

=== UNIT STATUS ===
police_0        | police     | Parkside Shopping Center       | ON_SCENE → EVT-0002
police_1        | police     | Central Police Station         | DISPATCHED → EVT-0004
police_2        | police     | Central Police Station         | DISPATCHED → EVT-0007
ambulance_3     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0008
ambulance_4     | ambulance  | Magnolia Gardens               | RETURNING → EVT-0005
ambulance_5     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0006
fire_6          | fire       | Spring Meadow Estates          | RETURNING → EVT-0001
fire_7          | fire       | Westside Fire Department       | FREE

=== CITY REFERENCE ===
Riverside General Hospital (hospital) → Magnolia Gardens [3 min], Westside Fire Department [5 min], Parkside Shopping Center [6 min], Cedar Park Village [8 min], Central Police Station [9 min], Spring Meadow Estates [13 min]
Westside Fire Department (fire_station) → Riverside General Hospital [5 min], Central Police Station [6 min], Parkside Shopping Center [5 min], Spring Meadow Estates [11 min], Cedar Park Village [9 min], Magnolia Gardens [8 min]
Central Police Station (police_station) → Westside Fire Department [6 min], Parkside Shopping Center [8 min], Riverside General Hospital [9 min]
Spring Meadow Estates (residential) → Cedar Park Village [4 min], Northside Junction [3 min], Parkside Shopping Center [5 min], Westside Fire Department [11 min], Riverside General Hospital [13 min]
Cedar Park Village (residential) → Riverside General Hospital [8 min], Spring Meadow Estates [4 min], Northside Junction [3 min], Parkside Shopping Center [2 min], Westside Fire Department [9 min], Magnolia Gardens [10 min]
Magnolia Gardens (residential) → Riverside General Hospital [3 min], Westside Fire Department [8 min], Parkside Shopping Center [8 min], Cedar Park Village [10 min]
Parkside Shopping Center (commercial) → Riverside General Hospital [6 min], Westside Fire Department [5 min], Central Police Station [8 min], Spring Meadow Estates [5 min], Cedar Park Village [2 min], Magnolia Gardens [8 min], Northside Junction [4 min]
Northside Junction (road_junction) → Spring Meadow Estates [3 min], Cedar Park Village [3 min], Parkside Shopping Center [4 min]

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

[Assistant] {"action_type": "hold", "severity_pred": 3, "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-0014] ===
There's been some kind of mass incident at Parkside Shopping Center — multiple people down, some not moving. We need everything, Pine Avenue entrance.

=== ACTIVE EVENTS ===
EVT-0004 | crime      | Parkside Shopping Center       | sev 3 | police_1 ETA 8 min | opened step 6
EVT-0006 | medical    | Spring Meadow Estates          | sev 5 | ambulance_5 ETA 11 min | opened step 8
EVT-0007 | crime      | Magnolia Gardens               | sev 4 | police_2 ETA 11 min | opened step 9
EVT-0008 | accident   | Cedar Park Village             | sev 5 | ambulance_3 ETA 8 min | opened step 10
EVT-0009 | accident   | Cedar Park Village             | sev 5 | ambulance_4 ETA 8 min | opened step 11
EVT-0010 | accident   | Magnolia Gardens               | sev 3 | HELD → ambulance_4 | opened step 13

=== UNIT STATUS ===
police_0        | police     | Parkside Shopping Center       | RETURNING → EVT-0002
police_1        | police     | Parkside Shopping Center       | ON_SCENE → EVT-0004
police_2        | police     | Central Police Station         | DISPATCHED → EVT-0007
ambulance_3     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0008
ambulance_4     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0009
ambulance_5     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0006
fire_6          | fire       | Westside Fire Department       | FREE
fire_7          | fire       | Westside Fire Department       | FREE

=== CITY REFERENCE ===
Riverside General Hospital (hospital) → Magnolia Gardens [3 min], Westside Fire Department [5 min], Parkside Shopping Center [6 min], Cedar Park Village [8 min], Central Police Station [9 min], Spring Meadow Estates [13 min]
Westside Fire Department (fire_station) → Riverside General Hospital [5 min], Central Police Station [6 min], Parkside Shopping Center [5 min], Spring Meadow Estates [11 min], Cedar Park Village [9 min], Magnolia Gardens [8 min]
Central Police Station (police_station) → Westside Fire Department [6 min], Parkside Shopping Center [8 min], Riverside General Hospital [9 min]
Spring Meadow Estates (residential) → Cedar Park Village [4 min], Northside Junction [3 min], Parkside Shopping Center [5 min], Westside Fire Department [11 min], Riverside General Hospital [13 min]
Cedar Park Village (residential) → Riverside General Hospital [8 min], Spring Meadow Estates [4 min], Northside Junction [3 min], Parkside Shopping Center [2 min], Westside Fire Department [9 min], Magnolia Gardens [10 min]
Magnolia Gardens (residential) → Riverside General Hospital [3 min], Westside Fire Department [8 min], Parkside Shopping Center [8 min], Cedar Park Village [10 min]
Parkside Shopping Center (commercial) → Riverside General Hospital [6 min], Westside Fire Department [5 min], Central Police Station [8 min], Spring Meadow Estates [5 min], Cedar Park Village [2 min], Magnolia Gardens [8 min], Northside Junction [4 min]
Northside Junction (road_junction) → Spring Meadow Estates [3 min], Cedar Park Village [3 min], Parkside Shopping Center [4 min]

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

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


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

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

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

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

[User]
=== INCOMING CALL [CALL-0015] ===
Someone's not breathing at Spring Meadow Estates! A bystander is doing CPR. Please send an ambulance to Sunset Road immediately!

=== ACTIVE EVENTS ===
EVT-0004 | crime      | Parkside Shopping Center       | sev 3 | police_1 ETA 8 min | opened step 6
EVT-0006 | medical    | Spring Meadow Estates          | sev 5 | ambulance_5 ETA 11 min | opened step 8
EVT-0007 | crime      | Magnolia Gardens               | sev 4 | police_2 ETA 11 min | opened step 9
EVT-0008 | accident   | Cedar Park Village             | sev 5 | ambulance_3 ETA 8 min | opened step 10
EVT-0009 | accident   | Cedar Park Village             | sev 5 | ambulance_4 ETA 8 min | opened step 11
EVT-0010 | accident   | Magnolia Gardens               | sev 3 | HELD → ambulance_4 | opened step 13
EVT-0011 | medical    | Parkside Shopping Center       | sev 5 | HELD → ambulance_3 | opened step 14

=== UNIT STATUS ===
police_0        | police     | Parkside Shopping Center       | RETURNING → EVT-0002
police_1        | police     | Parkside Shopping Center       | ON_SCENE → EVT-0004
police_2        | police     | Central Police Station         | DISPATCHED → EVT-0007
ambulance_3     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0008
ambulance_4     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0009
ambulance_5     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0006
fire_6          | fire       | Westside Fire Department       | FREE
fire_7          | fire       | Westside Fire Department       | FREE

=== CITY REFERENCE ===
Riverside General Hospital (hospital) → Magnolia Gardens [3 min], Westside Fire Department [5 min], Parkside Shopping Center [6 min], Cedar Park Village [8 min], Central Police Station [9 min], Spring Meadow Estates [13 min]
Westside Fire Department (fire_station) → Riverside General Hospital [5 min], Central Police Station [6 min], Parkside Shopping Center [5 min], Spring Meadow Estates [11 min], Cedar Park Village [9 min], Magnolia Gardens [8 min]
Central Police Station (police_station) → Westside Fire Department [6 min], Parkside Shopping Center [8 min], Riverside General Hospital [9 min]
Spring Meadow Estates (residential) → Cedar Park Village [4 min], Northside Junction [3 min], Parkside Shopping Center [5 min], Westside Fire Department [11 min], Riverside General Hospital [13 min]
Cedar Park Village (residential) → Riverside General Hospital [8 min], Spring Meadow Estates [4 min], Northside Junction [3 min], Parkside Shopping Center [2 min], Westside Fire Department [9 min], Magnolia Gardens [10 min]
Magnolia Gardens (residential) → Riverside General Hospital [3 min], Westside Fire Department [8 min], Parkside Shopping Center [8 min], Cedar Park Village [10 min]
Parkside Shopping Center (commercial) → Riverside General Hospital [6 min], Westside Fire Department [5 min], Central Police Station [8 min], Spring Meadow Estates [5 min], Cedar Park Village [2 min], Magnolia Gardens [8 min], Northside Junction [4 min]
Northside Junction (road_junction) → Spring Meadow Estates [3 min], Cedar Park Village [3 min], Parkside Shopping Center [4 min]

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

[Assistant] {"action_type": "duplicate", "severity_pred": 5, "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-0016] ===
There's a fire at 531 Pine Avenue! Flames coming out a window on the second floor. I don't think anyone's inside but I'm not sure.

=== ACTIVE EVENTS ===
EVT-0006 | medical    | Spring Meadow Estates          | sev 5 | ambulance_5 ETA 11 min | opened step 8
EVT-0007 | crime      | Magnolia Gardens               | sev 4 | police_2 ETA 11 min | opened step 9
EVT-0008 | accident   | Cedar Park Village             | sev 5 | ambulance_3 ETA 8 min | opened step 10
EVT-0009 | accident   | Cedar Park Village             | sev 5 | ambulance_4 ETA 8 min | opened step 11
EVT-0010 | accident   | Magnolia Gardens               | sev 3 | HELD → ambulance_4 | opened step 13
EVT-0011 | medical    | Parkside Shopping Center       | sev 5 | HELD → ambulance_3 | opened step 14

=== UNIT STATUS ===
police_0        | police     | Central Police Station         | FREE
police_1        | police     | Parkside Shopping Center       | RETURNING → EVT-0004
police_2        | police     | Central Police Station         | DISPATCHED → EVT-0007
ambulance_3     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0008
ambulance_4     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0009
ambulance_5     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0006
fire_6          | fire       | Westside Fire Department       | FREE
fire_7          | fire       | Westside Fire Department       | FREE

=== CITY REFERENCE ===
Riverside General Hospital (hospital) → Magnolia Gardens [3 min], Westside Fire Department [5 min], Parkside Shopping Center [6 min], Cedar Park Village [8 min], Central Police Station [9 min], Spring Meadow Estates [13 min]
Westside Fire Department (fire_station) → Riverside General Hospital [5 min], Central Police Station [6 min], Parkside Shopping Center [5 min], Spring Meadow Estates [11 min], Cedar Park Village [9 min], Magnolia Gardens [8 min]
Central Police Station (police_station) → Westside Fire Department [6 min], Parkside Shopping Center [8 min], Riverside General Hospital [9 min]
Spring Meadow Estates (residential) → Cedar Park Village [4 min], Northside Junction [3 min], Parkside Shopping Center [5 min], Westside Fire Department [11 min], Riverside General Hospital [13 min]
Cedar Park Village (residential) → Riverside General Hospital [8 min], Spring Meadow Estates [4 min], Northside Junction [3 min], Parkside Shopping Center [2 min], Westside Fire Department [9 min], Magnolia Gardens [10 min]
Magnolia Gardens (residential) → Riverside General Hospital [3 min], Westside Fire Department [8 min], Parkside Shopping Center [8 min], Cedar Park Village [10 min]
Parkside Shopping Center (commercial) → Riverside General Hospital [6 min], Westside Fire Department [5 min], Central Police Station [8 min], Spring Meadow Estates [5 min], Cedar Park Village [2 min], Magnolia Gardens [8 min], Northside Junction [4 min]
Northside Junction (road_junction) → Spring Meadow Estates [3 min], Cedar Park Village [3 min], Parkside Shopping Center [4 min]

=== DISPATCHER NOTES ===
Step 13: CALL-0013 → HOLD (ambulance, waiting for ambulance_4)
Step 14: CALL-0014 → HOLD (ambulance, waiting for ambulance_3)
Step 15: CALL-0015 → Duplicate of EVT-0006

[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-0017] ===
There's a massive fire — the whole block near Magnolia Gardens is burning. Multiple buildings involved, I can see people trapped. Send everything you've got!

=== ACTIVE EVENTS ===
EVT-0006 | medical    | Spring Meadow Estates          | sev 5 | ambulance_5 ETA 11 min | opened step 8
EVT-0007 | crime      | Magnolia Gardens               | sev 4 | police_2 ETA 11 min | opened step 9
EVT-0008 | accident   | Cedar Park Village             | sev 5 | ambulance_3 ETA 8 min | opened step 10
EVT-0009 | accident   | Cedar Park Village             | sev 5 | ambulance_4 ETA 8 min | opened step 11
EVT-0010 | accident   | Magnolia Gardens               | sev 3 | HELD → ambulance_4 | opened step 13
EVT-0011 | medical    | Parkside Shopping Center       | sev 5 | HELD → ambulance_3 | opened step 14
EVT-0012 | fire       | Parkside Shopping Center       | sev 1 | fire_6 ETA 4 min | opened step 16

=== UNIT STATUS ===
police_0        | police     | Central Police Station         | FREE
police_1        | police     | Parkside Shopping Center       | RETURNING → EVT-0004
police_2        | police     | Central Police Station         | DISPATCHED → EVT-0007
ambulance_3     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0008
ambulance_4     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0009
ambulance_5     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0006
fire_6          | fire       | Westside Fire Department       | DISPATCHED → EVT-0012
fire_7          | fire       | Westside Fire Department       | FREE

=== CITY REFERENCE ===
Riverside General Hospital (hospital) → Magnolia Gardens [3 min], Westside Fire Department [5 min], Parkside Shopping Center [6 min], Cedar Park Village [8 min], Central Police Station [9 min], Spring Meadow Estates [13 min]
Westside Fire Department (fire_station) → Riverside General Hospital [5 min], Central Police Station [6 min], Parkside Shopping Center [5 min], Spring Meadow Estates [11 min], Cedar Park Village [9 min], Magnolia Gardens [8 min]
Central Police Station (police_station) → Westside Fire Department [6 min], Parkside Shopping Center [8 min], Riverside General Hospital [9 min]
Spring Meadow Estates (residential) → Cedar Park Village [4 min], Northside Junction [3 min], Parkside Shopping Center [5 min], Westside Fire Department [11 min], Riverside General Hospital [13 min]
Cedar Park Village (residential) → Riverside General Hospital [8 min], Spring Meadow Estates [4 min], Northside Junction [3 min], Parkside Shopping Center [2 min], Westside Fire Department [9 min], Magnolia Gardens [10 min]
Magnolia Gardens (residential) → Riverside General Hospital [3 min], Westside Fire Department [8 min], Parkside Shopping Center [8 min], Cedar Park Village [10 min]
Parkside Shopping Center (commercial) → Riverside General Hospital [6 min], Westside Fire Department [5 min], Central Police Station [8 min], Spring Meadow Estates [5 min], Cedar Park Village [2 min], Magnolia Gardens [8 min], Northside Junction [4 min]
Northside Junction (road_junction) → Spring Meadow Estates [3 min], Cedar Park Village [3 min], Parkside Shopping Center [4 min]

=== DISPATCHER NOTES ===
Step 14: CALL-0014 → HOLD (ambulance, waiting for ambulance_3)
Step 15: CALL-0015 → Duplicate of EVT-0006
Step 16: CALL-0016 → fire fire_6

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


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

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

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

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

[User]
=== INCOMING CALL [CALL-0018] ===
Someone fainted at Parkside Shopping Center. They're breathing okay now but look really pale. We're on Pine Avenue.

=== ACTIVE EVENTS ===
EVT-0006 | medical    | Spring Meadow Estates          | sev 5 | ambulance_5 ETA 11 min | opened step 8
EVT-0007 | crime      | Magnolia Gardens               | sev 4 | police_2 ETA 11 min | opened step 9
EVT-0008 | accident   | Cedar Park Village             | sev 5 | ambulance_3 ETA 8 min | opened step 10
EVT-0009 | accident   | Cedar Park Village             | sev 5 | ambulance_4 ETA 8 min | opened step 11
EVT-0010 | accident   | Magnolia Gardens               | sev 3 | HELD → ambulance_4 | opened step 13
EVT-0011 | medical    | Parkside Shopping Center       | sev 5 | HELD → ambulance_3 | opened step 14
EVT-0012 | fire       | Parkside Shopping Center       | sev 1 | fire_6 ETA 4 min | opened step 16
EVT-0013 | fire       | Magnolia Gardens               | sev 5 | fire_7 ETA 7 min | opened step 17

=== UNIT STATUS ===
police_0        | police     | Central Police Station         | FREE
police_1        | police     | Central Police Station         | FREE
police_2        | police     | Central Police Station         | DISPATCHED → EVT-0007
ambulance_3     | ambulance  | Cedar Park Village             | ON_SCENE → EVT-0008
ambulance_4     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0009
ambulance_5     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0006
fire_6          | fire       | Westside Fire Department       | DISPATCHED → EVT-0012
fire_7          | fire       | Westside Fire Department       | DISPATCHED → EVT-0013

=== CITY REFERENCE ===
Riverside General Hospital (hospital) → Magnolia Gardens [3 min], Westside Fire Department [5 min], Parkside Shopping Center [6 min], Cedar Park Village [8 min], Central Police Station [9 min], Spring Meadow Estates [13 min]
Westside Fire Department (fire_station) → Riverside General Hospital [5 min], Central Police Station [6 min], Parkside Shopping Center [5 min], Spring Meadow Estates [11 min], Cedar Park Village [9 min], Magnolia Gardens [8 min]
Central Police Station (police_station) → Westside Fire Department [6 min], Parkside Shopping Center [8 min], Riverside General Hospital [9 min]
Spring Meadow Estates (residential) → Cedar Park Village [4 min], Northside Junction [3 min], Parkside Shopping Center [5 min], Westside Fire Department [11 min], Riverside General Hospital [13 min]
Cedar Park Village (residential) → Riverside General Hospital [8 min], Spring Meadow Estates [4 min], Northside Junction [3 min], Parkside Shopping Center [2 min], Westside Fire Department [9 min], Magnolia Gardens [10 min]
Magnolia Gardens (residential) → Riverside General Hospital [3 min], Westside Fire Department [8 min], Parkside Shopping Center [8 min], Cedar Park Village [10 min]
Parkside Shopping Center (commercial) → Riverside General Hospital [6 min], Westside Fire Department [5 min], Central Police Station [8 min], Spring Meadow Estates [5 min], Cedar Park Village [2 min], Magnolia Gardens [8 min], Northside Junction [4 min]
Northside Junction (road_junction) → Spring Meadow Estates [3 min], Cedar Park Village [3 min], Parkside Shopping Center [4 min]

=== DISPATCHER NOTES ===
Step 15: CALL-0015 → Duplicate of EVT-0006
Step 16: CALL-0016 → fire fire_6
Step 17: CALL-0017 → fire fire_7

[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-0019] ===
Yeah there's a small fire in a dumpster near Cedar Park Village on Park Drive. It's not spreading but it's pretty smoky.

=== ACTIVE EVENTS ===
EVT-0006 | medical    | Spring Meadow Estates          | sev 5 | ambulance_5 ETA 11 min | opened step 8
EVT-0007 | crime      | Magnolia Gardens               | sev 4 | police_2 ETA 11 min | opened step 9
EVT-0008 | accident   | Cedar Park Village             | sev 5 | ambulance_3 ETA 8 min | opened step 10
EVT-0009 | accident   | Cedar Park Village             | sev 5 | ambulance_4 ETA 8 min | opened step 11
EVT-0010 | accident   | Magnolia Gardens               | sev 3 | HELD → ambulance_4 | opened step 13
EVT-0011 | medical    | Parkside Shopping Center       | sev 5 | HELD → ambulance_3 | opened step 14
EVT-0012 | fire       | Parkside Shopping Center       | sev 1 | fire_6 ETA 4 min | opened step 16
EVT-0013 | fire       | Magnolia Gardens               | sev 5 | fire_7 ETA 7 min | opened step 17
EVT-0014 | medical    | Parkside Shopping Center       | sev 2 | HELD → ambulance_3 | opened step 18

=== UNIT STATUS ===
police_0        | police     | Central Police Station         | FREE
police_1        | police     | Central Police Station         | FREE
police_2        | police     | Central Police Station         | DISPATCHED → EVT-0007
ambulance_3     | ambulance  | Cedar Park Village             | ON_SCENE → EVT-0008
ambulance_4     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0009
ambulance_5     | ambulance  | Spring Meadow Estates          | ON_SCENE → EVT-0006
fire_6          | fire       | Westside Fire Department       | DISPATCHED → EVT-0012
fire_7          | fire       | Westside Fire Department       | DISPATCHED → EVT-0013

=== CITY REFERENCE ===
Riverside General Hospital (hospital) → Magnolia Gardens [3 min], Westside Fire Department [5 min], Parkside Shopping Center [6 min], Cedar Park Village [8 min], Central Police Station [9 min], Spring Meadow Estates [13 min]
Westside Fire Department (fire_station) → Riverside General Hospital [5 min], Central Police Station [6 min], Parkside Shopping Center [5 min], Spring Meadow Estates [11 min], Cedar Park Village [9 min], Magnolia Gardens [8 min]
Central Police Station (police_station) → Westside Fire Department [6 min], Parkside Shopping Center [8 min], Riverside General Hospital [9 min]
Spring Meadow Estates (residential) → Cedar Park Village [4 min], Northside Junction [3 min], Parkside Shopping Center [5 min], Westside Fire Department [11 min], Riverside General Hospital [13 min]
Cedar Park Village (residential) → Riverside General Hospital [8 min], Spring Meadow Estates [4 min], Northside Junction [3 min], Parkside Shopping Center [2 min], Westside Fire Department [9 min], Magnolia Gardens [10 min]
Magnolia Gardens (residential) → Riverside General Hospital [3 min], Westside Fire Department [8 min], Parkside Shopping Center [8 min], Cedar Park Village [10 min]
Parkside Shopping Center (commercial) → Riverside General Hospital [6 min], Westside Fire Department [5 min], Central Police Station [8 min], Spring Meadow Estates [5 min], Cedar Park Village [2 min], Magnolia Gardens [8 min], Northside Junction [4 min]
Northside Junction (road_junction) → Spring Meadow Estates [3 min], Cedar Park Village [3 min], Parkside Shopping Center [4 min]

=== DISPATCHER NOTES ===
Step 16: CALL-0016 → fire fire_6
Step 17: CALL-0017 → fire fire_7
Step 18: CALL-0018 → HOLD (ambulance, waiting for ambulance_3)

[Assistant] {"action_type": "dispatch", "severity_pred": 5, "is_duplicate": false, "duplicate_of_event_id": null, "vehicle_type": "fire", "vehicle_id": null, "reroute": {"vehicle_to_reroute": "fire_6", "from_event_id": "EVT-0012", "replacement_vehicle_id": null}}


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

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

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

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

[User]
=== INCOMING CALL [CALL-0020] ===
Active shooter at Parkside Shopping Center! Multiple shots fired, people running everywhere. Send everyone NOW!

=== ACTIVE EVENTS ===
EVT-0006 | medical    | Spring Meadow Estates          | sev 5 | ambulance_5 ETA 11 min | opened step 8
EVT-0007 | crime      | Magnolia Gardens               | sev 4 | police_2 ETA 11 min | opened step 9
EVT-0009 | accident   | Cedar Park Village             | sev 5 | ambulance_4 ETA 8 min | opened step 11
EVT-0010 | accident   | Magnolia Gardens               | sev 3 | HELD → ambulance_4 | opened step 13
EVT-0011 | medical    | Parkside Shopping Center       | sev 5 | HELD → ambulance_3 | opened step 14
EVT-0012 | fire       | Parkside Shopping Center       | sev 1 | UNASSIGNED | opened step 16
EVT-0013 | fire       | Magnolia Gardens               | sev 5 | fire_7 ETA 7 min | opened step 17
EVT-0014 | medical    | Parkside Shopping Center       | sev 2 | HELD → ambulance_3 | opened step 18
EVT-0015 | fire       | Cedar Park Village             | sev 5 | fire_6 ETA 7 min | opened step 19

=== UNIT STATUS ===
police_0        | police     | Central Police Station         | FREE
police_1        | police     | Central Police Station         | FREE
police_2        | police     | Magnolia Gardens               | ON_SCENE → EVT-0007
ambulance_3     | ambulance  | Cedar Park Village             | RETURNING → EVT-0008
ambulance_4     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0009
ambulance_5     | ambulance  | Spring Meadow Estates          | ON_SCENE → EVT-0006
fire_6          | fire       | Westside Fire Department       | DISPATCHED → EVT-0015
fire_7          | fire       | Westside Fire Department       | DISPATCHED → EVT-0013

=== CITY REFERENCE ===
Riverside General Hospital (hospital) → Magnolia Gardens [3 min], Westside Fire Department [5 min], Parkside Shopping Center [6 min], Cedar Park Village [8 min], Central Police Station [9 min], Spring Meadow Estates [13 min]
Westside Fire Department (fire_station) → Riverside General Hospital [5 min], Central Police Station [6 min], Parkside Shopping Center [5 min], Spring Meadow Estates [11 min], Cedar Park Village [9 min], Magnolia Gardens [8 min]
Central Police Station (police_station) → Westside Fire Department [6 min], Parkside Shopping Center [8 min], Riverside General Hospital [9 min]
Spring Meadow Estates (residential) → Cedar Park Village [4 min], Northside Junction [3 min], Parkside Shopping Center [5 min], Westside Fire Department [11 min], Riverside General Hospital [13 min]
Cedar Park Village (residential) → Riverside General Hospital [8 min], Spring Meadow Estates [4 min], Northside Junction [3 min], Parkside Shopping Center [2 min], Westside Fire Department [9 min], Magnolia Gardens [10 min]
Magnolia Gardens (residential) → Riverside General Hospital [3 min], Westside Fire Department [8 min], Parkside Shopping Center [8 min], Cedar Park Village [10 min]
Parkside Shopping Center (commercial) → Riverside General Hospital [6 min], Westside Fire Department [5 min], Central Police Station [8 min], Spring Meadow Estates [5 min], Cedar Park Village [2 min], Magnolia Gardens [8 min], Northside Junction [4 min]
Northside Junction (road_junction) → Spring Meadow Estates [3 min], Cedar Park Village [3 min], Parkside Shopping Center [4 min]

=== DISPATCHER NOTES ===
Step 17: CALL-0017 → fire fire_7
Step 18: CALL-0018 → HOLD (ambulance, waiting for ambulance_3)
Step 19: CALL-0019 → fire ?

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

=== ACTIVE EVENTS ===
(none)

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

=== CITY REFERENCE ===
Riverside General Hospital (hospital) → Downtown Precinct [2 min], Oak Avenue Shops [3 min], Maple Heights [3 min], Eastgate Roundabout [8 min], Cedar Park Village [4 min]
Central Fire Station (fire_station) → Central Plaza [4 min], Maple Heights [5 min], Cedar Park Village [6 min], Lakeview Residences [9 min]
Downtown Precinct (police_station) → Riverside General Hospital [2 min], Maple Heights [2 min], Cedar Park Village [2 min], Central Plaza [10 min], Lakeview Residences [12 min], Oak Avenue Shops [2 min], Eastgate Roundabout [9 min]
Lakeview Residences (residential) → Central Fire Station [9 min], Central Plaza [6 min], Cedar Park Village [10 min], Eastgate Roundabout [9 min], Downtown Precinct [12 min]
Cedar Park Village (residential) → Central Fire Station [6 min], Downtown Precinct [2 min], Lakeview Residences [10 min], Maple Heights [2 min], Riverside General Hospital [4 min], Oak Avenue Shops [4 min], Eastgate Roundabout [9 min]
Maple Heights (residential) → Riverside General Hospital [3 min], Central Fire Station [5 min], Downtown Precinct [2 min], Cedar Park Village [2 min], Central Plaza [9 min], Oak Avenue Shops [5 min], Eastgate Roundabout [8 min]
Central Plaza (commercial) → Central Fire Station [4 min], Downtown Precinct [10 min], Lakeview Residences [6 min], Maple Heights [9 min]
Oak Avenue Shops (commercial) → Riverside General Hospital [3 min], Cedar Park Village [4 min], Downtown Precinct [2 min], Maple Heights [5 min]
Eastgate Roundabout (road_junction) → Riverside General Hospital [8 min], Lakeview Residences [9 min], Cedar Park Village [9 min], Downtown Precinct [9 min], Maple Heights [8 min]

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

[Assistant] {"action_type": "dispatch", "severity_pred": 5, "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-0002] ===
I just got mugged near Cedar Park Village! The guy ran towards Hill Street. He had a knife.

=== ACTIVE EVENTS ===
EVT-0001 | fire       | Oak Avenue Shops               | sev 5 | fire_5 ETA 9 min | opened step 1

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

=== CITY REFERENCE ===
Riverside General Hospital (hospital) → Downtown Precinct [2 min], Oak Avenue Shops [3 min], Maple Heights [3 min], Eastgate Roundabout [8 min], Cedar Park Village [4 min]
Central Fire Station (fire_station) → Central Plaza [4 min], Maple Heights [5 min], Cedar Park Village [6 min], Lakeview Residences [9 min]
Downtown Precinct (police_station) → Riverside General Hospital [2 min], Maple Heights [2 min], Cedar Park Village [2 min], Central Plaza [10 min], Lakeview Residences [12 min], Oak Avenue Shops [2 min], Eastgate Roundabout [9 min]
Lakeview Residences (residential) → Central Fire Station [9 min], Central Plaza [6 min], Cedar Park Village [10 min], Eastgate Roundabout [9 min], Downtown Precinct [12 min]
Cedar Park Village (residential) → Central Fire Station [6 min], Downtown Precinct [2 min], Lakeview Residences [10 min], Maple Heights [2 min], Riverside General Hospital [4 min], Oak Avenue Shops [4 min], Eastgate Roundabout [9 min]
Maple Heights (residential) → Riverside General Hospital [3 min], Central Fire Station [5 min], Downtown Precinct [2 min], Cedar Park Village [2 min], Central Plaza [9 min], Oak Avenue Shops [5 min], Eastgate Roundabout [8 min]
Central Plaza (commercial) → Central Fire Station [4 min], Downtown Precinct [10 min], Lakeview Residences [6 min], Maple Heights [9 min]
Oak Avenue Shops (commercial) → Riverside General Hospital [3 min], Cedar Park Village [4 min], Downtown Precinct [2 min], Maple Heights [5 min]
Eastgate Roundabout (road_junction) → Riverside General Hospital [8 min], Lakeview Residences [9 min], Cedar Park Village [9 min], Downtown Precinct [9 min], Maple Heights [8 min]

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

[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-0003] ===
There's a fire at 340 Main Street! Flames coming out a window on the second floor. I don't think anyone's inside but I'm not sure.

=== ACTIVE EVENTS ===
EVT-0001 | fire       | Oak Avenue Shops               | sev 5 | fire_5 ETA 9 min | opened step 1
EVT-0002 | crime      | Cedar Park Village             | sev 1 | police_0 ETA 1 min | opened step 2

=== UNIT STATUS ===
police_0        | police     | Cedar Park Village             | ON_SCENE → EVT-0002
police_1        | police     | Downtown Precinct              | FREE
ambulance_2     | ambulance  | Riverside General Hospital     | FREE
ambulance_3     | ambulance  | Riverside General Hospital     | FREE
ambulance_4     | ambulance  | Riverside General Hospital     | FREE
fire_5          | fire       | Central Fire Station           | DISPATCHED → EVT-0001
fire_6          | fire       | Central Fire Station           | FREE

=== CITY REFERENCE ===
Riverside General Hospital (hospital) → Downtown Precinct [2 min], Oak Avenue Shops [3 min], Maple Heights [3 min], Eastgate Roundabout [8 min], Cedar Park Village [4 min]
Central Fire Station (fire_station) → Central Plaza [4 min], Maple Heights [5 min], Cedar Park Village [6 min], Lakeview Residences [9 min]
Downtown Precinct (police_station) → Riverside General Hospital [2 min], Maple Heights [2 min], Cedar Park Village [2 min], Central Plaza [10 min], Lakeview Residences [12 min], Oak Avenue Shops [2 min], Eastgate Roundabout [9 min]
Lakeview Residences (residential) → Central Fire Station [9 min], Central Plaza [6 min], Cedar Park Village [10 min], Eastgate Roundabout [9 min], Downtown Precinct [12 min]
Cedar Park Village (residential) → Central Fire Station [6 min], Downtown Precinct [2 min], Lakeview Residences [10 min], Maple Heights [2 min], Riverside General Hospital [4 min], Oak Avenue Shops [4 min], Eastgate Roundabout [9 min]
Maple Heights (residential) → Riverside General Hospital [3 min], Central Fire Station [5 min], Downtown Precinct [2 min], Cedar Park Village [2 min], Central Plaza [9 min], Oak Avenue Shops [5 min], Eastgate Roundabout [8 min]
Central Plaza (commercial) → Central Fire Station [4 min], Downtown Precinct [10 min], Lakeview Residences [6 min], Maple Heights [9 min]
Oak Avenue Shops (commercial) → Riverside General Hospital [3 min], Cedar Park Village [4 min], Downtown Precinct [2 min], Maple Heights [5 min]
Eastgate Roundabout (road_junction) → Riverside General Hospital [8 min], Lakeview Residences [9 min], Cedar Park Village [9 min], Downtown Precinct [9 min], Maple Heights [8 min]

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

[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-0004] ===
There's a break-in happening right now at 862 First Street. I can see someone climbing through a window from across the street.

=== ACTIVE EVENTS ===
EVT-0001 | fire       | Oak Avenue Shops               | sev 5 | fire_5 ETA 9 min | opened step 1
EVT-0002 | crime      | Cedar Park Village             | sev 1 | police_0 ETA 1 min | opened step 2
EVT-0003 | fire       | Central Plaza                  | sev 1 | fire_6 ETA 3 min | opened step 3

=== UNIT STATUS ===
police_0        | police     | Cedar Park Village             | ON_SCENE → EVT-0002
police_1        | police     | Downtown Precinct              | FREE
ambulance_2     | ambulance  | Riverside General Hospital     | FREE
ambulance_3     | ambulance  | Riverside General Hospital     | FREE
ambulance_4     | ambulance  | Riverside General Hospital     | FREE
fire_5          | fire       | Central Fire Station           | DISPATCHED → EVT-0001
fire_6          | fire       | Central Fire Station           | DISPATCHED → EVT-0003

=== CITY REFERENCE ===
Riverside General Hospital (hospital) → Downtown Precinct [2 min], Oak Avenue Shops [3 min], Maple Heights [3 min], Eastgate Roundabout [8 min], Cedar Park Village [4 min]
Central Fire Station (fire_station) → Central Plaza [4 min], Maple Heights [5 min], Cedar Park Village [6 min], Lakeview Residences [9 min]
Downtown Precinct (police_station) → Riverside General Hospital [2 min], Maple Heights [2 min], Cedar Park Village [2 min], Central Plaza [10 min], Lakeview Residences [12 min], Oak Avenue Shops [2 min], Eastgate Roundabout [9 min]
Lakeview Residences (residential) → Central Fire Station [9 min], Central Plaza [6 min], Cedar Park Village [10 min], Eastgate Roundabout [9 min], Downtown Precinct [12 min]
Cedar Park Village (residential) → Central Fire Station [6 min], Downtown Precinct [2 min], Lakeview Residences [10 min], Maple Heights [2 min], Riverside General Hospital [4 min], Oak Avenue Shops [4 min], Eastgate Roundabout [9 min]
Maple Heights (residential) → Riverside General Hospital [3 min], Central Fire Station [5 min], Downtown Precinct [2 min], Cedar Park Village [2 min], Central Plaza [9 min], Oak Avenue Shops [5 min], Eastgate Roundabout [8 min]
Central Plaza (commercial) → Central Fire Station [4 min], Downtown Precinct [10 min], Lakeview Residences [6 min], Maple Heights [9 min]
Oak Avenue Shops (commercial) → Riverside General Hospital [3 min], Cedar Park Village [4 min], Downtown Precinct [2 min], Maple Heights [5 min]
Eastgate Roundabout (road_junction) → Riverside General Hospital [8 min], Lakeview Residences [9 min], Cedar Park Village [9 min], Downtown Precinct [9 min], Maple Heights [8 min]

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

[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] ===
There's a fire at 326 Main Street! Flames coming out a window on the second floor. I don't think anyone's inside but I'm not sure.

=== ACTIVE EVENTS ===
EVT-0001 | fire       | Oak Avenue Shops               | sev 5 | fire_5 ETA 9 min | opened step 1
EVT-0003 | fire       | Central Plaza                  | sev 1 | fire_6 ETA 3 min | opened step 3
EVT-0004 | crime      | Lakeview Residences            | sev 4 | police_1 ETA 12 min | opened step 4

=== UNIT STATUS ===
police_0        | police     | Cedar Park Village             | RETURNING → EVT-0002
police_1        | police     | Downtown Precinct              | DISPATCHED → EVT-0004
ambulance_2     | ambulance  | Riverside General Hospital     | FREE
ambulance_3     | ambulance  | Riverside General Hospital     | FREE
ambulance_4     | ambulance  | Riverside General Hospital     | FREE
fire_5          | fire       | Central Fire Station           | DISPATCHED → EVT-0001
fire_6          | fire       | Central Fire Station           | DISPATCHED → EVT-0003

=== CITY REFERENCE ===
Riverside General Hospital (hospital) → Downtown Precinct [2 min], Oak Avenue Shops [3 min], Maple Heights [3 min], Eastgate Roundabout [8 min], Cedar Park Village [4 min]
Central Fire Station (fire_station) → Central Plaza [4 min], Maple Heights [5 min], Cedar Park Village [6 min], Lakeview Residences [9 min]
Downtown Precinct (police_station) → Riverside General Hospital [2 min], Maple Heights [2 min], Cedar Park Village [2 min], Central Plaza [10 min], Lakeview Residences [12 min], Oak Avenue Shops [2 min], Eastgate Roundabout [9 min]
Lakeview Residences (residential) → Central Fire Station [9 min], Central Plaza [6 min], Cedar Park Village [10 min], Eastgate Roundabout [9 min], Downtown Precinct [12 min]
Cedar Park Village (residential) → Central Fire Station [6 min], Downtown Precinct [2 min], Lakeview Residences [10 min], Maple Heights [2 min], Riverside General Hospital [4 min], Oak Avenue Shops [4 min], Eastgate Roundabout [9 min]
Maple Heights (residential) → Riverside General Hospital [3 min], Central Fire Station [5 min], Downtown Precinct [2 min], Cedar Park Village [2 min], Central Plaza [9 min], Oak Avenue Shops [5 min], Eastgate Roundabout [8 min]
Central Plaza (commercial) → Central Fire Station [4 min], Downtown Precinct [10 min], Lakeview Residences [6 min], Maple Heights [9 min]
Oak Avenue Shops (commercial) → Riverside General Hospital [3 min], Cedar Park Village [4 min], Downtown Precinct [2 min], Maple Heights [5 min]
Eastgate Roundabout (road_junction) → Riverside General Hospital [8 min], Lakeview Residences [9 min], Cedar Park Village [9 min], Downtown Precinct [9 min], Maple Heights [8 min]

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

[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-0006] ===
I just got mugged near Maple Heights! The guy ran towards Hill Street. He had a knife.

=== ACTIVE EVENTS ===
EVT-0001 | fire       | Oak Avenue Shops               | sev 5 | fire_5 ETA 9 min | opened step 1
EVT-0003 | fire       | Central Plaza                  | sev 1 | fire_6 ETA 3 min | opened step 3
EVT-0004 | crime      | Lakeview Residences            | sev 4 | police_1 ETA 12 min | opened step 4

=== UNIT STATUS ===
police_0        | police     | Cedar Park Village             | RETURNING → EVT-0002
police_1        | police     | Downtown Precinct              | DISPATCHED → EVT-0004
ambulance_2     | ambulance  | Riverside General Hospital     | FREE
ambulance_3     | ambulance  | Riverside General Hospital     | FREE
ambulance_4     | ambulance  | Riverside General Hospital     | FREE
fire_5          | fire       | Central Fire Station           | DISPATCHED → EVT-0001
fire_6          | fire       | Central Plaza                  | ON_SCENE → EVT-0003

=== CITY REFERENCE ===
Riverside General Hospital (hospital) → Downtown Precinct [2 min], Oak Avenue Shops [3 min], Maple Heights [3 min], Eastgate Roundabout [8 min], Cedar Park Village [4 min]
Central Fire Station (fire_station) → Central Plaza [4 min], Maple Heights [5 min], Cedar Park Village [6 min], Lakeview Residences [9 min]
Downtown Precinct (police_station) → Riverside General Hospital [2 min], Maple Heights [2 min], Cedar Park Village [2 min], Central Plaza [10 min], Lakeview Residences [12 min], Oak Avenue Shops [2 min], Eastgate Roundabout [9 min]
Lakeview Residences (residential) → Central Fire Station [9 min], Central Plaza [6 min], Cedar Park Village [10 min], Eastgate Roundabout [9 min], Downtown Precinct [12 min]
Cedar Park Village (residential) → Central Fire Station [6 min], Downtown Precinct [2 min], Lakeview Residences [10 min], Maple Heights [2 min], Riverside General Hospital [4 min], Oak Avenue Shops [4 min], Eastgate Roundabout [9 min]
Maple Heights (residential) → Riverside General Hospital [3 min], Central Fire Station [5 min], Downtown Precinct [2 min], Cedar Park Village [2 min], Central Plaza [9 min], Oak Avenue Shops [5 min], Eastgate Roundabout [8 min]
Central Plaza (commercial) → Central Fire Station [4 min], Downtown Precinct [10 min], Lakeview Residences [6 min], Maple Heights [9 min]
Oak Avenue Shops (commercial) → Riverside General Hospital [3 min], Cedar Park Village [4 min], Downtown Precinct [2 min], Maple Heights [5 min]
Eastgate Roundabout (road_junction) → Riverside General Hospital [8 min], Lakeview Residences [9 min], Cedar Park Village [9 min], Downtown Precinct [9 min], Maple Heights [8 min]

=== DISPATCHER NOTES ===
Step 3: CALL-0003 → fire fire_6
Step 4: CALL-0004 → police police_1
Step 5: CALL-0005 → Duplicate of EVT-0003

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


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

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

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

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

[User]
=== INCOMING CALL [CALL-0007] ===
Hello, my neighbor fell and hurt her ankle at 255 Lake Road. She's conscious and talking but can't walk.

=== ACTIVE EVENTS ===
EVT-0001 | fire       | Oak Avenue Shops               | sev 5 | fire_5 ETA 9 min | opened step 1
EVT-0003 | fire       | Central Plaza                  | sev 1 | fire_6 ETA 3 min | opened step 3
EVT-0004 | crime      | Lakeview Residences            | sev 4 | police_1 ETA 12 min | opened step 4
EVT-0005 | crime      | Maple Heights                  | sev 2 | police_0 ETA 2 min | opened step 6

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

=== CITY REFERENCE ===
Riverside General Hospital (hospital) → Downtown Precinct [2 min], Oak Avenue Shops [3 min], Maple Heights [3 min], Eastgate Roundabout [8 min], Cedar Park Village [4 min]
Central Fire Station (fire_station) → Central Plaza [4 min], Maple Heights [5 min], Cedar Park Village [6 min], Lakeview Residences [9 min]
Downtown Precinct (police_station) → Riverside General Hospital [2 min], Maple Heights [2 min], Cedar Park Village [2 min], Central Plaza [10 min], Lakeview Residences [12 min], Oak Avenue Shops [2 min], Eastgate Roundabout [9 min]
Lakeview Residences (residential) → Central Fire Station [9 min], Central Plaza [6 min], Cedar Park Village [10 min], Eastgate Roundabout [9 min], Downtown Precinct [12 min]
Cedar Park Village (residential) → Central Fire Station [6 min], Downtown Precinct [2 min], Lakeview Residences [10 min], Maple Heights [2 min], Riverside General Hospital [4 min], Oak Avenue Shops [4 min], Eastgate Roundabout [9 min]
Maple Heights (residential) → Riverside General Hospital [3 min], Central Fire Station [5 min], Downtown Precinct [2 min], Cedar Park Village [2 min], Central Plaza [9 min], Oak Avenue Shops [5 min], Eastgate Roundabout [8 min]
Central Plaza (commercial) → Central Fire Station [4 min], Downtown Precinct [10 min], Lakeview Residences [6 min], Maple Heights [9 min]
Oak Avenue Shops (commercial) → Riverside General Hospital [3 min], Cedar Park Village [4 min], Downtown Precinct [2 min], Maple Heights [5 min]
Eastgate Roundabout (road_junction) → Riverside General Hospital [8 min], Lakeview Residences [9 min], Cedar Park Village [9 min], Downtown Precinct [9 min], Maple Heights [8 min]

=== DISPATCHER NOTES ===
Step 4: CALL-0004 → police police_1
Step 5: CALL-0005 → Duplicate of EVT-0003
Step 6: CALL-0006 → HOLD (police, waiting for police_0)

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


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

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

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

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

[User]
=== INCOMING CALL [CALL-0008] ===
A cyclist got hit by a car near Central Plaza. They're on the ground, conscious but bleeding from the head.

=== ACTIVE EVENTS ===
EVT-0001 | fire       | Oak Avenue Shops               | sev 5 | fire_5 ETA 9 min | opened step 1
EVT-0004 | crime      | Lakeview Residences            | sev 4 | police_1 ETA 12 min | opened step 4
EVT-0005 | crime      | Maple Heights                  | sev 2 | police_0 ETA 2 min | opened step 6
EVT-0006 | medical    | Maple Heights                  | sev 4 | ambulance_2 ETA 3 min | opened step 7

=== UNIT STATUS ===
police_0        | police     | Downtown Precinct              | DISPATCHED → EVT-0005
police_1        | police     | Downtown Precinct              | DISPATCHED → EVT-0004
ambulance_2     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0006
ambulance_3     | ambulance  | Riverside General Hospital     | FREE
ambulance_4     | ambulance  | Riverside General Hospital     | FREE
fire_5          | fire       | Central Fire Station           | DISPATCHED → EVT-0001
fire_6          | fire       | Central Plaza                  | RETURNING → EVT-0003

=== CITY REFERENCE ===
Riverside General Hospital (hospital) → Downtown Precinct [2 min], Oak Avenue Shops [3 min], Maple Heights [3 min], Eastgate Roundabout [8 min], Cedar Park Village [4 min]
Central Fire Station (fire_station) → Central Plaza [4 min], Maple Heights [5 min], Cedar Park Village [6 min], Lakeview Residences [9 min]
Downtown Precinct (police_station) → Riverside General Hospital [2 min], Maple Heights [2 min], Cedar Park Village [2 min], Central Plaza [10 min], Lakeview Residences [12 min], Oak Avenue Shops [2 min], Eastgate Roundabout [9 min]
Lakeview Residences (residential) → Central Fire Station [9 min], Central Plaza [6 min], Cedar Park Village [10 min], Eastgate Roundabout [9 min], Downtown Precinct [12 min]
Cedar Park Village (residential) → Central Fire Station [6 min], Downtown Precinct [2 min], Lakeview Residences [10 min], Maple Heights [2 min], Riverside General Hospital [4 min], Oak Avenue Shops [4 min], Eastgate Roundabout [9 min]
Maple Heights (residential) → Riverside General Hospital [3 min], Central Fire Station [5 min], Downtown Precinct [2 min], Cedar Park Village [2 min], Central Plaza [9 min], Oak Avenue Shops [5 min], Eastgate Roundabout [8 min]
Central Plaza (commercial) → Central Fire Station [4 min], Downtown Precinct [10 min], Lakeview Residences [6 min], Maple Heights [9 min]
Oak Avenue Shops (commercial) → Riverside General Hospital [3 min], Cedar Park Village [4 min], Downtown Precinct [2 min], Maple Heights [5 min]
Eastgate Roundabout (road_junction) → Riverside General Hospital [8 min], Lakeview Residences [9 min], Cedar Park Village [9 min], Downtown Precinct [9 min], Maple Heights [8 min]

=== DISPATCHER NOTES ===
Step 5: CALL-0005 → Duplicate of EVT-0003
Step 6: CALL-0006 → HOLD (police, waiting for police_0)
Step 7: CALL-0007 → ambulance ambulance_2

[Assistant] {"action_type": "dispatch", "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-0009] ===
Multi-car pileup on Spring Avenue near Oak Avenue Shops! At least 5 cars, people screaming, I can smell gas leaking. Send fire too!

=== ACTIVE EVENTS ===
EVT-0001 | fire       | Oak Avenue Shops               | sev 5 | fire_5 ETA 9 min | opened step 1
EVT-0004 | crime      | Lakeview Residences            | sev 4 | police_1 ETA 12 min | opened step 4
EVT-0005 | crime      | Maple Heights                  | sev 2 | police_0 ETA 2 min | opened step 6
EVT-0006 | medical    | Maple Heights                  | sev 4 | ambulance_2 ETA 3 min | opened step 7
EVT-0007 | accident   | Central Plaza                  | sev 3 | ambulance_3 ETA 11 min | opened step 8

=== UNIT STATUS ===
police_0        | police     | Maple Heights                  | ON_SCENE → EVT-0005
police_1        | police     | Downtown Precinct              | DISPATCHED → EVT-0004
ambulance_2     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0006
ambulance_3     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0007
ambulance_4     | ambulance  | Riverside General Hospital     | FREE
fire_5          | fire       | Central Fire Station           | DISPATCHED → EVT-0001
fire_6          | fire       | Central Plaza                  | RETURNING → EVT-0003

=== CITY REFERENCE ===
Riverside General Hospital (hospital) → Downtown Precinct [2 min], Oak Avenue Shops [3 min], Maple Heights [3 min], Eastgate Roundabout [8 min], Cedar Park Village [4 min]
Central Fire Station (fire_station) → Central Plaza [4 min], Maple Heights [5 min], Cedar Park Village [6 min], Lakeview Residences [9 min]
Downtown Precinct (police_station) → Riverside General Hospital [2 min], Maple Heights [2 min], Cedar Park Village [2 min], Central Plaza [10 min], Lakeview Residences [12 min], Oak Avenue Shops [2 min], Eastgate Roundabout [9 min]
Lakeview Residences (residential) → Central Fire Station [9 min], Central Plaza [6 min], Cedar Park Village [10 min], Eastgate Roundabout [9 min], Downtown Precinct [12 min]
Cedar Park Village (residential) → Central Fire Station [6 min], Downtown Precinct [2 min], Lakeview Residences [10 min], Maple Heights [2 min], Riverside General Hospital [4 min], Oak Avenue Shops [4 min], Eastgate Roundabout [9 min]
Maple Heights (residential) → Riverside General Hospital [3 min], Central Fire Station [5 min], Downtown Precinct [2 min], Cedar Park Village [2 min], Central Plaza [9 min], Oak Avenue Shops [5 min], Eastgate Roundabout [8 min]
Central Plaza (commercial) → Central Fire Station [4 min], Downtown Precinct [10 min], Lakeview Residences [6 min], Maple Heights [9 min]
Oak Avenue Shops (commercial) → Riverside General Hospital [3 min], Cedar Park Village [4 min], Downtown Precinct [2 min], Maple Heights [5 min]
Eastgate Roundabout (road_junction) → Riverside General Hospital [8 min], Lakeview Residences [9 min], Cedar Park Village [9 min], Downtown Precinct [9 min], Maple Heights [8 min]

=== DISPATCHER NOTES ===
Step 6: CALL-0006 → HOLD (police, waiting for police_0)
Step 7: CALL-0007 → ambulance ambulance_2
Step 8: CALL-0008 → ambulance ambulance_3

[Assistant] {"action_type": "dispatch", "severity_pred": 1, "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-0010] ===
Yeah there's a small fire in a dumpster near Central Plaza on Main Street. It's not spreading but it's pretty smoky.

=== ACTIVE EVENTS ===
EVT-0001 | fire       | Oak Avenue Shops               | sev 5 | fire_5 ETA 9 min | opened step 1
EVT-0004 | crime      | Lakeview Residences            | sev 4 | police_1 ETA 12 min | opened step 4
EVT-0005 | crime      | Maple Heights                  | sev 2 | police_0 ETA 2 min | opened step 6
EVT-0006 | medical    | Maple Heights                  | sev 4 | ambulance_2 ETA 3 min | opened step 7
EVT-0007 | accident   | Central Plaza                  | sev 3 | ambulance_3 ETA 11 min | opened step 8
EVT-0008 | accident   | Oak Avenue Shops               | sev 1 | ambulance_4 ETA 2 min | opened step 9

=== UNIT STATUS ===
police_0        | police     | Maple Heights                  | ON_SCENE → EVT-0005
police_1        | police     | Downtown Precinct              | DISPATCHED → EVT-0004
ambulance_2     | ambulance  | Maple Heights                  | ON_SCENE → EVT-0006
ambulance_3     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0007
ambulance_4     | ambulance  | Riverside General Hospital     | DISPATCHED → EVT-0008
fire_5          | fire       | Oak Avenue Shops               | ON_SCENE → EVT-0001
fire_6          | fire       | Central Fire Station           | FREE

=== CITY REFERENCE ===
Riverside General Hospital (hospital) → Downtown Precinct [2 min], Oak Avenue Shops [3 min], Maple Heights [3 min], Eastgate Roundabout [8 min], Cedar Park Village [4 min]
Central Fire Station (fire_station) → Central Plaza [4 min], Maple Heights [5 min], Cedar Park Village [6 min], Lakeview Residences [9 min]
Downtown Precinct (police_station) → Riverside General Hospital [2 min], Maple Heights [2 min], Cedar Park Village [2 min], Central Plaza [10 min], Lakeview Residences [12 min], Oak Avenue Shops [2 min], Eastgate Roundabout [9 min]
Lakeview Residences (residential) → Central Fire Station [9 min], Central Plaza [6 min], Cedar Park Village [10 min], Eastgate Roundabout [9 min], Downtown Precinct [12 min]
Cedar Park Village (residential) → Central Fire Station [6 min], Downtown Precinct [2 min], Lakeview Residences [10 min], Maple Heights [2 min], Riverside General Hospital [4 min], Oak Avenue Shops [4 min], Eastgate Roundabout [9 min]
Maple Heights (residential) → Riverside General Hospital [3 min], Central Fire Station [5 min], Downtown Precinct [2 min], Cedar Park Village [2 min], Central Plaza [9 min], Oak Avenue Shops [5 min], Eastgate Roundabout [8 min]
Central Plaza (commercial) → Central Fire Station [4 min], Downtown Precinct [10 min], Lakeview Residences [6 min], Maple Heights [9 min]
Oak Avenue Shops (commercial) → Riverside General Hospital [3 min], Cedar Park Village [4 min], Downtown Precinct [2 min], Maple Heights [5 min]
Eastgate Roundabout (road_junction) → Riverside General Hospital [8 min], Lakeview Residences [9 min], Cedar Park Village [9 min], Downtown Precinct [9 min], Maple Heights [8 min]

=== DISPATCHER NOTES ===
Step 7: CALL-0007 → ambulance ambulance_2
Step 8: CALL-0008 → ambulance ambulance_3
Step 9: CALL-0009 → ambulance ambulance_4

[Assistant] {"action_type": "dispatch", "severity_pred": 2, "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-0001] ===
Someone fainted at Magnolia Gardens. They're breathing okay now but look really pale. We're on Cedar Boulevard.

=== ACTIVE EVENTS ===
(none)

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

=== CITY REFERENCE ===
City Central Hospital (hospital) → Engine House No. 1 [2 min], Eastgate Roundabout [4 min], Magnolia Gardens [5 min], Metro Police HQ [6 min], Birchwood Place [6 min]
Engine House No. 1 (fire_station) → City Central Hospital [2 min], Eastgate Roundabout [4 min], Riverside Market [4 min]
Metro Police HQ (police_station) → City Central Hospital [6 min], Magnolia Gardens [1 min], Aspen Ridge [3 min], Birchwood Place [4 min], Riverside Market [13 min], Hilltop Manor [5 min]
Magnolia Gardens (residential) → City Central Hospital [5 min], Metro Police HQ [1 min], Aspen Ridge [2 min], Hilltop Manor [4 min]
Birchwood Place (residential) → City Central Hospital [6 min], Metro Police HQ [4 min], Aspen Ridge [1 min], Hilltop Manor [3 min], Central Plaza [6 min]
Aspen Ridge (residential) → Metro Police HQ [3 min], Magnolia Gardens [2 min], Birchwood Place [1 min], Hilltop Manor [3 min], Central Plaza [7 min]
Hilltop Manor (residential) → Birchwood Place [3 min], Aspen Ridge [3 min], Metro Police HQ [5 min], Magnolia Gardens [4 min]
Central Plaza (commercial) → Eastgate Roundabout [4 min], Birchwood Place [6 min], Aspen Ridge [7 min]
Riverside Market (commercial) → Metro Police HQ [13 min], Engine House No. 1 [4 min], Eastgate Roundabout [5 min]
Eastgate Roundabout (road_junction) → City Central Hospital [4 min], Engine House No. 1 [4 min], Central Plaza [4 min], Riverside Market [5 min]

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

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


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

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

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

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

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

=== ACTIVE EVENTS ===
EVT-0001 | medical    | Magnolia Gardens               | sev 3 | ambulance_2 ETA 4 min | opened step 1

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

=== CITY REFERENCE ===
City Central Hospital (hospital) → Engine House No. 1 [2 min], Eastgate Roundabout [4 min], Magnolia Gardens [5 min], Metro Police HQ [6 min], Birchwood Place [6 min]
Engine House No. 1 (fire_station) → City Central Hospital [2 min], Eastgate Roundabout [4 min], Riverside Market [4 min]
Metro Police HQ (police_station) → City Central Hospital [6 min], Magnolia Gardens [1 min], Aspen Ridge [3 min], Birchwood Place [4 min], Riverside Market [13 min], Hilltop Manor [5 min]
Magnolia Gardens (residential) → City Central Hospital [5 min], Metro Police HQ [1 min], Aspen Ridge [2 min], Hilltop Manor [4 min]
Birchwood Place (residential) → City Central Hospital [6 min], Metro Police HQ [4 min], Aspen Ridge [1 min], Hilltop Manor [3 min], Central Plaza [6 min]
Aspen Ridge (residential) → Metro Police HQ [3 min], Magnolia Gardens [2 min], Birchwood Place [1 min], Hilltop Manor [3 min], Central Plaza [7 min]
Hilltop Manor (residential) → Birchwood Place [3 min], Aspen Ridge [3 min], Metro Police HQ [5 min], Magnolia Gardens [4 min]
Central Plaza (commercial) → Eastgate Roundabout [4 min], Birchwood Place [6 min], Aspen Ridge [7 min]
Riverside Market (commercial) → Metro Police HQ [13 min], Engine House No. 1 [4 min], Eastgate Roundabout [5 min]
Eastgate Roundabout (road_junction) → City Central Hospital [4 min], Engine House No. 1 [4 min], Central Plaza [4 min], Riverside Market [5 min]

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

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


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

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

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

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

[User]
=== INCOMING CALL [CALL-0003] ===
Someone's not breathing at Magnolia Gardens! A bystander is doing CPR. Please send an ambulance to Cedar Boulevard immediately!

=== ACTIVE EVENTS ===
EVT-0001 | medical    | Magnolia Gardens               | sev 3 | ambulance_2 ETA 4 min | opened step 1
EVT-0002 | medical    | Hilltop Manor                  | sev 5 | ambulance_3 ETA 8 min | opened step 2

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

=== CITY REFERENCE ===
City Central Hospital (hospital) → Engine House No. 1 [2 min], Eastgate Roundabout [4 min], Magnolia Gardens [5 min], Metro Police HQ [6 min], Birchwood Place [6 min]
Engine House No. 1 (fire_station) → City Central Hospital [2 min], Eastgate Roundabout [4 min], Riverside Market [4 min]
Metro Police HQ (police_station) → City Central Hospital [6 min], Magnolia Gardens [1 min], Aspen Ridge [3 min], Birchwood Place [4 min], Riverside Market [13 min], Hilltop Manor [5 min]
Magnolia Gardens (residential) → City Central Hospital [5 min], Metro Police HQ [1 min], Aspen Ridge [2 min], Hilltop Manor [4 min]
Birchwood Place (residential) → City Central Hospital [6 min], Metro Police HQ [4 min], Aspen Ridge [1 min], Hilltop Manor [3 min], Central Plaza [6 min]
Aspen Ridge (residential) → Metro Police HQ [3 min], Magnolia Gardens [2 min], Birchwood Place [1 min], Hilltop Manor [3 min], Central Plaza [7 min]
Hilltop Manor (residential) → Birchwood Place [3 min], Aspen Ridge [3 min], Metro Police HQ [5 min], Magnolia Gardens [4 min]
Central Plaza (commercial) → Eastgate Roundabout [4 min], Birchwood Place [6 min], Aspen Ridge [7 min]
Riverside Market (commercial) → Metro Police HQ [13 min], Engine House No. 1 [4 min], Eastgate Roundabout [5 min]
Eastgate Roundabout (road_junction) → City Central Hospital [4 min], Engine House No. 1 [4 min], Central Plaza [4 min], Riverside Market [5 min]

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

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


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

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

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

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

[User]
=== INCOMING CALL [CALL-0004] ===
Someone's not breathing at Hilltop Manor! A bystander is doing CPR. Please send an ambulance to Pine Lane immediately!

=== ACTIVE EVENTS ===
EVT-0001 | medical    | Magnolia Gardens               | sev 3 | ambulance_2 ETA 4 min | opened step 1
EVT-0002 | medical    | Hilltop Manor                  | sev 5 | ambulance_3 ETA 8 min | opened step 2

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

=== CITY REFERENCE ===
City Central Hospital (hospital) → Engine House No. 1 [2 min], Eastgate Roundabout [4 min], Magnolia Gardens [5 min], Metro Police HQ [6 min], Birchwood Place [6 min]
Engine House No. 1 (fire_station) → City Central Hospital [2 min], Eastgate Roundabout [4 min], Riverside Market [4 min]
Metro Police HQ (police_station) → City Central Hospital [6 min], Magnolia Gardens [1 min], Aspen Ridge [3 min], Birchwood Place [4 min], Riverside Market [13 min], Hilltop Manor [5 min]
Magnolia Gardens (residential) → City Central Hospital [5 min], Metro Police HQ [1 min], Aspen Ridge [2 min], Hilltop Manor [4 min]
Birchwood Place (residential) → City Central Hospital [6 min], Metro Police HQ [4 min], Aspen Ridge [1 min], Hilltop Manor [3 min], Central Plaza [6 min]
Aspen Ridge (residential) → Metro Police HQ [3 min], Magnolia Gardens [2 min], Birchwood Place [1 min], Hilltop Manor [3 min], Central Plaza [7 min]
Hilltop Manor (residential) → Birchwood Place [3 min], Aspen Ridge [3 min], Metro Police HQ [5 min], Magnolia Gardens [4 min]
Central Plaza (commercial) → Eastgate Roundabout [4 min], Birchwood Place [6 min], Aspen Ridge [7 min]
Riverside Market (commercial) → Metro Police HQ [13 min], Engine House No. 1 [4 min], Eastgate Roundabout [5 min]
Eastgate Roundabout (road_junction) → City Central Hospital [4 min], Engine House No. 1 [4 min], Central Plaza [4 min], Riverside Market [5 min]

=== DISPATCHER NOTES ===
Step 1: CALL-0001 → ambulance ambulance_2
Step 2: CALL-0002 → ambulance ambulance_3
Step 3: CALL-0003 → Duplicate of EVT-0001

[Assistant] {"action_type": "duplicate", "severity_pred": 5, "is_duplicate": true, "duplicate_of_event_id": "EVT-0002", "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-0005] ===
There's been some kind of mass incident at Magnolia Gardens — multiple people down, some not moving. We need everything, Cedar Boulevard entrance.

=== ACTIVE EVENTS ===
EVT-0001 | medical    | Magnolia Gardens               | sev 3 | ambulance_2 ETA 4 min | opened step 1
EVT-0002 | medical    | Hilltop Manor                  | sev 5 | ambulance_3 ETA 8 min | opened step 2

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

=== CITY REFERENCE ===
City Central Hospital (hospital) → Engine House No. 1 [2 min], Eastgate Roundabout [4 min], Magnolia Gardens [5 min], Metro Police HQ [6 min], Birchwood Place [6 min]
Engine House No. 1 (fire_station) → City Central Hospital [2 min], Eastgate Roundabout [4 min], Riverside Market [4 min]
Metro Police HQ (police_station) → City Central Hospital [6 min], Magnolia Gardens [1 min], Aspen Ridge [3 min], Birchwood Place [4 min], Riverside Market [13 min], Hilltop Manor [5 min]
Magnolia Gardens (residential) → City Central Hospital [5 min], Metro Police HQ [1 min], Aspen Ridge [2 min], Hilltop Manor [4 min]
Birchwood Place (residential) → City Central Hospital [6 min], Metro Police HQ [4 min], Aspen Ridge [1 min], Hilltop Manor [3 min], Central Plaza [6 min]
Aspen Ridge (residential) → Metro Police HQ [3 min], Magnolia Gardens [2 min], Birchwood Place [1 min], Hilltop Manor [3 min], Central Plaza [7 min]
Hilltop Manor (residential) → Birchwood Place [3 min], Aspen Ridge [3 min], Metro Police HQ [5 min], Magnolia Gardens [4 min]
Central Plaza (commercial) → Eastgate Roundabout [4 min], Birchwood Place [6 min], Aspen Ridge [7 min]
Riverside Market (commercial) → Metro Police HQ [13 min], Engine House No. 1 [4 min], Eastgate Roundabout [5 min]
Eastgate Roundabout (road_junction) → City Central Hospital [4 min], Engine House No. 1 [4 min], Central Plaza [4 min], Riverside Market [5 min]

=== DISPATCHER NOTES ===
Step 2: CALL-0002 → ambulance ambulance_3
Step 3: CALL-0003 → Duplicate of EVT-0001
Step 4: CALL-0004 → Duplicate of EVT-0002

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


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

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

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

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

[User]
=== INCOMING CALL [CALL-0006] ===
Someone fainted at Hilltop Manor. They're breathing okay now but look really pale. We're on Pine Lane.

=== ACTIVE EVENTS ===
EVT-0001 | medical    | Magnolia Gardens               | sev 3 | ambulance_2 ETA 4 min | opened step 1
EVT-0002 | medical    | Hilltop Manor                  | sev 5 | ambulance_3 ETA 8 min | opened step 2

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

=== CITY REFERENCE ===
City Central Hospital (hospital) → Engine House No. 1 [2 min], Eastgate Roundabout [4 min], Magnolia Gardens [5 min], Metro Police HQ [6 min], Birchwood Place [6 min]
Engine House No. 1 (fire_station) → City Central Hospital [2 min], Eastgate Roundabout [4 min], Riverside Market [4 min]
Metro Police HQ (police_station) → City Central Hospital [6 min], Magnolia Gardens [1 min], Aspen Ridge [3 min], Birchwood Place [4 min], Riverside Market [13 min], Hilltop Manor [5 min]
Magnolia Gardens (residential) → City Central Hospital [5 min], Metro Police HQ [1 min], Aspen Ridge [2 min], Hilltop Manor [4 min]
Birchwood Place (residential) → City Central Hospital [6 min], Metro Police HQ [4 min], Aspen Ridge [1 min], Hilltop Manor [3 min], Central Plaza [6 min]
Aspen Ridge (residential) → Metro Police HQ [3 min], Magnolia Gardens [2 min], Birchwood Place [1 min], Hilltop Manor [3 min], Central Plaza [7 min]
Hilltop Manor (residential) → Birchwood Place [3 min], Aspen Ridge [3 min], Metro Police HQ [5 min], Magnolia Gardens [4 min]
Central Plaza (commercial) → Eastgate Roundabout [4 min], Birchwood Place [6 min], Aspen Ridge [7 min]
Riverside Market (commercial) → Metro Police HQ [13 min], Engine House No. 1 [4 min], Eastgate Roundabout [5 min]
Eastgate Roundabout (road_junction) → City Central Hospital [4 min], Engine House No. 1 [4 min], Central Plaza [4 min], Riverside Market [5 min]

=== DISPATCHER NOTES ===
Step 3: CALL-0003 → Duplicate of EVT-0001
Step 4: CALL-0004 → Duplicate of EVT-0002
Step 5: CALL-0005 → Duplicate of EVT-0001

[Assistant] {"action_type": "duplicate", "severity_pred": 5, "is_duplicate": true, "duplicate_of_event_id": "EVT-0002", "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] ===
Oh god, the whole kitchen is on fire at 262 Elm Lane! My kids are upstairs — please send someone NOW!

=== ACTIVE EVENTS ===
EVT-0002 | medical    | Hilltop Manor                  | sev 5 | ambulance_3 ETA 8 min | opened step 2

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

=== CITY REFERENCE ===
City Central Hospital (hospital) → Engine House No. 1 [2 min], Eastgate Roundabout [4 min], Magnolia Gardens [5 min], Metro Police HQ [6 min], Birchwood Place [6 min]
Engine House No. 1 (fire_station) → City Central Hospital [2 min], Eastgate Roundabout [4 min], Riverside Market [4 min]
Metro Police HQ (police_station) → City Central Hospital [6 min], Magnolia Gardens [1 min], Aspen Ridge [3 min], Birchwood Place [4 min], Riverside Market [13 min], Hilltop Manor [5 min]
Magnolia Gardens (residential) → City Central Hospital [5 min], Metro Police HQ [1 min], Aspen Ridge [2 min], Hilltop Manor [4 min]
Birchwood Place (residential) → City Central Hospital [6 min], Metro Police HQ [4 min], Aspen Ridge [1 min], Hilltop Manor [3 min], Central Plaza [6 min]
Aspen Ridge (residential) → Metro Police HQ [3 min], Magnolia Gardens [2 min], Birchwood Place [1 min], Hilltop Manor [3 min], Central Plaza [7 min]
Hilltop Manor (residential) → Birchwood Place [3 min], Aspen Ridge [3 min], Metro Police HQ [5 min], Magnolia Gardens [4 min]
Central Plaza (commercial) → Eastgate Roundabout [4 min], Birchwood Place [6 min], Aspen Ridge [7 min]
Riverside Market (commercial) → Metro Police HQ [13 min], Engine House No. 1 [4 min], Eastgate Roundabout [5 min]
Eastgate Roundabout (road_junction) → City Central Hospital [4 min], Engine House No. 1 [4 min], Central Plaza [4 min], Riverside Market [5 min]

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

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


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

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

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

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

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

=== ACTIVE EVENTS ===
EVT-0002 | medical    | Hilltop Manor                  | sev 5 | ambulance_3 ETA 8 min | opened step 2
EVT-0003 | fire       | Birchwood Place                | sev 2 | fire_4 ETA 8 min | opened step 7

=== UNIT STATUS ===
police_0        | police     | Metro Police HQ                | FREE
police_1        | police     | Metro Police HQ                | FREE
ambulance_2     | ambulance  | Magnolia Gardens               | RETURNING → EVT-0001
ambulance_3     | ambulance  | City Central Hospital          | DISPATCHED → EVT-0002
fire_4          | fire       | Engine House No. 1             | DISPATCHED → EVT-0003
fire_5          | fire       | Engine House No. 1             | FREE

=== CITY REFERENCE ===
City Central Hospital (hospital) → Engine House No. 1 [2 min], Eastgate Roundabout [4 min], Magnolia Gardens [5 min], Metro Police HQ [6 min], Birchwood Place [6 min]
Engine House No. 1 (fire_station) → City Central Hospital [2 min], Eastgate Roundabout [4 min], Riverside Market [4 min]
Metro Police HQ (police_station) → City Central Hospital [6 min], Magnolia Gardens [1 min], Aspen Ridge [3 min], Birchwood Place [4 min], Riverside Market [13 min], Hilltop Manor [5 min]
Magnolia Gardens (residential) → City Central Hospital [5 min], Metro Police HQ [1 min], Aspen Ridge [2 min], Hilltop Manor [4 min]
Birchwood Place (residential) → City Central Hospital [6 min], Metro Police HQ [4 min], Aspen Ridge [1 min], Hilltop Manor [3 min], Central Plaza [6 min]
Aspen Ridge (residential) → Metro Police HQ [3 min], Magnolia Gardens [2 min], Birchwood Place [1 min], Hilltop Manor [3 min], Central Plaza [7 min]
Hilltop Manor (residential) → Birchwood Place [3 min], Aspen Ridge [3 min], Metro Police HQ [5 min], Magnolia Gardens [4 min]
Central Plaza (commercial) → Eastgate Roundabout [4 min], Birchwood Place [6 min], Aspen Ridge [7 min]
Riverside Market (commercial) → Metro Police HQ [13 min], Engine House No. 1 [4 min], Eastgate Roundabout [5 min]
Eastgate Roundabout (road_junction) → City Central Hospital [4 min], Engine House No. 1 [4 min], Central Plaza [4 min], Riverside Market [5 min]

=== DISPATCHER NOTES ===
Step 5: CALL-0005 → Duplicate of EVT-0001
Step 6: CALL-0006 → Duplicate of EVT-0002
Step 7: CALL-0007 → fire fire_4

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