"""Scenario: Normal Operations — all flights on time, clear weather, full crew. Baseline scenario. Agents should produce minimal/calm output. """ from datetime import datetime, timezone from mcp_servers.data.models import ( CrewMember, CrewRole, FlightData, FlightStatus, MPStatus, Passenger, RebookingCase, MELItem, ) SCENARIO_ID = "normal_ops" SCENARIO_NAME = "Normal Operations" SCENARIO_DESCRIPTION = "All flights on time at ORD. Clear weather. No disruptions." SCENARIO_HUBS = ["ORD"] FLIGHTS: list[FlightData] = [ FlightData( flight_id="UA1440", origin="ORD", destination="SFO", scheduled_departure=datetime(2026, 4, 11, 18, 0, tzinfo=timezone.utc), scheduled_arrival=datetime(2026, 4, 11, 20, 30, tzinfo=timezone.utc), status=FlightStatus.ON_TIME, aircraft_tail="N79001", gate="H10", crew_ids=["CR-2001", "CR-2002"], passenger_count=175, ), FlightData( flight_id="UA1552", origin="ORD", destination="EWR", scheduled_departure=datetime(2026, 4, 11, 18, 30, tzinfo=timezone.utc), scheduled_arrival=datetime(2026, 4, 11, 21, 45, tzinfo=timezone.utc), status=FlightStatus.ON_TIME, aircraft_tail="N79002", gate="B12", crew_ids=["CR-2003", "CR-2004"], passenger_count=190, ), FlightData( flight_id="UA1678", origin="ORD", destination="DEN", scheduled_departure=datetime(2026, 4, 11, 19, 0, tzinfo=timezone.utc), scheduled_arrival=datetime(2026, 4, 11, 20, 30, tzinfo=timezone.utc), status=FlightStatus.ON_TIME, aircraft_tail="N79003", gate="C8", crew_ids=["CR-2005", "CR-2006"], passenger_count=160, ), ] CREW: list[CrewMember] = [ CrewMember(crew_id="CR-2001", name="Capt. Hayes", role=CrewRole.CAPTAIN, duty_hours_elapsed=4.0, duty_hours_limit=14.0, rest_hours_since_last=18.0, next_scheduled_flight="UA1440", base_hub="ORD"), CrewMember(crew_id="CR-2002", name="FO Park", role=CrewRole.FIRST_OFFICER, duty_hours_elapsed=4.0, duty_hours_limit=14.0, rest_hours_since_last=16.0, next_scheduled_flight="UA1440", base_hub="ORD"), CrewMember(crew_id="CR-2003", name="Capt. Lewis", role=CrewRole.CAPTAIN, duty_hours_elapsed=5.0, duty_hours_limit=14.0, rest_hours_since_last=15.0, next_scheduled_flight="UA1552", base_hub="ORD"), CrewMember(crew_id="CR-2004", name="FO Sharma", role=CrewRole.FIRST_OFFICER, duty_hours_elapsed=5.0, duty_hours_limit=14.0, rest_hours_since_last=14.0, next_scheduled_flight="UA1552", base_hub="ORD"), CrewMember(crew_id="CR-2005", name="Capt. Brown", role=CrewRole.CAPTAIN, duty_hours_elapsed=3.0, duty_hours_limit=14.0, rest_hours_since_last=20.0, next_scheduled_flight="UA1678", base_hub="ORD"), CrewMember(crew_id="CR-2006", name="FO Nguyen", role=CrewRole.FIRST_OFFICER, duty_hours_elapsed=3.0, duty_hours_limit=14.0, rest_hours_since_last=19.0, next_scheduled_flight="UA1678", base_hub="ORD"), ] CREW_NOTES: dict[str, list[str]] = {} MAINTENANCE: dict[str, list[MELItem]] = {} REBOOKINGS: list[RebookingCase] = [] PASSENGERS: list[Passenger] = []