diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 64df5a3..357a25a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -26,7 +26,7 @@ jobs: test: runs-on: ubuntu-latest - timeout-minutes: 20 + timeout-minutes: 40 strategy: matrix: python: ["3.11", "3.12"] diff --git a/Dockerfile.v3 b/Dockerfile.v3 new file mode 100644 index 0000000..966274f --- /dev/null +++ b/Dockerfile.v3 @@ -0,0 +1,17 @@ +# The AirOps v3 env: the airops-v3-day MCP server with the b6-v3 pack, on port 18765. +# Build: agent-env airops-v3 setup (docker build -f Dockerfile.v3 -t agentenv-airops-v3-env .) +FROM python:3.12-slim +LABEL org.opencontainers.image.source="https://github.com/earakely-scale/agentenv-airops-plugin" \ + org.opencontainers.image.licenses="Apache-2.0" \ + org.opencontainers.image.description="AirOpsEnv v3 as an AgentEnv environment. Built from public U.S. records: BTS on-time data of every carrier, the FAA registry, FAA Command Center advisories and NWS METARs, SPECIs and TAFs via the Iowa Environmental Mesonet." +ENV PYTHONUNBUFFERED=1 PIP_NO_CACHE_DIR=1 PIP_DISABLE_PIP_VERSION_CHECK=1 AIROPS_V3_TASKS=/app/data/b6-v3 +RUN pip install "agentenv-framework-protocol==0.1.338" "fastmcp==3.4.8" "mcp==1.30.0" "pydantic==2.13.5" "tzdata" \ + "httpx==0.28.1" "numpy==2.5.4" "pandas==3.0.6" "highspy==1.15.1" "airportsdata==20260905" +WORKDIR /app +COPY LICENSE NOTICE /app/ +COPY data/b6-v3 /app/data/b6-v3 +COPY src/agentenv_airops /app/agentenv_airops +RUN useradd --create-home --uid 1000 airops +USER airops +EXPOSE 18765 +CMD ["python", "-m", "agentenv_airops.v3day.server"] diff --git a/Dockerfile.v3.dockerignore b/Dockerfile.v3.dockerignore new file mode 100644 index 0000000..b7a02ba --- /dev/null +++ b/Dockerfile.v3.dockerignore @@ -0,0 +1,10 @@ +* +!LICENSE +!NOTICE +!data/b6-v3 +!src/agentenv_airops +src/agentenv_airops/data +src/agentenv_airops/web +src/agentenv_airops/bundles +**/__pycache__ +**/*.pyc diff --git a/README.md b/README.md index bab71ae..795a0a8 100644 --- a/README.md +++ b/README.md @@ -391,6 +391,30 @@ The [replay Space](https://huggingface.co/spaces/earakely-scale/AirOpsEnv-AgentE viewer (`web/`) under `viewer/`, reading the episodes straight from the dataset's resolve URLs at the tag, which huggingface.co serves with CORS headers. `--space-out` assembles it and `--space-repo` pushes it. +## AirOpsEnv v3: the realism layers + +v3 plays the same whole-network storm days from 04:00 inside the FAA's programs, with the constraints v2's world +leaves out, each enforced alike in the sim and the hindsight MIP: hub departure caps from every carrier's BTS +pushbacks, ramp closures from lightning at the field (METAR and SPECI thunderstorms, as departure and gate-in rate cuts +at a rate fitted on train dates) and outstation arrival caps. The desk sees them only as it could: caps 4 hours ahead, +a closure once it begins, and the FAA advisories, METARs, SPECIs and TAFs at their delivery lags, with a watch each hour +and one more on each event. One `airops-llm` desk plays a day on `airops-v3-day` and is graded as v1 is, against the +hindsight optimum. The pack is b6-v3 (`data/b6-v3`: 94 storm dates, 24 eval and 70 train, and 2 controls, with each +date's anchor and follower costs stored, so a load never waits on a solve); `docs/v3/DESIGN.md` and +`docs/v3/REPORT.md` give the design and its check against v2. + +```bash +agent-env airops-v3 setup --agent # builds airops-v3-day (Dockerfile.v3) and airops-llm +agent-env run airops-v3 --task wiring-noplay # the first eval date flown with no change, then the grade +agent-env run airops-v3 --task b6-20240630-0400 --model anthropic/claude-sonnet-5-5 +agent-env hf run earakely-scale/AirOpsEnv-AgentEnv --bundle airops-v3 --task wiring-noplay +``` + +The dataset holds the bundle `airops-v3` (the eval dates and `wiring-noplay`) from the first release +`scripts/hub_dataset.py` builds with it. `agent-env airops-v3 tasks --split train` writes the training dates as a +bundle; `scripts/v3_pack.py --bases none --refs` builds the pack and `scripts/ship_v3_pack.py` ships it as +`data/b6-v3`. + ## AirOpsEnv v1: one desk at one hub v1, released in v0.2.0, is one operations desk at one hub in the 3 to 6 hours of a storm day where planning matters diff --git a/data/b6-v3/manifest.json b/data/b6-v3/manifest.json new file mode 100644 index 0000000..cf666c3 --- /dev/null +++ b/data/b6-v3/manifest.json @@ -0,0 +1,778 @@ +{ + "pack": "b6-v3", + "code": "ae4caca805b9f5719e8de6770552c29059cf55df", + "seed": 0, + "months": [ + "2022-12", + "2023-06", + "2023-07", + "2023-08", + "2023-12", + "2024-01", + "2024-02", + "2024-06", + "2024-07", + "2024-08", + "2025-01", + "2025-02", + "2025-07", + "2025-08", + "2025-12", + "2026-01", + "2026-02", + "2026-06", + "2026-07" + ], + "bases": [], + "crew": null, + "scale": { + "BOS": 0.4, + "JFK": 0.35 + }, + "constants": { + "rate": { + "BOS": 0.6527196652719666, + "JFK": 0.7046153846153846 + }, + "reserves": {}, + "short": 0.9, + "min_sched": 5, + "dates": [ + "2022-12-07", + "2023-06-12", + "2023-06-13", + "2023-06-14", + "2023-06-16", + "2023-06-24", + "2023-06-25", + "2023-06-26", + "2023-06-27", + "2023-06-28", + "2023-06-30", + "2023-07-01", + "2023-07-02", + "2023-07-04", + "2023-07-13", + "2023-07-14", + "2023-07-15", + "2023-07-16", + "2023-07-18", + "2023-07-21", + "2023-07-25", + "2023-07-27", + "2023-07-29", + "2023-08-04", + "2023-08-25", + "2023-12-10", + "2023-12-11", + "2023-12-26", + "2024-01-06", + "2024-01-07", + "2024-01-09", + "2024-01-16", + "2024-01-19", + "2024-02-28", + "2024-06-05", + "2024-06-06", + "2024-06-07", + "2024-06-09", + "2024-07-10", + "2024-07-12", + "2024-07-13", + "2024-07-14", + "2024-07-15", + "2024-07-16", + "2024-07-17", + "2024-07-22", + "2024-07-24", + "2024-08-15", + "2024-08-16", + "2024-08-17", + "2024-08-18", + "2024-08-19", + "2024-08-26", + "2025-01-06", + "2025-01-09", + "2025-01-11", + "2025-01-19", + "2025-02-09", + "2025-02-17", + "2025-02-18", + "2025-02-20", + "2025-02-21", + "2025-07-03", + "2025-08-04", + "2025-08-05", + "2025-12-11", + "2025-12-29", + "2025-12-30", + "2026-01-02", + "2026-01-19" + ] + }, + "inputs": { + "bts/ontime_2022_12.zip": "93ef0f6ede001547b748ca3b20cabc26d7360d728fa73c32242a385a80688bd1", + "bts/ontime_2023_06.zip": "67dc6b993ba2e7c2175a874da7a8fbf12081c23c87523c0a5cd7d2f3e50450a1", + "bts/ontime_2023_07.zip": "b1b73635dcb2add363bb001d95c3f951e0ce4fc32130cbc76b565a531ced2146", + "bts/ontime_2023_08.zip": "d374aa3ec2b844d47c675d17cf71f2ade0af07b20670f9b8a2c6c1f5fe5d57bd", + "bts/ontime_2023_12.zip": "c8391a3f06749b6ee4dec493fb7974f398b9d066a4e731c4cbb8932eddb774ce", + "bts/ontime_2024_01.zip": "fe089b45523f9d4ac0ccd0e176a543d274e914ee5ae5bd384dbaafc7dc06ebfd", + "bts/ontime_2024_02.zip": "8463683d100504a97847497d2f2281008fd9add9639bf7436a9747032df15f9a", + "bts/ontime_2024_06.zip": "4f329439fd6892aaf89b32908191b2a007e70f775e2551181a22e704ef28a0ab", + "bts/ontime_2024_07.zip": "4d992fee134137b3fa43094d7e8cf4a8e6feaa6a422cffb4063f1ed6c7f3f731", + "bts/ontime_2024_08.zip": "58d651379af90cc44635657e95fe098567ff954046aec21d6d2cd18424a317f9", + "bts/ontime_2025_01.zip": "868387dcedaef1b8d8392e608e642219fde50d594c3cf2094aec858167629ccf", + "bts/ontime_2025_02.zip": "12dc8dbdb3c8b3c20d4c00a8b188196ae202f781a8760871ae502a9c733d0ecd", + "bts/ontime_2025_07.zip": "74309a3a734d5104b4c212390c06eb3acacff15124b9cea49ba7d69a609a0d19", + "bts/ontime_2025_08.zip": "405668b8a807266236a635efbc1e9364abfb756db1a5c895e45abc9c7b7684f1", + "bts/ontime_2025_12.zip": "a2af96d186bc9997fef47382b8589198281c9a722286d88f30032af8ee7dcd0f", + "bts/ontime_2026_01.zip": "9ff58f560519dbc8fbd1b8b9fd2a172ca46d0a9e80f1df4fd48891efca41e89c", + "bts/ontime_2026_02.zip": "a18b6de822a63bb881b55983ef039bf02a7cac046e9624e5c1b19b470a5e05cb", + "bts/ontime_2026_06.zip": "acd9d03e223e079e54b77065015f0ce9b6de92f1f46148048600cc9813a47a6e", + "bts/ontime_2026_07.zip": "61d657eb17f5b6f800ed2f05262a2223c5edf66fe7d9cfb3598c6664a34ed0b6", + "iem/metar/JFK_2022_12.csv": "3deefa282773fd3debb3a5374c2d28e0e70d976dd365327f0b93f497d53c76bd", + "iem/speci/JFK_2022_12.csv": "7f88aec8b4f809f41b4c0ffd447a3d9cd4fe7ec68c26c9743643e419a44b6907", + "iem/afos/TAFJFK_2022_12.txt": "ac4c4fd49aa658499e5e9767cc81d53e91dcae9f8ec7ab684a5b18045a34652b", + "iem/metar/BOS_2022_12.csv": "4d8f8a845b21a859f6c7a8105974c2da07bad92d3b81abda80d0d730ae5ec7c5", + "iem/speci/BOS_2022_12.csv": "4df84177ea37d520612f4c19295054ef843b93a01513e6071339a3c0b0cfc421", + "iem/afos/TAFBOS_2022_12.txt": "6bdcb6d9640a1c21faf3246fa630dc0f082fadff51182fd9d6937d35ef0d75d6", + "iem/metar/JFK_2023_06.csv": "6dc2c7d57c0c5dd6e01ae8b8ec6b9d7cb3b0257c885ddcd6b60f4764ee6b90af", + "iem/speci/JFK_2023_06.csv": "b1e96c69c8e9f09f30b50fbce3b521f141139f97725d4f3d222986f2c8c9a174", + "iem/afos/TAFJFK_2023_06.txt": "990414fc28cb614c5df50e1e5a1e3dee29ef18ecb550b43abcc42bcacb720a46", + "iem/metar/BOS_2023_06.csv": "636d466d52d73bad1f8869c09bb113ed1ba1c2029effe826570504faa786dd54", + "iem/speci/BOS_2023_06.csv": "ae80ae495557cbc6906c7eaa1b9cef45de1ab040d70d4acb0540a230f7cc6821", + "iem/afos/TAFBOS_2023_06.txt": "7616c2c232250c6fbfdb69d36550c18bba3ebc1e16d9b53856f66d91fc131436", + "iem/metar/JFK_2023_07.csv": "d095fb66ffd4b2fc221dd9dc2ccc97424624f5c9e457b28f17bcc95234920944", + "iem/speci/JFK_2023_07.csv": "ecb2f13d394149e8e9ceee576dc29112882b735b2940aec0abf3b8e1028e1937", + "iem/afos/TAFJFK_2023_07.txt": "cb1438fb0adee8c575407cbcbdb0ef3831191301489db31e5cf365178b096979", + "iem/metar/BOS_2023_07.csv": "5accb01b981fd0f5c5455dd1114f874fec1385dee644892678fc7c931e966922", + "iem/speci/BOS_2023_07.csv": "dec387307e951d141ea734ca1553ef90e76871894acc523f9eac19cff567cfbb", + "iem/afos/TAFBOS_2023_07.txt": "38e4ccc18b0762b70f98545a496b2a9c61cadbcdae9a0b5da118dd5678a1032b", + "iem/metar/JFK_2023_08.csv": "2c18060425ee5c6632bcd0008df90c3377051885dad14a2612a3bca9c62ac403", + "iem/speci/JFK_2023_08.csv": "aaa6f00d31fdb0c220ecded1f9fa13705dbb4d5e22df83e837ecc69b5bbb10ec", + "iem/afos/TAFJFK_2023_08.txt": "fceb10b8ce89d2e464f3229e0c2b7836ae160559f4781e6fc51e14ce190c1b6a", + "iem/metar/BOS_2023_08.csv": "e6241035ba0529588de67c6e7e39c32776892896b6f2d3e110e9d923821d2a97", + "iem/speci/BOS_2023_08.csv": "5784b3adc4fbd00080395b243694d10ae54ee5711680a3aa1103cec3216d5b15", + "iem/afos/TAFBOS_2023_08.txt": "ddb447ba0d76eaccb8c072ae4fc8f0d2cf951d89aa915e0d41eb2d80574e5754", + "iem/metar/JFK_2023_12.csv": "859c1e7c6e3a4dfb119a8ea04060c336103128b1a0a20e77483ee12393c1f4ef", + "iem/speci/JFK_2023_12.csv": "537b2ebca44bb6f3331192afaab40c1f0531bbf1b025d59eaf9f98e58fde3a56", + "iem/afos/TAFJFK_2023_12.txt": "1483b574f53b8af6973541e32ce8c85f07107b1f7e0faf5261997d110554bf2f", + "iem/metar/BOS_2023_12.csv": "152817ae775d3f2cd2e907ad2a24b4d5ff0c1e6ba69b73ae01e7be32dbdfa827", + "iem/speci/BOS_2023_12.csv": "d528a5e971def2d79a79d1b80c49fbf9102ef6dc445422ac65e1b8c2428cbbbc", + "iem/afos/TAFBOS_2023_12.txt": "f9c92b9cc15af9ab202f712c7dcc4641e063063fe8636f2f319e1c915cd070f4", + "iem/metar/JFK_2024_01.csv": "421eef4d2e67ecbd8b27d5d088977be7fa77660df61e1d8fb02e3f9205f37a1e", + "iem/speci/JFK_2024_01.csv": "8adf1a5c6f99e359d92fc9540bff74cc90131cfbdf98a41dc7c94ffa5d526ff9", + "iem/afos/TAFJFK_2024_01.txt": "784c0fb405382f002a7d9c3960bee10b9e03813fd1610b1d1e002763500fcc45", + "iem/metar/BOS_2024_01.csv": "649deccc0590a06fcd11bff25f22d0f632215a9403af847219d8473cbe64f77d", + "iem/speci/BOS_2024_01.csv": "548015df2693202d01fcd0936d1d84e3f93ee7ea0a9234448d70e648995ad4ec", + "iem/afos/TAFBOS_2024_01.txt": "3d22efbfca2d4b0bc8dfc7ca3a272ffcdee3108bcf21d130f81424bd5e594820", + "iem/metar/JFK_2024_02.csv": "cffc196e9a8b6044f8b99a37ca727a5a91f77d6b21c723608d481c73037c27e1", + "iem/speci/JFK_2024_02.csv": "298de35d9132e2fece5bee36d8ee0f453beff1bd3ed0871e4e2b7cab67cd49ff", + "iem/afos/TAFJFK_2024_02.txt": "2728964b80026e52bf34563b358395df783b5464b12cae8b8172836d00391cf5", + "iem/metar/BOS_2024_02.csv": "f0c4f06a0cdb6eb4f03b6877a09c331eb6e60a36db05e71d9d64fade4d35b3af", + "iem/speci/BOS_2024_02.csv": "085a1adf2f7a9ab7e581696500e5c45cddfaddbe5aa6c3d477434d17b84c667c", + "iem/afos/TAFBOS_2024_02.txt": "7ca7559ba168885ba96af380924d87bc8d3f7d0e000016ea756d1594f5aede12", + "iem/metar/JFK_2024_06.csv": "8be22d3c2a5785ff74c2349855a817426aaa4538257d9e59bea374a7c88d48ef", + "iem/speci/JFK_2024_06.csv": "0188a4c4df6460f9d73234e3bcf8a7ef6d11d94cf099abcd231cc1b5227c6bef", + "iem/afos/TAFJFK_2024_06.txt": "40b1082a6cf9fff55b57ac6bb3b7edd2aef68510a648d1f88d63614b92889cfd", + "iem/metar/BOS_2024_06.csv": "eab8dc6e28cbc99409ce085ecac142d82b12af1058baeb8f6cd7393707150ce7", + "iem/speci/BOS_2024_06.csv": "330a8804fe9d55d5e15a40e728319e243bd8f83a0259294ada5260f81f274f23", + "iem/afos/TAFBOS_2024_06.txt": "6a59b79b77373bf9a828074eae865a5f106e16862e6eee344fd0c254119bcf48", + "iem/metar/JFK_2024_07.csv": "9ec3a7129c9f567da5cfff08fdd8e6d1f6fb6114d5cc908fb9a1d43fef157bbf", + "iem/speci/JFK_2024_07.csv": "98390f1d10fb3124106efc77957c4ec9ae3bf23bd708fb9e2a8c6ef3e0ad684f", + "iem/afos/TAFJFK_2024_07.txt": "5bccd438aac34bdd84ea23a564a2251ec553d276392b65c52645448435656067", + "iem/metar/BOS_2024_07.csv": "ef63b77440eaf9907d7008eddbed0345d1c3d5e306ea8b1f1477a2d031c86abd", + "iem/speci/BOS_2024_07.csv": "8b2d210140727be51f703935d157804f69186b422f49300285fc85a659c6b531", + "iem/afos/TAFBOS_2024_07.txt": "597057f559a59e5e83d093a0eacb44248cb79926c1404c395e32015627a44dfd", + "iem/metar/JFK_2024_08.csv": "14b363e6210f07e9c956e4ae097b1b8d81c711d67cc8e19af3c78729f626ad1d", + "iem/speci/JFK_2024_08.csv": "9fa494c65bd675e38f602ec6911377e0602d43052782d5ad736a60138269ca80", + "iem/afos/TAFJFK_2024_08.txt": "6a53cc42298ba0ed89b18ff03e106998d305426aaa8994c13792fc41eec5469b", + "iem/metar/BOS_2024_08.csv": "c5c4317761f4c0bd68d856ebe3b0f402d593e538eb9b08d6bdc490ab2127bd6b", + "iem/speci/BOS_2024_08.csv": "66896d9def9e2fa4401fcf679ad10cbebb7d88914fc5cba031b067b8c4fb4bf1", + "iem/afos/TAFBOS_2024_08.txt": "ba6b86b52062fc6f9597963247c57770482101c11eb4a422f2c6e526fcdcca2f", + "iem/metar/JFK_2025_01.csv": "9be988e724ce5c951e8415de891c2ea5cd3ebeb2613e3dde08c9bdf391824882", + "iem/speci/JFK_2025_01.csv": "7c2cffc100cf7046a5abf5c92a067044f8dcb9181bcf0a2e778d2557087452a7", + "iem/afos/TAFJFK_2025_01.txt": "7b56c218b8684ce6f62895c338b4f371065875c521565289e11d6e171ef2a816", + "iem/metar/BOS_2025_01.csv": "29d5335375bf23112eebf231422de5381fa2067affaeae67ad7975be3257414f", + "iem/speci/BOS_2025_01.csv": "db6b57e57c4387f410facf738000f7f8b4d74124029e573e73a36bf45f0f6ff3", + "iem/afos/TAFBOS_2025_01.txt": "77ccc65cf791eabb5323cb5aaa47daa157296b5b1c856d8d942935dcad244d53", + "iem/metar/JFK_2025_02.csv": "ac93f98fed98f1637fe223f24d608de1544540e995fec4cc6c77077d77b4944f", + "iem/speci/JFK_2025_02.csv": "13a765996bd2c66955be824baff5623861b9a4c3b43463a0aa8ec3b92db293dd", + "iem/afos/TAFJFK_2025_02.txt": "45c344e8178893f2d81f8fb8b5836c7ceea36bd360194cb3338fb58631c290d2", + "iem/metar/BOS_2025_02.csv": "cf880f149d5b0e5802eef8b77815f76a5dddc05df60cbb7b22198be235aba1b5", + "iem/speci/BOS_2025_02.csv": "3c63ad5fbdd7f677462ae286abeb22a2a82e765a1fff5bb95844d3d1e664f52f", + "iem/afos/TAFBOS_2025_02.txt": "3ecf14f60a21b6d8a937c7519406b3d8fdbf19f7ee07954fbc63c61963817d92", + "iem/metar/JFK_2025_07.csv": "f0a6b1c99488266bd35f766d360430e84999c6f8c83d7ef5b6e6b888119adff9", + "iem/speci/JFK_2025_07.csv": "989711a1dfc054126c8ed4dd07a87569fb1ed60056ecb89c811e33c24c37ac43", + "iem/afos/TAFJFK_2025_07.txt": "1400bd86bb9210476daa14f728b57fff4709419149bd9b2b0e6387c3ea7514bb", + "iem/metar/BOS_2025_07.csv": "b8e2170d4ed7f11a300d37890903a64cb718947f51415dcaa425e284cadbbee1", + "iem/speci/BOS_2025_07.csv": "dea39f6deb226b8d9dbfd496de37585050dc3e8abc2c46f81d4d0e200b0a888f", + "iem/afos/TAFBOS_2025_07.txt": "b888c25886d7e32b040f332b4fe4d661085fd7bd57e52e869e19528784164e29", + "iem/metar/JFK_2025_08.csv": "120d745a20334c5ccd5fe37399eb684cf0a97caca43a5dc76dc69f9ea974bf40", + "iem/speci/JFK_2025_08.csv": "647df212fe1c80a482d2ea1af986463115d7be1e8239ae3bf17cae23947e5d97", + "iem/afos/TAFJFK_2025_08.txt": "701af1d0d45c3688e94db07e05dd7f4a04676e2e8292b494d46505ff1315de6d", + "iem/metar/BOS_2025_08.csv": "532f4e3d247f6b9016830b17521062ff7c1b76e0ae4e685012946c65f92a628b", + "iem/speci/BOS_2025_08.csv": "76ba543f310baefdf45f3f354189ff1e56cca3c288e81fcb069421f718566412", + "iem/afos/TAFBOS_2025_08.txt": "72c374de3482a8a9575bfd132a092cae5ce51c7f83f6e257af0120f90263ebb5", + "iem/metar/JFK_2025_12.csv": "456bfc7a94a624bda82087b563c46a4956650b8c785143f0dbb0a975f7137f89", + "iem/speci/JFK_2025_12.csv": "19b800c3745bd95a656ad89be1b33d72662cbfe22ff06592fb1359a9af4e7a24", + "iem/afos/TAFJFK_2025_12.txt": "34f5ccad414da1394ba87af0d3f715467d9080d76671164e132dcfc25269d165", + "iem/metar/BOS_2025_12.csv": "9c2484e5a5122cfb0ffd236586e370b9745d4f70fcc795f5fcc56a205644cc85", + "iem/speci/BOS_2025_12.csv": "68a900fcee7166761bbac425115e22ef70e5a59a3eac7771d5179aac87dadbd6", + "iem/afos/TAFBOS_2025_12.txt": "b53baf2278368a2889b5234145da55cc2645b460a5c0880c905c41365565b272", + "iem/metar/JFK_2026_01.csv": "eb09723cb01075320fcc009a14e7c7df8f28cb24bf1850e09f38245de0e8339d", + "iem/speci/JFK_2026_01.csv": "b0e7dfbfcc320fe3080bacfb6957ff9ff5c51d92ed76fb073e4d4badb9fe87cd", + "iem/afos/TAFJFK_2026_01.txt": "e5ea93ded7c8f7ba0eadd22e12c1a129c58a48300b5668e208677bc46591b7c4", + "iem/metar/BOS_2026_01.csv": "593fcfb61473c90c0a538bb57bc6efdbd2847ec21da11b3c52857636b24cbabd", + "iem/speci/BOS_2026_01.csv": "d3a064847e3b6300c689fbe0fe97b56a8741c3a088ef9ecb4571c01523c5b957", + "iem/afos/TAFBOS_2026_01.txt": "4782cbb0f4b8769d01d193b4b74b2dd92738053ab1637f015d3a32dedfa2941b", + "iem/metar/JFK_2026_02.csv": "3bb35ec6f131e4af1b1fa0f03819ae2ec5931db50cbda9482f3c86b1f5cbb62a", + "iem/speci/JFK_2026_02.csv": "6308670b44832a350cc54bf606b7a7537ef14f5b49df7ca09461d7bd7f951f8b", + "iem/afos/TAFJFK_2026_02.txt": "f3c7499c7c6b34713a4b99f0ca75b2d1fd3eb93f69fe7caeddc53f82f1f12933", + "iem/metar/BOS_2026_02.csv": "cda5df0fe04646e48d7148f933ff64cc4e7b4ede763570cdb44f3f157a1b34b2", + "iem/speci/BOS_2026_02.csv": "d50a42eacb07b82d7b2cef4b4e09b3a37c35d77bd0bab69f16dda8be5bc218fe", + "iem/afos/TAFBOS_2026_02.txt": "9a255100eaea621c9b2a087a73ef89038ce1736d40db489a8b4ae6f083401c76", + "iem/metar/JFK_2026_06.csv": "1efc9dcf48d9c7cecca17c96929b0af4d150f8fd3b45cf60acc020376ebec357", + "iem/speci/JFK_2026_06.csv": "5e74fd72e9bd871279cdaaba74f60754cea5fb3da0acc100dab66f43c54582b9", + "iem/afos/TAFJFK_2026_06.txt": "50fa7ac5e85d2eee6e69df02c7cade10600617c9069a43350d90cf6073becba5", + "iem/metar/BOS_2026_06.csv": "02927daff83666b759c262068398a5c09f8f6e6ba84b4cf3fbc6663267bb2682", + "iem/speci/BOS_2026_06.csv": "534e833b7102d803b7d67f142eb47ff08726d88a58ec0aaafe7a5630c74c473c", + "iem/afos/TAFBOS_2026_06.txt": "31306c11e3c1aa42e0a6c6091f536f8c1a1a224f5a349318815b9cce2787ac4f", + "iem/metar/JFK_2026_07.csv": "8cb75b2b27d8724e5538441566bbff542efc2b09f44576a42d1a106d74a0d688", + "iem/speci/JFK_2026_07.csv": "348c92fb578f593277a3d4618712c8e14fdfbe3faa44fbe6124d0d75024ca232", + "iem/afos/TAFJFK_2026_07.txt": "84ec9d847020308d3ecdf4c87c720fd80d96bcc61e210d367268986c0895aa3d", + "iem/metar/BOS_2026_07.csv": "38c92b822a6a4db763cbb94137f6e44cd69e1434c572e3e66a6f6be3a60ea56a", + "iem/speci/BOS_2026_07.csv": "ef0529908b379b16699683f752b44e589f7cb432fb6e12395b165629f09b4f94", + "iem/afos/TAFBOS_2026_07.txt": "2428ab16c35c671763430572204a5876a284a63918479f32922c18036c7fb9ce" + }, + "controls": { + "2024-07-03": { + "hubs": [ + "JFK", + "BOS" + ], + "windows": { + "JFK": [ + 1080, + 1320 + ], + "BOS": [ + 1020, + 1260 + ] + }, + "task_id": "b6-20240703-0400" + }, + "2025-01-15": { + "hubs": [ + "JFK", + "BOS" + ], + "windows": { + "JFK": [ + 1080, + 1320 + ], + "BOS": [ + 420, + 660 + ] + }, + "task_id": "b6-20250115-0400" + } + }, + "split": { + "2022-12-07": "train", + "2022-12-15": "eval", + "2022-12-22": "eval", + "2023-06-02": "eval", + "2023-06-05": "eval", + "2023-06-12": "train", + "2023-06-13": "train", + "2023-06-14": "train", + "2023-06-16": "train", + "2023-06-24": "train", + "2023-06-25": "train", + "2023-06-26": "train", + "2023-06-27": "train", + "2023-06-28": "train", + "2023-06-30": "train", + "2023-07-01": "train", + "2023-07-02": "train", + "2023-07-04": "train", + "2023-07-07": "eval", + "2023-07-13": "train", + "2023-07-14": "train", + "2023-07-15": "train", + "2023-07-16": "train", + "2023-07-18": "train", + "2023-07-21": "train", + "2023-07-25": "train", + "2023-07-27": "train", + "2023-07-29": "train", + "2023-08-04": "train", + "2023-08-17": "eval", + "2023-08-25": "train", + "2023-08-29": "eval", + "2023-12-10": "train", + "2023-12-11": "train", + "2023-12-18": "eval", + "2023-12-26": "train", + "2024-01-06": "train", + "2024-01-07": "train", + "2024-01-09": "train", + "2024-01-16": "train", + "2024-01-19": "train", + "2024-02-28": "train", + "2024-06-05": "train", + "2024-06-06": "train", + "2024-06-07": "train", + "2024-06-09": "train", + "2024-06-14": "eval", + "2024-06-23": "eval", + "2024-06-30": "eval", + "2024-07-10": "train", + "2024-07-12": "train", + "2024-07-13": "train", + "2024-07-14": "train", + "2024-07-15": "train", + "2024-07-16": "train", + "2024-07-17": "train", + "2024-07-22": "train", + "2024-07-24": "train", + "2024-07-31": "eval", + "2024-08-15": "train", + "2024-08-16": "train", + "2024-08-17": "train", + "2024-08-18": "train", + "2024-08-19": "train", + "2024-08-26": "train", + "2025-01-06": "train", + "2025-01-09": "train", + "2025-01-11": "train", + "2025-01-19": "train", + "2025-02-06": "eval", + "2025-02-09": "train", + "2025-02-17": "train", + "2025-02-18": "train", + "2025-02-20": "train", + "2025-02-21": "train", + "2025-07-03": "train", + "2025-07-16": "eval", + "2025-07-25": "eval", + "2025-07-31": "eval", + "2025-08-04": "train", + "2025-08-05": "train", + "2025-08-09": "eval", + "2025-08-13": "eval", + "2025-08-21": "eval", + "2025-08-29": "eval", + "2025-12-02": "eval", + "2025-12-11": "train", + "2025-12-14": "eval", + "2025-12-20": "eval", + "2025-12-29": "train", + "2025-12-30": "train", + "2026-01-02": "train", + "2026-01-19": "train", + "2026-01-26": "eval" + }, + "refs": { + "tasks": 96, + "time_limits_s": [ + 1800.0, + 900.0 + ], + "failed": { + "b6-20260126-0400": [ + "follower" + ] + } + }, + "tasks": { + "b6-20221207-0400": { + "date": "2022-12-07", + "split": "train" + }, + "b6-20221215-0400": { + "date": "2022-12-15", + "split": "eval" + }, + "b6-20221222-0400": { + "date": "2022-12-22", + "split": "eval" + }, + "b6-20230602-0400": { + "date": "2023-06-02", + "split": "eval" + }, + "b6-20230605-0400": { + "date": "2023-06-05", + "split": "eval" + }, + "b6-20230612-0400": { + "date": "2023-06-12", + "split": "train" + }, + "b6-20230613-0400": { + "date": "2023-06-13", + "split": "train" + }, + "b6-20230614-0400": { + "date": "2023-06-14", + "split": "train" + }, + "b6-20230616-0400": { + "date": "2023-06-16", + "split": "train" + }, + "b6-20230624-0400": { + "date": "2023-06-24", + "split": "train" + }, + "b6-20230625-0400": { + "date": "2023-06-25", + "split": "train" + }, + "b6-20230626-0400": { + "date": "2023-06-26", + "split": "train" + }, + "b6-20230627-0400": { + "date": "2023-06-27", + "split": "train" + }, + "b6-20230628-0400": { + "date": "2023-06-28", + "split": "train" + }, + "b6-20230630-0400": { + "date": "2023-06-30", + "split": "train" + }, + "b6-20230701-0400": { + "date": "2023-07-01", + "split": "train" + }, + "b6-20230702-0400": { + "date": "2023-07-02", + "split": "train" + }, + "b6-20230704-0400": { + "date": "2023-07-04", + "split": "train" + }, + "b6-20230707-0400": { + "date": "2023-07-07", + "split": "eval" + }, + "b6-20230713-0400": { + "date": "2023-07-13", + "split": "train" + }, + "b6-20230714-0400": { + "date": "2023-07-14", + "split": "train" + }, + "b6-20230715-0400": { + "date": "2023-07-15", + "split": "train" + }, + "b6-20230716-0400": { + "date": "2023-07-16", + "split": "train" + }, + "b6-20230718-0400": { + "date": "2023-07-18", + "split": "train" + }, + "b6-20230721-0400": { + "date": "2023-07-21", + "split": "train" + }, + "b6-20230725-0400": { + "date": "2023-07-25", + "split": "train" + }, + "b6-20230727-0400": { + "date": "2023-07-27", + "split": "train" + }, + "b6-20230729-0400": { + "date": "2023-07-29", + "split": "train" + }, + "b6-20230804-0400": { + "date": "2023-08-04", + "split": "train" + }, + "b6-20230817-0400": { + "date": "2023-08-17", + "split": "eval" + }, + "b6-20230825-0400": { + "date": "2023-08-25", + "split": "train" + }, + "b6-20230829-0400": { + "date": "2023-08-29", + "split": "eval" + }, + "b6-20231210-0400": { + "date": "2023-12-10", + "split": "train" + }, + "b6-20231211-0400": { + "date": "2023-12-11", + "split": "train" + }, + "b6-20231218-0400": { + "date": "2023-12-18", + "split": "eval" + }, + "b6-20231226-0400": { + "date": "2023-12-26", + "split": "train" + }, + "b6-20240106-0400": { + "date": "2024-01-06", + "split": "train" + }, + "b6-20240107-0400": { + "date": "2024-01-07", + "split": "train" + }, + "b6-20240109-0400": { + "date": "2024-01-09", + "split": "train" + }, + "b6-20240116-0400": { + "date": "2024-01-16", + "split": "train" + }, + "b6-20240119-0400": { + "date": "2024-01-19", + "split": "train" + }, + "b6-20240228-0400": { + "date": "2024-02-28", + "split": "train" + }, + "b6-20240605-0400": { + "date": "2024-06-05", + "split": "train" + }, + "b6-20240606-0400": { + "date": "2024-06-06", + "split": "train" + }, + "b6-20240607-0400": { + "date": "2024-06-07", + "split": "train" + }, + "b6-20240609-0400": { + "date": "2024-06-09", + "split": "train" + }, + "b6-20240614-0400": { + "date": "2024-06-14", + "split": "eval" + }, + "b6-20240623-0400": { + "date": "2024-06-23", + "split": "eval" + }, + "b6-20240630-0400": { + "date": "2024-06-30", + "split": "eval" + }, + "b6-20240710-0400": { + "date": "2024-07-10", + "split": "train" + }, + "b6-20240712-0400": { + "date": "2024-07-12", + "split": "train" + }, + "b6-20240713-0400": { + "date": "2024-07-13", + "split": "train" + }, + "b6-20240714-0400": { + "date": "2024-07-14", + "split": "train" + }, + "b6-20240715-0400": { + "date": "2024-07-15", + "split": "train" + }, + "b6-20240716-0400": { + "date": "2024-07-16", + "split": "train" + }, + "b6-20240717-0400": { + "date": "2024-07-17", + "split": "train" + }, + "b6-20240722-0400": { + "date": "2024-07-22", + "split": "train" + }, + "b6-20240724-0400": { + "date": "2024-07-24", + "split": "train" + }, + "b6-20240731-0400": { + "date": "2024-07-31", + "split": "eval" + }, + "b6-20240815-0400": { + "date": "2024-08-15", + "split": "train" + }, + "b6-20240816-0400": { + "date": "2024-08-16", + "split": "train" + }, + "b6-20240817-0400": { + "date": "2024-08-17", + "split": "train" + }, + "b6-20240818-0400": { + "date": "2024-08-18", + "split": "train" + }, + "b6-20240819-0400": { + "date": "2024-08-19", + "split": "train" + }, + "b6-20240826-0400": { + "date": "2024-08-26", + "split": "train" + }, + "b6-20250106-0400": { + "date": "2025-01-06", + "split": "train" + }, + "b6-20250109-0400": { + "date": "2025-01-09", + "split": "train" + }, + "b6-20250111-0400": { + "date": "2025-01-11", + "split": "train" + }, + "b6-20250119-0400": { + "date": "2025-01-19", + "split": "train" + }, + "b6-20250206-0400": { + "date": "2025-02-06", + "split": "eval" + }, + "b6-20250209-0400": { + "date": "2025-02-09", + "split": "train" + }, + "b6-20250217-0400": { + "date": "2025-02-17", + "split": "train" + }, + "b6-20250218-0400": { + "date": "2025-02-18", + "split": "train" + }, + "b6-20250220-0400": { + "date": "2025-02-20", + "split": "train" + }, + "b6-20250221-0400": { + "date": "2025-02-21", + "split": "train" + }, + "b6-20250703-0400": { + "date": "2025-07-03", + "split": "train" + }, + "b6-20250716-0400": { + "date": "2025-07-16", + "split": "eval" + }, + "b6-20250725-0400": { + "date": "2025-07-25", + "split": "eval" + }, + "b6-20250731-0400": { + "date": "2025-07-31", + "split": "eval" + }, + "b6-20250804-0400": { + "date": "2025-08-04", + "split": "train" + }, + "b6-20250805-0400": { + "date": "2025-08-05", + "split": "train" + }, + "b6-20250809-0400": { + "date": "2025-08-09", + "split": "eval" + }, + "b6-20250813-0400": { + "date": "2025-08-13", + "split": "eval" + }, + "b6-20250821-0400": { + "date": "2025-08-21", + "split": "eval" + }, + "b6-20250829-0400": { + "date": "2025-08-29", + "split": "eval" + }, + "b6-20251202-0400": { + "date": "2025-12-02", + "split": "eval" + }, + "b6-20251211-0400": { + "date": "2025-12-11", + "split": "train" + }, + "b6-20251214-0400": { + "date": "2025-12-14", + "split": "eval" + }, + "b6-20251220-0400": { + "date": "2025-12-20", + "split": "eval" + }, + "b6-20251229-0400": { + "date": "2025-12-29", + "split": "train" + }, + "b6-20251230-0400": { + "date": "2025-12-30", + "split": "train" + }, + "b6-20260102-0400": { + "date": "2026-01-02", + "split": "train" + }, + "b6-20260119-0400": { + "date": "2026-01-19", + "split": "train" + }, + "b6-20260126-0400": { + "date": "2026-01-26", + "split": "eval" + }, + "b6-20240703-0400": { + "date": "2024-07-03", + "split": "control" + }, + "b6-20250115-0400": { + "date": "2025-01-15", + "split": "control" + } + } +} diff --git a/data/b6-v3/refs.json b/data/b6-v3/refs.json new file mode 100644 index 0000000..6e17b79 --- /dev/null +++ b/data/b6-v3/refs.json @@ -0,0 +1,481 @@ +{ + "b6-20221207-0400": { + "anchor": 2381426, + "follower": 2572238, + "task": "56be69f087239fba" + }, + "b6-20221215-0400": { + "anchor": 3324315, + "follower": 3359614, + "task": "fff311ee69eccf4f" + }, + "b6-20221222-0400": { + "anchor": 4683961, + "follower": 4778234, + "task": "1bb5b126ce1c7faf" + }, + "b6-20230602-0400": { + "anchor": 4362368, + "follower": 4407890, + "task": "5c1da59d3a3ff54b" + }, + "b6-20230605-0400": { + "anchor": 1662285, + "follower": 1667653, + "task": "0292375a09b54662" + }, + "b6-20230612-0400": { + "anchor": 3105754, + "follower": 3383174, + "task": "fc9cafe5abfac15d" + }, + "b6-20230613-0400": { + "anchor": 2251580, + "follower": 2312233, + "task": "401a5bbd030ceae3" + }, + "b6-20230614-0400": { + "anchor": 4001172, + "follower": 4088868, + "task": "8ab682ab56b6d7b4" + }, + "b6-20230616-0400": { + "anchor": 4058355, + "follower": 4239811, + "task": "b09fadc287c95653" + }, + "b6-20230624-0400": { + "anchor": 5759961, + "follower": 6094790, + "task": "f4690e7f4b510e75" + }, + "b6-20230625-0400": { + "anchor": 6835903, + "follower": 7172484, + "task": "d9eca7d638ec8714" + }, + "b6-20230626-0400": { + "anchor": 8884269, + "follower": 9733245, + "task": "6949360315a9ca80" + }, + "b6-20230627-0400": { + "anchor": 9250411, + "follower": 9954767, + "task": "48126059c08eef45" + }, + "b6-20230628-0400": { + "anchor": 6500814, + "follower": 6705752, + "task": "2846fac4898580f1" + }, + "b6-20230630-0400": { + "anchor": 3264262, + "follower": 3290393, + "task": "682a92dd7580d7fd" + }, + "b6-20230701-0400": { + "anchor": 2691290, + "follower": 2725093, + "task": "afc195eb693d0252" + }, + "b6-20230702-0400": { + "anchor": 2539706, + "follower": 2785348, + "task": "dbe94b8075c7b570" + }, + "b6-20230704-0400": { + "anchor": 3000819, + "follower": 3057433, + "task": "f1f91f2924defd3b" + }, + "b6-20230707-0400": { + "anchor": 6104360, + "follower": 6520405, + "task": "cd2030d39ff9dae1" + }, + "b6-20230713-0400": { + "anchor": 3182131, + "follower": 3206627, + "task": "54b41bfefcc2edde" + }, + "b6-20230714-0400": { + "anchor": 9202311, + "follower": 10124406, + "task": "f1ae345a83edb1d6" + }, + "b6-20230715-0400": { + "anchor": 5760769, + "follower": 5941955, + "task": "2b416884f0de0d33" + }, + "b6-20230716-0400": { + "anchor": 10857550, + "follower": 12317908, + "task": "071d49d60e437b6d" + }, + "b6-20230718-0400": { + "anchor": 6610379, + "follower": 7144149, + "task": "c2b985a189344802" + }, + "b6-20230721-0400": { + "anchor": 5364762, + "follower": 5813096, + "task": "2c26a8c86471eaee" + }, + "b6-20230725-0400": { + "anchor": 5857307, + "follower": 6190705, + "task": "0dd3236e22573a1d" + }, + "b6-20230727-0400": { + "anchor": 5043387, + "follower": 5647768, + "task": "63cfb190555644f6" + }, + "b6-20230729-0400": { + "anchor": 5756285, + "follower": 6250850, + "task": "eb0f4d3d10827dcd" + }, + "b6-20230804-0400": { + "anchor": 3536974, + "follower": 3640254, + "task": "f139bced651a621c" + }, + "b6-20230817-0400": { + "anchor": 3890604, + "follower": 3959907, + "task": "b8a513eb5ce9921c" + }, + "b6-20230825-0400": { + "anchor": 3676376, + "follower": 3894887, + "task": "3f4b14184836f754" + }, + "b6-20230829-0400": { + "anchor": 2485411, + "follower": 2627162, + "task": "f086e9807e1d062d" + }, + "b6-20231210-0400": { + "anchor": 3234534, + "follower": 3271238, + "task": "ad5df73c02d45f1c" + }, + "b6-20231211-0400": { + "anchor": 2281604, + "follower": 2293809, + "task": "29b84441791656df" + }, + "b6-20231218-0400": { + "anchor": 4792147, + "follower": 5522472, + "task": "b61f11623b761d15" + }, + "b6-20231226-0400": { + "anchor": 3836449, + "follower": 3892722, + "task": "0783114c7ead7aad" + }, + "b6-20240106-0400": { + "anchor": 2320974, + "follower": 2370695, + "task": "a8f3aa6ad5c7737d" + }, + "b6-20240107-0400": { + "anchor": 4503316, + "follower": 4777687, + "task": "02e923ebcbd6c95d" + }, + "b6-20240109-0400": { + "anchor": 3911384, + "follower": 4147244, + "task": "811bc0cd6fe36c77" + }, + "b6-20240116-0400": { + "anchor": 6260178, + "follower": 6436381, + "task": "e032d9d8d5086479" + }, + "b6-20240119-0400": { + "anchor": 3529588, + "follower": 3691468, + "task": "f40e7ef3a5ac2933" + }, + "b6-20240228-0400": { + "anchor": 2110235, + "follower": 2123807, + "task": "117eed1e2d5e35d0" + }, + "b6-20240605-0400": { + "anchor": 1726063, + "follower": 1941222, + "task": "0429dbf0a2b3e21e" + }, + "b6-20240606-0400": { + "anchor": 2709087, + "follower": 2955517, + "task": "0175df878d1a6386" + }, + "b6-20240607-0400": { + "anchor": 1991206, + "follower": 2001089, + "task": "29a43fccd33bdcc3" + }, + "b6-20240609-0400": { + "anchor": 1684934, + "follower": 1719978, + "task": "fbf80a092d6f8ea8" + }, + "b6-20240614-0400": { + "anchor": 3542855, + "follower": 3839476, + "task": "0068c439f9c99d38" + }, + "b6-20240623-0400": { + "anchor": 4319114, + "follower": 4804181, + "task": "4985609c2e58f1b2" + }, + "b6-20240630-0400": { + "anchor": 7187790, + "follower": 7902708, + "task": "be6919d851aecd87" + }, + "b6-20240710-0400": { + "anchor": 3284068, + "follower": 3405869, + "task": "dd0b93db6934a7c7" + }, + "b6-20240712-0400": { + "anchor": 4171133, + "follower": 4357436, + "task": "419f1971ae7dfa49" + }, + "b6-20240713-0400": { + "anchor": 2186529, + "follower": 2202867, + "task": "6cb266b1b2bf89f2" + }, + "b6-20240714-0400": { + "anchor": 3899105, + "follower": 4017485, + "task": "9f679c73aa8c430c" + }, + "b6-20240715-0400": { + "anchor": 2797174, + "follower": 2838685, + "task": "260efc1920496e25" + }, + "b6-20240716-0400": { + "anchor": 3147587, + "follower": 3243233, + "task": "2fe6fa1b8d38de6c" + }, + "b6-20240717-0400": { + "anchor": 5302973, + "follower": 5625808, + "task": "00dc2acc85778fc5" + }, + "b6-20240722-0400": { + "anchor": 3974014, + "follower": 4163475, + "task": "f3011215ffde6c28" + }, + "b6-20240724-0400": { + "anchor": 2832411, + "follower": 2945671, + "task": "91cea21837b9adb9" + }, + "b6-20240731-0400": { + "anchor": 2414833, + "follower": 2498055, + "task": "1a6b75dce556c8d4" + }, + "b6-20240815-0400": { + "anchor": 3450584, + "follower": 3499334, + "task": "3179786940737d92" + }, + "b6-20240816-0400": { + "anchor": 1432835, + "follower": 1525560, + "task": "ad429c230c9f502b" + }, + "b6-20240817-0400": { + "anchor": 2118461, + "follower": 2245112, + "task": "4d7ec4264757c676" + }, + "b6-20240818-0400": { + "anchor": 7301058, + "follower": 7924686, + "task": "afdf234f6b4ff51a" + }, + "b6-20240819-0400": { + "anchor": 5828449, + "follower": 6276300, + "task": "8433695416a81a6c" + }, + "b6-20240826-0400": { + "anchor": 2470298, + "follower": 2542706, + "task": "cd1283336818d847" + }, + "b6-20250106-0400": { + "anchor": 4216659, + "follower": 4513796, + "task": "9befd2d98b4d893e" + }, + "b6-20250109-0400": { + "anchor": 1300035, + "follower": 1308151, + "task": "c2ee5e8896b658ee" + }, + "b6-20250111-0400": { + "anchor": 2571288, + "follower": 2599414, + "task": "65d9e11ed29addda" + }, + "b6-20250119-0400": { + "anchor": 2987033, + "follower": 3105472, + "task": "9a06fbb289f344b6" + }, + "b6-20250206-0400": { + "anchor": 3913797, + "follower": 4001930, + "task": "3df80d1f4843ada1" + }, + "b6-20250209-0400": { + "anchor": 4776825, + "follower": 4980175, + "task": "f26fc88530e5659e" + }, + "b6-20250217-0400": { + "anchor": 5215655, + "follower": 5432590, + "task": "30e58b09b79fae35" + }, + "b6-20250218-0400": { + "anchor": 2026888, + "follower": 2034225, + "task": "fd77de8c36205e45" + }, + "b6-20250220-0400": { + "anchor": 2546645, + "follower": 2648332, + "task": "eca116ed13ded4fa" + }, + "b6-20250221-0400": { + "anchor": 1410174, + "follower": 1430197, + "task": "d012f0dd8e4af6d6" + }, + "b6-20250703-0400": { + "anchor": 4893651, + "follower": 5138111, + "task": "5cf6078a0dc09061" + }, + "b6-20250716-0400": { + "anchor": 3965567, + "follower": 4126176, + "task": "636cdd4afaa21ed7" + }, + "b6-20250725-0400": { + "anchor": 3682239, + "follower": 3870409, + "task": "8a2a7340ee77a17e" + }, + "b6-20250731-0400": { + "anchor": 5292238, + "follower": 5828762, + "task": "17177a6a8f9f3860" + }, + "b6-20250804-0400": { + "anchor": 1246103, + "follower": 1260364, + "task": "54bf433b79d60ae4" + }, + "b6-20250805-0400": { + "anchor": 657981, + "follower": 690018, + "task": "c121710f891d3803" + }, + "b6-20250809-0400": { + "anchor": 2003201, + "follower": 2045686, + "task": "3613e3dc6931046d" + }, + "b6-20250813-0400": { + "anchor": 3733993, + "follower": 4100180, + "task": "703796b982f47431" + }, + "b6-20250821-0400": { + "anchor": 2310276, + "follower": 2322084, + "task": "d4319345efa9772a" + }, + "b6-20250829-0400": { + "anchor": 1636516, + "follower": 1788857, + "task": "6fe7117f290936e9" + }, + "b6-20251202-0400": { + "anchor": 2198639, + "follower": 2221128, + "task": "2282be3ac94e6f2e" + }, + "b6-20251211-0400": { + "anchor": 2049127, + "follower": 2066652, + "task": "7839378112c6852f" + }, + "b6-20251214-0400": { + "anchor": 8525800, + "follower": 8867624, + "task": "f9de3595493a3df8" + }, + "b6-20251220-0400": { + "anchor": 1920238, + "follower": 1925167, + "task": "3dc689209ae4c7d5" + }, + "b6-20251229-0400": { + "anchor": 3855189, + "follower": 3967227, + "task": "b2ffa3051091625c" + }, + "b6-20251230-0400": { + "anchor": 2812000, + "follower": 2843677, + "task": "0758ff8d6cd66f01" + }, + "b6-20260102-0400": { + "anchor": 2781002, + "follower": 2847808, + "task": "9328686ed04c646d" + }, + "b6-20260119-0400": { + "anchor": 3108953, + "follower": 3249523, + "task": "1f50c90e43a33761" + }, + "b6-20260126-0400": { + "anchor": 15494911, + "task": "c1e8a9e44e3eaa56" + }, + "b6-20240703-0400": { + "anchor": 1044366, + "follower": 1044876, + "task": "082aefc8fae0c133" + }, + "b6-20250115-0400": { + "anchor": 512385, + "follower": 512830, + "task": "6f6ccb6870eb5435" + } +} diff --git a/data/b6-v3/tasks.jsonl.gz b/data/b6-v3/tasks.jsonl.gz new file mode 100644 index 0000000..5577f2b Binary files /dev/null and b/data/b6-v3/tasks.jsonl.gz differ diff --git a/docs/v3/DESIGN.md b/docs/v3/DESIGN.md new file mode 100644 index 0000000..a20d7ee --- /dev/null +++ b/docs/v3/DESIGN.md @@ -0,0 +1,232 @@ +# AirOpsEnv v3: harder, more realistic, playable storm days + +Status: design, 2026-10-16. Base: `earakely-scale/agentenv-airops-plugin` main at `a8f1a77` (the programs model, +`model.VERSION = 3`). Home: the fork `agutmanstein-scale/agentenv-airops-plugin`. Evidence behind every choice: +the v2 probe (`~/handoff/out/report.md` on the devbox) and the layer spike (`~/handoff/spike/README.md`). + +"v3" here names the environment: the programs world with realism layers, the desk's view of them, and a playable +day. To keep it apart from the data model's own version, a task that carries any layer is written as model version +4; a task without one is v2/main's task, byte for byte, and every reference on it is unchanged. + +## §0 Why, and what done means + +The probe found the programs world too easy and too loose for the task to test a desk: +- 64% of JetBlue's 2,260 cancellations on the 149 candidate days could have flown in hindsight (v1: 40%); JetBlue's + GDP slot pool sits 41-69% idle in its replay; 1,078 of the cancellations are on legs no v2 rule can hold. +- Doing nothing costs only +8.9% over the hindsight optimum at the median, and the optimum cancels 26% of what + JetBlue cancelled. + +The spike showed MIP-expressible layers fix much of that: on all 149 days, do-nothing +13.9% median, the optimum +cancels 37% of JetBlue's, the forecast desk's gap +4.4% -> +8.3% on 6 days, every anchor reproduced exactly. + +**Status (2026-10-17): v3 is the more realistic successor of v2; "harder" moves to v4.** The check on 129 storm +dates (docs/v3/REPORT.md) found the layers sound and more realistic on every measure that moved, but barely harder on +whole-network dates, and Edgar's crew model harder only by being stricter than reality (JetBlue's recorded day below +the anchor, the calm day cancelling on every date). So v3 ships the layers without crews (`scripts/v3_pack.py` +builds without bases by default), its done-when is criteria 2-4 below, and criterion 1 is v4's (docs/v4/DESIGN.md). +Measured: the optimum's cancellations 26% -> 31% of JetBlue's, the could-fly-for-free share 58% -> 54%, the recorded +day's excess 71% -> 67%, the replay unchanged (flown 99.5%, within 15 min 95.3%), all anchors proven and exact. + +The criteria as first set (v3 was meant to meet all four; 1 is now v4's and 2's thresholds were not reached): + +v3 is done when, on the v3 pack's days (§6), measured by `scripts/v3_check.py` (§6.2): +1. **Harder:** do-nothing's median excess over the hindsight optimum is at least 1.4x v2's on the same days, and the + follower's median gap at least 1.5x v2's. +2. **More realistic:** the optimum's cancellations reach at least 35% of JetBlue's (v2: 26%), the share of JetBlue's + cancellations that could have flown for free drops by at least 10 points, and the recorded day's excess over the + optimum falls; the replay still flies >= 97% of the flights JetBlue flew and its departures within 15 min do not + fall below v2's. +3. **Sound:** every anchor is proven to GAP or flagged; every MIP solution replays exactly in the sim and every sim day + is a MIP solution, layers on, in the test suite and on the pack. +4. **Playable:** an LLM plays a v3 day end to end through the AgentEnv server (§5), graded on the truth. + +Non-goals: new FAA program logic (the programs model and `flow/` are Edgar's and stay as they are), crew pairings +beyond Edgar's proxy, next-day schedules. + +## §1 Principles + +- **One rule, two enforcers.** Every layer is a rule `sim.execute` applies and a set of columns or rows the hindsight + MIP (`programs/mip.py`) carries, so the anchor stays a proven optimum. The suite's agreement tests + (`tests/programs/test_hindsight_mip.py`: `test_every_optimum_replays_exactly_in_the_sim`, + `test_every_day_the_sim_runs_is_a_solution_of_the_model_at_its_cost`) gain a layered day per layer. +- **Layers are data.** A task carries `layers` (§2); builders in `programs/layers/` fill it from pinned public + inputs. Absent layers mean v2 behaviour. Calibration constants are fitted on train days only and written to the + pack's manifest. +- **Reuse upstream.** Edgar's crew model (`model.Crew`, `repairs.crews`, `Task.bases`), whole-network storm dates + (`programs/network.py`), the world check (`scripts/world_check.py`), SPECIs (`flow/sources.py`) and the weather + timeline (`flow/weather.py`) are used as they are; v3 adds to them and never changes their semantics silently. + +## §2 Task and data + +- **Unit:** a whole-network storm date (`network.build`), Edgar's current direction, with crew bases on + (`network.build` gains `bases`, as `build_candidate` has). Per-hub windows (`candidates.build_candidate`) take the + same layers, for comparison with v2. +- **Schema:** `Task.layers: Layers | None` (model version 4 when set), a frozen dataclass with `from_dict`/`to_dict`: + `dep_caps: {station: {hour: cap}}`, `arr_caps: {station: {hour: cap}}` (outstations only), `closures: {station: + ((start, end, dep_cap, arr_cap), ...)}` (JetBlue's departure and arrival caps over [start, end)), `reserves: {base: + pool}`, and for the desk's view (§4) `weather: ((minute, kind, station, text), ...)`, `lags: {kind: + minutes}` and `rates: {hub: rate}` (§3.2's `rate`, which the builder also writes here so the day as known can price + a closure under way; set by whoever builds the closures). The last three are written only when set. Hours and + minutes from the task's midnight, as everywhere. +- **Inputs:** the 19 months' pinned BTS on-time (every carrier), IEM METARs (routine, `report_type=3`) and SPECIs + (`report_type=4`, via `flow/sources.py`'s pins), and nothing new from the FAA. Every new input is sha256-pinned in + the pack manifest. + +## §3 World layers (the truth) + +Each section: what it is, how the sim applies it, how the MIP carries it, how it is calibrated. + +### §3.1 Hub departure caps +- **What:** in an hour when every carrier together pushed back (BTS gate departure) less than `SHORT` of its schedule + at JFK or BOS (and at least `MIN_SCHED` were scheduled), JetBlue's cap is its in-scope scheduled share of the hour's + schedule times the hour's actual pushbacks, never below what its in-scope flights actually pushed back. Other hours + stay uncapped. (Spike: the optimum's cancellations 87 -> 112 of 296 on 16 days, the largest single lever.) +- **Sim:** `Rules.dep_hour(f, t)`; `_leave` checks it right after the stop holds, before the GDP logic, and moves t + to the next hour when full; a pinned (`left`) flight counts in its hour. +- **MIP:** each copy leaving a capped hub hour joins row `("dep", (hub, hour))` with room = cap less pinned flights. +- **Calibration:** `SHORT` and `MIN_SCHED` stay at the spike's 0.9 and 5, not fitted: the caps are floored at + JetBlue's recorded pushbacks per hour, so the recorded day fits at any value and the replay gives no target to fit + them to (DECISIONS 2026-10-17, U6 Q1). The outstation arrival caps (§3.3) share them. + +### §3.2 Ramp closures as a departure- and gate-in-rate cut +- **What:** lightning within 5 nm closes the ramp. Truth intervals come from METARs: TS in present weather (not VCTS), + begin and end minutes from the TSB/TSE remarks, SPECIs for exact onset. The data reject a full stop: during such + intervals all carriers still pushed back at ~75% of the rate just before (JFK 411 vs 563, BOS 449 vs 584 over the + same minutes), and still gated in at 70-74% of it (BTS over the 19 months: JFK 565 vs 807 on 75 closures, BOS 732 + vs 989 on 64). So a closure cuts the hub's departure cap to `rate` x JetBlue's normal hourly departures for its + duration, never below what JetBlue's in-scope flights pushed back inside it, and caps its gate-ins there the same + way: `rate` x its normal hourly arrivals into the hub for the duration, never below the in-scope flights scheduled + into the hub that arrive inside it as the sim times the recorded day (recorded pushback plus truth block, diversions + included: the replay flies them to the hub), so the recorded day's arrivals fit the caps. There is no gate hold (an aircraft landing inside a closure reaching its gate only at its end): it + contradicts the gate-ins above, and it made the recorded day infeasible (a recorded turn inside a closure, landed and + pushed back again before its end, took a probe day's airline replay from 670 to 19740; DECISIONS 2026-10-17, U3 + Q1). +- **Sim:** each closure is two cap rows over its interval, departures counted by pushback minute and arrivals by + arrival minute (the departure plus the world's block, as the nominal cap counts them), pinned flights in both. A + departure into a full closure's departures waits for its end; one whose arrival would fall inside a full closure's + arrivals leaves so as to arrive at its end. Aircraft reach the gate on landing, as in v2. +- **MIP:** a row per closure and direction, `("closure_dep", (hub, start))` over the copies leaving inside it and + `("closure_arr", (hub, start))` over those arriving inside it, room = the cap less the pinned flights; a closure's + end, and its end less the block, join the copy minutes. The model stays linear. +- **Calibration:** `rate` per hub fitted on train days from BTS pushbacks inside vs just before closures, used for + both caps. + +### §3.3 Outstation arrival caps +- **What:** the §3.1 rule on arrivals at every non-hub destination, from BTS arrivals of every carrier. It stands in + for the destinations' own GDPs, ground stops and weather, which v2 doesn't model (44 of 125 out-of-hub residual + flights on the shipped days had one listed). +- **Sim / MIP:** the caps join the nominal arrival caps (`World.nominal`), which `Rules.hour` and `_place` already + read for any station: no new mechanism. + +### §3.4 A finite reserve pool at crew bases +- **What:** Edgar's crew model gives base departures unlimited reserves (no crew deadline). v3 gives each base a + pool of `reserves[base]` crews per day: a base departure past its pairing's crew deadline flies only by calling one. +- **Sim:** plan key `reserve: True`; `granted(task, plan)` grants in flight-id order while the base's pool lasts. +- **MIP:** a 0/1 reserve column per eligible flight bounding its copies past the crew deadline, and a pool row per + base. The airline replay calls a reserve for each base departure its replay with unlimited reserves (the v2 replay) + flies past its crew deadline: one JetBlue flew late, or one its aircraft or the programs make leave late (deciding + from JetBlue's recorded minute alone would auto-cancel the second kind with the pool to spare). When the pool binds, + the calls are granted in flight-id order, as any plan's are. +- **Desk:** `call_reserve` and `release_reserve`; a release is refused once the flight's crew deadline has passed + (without the reserve it would auto-cancel back then, a decision before the clock). +- **Calibration:** none is public, so the pool per base is fitted to G1's thresholds on the train dates: the + smallest pool at which, on every train date, the airline replay auto-cancels at most 1% and at most 2 of the + flights JetBlue flew by their deadline (a date already over that with unlimited reserves: no more than with them). + Per base with the others unlimited, the largest over the dates, then rechecked with every pool on + (`layers.calibrate`; DECISIONS 2026-10-17, U6 Q2). + +### §3.5 Slot release (experiment) +- **What:** a cancelled flight's RBS slot is released to compression (other carriers) at the cancellation's decision + time, unless the airline substitutes a flight into it first. +- **Sim / MIP:** slot rows gain `<= 1 - c_holder` for slots past the holder's decision; the sim drops a released slot + from the pool. +- **Kept only if** it moves §0's metrics without breaking the replay; otherwise recorded as tried and dropped. +- **Tried and dropped (U8, 2026-10-17).** The strict variant (a slot RBS gave to a flight the plan cancels leaves + JetBlue's pool and no JetBlue flight may take it; MIP `room <= 1 - c_holder`, the holder's auto-cancel its own + column) passed the sim/MIP agreement tests, but on the 16 sample day-hubs (`~/handoff/spike/sample.txt`, rebuilt + with this branch's `build_candidate` at v2's windows and scales; every anchor proven at 600 s) it moved §0's + metrics the wrong way or not at all, off -> on: the probe's feasible share of JetBlue's 296 cancellations + 72.3% -> 72.0% (§0 wants -10 points); do-nothing's median excess over the optimum +13.1% -> +12.1% (do-nothing + cancels nothing, so release only constrains the optimum); the optimum's cancellations 89 -> 87 (cancelling a + holder no longer frees its slot for a fuller flight); the replay's auto-cancels 2 -> 2, flown flights unchanged. + JetBlue's replay releases 136 of the 485 pool slots, but a restored cancellation takes back its own slot, so the + probe's idle slots are not what release removes. Release is not part of v3: `Layers.release`, which no enforcer read, + was removed from the schema in U11. Patch and numbers: `~/handoff/v3-loop/units/U8/`. + +## §4 What the desk knows, and when (the day as known) + +`sim.known(task, t)` carries the layers as a desk sees them; the follower and the playable day both read it. +- **Caps** (departure, outstation arrival, closure rates): known `CAP_LOOK` (240 min) ahead, as v1's slot caps were. + The watches run until every cap is known (as v1's `core.known.watch_times`; a closure's caps once it has ended), + while some flight can leave unfrozen. +- **Closures:** known from their start minute (the onset the METAR or SPECI remarks give, TSBmm, with no report lag), + expected to end `GUESS` minutes after the watch (placeholder 30; the train-day median of remaining duration, fitted + with the pack) until its end comes. A closure under way is priced over that expected window at its hub's rate + (`Layers.rates`, `closures.fit_rate`'s), floored only at the pushbacks and arrivals before the watch + (`closures.caps`), so neither its true length nor what flew inside it later shows; an ended one has its true caps. +- **News and its delivery lag:** advisories at signature + `lag.advisory`, METARs at observation + `lag.metar`, + SPECIs at observation + `lag.speci`, TAFs at issue + `lag.taf`. Lags are per product type (default 0, 5, 5, 10 min) + and part of the task (`Layers.lags`, over the defaults; whole minutes >= 0). The advisory lag stays 0 until the day + as known reads the programs as delivered rather than as signed (`advisories.issued_by`). News reaches the desk at the + first watch at or after it is due (watches are the playable day's only delivery points). +- **Watches wake on events:** the hourly watches plus an event watch when an advisory or a SPECI reaches the desk and + when a closure starts or ends; one closer than `WATCH_MIN` (15) to the watch before moves to 15 after it (to the + last minute, deadline - FREEZE, if that is sooner, so every event by then reaches the desk), and a gap over 60 is + filled every 60, so watches are 15 to 60 min apart but for such a last one. Routine METARs and TAFs don't wake the desk (an hourly METAR + would double the watches with nothing new), and freeze boundaries aren't events. Without layers the watches are v2's. + The follower uses the same watch times (`references.watch_times`), so its gap measures the same desk. + (Amended in U7 from "the earliest of a news item, a freeze boundary and 60 min after the last one" and "known once + the METAR or SPECI reports TS".) + +## §5 The playable day + +A v3 port of v1's day (`day.py`, `live.py`, `tasks.py`, `schedule.py`) onto the programs world, in +`src/agentenv_airops/v3day/` (v1's stay untouched). +- **Clock and watches:** event-driven watches (§4). Each tool call costs `CALL_MIN` minutes of virtual time + (default 1), so thinking costs time without tying the score to provider speed. +- **Situation:** the time, the freeze line, the programs as issued (GDPs, stops, proposed), departure and outstation + caps known so far, closures under way, the latest METAR/SPECI/TAF, every flight (status, known delay, the plan's + departure and arrival on the day as known, its slot or hold, its crew deadline and rest), aircraft positions and + the reserve pool left at each base. +- **Actions:** `cancel`, `hold` (not_before), `restore`, `call_reserve`, confirmed per watch and frozen as v2's + follower freezes (FREEZE before departure; cancellations final). +- **Grade:** the day's cost on the truth (`sim.execute`), against the anchor and do-nothing: + `reward = (naive - cost) / (naive - anchor)`, clipped as v1's `core.reward`, with the follower and the rule as + reference scores. +- **Server:** an AgentEnv live env as `live.py` serves v1 (`urn:airops:live-load` pattern, virtual clock extension), + with v3 prompts in `tasks.py`'s style. + +## §6 The v3 pack and its check + +### §6.1 Pack +Whole-network storm dates over the 19 months, crew on (JetBlue's bases), every layer fitted on train dates, the +draw as `network.split`. Manifest: inputs and their pins, layer constants and the dates they were fitted on. + +### §6.2 Check (`scripts/v3_check.py`) +`world_check.py`'s gates with layers on, plus §0's metrics against the same dates without layers: do-nothing gap, +follower gap, optimum's cancellations against JetBlue's, the could-fly-for-free share (the probe, per restore so +pairs count once), replay flown share and departures within 15 min, proofs and exact replays. A v1/v2/v3 report. + +## §7 Milestones (the loop's units; one linear stack, since they share sim.py and mip.py) + +| Unit | What | Done when | +|---|---|---| +| U1 | This doc | merged in the fork | +| U2 | `Layers` schema (model v4 when set), `programs/layers/` package, hub departure caps (§3.1) | sim and MIP enforce them; agreement tests pass on a capped day; tasks without layers byte-identical; ruff, pytest green | +| U3 | Ramp closures as a departure and gate-in rate cut (§3.2), METAR/SPECI parsing, calibration | as U2 for a closure day; `fit_rate` (the train-split fit and the manifest rates are U6's: DECISIONS 2026-10-17, U3 Q2) | +| U4 | Outstation arrival caps (§3.3) | as U2 for an outstation-capped day | +| U5 | Finite reserve pool at bases (§3.4), replay reserve calls | as U2 for a crewed day with a binding pool | +| U6 | Layers on whole-network dates: `network.build(bases=, layers=)`, the layer builders, train-date calibration | a layered network date builds, replays and solves exactly | +| U7 | The day as known (§4): layered `sim.known`, delivery lags, event-driven watch times for the follower | follower runs on a layered date; its plans replay; watch times include events | +| U8 | Slot release experiment (§3.5) | measured on the sample; kept or recorded as dropped | +| U9 | Playable day core (§5): `v3day` clock, situation, actions, grading | a scripted policy plays a day to the same cost as the sim | +| U10 | Live server, tools, prompts (§5) | an LLM (fake LiteLLM in tests) plays a day through the server | +| U11 | v3 pack and `v3_check.py` (§6), report | §0's criteria checked on the pack, with numbers | + +## §8 Risks + +- Upstream main moves daily; the stack rebases onto it before each push, and Edgar's semantics win. +- Share-of-actual caps are tight in calm hours by construction; only hours below `SHORT` of schedule are capped. +- Synthetic crews and pools are stand-ins (no crew data is public); they are labelled as such everywhere. +- Event-driven watches multiply follower solves; watch solves keep Edgar's 2,400 s limit and the check reports any + unproven watch. diff --git a/docs/v3/REPORT.md b/docs/v3/REPORT.md new file mode 100644 index 0000000..a2a6008 --- /dev/null +++ b/docs/v3/REPORT.md @@ -0,0 +1,100 @@ +# AirOpsEnv v3: the check against v2 + +## On v2 0.3.2 (rebased, 2026-10-20) + +v3 rebuilt on `main` at `0ac85d2` (tasks from 04:00, the whole day; MIN_CONTROLLED; the new controls and split) and +checked by `scripts/v3_check.py` against v2's tasks for the same dates. Pack: 94 storm dates (24 eval, 70 train; 40 +unbuilt on the FAA registry's 403, 22 left out with fewer than 5 JetBlue flights controlled or held) plus 2 controls. +Fitted on the 70 train dates: unseen scale BOS 0.4, JFK 0.35; ramp-closure rate BOS 0.653, JFK 0.705. Wall: pack 1 h 54 +min, check 1 h 31 min on 14 workers. + +| §0 criterion | v2 | v3 | Pass | +|---|---:|---:|---| +| 1 Harder: do-nothing's median excess over the anchor (>= 1.4x v2) | 11.1% | 12.1% (1.09x) | fail | +| 1 Harder: follower's median excess over the anchor (>= 1.5x v2) | 3.11% | 4.00% (1.29x) | fail | +| 2 Realistic: anchor's cancellations / JetBlue's (>= 35%) | 34.0% | 38.5% | PASS | +| 2 Realistic: could fly for free (>= 10 points below v2) | 54.3% | 50.1% (-4.3) | fail | +| 2 Realistic: recorded day's median excess over the anchor (< v2) | 76.5% | 72.4% | PASS | +| 2 Realistic: replay flies JetBlue's flown flights (>= 97%) | 99.69% | 99.69% | PASS | +| 2 Realistic: replay departures within 15 min (>= v2) | 97.07% | 97.05% | fail (-0.02) | +| 3 Sound: anchors proven / replay exactly | | 96/96, 96/96 | PASS | +| 3 Sound: sim/MIP agreement tests | | 301 passed | PASS | +| 4 Playable: a fake-LLM agent plays a v3 day through the live server | | 2 passed | PASS | + +world_check's gates on the v3 pack: airline_replay 1.000 (0 auto-cancels of 60,547), references and days pass; calm_day +0.817 (< 0.9); fidelity fails at eval JFK 0.789 (< 0.8; the layers don't touch the unseen-arrivals model it measures); +controls fail on 2025-01-15, where do-nothing costs 8.9% over the flat anchor (margin 3%; 2024-07-03 is 0.2%), a calm +day the layers' caps now cost something over the whole day. One follower (2026-01-26) ran past its limit and is left +out. The sections below are the check of 2026-10-17 on v2 before 0.3.2 (hub windows, 129 dates). + +## Before 0.3.2 (2026-10-17) + +Code: fork `agutmanstein-scale/agentenv-airops-plugin` at `3329980` (U1-U11). Pack: 129 whole-network storm dates over +the 19 months (24 eval, 105 train; 40 more storm dates are unbuilt: the FAA registry answers 403 from the build box) +plus 2 control dates, built by `scripts/v3_pack.py` and checked by `scripts/v3_check.py` against v2's tasks for the +same dates (no crew bases, no layers, the same scale JFK 0.425 / BOS 0.5 and cutoff). Limits: anchors 1,800 s, +follower watch solves 900 s. Constants fitted on the 105 train dates only: ramp-closure rate BOS 0.678, JFK 0.755; +reserve pool BOS 1, FLL 1, JFK 1, MCO 3; departure-cap rule SHORT 0.9, MIN_SCHED 5 (not fitted, DESIGN §3.1). + +Two v3 variants were checked: **v3 with crew** (Edgar's FAR 117 crew model on JetBlue's four bases, plus every v3 +layer) and **v3 layers only** (`--bases none`). + +### DESIGN §0, per criterion + +| §0 criterion | v2 | v3 with crew | v3 layers only | +|---|---:|---:|---:| +| 1 Harder: do-nothing's median excess over the anchor (>= 1.4x v2) | 9.16% | 20.58% (2.25x) PASS | 9.55% (1.04x) fail | +| 1 Harder: follower's median excess over the anchor (>= 1.5x v2) | 2.65% | 4.08% (1.54x) PASS | 2.91% (1.10x) fail | +| 2 Realistic: anchor's cancellations / JetBlue's (>= 35%) | 25.6% (926/3,624) | 128.8% (4,668/3,624) PASS* | 30.7% (1,112/3,624) fail | +| 2 Realistic: could fly for free, a pair once (>= 10 points below v2) | 58.3% | 54.6% (-3.7) fail | 53.8% (-4.5) fail | +| 2 Realistic: recorded day's median excess over the anchor (< v2) | +71.1% | -4.2% PASS* | +66.9% PASS | +| 2 Realistic: replay flies JetBlue's flown flights (>= 97%) | 99.53% | 99.35% PASS | 99.53% PASS | +| 2 Realistic: replay departures within 15 min (>= v2) | 95.31% | 86.09% fail | 95.27% fail (-0.04) | +| 3 Sound: anchors proven / replay exactly | 131/131 | 131/131, 131/131 PASS | 131/131, 131/131 PASS | +| 3 Sound: sim/MIP agreement tests | | 282 passed PASS | (same code) | +| 4 Playable: a fake-LLM agent plays a v3 day through the live server | | 2 passed PASS | (same code) | + +\* Passes the threshold, but past realism: with crew the hindsight optimum cancels more flights than JetBlue did and +JetBlue's recorded day costs less than the "optimum" (-4.2%), so the crewed world is stricter than the real one. + +world_check's gates on each pack: + +| Gate | v3 with crew | v3 layers only | +|---|---|---| +| airline_replay (G1) | 0.938 PASS (85 auto-cancels of 46,667) | 1.000 PASS (0) | +| fidelity (out of sample) | PASS (eval JFK 0.96, BOS 1.11; train JFK 1.02, BOS 1.04) | PASS (same) | +| calm_day | 0.000 fail | 0.806 fail | +| controls | fail: both controls' recorded day below the anchor (1.19M vs 1.75M; 0.46M vs 1.37M) | PASS | +| references, days | PASS | PASS | + +### Reading + +- **The layers are sound but weak on whole-network dates.** Layers alone move every realism measure the right way + (free share -4.5 points, optimum cancellations 26% -> 31%, recorded excess 71% -> 67%) without touching the replay, + but the days get only slightly harder (do-nothing 9.2% -> 9.6%). The spike measured more (+8.9% -> +13.9%) on + per-hub windows with a milder synthetic crew. +- **Edgar's crew model makes the days much harder, by making them infeasible for JetBlue's own schedule.** With it the + calm day (no delay, no programs) cancels flights on every date (calm gate 0/129), the controls' recorded days beat + the anchor, the optimum cancels 129% of what JetBlue did and replay departures within 15 min fall from 95.3% to + 86.1%. The proxy pairings (each tail's legs chained from a base departure to the next base arrival) appear to exceed + FAR 117 limits on schedule (U11 crew diagnostic). +- **Not met by either variant:** the could-fly-for-free share drops 3.7-4.5 points, not 10. + +### Decision (Alec, 2026-10-17) + +v3 is the more realistic successor: layers only, no crews by default (`v3_pack.py --bases none`). Making the +days harder is v4's goal (docs/v4 on agutmanstein-scale/agentenv-airops-plugin), starting with option 1 below. + +### What would close it + +The loop paused here (LOOP.md "Pause early": a §0 criterion still failing on the pack after its calibration pass). +Options, for Alec: +1. **A realistic crew layer:** proxy pairings planned inside FAR 117 on schedule (a planning buffer and a segment cap, + crew changes at bases), calibrated on train dates so the calm day cancels <= 1 flight and the controls' recorded day + is >= the anchor; then rerun the check (about 1.5 h on the box). The spike's crew of this kind gave do-nothing + +8.9% -> +17.9% on its sample without breaking the replay. +2. Ship **v3 layers only** as the more realistic, not harder, successor of v2. +3. Ship **v3 with crew** as the harder variant, noting it is stricter than reality. + +Raw results: `check.json` and `check.md` in each pack folder (`~/handoff/v3-loop/pack`, `pack-nocrew`, `pack-v2` on the +devbox; on 0.3.2, `~/handoff/v3-loop/r1/pack-v3`). diff --git a/pyproject.toml b/pyproject.toml index fcef867..7911868 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -40,10 +40,12 @@ Source = "https://github.com/earakely-scale/agentenv-airops-plugin" [project.entry-points."agent_env.bundles"] airops = "agentenv_airops.bundles" airops-occ = "agentenv_airops.bundles" +airops-v3 = "agentenv_airops.bundles" [project.entry-points."agent_env.cli_plugins"] airops = "agentenv_airops.cli:airops" airops-occ = "agentenv_airops.occ.cli:occ" +airops-v3 = "agentenv_airops.v3day.cli:airops_v3" [tool.hatch.metadata] allow-direct-references = true @@ -58,7 +60,7 @@ exclude = ["src/agentenv_airops/data", "src/agentenv_airops/web"] [tool.hatch.build.targets.sdist] include = ["/src", "/data", "/tests", "/agents", "/web", "/Dockerfile", "/Dockerfile.occ", "/Dockerfile.occ.dockerignore", - "/README.md", "/LICENSE", "/NOTICE"] + "/Dockerfile.v3", "/Dockerfile.v3.dockerignore", "/README.md", "/LICENSE", "/NOTICE"] [tool.pytest.ini_options] testpaths = ["tests"] diff --git a/scripts/hub_dataset.py b/scripts/hub_dataset.py index 6267608..4ef1082 100644 --- a/scripts/hub_dataset.py +++ b/scripts/hub_dataset.py @@ -8,6 +8,8 @@ transcript; v2_board, each mode's means with the board's bootstrap CIs and the paired difference; the eval card results/eval-v2.json; and the bundle airops-occ, every date in both modes as the board ran them, which `agent-env hf run --bundle airops-occ` plays. +- v3's bundle airops-v3: the b6-v3 pack's eval days with wiring-noplay, as `agent-env airops-v3 tasks` writes them + (each load carrying the costs the pack stored for it), which `agent-env hf run --bundle airops-v3` plays. - AirOps's own, v1_*, per split of the pack: the days (what the planner is told, each watch's news, the reference costs and the task line itself), their references, and the scored runs (the grade, the final plan, the tool calls and the chat transcript); the model board (results) and its eval card, results/eval-v1.json, in FineEnvs' shape. @@ -66,6 +68,7 @@ from agentenv_airops.programs import occ from agentenv_airops.schedule import ENV, TOOLS, max_turns, timetable from agentenv_airops.sweep import POLICIES, RUNS, ci, load, priced, results +from agentenv_airops.v3day import tasks as v3_tasks ROOT = Path(__file__).resolve().parents[1] CARD = ROOT / "hub/dataset/README.md" @@ -103,6 +106,8 @@ OCC_BUNDLE = "airops-occ" OCC_SETUP = "agent-env airops-occ setup" OCC_CAPS = {"joint": 5.0, "one": 8.0} +V3_BUNDLE = v3_tasks.BUNDLE_NAME +V3_SETUP = "agent-env airops-v3 setup --agent" OCC_DRAWN = json.loads((ROOT / "hub/dataset/b6-v2-draw.json").read_text())["eval"] OCC_SPLITS = ("eval", "control", "train") OCC_BOARD = "occ-board-sol" @@ -335,7 +340,8 @@ def split_order(path: str) -> int: def card_text(plugin: str, files: dict[str, bytes], board_md: str = "", occ_md: str = "") -> str: """hub/dataset/README.md with the dataset's configs, each version's board between its markers, the bundle airops's - two configs and needs as agentenv-hf's publish writes them, and airops-occ's needs when the build has it.""" + two configs and needs as agentenv-hf's publish writes them, and airops-occ's and airops-v3's needs when the build + has them.""" text = BOARD.sub(lambda m: m[1] + (f"\n{board_md}\n" if board_md else "") + m[2], CARD.read_text()) text = OCC_BOARD_MD.sub(lambda m: m[1] + (f"\n{occ_md}\n" if occ_md else "") + m[2], text) ours = DatasetCard(text) @@ -344,16 +350,19 @@ def card_text(plugin: str, files: dict[str, bytes], board_md: str = "", occ_md: ours.data.configs[0]["default"] = True text = card(str(ours), name=BUNDLE, split=SPLIT, repo=None, description=None, license=None, needs={"plugins": [plugin], "setup": SETUP}) - if not any(p.startswith(f"bundles/{OCC_BUNDLE}/") for p in files): + extra = {name: setup for name, setup in ((OCC_BUNDLE, OCC_SETUP), (V3_BUNDLE, V3_SETUP)) + if any(p.startswith(f"bundles/{name}/") for p in files)} + if not extra: return text both = DatasetCard(text) - both.data.agentenv["bundles"][OCC_BUNDLE] = {"plugins": [plugin], "setup": OCC_SETUP} + for name, setup in extra.items(): + both.data.agentenv["bundles"][name] = {"plugins": [plugin], "setup": setup} return str(both) def build(sweeps: list[str], runs_dir: Path, out: Path, pack: Path, plugin: str, fixtures: list[Path], cache: Path, date: str, occ_pilots: list[str] = (), occ_pack: Path | None = None, occ_viewer: Path | None = None, - replays: Path | None = None, workers: int = 1) -> dict[str, bytes]: + replays: Path | None = None, workers: int = 1, v3_pack: Path | None = None) -> dict[str, bytes]: days = tasks.pack_tasks(pack) raw = {json.loads(line)["task_id"]: line for line in tasks_file(pack).read_text().splitlines() if line.strip()} bundle = out / "bundles" / BUNDLE @@ -384,7 +393,7 @@ def build(sweeps: list[str], runs_dir: Path, out: Path, pack: Path, plugin: str, files = merge_viewer(files, occ_viewer) occ_tables, occ_md = occ_files(runs_dir, list(occ_pilots), Pack(occ_pack), replays or cache / "occ" / "replays", workers, date) - files |= occ_tables | occ_bundle(out, occ_pack) + files |= occ_tables | occ_bundle(out, occ_pack) | v3_bundle(out, v3_pack) for d in [d for d, _ in played] + [runs_dir / name for name in occ_pilots]: for path in sorted(d.rglob("*")): rel = path.relative_to(d) @@ -405,6 +414,16 @@ def occ_bundle(out: Path, pack: Path | None) -> dict[str, bytes]: for p in sorted(folder.rglob("*")) if p.is_file()} +def v3_bundle(out: Path, pack: Path | None) -> dict[str, bytes]: + """The bundle airops-v3 as `agent-env airops-v3 tasks --noplay` writes it: the pack's eval days (b6-v3 by default) + with wiring-noplay, which `agent-env hf run --bundle airops-v3` plays.""" + folder = out / "bundles" / V3_BUNDLE + shutil.rmtree(folder, ignore_errors=True) + v3_tasks.generate(folder, split="eval", pack=pack, noplay=True) + return {f"bundles/{V3_BUNDLE}/{p.relative_to(folder).as_posix()}": p.read_bytes() + for p in sorted(folder.rglob("*")) if p.is_file()} + + def merge_viewer(files: dict[str, bytes], folder: Path) -> dict[str, bytes]: """The control-center viewer folder (scripts/occ_episodes.py --out) merged into the v1 build's viewer/: its index's entries first, then v1's; a file both write is the control-center build's, and each one that differs is named.""" @@ -755,6 +774,8 @@ def main(): help="A control-center pilot folder under --runs for v2's tables (repeat); default: every folder " "with a pilot.json.") ap.add_argument("--occ-pack", type=Path, default=Path(str(OCC_PACK)), help="Default: the packaged b6-v2 pack.") + ap.add_argument("--v3-pack", type=Path, default=Path(str(v3_tasks.PACK)), + help="The v3 pack airops-v3's tasks come from. Default: the packaged b6-v3 pack.") ap.add_argument("--occ-viewer", type=Path, help="The control-center episodes as scripts/occ_episodes.py --out wrote them, merged into " "viewer/.") @@ -769,7 +790,7 @@ def main(): with namespace_routing(): files = build(sweeps, args.runs, args.out, args.pack, plugin, args.fixture, args.cache, args.date, occ_pilots=pilots, occ_pack=args.occ_pack, occ_viewer=args.occ_viewer, replays=args.occ_replays, - workers=args.workers) + workers=args.workers, v3_pack=args.v3_pack) space = space_files(args.tag or "main") if args.space_out else {} scan(files | {f"space/{p}": c for p, c in space.items()}, known_values()) write(files, args.out) diff --git a/scripts/ship_v3_pack.py b/scripts/ship_v3_pack.py new file mode 100644 index 0000000..47bbbdd --- /dev/null +++ b/scripts/ship_v3_pack.py @@ -0,0 +1,55 @@ +"""Ship a v3 pack (scripts/v3_pack.py --bases none --refs) as data/b6-v3, the pack the airops-v3-day image and the +airops-v3 bundle read: its tasks gzipped (tasks.jsonl.gz, byte for byte the pack's lines, mtime 0 so a rebuild of the +same pack ships the same bytes), its stored reference costs (refs.json, the pack's own: each entry carries the digest +of the task it ran on, so the env uses it only on that very task) and a manifest of what it is: the commit and inputs +the pack was built from, its constants and scale, and each task's date and split. + + python scripts/ship_v3_pack.py ~/handoff/v3-loop/r1/pack-v3 --out data/b6-v3 +""" + +import argparse +import gzip +import json +import sys +from pathlib import Path + +from agentenv_airops.programs import references +from agentenv_airops.programs.model import Task + +PACK = "b6-v3" +KEPT = ("code", "seed", "months", "bases", "crew", "scale", "constants", "inputs", "controls", "split", "refs") + + +def ship(pack: Path, out: Path) -> dict: + """Write data/b6-v3 from `pack`; every task must have its anchor's stored cost, run on that task.""" + lines = [line for line in (pack / "tasks.jsonl").read_text().splitlines() if line.strip()] + tasks = [Task.from_dict(json.loads(line)) for line in lines] + refs = json.loads((pack / "refs.json").read_text()) + stale = [t.task_id for t in tasks if refs.get(t.task_id, {}).get("task") != references.digest(t) + or "anchor" not in refs[t.task_id]] + if stale: + sys.exit(f"ERROR: no stored anchor run on these tasks (rerun v3_pack.py --refs): {', '.join(stale)}") + built = json.loads((pack / "manifest.json").read_text()) + manifest = {"pack": PACK, **{k: built[k] for k in KEPT if k in built}, + "tasks": {t.task_id: {"date": t.date, "split": t.split} for t in tasks}} + out.mkdir(parents=True, exist_ok=True) + (out / "tasks.jsonl.gz").write_bytes(gzip.compress("".join(line + "\n" for line in lines).encode(), mtime=0)) + (out / "refs.json").write_text(json.dumps({t.task_id: refs[t.task_id] for t in tasks}, indent=1) + "\n") + (out / "manifest.json").write_text(json.dumps(manifest, indent=1, ensure_ascii=False) + "\n") + return manifest + + +def main(argv: list[str] | None = None) -> None: + ap = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) + ap.add_argument("pack", type=Path, help="a v3_pack.py --refs output folder") + ap.add_argument("--out", type=Path, default=Path("data") / PACK) + args = ap.parse_args(argv) + manifest = ship(args.pack, args.out) + splits = {} + for v in manifest["tasks"].values(): + splits[v["split"]] = splits.get(v["split"], 0) + 1 + print(f"Wrote {args.out}: {len(manifest['tasks'])} tasks {splits}, built at {manifest.get('code')}") + + +if __name__ == "__main__": + main() diff --git a/scripts/v3_check.py b/scripts/v3_check.py new file mode 100644 index 0000000..6aeb8ce --- /dev/null +++ b/scripts/v3_check.py @@ -0,0 +1,337 @@ +"""Is v3 done? docs/v3/DESIGN.md §0's criteria measured on the v3 pack against v2 on the same dates, and world_check's +gates on the v3 pack (§6.2). No LLM is called; only the reference solvers run (HiGHS), and the suite's agreement and +live-play tests as evidence. + + python scripts/v3_check.py PACK --v2 DIR [--workers 14] [--prove-s 1800] [--watch-s 900] [--no-tests] + +1. the v3 pack's tasks (scripts/v3_pack.py) and their references under PACK/refs/ (v3_pack.refs: those there whose + signature matches are kept, the others run, so a pack built with `--refs` runs nothing here); +2. v2's tasks of the same dates in DIR: read from DIR/tasks.jsonl where it has them, the others built (network.build + without crew bases or layers, at scale 1 and the 03:00 cutoff as the pack builds them, the controls at the pack's + control windows, then rescaled to the pack's scale) and written there, and their references under DIR/refs/ the + same way; +3. PACK/check.json and PACK/check.md: every criterion with its values, its threshold and pass/fail, then world_check's + gates on the v3 pack. + +The criteria, on the storm dates both packs have the numbers for (the controls only in `sound`): +- harder: do-nothing's median excess over the anchor at least DO_NOTHING x v2's; the follower's median excess + over the anchor (its gap) at least FOLLOWER x v2's; +- realistic: the anchors' cancellations (auto-cancels included) at least OPTIMUM_SHARE of JetBlue's, pooled; the + could-fly-for-free share (programs.probe: the feasible restores, a pair once, over JetBlue's cancellations, pooled) + at least FREE_DROP below v2's; the recorded day's median excess over the anchor below v2's; the airline replay flies + at least FLOWN_SHARE of the flights JetBlue flew, pooled; and of the flights it flies, the share leaving within 15 + min of JetBlue's minute is not below v2's; +- sound: every anchor of the pack proven to its gap, or flagged (listed) where it isn't, and none failed; every anchor + replays exactly (its plan's cost on the sim is its objective, every departure as the MIP has it); the suite's + sim/MIP agreement tests (tests/programs/test_hindsight_mip.py, layered days included) pass; +- playable: the live-server test in which an LLM (a fake LiteLLM) plays a v3 day end to end, graded on the truth + (tests/v3day/test_v3_agent.py), passes. +The gates, as world_check registers them (airline_replay, fidelity, calm_day, controls, references) on the pack's kept +tasks, a task being kept when every MIP it ran proved and no reference failed; `days` reports the pack's dates. +""" + +import argparse +import json +import statistics +import subprocess +import sys +import time +from collections.abc import Callable, Iterable, Mapping +from dataclasses import replace +from datetime import UTC, datetime +from pathlib import Path + +import v3_pack +import world_check + +from agentenv_airops.programs import candidates, network, rbs, unseen +from agentenv_airops.programs.advisories import HUBS +from agentenv_airops.programs.model import Task, load_tasks, write_tasks +from agentenv_airops.programs.repairs import CUTOFF + +ROOT = Path(__file__).resolve().parents[1] +INPUTS, DERIVED = ROOT / "cache" / "inputs", ROOT / "cache" / "derived" +DO_NOTHING, FOLLOWER = 1.4, 1.5 +OPTIMUM_SHARE, FREE_DROP, FLOWN_SHARE = 0.35, 0.10, 0.97 +AGREEMENT = ("tests/programs/test_hindsight_mip.py",) +PLAYABLE = ("tests/v3day/test_v3_agent.py",) + + +def main(argv: list[str] | None = None) -> None: + ap = argparse.ArgumentParser(description=__doc__.split("\n\n")[0]) + ap.add_argument("pack", type=Path) + ap.add_argument("--v2", type=Path, required=True, help="v2's folder: its tasks.jsonl and refs/, built if missing") + ap.add_argument("--workers", type=int, default=14) + ap.add_argument("--prove-s", type=float, default=v3_pack.PROVE_S, help="time limit of each anchor, flat or calm") + ap.add_argument("--watch-s", type=float, default=v3_pack.WATCH_S, help="time limit of each follower watch solve") + ap.add_argument("--no-tests", action="store_true", help="skip the agreement and live-play tests") + args = ap.parse_args(argv) + limits = (args.prove_s, args.watch_s) + clock = v3_pack.Clock() + manifest = json.loads((args.pack / "manifest.json").read_text()) + v3 = load_tasks(args.pack) + v3_refs = v3_pack.refs(args.pack, v3, args.workers, limits, clock) + v2 = v2_tasks(args.v2, v3, manifest, args.workers) + clock.lap("v2 tasks", f"{len(v2)} in {args.v2}") + v2_refs = v3_pack.refs(args.v2, v2, args.workers, limits, clock) + tests = {} if args.no_tests else {"agreement": pytest(AGREEMENT), "playable": pytest(PLAYABLE)} + clock.lap("tests", json.dumps({k: v["pass"] for k, v in tests.items()})) + out = {"criteria": criteria(v3_refs, v2_refs, tests), "gates": gates(v3, v3_refs, manifest), + "parameters": {"pack": str(args.pack), "v2": str(args.v2), "time_limits_s": limits, + "scale": manifest["scale"], "code": v3_pack.revision(), "pack_code": manifest.get("code")}, + "tasks": [row(t, v3_refs.get(t.task_id, {}), v2_refs.get(t.task_id, {})) for t in v3], + "wall_s": clock.laps} + out["done"] = all(c["pass"] for c in out["criteria"].values()) + (args.pack / "check.json").write_text(json.dumps(out, indent=1, default=str) + "\n") + (args.pack / "check.md").write_text(markdown(out)) + print(json.dumps({k: {"pass": c["pass"], "value": c.get("value")} for k, c in out["criteria"].items()} + | {"gates": {k: g["pass"] for k, g in out["gates"].items()}, "done": out["done"]}, indent=1), + flush=True) + + +def v2_tasks(folder: Path, v3: Iterable[Task], manifest: Mapping, workers: int) -> list[Task]: + """v2's task of each v3 task's date, in the v3 pack's order: read from folder/tasks.jsonl, else built without crew + or layers at scale 1 and the cutoff (a control at the pack's control windows), rescaled to the pack's scale with + the v3 task's split, and folder/tasks.jsonl written with every one.""" + v3 = list(v3) + path = folder / "tasks.jsonl" + have = {t.task_id: t for t in load_tasks(path)} if path.exists() else {} + todo = [t for t in v3 if t.task_id not in have] + if todo: + fits = candidates.e_table(INPUTS, DERIVED, workers=workers) + e_fit, e_median = unseen.table(fits) + scale = manifest["scale"] + controls = manifest.get("controls", {}) + jobs = [(t.date, t.storms, None, "") if t.split != "control" else + (t.date, tuple(controls[t.date]["hubs"]), {h: tuple(w) for h, w in controls[t.date]["windows"].items()}, + "control") for t in todo] + built = network.build_all(jobs, INPUTS, DERIVED, e_fit, e_median, dict.fromkeys(HUBS, 1.0), CUTOFF, + workers=max(1, workers)) + split = {(t.date, t.split == "control"): t.split for t in todo} + shipped = unseen.table(fits, scale) + for b in built: + if b.task is None: + print(f" v2 {b.row['date']} not built: {b.row['reason']}", flush=True) + continue + s = split[(b.task.date, b.task.split == "control")] + have[b.task.task_id] = rbs.rescale(replace(b.task, split=s), scale, *shipped) + out = [have[t.task_id] for t in v3 if t.task_id in have] + if todo: + write_tasks(out, path) + return out + + +def pytest(paths: Iterable[str]) -> dict: + """The suite's tests at `paths`, run as the gates run them: pass/fail and pytest's last line.""" + t0 = time.monotonic() + run = subprocess.run([sys.executable, "-m", "pytest", "-q", "-p", "no:cacheprovider", *paths], cwd=ROOT, + capture_output=True, text=True) + lines = [x for x in run.stdout.splitlines() if x.strip()] + return {"tests": list(paths), "pass": run.returncode == 0, "summary": lines[-1] if lines else run.stderr[-500:], + "wall_s": round(time.monotonic() - t0, 1)} + + +def criteria(v3: Mapping[str, dict], v2: Mapping[str, dict], tests: Mapping[str, dict]) -> dict: + """§0's criteria from the two packs' references by task id (refs/.json each) and the tests' outcomes.""" + storm = {i: (r, v2[i]) for i, r in v3.items() if r.get("split") != "control" and i in v2} + out = { + "harder_do_nothing": ratio_of(storm, lambda r: excess(r, "naive"), DO_NOTHING, + "do-nothing's median excess over the anchor, v3 >= 1.4 x v2"), + "harder_follower": ratio_of(storm, lambda r: excess(r, "follower"), FOLLOWER, + "the follower's median excess over the anchor, v3 >= 1.5 x v2"), + "realistic_optimum_cancels": pooled_of(storm, anchor_cancels, lambda r: r["jetblue"]["cancelled"], + lambda a, b: a >= OPTIMUM_SHARE, + "the anchors' cancellations over JetBlue's, v3 >= 35%"), + "realistic_free_share": pooled_of(storm, lambda r: r["probe"]["feasible"], lambda r: r["probe"]["cancelled"], + lambda a, b: b is not None and a <= b - FREE_DROP, + "JetBlue's cancellations that could fly for free (a pair once), v3 at least " + "10 points below v2"), + "realistic_recorded_excess": median_of(storm, lambda r: excess(r, "recorded"), lambda a, b: a < b, + "the recorded day's median excess over the anchor, v3 < v2"), + "realistic_replay_flown": pooled_of(storm, lambda r: r["fidelity"]["flown"], + lambda r: r["fidelity"]["jetblue_flown"], lambda a, b: a >= FLOWN_SHARE, + "the replay flies >= 97% of the flights JetBlue flew"), + "realistic_replay_within_15": pooled_of(storm, lambda r: r["fidelity"]["within"], + lambda r: r["fidelity"]["flown"], lambda a, b: b is not None and a >= b, + "of the replay's flown flights, the share leaving within 15 min of " + "JetBlue's minute, v3 >= v2"), + "sound_anchors_proven": proven(v3), + "sound_anchors_exact": exact(v3), + "sound_agreement_tests": tested(tests, "agreement", "the suite's sim/MIP agreement tests pass"), + "playable": tested(tests, "playable", "an LLM (fake LiteLLM) plays a v3 day end to end through the server"), + } + return out + + +def excess(r: dict, k: str) -> float | None: + """r[k]'s cost over the proven anchor's, less 1; None where either is missing.""" + a = r.get("anchor", {}) + if not a.get("proven") or "total" not in r.get(k, {}) or not a.get("objective"): + return None + return r[k]["total"] / a["objective"] - 1 + + +def anchor_cancels(r: dict) -> int | None: + a = r.get("anchor", {}) + return a["cancelled"] + a["auto_cancelled"] if a.get("proven") and "cancelled" in a else None + + +def values(pairs: Mapping[str, tuple[dict, dict]], f: Callable[[dict], float | None]) -> tuple[list, list, int]: + """f on both packs' references of every task where it is defined on both, and the tasks it is defined on.""" + a, b = [], [] + for r3, r2 in pairs.values(): + x, y = safe(f, r3), safe(f, r2) + if x is not None and y is not None: + a.append(x) + b.append(y) + return a, b, len(a) + + +def safe(f: Callable[[dict], float | None], r: dict) -> float | None: + try: + return f(r) + except (KeyError, TypeError): + return None + + +def ratio_of(pairs: Mapping[str, tuple[dict, dict]], f: Callable, times: float, rule: str) -> dict: + a, b, n = values(pairs, f) + m3, m2 = med(a), med(b) + ratio = round(m3 / m2, 3) if m3 is not None and m2 else None + return {"rule": rule, "n": n, "v3": m3, "v2": m2, "value": ratio, "threshold": times, + "pass": ratio is not None and m2 > 0 and ratio >= times} + + +def median_of(pairs: Mapping[str, tuple[dict, dict]], f: Callable, ok: Callable[[float, float], bool], + rule: str) -> dict: + a, b, n = values(pairs, f) + m3, m2 = med(a), med(b) + return {"rule": rule, "n": n, "v3": m3, "v2": m2, "value": m3, + "pass": m3 is not None and m2 is not None and ok(m3, m2)} + + +def pooled_of(pairs: Mapping[str, tuple[dict, dict]], num: Callable, den: Callable, + ok: Callable[[float, float | None], bool], rule: str) -> dict: + """sum(num) / sum(den) on each pack over the tasks where both are defined on both.""" + rows = [(safe(num, r3), safe(den, r3), safe(num, r2), safe(den, r2)) for r3, r2 in pairs.values()] + rows = [x for x in rows if None not in x] + n3, d3, n2, d2 = (sum(x[k] for x in rows) for k in range(4)) + s3 = round(n3 / d3, 4) if d3 else None + s2 = round(n2 / d2, 4) if d2 else None + return {"rule": rule, "n": len(rows), "v3": s3, "v2": s2, "value": s3, "v3_counts": [n3, d3], + "v2_counts": [n2, d2], "pass": s3 is not None and ok(s3, s2)} + + +def proven(v3: Mapping[str, dict]) -> dict: + """Every anchor of the pack proven, or flagged where it isn't; it fails only on an anchor that failed or is + missing.""" + failed = sorted(i for i, r in v3.items() if "proven" not in r.get("anchor", {})) + flagged = {i: {k: r["anchor"].get(k) for k in ("status", "gap_pct")} for i, r in sorted(v3.items()) + if i not in failed and not r["anchor"]["proven"]} + return {"rule": "every anchor proven to its gap, or flagged", "n": len(v3), "value": len(v3) - len(failed) - + len(flagged), "flagged": flagged, "failed": failed, + "max_gap_pct": max((r["anchor"].get("gap_pct") or 0 for i, r in v3.items() if i not in failed), + default=None), "pass": bool(v3) and not failed} + + +def exact(v3: Mapping[str, dict]) -> dict: + ran = {i: r["anchor"] for i, r in v3.items() if "exact" in r.get("anchor", {})} + off = sorted(i for i, a in ran.items() if not a["exact"]) + return {"rule": "every anchor's plan replays exactly in the sim", "n": len(ran), "value": len(ran) - len(off), + "not_exact": off, "pass": bool(ran) and not off and len(ran) == len(v3)} + + +def tested(tests: Mapping[str, dict], name: str, rule: str) -> dict: + t = tests.get(name) + return {"rule": rule, "value": t["summary"] if t else "not run", **(t or {}), "pass": bool(t and t["pass"])} + + +def gates(tasks: Iterable[Task], results: Mapping[str, dict], manifest: Mapping) -> dict: + """world_check's gates (world_check.summary's) on the pack: its kept storm tasks, its controls.""" + tasks = {t.task_id: t for t in tasks} + storms = {i: t for i, t in tasks.items() if t.split != "control"} + held = [i for i, t in tasks.items() if t.split == "control"] + kept = {i for i, r in results.items() if not world_check.unproven(r)} + pool = {i: r for i, r in results.items() if i in storms and i in kept} + autos = [(r["airline"]["auto"], r["airline"]["flew"]) for r in pool.values() if "auto" in r.get("airline", {})] + calm = [r["calm"]["cancelled"] <= world_check.CALM_CANCELS and r["calm"]["ferries"] <= world_check.CALM_FERRIES + for r in pool.values() if "cancelled" in r.get("calm", {})] + ctl = {i: world_check.control_checks(results.get(i, {}), i in kept) for i in held} + fid = {(i, h): unseen.program_delay(t, hub=h) for i, t in storms.items() if i in pool for h in t.storms} + left = {i: world_check.unproven(r) for i, r in results.items() if i not in kept} + return { + "airline_replay": world_check.gate(world_check.share([world_check.replays(a, n) for a, n in autos]), + len(autos), f"auto-cancels <= {world_check.AUTO_SHARE:.0%} of the flights " + f"JetBlue flew by their deadline and <= {world_check.AUTO_MAX}, per kept " + "storm date", {"auto_cancels": sum(a for a, _ in autos), + "flew": sum(n for _, n in autos)}), + "fidelity": world_check.fidelity_gate(fid, {i: t.split for i, t in storms.items()}, True), + "calm_day": world_check.gate(world_check.share(calm), len(calm), f"<= {world_check.CALM_CANCELS} forced " + f"cancellation and <= {world_check.CALM_FERRIES} ferries, per kept storm date"), + "controls": {"controls": ctl, "n": len(ctl), "threshold": "both control dates: recorded >= anchor and naive " + f"within {world_check.CONTROL_MARGIN:.0%} of the flat anchor", + "pass": len(ctl) == world_check.CONTROL_DATES and all(c["ok"] for c in ctl.values())}, + "references": world_check.references_gate({i: r for i, r in results.items() if i in kept}, left), + "days": {"storm_dates": manifest.get("storm_dates"), "built": manifest.get("built"), + "split": {s: sum(t.split == s for t in storms.values()) for s in ("eval", "train")}, + "in_pack": len(storms), "controls": len(held), "kept": len(kept & set(storms)), + "by": {k: sum(network.label(t) == k for t in storms.values()) + for k in sorted({network.label(t) for t in storms.values()})}, + "unbuilt": len(manifest.get("unbuilt", {})), "pass": True}, + } + + +def row(t: Task, r3: dict, r2: dict) -> dict: + """One task's numbers on both packs.""" + def nums(r): + return {"naive_x": rnd(excess(r, "naive")), "follower_x": rnd(excess(r, "follower")), + "recorded_x": rnd(excess(r, "recorded")), "anchor": r.get("anchor", {}).get("objective"), + "proven": r.get("anchor", {}).get("proven"), "exact": r.get("anchor", {}).get("exact"), + "anchor_cancels": safe(anchor_cancels, r), "jetblue_cancelled": r.get("jetblue", {}).get("cancelled"), + "free": r.get("probe", {}).get("feasible"), "flown": r.get("fidelity", {}).get("flown"), + "jetblue_flown": r.get("fidelity", {}).get("jetblue_flown"), + "within_15": r.get("fidelity", {}).get("within"), "watches": r.get("watches"), + "left_out": world_check.unproven(r) if r else ["missing"], "seconds": r.get("seconds")} + return {"task_id": t.task_id, "split": t.split, "hubs": "+".join(t.storms), "v3": nums(r3), "v2": nums(r2)} + + +def med(v: list[float]) -> float | None: + return round(statistics.median(v), 4) if v else None + + +def rnd(x: float | None) -> float | None: + return None if x is None else round(x, 4) + + +def markdown(out: dict) -> str: + lines = [f"# v3 check ({datetime.now(UTC).date().isoformat()})", "", + f"Done (every §0 criterion passes): **{out['done']}**", "", "## §0 criteria", "", + "| Criterion | Rule | n | v3 | v2 | Value | Pass |", "|---|---|---|---|---|---|---|"] + for k, c in out["criteria"].items(): + lines.append(f"| {k} | {c['rule']} | {c.get('n', '')} | {c.get('v3', '')} | {c.get('v2', '')} | " + f"{c.get('value')} | {c['pass']} |") + flagged = out["criteria"]["sound_anchors_proven"] + lines += ["", f"Anchors flagged (not proven): {json.dumps(flagged['flagged'])}; failed: {flagged['failed']}", "", + "## world_check's gates on the v3 pack", "", "| Gate | Value | Threshold | Pass |", "|---|---|---|---|"] + for k, g in out["gates"].items(): + value = {x: v for x, v in g.items() if x not in ("threshold", "pass", "rule", "controls", "left_out_tasks")} + lines.append(f"| {k} | {json.dumps(value, default=str)} | {g.get('threshold', '')} | {g['pass']} |") + lines += ["", "## Controls", "", f"```\n{json.dumps(out['gates']['controls']['controls'], indent=1)}\n```", "", + "## Per task (v3 / v2)", "", + "| task | split | hubs | naive x | follower x | recorded x | anchor cancels / JetBlue | free | " + "flown / JetBlue | within 15 | proven | exact |", "|" + "---|" * 12] + for r in out["tasks"]: + a, b = r["v3"], r["v2"] + lines.append(f"| {r['task_id']} | {r['split']} | {r['hubs']} | {a['naive_x']} / {b['naive_x']} | " + f"{a['follower_x']} / {b['follower_x']} | {a['recorded_x']} / {b['recorded_x']} | " + f"{a['anchor_cancels']} / {b['anchor_cancels']} of {a['jetblue_cancelled']} | " + f"{a['free']} / {b['free']} | {a['flown']} / {b['flown']} of {a['jetblue_flown']} | " + f"{a['within_15']} / {b['within_15']} | {a['proven']} / {b['proven']} | " + f"{a['exact']} / {b['exact']} |") + lines += ["", "## Parameters and wall clock", "", + f"```\n{json.dumps({**out['parameters'], 'wall_s': out['wall_s']}, indent=1, default=str)}\n```"] + return "\n".join(lines) + "\n" + + +if __name__ == "__main__": + main() diff --git a/scripts/v3_pack.py b/scripts/v3_pack.py new file mode 100644 index 0000000..7878e2e --- /dev/null +++ b/scripts/v3_pack.py @@ -0,0 +1,383 @@ +"""Build v3's pack: every whole-network storm date with crew and every v3 layer, its constants fitted on the train +dates alone, and the control dates beside them (docs/v3/DESIGN.md §2, §6.1); with `--refs`, the references +scripts/v3_check.py reads, and each task's anchor and follower costs for the playable day's load. + + python scripts/v3_pack.py --out DIR [--only DATE,...] [--workers 14] [--seed 0] [--resume] + [--refs] [--prove-s 1800] [--watch-s 900] [--bases none|JFK,BOS,...] + +1. every storm date over the 19 cached months (network.storms) built as a whole-network task, without crews by default + (v3: docs/v3/DESIGN.md §0 status; `--bases JFK,BOS,FLL,MCO` turns Edgar's crew model on at those bases), at scale 1 + and the 03:00 cutoff, as world_check builds them, and so are the control + dates (network.control_dates, each with its hubs' control windows, split 'control'); each date's build is written + to DIR/built/ as it finishes (a control's as control-DATE.json), and `--resume` keeps those already built there (a + date left unbuilt, or a file cut short, is built again). A date an input is missing for (say the FAA registry, for + a tail B-43 doesn't type) is unbuilt, its error the reason; any other error stops the pack; +2. the seeded whole-event split over the built storm dates, as world_check draws it (network.split, `--seed`, default + 0), and the unseen-traffic scale fitted on the train dates (unseen.fit_scale), every task (the controls too) + rescaled to it; +3. the layer constants fitted on the train dates only (layers.calibrate.fit): the ramp closures' rate per hub, the + reserve pool per base, the cap clauses kept at 0.9 and 5; +4. every date of the split (eval and train) and every control date (`--only` a few of them, storm or control) given + every layer at those constants (network.layered, as network.build(layers=) does), written to DIR/tasks.jsonl, the + storm dates first, and DIR/manifest.json: the inputs the pack reads beyond each task's own pins (`sources`) with + their sha256 (BTS on-time per month, the hubs' IEM METARs, SPECIs and TAFs per month), the seed, the split, the + controls and the scale, the constants with the dates they were fitted on, the counts per task and per layer, and + the wall clock per phase; +5. with `--refs`, the references on every task written (`refs`, below): one JSON per task under DIR/refs/ as it + finishes, in a pool of `--workers` processes, heaviest first, a result kept when its task's signature (the task, the + references and the time limits) matches; then DIR/refs.json, each task's anchor and follower costs on the truth + with the task's digest (references.digest), which the playable day's load reads (v3day.live) so it never solves a + MIP. + +The references per task (world_check's, so its gates read them as they are): naive; the airline replay (cost, +auto-cancels over the flights JetBlue flew by their deadline, reserves called and granted) and its fidelity (of the +flights JetBlue flew, how many the replay flies and how many of those leave within FIDELITY_MIN of JetBlue's minute); +the recorded day; the anchor (references.anchor at `--prove-s`: objective, status, gap, whether its plan replays +exactly); the follower (references.follow at `--watch-s`: cost and watches; a watch solve that does not prove stops +it, captured as its error and flagged `unproven_watch`); the calm day (forced cancellations and ferries); the flat +anchor on the control dates (world_check's controls gate); and the probe's verdict counts (programs.probe, a restored +pair once). A reference that fails is captured as its error, never raised. + +`--only` still builds and splits every storm date: the split and the constants are the whole pack's, so its tasks are +the ones the full pack writes for those dates. +""" + +import argparse +import hashlib +import json +import os +import subprocess +import sys +import time +from collections import Counter +from collections.abc import Iterable, Mapping, Sequence +from concurrent.futures import ProcessPoolExecutor, as_completed +from dataclasses import replace +from pathlib import Path + +import pandas as pd +import world_check + +from agentenv_airops.build import bts, pack, weather +from agentenv_airops.core.sim import FLOWN +from agentenv_airops.flow import sources +from agentenv_airops.programs import candidates, network, probe, rbs, references, repairs, sim, unseen +from agentenv_airops.programs.advisories import HUBS +from agentenv_airops.programs.candidates import Built +from agentenv_airops.programs.layers import calibrate, config +from agentenv_airops.programs.model import Task, write_tasks + +ROOT = Path(__file__).resolve().parents[1] +INPUTS, DERIVED = ROOT / "cache" / "inputs", ROOT / "cache" / "derived" +CONTROL = "control-" +REFS = ("naive", "airline", "recorded", "anchor", "follower", "calm") +CONTROL_REFS = ("flat",) +PROVE_S, WATCH_S = 1800.0, 900.0 +FIDELITY_MIN = 15 +REFS_VERSION = 1 +"""Bumped when a reference's definition here changes, so a resumed --refs runs it again.""" + + +def main(argv: list[str] | None = None) -> None: + ap = argparse.ArgumentParser(description=__doc__.split("\n\n")[0]) + ap.add_argument("--out", type=Path, required=True) + ap.add_argument("--only", default="", help="comma-separated storm or control dates to write (default: every one)") + ap.add_argument("--workers", type=int, default=14) + ap.add_argument("--seed", type=int, default=0) + ap.add_argument("--resume", action="store_true", help="keep the builds already under DIR/built/") + ap.add_argument("--refs", action="store_true", help="run the references on every task written") + ap.add_argument("--bases", default="none", + help="crew bases for Edgar's crew model, comma-separated (JetBlue's: JFK,BOS,FLL,MCO); 'none', the " + "v3 default, builds without crews (docs/v3/DESIGN.md §0 status)") + ap.add_argument("--prove-s", type=float, default=PROVE_S, help="time limit of each anchor, flat or calm solve") + ap.add_argument("--watch-s", type=float, default=WATCH_S, help="time limit of each follower watch solve") + args = ap.parse_args(argv) + out = args.out + out.mkdir(parents=True, exist_ok=True) + clock = Clock() + + fits = candidates.e_table(INPUTS, DERIVED, workers=args.workers) + e_fit, e_median = unseen.table(fits) + storms, counts = network.storms(INPUTS) + controls = network.control_dates(INPUTS, DERIVED) + clock.lap("storms", f"{len(storms)} storm dates, {len(controls)} control dates, {len(fits)} advisories fitted") + jobs = {d: (d, hubs, None, "") for d, hubs in storms.items()} + jobs |= {CONTROL + d: (d, tuple(h for h in HUBS if h in w), w, "control") for d, w in controls.items()} + bases = () if args.bases.lower() == "none" else tuple(b for b in args.bases.split(",") if b) + built = build(out / "built", jobs, e_fit, e_median, args.workers, args.resume, bases) + tasks = {d: b.task for d, b in built.items() if b.task and not d.startswith(CONTROL)} + held = {d.removeprefix(CONTROL): b.task for d, b in built.items() if b.task and d.startswith(CONTROL)} + clock.lap("build", f"{len(tasks)} of {len(storms)} storm dates built, {len(held)} of {len(controls)} controls") + + event = candidates.events(storms) + drawn = network.split({d: t.storms for d, t in tasks.items()}, event, args.seed) + train = sorted(d for d, v in drawn.items() if v == "train") + scale = unseen.fit_scale([tasks[d] for d in train], fits) + if set(scale) != set(HUBS): + sys.exit(f"ERROR: no train dates to fit the scale at {sorted(set(HUBS) - set(scale))}") + shipped_e = unseen.table(fits, scale) + shipped = {d: rbs.rescale(replace(tasks[d], split=v), scale, *shipped_e) for d, v in drawn.items()} + calm = {d: rbs.rescale(replace(t, split="control"), scale, *shipped_e) for d, t in held.items()} + clock.lap("split", f"eval {len(drawn) - len(train)}, train {len(train)}, scale {scale}") + + spans = config.spans(INPUTS, candidates.MONTHS) + pushed = pd.concat([candidates.month_frame(INPUTS, DERIVED, m)[["Origin", "act_dep"]] for m in candidates.MONTHS], + ignore_index=True) + constants = calibrate.fit(train, [shipped[d] for d in train], frame_of, spans, pushed, args.workers) + clock.lap("calibrate", json.dumps({k: v for k, v in constants.to_dict().items() if k != "dates"})) + + only = dates_of(args.only) + if missing := [d for d in only if d not in shipped and d not in calm]: + sys.exit(f"ERROR: not in the split or the controls: " + f"{', '.join(f'{d} ({why(d, storms, controls, built)})' for d in missing)}") + chosen = [shipped[d] for d in sorted(shipped) if not only or d in only] + chosen += [calm[d] for d in sorted(calm) if not only or d in only] + layered = [network.layered(t, constants, INPUTS, DERIVED) for t in chosen] + write_tasks(layered, out / "tasks.jsonl") + clock.lap("layers", f"{len(layered)} tasks written") + + manifest = {"code": revision(), "seed": args.seed, "months": list(candidates.MONTHS), "bases": list(bases), + "only": only, "storm_dates": len(storms), "built": len(tasks), "candidates": counts, + "unbuilt": {d: b.row["reason"] for d, b in built.items() if not b.task}, + "split": dict(sorted(drawn.items())), "unsplit": sorted(set(tasks) - set(drawn)), + "controls": {d: {"hubs": list(jobs[CONTROL + d][1]), "windows": {h: list(x) for h, x in w.items()}, + "task_id": calm[d].task_id if d in calm else None} for d, w in controls.items()}, + "scale": scale, "constants": constants.to_dict(), "inputs": inputs_of(INPUTS, candidates.MONTHS), + "counts": {"total": total(layered), "tasks": {t.task_id: tally(t) for t in layered}}, + "wall_s": clock.laps} + (out / "manifest.json").write_text(json.dumps(manifest, indent=1) + "\n") + if args.refs: + results = refs(out, layered, args.workers, (args.prove_s, args.watch_s), clock) + manifest["refs"] = {"tasks": len(results), "time_limits_s": [args.prove_s, args.watch_s], + "failed": failed(results)} + manifest["wall_s"] = clock.laps + (out / "manifest.json").write_text(json.dumps(manifest, indent=1) + "\n") + print(json.dumps({"constants": manifest["constants"] | {"dates": len(constants.dates)}, + "counts": manifest["counts"]["total"], "wall_s": clock.laps}, indent=1), flush=True) + + +class Clock: + def __init__(self): + self.t0 = self.t = time.monotonic() + self.laps: dict[str, float] = {} + + def lap(self, name: str, note: str = "") -> None: + now = time.monotonic() + self.laps[name] = round(now - self.t, 1) + self.laps["total"] = round(now - self.t0, 1) + self.t = now + print(f"[{self.laps['total']:7.1f}s] {name}: {note}", flush=True) + + +def build(folder: Path, jobs: Mapping[str, tuple[str, tuple[str, ...], network.Windows | None, str]], + e_fit: Mapping[str, float], e_median: Mapping[str, float], workers: int, resume: bool, + bases: Sequence[str] = repairs.BASES) -> dict[str, Built]: + """Every job's whole-network task with crew, at scale 1, one JSON per job under `folder` as it finishes (a job + keyed by its date, a control's by CONTROL + its date; each a (date, storm hubs, windows or None, split)); with + `resume` the jobs built there already are read back (kept), the others built again.""" + folder.mkdir(parents=True, exist_ok=True) + out = kept(folder, jobs) if resume else {} + ones = dict.fromkeys(HUBS, 1.0) + args = {k: (d, hubs, INPUTS, DERIVED, dict(e_fit), dict(e_median), ones, repairs.CUTOFF, w, split, tuple(bases), + None) for k, (d, hubs, w, split) in jobs.items() if k not in out} + with ProcessPoolExecutor(max(1, workers)) as pool: + futures = {pool.submit(build_one, a): k for k, a in args.items()} + for job in as_completed(futures): + b = job.result() + save(folder / f"{futures[job]}.json", b) + out[futures[job]] = b + return dict(sorted(out.items())) + + +def kept(folder: Path, keys: Iterable[str]) -> dict[str, Built]: + """The jobs whose build an earlier run wrote whole under `folder`, with a task or left out by the build's rules + (network.build's reason, say too few flights controlled): one it left unbuilt on an error (an input missing then + may be there now, `build_one`) or whose file it was killed writing is built again.""" + out = {} + for d in keys: + try: + x = json.loads((folder / f"{d}.json").read_text()) + except (OSError, ValueError): + continue + if x.get("task"): + out[d] = Built(Task.from_dict(x["task"]), x["row"]) + elif not str(x["row"].get("reason", "")).startswith("error:"): + out[d] = Built(None, x["row"]) + return out + + +def save(path: Path, b: Built) -> None: + """Write a date's build whole or not at all (a run killed mid-write leaves the old file, or none).""" + part = path.with_suffix(".part") + part.write_text(json.dumps({"row": b.row, "task": b.task.to_dict() if b.task else None}, default=str)) + os.replace(part, path) + + +def build_one(job: tuple) -> Built: + """network.build_one, a date an input is missing for (say the FAA registry, for a tail B-43 doesn't type) unbuilt + with the error as its reason. Any other error (a bug, or a fault such as too many open files that would drop a + date and so reshuffle the split) stops the pack.""" + try: + return network.build_one(job) + except FileNotFoundError as e: + return Built(None, {"date": job[0], "hubs": list(job[1]), "task_id": None, + "reason": f"error: {type(e).__name__}: {e}"}) + + +def dates_of(only: str) -> list[str]: + """`--only`'s dates, each once, in order.""" + return sorted({x.strip() for x in only.split(",") if x.strip()}) + + +def frame_of(d: str) -> pd.DataFrame: + return candidates.frame(INPUTS, DERIVED, d) + + +def why(d: str, storms: Mapping[str, tuple[str, ...]], controls: Mapping[str, network.Windows], + built: Mapping[str, Built]) -> str: + key = CONTROL + d if d in controls else d + if d not in storms and d not in controls: + return "neither a storm nor a control date" + if not built[key].task: + return built[key].row["reason"] + return "an event with an eval date elsewhere" + + +def inputs_of(inputs: Path, months: Iterable[str]) -> dict[str, str]: + """The sha256 of each input the pack reads beyond the tasks' own pins: every month's BTS on-time (the closure + rates' pushbacks) and each hub's routine METARs, SPECIs and TAFs (the closures and the desk's weather news).""" + src = pack.Sources(inputs) + paths = [bts.ontime_path(inputs, m) for m in months] + paths += [p for m in months for h in HUBS + for p in (weather.metar_path(inputs, h, m), sources.speci_path(inputs, h, m), + weather.afos_path(inputs, f"TAF{h}", m))] + return {str(p.relative_to(inputs)): src.file(p) for p in paths} + + +def tally(task: Task) -> dict: + """A task's flights and its layers' counts: crew deadlines (outstation departures', and base departures' under a + pool), departure-capped hours, closures, outstation-capped hours and stations, the pools, and the weather news + per kind.""" + lay = task.layers + return {"flights": len(task.flights), "tails": len(task.tails), + "crew_deadlines": sum(f.crew is not None and f.crew.deadline is not None for f in task.flights), + "pooled_departures": sum(task.reservable(f) for f in task.flights), + "dep_capped_hours": {h: len(by) for h, by in lay.dep_caps.items()}, + "closures": {h: len(x) for h, x in lay.closures.items()}, + "outstation_capped_hours": sum(len(by) for by in lay.arr_caps.values()), + "outstations_capped": len(lay.arr_caps), "pools": dict(lay.reserves), + "weather": dict(sorted(Counter(kind for _, kind, _, _ in lay.weather).items()))} + + +def total(tasks: Iterable[Task]) -> dict: + rows = [tally(t) for t in tasks] + return {"tasks": len(rows), **{k: sum(r[k] for r in rows) for k in ("flights", "tails", "crew_deadlines", + "pooled_departures", + "outstation_capped_hours", + "outstations_capped")}, + "dep_capped_hours": sum(sum(r["dep_capped_hours"].values()) for r in rows), + "closures": sum(sum(r["closures"].values()) for r in rows), + "weather": dict(sorted(sum((Counter(r["weather"]) for r in rows), Counter()).items())), + "tasks_with": {k: sum(bool(r[k]) for r in rows) for k in ("dep_capped_hours", "closures", + "outstation_capped_hours", "pools")}} + + +def refs(folder: Path, tasks: Sequence[Task], workers: int, limits: tuple[float, float], + clock: "Clock | None" = None) -> dict[str, dict]: + """The references on every task in a process pool, heaviest first, each result written to folder/refs/.json as it finishes; a result already there whose signature matches is kept. Then folder/refs.json: each task's + anchor and follower costs, where they ran, with the task's digest. Results are returned as written (JSON).""" + (folder / "refs").mkdir(parents=True, exist_ok=True) + results, jobs = {}, [] + for t in tasks: + names = REFS + (CONTROL_REFS if t.split == "control" else ()) + sig = signature(t, names, limits) + path = folder / "refs" / f"{t.task_id}.json" + try: + old = json.loads(path.read_text()) + except (OSError, ValueError): + old = {} + if old.get("signature") == sig: + results[t.task_id] = old + else: + jobs.append((t.task_id, t.to_json(), sig, names, limits)) + weights = {t.task_id: world_check.weight(t) for t in tasks} + jobs.sort(key=lambda j: weights[j[0]], reverse=True) + t0 = time.monotonic() + if jobs: + with ProcessPoolExecutor(max(1, min(workers, len(jobs)))) as pool: + for fut in as_completed([pool.submit(refs_job, j) for j in jobs]): + r = json.loads(json.dumps(fut.result(), default=str)) + part = folder / "refs" / f"{r['task_id']}.part" + part.write_text(json.dumps(r)) + os.replace(part, folder / "refs" / f"{r['task_id']}.json") + results[r["task_id"]] = r + print(f" [{time.monotonic() - t0:8.1f}s] {len(results)}/{len(tasks)} {r['task_id']} " + f"{world_check.brief(r)}", flush=True) + (folder / "refs.json").write_text(json.dumps(stored(tasks, results), indent=1) + "\n") + if clock: + clock.lap("refs", f"{len(jobs)} run, {len(tasks) - len(jobs)} kept, failed {failed(results)}") + return {t.task_id: results[t.task_id] for t in tasks} + + +def signature(task: Task, names: tuple[str, ...], limits: tuple[float, float]) -> str: + return hashlib.sha256(f"{task.to_json()}|{names}|{limits}|{REFS_VERSION}".encode()).hexdigest()[:16] + + +def refs_job(j: tuple) -> dict: + """world_check's references of one task (its job), with the replay's fidelity and reserve calls, the probe's + verdicts and JetBlue's own counts; a follower stopped by a watch solve that did not prove is flagged.""" + tid, line, sig, names, limits = j + out = world_check.job((tid, line, sig, names, limits)) + task = Task.from_dict(json.loads(line)) + out["jetblue"] = {"cancelled": sum(f.actual.dep is None for f in task.flights), + "flown": sum(f.actual.dep is not None for f in task.flights)} + for name, play in (("fidelity", lambda: fidelity(task)), ("probe", lambda: probe.probe(task).to_dict())): + world_check.attempt(out, name, play) + error = out.get("follower", {}).get("error", "") + if error: + out["follower"]["unproven_watch"] = error.startswith("RuntimeError") and " watch " in error + return out + + +def fidelity(task: Task) -> dict: + """Of the flights JetBlue flew, how many the airline replay flies and how many of those leave within FIDELITY_MIN + of JetBlue's departure (exactly on it too), and the replay's reserve calls: asked for and granted.""" + plan = references.airline_plan(task) + run = sim.execute(task, plan) + errs = [run.flights[f.id].dep - f.actual.dep for f in task.flights + if f.actual.dep is not None and run.flights[f.id].status == FLOWN] + return {"jetblue_flown": sum(f.actual.dep is not None for f in task.flights), "flown": len(errs), + "within": sum(abs(e) <= FIDELITY_MIN for e in errs), "exact": sum(e == 0 for e in errs), + "within_min": FIDELITY_MIN, "reserves_called": sum(bool(e.get("reserve")) for e in plan.values()), + "reserves_granted": len(run.reserved)} + + +def stored(tasks: Iterable[Task], results: Mapping[str, dict]) -> dict[str, dict]: + """Per task, the costs on the truth of its anchor's plan and its follower's, where they ran without error, with the + task's digest: what the playable day's load takes (v3day.live), so it solves no MIP.""" + out = {} + for t in tasks: + r = results.get(t.task_id, {}) + costs = {k: r[k]["total"] for k in ("anchor", "follower") if "total" in r.get(k, {})} + if costs: + out[t.task_id] = {**costs, "task": references.digest(t)} + return out + + +def failed(results: Mapping[str, dict]) -> dict[str, list[str]]: + """Per task, the references that failed or whose MIP did not prove (world_check.unproven), and the fidelity or the + probe if they failed.""" + return {i: bad for i, r in sorted(results.items()) + if (bad := world_check.unproven(r) + [k for k in ("fidelity", "probe") if "error" in r.get(k, {})])} + + +def revision() -> str: + try: + return subprocess.check_output(["git", "-C", str(ROOT), "rev-parse", "HEAD"], text=True).strip() + except (OSError, subprocess.CalledProcessError): + return "" + + +if __name__ == "__main__": + main() diff --git a/src/agentenv_airops/bundles/airops-v3/README.md b/src/agentenv_airops/bundles/airops-v3/README.md new file mode 100644 index 0000000..fce28c7 --- /dev/null +++ b/src/agentenv_airops/bundles/airops-v3/README.md @@ -0,0 +1,17 @@ +AirOps v3: a real storm day across JetBlue's whole network, from 04:00, inside the FAA's programs at JFK and BOS and v3's realism layers (hub departure caps, ramp closures from lightning at the field, outstation arrival caps), played live in watches on the gateway's virtual clock by the airops-llm planner and graded against the hindsight optimum. + +Every task deploys the env registered as `airops-v3-day` on the gateway provider (run `agent-env airops-v3 setup` once, and +`agent-env airops setup --agent` for the airops-llm agent) and loads one day of the b6-v3 pack through the env's +`urn:airops:v3-live-load/v1` extension, with the anchor's and the follower's costs stored with the pack. The day delivers each +watch's FAA advisories, METARs, SPECIs and TAFs itself, in the tool results, at their delivery lags; watches come +one an hour and one more when an advisory or SPECI reaches the desk or a ramp closure begins or ends. The clock +starts frozen at the first watch. After the play, `urn:airops:v3-end-day/v1` grades the final plan on the day as it happened if +the planner stopped early; the `airops-verifier` artifact reads the day from the env's `data/get` and scores the run with +its reward, and a day that never finished, or whose news broke the reveal schedule, fails the step, so the run is +not scored. + +- `` plays that day with the `airops-llm` agent. +- `wiring-noplay` runs the first day's steps without the agent and needs no model: end-day flies the day with no change, as + the naive reference does. + +Built from public U.S. records: BTS on-time data of every carrier, the FAA registry, FAA Command Center advisories and NWS METARs, SPECIs and TAFs via the Iowa Environmental Mesonet. diff --git a/src/agentenv_airops/bundles/airops-v3/artifacts/airops-verifier/verify.py b/src/agentenv_airops/bundles/airops-v3/artifacts/airops-verifier/verify.py new file mode 100644 index 0000000..f6d84ca --- /dev/null +++ b/src/agentenv_airops/bundles/airops-v3/artifacts/airops-verifier/verify.py @@ -0,0 +1,15 @@ +"""Score a live AirOps day with the reward of its final plan flown on the truth; a day that never finished, broke the +reveal schedule or has no reference raises, so the run is not scored.""" + +from agentenv_protocol import client + + +async def verify(mcp_url: str) -> list[dict]: + day = (await client.get_data(mcp_url.removesuffix("/mcp"))).parts[0].data + if not day["done"] or not day["audit"]["ok"] or day["reward"] is None: + raise RuntimeError(f"the day can't be scored: done {day['done']}, audit {day['audit']}, reward {day['reward']}") + reward = day["reward"] + return [{"criterion": "the final plan's reward on the day as it happened, 1.0 at the hindsight optimum", + "result": reward >= 1.0, "score": reward, "episode": day}, + {"criterion": "every watch got its news, in order, before the planner's next call", "result": True, + "score": 1.0, "weight": 0}] diff --git a/src/agentenv_airops/bundles/airops-v3/tasks/b6-20221215-0400.json b/src/agentenv_airops/bundles/airops-v3/tasks/b6-20221215-0400.json new file mode 100644 index 0000000..873612a --- /dev/null +++ b/src/agentenv_airops/bundles/airops-v3/tasks/b6-20221215-0400.json @@ -0,0 +1,71 @@ +[ + { + "id": "deploy", + "type": "deploy_env", + "env_id": "airops-v3-day" + }, + { + "id": "load-task", + "type": "apply_server_config", + "env_id": "airops-v3-day", + "directives": [ + { + "service": "airops-v3-day", + "uri": "urn:airops:v3-live-load/v1", + "args": { + "task_id": "b6-20221215-0400", + "anchor": 3324315, + "follower": 3359614 + } + } + ] + }, + { + "id": "deploy-agent", + "type": "deploy_agent", + "a2a_agent_id": "airops-llm", + "env_ids": [ + "airops-v3-day" + ] + }, + { + "id": "clock", + "type": "sync_env_clock", + "env_id": "airops-v3-day", + "virtual_time": "2022-12-15T09:00:00Z", + "virtual_seconds_per_real_second": 0, + "tolerate_missing_sync_time": false + }, + { + "id": "play", + "type": "prompt_agent", + "prompt_id": "b6-20221215-0400", + "system_prompt": "You run the JetBlue operations desk on a storm day at JFK and BOS: thunderstorms, snow or wind, and the FAA ground stops and ground delay programs (GDPs) that follow, cut how many JetBlue flights can land and take off. Your job is to decide which flights to cancel and which to hold, watch by watch, so that passengers and the airline lose as little as possible over the day.\n\nHow the day runs:\n- The day is played in watches starting at watch 0: one an hour, and one more when an advisory or a SPECI reaches the desk or a ramp closure begins or ends, so watches are 15 to 60 minutes apart. The first message gives the day as the desk knows it at watch 0. Every tool call takes 1 minute of the watch; when the watch's time runs out, the next watch opens by itself, and advance opens it at once.\n- What the desk knows: a flight's own departure delay (weather, air traffic control: anything but waiting for its aircraft or a slot) becomes known 2 hours before its scheduled departure; until then it is assumed on time. FAA Command Center advisories and the hubs' METARs, SPECIs and TAFs arrive as messages at the first watch after they reach the desk: an advisory 0 minutes after it is signed, a METAR 5 and a SPECI 5 minutes after its observation, a TAF 10 minutes after its issue, and the programs table shows the programs as issued, proposed GDPs included; a program may end earlier or later than issued.\n- Ground delay programs: a GDP meters arrivals at a hub over its period. A flight into the hub from an origin in its scope, scheduled to land in the period, needs one of JetBlue's arrival slots in the program: it takes the earliest free slot at or after the time it could land and leaves at its EDCT, the slot less its scheduled block. A cancelled or late flight leaves its slot to the flights behind it. Arrivals outside a program fit under the hub's hourly rate.\n- Ground stops: a flight to a stopped hub from an origin the stop covers waits on the ground until the stop ends; flights already airborne fly on.\n- Departure caps: an airport may take only so many JetBlue departures in an hour (the departure caps table, known 4 hours ahead); a flight with no room in its hour tries again at the next hour's start.\n- Outstation arrival caps: an outstation may take only so many JetBlue arrivals in an hour (the outstation arrival caps table, known 4 hours ahead); a flight with no room in its arrival hour leaves so as to land in the next one.\n- Ramp closures: lightning at the field cuts a hub's ramp rate without stopping it. During a closure only so many JetBlue flights may leave the hub and only so many arrive there; a departure with no room leaves at the closure's end, an arrival with none leaves so as to land at it. A closure is known once it begins; until its end comes it is expected to last 30 minutes more, with caps for that long, and the closures table says which ends are reported and which expected.\n- The env flies your plan on the day as it happens: each flight leaves at the earliest time its delay, its hold, a slot, a stop, a cap and an aircraft allow. It takes the first aircraft of its type ready at its origin (aircraft of one type at one airport are interchangeable; an aircraft needs its turn time on the ground between flights). A flight that can't leave by its deadline is cancelled automatically there. At the end of the day the env ferries each aircraft to the airport it is needed at tomorrow.\n- Your decisions: cancel a flight (its aircraft stays on the ground, free for other flights, and its slot goes to the flights behind), restore a cancelled flight, or hold a flight until a time (not_before) so that its slot or aircraft goes to another flight first. A flight you don't touch leaves as early as it can.\n- The freeze: at watch 0 nothing is frozen. From watch 1 on, flights your plan has leaving before the freeze line, 60 minutes after the watch opens, are frozen: they can't be changed, and stay frozen. A cancellation is final. The env holds any other flight your plan would have leaving before the freeze line to it, and refuses a change that would move a frozen flight or one that has already gone.\n\nTools:\n- get_situation(): the time, the freeze line, the programs as issued with JetBlue's slots, the departure caps known so far, the outstation arrival caps known so far, the ramp closures under way or over, the latest METAR or SPECI and TAF per hub, every flight (its status, its known delay, your plan, where your plan has it leave and land on the day as known, how late it lands, its aircraft, its slot and its crew), where the aircraft are, and the news so far.\n- check_plan(changes): your changes over your plan, run on the day as known now: the plan's cost, the flights whose plan or times change, the automatic cancellations, the flights the env would hold to the freeze line, and the changes confirm_changes would refuse. It confirms nothing.\n- confirm_changes(changes): commits the changes; flights you leave out keep their plan.\n- advance(): ends the watch; its result has the new watch's news. After the last watch it returns \"done\": the day is graded on your plan.\nA change is {\"flight\": \"f12\", \"action\": \"cancel\" | \"restore\" | \"hold\" | \"call_reserve\" | \"release_reserve\", \"not_before\": \"HH:MM\" | null}: cancel takes not_before null; restore and hold fly the flight, held until not_before (local time, \"00:30+1\" after midnight), or as early as it can with null. Where a crew base has a reserve pool (the situation's Reserve crews), a flight leaving it past its crew's deadline flies only on a reserve: call_reserve gives it one while the pool lasts, release_reserve hands it back before that deadline.\n\nThe cost, in passenger-minutes: every passenger's minutes of arrival delay; 523 for each passenger on a cancelled flight, plus one for every minute the cancellation is decided later than 2 hours before its scheduled departure (an automatic cancellation is decided at its deadline, so it costs more than an early one); the airline's own aircraft minutes (a late departure costs crew and fixed costs, a long block fuel too, and a cancellation saves its fuel and maintenance); and the end-of-day ferries. A cancellation frees an aircraft and a slot; it pays when it saves the others more than it costs its own passengers. The day is graded once, on your final plan flown on the day as it really happened: the closer its cost to the best plan possible in hindsight, the higher the score. If you stop before the last watch, the rest of the day runs on your plan.", + "prompt": "# JetBlue operations desk, JFK, Thursday 2022-12-15; times are local (America/New_York).\n\nNow 04:00 (watch 0, opened 04:00). First watch: nothing is frozen; changes take effect at once.\n\nYour plan on the day as known costs 180,371 (delay 118,595, cancellations 0, notice 0, ferries 0): 0 cancelled, 0 cancelled automatically, 0 on slots.\n\n## Programs as issued (FAA Command Center)\nNone.\n\n## Departure caps: JetBlue departures per hour, known 240 min ahead\nBOS: 06h 14\nJFK: 06h 10\n\n## Outstation arrival caps: JetBlue arrivals per hour, known 240 min ahead\nDCA: 07h 1\nLGA: 07h 2\n\n## Ramp closures (lightning at the field; known once begun)\nNone.\n\n## Latest weather (METAR or SPECI, and TAF)\n[03:51] KJFK 150851Z 02006KT 10SM OVC250 01/M04 A3024 RMK AO2 PRESRR SLP238 T00061039 53004\n[03:31] TAF AMD KJFK 150831Z 1509/1612 02008KT P6SM BKN250 FM151100 05008KT P6SM BKN200 FM151500 07011KT P6SM BKN035 TEMPO 1515/1519 BKN025 FM151900 09013KT 5SM -RA BR BKN025 FM152000 09015G21KT 5SM -RA BR OVC015 FM160000 09017G28KT 4SM -RA BR OVC010 FM160600 08020G35KT 2SM RA BR OVC009=\n\n## Flights (sched = scheduled dep-arr; delay = known delay, ? not yet; plan = cancel or hold@HH:MM; proj = where your plan has it leave and land on the day as known; late = arrival delay; slot = its GDP slot; crew = crew deadline/rest end, +R on a reserve crew)\nid flight route sched pax type status delay plan proj late tail slot crew\nf0 746 PSE-JFK 04:55-08:59 121 A320 open -6 - 04:49-09:11 +12 N627JB - -\nf1 253 FLL-SJU 05:01-07:30 136 A320 open -10 - 04:51-07:16 -14 N509JB - -\nf2 954 SJU-FLL 05:01-07:42 126 A320 open -7 - 04:54-07:34 -8 N562JB - -\nf3 1438 JFK-BOS 05:01-06:04 102 A320 open 14 - 05:15-06:20 +16 N527JL - -\nf4 1461 JFK-FLL 05:01-08:00 148 A320 open -3 - 04:58-07:57 -3 N507JT - -\nf5 2867 MCO-PSE 05:01-07:47 139 A320 open -6 - 04:55-07:37 -10 N534JB - -\nf6 2555 BOS-DCA 05:15-06:50 68 E190 open -1 - 05:14-07:48 +58 N192JB - -\nf7 404 SJU-JFK 05:25-09:25 130 A320 open -8 - 05:17-09:15 -10 N571JB - -\nf8 123 JFK-LAX 05:30-11:44 141 A321P open -7 - 05:23-11:17 -27 N923JB - -\nf9 562 SJU-BOS 05:30-09:42 126 A320 open -9 - 05:21-09:30 -12 N583JB - -\nf10 517 BOS-JFK 05:35-06:49 101 A320 open 9 - 05:44-06:51 +2 N504JB - -\nf11 838 BQN-JFK 05:38-09:30 132 A320 open -10 - 05:28-09:15 -15 N592JB - -\nf12 1270 CHS-LGA 05:45-07:39 88 A320 open -6 - 05:39-07:23 -16 N705JB - -\nf13 1336 DTW-BOS 05:45-07:36 73 E190 open -14 - 05:31-07:16 -20 N328JB - -\nf14 42 PBI-LGA 06:00-08:43 79 E190 open -4 - 05:56-08:31 -12 N193JB - -\nf15 133 BOS-SFO 06:00-12:51 137 A321P open -3 - 05:57-12:05 -46 N2105J - -\nf16 171 LGA-FLL 06:00-09:03 145 A320 open -5 - 05:55-08:51 -12 N598JB - -\nf17 172 FLL-LGA 06:00-08:52 132 A320 open -8 - 05:52-08:24 -28 N564JB - -\nf18 185 ROC-JFK 06:00-07:20 80 E190 open -3 - 05:57-07:41 +21 N184JB - -\nf19 231 BOS-LGA 06:00-07:12 48 E190 open -10 - 05:50-06:56 -16 N203JB - -\nf20 233 BTV-JFK 06:00-07:29 76 E190 open -5 - 05:55-07:50 +21 N266JB - -\nf21 515 SYR-JFK 06:00-07:16 81 E190 open 8 - 06:08-07:52 +36 N373JB - -\nf22 551 BOS-MCO 06:00-09:22 175 A321 open 35 - 06:35-09:53 +31 N913JB - -\nf23 555 BOS-DCA 06:00-07:46 68 E190 open -6 - 05:54-08:22 +36 N228JB - -\nf24 569 BOS-FLL 06:00-09:34 149 A320 open -2 - 05:58-09:47 +13 N505JB - -\nf25 573 EWR-TPA 06:00-08:57 145 A320 open -10 - 05:50-08:36 -21 N552JB - -\nf26 917 BOS-JFK 06:00-07:15 101 A320 open -2 - 05:58-07:46 +31 N516JB - -\nf27 970 PHL-BOS 06:00-07:15 64 E190 open -6 - 05:54-07:03 -12 N337JB - -\nf28 984 RDU-BOS 06:00-07:57 111 A220 open -7 - 05:53-07:29 -28 N3077J - -\nf29 1075 PVD-MCO 06:00-09:10 150 A320 open 2 - 06:02-09:16 +6 N708JB - -\nf30 1184 MCO-JFK 06:00-08:31 167 A321 open -5 - 05:55-08:51 +20 N2002J - -\nf31 1233 MCO-SJU 06:00-08:46 185 A321 open -7 - 05:53-08:41 -5 N995JL - -\nf32 1373 EWR-LAX 06:00-12:07 136 A321P open -6 - 05:54-11:33 -34 N946JL - -\nf33 1652 MCO-BOS 06:00-08:54 152 A321 open -14 - 05:46-08:22 -32 N952JB - -\nf34 1861 LGA-RSW 06:00-09:20 120 A320 open -6 - 05:54-08:40 -40 N563JB - -\nf35 1941 BOS-SRQ 06:00-09:31 130 A320 open 6 - 06:06-10:26 +55 N517JB - -\nf36 182 BNA-FLL 06:01-08:14 121 A320 open ? - 06:01-08:14 +0 N659JB - -\nf37 2539 JFK-BQN 06:01-09:43 179 A321 open ? - 06:01-09:43 +0 N2029J - -\nf38 2001 BUF-JFK 06:03-07:30 75 E190 open ? - 06:03-07:30 +0 N346JB - -\nf39 1748 SAV-LGA 06:05-08:02 72 E190 open ? - 06:05-08:02 +0 N353JB - -\nf40 75 JFK-MSY 06:06-09:27 114 A320 open ? - 06:06-09:27 +0 N531JL - -\nf41 1486 PIT-BOS 06:10-07:49 85 A220 open ? - 06:10-07:49 +0 N3113J - -\nf42 2293 JFK-MIA 06:10-09:14 141 A320 open ? - 06:10-09:14 +0 N547JB - -\nf43 232 LGA-BOS 06:15-07:23 47 E190 open ? - 06:15-07:23 +0 N273JB - -\nf44 671 ORH-JFK 06:15-07:22 61 E190 open ? - 06:15-07:22 +0 N323JB - -\nf45 320 ATL-JFK 06:20-08:32 140 A320 open ? - 06:20-08:32 +0 N588JB - -\nf46 619 BOS-SAN 06:20-12:45 144 A321P open ? - 06:20-12:45 +0 N962JT - -\nf47 598 MCO-LGA 06:21-09:00 129 A320 open ? - 06:21-09:00 +0 N535JB - -\nf48 1585 BOS-PIT 06:25-08:16 64 E190 open ? - 06:25-08:16 +0 N249JB - -\nf49 15 JFK-SFO 06:30-13:01 132 A321P open ? - 06:30-13:01 +0 N929JB - -\nf50 254 DCA-BOS 06:30-07:58 69 E190 open ? - 06:30-07:58 +0 N216JB - -\nf51 299 LGA-MCO 06:30-09:27 177 A321 open ? - 06:30-09:27 +0 N948JB - -\nf52 327 EWR-MCO 06:30-09:19 186 A321 open ? - 06:30-09:19 +0 N949JT - -\nf53 518 JFK-BOS 06:30-07:35 63 E190 open ? - 06:30-07:35 +0 N183JB - -\nf54 583 JFK-MCO 06:30-09:21 145 A320 open ? - 06:30-09:21 +0 N554JB - -\nf55 677 JFK-JAX 06:30-08:59 141 A320 open ? - 06:30-08:59 +0 N558JB - -\nf56 1105 JFK-ORD 06:30-09:11 68 E190 open ? - 06:30-09:11 +0 N206JB - -\nf57 1551 HPN-RSW 06:30-09:38 138 A320 open ? - 06:30-09:38 +0 N796JB - -\nf58 1603 JFK-SJU 06:30-10:19 182 A321 open ? - 06:30-10:19 +0 N2059J - -\nf59 2625 RDU-FLL 06:30-08:41 145 A320 open ? - 06:30-08:41 +0 N663JB - -\nf60 2701 JFK-FLL 06:30-09:33 148 A320 open ? - 06:30-09:33 +0 N580JB - -\nf61 2802 JFK-BUF 06:30-07:51 119 A320 open ? - 07:00-08:21 +30 N586JB - -\nf62 1145 RIC-FLL 06:35-08:58 144 A320 open ? - 06:35-08:58 +0 N603JB - -\nf63 1807 BOS-BNA 06:40-09:43 101 A220 open ? - 06:40-09:43 +0 N3008J - -\nf64 401 BOS-MSY 06:42-10:32 119 A320 open ? - 06:42-10:32 +0 N523JB - -\nf65 405 EWR-FLL 06:44-09:45 150 A320 open ? - 06:44-09:45 +0 N559JB - -\nf66 222 PBI-BOS 06:45-09:48 118 A320 open ? - 06:45-09:48 +0 N584JB - -\nf67 618 MSP-JFK 06:45-09:31 74 E190 open ? - 06:45-09:31 +0 N198JB - -\nf68 2363 BOS-MCI 06:45-10:30 93 A220 open ? - 06:45-10:30 +0 N3085J - -\nf69 226 TPA-JFK 06:49-09:30 139 A320 open ? - 06:49-09:30 +0 N510JB - -\nf70 1819 BOS-FLL 06:50-10:27 184 A321 open ? - 06:50-10:27 +0 N957JB - -\nf71 2986 MIA-LAX 06:50-12:35 132 A321P open ? - 06:50-12:35 +0 N990JL - -\nf72 109 BOS-JAX 06:52-09:53 120 A220 open ? - 06:52-09:53 +0 N3102J - -\nf73 1247 LGA-TPA 06:59-10:03 141 A320 open ? - 06:59-10:03 +0 N625JB - -\nf74 2157 LGA-DEN 06:59-11:34 122 A320 open ? - 06:59-11:34 +0 N656JB - -\nf75 52 MCO-BOS 07:00-09:56 107 A220 open ? - 07:00-09:56 +0 N3065J - -\nf76 106 ORD-JFK 07:00-09:10 72 E190 open ? - 07:00-09:10 +0 N258JB - -\nf77 287 BOS-LAX 07:00-13:40 139 A321P open ? - 07:00-13:40 +0 N964JT - -\nf78 306 FLL-EWR 07:00-09:56 131 A320 open ? - 07:00-09:56 +0 N618JB - -\nf79 331 BOS-LGA 07:00-08:16 48 E190 open ? - 07:00-08:16 +0 N265JB - -\nf80 540 CLE-BOS 07:00-08:42 93 A220 open ? - 07:00-08:42 +0 N3044J - -\nf81 581 DCA-RSW 07:00-09:47 103 A320 open ? - 07:00-09:47 +0 N566JB - -\nf82 723 JFK-LAX 07:00-13:18 141 A321P open ? - 07:00-13:18 +0 N942JB - -\nf83 890 SJU-EWR 07:00-11:13 142 A320 open ? - 07:00-11:13 +0 N640JB - -\nf84 891 BOS-TPA 07:00-10:27 184 A321 open ? - 07:00-10:27 +0 N970JB - -\nf85 1039 BOS-AUS 07:00-11:47 111 A220 open ? - 07:00-11:47 +0 N3104J - -\nf86 1171 MCO-LAX 07:00-12:38 128 A320 open ? - 07:00-12:38 +0 N537JT - -\nf87 1368 PBI-HPN 07:00-09:49 78 E190 open ? - 07:00-09:49 +0 N247JB - -\nf88 1455 BOS-DCA 07:00-08:45 68 E190 open ? - 07:00-08:45 +0 N274JB - -\nf89 1460 FLL-BDL 07:00-09:56 130 A320 open ? - 07:00-09:56 +0 N645JB - -\nf90 1883 BOS-RDU 07:00-09:09 119 A320 open ? - 07:00-09:09 +0 N633JB - -\nf91 2024 MCO-DCA 07:00-09:13 132 A320 open ? - 07:00-09:13 +0 N629JB - -\nf92 2130 SJU-JFK 07:00-11:02 160 A321 open ? - 07:00-11:02 +0 N950JT - -\nf93 539 JAX-LGA 07:01-09:12 133 A320 open ? - 07:01-09:12 +0 N657JB - -\nf94 2065 BOS-RSW 07:08-10:47 135 A320 open ? - 07:08-10:47 +0 N520JB - -\nf95 392 TPA-BOS 07:10-10:03 87 E190 open ? - 07:10-10:03 +0 N197JB - -\nf96 716 BUF-BOS 07:10-08:37 75 E190 open ? - 07:10-08:37 +0 N229JB - -\nf97 1420 DTW-JFK 07:10-08:59 74 E190 open ? - 07:10-08:59 +0 N238JB - -\nf98 717 BOS-JFK 07:12-08:32 67 E190 open ? - 07:12-08:32 +0 N317JB - -\nf99 1333 BOS-SFO 07:14-14:10 137 A321P open ? - 07:14-14:10 +0 N987JT - -\nf100 270 MCO-RIC 07:15-09:09 134 A320 open ? - 07:15-09:09 +0 N661JB - -\nf101 2085 BDL-MIA 07:15-10:32 148 A320 open ? - 07:15-10:32 +0 N794JB - -\nf102 2229 BOS-MKE 07:15-10:08 89 A220 open ? - 07:15-10:08 +0 N3112J - -\nf103 2832 LGA-BOS 07:15-08:24 47 E190 open ? - 07:15-08:24 +0 N281JB - -\nf104 2801 FLL-LAX 07:17-13:05 142 A321P open ? - 07:17-13:05 +0 N986JB - -\nf105 2295 EWR-MIA 07:20-10:32 143 A320 open ? - 07:20-10:32 +0 N565JB - -\nf106 461 LGA-PBI 07:24-10:26 146 A320 open ? - 07:24-10:26 +0 N579JB - -\nf107 202 MIA-JFK 07:30-10:21 121 A320 open ? - 07:30-10:21 +0 N605JB - -\nf108 467 ATL-FLL 07:30-09:20 138 A320 open ? - 07:30-09:20 +0 N646JB - -\nf109 813 HPN-FLL 07:30-10:33 121 A320 open ? - 07:30-10:33 +0 N630JB - -\nf110 1142 PBI-BDL 07:30-10:19 125 A320 open ? - 07:30-10:19 +0 N709JB - -\nf111 1554 DCA-BOS 07:30-09:00 69 E190 open ? - 08:23-09:53 +53 N192JB - -\nf112 718 JFK-BOS 07:35-08:42 63 E190 open ? - 07:35-08:42 +0 N304JB - -\nf113 814 FLL-HPN 07:35-10:32 100 A320 open ? - 07:35-10:32 +0 N655JB - -\nf114 1589 EWR-SJU 07:35-11:25 150 A320 open ? - 07:35-11:25 +0 N599JB - -\nf115 2380 EWR-BOS 07:35-08:45 48 E190 open ? - 07:35-08:45 +0 N267JB - -\nf116 339 LGA-JAX 07:39-10:21 83 E190 open ? - 07:39-10:21 +0 N307JB - -\nf117 688 BNA-LGA 07:39-09:59 94 A320 open ? - 07:39-09:59 +0 N648JB - -\nf118 159 BOS-PHL 07:40-09:12 71 E190 open ? - 07:40-09:12 +0 N324JB - -\nf119 794 AUS-JFK 07:40-11:13 139 A320 open ? - 07:40-11:13 +0 N569JB - -\nf120 1530 RSW-JFK 07:40-10:25 132 A320 open ? - 07:40-10:25 +0 N597JB - -\nf121 2041 BOS-CLE 07:40-09:50 69 E190 open ? - 07:40-09:50 +0 N334JB - -\nf122 2423 DCA-MCO 07:40-10:10 89 E190 open ? - 08:57-11:27 +77 N228JB - -\nf123 35 JFK-PHX 07:50-13:18 129 A320 open ? - 07:50-13:18 +0 N652JB - -\nf124 48 TPA-LGA 07:52-10:30 139 A320 open ? - 07:52-10:30 +0 N593JB - -\nf125 27 BOS-BWI 08:00-09:37 65 E190 open ? - 08:00-09:37 +0 N339JB - -\nf126 117 JFK-MSP 08:00-11:07 80 E190 open ? - 08:00-11:07 +0 N351JB - -\nf127 143 EWR-PBI 08:00-10:55 145 A320 open ? - 08:00-10:55 +0 N712JB - -\nf128 503 JFK-SJU 08:00-11:53 182 A321 open ? - 08:00-11:53 +0 N905JB - -\nf129 690 FLL-BOS 08:00-11:09 154 A321 open ? - 08:00-11:09 +0 N2039J - -\nf130 861 BOS-SJU 08:00-12:07 191 A321 open ? - 08:00-12:07 +0 N996JL - -\nf131 1067 HPN-PBI 08:00-10:58 89 E190 open ? - 08:00-10:58 +0 N284JB - -\nf132 1273 JFK-CHS 08:00-10:12 102 A320 open ? - 08:00-10:12 +0 N746JB - -\nf133 1379 DCA-FLL 08:00-10:42 138 A320 open ? - 08:00-10:42 +0 N779JB - -\nf134 1447 HPN-TPA 08:00-11:00 88 E190 open ? - 08:00-11:00 +0 N306JB - -\nf135 1555 BOS-DCA 08:00-09:43 68 E190 open ? - 08:00-09:43 +0 N348JB - -\nf136 2123 JFK-LAX 08:00-14:17 141 A321P open ? - 08:00-14:17 +0 N937JB - -\nf137 2431 BOS-LGA 08:00-09:17 48 E190 open ? - 08:00-09:17 +0 N368JB - -\nf138 610 DFW-JFK 08:05-11:28 134 A320 open ? - 08:05-11:28 +0 N621JB - -\nf139 2063 BOS-EYW 08:05-12:02 113 A220 open ? - 08:05-12:02 +0 N3058J - -\nf140 16 JFK-SYR 08:10-09:20 69 E190 open ? - 08:10-09:20 +0 N239JB - -\nf141 281 JFK-IAH 08:10-12:13 141 A320 open ? - 08:10-12:13 +0 N568JB - -\nf142 519 JFK-ATL 08:10-10:41 85 E190 open ? - 08:10-10:41 +0 N323JB - -\nf143 2028 MCO-EWR 08:10-10:49 86 E190 open ? - 08:10-10:49 +0 N179JB - -\nf144 1402 FLL-JFK 08:13-11:00 168 A321 open ? - 08:13-11:00 +0 N2044J - -\nf145 332 LGA-BOS 08:15-09:24 47 E190 open ? - 08:15-09:24 +0 N203JB - -\nf146 953 JFK-PBI 08:15-11:24 91 E190 open ? - 08:15-11:24 +0 N346JB - -\nf147 1480 FLL-DCA 08:15-10:38 120 A320 open ? - 08:15-10:38 +0 N834JB - -\nf148 1519 BOS-MIA 08:20-11:47 182 A321 open ? - 08:20-11:47 +0 N997JL - -\nf149 1288 PBI-PVD 08:25-11:13 81 E190 open ? - 08:25-11:13 +0 N355JB - -\nf150 1454 SJU-FLL 08:25-11:09 126 A320 open ? - 08:25-11:09 +0 N506JB - -\nf151 1081 BOS-RIC 08:26-10:20 76 E190 open ? - 08:26-10:20 +0 N190JB - -\nf152 2519 LGA-MSY 08:29-11:57 135 A320 open ? - 08:29-11:57 +0 N705JB - -\nf153 189 JFK-SAN 08:30-14:44 157 A321 open ? - 08:30-14:44 +0 N972JT - -\nf154 195 HPN-MCO 08:30-11:24 90 E190 open ? - 08:30-11:24 +0 N354JB - -\nf155 533 BDL-TPA 08:30-11:43 145 A320 open ? - 08:30-11:43 +0 N634JB - -\nf156 601 JFK-FLL 08:30-11:44 183 A321 open ? - 08:30-11:44 +0 N2086J - -\nf157 1097 BOS-ATL 08:30-11:36 77 E190 open ? - 08:30-11:36 +0 N337JB - -\nf158 1854 DCA-BOS 08:30-10:02 69 E190 open ? - 09:20-10:52 +50 N274JB - -\nf159 2751 TPA-SJU 08:30-11:26 149 A320 open ? - 08:30-11:26 +0 N595JB - -\nf160 1668 PSE-MCO 08:32-11:40 129 A320 open ? - 08:32-11:40 +0 N534JB - -\nf161 1073 JFK-BNA 08:35-11:04 66 E190 open ? - 08:35-11:04 +0 N184JB - -\nf162 2101 BUF-JFK 08:36-09:59 121 A320 open ? - 09:06-10:29 +30 N586JB - -\nf163 1347 DCA-SJU 08:40-12:33 150 A320 open ? - 08:40-12:33 +0 N768JB - -\nf164 2274 TPA-EWR 08:45-11:29 146 A320 open ? - 08:45-11:29 +0 N775JB - -\nf165 138 MCO-BDL 08:50-11:29 142 A320 open ? - 08:50-11:29 +0 N809JB - -\nf166 967 HPN-PBI 08:50-11:52 89 E190 open ? - 08:50-11:52 +0 N283JB - -\nf167 1565 BOS-SAT 08:50-13:43 115 A220 open ? - 08:50-13:43 +0 N3062J - -\nf168 1286 PIT-BOS 08:55-10:29 61 E190 open ? - 08:55-10:29 +0 N249JB - -\nf169 379 DCA-FLL 08:58-11:40 138 A320 open ? - 08:58-11:40 +0 N570JB - -\nf170 801 MCO-SLC 08:59-13:55 145 A320 open ? - 08:59-13:55 +0 N651JB - -\nf171 323 JFK-LAX 09:00-15:18 141 A321P open ? - 09:00-15:18 +0 N961JT - -\nf172 413 JFK-MCO 09:00-11:58 145 A320 open ? - 09:00-11:58 +0 N706JB - -\nf173 434 SFO-BOS 09:00-14:27 133 A321P open ? - 09:00-14:27 +0 N991JT - -\nf174 455 BOS-DCA 09:00-10:39 68 E190 open ? - 09:00-10:39 +0 N328JB - -\nf175 531 BOS-LGA 09:00-10:16 48 E190 open ? - 09:00-10:16 +0 N273JB - -\nf176 687 BOS-LAX 09:00-15:33 139 A321P open ? - 09:00-15:33 +0 N947JB - -\nf177 1002 FLL-JFK 09:00-11:47 168 A321 open ? - 09:00-11:47 +0 N955JB - -\nf178 1773 EWR-LAX 09:00-15:21 136 A321P open ? - 09:00-15:21 +0 N983JT - -\nf179 2285 JFK-RDU 09:00-10:47 74 E190 open ? - 09:00-10:47 +0 N373JB - -\nf180 1485 BOS-PIT 09:04-10:55 89 A220 open ? - 09:04-10:55 +0 N3077J - -\nf181 816 SFO-JFK 09:05-14:27 137 A321P open ? - 09:05-14:27 +0 N969JT - -\nf182 1634 JFK-BTV 09:07-10:21 77 E190 open ? - 09:07-10:21 +0 N317JB - -\nf183 411 JFK-LAS 09:10-14:55 133 A321P open ? - 09:10-14:55 +0 N980JT - -\nf184 1036 SJU-STT 09:10-09:44 91 A320 open ? - 09:10-09:44 +0 N509JB - -\nf185 2432 LGA-BOS 09:15-10:33 47 E190 open ? - 09:15-10:33 +0 N353JB - -\nf186 217 BOS-JFK 09:18-10:30 67 E190 open ? - 09:18-10:30 +0 N183JB - -\nf187 2479 BOS-EWR 09:25-10:57 63 E190 open ? - 09:25-10:57 +0 N216JB - -\nf188 2747 LGA-SAV 09:25-11:51 79 E190 open ? - 09:25-11:51 +0 N265JB - -\nf189 577 FLL-SFO 09:29-15:55 133 A321P open ? - 09:29-15:55 +0 N993JE - -\nf190 115 JFK-SFO 09:30-16:10 132 A321P open ? - 09:30-16:10 +0 N982JB - -\nf191 163 JFK-SRQ 09:30-12:34 130 A320 open ? - 09:30-12:34 +0 N658JB - -\nf192 1280 FLL-DCA 09:30-11:57 120 A320 open ? - 09:30-11:57 +0 N807JB - -\nf193 1954 DCA-BOS 09:30-11:02 69 E190 open ? - 10:18-11:50 +48 N348JB - -\nf194 2532 LAX-SLC 09:30-11:21 134 A320 open ? - 09:30-11:21 +0 N639JB - -\nf195 272 FLL-LGA 09:35-12:29 132 A320 open ? - 09:35-12:29 +0 N793JB - -\nf196 1245 BOS-CLT 09:35-12:07 89 E190 open ? - 09:35-12:07 +0 N281JB - -\nf197 1602 JFK-BUF 09:35-10:59 73 E190 open ? - 09:35-10:59 +0 N238JB - -\nf198 1371 LGA-FLL 09:37-12:47 145 A320 open ? - 09:37-12:47 +0 N564JB - -\nf199 2033 BOS-IAH 09:40-14:09 127 A220 open ? - 09:40-14:09 +0 N3113J - -\nf200 2421 BOS-PBI 09:40-13:00 184 A321 open ? - 09:40-13:00 +0 N974JT - -\nf201 90 SAN-JFK 09:45-14:58 137 A321P open ? - 09:45-14:58 +0 N943JT - -\nf202 219 JFK-DTW 09:45-11:44 75 E190 open ? - 09:45-11:44 +0 N258JB - -\nf203 2087 LGA-BNA 09:45-12:17 63 E190 open ? - 09:45-12:17 +0 N193JB - -\nf204 426 TPA-JFK 09:47-12:30 139 A320 open ? - 09:47-12:30 +0 N552JB - -\nf205 906 ORD-JFK 09:48-12:00 72 E190 open ? - 09:48-12:00 +0 N206JB - -\nf206 154 PBI-JFK 09:49-12:30 125 A320 open ? - 09:49-12:30 +0 N503JB - -\nf207 1604 SJU-JFK 09:49-13:50 160 A321 open ? - 09:49-13:50 +0 N995JL - -\nf208 678 JAX-JFK 09:50-12:00 138 A320 open ? - 09:50-12:00 +0 N558JB - -\nf209 1091 FLL-BQN 09:50-12:15 146 A320 open ? - 09:50-12:15 +0 N526JL - -\nf210 484 RDU-BOS 09:54-11:51 119 A320 open ? - 09:54-11:51 +0 N633JB - -\nf211 599 LGA-MCO 09:55-12:57 143 A320 open ? - 09:55-12:57 +0 N535JB - -\nf212 969 RIC-MCO 09:55-12:03 143 A320 open ? - 09:55-12:03 +0 N661JB - -\nf213 1584 MCO-JFK 09:55-12:30 135 A320 open ? - 09:55-12:30 +0 N632JB - -\nf214 360 PHL-BOS 09:57-11:10 64 E190 open ? - 09:57-11:10 +0 N324JB - -\nf215 2401 LGA-CHS 09:57-12:15 108 A320 open ? - 09:57-12:15 +0 N657JB - -\nf216 1529 JFK-RSW 09:59-13:12 141 A320 open ? - 09:59-13:12 +0 N607JB - -\nf217 2593 JFK-MIA 09:59-13:05 141 A320 open ? - 09:59-13:05 +0 N624JB - -\nf218 127 EWR-MCO 10:00-13:06 150 A320 open ? - 10:00-13:06 +0 N804JB - -\nf219 523 JFK-LAX 10:00-16:15 141 A321P open ? - 10:00-16:15 +0 N944JT - -\nf220 631 BOS-LGA 10:00-11:16 48 E190 open ? - 10:00-11:16 +0 N229JB - -\nf221 880 LAX-LAS 10:00-11:06 114 A320 open ? - 10:00-11:06 +0 N760JB - -\nf222 1655 BOS-DCA 10:00-11:38 68 E190 open ? - 10:00-11:38 +0 N304JB - -\nf223 1774 LAX-EWR 10:00-15:15 139 A321P open ? - 10:00-15:15 +0 N2142J - -\nf224 2433 DCA-PBI 10:00-12:37 130 A320 open ? - 10:00-12:37 +0 N629JB - -\nf225 2592 MIA-JFK 10:00-12:59 121 A320 open ? - 10:00-12:59 +0 N547JB - -\nf226 315 SYR-JFK 10:03-11:10 81 E190 open ? - 10:03-11:10 +0 N239JB - -\nf227 224 LAX-JFK 10:05-15:30 142 A321P open ? - 10:05-15:30 +0 N945JT - -\nf228 1860 RSW-LGA 10:05-12:59 118 A320 open ? - 10:05-12:59 +0 N563JB - -\nf229 406 FLL-EWR 10:06-13:08 131 A320 open ? - 10:06-13:08 +0 N623JB - -\nf230 176 MSY-JFK 10:12-12:59 142 A320 open ? - 10:12-12:59 +0 N531JL - -\nf231 532 LGA-BOS 10:15-11:30 47 E190 open ? - 10:15-11:30 +0 N368JB - -\nf232 2324 MCO-DCA 10:15-12:23 81 E190 open ? - 10:15-12:23 +0 N358JB - -\nf233 2725 JFK-TPA 10:15-13:15 146 A320 open ? - 10:15-13:15 +0 N594JB - -\nf234 1940 SRQ-BOS 10:16-13:30 135 A320 open ? - 11:11-14:25 +55 N517JB - -\nf235 698 MCO-LGA 10:19-12:59 159 A321 open ? - 10:19-12:59 +0 N949JT - -\nf236 526 BWI-BOS 10:25-11:49 61 E190 open ? - 10:25-11:49 +0 N339JB - -\nf237 1052 MCO-BOS 10:25-13:24 152 A321 open ? - 10:27-13:26 +2 N948JB - -\nf238 1833 BOS-SFO 10:25-17:25 137 A321P open ? - 10:25-17:25 +0 N988JT - -\nf239 2040 CLE-BOS 10:25-12:07 66 E190 open ? - 10:25-12:07 +0 N334JB - -\nf240 2201 JFK-FLL 10:25-13:29 183 A321 open ? - 10:25-13:29 +0 N965JT - -\nf241 2528 MCO-EWR 10:27-13:09 173 A321 open ? - 10:53-13:35 +26 N913JB - -\nf242 218 JFK-BOS 10:29-11:37 63 E190 open ? - 10:29-11:37 +0 N198JB - -\nf243 1167 HPN-PBI 10:29-13:30 89 E190 open ? - 10:29-13:30 +0 N247JB - -\nf244 215 BOS-DFW 10:30-15:04 137 A320 open ? - 10:30-15:04 +0 N521JB - -\nf245 288 LAX-BOS 10:30-15:59 138 A321P open ? - 10:30-15:59 +0 N976JT - -\nf246 387 BOS-LAX 10:30-17:02 139 A321P open ? - 10:30-17:02 +0 N984JB - -\nf247 654 DCA-BOS 10:30-12:00 69 E190 open ? - 11:14-12:44 +44 N328JB - -\nf248 1806 BNA-BOS 10:30-12:55 110 A220 open ? - 10:30-12:55 +0 N3008J - -\nf249 2903 JFK-SJU 10:30-14:21 147 A320 open ? - 10:30-14:21 +0 N805JB - -\nf250 682 RSW-DCA 10:36-13:00 102 A320 open ? - 10:36-13:00 +0 N796JB - -\nf251 725 JFK-SAT 10:40-15:01 139 A320 open ? - 10:40-15:01 +0 N516JB - -\nf252 1410 JAX-BOS 10:40-13:15 120 A220 open ? - 10:40-13:15 +0 N3102J - -\nf253 205 EWR-FLL 10:41-13:59 150 A320 open ? - 10:41-13:59 +0 N590JB - -\nf254 2283 BOS-RDU 10:41-12:52 111 A220 open ? - 10:41-12:52 +0 N3044J - -\nf255 538 BQN-JFK 10:43-14:33 163 A321 open ? - 10:43-14:33 +0 N2029J - -\nf256 1552 RSW-HPN 10:45-13:37 142 A320 open ? - 10:45-13:37 +0 N566JB - -\nf257 2577 BOS-LAS 10:45-16:53 126 A320 open ? - 10:45-16:53 +0 N583JB - -\nf258 1553 FLL-SJU 10:46-13:23 136 A320 open ? - 10:46-13:23 +0 N649JB - -\nf259 1137 BOS-DTW 10:49-13:05 81 E190 open ? - 10:49-13:05 +0 N267JB - -\nf260 1459 BDL-FLL 10:49-14:04 147 A320 open ? - 10:49-14:04 +0 N645JB - -\nf261 2584 MCO-JFK 10:50-13:25 135 A320 open ? - 10:50-13:25 +0 N653JB - -\nf262 94 MCO-HPN 10:51-13:29 86 E190 open ? - 10:51-13:29 +0 N329JB - -\nf263 1248 TPA-LGA 10:54-13:30 139 A320 open ? - 10:54-13:30 +0 N625JB - -\nf264 680 MKE-JFK 10:55-12:59 83 A220 open ? - 10:55-12:59 +0 N3112J - -\nf265 1182 RIC-BOS 10:55-12:28 72 E190 open ? - 10:55-12:28 +0 N190JB - -\nf266 1633 BTV-JFK 10:56-12:17 76 E190 open ? - 10:56-12:17 +0 N317JB - -\nf267 2474 CHS-JFK 10:57-12:49 111 A320 open ? - 10:57-12:49 +0 N746JB - -\nf268 871 JFK-SLC 10:59-16:17 145 A320 open ? - 10:59-16:17 +0 N637JB - -\nf269 1942 LGA-DEN 10:59-15:30 122 A320 open ? - 10:59-15:30 +0 N648JB - -\nf270 340 JAX-LGA 11:00-13:14 82 E190 open ? - 11:00-13:14 +0 N307JB - -\nf271 435 STT-SJU 11:00-11:40 95 A320 open ? - 11:00-11:40 +0 N509JB - -\nf272 591 BOS-TPA 11:00-14:28 129 A220 open ? - 11:00-14:28 +0 N3065J - -\nf273 1268 LAX-BDL 11:00-16:21 127 A320 open ? - 11:00-16:21 +0 N638JB - -\nf274 1755 BOS-DCA 11:00-12:34 68 E190 open ? - 11:00-12:34 +0 N203JB - -\nf275 2031 BOS-LGA 11:00-12:15 48 E190 open ? - 11:00-12:15 +0 N192JB - -\nf276 2051 BOS-MCO 11:00-14:14 175 A321 open ? - 11:00-14:14 +0 N994JL - -\nf277 1141 BDL-PBI 11:05-14:14 145 A320 open ? - 11:05-14:14 +0 N709JB - -\nf278 186 JFK-ROC 11:10-12:34 80 E190 open ? - 11:10-12:34 +0 N183JB - -\nf279 62 PBI-LGA 11:11-14:00 128 A320 open ? - 11:11-14:00 +0 N579JB - -\nf280 632 LGA-BOS 11:15-12:27 47 E190 open ? - 11:15-12:27 +0 N273JB - -\nf281 2222 MCI-JFK 11:15-14:07 98 A220 open ? - 11:15-14:07 +0 N3085J - -\nf282 400 MSY-BOS 11:17-14:30 127 A320 open ? - 11:17-14:30 +0 N523JB - -\nf283 1130 FLL-CHS 11:18-12:59 111 A320 open ? - 11:18-12:59 +0 N562JB - -\nf284 520 ATL-JFK 11:19-13:30 87 E190 open ? - 11:19-13:30 +0 N323JB - -\nf285 1334 SJU-MCO 11:19-14:28 165 A321 open ? - 11:19-14:28 +0 N2059J - -\nf286 2086 MIA-BDL 11:19-14:30 129 A320 open ? - 11:19-14:30 +0 N565JB - -\nf287 111 JFK-LAS 11:20-17:05 168 A321 open ? - 11:20-17:05 +0 N2084J - -\nf288 349 BOS-SAV 11:20-14:08 90 E190 open ? - 11:20-14:08 +0 N197JB - -\nf289 2594 MIA-EWR 11:22-14:33 132 A320 open ? - 11:22-14:33 +0 N794JB - -\nf290 1700 LAX-FLL 11:24-16:20 150 A321P open ? - 11:24-16:20 +0 N977JE - -\nf291 271 LGA-FLL 11:25-14:35 145 A320 open ? - 11:25-14:35 +0 N593JB - -\nf292 2269 BOS-FLL 11:25-14:56 138 A320 open ? - 11:25-14:56 +0 N584JB - -\nf293 2786 RDU-JFK 11:25-12:59 80 E190 open ? - 11:25-12:59 +0 N373JB - -\nf294 2066 RSW-BOS 11:27-14:35 115 A320 open ? - 11:32-14:40 +5 N520JB - -\nf295 2020 FLL-ORH 11:28-14:30 118 A320 open ? - 11:28-14:30 +0 N663JB - -\nf296 70 FLL-BOS 11:30-14:46 154 A321 open ? - 11:30-14:46 +0 N2047J - -\nf297 372 FLL-LGA 11:30-14:26 132 A320 open ? - 11:30-14:26 +0 N598JB - -\nf298 554 DCA-BOS 11:30-13:01 69 E190 open ? - 12:13-13:44 +43 N304JB - -\nf299 595 HPN-MCO 11:30-14:27 145 A320 open ? - 11:30-14:27 +0 N655JB - -\nf300 892 TPA-BOS 11:30-14:27 174 A321 open ? - 11:30-14:27 +0 N970JB - -\nf301 180 EWR-BOS 11:32-12:46 48 E190 open ? - 11:32-12:46 +0 N179JB - -\nf302 895 EWR-MCO 11:34-14:35 93 E190 open ? - 11:34-14:35 +0 N216JB - -\nf303 1901 BUF-JFK 11:34-12:55 75 E190 open ? - 11:34-12:55 +0 N238JB - -\nf304 144 PBI-EWR 11:40-14:35 123 A320 open ? - 11:40-14:35 +0 N712JB - -\nf305 2286 PIT-BOS 11:40-13:10 85 A220 open ? - 11:40-13:10 +0 N3077J - -\nf306 1074 BNA-JFK 11:41-14:00 65 E190 open ? - 11:41-14:00 +0 N184JB - -\nf307 118 MSP-JFK 11:43-14:30 74 E190 open ? - 11:43-14:30 +0 N351JB - -\nf308 522 PBI-BOS 11:43-14:50 79 E190 open ? - 11:43-14:50 +0 N284JB - -\nf309 1433 MCO-SJU 11:47-14:40 150 A320 open ? - 11:47-14:40 +0 N708JB - -\nf310 879 LAS-LAX 11:53-13:09 99 A320 open ? - 11:53-13:09 +0 N760JB - -\nf311 2116 SFO-JFK 11:55-17:19 137 A321P open ? - 11:55-17:19 +0 N985JT - -\nf312 1287 PVD-PBI 11:58-15:08 95 E190 open ? - 11:58-15:08 +0 N355JB - -\nf313 83 JFK-MCO 11:59-14:53 145 A320 open ? - 11:59-14:53 +0 N588JB - -\nf314 579 DCA-FLL 12:00-14:42 138 A320 open ? - 12:00-14:42 +0 N834JB - -\nf315 731 BOS-LGA 12:00-13:14 48 E190 open ? - 12:00-13:14 +0 N249JB - -\nf316 1855 BOS-DCA 12:00-13:45 68 E190 open ? - 12:00-13:45 +0 N353JB - -\nf317 2223 JFK-LAX 12:00-18:15 141 A321P open ? - 12:00-18:15 +0 N981JT - -\nf318 1853 JFK-PBI 12:02-14:58 182 A321 open ? - 12:02-14:58 +0 N2048J - -\nf319 2602 JFK-BUF 12:05-13:23 73 E190 open ? - 12:05-13:23 +0 N239JB - -\nf320 165 BOS-RSW 12:10-15:48 181 A321 open ? - 12:10-15:48 +0 N966JT - -\nf321 2531 SLC-LAX 12:10-14:05 128 A320 open ? - 12:10-14:05 +0 N639JB - -\nf322 1054 PBI-JFK 12:11-14:56 77 E190 open ? - 12:11-14:56 +0 N346JB - -\nf323 732 LGA-BOS 12:15-13:27 47 E190 open ? - 12:15-13:27 +0 N229JB - -\nf324 1217 BOS-JFK 12:15-13:30 67 E190 open ? - 12:15-13:30 +0 N274JB - -\nf325 276 SJU-BDL 12:16-16:18 125 A320 open ? - 12:16-16:18 +0 N595JB - -\nf326 220 DTW-JFK 12:19-14:02 74 E190 open ? - 12:19-14:02 +0 N258JB - -\nf327 896 ATL-BOS 12:21-14:52 76 E190 open ? - 12:21-14:52 +0 N337JB - -\nf328 511 FLL-AUS 12:25-15:27 130 A320 open ? - 12:25-15:27 +0 N505JB - -\nf329 737 BDL-MCO 12:25-15:26 141 A320 open ? - 12:25-15:26 +0 N809JB - -\nf330 1314 MCO-JFK 12:27-15:00 135 A320 open ? - 12:27-15:00 +0 N554JB - -\nf331 1680 FLL-DCA 12:29-14:59 120 A320 open ? - 12:29-14:59 +0 N630JB - -\nf332 2748 SAV-LGA 12:29-14:32 72 E190 open ? - 12:29-14:32 +0 N265JB - -\nf333 353 FLL-SJU 12:30-15:01 136 A320 open ? - 12:30-15:01 +0 N779JB - -\nf334 1068 PBI-HPN 12:30-15:24 78 E190 open ? - 12:30-15:24 +0 N283JB - -\nf335 1534 TPA-BDL 12:30-15:15 150 A320 open ? - 12:30-15:15 +0 N634JB - -\nf336 2254 DCA-BOS 12:30-13:58 69 E190 open ? - 12:58-14:26 +28 N358JB - -\nf337 1138 AUS-BOS 12:35-16:20 123 A220 open ? - 12:35-16:20 +0 N3104J - -\nf338 1497 JFK-DEN 12:35-16:52 137 A320 open ? - 12:35-16:52 +0 N627JB - -\nf339 818 JFK-BOS 12:37-13:43 63 E190 open ? - 12:37-13:43 +0 N206JB - -\nf340 1246 CLT-BOS 12:42-14:55 88 E190 open ? - 12:42-14:55 +0 N281JB - -\nf341 1923 DCA-MCO 12:42-15:08 144 A320 open ? - 12:42-15:08 +0 N807JB - -\nf342 2520 MSY-LGA 12:43-15:39 140 A320 open ? - 12:43-15:39 +0 N705JB - -\nf343 602 FLL-JFK 12:45-15:34 168 A321 open ? - 12:45-15:34 +0 N957JB - -\nf344 2064 EYW-BOS 12:47-16:08 77 A220 open ? - 12:47-16:08 +0 N3058J - -\nf345 759 BOS-PHL 12:50-14:28 71 E190 open ? - 12:50-14:28 +0 N324JB - -\nf346 1220 MIA-BOS 12:50-16:09 160 A321 open ? - 12:50-16:09 +0 N997JL - -\nf347 1439 BOS-AUS 12:50-17:32 119 A320 open ? - 12:50-17:32 +0 N633JB - -\nf348 2156 DEN-LGA 12:51-16:30 124 A320 open ? - 12:51-16:30 +0 N656JB - -\nf349 324 LAX-JFK 12:54-18:12 142 A321P open ? - 12:54-18:12 +0 N968JT - -\nf350 781 BOS-RIC 12:54-14:44 76 E190 open ? - 12:54-14:44 +0 N368JB - -\nf351 904 SJU-JFK 12:55-17:00 160 A321 open ? - 12:55-17:00 +0 N905JB - -\nf352 105 JFK-ORD 13:00-15:45 68 E190 open ? - 13:00-15:45 +0 N317JB - -\nf353 125 JFK-TPA 13:00-15:59 146 A320 open ? - 13:00-15:59 +0 N571JB - -\nf354 1055 BOS-DCA 13:00-14:47 68 E190 open ? - 13:00-14:47 +0 N198JB - -\nf355 1470 CHS-LGA 13:00-15:14 88 A320 open ? - 13:00-15:14 +0 N657JB - -\nf356 1601 JFK-FLL 13:00-16:08 183 A321 open ? - 13:00-16:08 +0 N998JE - -\nf357 1881 JFK-IAH 13:00-17:06 141 A320 open ? - 13:00-17:06 +0 N592JB - -\nf358 2128 BQN-MCO 13:00-15:57 125 A320 open ? - 13:00-15:57 +0 N526JL - -\nf359 2231 BOS-LGA 13:00-14:16 48 E190 open ? - 13:00-14:16 +0 N339JB - -\nf360 2993 JFK-MIA 13:00-16:09 141 A320 open ? - 13:00-16:09 +0 N510JB - -\nf361 82 IAH-JFK 13:05-16:35 139 A320 open ? - 13:05-16:35 +0 N568JB - -\nf362 835 BOS-MSP 13:05-16:32 85 E190 open ? - 13:05-16:32 +0 N348JB - -\nf363 462 SJU-BOS 13:07-17:22 168 A321 open ? - 13:07-17:22 +0 N996JL - -\nf364 2088 BNA-LGA 13:07-15:30 58 E190 open ? - 13:07-15:30 +0 N193JB - -\nf365 2981 DCA-PBI 13:09-15:45 80 E190 open ? - 13:09-15:45 +0 N203JB - -\nf366 485 ROC-JFK 13:10-14:29 80 E190 open ? - 13:10-14:29 +0 N183JB - -\nf367 46 LGA-TPA 13:14-16:19 141 A320 open ? - 13:14-16:19 +0 N793JB - -\nf368 1754 SJU-FLL 13:14-16:04 126 A320 open ? - 13:14-16:04 +0 N509JB - -\nf369 1531 MCO-BQN 13:15-15:57 135 A320 open ? - 13:15-15:57 +0 N587JB - -\nf370 2232 LGA-BOS 13:15-14:29 47 E190 open ? - 13:15-14:29 +0 N192JB - -\nf371 2719 JFK-ATL 13:15-15:41 138 A320 open ? - 13:15-15:41 +0 N597JB - -\nf372 1874 LAX-EWR 13:17-18:40 139 A321P open ? - 13:17-18:40 +0 N923JB - -\nf373 1196 FLL-PVD 13:20-16:15 137 A320 open ? - 13:20-16:15 +0 N506JB - -\nf374 2334 PBI-DCA 13:22-15:51 107 A320 open ? - 13:22-15:51 +0 N629JB - -\nf375 784 MCO-JFK 13:24-16:00 84 E190 open ? - 13:24-16:00 +0 N354JB - -\nf376 934 SJU-MCO 13:25-16:33 134 A320 open ? - 13:25-16:33 +0 N768JB - -\nf377 116 JFK-SYR 13:30-14:41 69 E190 open ? - 13:30-14:41 +0 N238JB - -\nf378 120 MCO-ALB 13:30-16:14 145 A320 open ? - 13:30-16:14 +0 N534JB - -\nf379 1515 JFK-SFO 13:30-20:05 132 A321P open ? - 13:30-20:05 +0 N935JB - -\nf380 2454 DCA-BOS 13:30-15:05 69 E190 open ? - 14:20-15:55 +50 N353JB - -\nf381 1372 FLL-LGA 13:32-16:26 132 A320 open ? - 13:32-16:26 +0 N570JB - -\nf382 1483 JFK-MCO 13:35-16:33 145 A320 open ? - 13:35-16:33 +0 N586JB - -\nf383 1673 JFK-BNA 13:35-16:01 66 E190 open ? - 13:35-16:01 +0 N373JB - -\nf384 2036 DTW-BOS 13:40-15:34 73 E190 open ? - 13:40-15:34 +0 N267JB - -\nf385 2184 RDU-BOS 13:40-15:43 111 A220 open ? - 13:40-15:43 +0 N3044J - -\nf386 803 JFK-SJU 13:45-17:33 147 A320 open ? - 13:45-17:33 +0 N569JB - -\nf387 1131 CHS-FLL 13:45-15:17 130 A320 open ? - 13:45-15:17 +0 N562JB - -\nf388 2736 LAX-SFO 13:45-15:13 120 A320 open ? - 13:45-15:13 +0 N537JT - -\nf389 2885 LAX-MIA 13:45-18:41 144 A321P open ? - 13:45-18:41 +0 N990JL - -\nf390 164 SRQ-JFK 13:49-16:34 132 A320 open ? - 13:49-16:34 +0 N658JB - -\nf391 1694 MCO-HPN 13:49-16:29 139 A320 open ? - 13:49-16:29 +0 N661JB - -\nf392 641 BOS-CLE 13:50-15:56 96 A220 open ? - 13:50-15:56 +0 N3008J - -\nf393 1919 LGA-MSY 13:50-17:20 135 A320 open ? - 13:50-17:20 +0 N563JB - -\nf394 2669 LGA-CHS 13:50-16:12 66 E190 open ? - 13:50-16:12 +0 N249JB - -\nf395 23 DCA-MCO 13:55-16:23 144 A320 open ? - 13:55-16:23 +0 N796JB - -\nf396 2601 BUF-JFK 13:58-15:21 75 E190 open ? - 13:58-15:21 +0 N239JB - -\nf397 399 LGA-MCO 13:59-17:01 177 A321 open ? - 13:59-17:01 +0 N949JT - -\nf398 126 TPA-JFK 14:00-16:39 139 A320 open ? - 14:00-16:39 +0 N594JB - -\nf399 620 SAN-BOS 14:00-19:24 146 A321P open ? - 14:00-19:24 +0 N962JT - -\nf400 755 BOS-DCA 14:00-15:44 68 E190 open ? - 14:00-15:44 +0 N334JB - -\nf401 831 BOS-LGA 14:00-15:17 48 E190 open ? - 14:00-15:17 +0 N273JB - -\nf402 334 SFO-BOS 14:01-19:34 133 A321P open ? - 14:01-19:34 +0 N2105J - -\nf403 2392 MIA-JFK 14:01-17:00 121 A320 open ? - 14:01-17:00 +0 N624JB - -\nf404 129 JFK-RSW 14:05-17:16 87 E190 open ? - 14:05-17:16 +0 N274JB - -\nf405 322 PBI-BOS 14:05-17:13 158 A321 open ? - 14:05-17:13 +0 N974JT - -\nf406 727 BOS-BWI 14:05-15:40 91 A220 open ? - 14:05-15:40 +0 N3077J - -\nf407 2330 RSW-JFK 14:05-16:59 132 A320 open ? - 14:05-16:59 +0 N607JB - -\nf408 936 SJU-STT 14:09-14:47 91 A320 open ? - 14:09-14:47 +0 N649JB - -\nf409 134 JFK-BTV 14:10-15:23 77 E190 open ? - 14:10-15:23 +0 N323JB - -\nf410 843 EWR-PBI 14:10-17:14 145 A320 open ? - 14:10-17:14 +0 N618JB - -\nf411 578 SFO-FLL 14:11-19:37 149 A321P open ? - 14:11-19:37 +0 N929JB - -\nf412 393 BOS-DEN 14:15-19:05 116 A220 open ? - 14:15-19:05 +0 N3102J - -\nf413 424 LAX-JFK 14:15-19:35 142 A321P open ? - 14:15-19:35 +0 N946JL - -\nf414 832 LGA-BOS 14:15-15:27 47 E190 open ? - 14:15-15:27 +0 N307JB - -\nf415 2767 HPN-PBI 14:15-17:20 89 E190 open ? - 14:15-17:20 +0 N329JB - -\nf416 128 MCO-EWR 14:20-17:11 140 A320 open ? - 14:20-17:11 +0 N535JB - -\nf417 2215 BOS-BUF 14:20-15:55 81 E190 open ? - 14:20-15:55 +0 N190JB - -\nf418 36 PHX-JFK 14:21-19:00 141 A320 open ? - 14:21-19:00 +0 N652JB - -\nf419 2473 JFK-CHS 14:29-16:39 111 A320 open ? - 14:29-16:39 +0 N621JB - -\nf420 295 JFK-AUS 14:30-18:40 142 A320 open ? - 14:30-18:40 +0 N558JB - -\nf421 913 HPN-FLL 14:30-17:33 121 A320 open ? - 14:30-17:33 +0 N566JB - -\nf422 1566 SAT-BOS 14:30-18:28 126 A220 open ? - 14:30-18:28 +0 N3062J - -\nf423 1902 FLL-JFK 14:30-17:22 168 A321 open ? - 14:30-17:22 +0 N2086J - -\nf424 2554 DCA-BOS 14:30-16:03 69 E190 open ? - 15:22-16:55 +52 N198JB - -\nf425 1019 JFK-DTW 14:39-16:37 75 E190 open ? - 14:39-16:37 +0 N184JB - -\nf426 1388 LAX-BOS 14:40-20:10 137 A321P open ? - 14:40-20:10 +0 N986JB - -\nf427 53 JFK-PBI 14:45-17:41 147 A320 open ? - 14:45-17:41 +0 N503JB - -\nf428 761 LGA-PBI 14:45-17:52 146 A320 open ? - 14:45-17:52 +0 N625JB - -\nf429 802 SLC-MCO 14:45-18:54 150 A320 open ? - 14:45-18:54 +0 N651JB - -\nf430 1527 EWR-MCO 14:47-17:55 186 A321 open ? - 14:47-17:55 +0 N913JB - -\nf431 18 FLL-JAX 14:49-16:08 103 A320 open ? - 14:49-16:08 +0 N564JB - -\nf432 207 BOS-BNA 14:50-17:54 108 A320 open ? - 15:10-18:14 +20 N517JB - -\nf433 383 JFK-MCO 14:50-17:49 179 A321 open ? - 14:50-17:49 +0 N973JT - -\nf434 2698 FLL-BOS 14:50-18:09 125 A320 open ? - 14:50-18:09 +0 N603JB - -\nf435 1098 MCO-LGA 14:53-17:30 129 A320 open ? - 14:53-17:30 +0 N804JB - -\nf436 932 IAH-BOS 14:54-18:44 119 A220 open ? - 14:54-18:44 +0 N3113J - -\nf437 250 SAV-BOS 14:55-17:20 89 E190 open ? - 14:55-17:20 +0 N197JB - -\nf438 623 JFK-LAX 14:59-21:20 141 A321P open ? - 14:59-21:20 +0 N934JB - -\nf439 776 JFK-ORH 14:59-15:58 51 E190 open ? - 14:59-15:58 +0 N258JB - -\nf440 931 BOS-LGA 15:00-16:19 48 E190 open ? - 15:00-16:19 +0 N328JB - -\nf441 1168 PBI-HPN 15:00-17:53 126 A320 open ? - 15:00-17:53 +0 N709JB - -\nf442 1401 JFK-FLL 15:00-18:13 183 A321 open ? - 15:00-18:13 +0 N2044J - -\nf443 1955 BOS-DCA 15:00-16:42 68 E190 open ? - 15:00-16:42 +0 N179JB - -\nf444 221 BOS-PBI 15:02-18:34 184 A321 open ? - 15:02-18:34 +0 N903JB - -\nf445 2339 LGA-JAX 15:05-17:45 135 A320 open ? - 15:05-17:45 +0 N579JB - -\nf446 1990 SJU-EWR 15:06-19:23 142 A320 open ? - 15:06-19:23 +0 N805JB - -\nf447 2160 PHL-BOS 15:13-16:40 64 E190 open ? - 15:13-16:40 +0 N324JB - -\nf448 2424 MCO-DCA 15:14-17:25 132 A320 open ? - 15:14-17:25 +0 N655JB - -\nf449 432 LGA-BOS 15:15-16:28 47 E190 open ? - 15:15-16:28 +0 N339JB - -\nf450 524 LAX-JFK 15:15-20:36 142 A321P open ? - 15:15-20:36 +0 N942JB - -\nf451 592 TPA-BOS 15:15-18:20 122 A220 open ? - 15:15-18:20 +0 N3065J - -\nf452 2119 ORH-FLL 15:15-18:31 137 A320 open ? - 15:15-18:31 +0 N663JB - -\nf453 2331 LGA-SRQ 15:15-18:26 85 E190 open ? - 15:15-18:26 +0 N265JB - -\nf454 1815 SYR-JFK 15:16-16:30 81 E190 open ? - 15:16-16:30 +0 N238JB - -\nf455 1482 RIC-BOS 15:19-17:05 72 E190 open ? - 15:19-17:05 +0 N368JB - -\nf456 416 SFO-JFK 15:20-20:46 137 A321P open ? - 15:20-20:46 +0 N987JT - -\nf457 494 MCO-EWR 15:20-18:10 86 E190 open ? - 15:20-18:10 +0 N216JB - -\nf458 505 EWR-FLL 15:20-18:30 150 A320 open ? - 15:20-18:30 +0 N640JB - -\nf459 1811 EWR-RSW 15:20-18:33 126 A320 open ? - 15:20-18:33 +0 N775JB - -\nf460 37 BDL-MCO 15:25-18:26 141 A320 open ? - 15:25-18:26 +0 N565JB - -\nf461 79 BOS-EWR 15:25-17:08 63 E190 open ? - 15:25-17:08 +0 N229JB - -\nf462 1037 BOS-DTW 15:25-17:45 81 E190 open ? - 15:25-17:45 +0 N206JB - -\nf463 1061 BOS-SJU 15:25-19:27 143 A320 open ? - 15:25-19:27 +0 N523JB - -\nf464 1133 MCO-SJU 15:29-18:19 185 A321 open ? - 15:29-18:19 +0 N994JL - -\nf465 1865 BOS-RSW 15:29-19:04 181 A321 open ? - 15:29-19:04 +0 N2039J - -\nf466 100 LAX-FLL 15:30-20:24 150 A321P open ? - 15:30-20:24 +0 N964JT - -\nf467 679 JFK-MKE 15:30-18:09 88 A220 open ? - 15:30-18:09 +0 N3112J - -\nf468 1191 BOS-TPA 15:30-18:56 138 A320 open ? - 15:30-18:56 +0 N520JB - -\nf469 1254 DCA-BOS 15:30-17:05 69 E190 open ? - 16:19-17:54 +49 N334JB - -\nf470 2052 MCO-BOS 15:30-18:31 152 A321 open ? - 15:30-18:31 +0 N2059J - -\nf471 2221 JFK-MCI 15:30-19:09 96 A220 open ? - 15:30-19:09 +0 N3085J - -\nf472 2902 JFK-BUF 15:30-17:04 73 E190 open ? - 15:30-17:04 +0 N183JB - -\nf473 1135 STT-SJU 15:32-16:13 95 A320 open ? - 15:32-16:13 +0 N649JB - -\nf474 1719 JFK-ATL 15:35-18:14 128 A320 open ? - 15:35-18:14 +0 N552JB - -\nf475 19 BOS-SAN 15:37-22:10 144 A321P open ? - 15:37-22:10 +0 N992JB - -\nf476 472 FLL-LGA 15:40-18:35 132 A320 open ? - 15:40-18:35 +0 N645JB - -\nf477 1745 BOS-CLT 15:40-18:10 89 E190 open ? - 15:40-18:10 +0 N304JB - -\nf478 1518 JFK-BOS 15:44-17:09 63 E190 open ? - 15:44-17:09 +0 N351JB - -\nf479 1733 DCA-PBI 15:45-18:20 130 A320 open ? - 15:45-18:20 +0 N630JB - -\nf480 2884 MCO-JFK 15:45-18:20 135 A320 open ? - 15:45-18:20 +0 N588JB - -\nf481 697 BOS-ATL 15:50-19:03 77 E190 open ? - 15:50-19:03 +0 N358JB - -\nf482 190 SAN-JFK 15:55-21:07 172 A321 open ? - 15:55-21:07 +0 N972JT - -\nf483 1214 DFW-BOS 15:55-19:33 123 A320 open ? - 15:55-19:33 +0 N521JB - -\nf484 2251 BOS-MCO 15:55-19:11 175 A321 open ? - 15:55-19:11 +0 N948JB - -\nf485 2469 BOS-FLL 15:55-19:25 184 A321 open ? - 15:55-19:25 +0 N970JB - -\nf486 535 SFO-LAX 15:58-17:24 129 A320 open ? - 15:58-17:24 +0 N537JT - -\nf487 371 LGA-FLL 15:59-19:10 145 A320 open ? - 15:59-19:10 +0 N598JB - -\nf488 495 HPN-MCO 15:59-18:56 90 E190 open ? - 15:59-18:56 +0 N283JB - -\nf489 883 JFK-MCO 15:59-19:02 89 E190 open ? - 15:59-19:02 +0 N346JB - -\nf490 1677 JFK-JAX 15:59-18:38 141 A320 open ? - 15:59-18:38 +0 N632JB - -\nf491 2901 JFK-FLL 15:59-19:15 183 A321 open ? - 15:59-19:15 +0 N950JT - -\nf492 1031 BOS-LGA 16:00-17:17 48 E190 open ? - 16:00-17:17 +0 N192JB - -\nf493 1355 BOS-DCA 16:00-17:41 68 E190 open ? - 16:00-17:41 +0 N284JB - -\nf494 1475 BDL-SJU 16:00-19:49 143 A320 open ? - 16:00-19:49 +0 N634JB - -\nf495 433 BTV-JFK 16:05-17:30 76 E190 open ? - 16:05-17:30 +0 N323JB - -\nf496 448 LAS-JFK 16:06-21:00 129 A321P open ? - 16:06-21:00 +0 N980JT - -\nf497 1826 SAT-JFK 16:10-20:00 150 A320 open ? - 16:10-20:00 +0 N516JB - -\nf498 1962 PBI-LGA 16:10-19:04 79 E190 open ? - 16:10-19:04 +0 N247JB - -\nf499 54 PBI-JFK 16:11-19:00 154 A321 open ? - 16:11-19:00 +0 N2048J - -\nf500 656 MCO-SYR 16:14-18:55 142 A320 open ? - 16:14-18:55 +0 N807JB - -\nf501 512 AUS-FLL 16:15-18:52 148 A320 open ? - 16:15-18:52 +0 N505JB - -\nf502 1032 LGA-BOS 16:15-17:31 47 E190 open ? - 16:15-17:31 +0 N273JB - -\nf503 2070 FLL-BOS 16:15-19:28 116 A320 open ? - 16:15-19:28 +0 N593JB - -\nf504 2259 BOS-PHL 16:20-18:00 71 E190 open ? - 16:20-18:00 +0 N337JB - -\nf505 153 DEN-LGA 16:23-20:00 124 A320 open ? - 16:23-20:00 +0 N648JB - -\nf506 1026 BWI-BOS 16:25-17:55 86 A220 open ? - 16:25-17:55 +0 N3077J - -\nf507 2187 LGA-BNA 16:25-18:57 102 A320 open ? - 16:25-18:57 +0 N657JB - -\nf508 2582 PBI-DCA 16:25-18:44 66 E190 open ? - 16:25-18:44 +0 N355JB - -\nf509 720 ATL-JFK 16:26-18:40 140 A320 open ? - 16:26-18:40 +0 N597JB - -\nf510 341 JFK-SAV 16:29-18:49 84 E190 open ? - 16:29-18:49 +0 N239JB - -\nf511 2073 EWR-LAX 16:29-22:44 136 A321P open ? - 16:29-22:44 +0 N2142J - -\nf512 1961 LGA-PBI 16:30-19:32 90 E190 open ? - 16:30-19:32 +0 N193JB - -\nf513 2654 DCA-BOS 16:30-18:06 69 E190 open ? - 17:17-18:53 +47 N179JB - -\nf514 1374 LAX-EWR 16:31-21:54 139 A321P open ? - 16:31-21:54 +0 N937JB - -\nf515 615 JFK-SFO 16:32-23:03 132 A321P open ? - 16:32-23:03 +0 N969JT - -\nf516 267 BOS-CHS 16:35-19:09 91 E190 open ? - 16:35-19:09 +0 N281JB - -\nf517 1579 DCA-FLL 16:37-19:18 138 A320 open ? - 16:37-19:18 +0 N629JB - -\nf518 888 LAX-BOS 16:38-22:03 137 A321P open ? - 16:38-22:03 +0 N961JT - -\nf519 1423 FLL-MSY 16:40-18:52 109 A320 open ? - 16:40-18:52 +0 N584JB - -\nf520 1674 BNA-JFK 16:40-19:00 65 E190 open ? - 16:40-19:00 +0 N373JB - -\nf521 2016 BUF-BOS 16:40-18:14 75 E190 open ? - 16:40-18:14 +0 N190JB - -\nf522 2783 BOS-RDU 16:40-18:53 111 A220 open ? - 16:40-18:53 +0 N3044J - -\nf523 1106 ORD-JFK 16:43-18:59 72 E190 open ? - 16:43-18:59 +0 N317JB - -\nf524 640 CLE-BOS 16:45-18:32 93 A220 open ? - 16:45-18:32 +0 N3008J - -\nf525 24 MCO-DCA 16:48-18:59 132 A320 open ? - 16:48-18:59 +0 N809JB - -\nf526 166 RSW-BOS 16:50-19:58 154 A321 open ? - 16:50-19:58 +0 N966JT - -\nf527 2670 CHS-LGA 16:50-18:53 55 E190 open ? - 16:50-18:53 +0 N249JB - -\nf528 2826 TPA-JFK 16:51-19:30 139 A320 open ? - 16:51-19:30 +0 N571JB - -\nf529 17 JAX-FLL 16:53-18:11 124 A320 open ? - 16:53-18:11 +0 N564JB - -\nf530 51 BOS-MCO 16:59-20:22 175 A321 open ? - 16:59-20:22 +0 N2047J - -\nf531 359 JFK-BUR 16:59-23:19 129 A320 open ? - 16:59-23:19 +0 N746JB - -\nf532 1185 JFK-RDU 16:59-18:52 74 E190 open ? - 16:59-18:52 +0 N354JB - -\nf533 1271 ORH-JFK 16:59-18:00 61 E190 open ? - 16:59-18:00 +0 N258JB - -\nf534 624 LAX-JFK 17:00-22:16 142 A321P open ? - 17:00-22:16 +0 N983JT - -\nf535 1231 BOS-LGA 17:00-18:18 48 E190 open ? - 17:00-18:18 +0 N307JB - -\nf536 2055 BOS-DCA 17:00-18:50 68 E190 open ? - 17:00-18:50 +0 N267JB - -\nf537 714 FLL-HPN 17:04-19:59 100 A320 open ? - 17:04-19:59 +0 N562JB - -\nf538 2810 TPA-LGA 17:04-19:44 139 A320 open ? - 17:04-19:44 +0 N793JB - -\nf539 119 ALB-MCO 17:05-20:14 144 A320 open ? - 17:05-20:14 +0 N534JB - -\nf540 1092 BQN-FLL 17:05-19:41 117 A320 open ? - 17:05-19:41 +0 N587JB - -\nf541 1289 EWR-SJU 17:05-21:03 150 A320 open ? - 17:05-21:03 +0 N623JB - -\nf542 1734 SFO-BOS 17:05-22:42 133 A321P open ? - 17:05-22:42 +0 N993JE - -\nf543 1348 SJU-DCA 17:08-21:02 128 A320 open ? - 17:08-21:02 +0 N599JB - -\nf544 30 MCO-BQN 17:10-19:52 135 A320 open ? - 17:10-19:52 +0 N526JL - -\nf545 811 BOS-ORD 17:10-20:11 111 A220 open ? - 17:10-20:11 +0 N3058J - -\nf546 1197 PVD-FLL 17:10-20:29 137 A320 open ? - 17:10-20:29 +0 N506JB - -\nf547 1729 JFK-RSW 17:10-20:12 141 A320 open ? - 17:10-20:12 +0 N531JL - -\nf548 872 SLC-JFK 17:11-21:30 132 A320 open ? - 17:11-21:30 +0 N637JB - -\nf549 968 PBI-HPN 17:13-20:00 78 E190 open ? - 17:13-20:00 +0 N203JB - -\nf550 1120 DTW-JFK 17:13-18:59 74 E190 open ? - 17:13-18:59 +0 N184JB - -\nf551 1586 MCO-BUF 17:14-19:50 131 A320 open ? - 17:14-19:50 +0 N796JB - -\nf552 606 FLL-EWR 17:15-20:24 131 A320 open ? - 17:15-20:24 +0 N644JB - -\nf553 1132 LGA-BOS 17:15-18:29 47 E190 open ? - 17:15-18:29 +0 N328JB - -\nf554 1799 LGA-MCO 17:15-20:18 143 A320 open ? - 17:15-20:18 +0 N705JB - -\nf555 67 BDL-LAX 17:20-23:26 111 A320 open ? - 17:20-23:26 +0 N595JB - -\nf556 187 BOS-LAX 17:20-23:55 140 A321P open ? - 17:20-23:55 +0 N967JT - -\nf557 836 MSP-BOS 17:20-20:08 69 E190 open ? - 17:20-20:08 +0 N348JB - -\nf558 1033 MCO-SJU 17:20-20:12 150 A320 open ? - 17:20-20:12 +0 N586JB - -\nf559 2093 JFK-MIA 17:20-20:34 141 A320 open ? - 17:20-20:34 +0 N653JB - -\nf560 2030 SJU-JFK 17:24-21:30 130 A320 open ? - 17:24-21:30 +0 N649JB - -\nf561 2185 BOS-PIT 17:25-19:19 64 E190 open ? - 17:25-19:19 +0 N353JB - -\nf562 135 JFK-PHX 17:29-22:59 129 A320 open ? - 17:29-22:59 +0 N554JB - -\nf563 263 JFK-SEA 17:29-23:49 118 A321P open ? - 17:29-23:49 +0 N978JB - -\nf564 2053 JFK-PBI 17:29-20:22 147 A320 open ? - 17:29-20:22 +0 N784JB - -\nf565 2715 JFK-LAX 17:29-23:46 141 A321P open ? - 17:29-23:46 +0 N943JT - -\nf566 47 LGA-TPA 17:30-20:36 141 A320 open ? - 17:30-20:36 +0 N570JB - -\nf567 101 FLL-LAX 17:30-23:25 142 A321P open ? - 17:30-23:25 +0 N977JE - -\nf568 1354 DCA-BOS 17:30-19:05 69 E190 open ? - 18:16-19:51 +46 N284JB - -\nf569 2892 MIA-JFK 17:30-20:30 121 A320 open ? - 17:30-20:30 +0 N510JB - -\nf570 1189 JFK-SAN 17:32-23:40 157 A321 open ? - 17:32-23:40 +0 N995JL - -\nf571 1274 CHS-JFK 17:34-19:30 120 A320 open ? - 17:34-19:30 +0 N621JB - -\nf572 1798 MCO-LGA 17:34-20:15 129 A320 open ? - 17:34-20:15 +0 N768JB - -\nf573 1281 BOS-RIC 17:35-19:29 106 A220 open ? - 17:35-19:29 +0 N3104J - -\nf574 616 SFO-JFK 17:39-23:00 137 A321P open ? - 17:39-23:00 +0 N982JB - -\nf575 1498 DEN-JFK 17:42-21:20 127 A320 open ? - 17:42-21:20 +0 N627JB - -\nf576 178 LAS-BOS 17:45-22:42 124 A320 open ? - 17:45-22:42 +0 N583JB - -\nf577 2680 EWR-BOS 17:45-19:14 48 E190 open ? - 17:45-19:14 +0 N229JB - -\nf578 1453 FLL-SJU 17:48-20:19 136 A320 open ? - 17:48-20:19 +0 N509JB - -\nf579 301 BUF-JFK 17:49-19:16 75 E190 open ? - 17:49-19:16 +0 N183JB - -\nf580 777 BOS-LAS 17:49-00:04+1 168 A321 open ? - 17:49-00:04+1 +0 N997JL - -\nf581 1294 MCO-HPN 17:53-20:30 86 E190 open ? - 17:53-20:30 +0 N228JB - -\nf582 419 JFK-ATL 17:59-20:35 138 A320 open ? - 17:59-20:35 +0 N658JB - -\nf583 1186 JFK-ROC 17:59-19:24 80 E190 open ? - 17:59-19:24 +0 N238JB - -\nf584 2825 JFK-TPA 17:59-21:01 146 A320 open ? - 17:59-21:01 +0 N568JB - -\nf585 1331 BOS-LGA 18:00-19:21 48 E190 open ? - 18:00-19:21 +0 N339JB - -\nf586 1524 LAX-JFK 18:00-23:11 142 A321P open ? - 18:00-23:11 +0 N947JB - -\nf587 2255 BOS-DCA 18:00-19:46 68 E190 open ? - 18:00-19:46 +0 N324JB - -\nf588 1882 IAH-JFK 18:01-21:30 139 A320 open ? - 18:01-21:30 +0 N592JB - -\nf589 33 BOS-SFO 18:05-00:57+1 137 A321P open ? - 18:05-00:57+1 +0 N989JT - -\nf590 1920 MSY-LGA 18:05-20:57 140 A320 open ? - 18:05-20:57 +0 N563JB - -\nf591 130 RSW-JFK 18:07-21:00 81 E190 open ? - 18:07-21:00 +0 N274JB - -\nf592 1262 PBI-LGA 18:10-21:00 128 A320 open ? - 18:10-21:00 +0 N618JB - -\nf593 1849 JFK-PSP 18:10-00:07+1 116 A320 open ? - 18:10-00:07+1 +0 N594JB - -\nf594 1979 DCA-FLL 18:10-20:50 138 A320 open ? - 18:10-20:50 +0 N655JB - -\nf595 148 LAS-JFK 18:15-23:06 163 A321 open ? - 18:15-23:06 +0 N2084J - -\nf596 699 LGA-MCO 18:15-21:18 143 A320 open ? - 18:15-21:18 +0 N656JB - -\nf597 1152 MCO-BOS 18:15-21:14 152 A321 open ? - 18:15-21:14 +0 N949JT - -\nf598 1232 LGA-BOS 18:15-19:29 47 E190 open ? - 18:15-19:29 +0 N192JB - -\nf599 1880 FLL-DCA 18:15-20:40 120 A320 open ? - 18:15-20:40 +0 N580JB - -\nf600 1103 BDL-RSW 18:18-21:36 136 A320 open ? - 18:18-21:36 +0 N638JB - -\nf601 2202 FLL-JFK 18:18-21:09 136 A320 open ? - 18:18-21:09 +0 N566JB - -\nf602 188 LAX-BOS 18:20-23:44 137 A321P open ? - 18:20-23:44 +0 N944JT - -\nf603 451 BOS-MCO 18:20-21:45 175 A321 open ? - 18:20-21:45 +0 N974JT - -\nf604 1136 DTW-BOS 18:20-20:13 73 E190 open ? - 18:20-20:13 +0 N206JB - -\nf605 1238 AUS-BOS 18:20-22:14 132 A320 open ? - 18:20-22:14 +0 N633JB - -\nf606 369 BOS-FLL 18:25-21:57 184 A321 open ? - 18:25-21:57 +0 N996JL - -\nf607 2404 SJU-JFK 18:25-22:24 130 A320 open ? - 18:25-22:24 +0 N569JB - -\nf608 1244 PBI-EWR 18:26-21:25 123 A320 open ? - 18:26-21:25 +0 N503JB - -\nf609 305 EWR-FLL 18:30-21:47 150 A320 open ? - 18:30-21:47 +0 N794JB - -\nf610 613 HPN-FLL 18:30-21:32 121 A320 open ? - 18:30-21:32 +0 N661JB - -\nf611 711 JFK-LAS 18:30-00:18+1 168 A321 open ? - 18:30-00:18+1 +0 N2016J - -\nf612 815 JFK-SFO 18:30-01:06+1 132 A321P open ? - 18:30-01:06+1 +0 N945JT - -\nf613 1284 MCO-JFK 18:30-21:07 135 A320 open ? - 19:11-21:48 +41 N565JB - -\nf614 2754 DCA-BOS 18:30-20:02 69 E190 open ? - 19:19-20:51 +49 N355JB - -\nf615 206 BNA-BOS 18:34-20:59 117 A320 open ? - 18:59-21:24 +25 N517JB - -\nf616 2 JFK-BUF 18:35-20:05 73 E190 open ? - 18:35-20:05 +0 N323JB - -\nf617 521 BOS-PBI 18:40-22:02 92 E190 open ? - 18:40-22:02 +0 N198JB - -\nf618 2340 JAX-LGA 18:40-20:55 133 A320 open ? - 18:40-20:55 +0 N579JB - -\nf619 2534 PBI-DCA 18:40-20:57 107 A320 open ? - 18:40-20:57 +0 N625JB - -\nf620 225 JFK-TPA 18:45-21:47 146 A320 open ? - 18:45-21:47 +0 N607JB - -\nf621 1746 CLT-BOS 18:45-20:57 88 E190 open ? - 18:45-20:57 +0 N304JB - -\nf622 2368 PBI-HPN 18:45-21:32 78 E190 open ? - 18:45-21:32 +0 N329JB - -\nf623 1303 BOS-PHX 18:50-00:50+1 122 A220 open ? - 18:50-00:50+1 +0 N3077J - -\nf624 1827 EWR-MCO 18:54-21:45 93 E190 open ? - 18:54-21:45 +0 N216JB - -\nf625 798 MCO-LGA 18:55-21:29 159 A321 open ? - 18:55-21:29 +0 N973JT - -\nf626 828 MCO-EWR 18:55-21:43 173 A321 open ? - 18:55-21:43 +0 N913JB - -\nf627 2230 MKE-BOS 18:55-21:08 89 A220 open ? - 18:55-21:08 +0 N3112J - -\nf628 1320 ATL-JFK 18:57-21:14 130 A320 open ? - 18:59-21:16 +2 N552JB - -\nf629 161 JFK-SMF 18:59-01:24+1 165 A321 open ? - 18:59-01:24+1 +0 N955JB - -\nf630 955 BOS-DCA 19:00-20:44 68 E190 open ? - 19:00-20:44 +0 N351JB - -\nf631 1267 HPN-PBI 19:00-21:50 144 A320 open ? - 19:00-21:50 +0 N709JB - -\nf632 1431 BOS-LGA 19:00-20:22 48 E190 open ? - 19:00-20:22 +0 N197JB - -\nf633 2332 SRQ-LGA 19:10-21:57 70 E190 open ? - 19:10-21:57 +0 N265JB - -\nf634 783 BOS-RDU 19:15-21:25 111 A220 open ? - 19:15-21:25 +0 N3065J - -\nf635 1080 LAX-LAS 19:15-20:22 114 A320 open ? - 19:15-20:22 +0 N537JT - -\nf636 1332 LGA-BOS 19:15-20:25 47 E190 open ? - 19:15-20:25 +0 N307JB - -\nf637 88 FLL-ALB 19:16-22:19 129 A320 open ? - 19:16-22:19 +0 N564JB - -\nf638 1154 PBI-JFK 19:16-22:00 125 A320 open ? - 19:16-22:00 +0 N630JB - -\nf639 1812 RSW-EWR 19:20-22:17 132 A320 open ? - 19:20-22:17 +0 N775JB - -\nf640 197 BOS-SEA 19:22-01:49+1 130 A321P open ? - 19:22-01:49+1 +0 N991JT - -\nf641 1732 LAX-SLC 19:24-21:15 134 A320 open ? - 19:24-21:15 +0 N639JB - -\nf642 438 MCO-BDL 19:25-22:10 142 A320 open ? - 19:39-22:24 +14 N651JB - -\nf643 2579 BOS-EWR 19:25-21:09 63 E190 open ? - 19:25-21:09 +0 N273JB - -\nf644 2967 BOS-FLL 19:25-22:51 149 A320 open ? - 19:25-22:51 +0 N527JL - -\nf645 342 SAV-JFK 19:28-21:35 82 E190 open ? - 19:28-21:35 +0 N239JB - -\nf646 71 JFK-SLC 19:29-00:52+1 145 A320 open ? - 19:29-00:52+1 +0 N624JB - -\nf647 355 JFK-ONT 19:29-01:42+1 170 A321 open ? - 19:29-01:42+1 +0 N957JB - -\nf648 391 BOS-TPA 19:30-22:55 92 E190 open ? - 19:30-22:55 +0 N334JB - -\nf649 471 LGA-FLL 19:30-22:39 145 A320 open ? - 19:30-22:39 +0 N804JB - -\nf650 1124 LAX-JFK 19:30-00:41+1 142 A321P open ? - 19:30-00:41+1 +0 N984JB - -\nf651 1134 SJU-MCO 19:30-22:36 165 A321 open ? - 19:30-22:36 +0 N994JL - -\nf652 1451 BOS-MCO 19:30-22:50 122 A220 open ? - 19:30-22:50 +0 N3062J - -\nf653 2354 DCA-BOS 19:30-20:59 69 E190 open ? - 19:30-20:59 +0 N267JB - -\nf654 1922 PBI-BOS 19:34-22:38 158 A321 open ? - 19:34-22:38 +0 N903JB - -\nf655 386 RDU-JFK 19:35-21:12 80 E190 open ? - 19:35-21:12 +0 N354JB - -\nf656 694 AUS-JFK 19:35-23:11 139 A320 open ? - 19:35-23:11 +0 N558JB - -\nf657 1747 LGA-SAV 19:35-21:58 79 E190 open ? - 19:35-21:58 +0 N249JB - -\nf658 1422 MSY-FLL 19:38-21:29 117 A320 open ? - 19:38-21:29 +0 N584JB - -\nf659 1484 RDU-BOS 19:40-21:36 111 A220 open ? - 19:40-21:36 +0 N3044J - -\nf660 1761 LGA-PBI 19:40-22:42 90 E190 open ? - 19:40-22:42 +0 N247JB - -\nf661 1192 TPA-BOS 19:41-22:37 131 A320 open ? - 19:41-22:37 +0 N520JB - -\nf662 68 CHS-BOS 19:45-21:59 87 E190 open ? - 19:45-21:59 +0 N281JB - -\nf663 655 SYR-MCO 19:45-22:49 134 A320 open ? - 19:45-22:49 +0 N807JB - -\nf664 548 TPA-HPN 19:47-22:29 88 E190 open ? - 19:47-22:29 +0 N306JB - -\nf665 1678 JAX-JFK 19:47-22:00 138 A320 open ? - 19:47-22:00 +0 N632JB - -\nf666 2319 FLL-SLC 19:47-01:05+1 136 A320 open ? - 19:47-01:05+1 +0 N646JB - -\nf667 996 ATL-BOS 19:50-22:19 76 E190 open ? - 19:50-22:19 +0 N358JB - -\nf668 1211 JFK-LAS 19:50-01:48+1 168 A321 open ? - 19:50-01:48+1 +0 N2086J - -\nf669 1573 EWR-LAX 19:50-02:05+1 136 A321P open ? - 19:50-02:05+1 +0 N923JB - -\nf670 2188 BNA-LGA 19:55-22:15 94 A320 open ? - 19:55-22:15 +0 N657JB - -\nf671 2364 MCI-BOS 19:55-22:41 90 A220 open ? - 19:55-22:41 +0 N3085J - -\nf672 2385 BOS-PIT 19:55-21:49 89 A220 open ? - 19:55-21:49 +0 N3008J - -\nf673 2886 MIA-LAX 19:55-01:43+1 132 A321P open ? - 19:55-01:43+1 +0 N990JL - -\nf674 2186 PIT-BOS 19:59-21:33 61 E190 open ? - 19:59-21:33 +0 N353JB - -\nf675 89 JFK-SAN 20:00-02:18+1 125 A321P open ? - 20:00-02:18+1 +0 N985JT - -\nf676 223 JFK-LAX 20:00-02:30+1 141 A321P open ? - 20:00-02:30+1 +0 N968JT - -\nf677 283 JFK-MCO 20:00-22:59 179 A321 open ? - 20:00-22:59 +0 N956JT - -\nf678 607 FLL-LAS 20:00-01:26+1 135 A320 open ? - 20:00-01:26+1 +0 N507JT - -\nf679 933 MCO-SJU 20:00-22:50 150 A320 open ? - 20:10-23:00 +10 N706JB - -\nf680 1419 JFK-DTW 20:00-22:17 75 E190 open ? - 20:00-22:17 +0 N258JB - -\nf681 1631 BOS-LGA 20:00-21:15 48 E190 open ? - 20:00-21:15 +0 N190JB - -\nf682 2355 BOS-DCA 20:00-21:42 68 E190 open ? - 20:00-21:42 +0 N328JB - -\nf683 2523 DCA-MCO 20:00-22:30 144 A320 open ? - 20:00-22:30 +0 N809JB - -\nf684 1766 RSW-BOS 20:04-23:05 154 A321 open ? - 20:04-23:05 +0 N2039J - -\nf685 394 DEN-BOS 20:10-23:59 104 A220 open ? - 20:10-23:59 +0 N3102J - -\nf686 918 JFK-BOS 20:10-21:30 94 A320 open ? - 20:10-21:30 +0 N588JB - -\nf687 1468 PBI-HPN 20:10-22:57 78 E190 open ? - 20:10-22:57 +0 N193JB - -\nf688 1062 SJU-BOS 20:14-00:23+1 126 A320 open ? - 20:14-00:23+1 +0 N523JB - -\nf689 1432 LGA-BOS 20:15-21:26 47 E190 open ? - 20:15-21:26 +0 N339JB - -\nf690 1802 FLL-JFK 20:15-23:00 168 A321 open ? - 20:15-23:00 +0 N965JT - -\nf691 2589 EWR-SJU 20:15-00:13+1 150 A320 open ? - 20:15-00:13+1 +0 N712JB - -\nf692 97 JFK-DEN 20:19-00:49+1 169 A321 open ? - 20:19-00:49+1 +0 N2102J - -\nf693 170 FLL-BOS 20:25-23:33 154 A321 open ? - 20:25-23:33 +0 N2044J - -\nf694 384 MCO-JFK 20:25-22:58 167 A321 open ? - 20:25-22:58 +0 N948JB - -\nf695 572 FLL-LGA 20:25-23:28 132 A320 open ? - 20:25-23:28 +0 N640JB - -\nf696 439 LGA-JAX 20:29-23:06 135 A320 open ? - 20:29-23:06 +0 N645JB - -\nf697 1903 JFK-SJU 20:29-00:18+1 182 A321 open ? - 20:29-00:18+1 +0 N999JQ - -\nf698 2080 FLL-DCA 20:29-22:51 120 A320 open ? - 20:29-22:51 +0 N663JB - -\nf699 1295 JFK-AUS 20:30-00:41+1 142 A320 open ? - 20:30-00:41+1 +0 N504JB - -\nf700 2017 BOS-JFK 20:30-21:45 67 E190 open ? - 20:30-21:45 +0 N179JB - -\nf701 2854 DCA-BOS 20:30-21:59 69 E190 open ? - 20:30-21:59 +0 N324JB - -\nf702 914 FLL-HPN 20:35-23:28 100 A320 open ? - 20:35-23:28 +0 N505JB - -\nf703 1369 BUF-MCO 20:35-23:18 114 A320 open ? - 20:35-23:18 +0 N796JB - -\nf704 2752 SJU-TPA 20:35-23:41 139 A320 open ? - 20:35-23:41 +0 N779JB - -\nf705 28 BQN-MCO 20:40-23:33 125 A320 open ? - 20:40-23:33 +0 N526JL - -\nf706 1285 ROC-JFK 20:40-22:00 80 E190 open ? - 20:40-22:00 +0 N238JB - -\nf707 1387 BOS-LAX 20:45-03:18+1 139 A321P open ? - 20:45-03:18+1 +0 N962JT - -\nf708 201 BUF-JFK 20:47-22:10 75 E190 open ? - 20:47-22:10 +0 N323JB - -\nf709 277 FLL-SFO 20:47-03:08+1 133 A321P open ? - 20:47-03:08+1 +0 N929JB - -\nf710 460 FLL-BDL 20:50-23:46 130 A320 open ? - 20:50-23:46 +0 N598JB - -\nf711 506 FLL-EWR 20:55-23:48 131 A320 open ? - 20:55-23:48 +0 N629JB - -\nf712 998 MCO-LGA 20:55-23:27 129 A320 open ? - 20:59-23:31 +4 N534JB - -\nf713 1146 FLL-RIC 20:55-23:09 105 A320 open ? - 20:55-23:09 +0 N828JB - -\nf714 715 BOS-BUF 20:59-22:33 81 E190 open ? - 20:59-22:33 +0 N229JB - -\nf715 809 JFK-DFW 20:59-00:52+1 139 A320 open ? - 20:59-00:52+1 +0 N597JB - -\nf716 1012 ORD-BOS 20:59-23:17 96 A220 open ? - 20:59-23:17 +0 N3058J - -\nf717 1076 MCO-PVD 20:59-23:36 133 A320 open ? - 21:03-23:40 +4 N705JB - -\nf718 1263 JFK-FLL 20:59-00:06+1 148 A320 open ? - 20:59-00:06+1 +0 N652JB - -\nf719 1723 JFK-LAX 20:59-03:23+1 141 A321P open ? - 20:59-03:23+1 +0 N946JL - -\nf720 2134 SJU-MCO 20:59-23:59 134 A320 open ? - 20:59-23:59 +0 N634JB - -\nf721 605 JFK-ORD 21:00-23:50 68 E190 open ? - 21:00-23:50 +0 N184JB - -\nf722 1001 LGA-CHS 21:00-23:33 108 A320 open ? - 21:00-23:33 +0 N793JB - -\nf723 499 LGA-MCO 21:05-23:55 143 A320 open ? - 21:05-23:55 +0 N648JB - -\nf724 1237 BOS-DTW 21:05-23:19 81 E190 open ? - 21:05-23:19 +0 N192JB - -\nf725 2054 SJU-FLL 21:05-23:43 126 A320 open ? - 21:05-23:43 +0 N509JB - -\nf726 1279 LAS-LAX 21:07-22:19 99 A320 open ? - 21:07-22:19 +0 N537JT - -\nf727 2004 RSW-BDL 21:09-23:59 113 A320 open ? - 21:09-23:59 +0 N531JL - -\nf728 1567 HPN-PBI 21:10-23:59 89 E190 open ? - 21:10-23:59 +0 N203JB - -\nf729 2583 JFK-MCO 21:10-23:59 145 A320 open ? - 21:10-23:59 +0 N571JB - -\nf730 2890 SJU-EWR 21:10-01:17+1 142 A320 open ? - 21:10-01:17+1 +0 N586JB - -\nf731 1117 BOS-JFK 21:16-22:30 67 E190 open ? - 21:16-22:30 +0 N284JB - -\nf732 321 BOS-PBI 21:25-00:39+1 138 A320 open ? - 21:25-00:39+1 +0 N603JB - -\nf733 234 JFK-BTV 21:30-22:48 77 E190 open ? - 21:30-22:48 +0 N317JB - -\nf734 617 JFK-MSP 21:30-00:39+1 80 E190 open ? - 21:30-00:39+1 +0 N373JB - -\nf735 568 FLL-ATL 21:35-23:24 116 A320 open ? - 21:35-23:24 +0 N834JB - -\nf736 2501 FLL-LAX 21:35-03:19+1 142 A321P open ? - 21:35-03:19+1 +0 N964JT - -\nf737 1952 MCO-BOS 21:40-00:29+1 152 A321 open ? - 21:40-00:29+1 +0 N2047J - -\nf738 2626 FLL-RDU 21:40-23:42 124 A320 open ? - 21:40-23:42 +0 N587JB - -\nf739 571 LGA-FLL 21:45-00:42+1 145 A320 open ? - 21:45-00:42+1 +0 N768JB - -\nf740 102 JFK-BUF 21:55-23:24 73 E190 open ? - 21:55-23:24 +0 N183JB - -\nf741 541 BOS-CLE 21:55-23:56 96 A220 open ? - 21:55-23:56 +0 N3113J - -\nf742 318 JFK-BOS 21:59-23:10 94 A320 open ? - 21:59-23:10 +0 N552JB - -\nf743 1823 JFK-LAX 21:59-04:19+1 141 A321P open ? - 21:59-04:19+1 +0 N942JB - -\nf744 2834 SJU-MCO 21:59-00:56+1 134 A320 open ? - 21:59-00:56+1 +0 N623JB - -\nf745 887 LGA-BNA 22:00-00:20+1 102 A320 open ? - 22:00-00:20+1 +0 N579JB - -\nf746 976 FLL-PHL 22:00-00:39+1 117 A320 open ? - 22:00-00:39+1 +0 N506JB - -\nf747 2615 JFK-SFO 22:00-04:28+1 132 A321P open ? - 22:00-04:28+1 +0 N987JT - -\nf748 1731 SLC-LAX 22:01-23:54 128 A320 open ? - 22:01-23:54 +0 N639JB - -\nf749 767 MCO-PSE 22:07-00:52+1 139 A320 open ? - 22:07-00:52+1 +0 N656JB - -\nf750 536 LAX-SFO 22:14-23:40 120 A320 open ? - 22:14-23:40 +0 N760JB - -\nf751 181 FLL-BNA 22:15-00:32+1 95 A320 open ? - 22:15-00:32+1 +0 N584JB - -\nf752 745 JFK-PSE 22:29-02:23+1 147 A320 open ? - 22:29-02:23+1 +0 N621JB - -\nf753 2516 JFK-SYR 22:29-23:40 69 E190 open ? - 22:29-23:40 +0 N274JB - -\nf754 2617 BOS-JFK 22:30-23:40 67 E190 open ? - 22:30-23:40 +0 N353JB - -\nf755 2954 DCA-BOS 22:30-23:53 69 E190 open ? - 22:30-23:53 +0 N351JB - -\nf756 2618 FLL-JAX 22:32-23:45 103 A320 open ? - 22:32-23:45 +0 N590JB - -\nf757 486 JFK-ROC 22:35-23:58 80 E190 open ? - 22:35-23:58 +0 N354JB - -\nf758 430 MCO-BQN 22:36-01:13+1 167 A321 open ? - 22:36-01:13+1 +0 N907JB - -\nf759 676 JFK-ORH 22:50-23:47 51 E190 open ? - 22:50-23:47 +0 N239JB - -\nf760 839 JFK-BQN 22:59-02:41+1 145 A320 open ? - 22:59-02:41+1 +0 N729JB - -\nf761 942 LAX-RNO 23:04-00:31+1 120 A320 open ? - 23:04-00:31+1 +0 N537JT - -\nf762 275 BDL-SJU 23:10-02:57+1 143 A320 open ? - 23:10-02:57+1 +0 N651JB - -\nf763 2120 SAN-BOS 23:20-04:35+1 146 A321P open ? - 23:20-04:35+1 +0 N992JB - -\nf764 561 BOS-SJU 23:45-03:44+1 143 A320 open ? - 23:45-03:44+1 +0 N593JB - -\nf765 2133 MCO-SJU 23:45-02:27+1 150 A320 open ? - 23:45-02:27+1 +0 N809JB - -\nf766 2416 SFO-JFK 23:50-05:08+1 137 A321P open ? - 23:50-05:08+1 +0 N935JB - -\nf767 403 JFK-SJU 23:55-03:40+1 182 A321 open ? - 23:55-03:40+1 +0 N2048J - -\nf768 2985 LAX-MIA 00:06+1-05:00+1 144 A321P open ? - 00:06+1-05:00+1 +0 N934JB - -\nf769 136 PHX-JFK 00:22+1-05:00+1 141 A320 open ? - 00:22+1-05:00+1 +0 N554JB - -\nf770 2535 SFO-LAX 00:25+1-01:44+1 129 A320 open ? - 00:25+1-01:44+1 +0 N760JB - -\nf771 358 BUR-JFK 00:30+1-05:45+1 113 A320 open ? - 00:30+1-05:45+1 +0 N746JB - -\nf772 700 LAX-FLL 00:35+1-05:26+1 150 A321P open ? - 00:35+1-05:26+1 +0 N981JT - -\nf773 2924 LAX-JFK 00:35+1-05:47+1 142 A321P open ? - 00:35+1-05:47+1 +0 N2142J - -\nf774 1190 SAN-JFK 00:50+1-05:59+1 172 A321 open ? - 00:50+1-05:59+1 +0 N995JL - -\nf775 2050 PSP-JFK 00:59+1-05:52+1 125 A320 open ? - 00:59+1-05:52+1 +0 N594JB - -\nf776 2974 LAX-EWR 01:10+1-06:28+1 139 A321P open ? - 01:10+1-06:28+1 +0 N977JE - -\nf777 778 LAS-BOS 01:15+1-06:01+1 165 A321 open ? - 01:15+1-06:01+1 +0 N997JL - -\nf778 1216 SFO-JFK 01:15+1-06:33+1 137 A321P open ? - 01:15+1-06:33+1 +0 N969JT - -\nf779 943 RNO-LAX 01:17+1-02:43+1 103 A320 open ? - 01:17+1-02:43+1 +0 N537JT - -\nf780 2218 LAX-CHS 01:20+1-06:04+1 121 A320 open ? - 01:20+1-06:04+1 +0 N595JB - -\nf781 264 SEA-JFK 01:29+1-06:31+1 126 A321P open ? - 01:29+1-06:31+1 +0 N978JB - -\nf782 72 SLC-JFK 01:43+1-05:59+1 132 A320 open ? - 01:43+1-05:59+1 +0 N624JB - -\nf783 948 LAS-JFK 01:47+1-06:29+1 163 A321 open ? - 01:47+1-06:29+1 +0 N2016J - -\nf784 1302 PHX-BOS 01:50+1-06:29+1 125 A220 open ? - 01:50+1-06:29+1 +0 N3077J - -\nf785 124 LAX-JFK 01:55+1-07:11+1 142 A321P open ? - 01:55+1-07:11+1 +0 N943JT - -\nf786 98 DEN-JFK 01:59+1-05:33+1 156 A321 open ? - 01:59+1-05:33+1 +0 N2102J - -\nf787 2320 SLC-FLL 01:59+1-06:20+1 135 A320 open ? - 01:59+1-06:20+1 +0 N646JB - -\nf788 34 SFO-BOS 02:09+1-07:40+1 133 A321P open ? - 02:09+1-07:40+1 +0 N988JT - -\nf789 278 SFO-FLL 02:21+1-07:37+1 149 A321P open ? - 02:21+1-07:37+1 +0 N989JT - -\nf790 608 LAS-FLL 02:30+1-06:53+1 150 A320 open ? - 02:30+1-06:53+1 +0 N507JT - -\nf791 132 LAX-MCO 02:35+1-07:12+1 149 A320 open ? - 02:35+1-07:12+1 +0 N639JB - -\nf792 162 SMF-JFK 02:50+1-08:00+1 171 A321 open ? - 02:50+1-08:00+1 +0 N955JB - -\nf793 988 LAX-BOS 02:53+1-08:18+1 137 A321P open ? - 02:53+1-08:18+1 +0 N967JT - -\nf794 2348 LAS-JFK 02:58+1-07:42+1 163 A321 open ? - 02:58+1-07:42+1 +0 N2086J - -\nf795 354 ONT-JFK 02:59+1-08:04+1 174 A321 open ? - 02:59+1-08:04+1 +0 N957JB - -\nf796 498 SEA-BOS 02:59+1-08:04+1 117 A321P open ? - 02:59+1-08:04+1 +0 N991JT - -\n\n## Aircraft now, as your plan has them (@ = ready at)\nJFK: N183JB N2016J@14:59 N2029J N2048J@07:30 N2059J N206JB N2084J@07:00 N2086J N2102J@19:00 N239JB@05:55 N304JB N351JB N507JT N527JL N531JL N547JB N554JB N558JB N568JB N580JB N586JB N594JB@06:31 N607JB@05:45 N624JB@05:45 N637JB@09:14 N652JB N658JB@05:32 N706JB@04:16 N729JB@20:25 N746JB N784JB@16:44 N805JB@07:48 N905JB N923JB N929JB N934JB@12:30 N935JB@11:00 N937JB N942JB N944JT@08:04 N956JT@18:50 N958JB@22:55 N961JT@06:10 N965JT@05:30 N972JT N973JT@09:25 N978JB@15:32 N980JT@06:26 N981JT@08:23 N982JB@07:24 N998JE@07:59 N999JQ@19:29\nATL: N588JB N646JB\nAUS: N569JB\nBDL: N634JB@08:25 N794JB\nBNA: N648JB N659JB\nBOS: N190JB N192JB N203JB N2105J N228JB N249JB N265JB N274JB N3008J N3058J N3062J@07:33 N3085J N3102J N3104J N3112J N317JB N324JB N334JB N339JB N348JB N368JB N504JB N505JB N516JB N517JB N520JB N521JB@05:57 N523JB N633JB N903JB@07:08 N913JB N947JB N957JB N962JT N964JT N966JT@05:00 N967JT@10:45 N970JB N974JT N984JB@05:44 N987JT N988JT@05:20 N989JT@14:37 N992JB@09:05 N994JL N996JL N997JL\nBQN: N592JB\nBTV: N266JB\nBUF: N229JB N346JB\nCHS: N705JB\nCLE: N3044J\nDCA: N216JB N566JB N570JB N768JB N779JB\nDFW: N621JB\nDTW: N238JB N328JB\nEWR: N267JB N552JB N559JB N565JB N590JB@09:15 N599JB N712JB N804JB N946JL N949JT N983JT@07:58\nFLL: N2039J N2044J N2047J@07:13 N509JB N526JL N564JB N618JB N623JB N644JB@16:30 N645JB N649JB N655JB N793JB N807JB N828JB@20:05 N834JB N955JB N986JB@06:41 N993JE@08:37\nHPN: N283JB@08:15 N284JB N306JB N354JB N630JB N796JB\nJAX: N657JB\nLAX: N2142J N638JB N639JB N760JB N945JT N968JT@05:38 N976JT N977JE@05:01\nLGA: N273JB N281JB N307JB N563JB N579JB@06:14 N598JB N625JB N656JB N948JB\nMCO: N179JB N2002J N3065J N329JB@09:40 N358JB N534JB N535JB N537JT N587JB@11:02 N629JB N632JB N651JB N653JB N661JB N809JB N907JB@21:36 N952JB N995JL\nMIA: N605JB N990JL@05:49\nMSP: N198JB\nORD: N258JB\nORH: N323JB\nPBI: N193JB N247JB N355JB N503JB N584JB N709JB\nPHL: N337JB\nPIT: N3113J\nPSE: N627JB\nPVD: N708JB\nRDU: N3077J N663JB\nRIC: N603JB\nROC: N184JB\nRSW: N597JB\nSAN: N943JT\nSAV: N353JB\nSFO: N969JT N985JT@05:03 N991JT\nSJU: N506JB@04:19 N562JB N571JB N583JB N640JB N950JT\nSYR: N373JB\nTPA: N197JB N510JB N593JB N595JB N775JB\nairborne: none\n\n## News so far\n[00:40] TAF KJFK 150540Z 1506/1612 02009KT P6SM BKN250 FM151100 05008KT P6SM BKN200 FM151500 07011KT P6SM BKN035 TEMPO 1515/1519 BKN025 FM151900 09013KT 5SM -RA BR BKN025 FM152000 09015G21KT 5SM -RA BR OVC015 FM160000 09017G28KT 4SM -RA BR OVC010 FM160600 08020G35KT 2SM RA BR OVC009=\n[02:51] KJFK 150751Z 02007KT 10SM OVC250 00/M04 A3022 RMK AO2 SLP231 T00001044\n[03:31] TAF AMD KJFK 150831Z 1509/1612 02008KT P6SM BKN250 FM151100 05008KT P6SM BKN200 FM151500 07011KT P6SM BKN035 TEMPO 1515/1519 BKN025 FM151900 09013KT 5SM -RA BR BKN025 FM152000 09015G21KT 5SM -RA BR OVC015 FM160000 09017G28KT 4SM -RA BR OVC010 FM160600 08020G35KT 2SM RA BR OVC009=\n[03:51] KJFK 150851Z 02006KT 10SM OVC250 01/M04 A3024 RMK AO2 PRESRR SLP238 T00061039 53004\n\nIt is the first watch, 04:00. Nothing is frozen yet: set the day up with confirm_changes, then call advance.", + "max_turns": 249, + "model_params": { + "max_tokens": 32000 + }, + "timeout_seconds": 7200 + }, + { + "id": "end-day", + "type": "apply_server_config", + "env_id": "airops-v3-day", + "directives": [ + { + "service": "airops-v3-day", + "uri": "urn:airops:v3-end-day/v1", + "args": {} + } + ] + }, + { + "id": "grade", + "type": "env_outcome_verifier", + "env_id": "airops-v3-day", + "file_artifact_id": "airops-verifier", + "verifier_id": "airops", + "score_aggregator": "weighted_average" + } +] diff --git a/src/agentenv_airops/bundles/airops-v3/tasks/b6-20221222-0400.json b/src/agentenv_airops/bundles/airops-v3/tasks/b6-20221222-0400.json new file mode 100644 index 0000000..03c3e45 --- /dev/null +++ b/src/agentenv_airops/bundles/airops-v3/tasks/b6-20221222-0400.json @@ -0,0 +1,71 @@ +[ + { + "id": "deploy", + "type": "deploy_env", + "env_id": "airops-v3-day" + }, + { + "id": "load-task", + "type": "apply_server_config", + "env_id": "airops-v3-day", + "directives": [ + { + "service": "airops-v3-day", + "uri": "urn:airops:v3-live-load/v1", + "args": { + "task_id": "b6-20221222-0400", + "anchor": 4683961, + "follower": 4778234 + } + } + ] + }, + { + "id": "deploy-agent", + "type": "deploy_agent", + "a2a_agent_id": "airops-llm", + "env_ids": [ + "airops-v3-day" + ] + }, + { + "id": "clock", + "type": "sync_env_clock", + "env_id": "airops-v3-day", + "virtual_time": "2022-12-22T09:00:00Z", + "virtual_seconds_per_real_second": 0, + "tolerate_missing_sync_time": false + }, + { + "id": "play", + "type": "prompt_agent", + "prompt_id": "b6-20221222-0400", + "system_prompt": "You run the JetBlue operations desk on a storm day at JFK and BOS: thunderstorms, snow or wind, and the FAA ground stops and ground delay programs (GDPs) that follow, cut how many JetBlue flights can land and take off. Your job is to decide which flights to cancel and which to hold, watch by watch, so that passengers and the airline lose as little as possible over the day.\n\nHow the day runs:\n- The day is played in watches starting at watch 0: one an hour, and one more when an advisory or a SPECI reaches the desk or a ramp closure begins or ends, so watches are 15 to 60 minutes apart. The first message gives the day as the desk knows it at watch 0. Every tool call takes 1 minute of the watch; when the watch's time runs out, the next watch opens by itself, and advance opens it at once.\n- What the desk knows: a flight's own departure delay (weather, air traffic control: anything but waiting for its aircraft or a slot) becomes known 2 hours before its scheduled departure; until then it is assumed on time. FAA Command Center advisories and the hubs' METARs, SPECIs and TAFs arrive as messages at the first watch after they reach the desk: an advisory 0 minutes after it is signed, a METAR 5 and a SPECI 5 minutes after its observation, a TAF 10 minutes after its issue, and the programs table shows the programs as issued, proposed GDPs included; a program may end earlier or later than issued.\n- Ground delay programs: a GDP meters arrivals at a hub over its period. A flight into the hub from an origin in its scope, scheduled to land in the period, needs one of JetBlue's arrival slots in the program: it takes the earliest free slot at or after the time it could land and leaves at its EDCT, the slot less its scheduled block. A cancelled or late flight leaves its slot to the flights behind it. Arrivals outside a program fit under the hub's hourly rate.\n- Ground stops: a flight to a stopped hub from an origin the stop covers waits on the ground until the stop ends; flights already airborne fly on.\n- Departure caps: an airport may take only so many JetBlue departures in an hour (the departure caps table, known 4 hours ahead); a flight with no room in its hour tries again at the next hour's start.\n- Outstation arrival caps: an outstation may take only so many JetBlue arrivals in an hour (the outstation arrival caps table, known 4 hours ahead); a flight with no room in its arrival hour leaves so as to land in the next one.\n- Ramp closures: lightning at the field cuts a hub's ramp rate without stopping it. During a closure only so many JetBlue flights may leave the hub and only so many arrive there; a departure with no room leaves at the closure's end, an arrival with none leaves so as to land at it. A closure is known once it begins; until its end comes it is expected to last 30 minutes more, with caps for that long, and the closures table says which ends are reported and which expected.\n- The env flies your plan on the day as it happens: each flight leaves at the earliest time its delay, its hold, a slot, a stop, a cap and an aircraft allow. It takes the first aircraft of its type ready at its origin (aircraft of one type at one airport are interchangeable; an aircraft needs its turn time on the ground between flights). A flight that can't leave by its deadline is cancelled automatically there. At the end of the day the env ferries each aircraft to the airport it is needed at tomorrow.\n- Your decisions: cancel a flight (its aircraft stays on the ground, free for other flights, and its slot goes to the flights behind), restore a cancelled flight, or hold a flight until a time (not_before) so that its slot or aircraft goes to another flight first. A flight you don't touch leaves as early as it can.\n- The freeze: at watch 0 nothing is frozen. From watch 1 on, flights your plan has leaving before the freeze line, 60 minutes after the watch opens, are frozen: they can't be changed, and stay frozen. A cancellation is final. The env holds any other flight your plan would have leaving before the freeze line to it, and refuses a change that would move a frozen flight or one that has already gone.\n\nTools:\n- get_situation(): the time, the freeze line, the programs as issued with JetBlue's slots, the departure caps known so far, the outstation arrival caps known so far, the ramp closures under way or over, the latest METAR or SPECI and TAF per hub, every flight (its status, its known delay, your plan, where your plan has it leave and land on the day as known, how late it lands, its aircraft, its slot and its crew), where the aircraft are, and the news so far.\n- check_plan(changes): your changes over your plan, run on the day as known now: the plan's cost, the flights whose plan or times change, the automatic cancellations, the flights the env would hold to the freeze line, and the changes confirm_changes would refuse. It confirms nothing.\n- confirm_changes(changes): commits the changes; flights you leave out keep their plan.\n- advance(): ends the watch; its result has the new watch's news. After the last watch it returns \"done\": the day is graded on your plan.\nA change is {\"flight\": \"f12\", \"action\": \"cancel\" | \"restore\" | \"hold\" | \"call_reserve\" | \"release_reserve\", \"not_before\": \"HH:MM\" | null}: cancel takes not_before null; restore and hold fly the flight, held until not_before (local time, \"00:30+1\" after midnight), or as early as it can with null. Where a crew base has a reserve pool (the situation's Reserve crews), a flight leaving it past its crew's deadline flies only on a reserve: call_reserve gives it one while the pool lasts, release_reserve hands it back before that deadline.\n\nThe cost, in passenger-minutes: every passenger's minutes of arrival delay; 523 for each passenger on a cancelled flight, plus one for every minute the cancellation is decided later than 2 hours before its scheduled departure (an automatic cancellation is decided at its deadline, so it costs more than an early one); the airline's own aircraft minutes (a late departure costs crew and fixed costs, a long block fuel too, and a cancellation saves its fuel and maintenance); and the end-of-day ferries. A cancellation frees an aircraft and a slot; it pays when it saves the others more than it costs its own passengers. The day is graded once, on your final plan flown on the day as it really happened: the closer its cost to the best plan possible in hindsight, the higher the score. If you stop before the last watch, the rest of the day runs on your plan.", + "prompt": "# JetBlue operations desk, JFK, Thursday 2022-12-22; times are local (America/New_York).\n\nNow 04:00 (watch 0, opened 04:00). First watch: nothing is frozen; changes take effect at once.\n\nYour plan on the day as known costs 202,202 (delay 143,774, cancellations 0, notice 0, ferries 0): 0 cancelled, 0 cancelled automatically, 0 on slots.\n\n## Programs as issued (FAA Command Center)\nNone.\n\n## Departure caps: JetBlue departures per hour, known 240 min ahead\nBOS: 06h 10 07h 13\nJFK: 08h 10\n\n## Outstation arrival caps: JetBlue arrivals per hour, known 240 min ahead\nFLL: 08h 4\nLGA: 07h 3\n\n## Ramp closures (lightning at the field; known once begun)\nNone.\n\n## Latest weather (METAR or SPECI, and TAF)\n[03:51] KJFK 220851Z 05004KT 10SM BKN180 BKN250 M01/M04 A3047 RMK AO2 SLP318 T10111044 58009\n[03:23] TAF AMD KJFK 220823Z 2208/2312 07005KT P6SM BKN250 TEMPO 2211/2213 BKN025 FM221800 08010KT P6SM -SHRA OVC025 FM222100 09015G22KT P6SM -RA SCT010 BKN015 TEMPO 2221/2224 3SM RA BR BKN010 FM230000 10022G32KT 2SM RA BR BKN007 WS020/10045KT FM230700 15025G40KT 2SM RA BR BKN007=\n\n## Flights (sched = scheduled dep-arr; delay = known delay, ? not yet; plan = cancel or hold@HH:MM; proj = where your plan has it leave and land on the day as known; late = arrival delay; slot = its GDP slot; crew = crew deadline/rest end, +R on a reserve crew)\nid flight route sched pax type status delay plan proj late tail slot crew\nf0 1316 LAX-JFK 03:55-09:12 142 A321P open 27 - 04:22-09:16 +4 N2142J - -\nf1 746 PSE-JFK 04:55-08:59 121 A320 open -6 - 04:49-08:56 -3 N588JB - -\nf2 253 FLL-SJU 05:01-07:30 136 A320 open -3 - 04:58-08:02 +32 N531JL - -\nf3 954 SJU-FLL 05:01-07:42 126 A320 open -4 - 04:57-07:41 -1 N563JB - -\nf4 2867 MCO-PSE 05:01-07:47 139 A320 open 40 - 05:41-08:30 +43 N760JB - -\nf5 562 SJU-BOS 05:05-09:17 126 A320 open -2 - 05:03-09:11 -6 N663JB - -\nf6 2555 BOS-DCA 05:15-06:50 68 E190 open -6 - 05:09-06:37 -13 N183JB - -\nf7 404 SJU-JFK 05:25-09:25 160 A321 open 0 - 05:25-09:20 -5 N948JB - -\nf8 838 BQN-JFK 05:38-09:30 132 A320 open -4 - 05:34-09:28 -2 N556JB - -\nf9 959 BDL-FLL 05:45-09:00 147 A320 open -3 - 05:42-09:05 +5 N561JB - -\nf10 1270 CHS-LGA 05:45-07:39 88 A320 open -10 - 05:35-07:11 -28 N597JB - -\nf11 1336 DTW-BOS 05:45-07:36 73 E190 open -8 - 05:37-07:26 -10 N323JB - -\nf12 518 JFK-BOS 05:59-07:04 63 E190 open 16 - 06:15-07:14 +10 N273JB - -\nf13 42 PBI-LGA 06:00-08:43 79 E190 open -8 - 05:52-08:37 -6 N324JB - -\nf14 133 BOS-SFO 06:00-12:51 137 A321P open -2 - 05:58-12:39 -12 N943JT - -\nf15 171 LGA-FLL 06:00-09:03 145 A320 open -4 - 05:56-09:14 +11 N589JB - -\nf16 172 FLL-LGA 06:00-08:52 132 A320 open -8 - 05:52-08:27 -25 N534JB - -\nf17 185 ROC-JFK 06:00-07:20 80 E190 open -7 - 05:53-07:19 -1 N328JB - -\nf18 231 BOS-LGA 06:00-07:12 48 E190 open -9 - 05:51-07:02 -10 N190JB - -\nf19 233 BTV-JFK 06:00-07:29 76 E190 open -13 - 05:47-07:15 -14 N192JB - -\nf20 375 PHL-FLL 06:00-08:50 148 A320 open 10 - 06:10-08:58 +8 N579JB - -\nf21 515 SYR-JFK 06:00-07:16 81 E190 open -13 - 05:47-07:01 -15 N375JB - -\nf22 551 BOS-MCO 06:00-09:22 175 A321 open -2 - 05:58-09:21 -1 N952JB - -\nf23 555 BOS-DCA 06:00-07:46 68 E190 open -1 - 05:59-07:40 -6 N228JB - -\nf24 569 BOS-FLL 06:00-09:34 184 A321 open -3 - 05:57-09:44 +10 N974JT - -\nf25 573 EWR-TPA 06:00-08:57 145 A320 open -3 - 05:57-09:15 +18 N529JB - -\nf26 770 FLL-BOS 06:00-09:12 116 A320 open 2 - 06:02-09:05 -7 N566JB - -\nf27 917 BOS-JFK 06:00-07:15 107 A321P open 5 - 06:05-07:22 +7 N981JT - -\nf28 984 RDU-BOS 06:00-07:57 111 A220 open 12 - 06:12-07:55 -2 N3112J - -\nf29 1075 PVD-MCO 06:00-09:10 150 A320 open -3 - 05:57-09:24 +14 N712JB - -\nf30 1184 MCO-JFK 06:00-08:31 167 A321 open 0 - 06:00-08:37 +6 N995JL - -\nf31 1233 MCO-SJU 06:00-08:46 185 A321 open 10 - 06:10-09:01 +15 N2038J - -\nf32 1373 EWR-LAX 06:00-12:07 136 A321P open -2 - 05:58-12:14 +7 N942JB - -\nf33 1434 SJU-MCO 06:00-09:03 134 A320 open -6 - 05:54-09:11 +8 N828JB - -\nf34 1505 EWR-FLL 06:00-09:04 185 A321 open -2 - 05:58-09:44 +40 N971JT - -\nf35 1652 MCO-BOS 06:00-08:54 152 A321 open -3 - 05:57-08:57 +3 N975JT - -\nf36 1941 BOS-SRQ 06:00-09:31 130 A320 open -4 - 05:56-09:31 +0 N505JB - -\nf37 2861 LGA-PBI 06:00-08:55 146 A320 open -3 - 05:57-09:57 +62 N605JB - -\nf38 1017 JAX-FLL 06:01-07:16 124 A320 open ? - 06:01-07:16 +0 N565JB - -\nf39 2539 JFK-BQN 06:01-09:43 179 A321 open ? - 06:01-09:43 +0 N2029J - -\nf40 1748 SAV-LGA 06:05-08:02 72 E190 open ? - 06:05-08:02 +0 N348JB - -\nf41 2001 BUF-JFK 06:05-07:32 75 E190 open ? - 06:05-07:32 +0 N197JB - -\nf42 75 JFK-MSY 06:06-09:27 114 A320 open ? - 06:06-09:27 +0 N559JB - -\nf43 1486 PIT-BOS 06:10-07:49 85 A220 open ? - 06:10-07:49 +0 N3085J - -\nf44 2293 JFK-MIA 06:10-09:14 141 A320 open ? - 06:10-09:14 +0 N580JB - -\nf45 232 LGA-BOS 06:15-07:23 47 E190 open ? - 06:15-07:23 +0 N216JB - -\nf46 320 ATL-JFK 06:20-08:32 140 A320 open ? - 06:20-08:32 +0 N571JB - -\nf47 619 BOS-SAN 06:20-12:45 144 A321P open ? - 06:20-12:45 +0 N987JT - -\nf48 598 MCO-LGA 06:21-09:00 129 A320 open ? - 06:21-09:00 +0 N804JB - -\nf49 671 ORH-JFK 06:23-07:30 61 E190 open ? - 06:23-07:30 +0 N279JB - -\nf50 1585 BOS-PIT 06:25-08:16 64 E190 open ? - 06:25-08:16 +0 N231JB - -\nf51 15 JFK-SFO 06:30-13:01 132 A321P open ? - 06:30-13:01 +0 N937JB - -\nf52 254 DCA-BOS 06:30-07:58 69 E190 open ? - 06:30-07:58 +0 N203JB - -\nf53 299 LGA-MCO 06:30-09:27 177 A321 open ? - 06:30-09:27 +0 N913JB - -\nf54 327 EWR-MCO 06:30-09:19 186 A321 open ? - 06:30-09:19 +0 N999JQ - -\nf55 583 JFK-MCO 06:30-09:21 179 A321 open ? - 06:30-09:21 +0 N2086J - -\nf56 677 JFK-JAX 06:30-08:59 141 A320 open ? - 06:30-08:59 +0 N591JB - -\nf57 1105 JFK-ORD 06:30-09:11 68 E190 open ? - 06:30-09:11 +0 N318JB - -\nf58 1551 HPN-RSW 06:30-09:38 138 A320 open ? - 06:30-09:38 +0 N634JB - -\nf59 1603 JFK-SJU 06:30-10:19 182 A321 open ? - 06:30-10:19 +0 N970JB - -\nf60 2625 RDU-FLL 06:30-08:41 145 A320 open ? - 06:30-08:41 +0 N608JB - -\nf61 2701 JFK-FLL 06:30-09:37 148 A320 open ? - 06:30-09:37 +0 N599JB - -\nf62 2802 JFK-BUF 06:30-07:51 119 A320 open ? - 06:30-07:51 +0 N655JB - -\nf63 1145 RIC-FLL 06:35-08:58 144 A320 open ? - 06:35-08:58 +0 N651JB - -\nf64 182 BNA-FLL 06:40-08:54 121 A320 open ? - 06:40-08:54 +0 N806JB - -\nf65 1807 BOS-BNA 06:40-09:43 72 E190 open ? - 06:40-09:43 +0 N249JB - -\nf66 222 PBI-BOS 06:45-09:48 118 A320 open ? - 06:45-09:48 +0 N527JL - -\nf67 401 BOS-MSY 06:45-10:35 119 A320 open ? - 06:45-10:35 +0 N516JB - -\nf68 2363 BOS-MCI 06:45-10:30 93 A220 open ? - 06:45-10:30 +0 N3008J - -\nf69 226 TPA-JFK 06:49-09:30 139 A320 open ? - 06:49-09:30 +0 N592JB - -\nf70 2986 MIA-LAX 06:50-12:35 132 A321P open ? - 06:50-12:35 +0 N989JT - -\nf71 392 TPA-BOS 06:55-09:54 87 E190 open ? - 06:55-09:54 +0 N317JB - -\nf72 1247 LGA-TPA 06:59-10:03 141 A320 open ? - 06:59-10:03 +0 N796JB - -\nf73 2157 LGA-DEN 06:59-11:34 122 A320 open ? - 06:59-11:34 +0 N766JB - -\nf74 52 MCO-BOS 07:00-09:56 107 A220 open ? - 07:00-09:56 +0 N3113J - -\nf75 106 ORD-JFK 07:00-09:10 72 E190 open ? - 07:00-09:10 +0 N304JB - -\nf76 287 BOS-LAX 07:00-13:40 139 A321P open ? - 07:00-13:40 +0 N967JT - -\nf77 306 FLL-EWR 07:00-09:56 131 A320 open ? - 07:00-09:56 +0 N640JB - -\nf78 331 BOS-LGA 07:00-08:16 48 E190 open ? - 07:00-08:16 +0 N258JB - -\nf79 405 EWR-FLL 07:00-10:01 150 A320 open ? - 07:00-10:01 +0 N554JB - -\nf80 449 ALB-FLL 07:00-10:21 141 A320 open ? - 07:00-10:21 +0 N821JB - -\nf81 540 CLE-BOS 07:00-08:42 93 A220 open ? - 07:00-08:42 +0 N3077J - -\nf82 581 DCA-RSW 07:00-09:47 103 A320 open ? - 07:00-09:47 +0 N510JB - -\nf83 618 MSP-JFK 07:00-09:46 74 E190 open ? - 07:00-09:46 +0 N354JB - -\nf84 723 JFK-LAX 07:00-13:18 141 A321P open ? - 07:00-13:18 +0 N976JT - -\nf85 890 SJU-EWR 07:00-11:13 142 A320 open ? - 07:00-11:13 +0 N587JB - -\nf86 891 BOS-TPA 07:00-10:27 184 A321 open ? - 07:00-10:27 +0 N959JB - -\nf87 1039 BOS-AUS 07:00-11:47 111 A220 open ? - 07:00-11:47 +0 N3044J - -\nf88 1368 PBI-HPN 07:00-09:49 78 E190 open ? - 07:00-09:49 +0 N346JB - -\nf89 1379 DCA-FLL 07:00-09:45 138 A320 open ? - 07:00-09:45 +0 N564JB - -\nf90 1455 BOS-DCA 07:00-08:45 68 E190 open ? - 07:00-08:45 +0 N267JB - -\nf91 1460 FLL-BDL 07:00-09:56 130 A320 open ? - 07:00-09:56 +0 N646JB - -\nf92 1883 BOS-RDU 07:00-09:09 111 A220 open ? - 07:00-09:09 +0 N3102J - -\nf93 2024 MCO-DCA 07:00-09:13 132 A320 open ? - 07:00-09:13 +0 N633JB - -\nf94 2130 SJU-JFK 07:00-11:02 130 A320 open ? - 07:00-11:02 +0 N521JB - -\nf95 539 JAX-LGA 07:01-09:12 133 A320 open ? - 07:01-09:12 +0 N729JB - -\nf96 2065 BOS-RSW 07:05-10:44 181 A321 open ? - 07:05-10:44 +0 N998JE - -\nf97 716 BUF-BOS 07:10-08:37 75 E190 open ? - 07:10-08:37 +0 N306JB - -\nf98 970 PHL-BOS 07:10-08:26 64 E190 open ? - 07:10-08:26 +0 N307JB - -\nf99 1420 DTW-JFK 07:10-08:59 74 E190 open ? - 07:10-08:59 +0 N283JB - -\nf100 1333 BOS-SFO 07:14-14:10 137 A321P open ? - 07:14-14:10 +0 N978JB - -\nf101 2085 BDL-MIA 07:15-10:32 148 A320 open ? - 07:15-10:32 +0 N621JB - -\nf102 2229 BOS-MKE 07:15-10:08 89 A220 open ? - 07:15-10:08 +0 N3062J - -\nf103 2832 LGA-BOS 07:15-08:24 47 E190 open ? - 07:15-08:24 +0 N229JB - -\nf104 2801 FLL-LAX 07:17-13:05 142 A321P open ? - 08:15-14:03 +58 N993JE - -\nf105 717 BOS-JFK 07:20-08:40 67 E190 open ? - 07:20-08:40 +0 N284JB - -\nf106 861 BOS-SJU 07:20-11:29 191 A321 open ? - 07:20-11:29 +0 N950JT - -\nf107 2295 EWR-MIA 07:20-10:32 143 A320 open ? - 07:20-10:32 +0 N603JB - -\nf108 109 BOS-JAX 07:24-10:25 129 A320 open ? - 07:24-10:25 +0 N708JB - -\nf109 461 LGA-PBI 07:24-10:26 146 A320 open ? - 07:24-10:26 +0 N607JB - -\nf110 467 ATL-FLL 07:30-09:20 138 A320 open ? - 07:30-09:20 +0 N784JB - -\nf111 813 HPN-FLL 07:30-10:33 121 A320 open ? - 07:30-10:33 +0 N598JB - -\nf112 1142 PBI-BDL 07:30-10:19 125 A320 open ? - 07:30-10:19 +0 N547JB - -\nf113 1554 DCA-BOS 07:30-09:00 69 E190 open ? - 07:30-09:00 +0 N281JB - -\nf114 2798 JAX-LAX 07:30-12:35 140 A320 open ? - 07:30-12:35 +0 N537JT - -\nf115 814 FLL-HPN 07:35-10:32 100 A320 open ? - 07:35-10:32 +0 N657JB - -\nf116 1589 EWR-SJU 07:35-11:25 150 A320 open ? - 07:35-11:25 +0 N827JB - -\nf117 1530 RSW-JFK 07:36-10:21 132 A320 open ? - 07:36-10:21 +0 N590JB - -\nf118 339 LGA-JAX 07:39-10:21 83 E190 open ? - 07:39-10:21 +0 N238JB - -\nf119 159 BOS-PHL 07:40-09:12 71 E190 open ? - 07:40-09:12 +0 N355JB - -\nf120 257 BOS-BZN 07:40-13:00 121 A320 open ? - 08:00-13:20 +20 N504JB - -\nf121 688 BNA-LGA 07:40-09:59 94 A320 open ? - 07:40-09:59 +0 N652JB - -\nf122 794 AUS-JFK 07:40-11:13 139 A320 open ? - 07:40-11:13 +0 N612JB - -\nf123 2041 BOS-CLE 07:40-09:50 69 E190 open ? - 08:00-10:10 +20 N274JB - -\nf124 2380 EWR-BOS 07:50-09:00 48 E190 open ? - 07:50-09:00 +0 N266JB - -\nf125 48 TPA-LGA 07:52-10:30 139 A320 open ? - 07:52-10:30 +0 N595JB - -\nf126 27 BOS-BWI 08:00-09:37 91 A220 open ? - 08:00-09:37 +0 N3065J - -\nf127 117 JFK-MSP 08:00-11:07 80 E190 open ? - 08:00-11:07 +0 N334JB - -\nf128 143 EWR-PBI 08:00-10:55 145 A320 open ? - 08:00-10:55 +0 N632JB - -\nf129 503 JFK-SJU 08:00-11:53 182 A321 open ? - 08:00-11:53 +0 N2047J - -\nf130 690 FLL-BOS 08:00-11:09 154 A321 open ? - 08:00-11:09 +0 N2044J - -\nf131 1067 HPN-PBI 08:00-10:58 89 E190 open ? - 08:00-10:58 +0 N206JB - -\nf132 1273 JFK-CHS 08:00-10:12 111 A320 open ? - 08:00-10:12 +0 N662JB - -\nf133 1447 HPN-TPA 08:00-11:00 88 E190 open ? - 08:00-11:00 +0 N236JB - -\nf134 1555 BOS-DCA 08:00-09:43 68 E190 open ? - 08:00-09:43 +0 N329JB - -\nf135 2123 JFK-LAX 08:00-14:17 141 A321P open ? - 08:00-14:17 +0 N982JB - -\nf136 2423 DCA-MCO 08:00-10:30 89 E190 open ? - 08:00-10:30 +0 N183JB - -\nf137 2431 BOS-LGA 08:00-09:17 48 E190 open ? - 08:00-09:17 +0 N273JB - -\nf138 35 JFK-PHX 08:02-13:30 129 A320 open ? - 08:02-13:30 +0 N709JB - -\nf139 977 FLL-SFO 08:02-14:21 136 A320 open ? - 08:02-14:21 +0 N706JB - -\nf140 610 DFW-JFK 08:05-11:28 134 A320 open ? - 08:05-11:28 +0 N635JB - -\nf141 2063 BOS-EYW 08:05-12:02 113 A220 open ? - 08:05-12:02 +0 N3023J - -\nf142 2710 JAX-BOS 08:05-10:38 86 E190 open ? - 08:05-10:38 +0 N179JB - -\nf143 16 JFK-SYR 08:10-09:20 69 E190 open ? - 08:10-09:20 +0 N368JB - -\nf144 281 JFK-IAH 08:10-12:13 141 A320 open ? - 08:10-12:13 +0 N649JB - -\nf145 519 JFK-ATL 08:10-10:41 85 E190 open ? - 08:10-10:41 +0 N193JB - -\nf146 2028 MCO-EWR 08:10-10:49 86 E190 open ? - 08:10-10:49 +0 N184JB - -\nf147 1402 FLL-JFK 08:13-11:00 168 A321 open ? - 08:13-11:00 +0 N994JL - -\nf148 332 LGA-BOS 08:15-09:24 47 E190 open ? - 08:15-09:24 +0 N190JB - -\nf149 1480 FLL-DCA 08:15-10:38 120 A320 open ? - 08:15-10:38 +0 N779JB - -\nf150 1519 BOS-MIA 08:20-11:47 182 A321 open ? - 08:20-11:47 +0 N955JB - -\nf151 163 JFK-SRQ 08:24-11:34 81 E190 open ? - 08:24-11:34 +0 N265JB - -\nf152 1288 PBI-PVD 08:25-11:13 81 E190 open ? - 08:25-11:13 +0 N337JB - -\nf153 1454 SJU-FLL 08:25-11:09 126 A320 open ? - 08:25-11:09 +0 N715JB - -\nf154 1081 BOS-RIC 08:26-10:20 76 E190 open ? - 08:26-10:20 +0 N216JB - -\nf155 2519 LGA-MSY 08:29-11:57 135 A320 open ? - 08:29-11:57 +0 N597JB - -\nf156 189 JFK-SAN 08:30-14:44 157 A321 open ? - 08:30-14:44 +0 N2002J - -\nf157 195 HPN-MCO 08:30-11:24 90 E190 open ? - 08:30-11:24 +0 N239JB - -\nf158 533 BDL-TPA 08:30-11:43 145 A320 open ? - 08:30-11:43 +0 N624JB - -\nf159 601 JFK-FLL 08:30-11:44 183 A321 open ? - 09:00-12:14 +30 N2027J - -\nf160 1854 DCA-BOS 08:30-10:02 69 E190 open ? - 08:30-10:02 +0 N228JB - -\nf161 2751 TPA-SJU 08:30-11:26 149 A320 open ? - 08:30-11:26 +0 N661JB - -\nf162 1668 PSE-MCO 08:32-11:40 129 A320 open ? - 09:15-12:23 +43 N760JB - -\nf163 1073 JFK-BNA 08:35-11:04 66 E190 open ? - 09:00-11:29 +25 N375JB - -\nf164 2101 BUF-JFK 08:36-09:59 121 A320 open ? - 08:36-09:59 +0 N655JB - -\nf165 252 RIC-BOS 08:40-10:13 100 A220 open ? - 08:40-10:13 +0 N3104J - -\nf166 1347 DCA-SJU 08:40-12:33 150 A320 open ? - 08:40-12:33 +0 N570JB - -\nf167 2274 TPA-EWR 08:45-11:29 146 A320 open ? - 08:45-11:29 +0 N618JB - -\nf168 2824 LAX-JFK 08:45-14:05 142 A321P open ? - 08:45-14:05 +0 N945JT - -\nf169 138 MCO-BDL 08:50-11:29 142 A320 open ? - 08:50-11:29 +0 N768JB - -\nf170 967 HPN-PBI 08:50-11:52 89 E190 open ? - 08:50-11:52 +0 N339JB - -\nf171 1565 BOS-SAT 08:50-13:43 115 A220 open ? - 08:50-13:43 +0 N3058J - -\nf172 1286 PIT-BOS 08:51-10:25 61 E190 open ? - 08:51-10:25 +0 N231JB - -\nf173 379 DCA-FLL 08:58-11:40 138 A320 open ? - 08:58-11:40 +0 N593JB - -\nf174 801 MCO-SLC 08:59-13:55 145 A320 open ? - 08:59-13:55 +0 N763JB - -\nf175 323 JFK-LAX 09:00-15:18 141 A321P open ? - 09:00-15:18 +0 N983JT - -\nf176 413 JFK-MCO 09:00-11:58 145 A320 open ? - 09:00-11:58 +0 N775JB - -\nf177 434 SFO-BOS 09:00-14:27 133 A321P open ? - 09:00-14:27 +0 N986JB - -\nf178 455 BOS-DCA 09:00-10:39 68 E190 open ? - 09:00-10:39 +0 N323JB - -\nf179 531 BOS-LGA 09:00-10:16 48 E190 open ? - 09:00-10:16 +0 N203JB - -\nf180 687 BOS-LAX 09:00-15:33 139 A321P open ? - 09:00-15:33 +0 N977JE - -\nf181 1002 FLL-JFK 09:00-11:47 168 A321 open ? - 09:00-11:47 +0 N2048J - -\nf182 1773 EWR-LAX 09:00-15:21 136 A321P open ? - 09:00-15:21 +0 N984JB - -\nf183 1097 BOS-ATL 09:01-12:07 77 E190 open ? - 09:01-12:07 +0 N229JB - -\nf184 1485 BOS-PIT 09:04-10:55 89 A220 open ? - 09:04-10:55 +0 N3085J - -\nf185 816 SFO-JFK 09:05-14:27 137 A321P open ? - 09:05-14:27 +0 N947JB - -\nf186 1634 JFK-BTV 09:07-10:21 77 E190 open ? - 09:07-10:21 +0 N192JB - -\nf187 85 BUF-MCO 09:10-12:02 114 A320 open ? - 09:10-12:02 +0 N746JB - -\nf188 411 JFK-LAS 09:10-14:55 133 A321P open ? - 09:10-14:55 +0 N979JT - -\nf189 1036 SJU-STT 09:10-09:44 91 A320 open ? - 09:10-09:44 +0 N531JL - -\nf190 2432 LGA-BOS 09:15-10:33 47 E190 open ? - 09:15-10:33 +0 N348JB - -\nf191 2467 BOS-CHS 09:15-11:48 91 E190 open ? - 09:15-11:48 +0 N307JB - -\nf192 2718 JFK-BOS 09:20-10:27 100 A321P open ? - 09:20-10:27 +0 N935JB - -\nf193 2747 LGA-SAV 09:25-11:51 79 E190 open ? - 09:25-11:51 +0 N258JB - -\nf194 577 FLL-SFO 09:29-15:55 133 A321P open ? - 09:29-15:55 +0 N969JT - -\nf195 115 JFK-SFO 09:30-16:10 132 A321P open ? - 09:30-16:10 +0 N985JT - -\nf196 953 JFK-PBI 09:30-12:29 147 A320 open ? - 09:30-12:29 +0 N594JB - -\nf197 1280 FLL-DCA 09:30-11:57 120 A320 open ? - 09:30-11:57 +0 N658JB - -\nf198 1954 DCA-BOS 09:30-11:02 69 E190 open ? - 09:30-11:02 +0 N267JB - -\nf199 2532 LAX-SLC 09:30-11:21 134 A320 open ? - 09:30-11:21 +0 N789JB - -\nf200 272 FLL-LGA 09:35-12:29 132 A320 open ? - 09:35-12:29 +0 N794JB - -\nf201 1245 BOS-CLT 09:35-12:07 89 E190 open ? - 09:35-12:07 +0 N306JB - -\nf202 1602 JFK-BUF 09:35-10:59 73 E190 open ? - 09:35-10:59 +0 N328JB - -\nf203 1371 LGA-FLL 09:37-12:47 145 A320 open ? - 09:37-12:47 +0 N534JB - -\nf204 2033 BOS-IAH 09:40-14:09 147 A320 open ? - 09:40-14:09 +0 N517JB - -\nf205 2087 LGA-BNA 09:40-12:12 63 E190 open ? - 09:40-12:12 +0 N324JB - -\nf206 2421 BOS-PBI 09:40-13:00 184 A321 open ? - 09:40-13:00 +0 N903JB - -\nf207 219 JFK-DTW 09:42-11:41 75 E190 open ? - 09:42-11:41 +0 N279JB - -\nf208 90 SAN-JFK 09:45-14:58 137 A321P open ? - 09:45-14:58 +0 N962JT - -\nf209 426 TPA-JFK 09:47-12:30 139 A320 open ? - 10:00-12:43 +13 N529JB - -\nf210 906 ORD-JFK 09:48-12:00 72 E190 open ? - 09:48-12:00 +0 N318JB - -\nf211 1553 FLL-SJU 09:48-12:22 136 A320 open ? - 09:48-12:22 +0 N520JB - -\nf212 154 PBI-JFK 09:49-12:30 125 A320 open ? - 09:49-12:30 +0 N506JB - -\nf213 1604 SJU-JFK 09:49-13:50 160 A321 open ? - 10:01-14:02 +12 N2038J - -\nf214 678 JAX-JFK 09:50-12:00 138 A320 open ? - 09:50-12:00 +0 N591JB - -\nf215 1091 FLL-BQN 09:50-12:15 146 A320 open ? - 09:50-12:15 +0 N648JB - -\nf216 1433 MCO-SJU 09:50-12:39 150 A320 open ? - 09:50-12:39 +0 N809JB - -\nf217 484 RDU-BOS 09:54-11:51 111 A220 open ? - 09:54-11:51 +0 N3102J - -\nf218 599 LGA-MCO 09:55-12:57 143 A320 open ? - 09:55-12:57 +0 N804JB - -\nf219 1584 MCO-JFK 09:55-12:30 135 A320 open ? - 09:55-12:30 +0 N645JB - -\nf220 360 PHL-BOS 09:57-11:10 64 E190 open ? - 09:57-11:10 +0 N355JB - -\nf221 2401 LGA-CHS 09:57-12:15 108 A320 open ? - 09:57-12:15 +0 N729JB - -\nf222 1529 JFK-RSW 09:59-13:12 141 A320 open ? - 09:59-13:12 +0 N636JB - -\nf223 2593 JFK-MIA 09:59-13:05 141 A320 open ? - 09:59-13:05 +0 N562JB - -\nf224 127 EWR-MCO 10:00-13:06 150 A320 open ? - 10:00-13:06 +0 N615JB - -\nf225 349 BOS-SAV 10:00-12:50 127 A220 open ? - 10:00-12:50 +0 N3112J - -\nf226 523 JFK-LAX 10:00-16:15 141 A321P open ? - 10:00-16:15 +0 N988JT - -\nf227 631 BOS-LGA 10:00-11:16 48 E190 open ? - 10:00-11:16 +0 N266JB - -\nf228 880 LAX-LAS 10:00-11:06 114 A320 open ? - 10:00-11:06 +0 N637JB - -\nf229 1655 BOS-DCA 10:00-11:38 68 E190 open ? - 10:00-11:38 +0 N281JB - -\nf230 1774 LAX-EWR 10:00-15:15 139 A321P open ? - 10:00-15:15 +0 N946JL - -\nf231 2433 DCA-PBI 10:00-12:37 130 A320 open ? - 10:00-12:37 +0 N633JB - -\nf232 2592 MIA-JFK 10:00-12:59 121 A320 open ? - 10:00-12:59 +0 N580JB - -\nf233 2860 PBI-LGA 10:01-12:46 128 A320 open ? - 10:42-13:27 +41 N605JB - -\nf234 315 SYR-JFK 10:03-11:10 81 E190 open ? - 10:03-11:10 +0 N368JB - -\nf235 224 LAX-JFK 10:05-15:30 142 A321P open ? - 10:05-15:30 +0 N934JB - -\nf236 406 FLL-EWR 10:05-13:07 162 A321 open ? - 10:44-13:46 +39 N971JT - -\nf237 176 MSY-JFK 10:12-12:59 142 A320 open ? - 10:12-12:59 +0 N559JB - -\nf238 532 LGA-BOS 10:15-11:30 47 E190 open ? - 10:15-11:30 +0 N273JB - -\nf239 2324 MCO-DCA 10:15-12:23 81 E190 open ? - 10:15-12:23 +0 N358JB - -\nf240 2466 FLL-BUF 10:15-13:15 131 A320 open ? - 10:15-13:15 +0 N536JB - -\nf241 2725 JFK-TPA 10:15-13:15 146 A320 open ? - 10:15-13:15 +0 N584JB - -\nf242 1940 SRQ-BOS 10:16-13:30 135 A320 open ? - 10:16-13:30 +0 N505JB - -\nf243 698 MCO-LGA 10:19-12:59 159 A321 open ? - 10:19-12:59 +0 N999JQ - -\nf244 526 BWI-BOS 10:25-11:49 86 A220 open ? - 10:25-11:49 +0 N3065J - -\nf245 1052 MCO-BOS 10:25-13:24 152 A321 open ? - 10:25-13:24 +0 N2086J - -\nf246 1833 BOS-SFO 10:25-17:25 137 A321P open ? - 10:25-17:25 +0 N990JL - -\nf247 2040 CLE-BOS 10:25-12:07 66 E190 open ? - 10:45-12:27 +20 N274JB - -\nf248 2201 JFK-FLL 10:25-13:29 183 A321 open ? - 10:25-13:29 +0 N965JT - -\nf249 2528 MCO-EWR 10:27-13:09 173 A321 open ? - 10:27-13:09 +0 N952JB - -\nf250 218 JFK-BOS 10:29-11:37 63 E190 open ? - 10:29-11:37 +0 N197JB - -\nf251 1167 HPN-PBI 10:29-13:30 89 E190 open ? - 10:29-13:30 +0 N346JB - -\nf252 288 LAX-BOS 10:30-15:59 138 A321P open ? - 10:30-15:59 +0 N968JT - -\nf253 387 BOS-LAX 10:30-17:02 139 A321P open ? - 10:30-17:02 +0 N964JT - -\nf254 654 DCA-BOS 10:30-12:00 69 E190 open ? - 10:30-12:00 +0 N329JB - -\nf255 1806 BNA-BOS 10:30-12:55 78 E190 open ? - 10:30-12:55 +0 N249JB - -\nf256 2903 JFK-SJU 10:30-14:21 147 A320 open ? - 10:30-14:21 +0 N641JB - -\nf257 215 BOS-DFW 10:35-15:09 137 A320 open ? - 10:35-15:09 +0 N663JB - -\nf258 682 RSW-DCA 10:36-13:00 102 A320 open ? - 10:36-13:00 +0 N634JB - -\nf259 725 JFK-SAT 10:40-15:01 139 A320 open ? - 10:40-15:01 +0 N703JB - -\nf260 2584 MCO-JFK 10:40-13:15 167 A321 open ? - 10:40-13:15 +0 N913JB - -\nf261 205 EWR-FLL 10:41-13:59 150 A320 open ? - 10:41-13:59 +0 N625JB - -\nf262 2283 BOS-RDU 10:41-12:52 111 A220 open ? - 10:41-12:52 +0 N3077J - -\nf263 538 BQN-JFK 10:43-14:33 163 A321 open ? - 10:43-14:33 +0 N2029J - -\nf264 1552 RSW-HPN 10:43-13:30 142 A320 open ? - 10:43-13:30 +0 N510JB - -\nf265 2577 BOS-LAS 10:45-16:53 126 A320 open ? - 10:45-16:53 +0 N527JL - -\nf266 1137 BOS-DTW 10:49-13:05 81 E190 open ? - 10:49-13:05 +0 N190JB - -\nf267 1459 BDL-FLL 10:49-14:04 147 A320 open ? - 10:49-14:04 +0 N646JB - -\nf268 94 MCO-HPN 10:51-13:29 86 E190 open ? - 10:51-13:29 +0 N309JB - -\nf269 680 MKE-JFK 10:55-12:59 83 A220 open ? - 10:55-12:59 +0 N3062J - -\nf270 1182 RIC-BOS 10:55-12:28 72 E190 open ? - 10:55-12:28 +0 N216JB - -\nf271 1248 TPA-LGA 10:55-13:31 139 A320 open ? - 10:55-13:31 +0 N796JB - -\nf272 1633 BTV-JFK 10:56-12:17 76 E190 open ? - 10:56-12:17 +0 N192JB - -\nf273 2474 CHS-JFK 10:57-12:49 120 A320 open ? - 10:57-12:49 +0 N662JB - -\nf274 871 JFK-SLC 10:59-16:17 145 A320 open ? - 10:59-16:17 +0 N659JB - -\nf275 1942 LGA-DEN 10:59-15:30 122 A320 open ? - 10:59-15:30 +0 N652JB - -\nf276 70 FLL-BOS 11:00-14:16 154 A321 open ? - 11:00-14:16 +0 N974JT - -\nf277 285 JFK-RDU 11:00-12:49 120 A320 open ? - 11:00-12:49 +0 N807JB - -\nf278 340 JAX-LGA 11:00-13:14 82 E190 open ? - 11:00-13:14 +0 N238JB - -\nf279 435 STT-SJU 11:00-11:40 95 A320 open ? - 11:00-11:40 +0 N531JL - -\nf280 591 BOS-TPA 11:00-14:28 129 A220 open ? - 11:00-14:28 +0 N3113J - -\nf281 818 JFK-BOS 11:00-12:12 63 E190 open ? - 11:00-12:12 +0 N284JB - -\nf282 1268 LAX-BDL 11:00-16:21 127 A320 open ? - 11:00-16:21 +0 N665JB - -\nf283 1755 BOS-DCA 11:00-12:34 68 E190 open ? - 11:00-12:34 +0 N317JB - -\nf284 2031 BOS-LGA 11:00-12:15 48 E190 open ? - 11:00-12:15 +0 N228JB - -\nf285 2051 BOS-MCO 11:00-14:14 87 E190 open ? - 11:00-14:14 +0 N231JB - -\nf286 186 JFK-ROC 11:05-12:29 80 E190 open ? - 11:05-12:29 +0 N283JB - -\nf287 1141 BDL-PBI 11:05-14:14 145 A320 open ? - 11:05-14:14 +0 N547JB - -\nf288 1410 JAX-BOS 11:10-13:45 129 A320 open ? - 11:10-13:45 +0 N708JB - -\nf289 62 PBI-LGA 11:11-14:00 128 A320 open ? - 11:11-14:00 +0 N607JB - -\nf290 2479 BOS-EWR 11:13-12:39 63 E190 open ? - 11:13-12:39 +0 N348JB - -\nf291 632 LGA-BOS 11:15-12:27 47 E190 open ? - 11:15-12:27 +0 N203JB - -\nf292 2222 MCI-JFK 11:15-14:07 98 A220 open ? - 11:15-14:07 +0 N3008J - -\nf293 1130 FLL-CHS 11:18-12:59 111 A320 open ? - 11:18-12:59 +0 N565JB - -\nf294 520 ATL-JFK 11:19-13:30 87 E190 open ? - 11:19-13:30 +0 N193JB - -\nf295 1334 SJU-MCO 11:19-14:28 165 A321 open ? - 11:19-14:28 +0 N970JB - -\nf296 2086 MIA-BDL 11:19-14:30 129 A320 open ? - 11:19-14:30 +0 N603JB - -\nf297 111 JFK-LAS 11:20-17:05 168 A321 open ? - 11:20-17:05 +0 N905JB - -\nf298 372 FLL-LGA 11:20-14:16 132 A320 open ? - 11:20-14:16 +0 N643JB - -\nf299 400 MSY-BOS 11:20-14:33 127 A320 open ? - 11:20-14:33 +0 N516JB - -\nf300 1317 BOS-JFK 11:20-12:33 101 A320 open ? - 13:47-15:00 +147 N523JB - -\nf301 2594 MIA-EWR 11:22-14:33 132 A320 open ? - 11:22-14:33 +0 N621JB - -\nf302 1700 LAX-FLL 11:24-16:20 150 A321P open ? - 11:24-16:20 +0 N992JB - -\nf303 271 LGA-FLL 11:25-14:35 145 A320 open ? - 11:25-14:35 +0 N595JB - -\nf304 2269 BOS-FLL 11:25-14:56 129 A220 open ? - 11:25-14:56 +0 N3104J - -\nf305 2020 FLL-ORH 11:28-14:30 118 A320 open ? - 11:28-14:30 +0 N608JB - -\nf306 554 DCA-BOS 11:30-13:01 69 E190 open ? - 11:30-13:01 +0 N323JB - -\nf307 595 HPN-MCO 11:30-14:27 145 A320 open ? - 11:30-14:27 +0 N657JB - -\nf308 892 TPA-BOS 11:30-14:27 174 A321 open ? - 11:30-14:27 +0 N959JB - -\nf309 2623 JFK-LAX 11:30-17:49 141 A321P open ? - 11:30-17:49 +0 N929JB - -\nf310 895 EWR-MCO 11:34-14:35 93 E190 open ? - 11:34-14:35 +0 N184JB - -\nf311 1901 BUF-JFK 11:34-12:55 75 E190 open ? - 11:34-12:55 +0 N328JB - -\nf312 144 PBI-EWR 11:40-14:35 123 A320 open ? - 11:40-14:35 +0 N632JB - -\nf313 2286 PIT-BOS 11:40-13:10 85 A220 open ? - 11:40-13:10 +0 N3085J - -\nf314 1074 BNA-JFK 11:41-14:00 65 E190 open ? - 12:04-14:23 +23 N375JB - -\nf315 118 MSP-JFK 11:43-14:30 74 E190 open ? - 11:43-14:30 +0 N334JB - -\nf316 522 PBI-BOS 11:43-14:50 79 E190 open ? - 11:43-14:50 +0 N206JB - -\nf317 2066 RSW-BOS 11:45-14:53 154 A321 open ? - 11:45-14:53 +0 N998JE - -\nf318 1843 BOS-PBI 11:50-15:13 92 E190 open ? - 11:50-15:13 +0 N179JB - -\nf319 879 LAS-LAX 11:53-13:09 99 A320 open ? - 11:53-13:09 +0 N637JB - -\nf320 2116 SFO-JFK 11:55-17:19 137 A321P open ? - 11:55-17:19 +0 N991JT - -\nf321 1287 PVD-PBI 11:58-15:08 95 E190 open ? - 11:58-15:08 +0 N337JB - -\nf322 83 JFK-MCO 12:00-14:54 145 A320 open ? - 12:00-14:54 +0 N639JB - -\nf323 579 DCA-FLL 12:00-14:42 138 A320 open ? - 12:00-14:42 +0 N779JB - -\nf324 731 BOS-LGA 12:00-13:14 48 E190 open ? - 12:00-13:14 +0 N267JB - -\nf325 1855 BOS-DCA 12:00-13:45 68 E190 open ? - 12:00-13:45 +0 N355JB - -\nf326 2223 JFK-LAX 12:00-18:15 141 A321P open ? - 12:00-18:15 +0 N961JT - -\nf327 2602 JFK-BUF 12:00-13:18 73 E190 open ? - 12:00-13:18 +0 N354JB - -\nf328 2651 BOS-MCO 12:00-15:18 175 A321 open ? - 12:00-15:18 +0 N972JT - -\nf329 165 BOS-RSW 12:10-15:48 181 A321 open ? - 12:10-15:48 +0 N975JT - -\nf330 2531 SLC-LAX 12:10-14:05 128 A320 open ? - 12:10-14:05 +0 N789JB - -\nf331 164 SRQ-JFK 12:11-15:00 82 E190 open ? - 12:11-15:00 +0 N265JB - -\nf332 732 LGA-BOS 12:15-13:27 47 E190 open ? - 12:15-13:27 +0 N266JB - -\nf333 1853 JFK-PBI 12:15-15:11 147 A320 open ? - 12:15-15:11 +0 N571JB - -\nf334 2417 BOS-JFK 12:15-13:30 67 E190 open ? - 12:15-13:30 +0 N273JB - -\nf335 276 SJU-BDL 12:16-16:18 125 A320 open ? - 12:16-16:18 +0 N827JB - -\nf336 220 DTW-JFK 12:17-14:00 74 E190 open ? - 12:17-14:00 +0 N279JB - -\nf337 2468 CHS-BOS 12:23-14:37 87 E190 open ? - 12:23-14:37 +0 N307JB - -\nf338 511 FLL-AUS 12:25-15:27 130 A320 open ? - 12:25-15:27 +0 N579JB - -\nf339 737 BDL-MCO 12:25-15:26 141 A320 open ? - 12:25-15:26 +0 N768JB - -\nf340 1314 MCO-JFK 12:25-14:58 135 A320 open ? - 12:25-14:58 +0 N568JB - -\nf341 462 SJU-BOS 12:29-16:43 168 A321 open ? - 12:29-16:43 +0 N950JT - -\nf342 1680 FLL-DCA 12:29-14:59 120 A320 open ? - 12:29-14:59 +0 N651JB - -\nf343 2748 SAV-LGA 12:29-14:32 72 E190 open ? - 12:29-14:32 +0 N258JB - -\nf344 353 FLL-SJU 12:30-15:01 136 A320 open ? - 12:30-15:01 +0 N589JB - -\nf345 1068 PBI-HPN 12:30-15:24 78 E190 open ? - 12:30-15:24 +0 N339JB - -\nf346 1534 TPA-BDL 12:30-15:15 150 A320 open ? - 12:30-15:15 +0 N624JB - -\nf347 2254 DCA-BOS 12:30-13:58 69 E190 open ? - 12:30-13:58 +0 N281JB - -\nf348 1138 AUS-BOS 12:35-16:20 123 A220 open ? - 12:35-16:20 +0 N3044J - -\nf349 896 ATL-BOS 12:42-15:14 76 E190 open ? - 12:42-15:14 +0 N229JB - -\nf350 1246 CLT-BOS 12:42-14:55 88 E190 open ? - 12:42-14:55 +0 N306JB - -\nf351 1923 DCA-MCO 12:42-15:08 144 A320 open ? - 12:42-15:08 +0 N658JB - -\nf352 2520 MSY-LGA 12:43-15:39 140 A320 open ? - 12:43-15:39 +0 N597JB - -\nf353 602 FLL-JFK 12:45-15:34 168 A321 open ? - 13:14-16:03 +29 N2027J - -\nf354 2064 EYW-BOS 12:47-16:08 77 A220 open ? - 12:47-16:08 +0 N3023J - -\nf355 1220 MIA-BOS 12:50-16:09 160 A321 open ? - 12:50-16:09 +0 N955JB - -\nf356 1439 BOS-AUS 12:50-17:32 111 A220 open ? - 12:50-17:32 +0 N3065J - -\nf357 2156 DEN-LGA 12:51-16:30 124 A320 open ? - 12:51-16:30 +0 N766JB - -\nf358 324 LAX-JFK 12:54-18:12 142 A321P open ? - 12:54-18:12 +0 N923JB - -\nf359 781 BOS-RIC 12:54-14:44 76 E190 open ? - 12:54-14:44 +0 N197JB - -\nf360 904 SJU-JFK 12:55-17:00 160 A321 open ? - 12:55-17:00 +0 N2047J - -\nf361 105 JFK-ORD 13:00-15:45 68 E190 open ? - 13:00-15:45 +0 N368JB - -\nf362 125 JFK-TPA 13:00-15:59 146 A320 open ? - 13:00-15:59 +0 N588JB - -\nf363 759 BOS-PHL 13:00-14:38 71 E190 open ? - 13:00-14:38 +0 N329JB - -\nf364 1055 BOS-DCA 13:00-14:47 68 E190 open ? - 13:00-14:47 +0 N284JB - -\nf365 1470 CHS-LGA 13:00-15:14 88 A320 open ? - 13:00-15:14 +0 N729JB - -\nf366 1601 JFK-FLL 13:00-16:08 183 A321 open ? - 13:00-16:08 +0 N966JT - -\nf367 1881 JFK-IAH 13:00-17:06 141 A320 open ? - 13:00-17:06 +0 N526JL - -\nf368 2128 BQN-MCO 13:00-15:57 125 A320 open ? - 13:00-15:57 +0 N648JB - -\nf369 2231 BOS-LGA 13:00-14:16 48 E190 open ? - 13:02-14:18 +2 N203JB - -\nf370 82 IAH-JFK 13:05-16:35 139 A320 open ? - 13:05-16:35 +0 N649JB - -\nf371 485 ROC-JFK 13:05-14:24 80 E190 open ? - 13:41-15:00 +36 N283JB - -\nf372 2088 BNA-LGA 13:07-15:30 58 E190 open ? - 13:07-15:30 +0 N324JB - -\nf373 2981 DCA-PBI 13:09-15:45 80 E190 open ? - 13:09-15:45 +0 N358JB - -\nf374 835 BOS-MSP 13:13-16:40 85 E190 open ? - 13:13-16:40 +0 N274JB - -\nf375 46 LGA-TPA 13:14-16:19 141 A320 open ? - 13:14-16:19 +0 N794JB - -\nf376 1754 SJU-FLL 13:14-16:04 126 A320 open ? - 13:14-16:04 +0 N520JB - -\nf377 1531 MCO-BQN 13:15-15:57 135 A320 open ? - 13:15-15:57 +0 N828JB - -\nf378 2232 LGA-BOS 13:15-14:29 47 E190 open ? - 13:15-14:29 +0 N228JB - -\nf379 2719 JFK-ATL 13:15-15:41 138 A320 open ? - 13:15-15:41 +0 N556JB - -\nf380 1874 LAX-EWR 13:17-18:40 139 A321P open ? - 13:17-18:40 +0 N942JB - -\nf381 180 EWR-BOS 13:20-14:35 48 E190 open ? - 13:20-14:35 +0 N348JB - -\nf382 1196 FLL-PVD 13:20-16:15 137 A320 open ? - 13:20-16:15 +0 N554JB - -\nf383 2993 JFK-MIA 13:20-16:29 131 A320 open ? - 13:20-16:29 +0 N592JB - -\nf384 2334 PBI-DCA 13:22-15:51 107 A320 open ? - 13:22-15:51 +0 N594JB - -\nf385 784 MCO-JFK 13:24-16:00 84 E190 open ? - 13:24-16:00 +0 N239JB - -\nf386 934 SJU-MCO 13:25-16:33 134 A320 open ? - 13:25-16:33 +0 N570JB - -\nf387 116 JFK-SYR 13:30-14:41 69 E190 open ? - 13:30-14:41 +0 N318JB - -\nf388 120 MCO-ALB 13:30-16:14 145 A320 open ? - 13:30-16:14 +0 N712JB - -\nf389 1054 PBI-JFK 13:30-16:10 125 A320 open ? - 13:30-16:10 +0 N633JB - -\nf390 1515 JFK-SFO 13:30-20:05 132 A321P open ? - 13:30-20:05 +0 N981JT - -\nf391 2454 DCA-BOS 13:30-15:05 69 E190 open ? - 13:30-15:05 +0 N317JB - -\nf392 1372 FLL-LGA 13:32-16:26 132 A320 open ? - 13:32-16:26 +0 N821JB - -\nf393 936 SJU-STT 13:34-14:12 91 A320 open ? - 13:34-14:12 +0 N809JB - -\nf394 1673 JFK-BNA 13:34-16:00 108 A320 open ? - 13:34-16:00 +0 N655JB - -\nf395 250 SAV-BOS 13:35-15:58 124 A220 open ? - 13:35-15:58 +0 N3112J - -\nf396 1483 JFK-MCO 13:35-16:33 145 A320 open ? - 13:35-16:33 +0 N521JB - -\nf397 2036 DTW-BOS 13:40-15:34 73 E190 open ? - 13:40-15:34 +0 N190JB - -\nf398 2184 RDU-BOS 13:40-15:43 111 A220 open ? - 13:40-15:43 +0 N3077J - -\nf399 803 JFK-SJU 13:45-17:33 147 A320 open ? - 13:45-17:33 +0 N612JB - -\nf400 1131 CHS-FLL 13:45-15:17 130 A320 open ? - 13:45-15:17 +0 N565JB - -\nf401 2736 LAX-SFO 13:45-15:13 120 A320 open ? - 13:45-15:13 +0 N656JB - -\nf402 2885 LAX-MIA 13:45-18:41 144 A321P open ? - 13:45-18:41 +0 N989JT - -\nf403 1694 MCO-HPN 13:49-16:29 139 A320 open ? - 13:49-16:29 +0 N746JB - -\nf404 256 BZN-BOS 13:50-18:00 121 A320 open ? - 14:05-18:15 +15 N504JB - -\nf405 641 BOS-CLE 13:50-15:56 96 A220 open ? - 13:50-15:56 +0 N3102J - -\nf406 1919 LGA-MSY 13:50-17:20 135 A320 open ? - 14:12-17:42 +22 N605JB - -\nf407 2669 LGA-CHS 13:50-16:12 66 E190 open ? - 13:50-16:12 +0 N238JB - -\nf408 86 RDU-JFK 13:52-15:30 129 A320 open ? - 13:52-15:30 +0 N807JB - -\nf409 2601 BUF-JFK 13:53-15:16 75 E190 open ? - 13:53-15:16 +0 N354JB - -\nf410 23 DCA-MCO 13:55-16:23 144 A320 open ? - 13:55-16:23 +0 N634JB - -\nf411 399 LGA-MCO 13:59-17:01 177 A321 open ? - 13:59-17:01 +0 N999JQ - -\nf412 126 TPA-JFK 14:00-16:39 139 A320 open ? - 14:00-16:39 +0 N584JB - -\nf413 620 SAN-BOS 14:00-19:24 146 A321P open ? - 14:00-19:24 +0 N987JT - -\nf414 755 BOS-DCA 14:00-15:44 68 E190 open ? - 14:00-15:44 +0 N216JB - -\nf415 831 BOS-LGA 14:00-15:17 48 E190 open ? - 14:00-15:17 +0 N249JB - -\nf416 2465 BUF-FLL 14:00-17:05 131 A320 open ? - 14:00-17:05 +0 N536JB - -\nf417 334 SFO-BOS 14:01-19:34 133 A321P open ? - 14:01-19:34 +0 N943JT - -\nf418 2392 MIA-JFK 14:01-17:00 121 A320 open ? - 14:01-17:00 +0 N562JB - -\nf419 322 PBI-BOS 14:05-17:13 158 A321 open ? - 14:05-17:13 +0 N903JB - -\nf420 727 BOS-BWI 14:05-15:40 91 A220 open ? - 14:05-15:40 +0 N3085J - -\nf421 2029 JFK-PBI 14:05-17:01 91 E190 open ? - 14:05-17:01 +0 N192JB - -\nf422 2330 RSW-JFK 14:05-16:59 132 A320 open ? - 14:05-16:59 +0 N636JB - -\nf423 134 JFK-BTV 14:10-15:23 77 E190 open ? - 14:10-15:23 +0 N328JB - -\nf424 843 EWR-PBI 14:10-17:14 179 A321 open ? - 14:10-17:14 +0 N952JB - -\nf425 578 SFO-FLL 14:11-19:37 149 A321P open ? - 14:11-19:37 +0 N937JB - -\nf426 424 LAX-JFK 14:15-19:35 142 A321P open ? - 14:18-19:38 +3 N976JT - -\nf427 832 LGA-BOS 14:15-15:27 47 E190 open ? - 14:15-15:27 +0 N267JB - -\nf428 2025 JFK-TPA 14:15-17:11 180 A321 open ? - 14:15-17:11 +0 N2048J - -\nf429 1351 HPN-PBI 14:16-17:21 89 E190 open ? - 14:16-17:21 +0 N309JB - -\nf430 128 MCO-EWR 14:20-17:11 140 A320 open ? - 14:20-17:11 +0 N760JB - -\nf431 36 PHX-JFK 14:21-19:00 141 A320 open ? - 14:21-19:00 +0 N709JB - -\nf432 1209 BOS-JAX 14:28-17:30 86 E190 open ? - 14:28-17:30 +0 N323JB - -\nf433 2061 LGA-RSW 14:29-17:51 120 A320 open ? - 14:29-17:51 +0 N796JB - -\nf434 295 JFK-AUS 14:30-18:40 142 A320 open ? - 14:30-18:40 +0 N635JB - -\nf435 393 BOS-DEN 14:30-19:20 124 A320 open ? - 14:30-19:20 +0 N505JB - -\nf436 913 HPN-FLL 14:30-17:33 121 A320 open ? - 14:30-17:33 +0 N510JB - -\nf437 1566 SAT-BOS 14:30-18:28 126 A220 open ? - 14:30-18:28 +0 N3058J - -\nf438 1902 FLL-JFK 14:30-17:22 168 A321 open ? - 14:30-17:22 +0 N965JT - -\nf439 2554 DCA-BOS 14:30-16:03 69 E190 open ? - 14:30-16:03 +0 N355JB - -\nf440 2473 JFK-CHS 14:35-16:44 68 E190 open ? - 14:35-16:44 +0 N193JB - -\nf441 1019 JFK-DTW 14:39-16:37 75 E190 open ? - 14:39-16:37 +0 N273JB - -\nf442 207 BOS-BNA 14:40-17:44 108 A320 open ? - 14:40-17:44 +0 N708JB - -\nf443 1388 LAX-BOS 14:40-20:10 137 A321P open ? - 14:40-20:10 +0 N967JT - -\nf444 53 JFK-PBI 14:45-17:41 147 A320 open ? - 14:45-17:41 +0 N591JB - -\nf445 761 LGA-PBI 14:45-17:52 146 A320 open ? - 14:45-17:52 +0 N607JB - -\nf446 802 SLC-MCO 14:45-18:54 150 A320 open ? - 14:45-18:54 +0 N763JB - -\nf447 1527 EWR-MCO 14:47-17:55 186 A321 open ? - 14:47-17:55 +0 N971JT - -\nf448 18 FLL-JAX 14:49-16:08 103 A320 open ? - 14:49-16:08 +0 N598JB - -\nf449 383 JFK-MCO 14:50-17:49 179 A321 open ? - 14:50-17:49 +0 N913JB - -\nf450 2980 LAX-LAS 14:50-15:58 114 A320 open ? - 14:50-15:58 +0 N537JT - -\nf451 1098 MCO-LGA 14:53-17:30 129 A320 open ? - 14:53-17:30 +0 N615JB - -\nf452 932 IAH-BOS 14:54-18:44 138 A320 open ? - 14:54-18:44 +0 N517JB - -\nf453 776 JFK-ORH 14:59-15:58 51 E190 open ? - 14:59-15:58 +0 N279JB - -\nf454 623 JFK-LAX 15:00-21:21 141 A321P open ? - 15:00-21:21 +0 N2142J - -\nf455 931 BOS-LGA 15:00-16:19 48 E190 open ? - 15:00-16:19 +0 N266JB - -\nf456 1135 STT-SJU 15:00-15:41 95 A320 open ? - 15:00-15:41 +0 N809JB - -\nf457 1168 PBI-HPN 15:00-17:53 126 A320 open ? - 15:00-17:53 +0 N547JB - -\nf458 1401 JFK-FLL 15:00-18:13 183 A321 open ? - 15:00-18:13 +0 N2016J - -\nf459 1744 PBI-BOS 15:00-18:13 79 E190 open ? - 15:00-18:13 +0 N346JB - -\nf460 1955 BOS-DCA 15:00-16:42 68 E190 open ? - 15:00-16:42 +0 N281JB - -\nf461 221 BOS-PBI 15:02-18:34 184 A321 open ? - 15:02-18:34 +0 N2044J - -\nf462 2339 LGA-JAX 15:05-17:45 135 A320 open ? - 15:05-17:45 +0 N643JB - -\nf463 1990 SJU-EWR 15:06-19:23 142 A320 open ? - 15:06-19:23 +0 N641JB - -\nf464 2160 PHL-BOS 15:13-16:40 64 E190 open ? - 15:13-16:40 +0 N329JB - -\nf465 2424 MCO-DCA 15:14-17:25 132 A320 open ? - 15:14-17:25 +0 N657JB - -\nf466 432 LGA-BOS 15:15-16:28 47 E190 open ? - 15:15-16:28 +0 N203JB - -\nf467 524 LAX-JFK 15:15-20:36 142 A321P open ? - 15:15-20:36 +0 N993JE - -\nf468 592 TPA-BOS 15:15-18:20 122 A220 open ? - 15:15-18:20 +0 N3113J - -\nf469 2119 ORH-FLL 15:15-18:31 137 A320 open ? - 15:15-18:31 +0 N608JB - -\nf470 2331 LGA-SRQ 15:15-18:26 85 E190 open ? - 15:15-18:26 +0 N258JB - -\nf471 1815 SYR-JFK 15:16-16:30 81 E190 open ? - 15:16-16:30 +0 N318JB - -\nf472 1482 RIC-BOS 15:19-17:05 72 E190 open ? - 15:19-17:05 +0 N197JB - -\nf473 494 MCO-EWR 15:20-18:10 86 E190 open ? - 15:20-18:10 +0 N231JB - -\nf474 505 EWR-FLL 15:20-18:30 150 A320 open ? - 15:20-18:30 +0 N644JB - -\nf475 1811 EWR-RSW 15:20-18:33 126 A320 open ? - 15:20-18:33 +0 N705JB - -\nf476 37 BDL-MCO 15:25-18:26 141 A320 open ? - 15:25-18:26 +0 N603JB - -\nf477 79 BOS-EWR 15:25-17:08 63 E190 open ? - 15:25-17:08 +0 N228JB - -\nf478 1037 BOS-DTW 15:25-17:45 81 E190 open ? - 15:25-17:45 +0 N348JB - -\nf479 1133 MCO-SJU 15:29-18:19 185 A321 open ? - 15:29-18:19 +0 N970JB - -\nf480 1865 BOS-RSW 15:29-19:04 181 A321 open ? - 15:29-19:04 +0 N2086J - -\nf481 100 LAX-FLL 15:30-20:24 150 A321P open ? - 15:30-20:24 +0 N982JB - -\nf482 679 JFK-MKE 15:30-18:09 88 A220 open ? - 15:30-18:09 +0 N3062J - -\nf483 1061 BOS-SJU 15:30-19:32 143 A320 open ? - 15:30-19:32 +0 N516JB - -\nf484 1254 DCA-BOS 15:30-17:05 69 E190 open ? - 15:30-17:05 +0 N284JB - -\nf485 2052 MCO-BOS 15:30-18:31 76 E190 open ? - 15:30-18:31 +0 N184JB - -\nf486 2221 JFK-MCI 15:30-19:09 96 A220 open ? - 15:30-19:09 +0 N3008J - -\nf487 2902 JFK-BUF 15:30-17:04 73 E190 open ? - 15:30-17:04 +0 N375JB - -\nf488 416 SFO-JFK 15:35-21:01 137 A321P open ? - 15:35-21:01 +0 N978JB - -\nf489 978 SFO-FLL 15:35-20:59 150 A320 open ? - 15:35-20:59 +0 N706JB - -\nf490 19 BOS-SAN 15:37-22:10 144 A321P open ? - 15:37-22:10 +0 N944JT - -\nf491 2102 FLL-JFK 15:38-18:30 136 A320 open ? - 15:38-18:30 +0 N715JB - -\nf492 270 MCO-RIC 15:39-17:33 134 A320 open ? - 15:39-17:33 +0 N639JB - -\nf493 1745 BOS-CLT 15:40-18:10 89 E190 open ? - 15:40-18:10 +0 N307JB - -\nf494 1719 JFK-ATL 15:43-18:22 138 A320 open ? - 15:43-18:22 +0 N506JB - -\nf495 1733 DCA-PBI 15:45-18:20 130 A320 open ? - 15:45-18:20 +0 N651JB - -\nf496 2884 MCO-JFK 15:54-18:29 135 A320 open ? - 15:54-18:29 +0 N658JB - -\nf497 190 SAN-JFK 15:55-21:07 172 A321 open ? - 15:55-21:07 +0 N2002J - -\nf498 2251 BOS-MCO 15:55-19:11 175 A321 open ? - 15:55-19:11 +0 N974JT - -\nf499 2469 BOS-FLL 15:55-19:25 184 A321 open ? - 15:55-19:25 +0 N959JB - -\nf500 535 SFO-LAX 15:58-17:24 129 A320 open ? - 15:58-17:24 +0 N656JB - -\nf501 371 LGA-FLL 15:59-19:10 145 A320 open ? - 15:59-19:10 +0 N729JB - -\nf502 433 BTV-JFK 15:59-17:24 76 E190 open ? - 15:59-17:24 +0 N328JB - -\nf503 495 HPN-MCO 15:59-18:56 90 E190 open ? - 15:59-18:56 +0 N339JB - -\nf504 883 JFK-MCO 15:59-19:02 89 E190 open ? - 15:59-19:02 +0 N265JB - -\nf505 2901 JFK-FLL 15:59-19:15 183 A321 open ? - 15:59-19:15 +0 N2038J - -\nf506 697 BOS-ATL 16:00-19:14 77 E190 open ? - 16:00-19:14 +0 N206JB - -\nf507 1031 BOS-LGA 16:00-17:17 48 E190 open ? - 16:00-17:17 +0 N306JB - -\nf508 1214 DFW-BOS 16:00-19:38 123 A320 open ? - 16:00-19:38 +0 N663JB - -\nf509 1355 BOS-DCA 16:00-17:41 68 E190 open ? - 16:00-17:41 +0 N317JB - -\nf510 1475 BDL-SJU 16:00-19:49 143 A320 open ? - 16:00-19:49 +0 N624JB - -\nf511 1677 JFK-JAX 16:00-18:39 141 A320 open ? - 16:00-18:39 +0 N645JB - -\nf512 472 FLL-LGA 16:02-18:57 132 A320 open ? - 16:02-18:57 +0 N593JB - -\nf513 448 LAS-JFK 16:06-21:00 129 A321P open ? - 16:06-21:00 +0 N979JT - -\nf514 1826 SAT-JFK 16:10-20:00 150 A320 open ? - 16:10-20:00 +0 N703JB - -\nf515 1962 PBI-LGA 16:10-19:04 79 E190 open ? - 16:10-19:04 +0 N337JB - -\nf516 54 PBI-JFK 16:11-19:00 125 A320 open ? - 16:11-19:00 +0 N571JB - -\nf517 656 MCO-SYR 16:14-18:55 142 A320 open ? - 16:14-18:55 +0 N768JB - -\nf518 512 AUS-FLL 16:15-18:52 148 A320 open ? - 16:15-18:52 +0 N579JB - -\nf519 1032 LGA-BOS 16:15-17:31 47 E190 open ? - 16:15-17:31 +0 N249JB - -\nf520 2070 FLL-BOS 16:15-19:28 108 A220 open ? - 16:15-19:28 +0 N3104J - -\nf521 153 DEN-LGA 16:23-20:00 124 A320 open ? - 16:23-20:00 +0 N652JB - -\nf522 1026 BWI-BOS 16:25-17:55 86 A220 open ? - 16:25-17:55 +0 N3085J - -\nf523 2187 LGA-BNA 16:25-18:57 102 A320 open ? - 16:25-18:57 +0 N597JB - -\nf524 2582 PBI-DCA 16:25-18:44 66 E190 open ? - 16:25-18:44 +0 N179JB - -\nf525 720 ATL-JFK 16:26-18:40 140 A320 open ? - 16:26-18:40 +0 N556JB - -\nf526 2073 EWR-LAX 16:29-22:44 136 A321P open ? - 16:29-22:44 +0 N946JL - -\nf527 341 JFK-SAV 16:30-18:50 84 E190 open ? - 16:30-18:50 +0 N283JB - -\nf528 823 JFK-LAX 16:30-22:47 141 A321P open ? - 16:30-22:47 +0 N980JT - -\nf529 1961 LGA-PBI 16:30-19:32 90 E190 open ? - 16:30-19:32 +0 N324JB - -\nf530 2654 DCA-BOS 16:30-18:06 69 E190 open ? - 16:30-18:06 +0 N216JB - -\nf531 2852 MCO-BOS 16:30-19:30 152 A321 open ? - 16:30-19:30 +0 N972JT - -\nf532 1374 LAX-EWR 16:31-21:54 139 A321P open ? - 16:31-21:54 +0 N983JT - -\nf533 615 JFK-SFO 16:32-23:03 132 A321P open ? - 16:32-23:03 +0 N947JB - -\nf534 267 BOS-CHS 16:35-19:09 91 E190 open ? - 16:35-19:09 +0 N229JB - -\nf535 1579 DCA-FLL 16:37-19:18 138 A320 open ? - 16:37-19:18 +0 N594JB - -\nf536 888 LAX-BOS 16:38-22:03 137 A321P open ? - 16:38-22:03 +0 N984JB - -\nf537 2215 BOS-BUF 16:40-18:15 81 E190 open ? - 16:40-18:15 +0 N267JB - -\nf538 2783 BOS-RDU 16:40-18:53 111 A220 open ? - 16:40-18:53 +0 N3077J - -\nf539 1106 ORD-JFK 16:43-18:59 72 E190 open ? - 16:43-18:59 +0 N368JB - -\nf540 640 CLE-BOS 16:45-18:32 93 A220 open ? - 16:45-18:32 +0 N3102J - -\nf541 1674 BNA-JFK 16:45-19:05 105 A320 open ? - 16:45-19:05 +0 N655JB - -\nf542 24 MCO-DCA 16:48-18:59 132 A320 open ? - 16:48-18:59 +0 N648JB - -\nf543 166 RSW-BOS 16:50-19:58 154 A321 open ? - 16:50-19:58 +0 N975JT - -\nf544 2670 CHS-LGA 16:50-18:53 55 E190 open ? - 16:50-18:53 +0 N238JB - -\nf545 2979 LAS-LAX 16:50-18:09 99 A320 open ? - 16:50-18:09 +0 N537JT - -\nf546 2826 TPA-JFK 16:51-19:30 139 A320 open ? - 16:51-19:30 +0 N588JB - -\nf547 17 JAX-FLL 16:53-18:11 124 A320 open ? - 16:53-18:11 +0 N598JB - -\nf548 1191 BOS-TPA 16:53-20:20 129 A220 open ? - 16:53-20:20 +0 N3112J - -\nf549 51 BOS-MCO 16:59-20:22 175 A321 open ? - 16:59-20:22 +0 N998JE - -\nf550 359 JFK-BUR 16:59-23:19 129 A320 open ? - 16:59-23:19 +0 N529JB - -\nf551 1185 JFK-RDU 16:59-18:52 74 E190 open ? - 16:59-18:52 +0 N354JB - -\nf552 1271 ORH-JFK 16:59-18:00 61 E190 open ? - 16:59-18:00 +0 N279JB - -\nf553 624 LAX-JFK 17:00-22:16 142 A321P open ? - 17:00-22:16 +0 N977JE - -\nf554 1231 BOS-LGA 17:00-18:18 48 E190 open ? - 17:00-18:18 +0 N190JB - -\nf555 2055 BOS-DCA 17:00-18:50 68 E190 open ? - 17:00-18:50 +0 N355JB - -\nf556 714 FLL-HPN 17:04-19:59 100 A320 open ? - 17:04-19:59 +0 N552JB - -\nf557 2810 TPA-LGA 17:04-19:44 139 A320 open ? - 17:04-19:44 +0 N794JB - -\nf558 119 ALB-MCO 17:05-20:14 144 A320 open ? - 17:05-20:14 +0 N712JB - -\nf559 1092 BQN-FLL 17:05-19:41 117 A320 open ? - 17:05-19:41 +0 N828JB - -\nf560 1734 SFO-BOS 17:05-22:42 133 A321P open ? - 17:05-22:42 +0 N969JT - -\nf561 1348 SJU-DCA 17:08-21:02 128 A320 open ? - 17:08-21:02 +0 N661JB - -\nf562 2711 EWR-MCO 17:09-20:05 150 A320 open ? - 17:09-20:05 +0 N640JB - -\nf563 811 BOS-ORD 17:10-20:11 111 A220 open ? - 17:10-20:11 +0 N3023J - -\nf564 1197 PVD-FLL 17:10-20:29 137 A320 open ? - 17:10-20:29 +0 N554JB - -\nf565 1586 MCO-BUF 17:10-19:46 131 A320 open ? - 17:10-19:46 +0 N634JB - -\nf566 1729 JFK-RSW 17:10-20:12 141 A320 open ? - 17:10-20:12 +0 N662JB - -\nf567 872 SLC-JFK 17:11-21:30 132 A320 open ? - 17:11-21:30 +0 N659JB - -\nf568 968 PBI-HPN 17:13-20:00 78 E190 open ? - 17:13-20:00 +0 N358JB - -\nf569 1120 DTW-JFK 17:13-18:59 74 E190 open ? - 17:13-18:59 +0 N273JB - -\nf570 606 FLL-EWR 17:15-20:24 131 A320 open ? - 17:15-20:24 +0 N625JB - -\nf571 1132 LGA-BOS 17:15-18:29 47 E190 open ? - 17:15-18:29 +0 N266JB - -\nf572 1799 LGA-MCO 17:15-20:18 143 A320 open ? - 17:15-20:18 +0 N821JB - -\nf573 67 BDL-LAX 17:20-23:26 111 A320 open ? - 17:20-23:26 +0 N827JB - -\nf574 187 BOS-LAX 17:20-23:55 140 A321P open ? - 17:20-23:55 +0 N986JB - -\nf575 836 MSP-BOS 17:20-20:08 69 E190 open ? - 17:20-20:08 +0 N274JB - -\nf576 1033 MCO-SJU 17:20-20:12 150 A320 open ? - 17:20-20:12 +0 N521JB - -\nf577 2093 JFK-MIA 17:20-20:34 141 A320 open ? - 17:20-20:34 +0 N580JB - -\nf578 2030 SJU-JFK 17:24-21:30 130 A320 open ? - 17:24-21:30 +0 N531JL - -\nf579 2185 BOS-PIT 17:25-19:19 64 E190 open ? - 17:25-19:19 +0 N203JB - -\nf580 263 JFK-SEA 17:29-23:49 118 A321P open ? - 17:29-23:49 +0 N962JT - -\nf581 1189 JFK-SAN 17:29-23:34 157 A321 open ? - 17:29-23:34 +0 N2027J - -\nf582 2053 JFK-PBI 17:29-20:22 147 A320 open ? - 17:29-20:22 +0 N586JB - -\nf583 2715 JFK-LAX 17:29-23:46 141 A321P open ? - 17:29-23:46 +0 N934JB - -\nf584 101 FLL-LAX 17:30-23:25 142 A321P open ? - 17:30-23:25 +0 N992JB - -\nf585 135 JFK-PHX 17:30-23:00 129 A320 open ? - 17:30-23:00 +0 N568JB - -\nf586 1354 DCA-BOS 17:30-19:05 69 E190 open ? - 17:30-19:05 +0 N281JB - -\nf587 2892 MIA-JFK 17:30-20:30 112 A320 open ? - 17:30-20:30 +0 N592JB - -\nf588 1274 CHS-JFK 17:34-19:30 74 E190 open ? - 17:34-19:30 +0 N193JB - -\nf589 1798 MCO-LGA 17:34-20:15 129 A320 open ? - 17:34-20:15 +0 N570JB - -\nf590 1281 BOS-RIC 17:35-19:29 106 A220 open ? - 18:40-20:34 +65 N3085J - -\nf591 616 SFO-JFK 17:39-23:00 137 A321P open ? - 17:39-23:00 +0 N985JT - -\nf592 47 LGA-TPA 17:40-20:46 141 A320 open ? - 17:40-20:46 +0 N766JB - -\nf593 178 LAS-BOS 17:45-22:42 124 A320 open ? - 17:45-22:42 +0 N527JL - -\nf594 2680 EWR-BOS 17:45-19:14 48 E190 open ? - 17:45-19:14 +0 N228JB - -\nf595 2830 PBI-JFK 17:48-20:35 77 E190 open ? - 17:48-20:35 +0 N192JB - -\nf596 301 BUF-JFK 17:49-19:16 75 E190 open ? - 17:49-19:16 +0 N375JB - -\nf597 777 BOS-LAS 17:49-00:04+1 168 A321 open ? - 17:49-00:04+1 +0 N955JB - -\nf598 1294 MCO-HPN 17:53-20:30 86 E190 open ? - 17:53-20:30 +0 N183JB - -\nf599 2825 JFK-TPA 17:55-20:57 146 A320 open ? - 17:55-20:57 +0 N523JB - -\nf600 419 JFK-ATL 17:59-20:35 85 E190 open ? - 17:59-20:35 +0 N239JB - -\nf601 1186 JFK-ROC 17:59-19:24 80 E190 open ? - 17:59-19:24 +0 N318JB - -\nf602 1331 BOS-LGA 18:00-19:21 48 E190 open ? - 18:00-19:21 +0 N329JB - -\nf603 1524 LAX-JFK 18:00-23:11 142 A321P open ? - 18:00-23:11 +0 N988JT - -\nf604 2255 BOS-DCA 18:00-19:46 68 E190 open ? - 18:00-19:46 +0 N197JB - -\nf605 1882 IAH-JFK 18:01-21:30 139 A320 open ? - 18:01-21:30 +0 N526JL - -\nf606 33 BOS-SFO 18:05-00:57+1 137 A321P open ? - 18:05-00:57+1 +0 N968JT - -\nf607 1920 MSY-LGA 18:05-20:57 140 A320 open ? - 18:27-21:19 +22 N605JB - -\nf608 1849 JFK-PSP 18:10-00:07+1 116 A320 open ? - 18:10-00:07+1 +0 N807JB - -\nf609 1979 DCA-FLL 18:10-20:50 138 A320 open ? - 18:10-20:50 +0 N657JB - -\nf610 529 FLL-SAN 18:12-23:50 130 A320 open ? - 18:12-23:50 +0 N779JB - -\nf611 2202 FLL-JFK 18:12-21:03 136 A320 open ? - 18:12-21:03 +0 N565JB - -\nf612 1244 PBI-EWR 18:14-21:13 151 A321 open ? - 18:14-21:13 +0 N952JB - -\nf613 10 JAX-BOS 18:15-20:49 86 E190 open ? - 18:15-20:49 +0 N323JB - -\nf614 148 LAS-JFK 18:15-23:06 163 A321 open ? - 18:15-23:06 +0 N905JB - -\nf615 699 LGA-MCO 18:15-21:18 143 A320 open ? - 18:15-21:18 +0 N615JB - -\nf616 1152 MCO-BOS 18:15-21:14 152 A321 open ? - 18:15-21:14 +0 N999JQ - -\nf617 1232 LGA-BOS 18:15-19:29 47 E190 open ? - 18:15-19:29 +0 N306JB - -\nf618 1880 FLL-DCA 18:15-20:40 120 A320 open ? - 18:15-20:40 +0 N793JB - -\nf619 1103 BDL-RSW 18:18-21:36 136 A320 open ? - 18:18-21:36 +0 N665JB - -\nf620 188 LAX-BOS 18:20-23:44 137 A321P open ? - 18:20-23:44 +0 N964JT - -\nf621 451 BOS-MCO 18:20-21:45 175 A321 open ? - 18:20-21:45 +0 N950JT - -\nf622 1136 DTW-BOS 18:20-20:13 73 E190 open ? - 18:20-20:13 +0 N348JB - -\nf623 1238 AUS-BOS 18:20-22:14 123 A220 open ? - 18:20-22:14 +0 N3065J - -\nf624 2526 TPA-JFK 18:23-21:00 171 A321 open ? - 18:23-21:00 +0 N2048J - -\nf625 369 BOS-FLL 18:25-21:57 184 A321 open ? - 18:25-21:57 +0 N903JB - -\nf626 2404 SJU-JFK 18:25-22:24 130 A320 open ? - 18:25-22:24 +0 N612JB - -\nf627 1423 FLL-MSY 18:26-20:35 109 A320 open ? - 18:26-20:35 +0 N784JB - -\nf628 206 BNA-BOS 18:29-20:54 117 A320 open ? - 18:29-20:54 +0 N708JB - -\nf629 305 EWR-FLL 18:30-21:47 150 A320 open ? - 18:30-21:47 +0 N587JB - -\nf630 613 HPN-FLL 18:30-21:32 121 A320 open ? - 18:30-21:32 +0 N746JB - -\nf631 711 JFK-LAS 18:30-00:18+1 168 A321 open ? - 18:30-00:18+1 +0 N996JL - -\nf632 815 JFK-SFO 18:30-01:06+1 132 A321P open ? - 18:30-01:06+1 +0 N945JT - -\nf633 1262 PBI-LGA 18:30-21:20 128 A320 open ? - 18:30-21:20 +0 N591JB - -\nf634 1284 MCO-JFK 18:30-21:07 135 A320 open ? - 19:11-21:48 +41 N603JB - -\nf635 2754 DCA-BOS 18:30-20:02 69 E190 open ? - 18:30-20:02 +0 N317JB - -\nf636 2 JFK-BUF 18:35-20:05 73 E190 open ? - 18:35-20:05 +0 N328JB - -\nf637 534 SFO-BOS 18:35-00:07+1 133 A321P open ? - 18:35-00:07+1 +0 N990JL - -\nf638 969 RIC-MCO 18:35-20:40 143 A320 open ? - 18:35-20:40 +0 N639JB - -\nf639 2060 RSW-LGA 18:40-21:30 118 A320 open ? - 18:40-21:30 +0 N796JB - -\nf640 2340 JAX-LGA 18:40-20:55 133 A320 open ? - 18:40-20:55 +0 N643JB - -\nf641 2534 PBI-DCA 18:40-20:57 107 A320 open ? - 18:40-20:57 +0 N607JB - -\nf642 225 JFK-TPA 18:45-21:47 146 A320 open ? - 18:45-21:47 +0 N633JB - -\nf643 1746 CLT-BOS 18:45-20:57 88 E190 open ? - 18:45-20:57 +0 N307JB - -\nf644 2552 PBI-HPN 18:45-21:32 78 E190 open ? - 18:45-21:32 +0 N309JB - -\nf645 1289 EWR-SJU 18:48-22:46 150 A320 open ? - 18:48-22:46 +0 N618JB - -\nf646 1303 BOS-PHX 18:50-00:50+1 122 A220 open ? - 19:05-01:05+1 +15 N3113J - -\nf647 1827 EWR-MCO 18:54-21:45 93 E190 open ? - 18:54-21:45 +0 N231JB - -\nf648 798 MCO-LGA 18:55-21:29 159 A321 open ? - 18:55-21:29 +0 N913JB - -\nf649 828 MCO-EWR 18:55-21:43 173 A321 open ? - 18:55-21:43 +0 N971JT - -\nf650 2016 BUF-BOS 18:55-20:21 75 E190 open ? - 18:55-20:21 +0 N267JB - -\nf651 2230 MKE-BOS 18:55-21:08 89 A220 open ? - 18:55-21:08 +0 N3062J - -\nf652 161 JFK-SMF 18:59-01:24+1 165 A321 open ? - 18:59-01:24+1 +0 N2047J - -\nf653 2624 LAX-JFK 18:59-00:10+1 142 A321P open ? - 18:59-00:10+1 +0 N929JB - -\nf654 521 BOS-PBI 19:00-22:22 92 E190 open ? - 19:00-22:22 +0 N284JB - -\nf655 955 BOS-DCA 19:00-20:44 68 E190 open ? - 19:00-20:44 +0 N249JB - -\nf656 1267 HPN-PBI 19:00-21:50 144 A320 open ? - 19:00-21:50 +0 N547JB - -\nf657 1431 BOS-LGA 19:00-20:22 48 E190 open ? - 19:00-20:22 +0 N216JB - -\nf658 1320 ATL-JFK 19:10-21:27 140 A320 open ? - 19:10-21:27 +0 N506JB - -\nf659 2332 SRQ-LGA 19:10-21:57 70 E190 open ? - 19:10-21:57 +0 N258JB - -\nf660 783 BOS-RDU 19:15-21:25 111 A220 open ? - 19:15-21:25 +0 N3058J - -\nf661 1080 LAX-LAS 19:15-20:22 114 A320 open ? - 19:15-20:22 +0 N789JB - -\nf662 1332 LGA-BOS 19:15-20:25 47 E190 open ? - 19:15-20:25 +0 N190JB - -\nf663 1732 LAX-SLC 19:15-21:06 134 A320 open ? - 19:15-21:06 +0 N656JB - -\nf664 88 FLL-ALB 19:16-22:19 129 A320 open ? - 19:16-22:19 +0 N536JB - -\nf665 1154 PBI-JFK 19:16-22:00 125 A320 open ? - 19:16-22:00 +0 N651JB - -\nf666 1812 RSW-EWR 19:20-22:17 132 A320 open ? - 19:20-22:17 +0 N705JB - -\nf667 197 BOS-SEA 19:22-01:49+1 130 A321P open ? - 19:22-01:49+1 +0 N935JB - -\nf668 438 MCO-BDL 19:25-22:10 142 A320 open ? - 19:39-22:24 +14 N763JB - -\nf669 342 SAV-JFK 19:28-21:35 82 E190 open ? - 19:28-21:35 +0 N283JB - -\nf670 71 JFK-SLC 19:29-00:52+1 145 A320 open ? - 19:29-00:52+1 +0 N649JB - -\nf671 355 JFK-ONT 19:29-01:42+1 170 A321 open ? - 19:29-01:42+1 +0 N965JT - -\nf672 391 BOS-TPA 19:30-22:55 92 E190 open ? - 19:30-22:55 +0 N346JB - -\nf673 1134 SJU-MCO 19:30-22:36 165 A321 open ? - 19:30-22:36 +0 N970JB - -\nf674 1451 BOS-MCO 19:30-22:50 122 A220 open ? - 19:30-22:50 +0 N3102J - -\nf675 2354 DCA-BOS 19:30-20:59 69 E190 open ? - 19:30-20:59 +0 N179JB - -\nf676 1922 PBI-BOS 19:34-22:38 158 A321 open ? - 19:34-22:38 +0 N2044J - -\nf677 386 RDU-JFK 19:35-21:12 80 E190 open ? - 19:35-21:12 +0 N354JB - -\nf678 694 AUS-JFK 19:35-23:11 139 A320 open ? - 19:35-23:11 +0 N635JB - -\nf679 1747 LGA-SAV 19:35-21:58 79 E190 open ? - 19:35-21:58 +0 N238JB - -\nf680 2709 BOS-JAX 19:35-22:39 86 E190 open ? - 19:35-22:39 +0 N266JB - -\nf681 81 JFK-RNO 19:39-01:49+1 140 A320 open ? - 19:39-01:49+1 +0 N584JB - -\nf682 1124 LAX-JFK 19:40-00:51+1 142 A321P open ? - 19:40-00:51+1 +0 N961JT - -\nf683 1484 RDU-BOS 19:40-21:36 111 A220 open ? - 19:40-21:36 +0 N3077J - -\nf684 1761 LGA-PBI 19:40-22:42 90 E190 open ? - 19:40-22:42 +0 N337JB - -\nf685 471 LGA-FLL 19:42-22:51 145 A320 open ? - 19:42-22:51 +0 N593JB - -\nf686 68 CHS-BOS 19:45-21:59 87 E190 open ? - 19:45-21:59 +0 N229JB - -\nf687 655 SYR-MCO 19:45-22:49 134 A320 open ? - 19:45-22:49 +0 N768JB - -\nf688 548 TPA-HPN 19:47-22:29 88 E190 open ? - 19:47-22:29 +0 N236JB - -\nf689 1678 JAX-JFK 19:47-22:00 138 A320 open ? - 19:47-22:00 +0 N645JB - -\nf690 2319 FLL-SLC 19:47-01:05+1 136 A320 open ? - 19:47-01:05+1 +0 N510JB - -\nf691 996 ATL-BOS 19:50-22:19 76 E190 open ? - 19:50-22:19 +0 N206JB - -\nf692 1211 JFK-LAS 19:50-01:48+1 168 A321 open ? - 19:50-01:48+1 +0 N995JL - -\nf693 1573 EWR-LAX 19:50-02:05+1 136 A321P open ? - 19:50-02:05+1 +0 N942JB - -\nf694 1157 FLL-PHX 19:52-00:52+1 150 A320 open ? - 19:52-00:52+1 +0 N598JB - -\nf695 2188 BNA-LGA 19:55-22:15 94 A320 open ? - 19:55-22:15 +0 N597JB - -\nf696 2364 MCI-BOS 19:55-22:41 90 A220 open ? - 19:55-22:41 +0 N3008J - -\nf697 2385 BOS-PIT 19:55-21:49 89 A220 open ? - 20:13-22:07 +18 N3104J - -\nf698 2886 MIA-LAX 19:55-01:43+1 132 A321P open ? - 19:55-01:43+1 +0 N989JT - -\nf699 2186 PIT-BOS 19:59-21:33 61 E190 open ? - 19:59-21:33 +0 N203JB - -\nf700 89 JFK-SAN 20:00-02:18+1 125 A321P open ? - 20:00-02:18+1 +0 N991JT - -\nf701 223 JFK-LAX 20:00-02:30+1 141 A321P open ? - 20:00-02:30+1 +0 N923JB - -\nf702 283 JFK-MCO 20:00-22:59 179 A321 open ? - 20:00-22:59 +0 N2102J - -\nf703 607 FLL-LAS 20:00-01:26+1 135 A320 open ? - 20:00-01:26+1 +0 N534JB - -\nf704 933 MCO-SJU 20:00-22:50 150 A320 open ? - 20:05-22:55 +5 N775JB - -\nf705 1419 JFK-DTW 20:00-22:17 75 E190 open ? - 20:00-22:17 +0 N279JB - -\nf706 1501 JFK-FLL 20:00-23:16 148 A320 open ? - 20:00-23:16 +0 N636JB - -\nf707 1631 BOS-LGA 20:00-21:15 48 E190 open ? - 20:00-21:15 +0 N184JB - -\nf708 2355 BOS-DCA 20:00-21:42 68 E190 open ? - 20:00-21:42 +0 N281JB - -\nf709 2523 DCA-MCO 20:00-22:30 144 A320 open ? - 20:00-22:30 +0 N648JB - -\nf710 1766 RSW-BOS 20:04-23:05 154 A321 open ? - 20:04-23:05 +0 N2086J - -\nf711 97 JFK-DEN 20:10-00:40+1 137 A320 open ? - 20:10-00:40+1 +0 N562JB - -\nf712 394 DEN-BOS 20:10-23:59 112 A320 open ? - 20:10-23:59 +0 N505JB - -\nf713 1468 PBI-HPN 20:10-22:57 78 E190 open ? - 20:10-22:57 +0 N324JB - -\nf714 2579 BOS-EWR 20:10-21:48 63 E190 open ? - 20:10-21:48 +0 N228JB - -\nf715 1432 LGA-BOS 20:15-21:26 47 E190 open ? - 20:15-21:26 +0 N329JB - -\nf716 1802 FLL-JFK 20:15-23:00 168 A321 open ? - 20:15-23:00 +0 N2016J - -\nf717 1062 SJU-BOS 20:19-00:28+1 126 A320 open ? - 20:19-00:28+1 +0 N516JB - -\nf718 170 FLL-BOS 20:25-23:33 154 A321 open ? - 20:25-23:33 +0 N2038J - -\nf719 384 MCO-JFK 20:25-22:58 167 A321 open ? - 20:25-22:58 +0 N974JT - -\nf720 572 FLL-LGA 20:25-23:28 132 A320 open ? - 20:25-23:28 +0 N644JB - -\nf721 439 LGA-JAX 20:29-23:06 135 A320 open ? - 20:29-23:06 +0 N794JB - -\nf722 2080 FLL-DCA 20:29-22:51 120 A320 open ? - 20:29-22:51 +0 N608JB - -\nf723 1295 JFK-AUS 20:30-00:41+1 142 A320 open ? - 20:30-00:41+1 +0 N658JB - -\nf724 1903 JFK-SJU 20:30-00:19+1 182 A321 open ? - 20:30-00:19+1 +0 N956JT - -\nf725 2017 BOS-JFK 20:30-21:45 67 E190 open ? - 20:30-21:45 +0 N306JB - -\nf726 2854 DCA-BOS 20:30-21:59 69 E190 open ? - 20:30-21:59 +0 N355JB - -\nf727 914 FLL-HPN 20:35-23:28 100 A320 open ? - 20:35-23:28 +0 N579JB - -\nf728 2752 SJU-TPA 20:35-23:41 139 A320 open ? - 20:35-23:41 +0 N624JB - -\nf729 491 BUF-LAX 20:36-02:07+1 131 A320 open ? - 20:36-02:07+1 +0 N634JB - -\nf730 265 BOS-RSW 20:40-00:14+1 135 A320 open ? - 20:40-00:14+1 +0 N504JB - -\nf731 1285 ROC-JFK 20:40-22:00 80 E190 open ? - 20:40-22:00 +0 N318JB - -\nf732 1387 BOS-LAX 20:45-03:18+1 139 A321P open ? - 20:45-03:18+1 +0 N987JT - -\nf733 201 BUF-JFK 20:47-22:10 75 E190 open ? - 20:47-22:10 +0 N328JB - -\nf734 277 FLL-SFO 20:47-03:08+1 133 A321P open ? - 20:47-03:08+1 +0 N937JB - -\nf735 460 FLL-BDL 20:50-23:46 130 A320 open ? - 20:50-23:46 +0 N595JB - -\nf736 2194 MCO-EWR 20:50-23:31 140 A320 open ? - 20:50-23:31 +0 N640JB - -\nf737 506 FLL-EWR 20:55-23:48 131 A320 open ? - 20:55-23:48 +0 N729JB - -\nf738 927 EWR-MCO 20:55-23:55 150 A320 open ? - 20:55-23:55 +0 N621JB - -\nf739 998 MCO-LGA 20:55-23:27 129 A320 open ? - 20:59-23:31 +4 N712JB - -\nf740 1146 FLL-RIC 20:55-23:09 105 A320 open ? - 20:55-23:09 +0 N594JB - -\nf741 2273 EWR-TPA 20:55-23:56 145 A320 open ? - 20:55-23:56 +0 N632JB - -\nf742 715 BOS-BUF 20:59-22:33 81 E190 open ? - 20:59-22:33 +0 N317JB - -\nf743 769 BOS-FLL 20:59-00:21+1 149 A320 open ? - 20:59-00:21+1 +0 N517JB - -\nf744 809 JFK-DFW 20:59-00:52+1 139 A320 open ? - 20:59-00:52+1 +0 N715JB - -\nf745 1012 ORD-BOS 20:59-23:17 96 A220 open ? - 20:59-23:17 +0 N3023J - -\nf746 1076 MCO-PVD 20:59-23:36 133 A320 open ? - 21:03-23:40 +4 N821JB - -\nf747 1723 JFK-LAX 20:59-03:23+1 141 A321P open ? - 20:59-03:23+1 +0 N976JT - -\nf748 2134 SJU-MCO 20:59-23:59 134 A320 open ? - 20:59-23:59 +0 N521JB - -\nf749 605 JFK-ORD 21:00-23:50 68 E190 open ? - 21:00-23:50 +0 N273JB - -\nf750 1001 LGA-CHS 21:00-23:33 108 A320 open ? - 21:00-23:33 +0 N652JB - -\nf751 499 LGA-MCO 21:05-23:55 143 A320 open ? - 21:05-23:55 +0 N570JB - -\nf752 1192 TPA-BOS 21:05-23:53 122 A220 open ? - 21:05-23:53 +0 N3112J - -\nf753 1237 BOS-DTW 21:05-23:19 81 E190 open ? - 21:05-23:19 +0 N274JB - -\nf754 1279 LAS-LAX 21:07-22:19 99 A320 open ? - 21:07-22:19 +0 N789JB - -\nf755 2004 RSW-BDL 21:09-23:59 113 A320 open ? - 21:09-23:59 +0 N662JB - -\nf756 1567 HPN-PBI 21:10-23:59 89 E190 open ? - 21:10-23:59 +0 N358JB - -\nf757 2583 JFK-MCO 21:10-23:59 145 A320 open ? - 21:10-23:59 +0 N556JB - -\nf758 1117 BOS-JFK 21:16-22:30 67 E190 open ? - 21:16-22:30 +0 N348JB - -\nf759 333 BOS-SFO 21:20-03:59+1 137 A321P open ? - 21:20-03:59+1 +0 N943JT - -\nf760 1422 MSY-FLL 21:20-23:08 117 A320 open ? - 21:20-23:08 +0 N784JB - -\nf761 321 BOS-PBI 21:25-00:39+1 138 A320 open ? - 21:25-00:39+1 +0 N663JB - -\nf762 234 JFK-BTV 21:30-22:48 77 E190 open ? - 21:30-22:48 +0 N368JB - -\nf763 617 JFK-MSP 21:30-00:39+1 80 E190 open ? - 21:30-00:39+1 +0 N375JB - -\nf764 1520 ATL-JFK 21:30-23:40 87 E190 open ? - 21:30-23:40 +0 N239JB - -\nf765 2092 MIA-JFK 21:30-00:25+1 121 A320 open ? - 21:30-00:25+1 +0 N580JB - -\nf766 568 FLL-ATL 21:35-23:24 116 A320 open ? - 21:35-23:24 +0 N646JB - -\nf767 2501 FLL-LAX 21:35-03:19+1 142 A321P open ? - 21:35-03:19+1 +0 N982JB - -\nf768 1952 MCO-BOS 21:40-00:29+1 152 A321 open ? - 21:40-00:29+1 +0 N998JE - -\nf769 2626 FLL-RDU 21:40-23:42 124 A320 open ? - 21:40-23:42 +0 N828JB - -\nf770 318 JFK-BOS 21:45-22:56 94 A320 open ? - 21:45-22:56 +0 N571JB - -\nf771 571 LGA-FLL 21:45-00:42+1 145 A320 open ? - 21:45-00:42+1 +0 N643JB - -\nf772 706 FLL-EWR 21:45-00:37+1 131 A320 open ? - 21:45-00:37+1 +0 N563JB - -\nf773 2174 TPA-EWR 21:45-00:28+1 146 A320 open ? - 21:45-00:28+1 +0 N766JB - -\nf774 2512 MCO-EWR 21:50-00:20+1 140 A320 open ? - 21:50-00:20+1 +0 N639JB - -\nf775 102 JFK-BUF 21:55-23:24 73 E190 open ? - 21:55-23:24 +0 N193JB - -\nf776 541 BOS-CLE 21:55-23:56 96 A220 open ? - 21:55-23:56 +0 N3062J - -\nf777 1731 SLC-LAX 21:55-23:48 128 A320 open ? - 21:55-23:48 +0 N656JB - -\nf778 319 JFK-ATL 21:59-00:24+1 138 A320 open ? - 21:59-00:24+1 +0 N709JB - -\nf779 1823 JFK-LAX 21:59-04:19+1 141 A321P open ? - 21:59-04:19+1 +0 N993JE - -\nf780 2834 SJU-MCO 21:59-00:56+1 134 A320 open ? - 21:59-00:56+1 +0 N809JB - -\nf781 976 FLL-PHL 22:00-00:39+1 117 A320 open ? - 22:00-00:39+1 +0 N554JB - -\nf782 887 LGA-BNA 22:05-00:25+1 102 A320 open ? - 22:05-00:25+1 +0 N605JB - -\nf783 767 MCO-PSE 22:07-00:52+1 139 A320 open ? - 22:07-00:52+1 +0 N615JB - -\nf784 2615 JFK-SFO 22:11-04:39+1 132 A321P open ? - 22:11-04:39+1 +0 N979JT - -\nf785 536 LAX-SFO 22:14-23:40 120 A320 open ? - 22:14-23:40 +0 N537JT - -\nf786 745 JFK-PSE 22:29-02:23+1 147 A320 open ? - 22:29-02:23+1 +0 N655JB - -\nf787 2516 JFK-SYR 22:29-23:40 69 E190 open ? - 22:29-23:40 +0 N192JB - -\nf788 2954 DCA-BOS 22:30-23:53 69 E190 open ? - 22:30-23:53 +0 N197JB - -\nf789 181 FLL-BNA 22:32-00:49+1 95 A320 open ? - 22:32-00:49+1 +0 N806JB - -\nf790 2618 FLL-JAX 22:32-23:45 103 A320 open ? - 22:32-23:45 +0 N657JB - -\nf791 486 JFK-ROC 22:35-23:58 80 E190 open ? - 22:35-23:58 +0 N354JB - -\nf792 430 MCO-BQN 22:36-01:13+1 135 A320 open ? - 23:15-01:52+1 +39 N648JB - -\nf793 1318 JFK-BOS 22:45-23:57 63 E190 open ? - 22:45-23:57 +0 N334JB - -\nf794 676 JFK-ORH 22:50-23:47 51 E190 open ? - 22:50-23:47 +0 N283JB - -\nf795 839 JFK-BQN 22:59-02:41+1 145 A320 open ? - 22:59-02:41+1 +0 N588JB - -\nf796 942 LAX-RNO 23:04-00:31+1 120 A320 open ? - 23:04-00:31+1 +0 N637JB - -\nf797 275 BDL-SJU 23:10-02:57+1 143 A320 open ? - 23:10-02:57+1 +0 N763JB - -\nf798 2120 SAN-BOS 23:20-04:35+1 146 A321P open ? - 23:20-04:35+1 +0 N944JT - -\nf799 561 BOS-SJU 23:45-03:44+1 143 A320 open ? - 23:45-03:44+1 +0 N708JB - -\nf800 2133 MCO-SJU 23:45-02:27+1 150 A320 open ? - 23:45-02:27+1 +0 N768JB - -\nf801 2416 SFO-JFK 23:50-05:08+1 137 A321P open ? - 23:50-05:08+1 +0 N981JT - -\nf802 403 JFK-SJU 23:55-03:40+1 147 A320 open ? - 23:55-03:40+1 +0 N703JB - -\nf803 2985 LAX-MIA 00:06+1-05:00+1 144 A321P open ? - 00:06+1-05:00+1 +0 N2142J - -\nf804 136 PHX-JFK 00:22+1-05:00+1 141 A320 open ? - 00:22+1-05:00+1 +0 N568JB - -\nf805 2535 SFO-LAX 00:25+1-01:44+1 129 A320 open ? - 00:25+1-01:44+1 +0 N537JT - -\nf806 358 BUR-JFK 00:30+1-05:45+1 113 A320 open ? - 00:30+1-05:45+1 +0 N529JB - -\nf807 700 LAX-FLL 00:35+1-05:26+1 150 A321P open ? - 00:35+1-05:26+1 +0 N946JL - -\nf808 2924 LAX-JFK 00:35+1-05:47+1 142 A321P open ? - 00:35+1-05:47+1 +0 N980JT - -\nf809 530 SAN-FLL 00:40+1-05:14+1 141 A320 open ? - 00:40+1-05:14+1 +0 N779JB - -\nf810 1190 SAN-JFK 00:50+1-05:59+1 172 A321 open ? - 00:50+1-05:59+1 +0 N2027J - -\nf811 2050 PSP-JFK 00:59+1-05:52+1 125 A320 open ? - 00:59+1-05:52+1 +0 N807JB - -\nf812 2974 LAX-EWR 01:10+1-06:28+1 139 A321P open ? - 01:10+1-06:28+1 +0 N992JB - -\nf813 778 LAS-BOS 01:15+1-06:01+1 165 A321 open ? - 01:15+1-06:01+1 +0 N955JB - -\nf814 1216 SFO-JFK 01:15+1-06:33+1 137 A321P open ? - 01:15+1-06:33+1 +0 N947JB - -\nf815 943 RNO-LAX 01:17+1-02:43+1 103 A320 open ? - 01:17+1-02:43+1 +0 N637JB - -\nf816 2218 LAX-CHS 01:20+1-06:04+1 121 A320 open ? - 01:20+1-06:04+1 +0 N789JB - -\nf817 264 SEA-JFK 01:29+1-06:31+1 126 A321P open ? - 01:29+1-06:31+1 +0 N962JT - -\nf818 98 DEN-JFK 01:40+1-05:14+1 127 A320 open ? - 01:40+1-05:14+1 +0 N562JB - -\nf819 72 SLC-JFK 01:43+1-05:59+1 132 A320 open ? - 01:43+1-05:59+1 +0 N649JB - -\nf820 1158 PHX-FLL 01:45+1-05:48+1 150 A320 open ? - 01:45+1-05:48+1 +0 N598JB - -\nf821 948 LAS-JFK 01:47+1-06:29+1 163 A321 open ? - 01:47+1-06:29+1 +0 N996JL - -\nf822 1302 PHX-BOS 01:50+1-06:29+1 125 A220 open ? - 01:50+1-06:29+1 +0 N3113J - -\nf823 124 LAX-JFK 01:55+1-07:11+1 142 A321P open ? - 01:55+1-07:11+1 +0 N934JB - -\nf824 2320 SLC-FLL 01:59+1-06:20+1 135 A320 open ? - 01:59+1-06:20+1 +0 N510JB - -\nf825 34 SFO-BOS 02:09+1-07:40+1 133 A321P open ? - 02:09+1-07:40+1 +0 N968JT - -\nf826 278 SFO-FLL 02:21+1-07:37+1 149 A321P open ? - 02:21+1-07:37+1 +0 N945JT - -\nf827 608 LAS-FLL 02:30+1-06:53+1 150 A320 open ? - 02:30+1-06:53+1 +0 N534JB - -\nf828 132 LAX-MCO 02:35+1-07:12+1 149 A320 open ? - 02:35+1-07:12+1 +0 N827JB - -\nf829 162 SMF-JFK 02:50+1-08:00+1 171 A321 open ? - 02:50+1-08:00+1 +0 N2047J - -\nf830 988 LAX-BOS 02:53+1-08:18+1 137 A321P open ? - 02:53+1-08:18+1 +0 N986JB - -\nf831 492 LAX-BUF 02:57+1-07:39+1 131 A320 open ? - 02:57+1-07:39+1 +0 N656JB - -\nf832 2348 LAS-JFK 02:58+1-07:42+1 163 A321 open ? - 02:58+1-07:42+1 +0 N995JL - -\nf833 80 RNO-JFK 02:59+1-07:59+1 123 A320 open ? - 02:59+1-07:59+1 +0 N584JB - -\nf834 354 ONT-JFK 02:59+1-08:04+1 174 A321 open ? - 02:59+1-08:04+1 +0 N965JT - -\nf835 498 SEA-BOS 02:59+1-08:04+1 117 A321P open ? - 02:59+1-08:04+1 +0 N935JB - -\n\n## Aircraft now, as your plan has them (@ = ready at)\nJFK: N193JB N2002J@04:34 N2016J@14:59 N2027J@05:01 N2029J N2047J N2086J N2102J@18:50 N265JB@05:24 N273JB N318JB N334JB N368JB N526JL@09:55 N559JB N562JB@05:45 N580JB N584JB@05:45 N586JB@15:15 N591JB N594JB N599JB N636JB@05:43 N639JB@09:14 N641JB@05:45 N649JB N655JB N659JB@07:17 N662JB N703JB@07:10 N709JB N775JB N807JB@07:36 N905JB@07:44 N929JB@07:44 N935JB N937JB N956JT@19:30 N961JT@08:18 N965JT@07:00 N966JT@10:59 N970JB N976JT N979JT N980JT@10:30 N982JB N983JT N985JT@06:18 N988JT@06:28 N996JL@17:30\nALB: N821JB\nATL: N571JB N784JB\nAUS: N612JB\nBDL: N561JB N621JB N624JB@08:06\nBNA: N652JB N806JB\nBOS: N183JB N190JB N228JB N231JB N249JB N258JB N267JB N274JB N284JB N3008J N3023J N3044J N3058J@07:18 N3062J N3065J N3102J N329JB@06:25 N355JB N504JB N505JB N516JB N517JB@06:07 N523JB@13:45 N708JB N903JB@07:20 N943JT N944JT@09:45 N950JT@06:20 N952JB N955JB@07:03 N959JB N964JT@09:33 N967JT N972JT@08:30 N974JT N977JE@05:19 N978JB N981JT N987JT N990JL@08:28 N998JE\nBQN: N556JB@04:27\nBTV: N192JB\nBUF: N197JB N306JB N746JB@08:38\nCHS: N597JB\nCLE: N3077J\nDCA: N203JB N281JB N510JB N564JB N570JB N593JB\nDFW: N635JB\nDTW: N283JB N323JB\nEWR: N266JB N529JB N554JB N603JB N615JB N625JB N632JB N644JB N705JB@09:15 N827JB N942JB N971JT N984JB@07:52 N999JQ\nFLL: N2044J N2048J@07:13 N520JB N531JL N534JB N536JB@06:30 N552JB@12:35 N566JB N640JB N643JB@08:16 N646JB N648JB@06:06 N657JB N658JB N706JB N779JB N793JB@16:30 N794JB N969JT@08:48 N993JE@08:15 N994JL\nHPN: N206JB N236JB N239JB N339JB N598JB N634JB\nJAX: N179JB N537JT@06:05 N565JB N729JB\nLAX: N2142J N637JB N656JB@13:00 N665JB N789JB N923JB@05:32 N934JB@04:29 N945JT N946JL@04:20 N968JT@04:48 N992JB@05:08\nLGA: N216JB N229JB N238JB N589JB N605JB N607JB N766JB N796JB N913JB\nMCO: N184JB N2038J N309JB@07:35 N3113J N358JB N568JB@08:14 N633JB N645JB@05:57 N760JB N763JB N768JB N804JB N809JB@04:16 N975JT N995JL\nMIA: N989JT@06:48\nMSP: N354JB\nORD: N304JB@06:25\nORH: N279JB\nPBI: N324JB N337JB N346JB N506JB N527JL N547JB\nPHL: N307JB N579JB\nPIT: N3085J\nPSE: N588JB@04:10\nPVD: N712JB\nRDU: N3112J N608JB\nRIC: N3104J N651JB\nROC: N328JB\nRSW: N590JB\nSAN: N962JT\nSAV: N348JB\nSFO: N947JB@05:38 N986JB@04:07 N991JT@05:45\nSJU: N521JB@04:27 N563JB N587JB@04:13 N663JB N715JB@04:41 N828JB@04:02 N948JB\nSYR: N375JB\nTPA: N317JB N592JB N595JB N618JB N661JB\nairborne: none\n\n## News so far\n[00:25] TAF KJFK 220525Z 2206/2312 VRB05KT P6SM BKN250 FM220900 08005KT P6SM FEW025 OVC200 FM221200 09010KT P6SM BKN025 FM222100 09015G22KT P6SM -RA SCT010 BKN015 TEMPO 2221/2224 3SM RA BR BKN010 FM230000 10022G32KT 2SM RA BR BKN007 FM230700 15025G40KT 2SM RA BR BKN007=\n[02:51] KJFK 220751Z 07003KT 10SM BKN210 M01/M04 A3048 RMK AO2 SLP320 T10061039\n[03:23] TAF AMD KJFK 220823Z 2208/2312 07005KT P6SM BKN250 TEMPO 2211/2213 BKN025 FM221800 08010KT P6SM -SHRA OVC025 FM222100 09015G22KT P6SM -RA SCT010 BKN015 TEMPO 2221/2224 3SM RA BR BKN010 FM230000 10022G32KT 2SM RA BR BKN007 WS020/10045KT FM230700 15025G40KT 2SM RA BR BKN007=\n[03:51] KJFK 220851Z 05004KT 10SM BKN180 BKN250 M01/M04 A3047 RMK AO2 SLP318 T10111044 58009\n\nIt is the first watch, 04:00. Nothing is frozen yet: set the day up with confirm_changes, then call advance.", + "max_turns": 264, + "model_params": { + "max_tokens": 32000 + }, + "timeout_seconds": 7200 + }, + { + "id": "end-day", + "type": "apply_server_config", + "env_id": "airops-v3-day", + "directives": [ + { + "service": "airops-v3-day", + "uri": "urn:airops:v3-end-day/v1", + "args": {} + } + ] + }, + { + "id": "grade", + "type": "env_outcome_verifier", + "env_id": "airops-v3-day", + "file_artifact_id": "airops-verifier", + "verifier_id": "airops", + "score_aggregator": "weighted_average" + } +] diff --git a/src/agentenv_airops/bundles/airops-v3/tasks/b6-20230602-0400.json b/src/agentenv_airops/bundles/airops-v3/tasks/b6-20230602-0400.json new file mode 100644 index 0000000..3e59ac7 --- /dev/null +++ b/src/agentenv_airops/bundles/airops-v3/tasks/b6-20230602-0400.json @@ -0,0 +1,71 @@ +[ + { + "id": "deploy", + "type": "deploy_env", + "env_id": "airops-v3-day" + }, + { + "id": "load-task", + "type": "apply_server_config", + "env_id": "airops-v3-day", + "directives": [ + { + "service": "airops-v3-day", + "uri": "urn:airops:v3-live-load/v1", + "args": { + "task_id": "b6-20230602-0400", + "anchor": 4362368, + "follower": 4407890 + } + } + ] + }, + { + "id": "deploy-agent", + "type": "deploy_agent", + "a2a_agent_id": "airops-llm", + "env_ids": [ + "airops-v3-day" + ] + }, + { + "id": "clock", + "type": "sync_env_clock", + "env_id": "airops-v3-day", + "virtual_time": "2023-06-02T08:00:00Z", + "virtual_seconds_per_real_second": 0, + "tolerate_missing_sync_time": false + }, + { + "id": "play", + "type": "prompt_agent", + "prompt_id": "b6-20230602-0400", + "system_prompt": "You run the JetBlue operations desk on a storm day at JFK and BOS: thunderstorms, snow or wind, and the FAA ground stops and ground delay programs (GDPs) that follow, cut how many JetBlue flights can land and take off. Your job is to decide which flights to cancel and which to hold, watch by watch, so that passengers and the airline lose as little as possible over the day.\n\nHow the day runs:\n- The day is played in watches starting at watch 0: one an hour, and one more when an advisory or a SPECI reaches the desk or a ramp closure begins or ends, so watches are 15 to 60 minutes apart. The first message gives the day as the desk knows it at watch 0. Every tool call takes 1 minute of the watch; when the watch's time runs out, the next watch opens by itself, and advance opens it at once.\n- What the desk knows: a flight's own departure delay (weather, air traffic control: anything but waiting for its aircraft or a slot) becomes known 2 hours before its scheduled departure; until then it is assumed on time. FAA Command Center advisories and the hubs' METARs, SPECIs and TAFs arrive as messages at the first watch after they reach the desk: an advisory 0 minutes after it is signed, a METAR 5 and a SPECI 5 minutes after its observation, a TAF 10 minutes after its issue, and the programs table shows the programs as issued, proposed GDPs included; a program may end earlier or later than issued.\n- Ground delay programs: a GDP meters arrivals at a hub over its period. A flight into the hub from an origin in its scope, scheduled to land in the period, needs one of JetBlue's arrival slots in the program: it takes the earliest free slot at or after the time it could land and leaves at its EDCT, the slot less its scheduled block. A cancelled or late flight leaves its slot to the flights behind it. Arrivals outside a program fit under the hub's hourly rate.\n- Ground stops: a flight to a stopped hub from an origin the stop covers waits on the ground until the stop ends; flights already airborne fly on.\n- Departure caps: an airport may take only so many JetBlue departures in an hour (the departure caps table, known 4 hours ahead); a flight with no room in its hour tries again at the next hour's start.\n- Outstation arrival caps: an outstation may take only so many JetBlue arrivals in an hour (the outstation arrival caps table, known 4 hours ahead); a flight with no room in its arrival hour leaves so as to land in the next one.\n- Ramp closures: lightning at the field cuts a hub's ramp rate without stopping it. During a closure only so many JetBlue flights may leave the hub and only so many arrive there; a departure with no room leaves at the closure's end, an arrival with none leaves so as to land at it. A closure is known once it begins; until its end comes it is expected to last 30 minutes more, with caps for that long, and the closures table says which ends are reported and which expected.\n- The env flies your plan on the day as it happens: each flight leaves at the earliest time its delay, its hold, a slot, a stop, a cap and an aircraft allow. It takes the first aircraft of its type ready at its origin (aircraft of one type at one airport are interchangeable; an aircraft needs its turn time on the ground between flights). A flight that can't leave by its deadline is cancelled automatically there. At the end of the day the env ferries each aircraft to the airport it is needed at tomorrow.\n- Your decisions: cancel a flight (its aircraft stays on the ground, free for other flights, and its slot goes to the flights behind), restore a cancelled flight, or hold a flight until a time (not_before) so that its slot or aircraft goes to another flight first. A flight you don't touch leaves as early as it can.\n- The freeze: at watch 0 nothing is frozen. From watch 1 on, flights your plan has leaving before the freeze line, 60 minutes after the watch opens, are frozen: they can't be changed, and stay frozen. A cancellation is final. The env holds any other flight your plan would have leaving before the freeze line to it, and refuses a change that would move a frozen flight or one that has already gone.\n\nTools:\n- get_situation(): the time, the freeze line, the programs as issued with JetBlue's slots, the departure caps known so far, the outstation arrival caps known so far, the ramp closures under way or over, the latest METAR or SPECI and TAF per hub, every flight (its status, its known delay, your plan, where your plan has it leave and land on the day as known, how late it lands, its aircraft, its slot and its crew), where the aircraft are, and the news so far.\n- check_plan(changes): your changes over your plan, run on the day as known now: the plan's cost, the flights whose plan or times change, the automatic cancellations, the flights the env would hold to the freeze line, and the changes confirm_changes would refuse. It confirms nothing.\n- confirm_changes(changes): commits the changes; flights you leave out keep their plan.\n- advance(): ends the watch; its result has the new watch's news. After the last watch it returns \"done\": the day is graded on your plan.\nA change is {\"flight\": \"f12\", \"action\": \"cancel\" | \"restore\" | \"hold\" | \"call_reserve\" | \"release_reserve\", \"not_before\": \"HH:MM\" | null}: cancel takes not_before null; restore and hold fly the flight, held until not_before (local time, \"00:30+1\" after midnight), or as early as it can with null. Where a crew base has a reserve pool (the situation's Reserve crews), a flight leaving it past its crew's deadline flies only on a reserve: call_reserve gives it one while the pool lasts, release_reserve hands it back before that deadline.\n\nThe cost, in passenger-minutes: every passenger's minutes of arrival delay; 523 for each passenger on a cancelled flight, plus one for every minute the cancellation is decided later than 2 hours before its scheduled departure (an automatic cancellation is decided at its deadline, so it costs more than an early one); the airline's own aircraft minutes (a late departure costs crew and fixed costs, a long block fuel too, and a cancellation saves its fuel and maintenance); and the end-of-day ferries. A cancellation frees an aircraft and a slot; it pays when it saves the others more than it costs its own passengers. The day is graded once, on your final plan flown on the day as it really happened: the closer its cost to the best plan possible in hindsight, the higher the score. If you stop before the last watch, the rest of the day runs on your plan.", + "prompt": "# JetBlue operations desk, JFK/BOS, Friday 2023-06-02; times are local (America/New_York).\n\nNow 04:00 (watch 0, opened 04:00). First watch: nothing is frozen; changes take effect at once.\n\nYour plan on the day as known costs 208,453 (delay 159,104, cancellations 0, notice 0, ferries 0): 0 cancelled, 0 cancelled automatically, 0 on slots.\n\n## Programs as issued (FAA Command Center)\nNone.\n\n## Departure caps: JetBlue departures per hour, known 240 min ahead\nBOS: 06h 11\n\n## Outstation arrival caps: JetBlue arrivals per hour, known 240 min ahead\nDCA: 07h 2\nLGA: 08h 3\nRDU: 08h 1\nSJU: 08h 2\n\n## Ramp closures (lightning at the field; known once begun)\nNone.\n\n## Latest weather (METAR or SPECI, and TAF)\n[03:54] KBOS 020754Z 23003KT 10SM BKN150 21/14 A2992 RMK AO2 SLP130 T02060144\n[01:31] TAF KBOS 020531Z 0206/0312 23007KT P6SM FEW150 FM021400 10008KT P6SM SCT250 FM021900 09010KT P6SM VCSH BKN070 FM022100 07009KT 6SM -SHRA BKN060 PROB30 0221/0224 5SM -TSRA BR BKN030CB FM030000 04010KT 4SM -SHRA BR OVC010 FM030600 05015G26KT 5SM -SHRA BR OVC008=\n[03:51] KJFK 020751Z 23003KT 10SM CLR 16/16 A2996 RMK AO2 SLP144 T01610156\n[01:39] TAF KJFK 020539Z 0206/0312 VRB04KT P6SM SKC FM021400 17010KT P6SM SCT080 SCT250 PROB30 0221/0223 4SM TSRA BKN050CB FM022300 13006KT P6SM BKN080 PROB30 0223/0303 4SM TSRA BKN040CB FM030300 10006KT P6SM BKN040 BKN080 PROB30 0303/0308 4SM TSRA BKN035CB FM030800 04012KT P6SM VCSH BKN010 OVC020 TEMPO 0310/0312 BKN009 OVC020=\n\n## Flights (sched = scheduled dep-arr; delay = known delay, ? not yet; plan = cancel or hold@HH:MM; proj = where your plan has it leave and land on the day as known; late = arrival delay; slot = its GDP slot; crew = crew deadline/rest end, +R on a reserve crew)\nid flight route sched pax type status delay plan proj late tail slot crew\nf0 562 SJU-BOS 05:01-09:20 164 A321 open -12 - 04:49-09:23 +3 N949JT - -\nf1 2539 JFK-BQN 05:01-08:45 141 A320 open -9 - 04:52-08:32 -13 N506JB - -\nf2 1434 SJU-MCO 05:04-08:15 144 A320 open -10 - 04:54-07:56 -19 N594JB - -\nf3 954 SJU-FLL 05:15-08:01 142 A320 open -13 - 05:02-07:51 -10 N504JB - -\nf4 2555 BOS-DCA 05:15-07:00 91 E190 open -5 - 05:10-06:27 -33 N193JB - -\nf5 404 SJU-JFK 05:18-09:18 178 A321 open -15 - 05:03-09:20 +2 N966JT - -\nf6 746 PSE-JFK 05:24-09:30 114 A320 open 1 - 05:25-09:15 -15 N571JB - -\nf7 123 JFK-LAX 05:30-11:41 140 A321P open -5 - 05:25-10:53 -48 N986JB - -\nf8 315 SYR-JFK 05:45-07:00 76 E190 open -13 - 05:32-06:47 -13 N306JB - -\nf9 15 JFK-SFO 06:00-12:25 137 A321P open -9 - 05:51-11:29 -56 N992JB - -\nf10 70 FLL-BOS 06:00-09:14 180 A321 open -5 - 05:55-08:56 -18 N2060J - -\nf11 133 BOS-SFO 06:00-12:50 141 A321P open -4 - 05:56-12:07 -43 N980JT - -\nf12 222 PBI-BOS 06:00-09:03 95 E190 open 0 - 06:00-08:51 -12 N190JB - -\nf13 231 BOS-LGA 06:00-07:13 79 E190 open -14 - 05:46-06:48 -25 N229JB - -\nf14 287 BOS-LAX 06:00-12:33 138 A321P open 54 - 06:54-12:30 -3 N945JT - -\nf15 299 LGA-MCO 06:00-08:44 145 A320 open -5 - 05:55-08:31 -13 N547JB - -\nf16 382 RIC-BOS 06:00-07:37 88 E190 open -10 - 05:50-07:22 -15 N198JB - -\nf17 392 TPA-BOS 06:00-09:04 178 A321 open -9 - 05:51-08:40 -24 N998JE - -\nf18 405 EWR-FLL 06:00-09:02 144 A320 open -10 - 05:50-08:43 -19 N505JB - -\nf19 539 JAX-LGA 06:00-08:12 136 A320 open 0 - 06:00-08:11 -1 N561JB - -\nf20 555 BOS-DCA 06:00-07:45 91 E190 open -3 - 05:57-07:42 -3 N265JB - -\nf21 569 BOS-FLL 06:00-09:20 146 A320 open -3 - 05:57-09:11 -9 N516JB - -\nf22 712 ROC-BOS 06:00-07:18 75 E190 open -9 - 05:51-07:24 +6 N228JB - -\nf23 917 BOS-JFK 06:00-07:15 84 E190 open -13 - 05:47-06:47 -28 N239JB - -\nf24 959 BDL-FLL 06:00-09:09 150 A320 open 43 - 06:43-09:45 +36 N612JB - -\nf25 1002 FLL-JFK 06:00-08:50 144 A320 open -6 - 05:54-08:57 +7 N537JT - -\nf26 1336 DTW-BOS 06:00-07:52 90 E190 open -4 - 05:56-07:52 +0 N339JB - -\nf27 1371 LGA-FLL 06:00-09:02 142 A320 open -7 - 05:53-08:54 -8 N531JL - -\nf28 1373 EWR-LAX 06:00-12:04 140 A321P open -10 - 05:50-11:26 -38 N990JL - -\nf29 1486 PIT-BOS 06:00-07:32 92 E190 open -12 - 05:48-07:22 -10 N281JB - -\nf30 1581 JFK-TPA 06:00-08:49 177 A321 open -7 - 05:53-08:47 -2 N2039J - -\nf31 1875 PVD-MCO 06:00-09:00 147 A320 open -2 - 05:58-08:43 -17 N529JB - -\nf32 2024 MCO-DCA 06:00-08:19 81 E190 open 0 - 06:00-08:21 +2 N187JB - -\nf33 2180 EWR-BOS 06:00-07:12 76 E190 open 17 - 06:17-07:16 +4 N273JB - -\nf34 2293 JFK-MIA 06:00-09:02 137 A320 open -10 - 05:50-08:34 -28 N562JB - -\nf35 2751 TPA-SJU 06:00-08:49 187 A321 open -8 - 05:52-08:53 +4 N999JQ - -\nf36 42 PBI-LGA 06:01-08:42 144 A320 open ? - 06:01-08:42 +0 N556JB - -\nf37 1233 MCO-SJU 06:01-08:47 146 A320 open ? - 06:01-08:47 +0 N613JB - -\nf38 2194 MCO-EWR 06:01-08:44 145 A320 open ? - 06:01-08:44 +0 N760JB - -\nf39 75 JFK-MSY 06:04-09:12 129 A320 open ? - 06:04-09:12 +0 N580JB - -\nf40 960 PHL-BOS 06:05-07:22 83 E190 open ? - 06:05-07:22 +0 N236JB - -\nf41 184 RDU-BOS 06:10-08:05 91 E190 open ? - 06:10-08:05 +0 N337JB - -\nf42 1180 SJU-JFK 06:10-10:14 144 A320 open ? - 06:10-10:14 +0 N565JB - -\nf43 1184 MCO-JFK 06:10-08:50 171 A321 open ? - 06:10-08:50 +0 N2029J - -\nf44 2363 BOS-MCI 06:10-09:44 124 A220 open ? - 06:10-09:44 +0 N3023J - -\nf45 671 ORH-JFK 06:15-07:23 55 E190 open ? - 06:15-07:23 +0 N348JB - -\nf46 540 CLE-BOS 06:19-08:00 88 E190 open ? - 06:19-08:00 +0 N231JB - -\nf47 1121 BOS-SAV 06:19-09:00 123 A320 open ? - 06:19-09:00 +0 N517JB - -\nf48 598 MCO-LGA 06:21-09:00 146 A320 open ? - 06:21-09:00 +0 N766JB - -\nf49 737 BDL-MCO 06:21-09:14 147 A320 open ? - 06:21-09:14 +0 N588JB - -\nf50 449 BOS-CHS 06:25-08:52 120 A220 open ? - 06:25-08:52 +0 N3044J - -\nf51 983 BOS-RDU 06:25-08:27 89 E190 open ? - 06:25-08:27 +0 N279JB - -\nf52 254 DCA-BOS 06:30-07:58 93 E190 open ? - 06:30-07:58 +0 N179JB - -\nf53 518 JFK-BOS 06:30-07:41 80 E190 open ? - 06:30-07:41 +0 N184JB - -\nf54 583 JFK-MCO 06:30-09:15 171 A321 open ? - 06:30-09:15 +0 N2044J - -\nf55 1105 JFK-ORD 06:30-09:07 127 A320 open ? - 06:30-09:07 +0 N583JB - -\nf56 1113 BOS-MSP 06:30-09:49 126 A220 open ? - 06:30-09:49 +0 N3077J - -\nf57 1145 RIC-FLL 06:30-08:46 147 A320 open ? - 06:30-08:46 +0 N585JB - -\nf58 1521 HPN-MCO 06:30-09:06 130 A320 open ? - 06:30-09:06 +0 N651JB - -\nf59 1603 JFK-SJU 06:30-10:20 179 A321 open ? - 06:30-10:20 +0 N903JB - -\nf60 1881 JFK-IAH 06:30-10:29 173 A321 open ? - 06:30-10:29 +0 N952JB - -\nf61 2701 JFK-FLL 06:30-09:31 138 A320 open ? - 06:30-09:31 +0 N592JB - -\nf62 2802 JFK-BUF 06:30-07:49 88 E190 open ? - 06:30-07:49 +0 N203JB - -\nf63 2986 MIA-LAX 06:36-12:25 142 A321P open ? - 06:36-12:25 +0 N969JT - -\nf64 1208 PWM-LGA 06:40-07:58 71 E190 open ? - 06:40-07:58 +0 N267JB - -\nf65 2157 LGA-DEN 06:40-11:06 142 A320 open ? - 06:40-11:06 +0 N564JB - -\nf66 2229 BOS-MKE 06:40-09:17 121 A220 open ? - 06:40-09:17 +0 N3102J - -\nf67 2625 RDU-FLL 06:40-08:50 143 A320 open ? - 06:40-08:50 +0 N554JB - -\nf68 1097 BOS-ATL 06:45-09:39 93 E190 open ? - 06:45-09:39 +0 N283JB - -\nf69 1247 LGA-TPA 06:55-09:56 145 A320 open ? - 06:55-09:56 +0 N641JB - -\nf70 202 MIA-JFK 07:00-09:56 142 A320 open ? - 07:00-09:56 +0 N662JB - -\nf71 306 FLL-EWR 07:00-09:58 150 A320 open ? - 07:00-09:58 +0 N579JB - -\nf72 331 BOS-LGA 07:00-08:19 79 E190 open ? - 07:00-08:19 +0 N304JB - -\nf73 467 ATL-FLL 07:00-08:51 128 A320 open ? - 07:00-08:51 +0 N705JB - -\nf74 677 JFK-JAX 07:00-09:28 85 E190 open ? - 07:00-09:28 +0 N247JB - -\nf75 794 AUS-JFK 07:00-10:41 134 A320 open ? - 07:00-10:41 +0 N526JL - -\nf76 1455 BOS-DCA 07:00-08:45 91 E190 open ? - 07:00-08:45 +0 N328JB - -\nf77 1515 JFK-SFO 07:00-13:31 137 A321P open ? - 07:00-13:31 +0 N2105J - -\nf78 1553 FLL-SJU 07:00-09:34 149 A320 open ? - 07:00-09:34 +0 N627JB - -\nf79 2056 MCO-BOS 07:00-10:12 173 A321 open ? - 07:00-10:12 +0 N948JB - -\nf80 2134 SJU-MCO 07:00-10:16 144 A320 open ? - 07:00-10:16 +0 N509JB - -\nf81 2217 CHS-LAX 07:00-12:33 139 A320 open ? - 07:00-12:33 +0 N821JB - -\nf82 2421 BOS-PBI 07:00-10:15 167 A321 open ? - 07:00-10:15 +0 N965JT - -\nf83 2511 SJU-TPA 07:00-10:07 134 A320 open ? - 07:00-10:07 +0 N768JB - -\nf84 401 BOS-MSY 07:02-10:48 128 A320 open ? - 07:02-10:48 +0 N519JB - -\nf85 172 FLL-LGA 07:04-09:59 149 A320 open ? - 07:04-09:59 +0 N639JB - -\nf86 1420 DTW-JFK 07:04-08:48 82 E190 open ? - 07:04-08:48 +0 N183JB - -\nf87 630 MCO-BQN 07:05-09:51 148 A320 open ? - 07:05-09:51 +0 N805JB - -\nf88 1197 PVD-FLL 07:05-10:32 143 A320 open ? - 07:05-10:32 +0 N563JB - -\nf89 1519 BOS-MIA 07:05-10:30 118 A220 open ? - 07:05-10:30 +0 N3104J - -\nf90 1811 EWR-RSW 07:05-10:10 141 A320 open ? - 07:05-10:10 +0 N632JB - -\nf91 2295 EWR-MIA 07:05-10:07 141 A320 open ? - 07:05-10:07 +0 N643JB - -\nf92 215 BOS-DFW 07:07-11:29 114 A220 open ? - 07:07-11:29 +0 N3113J - -\nf93 2130 SJU-JFK 07:07-11:09 178 A321 open ? - 07:07-11:09 +0 N913JB - -\nf94 887 BOS-LAS 07:08-13:15 136 A321P open ? - 07:08-13:15 +0 N943JT - -\nf95 1589 EWR-SJU 07:09-11:10 146 A320 open ? - 07:09-11:10 +0 N706JB - -\nf96 159 BOS-PHL 07:10-08:42 84 E190 open ? - 07:10-08:42 +0 N358JB - -\nf97 723 JFK-LAX 07:10-13:28 140 A321P open ? - 07:10-13:28 +0 N929JB - -\nf98 1141 BDL-PBI 07:10-10:15 141 A320 open ? - 07:10-10:15 +0 N593JB - -\nf99 1333 BOS-SFO 07:10-14:06 141 A321P open ? - 07:10-14:06 +0 N967JT - -\nf100 2268 PBI-HPN 07:10-09:59 148 A320 open ? - 07:10-09:59 +0 N646JB - -\nf101 2713 ATL-LGA 07:13-09:29 148 A320 open ? - 07:13-09:29 +0 N636JB - -\nf102 633 BOS-IAH 07:14-11:36 128 A220 open ? - 07:14-11:36 +0 N3121J - -\nf103 890 SJU-EWR 07:15-11:31 145 A320 open ? - 09:10-13:26 +115 N607JB - -\nf104 948 BNA-BOS 07:15-09:42 129 A220 open ? - 07:15-09:42 +0 N3118J - -\nf105 2801 FLL-LAX 07:15-13:04 145 A321P open ? - 08:20-14:09 +65 N989JT - -\nf106 2832 LGA-BOS 07:15-08:27 78 E190 open ? - 07:15-08:27 +0 N324JB - -\nf107 344 FLL-HPN 07:25-10:26 146 A320 open ? - 07:25-10:26 +0 N746JB - -\nf108 1386 RDU-JFK 07:25-09:00 89 E190 open ? - 07:25-09:00 +0 N323JB - -\nf109 2101 BUF-JFK 07:25-08:48 88 E190 open ? - 07:25-08:48 +0 N354JB - -\nf110 619 BOS-SAN 07:29-13:55 186 A321 open ? - 07:29-13:55 +0 N972JT - -\nf111 2401 LGA-CHS 07:29-09:37 99 A320 open ? - 07:29-09:37 +0 N806JB - -\nf112 508 JFK-PWM 07:30-08:48 81 E190 open ? - 07:30-08:48 +0 N266JB - -\nf113 847 JFK-PBI 07:30-10:26 133 A320 open ? - 07:30-10:26 +0 N608JB - -\nf114 1073 JFK-BNA 07:30-10:00 85 E190 open ? - 07:30-10:00 +0 N307JB - -\nf115 1244 PBI-EWR 07:30-10:20 145 A320 open ? - 07:30-10:20 +0 N712JB - -\nf116 1278 JAX-JFK 07:30-09:42 148 A320 open ? - 07:30-09:42 +0 N521JB - -\nf117 1554 DCA-BOS 07:30-08:59 93 E190 open ? - 07:30-08:59 +0 N355JB - -\nf118 581 DCA-RSW 07:35-10:14 76 E190 open ? - 07:35-10:14 +0 N193JB - -\nf119 1480 FLL-DCA 07:35-10:04 145 A320 open ? - 07:35-10:04 +0 N834JB - -\nf120 85 BUF-MCO 07:37-10:21 138 A320 open ? - 07:37-10:21 +0 N618JB - -\nf121 393 BOS-DEN 07:37-12:26 128 A220 open ? - 07:37-12:26 +0 N3085J - -\nf122 884 MCO-JFK 07:40-10:28 138 A320 open ? - 07:40-10:28 +0 N784JB - -\nf123 2117 BOS-JFK 07:40-08:59 84 E190 open ? - 07:40-08:59 +0 N368JB - -\nf124 846 SYR-BOS 07:45-08:52 84 E190 open ? - 07:45-08:52 +0 N317JB - -\nf125 48 TPA-LGA 07:50-10:34 139 A320 open ? - 07:50-10:34 +0 N520JB - -\nf126 813 HPN-FLL 07:50-10:51 144 A320 open ? - 07:50-10:51 +0 N779JB - -\nf127 861 BOS-SJU 07:51-11:50 171 A321 open ? - 07:51-11:50 +0 N959JB - -\nf128 2714 LGA-ATL 07:56-10:25 143 A320 open ? - 07:56-10:25 +0 N524JB - -\nf129 109 BOS-JAX 08:00-10:51 91 E190 open ? - 08:00-10:51 +0 N206JB - -\nf130 186 JFK-ROC 08:00-09:17 82 E190 open ? - 08:00-09:17 +0 N329JB - -\nf131 195 HPN-MCO 08:00-10:49 130 A320 open ? - 08:00-10:49 +0 N793JB - -\nf132 841 JFK-SAV 08:00-10:17 83 E190 open ? - 08:00-10:17 +0 N197JB - -\nf133 1281 BOS-MCO 08:00-11:11 134 A320 open ? - 08:00-11:11 +0 N763JB - -\nf134 1447 HPN-TPA 08:00-10:56 144 A320 open ? - 08:00-10:56 +0 N598JB - -\nf135 1555 BOS-DCA 08:00-09:44 91 E190 open ? - 08:00-09:44 +0 N284JB - -\nf136 1883 BOS-RDU 08:00-10:04 89 E190 open ? - 08:00-10:04 +0 N216JB - -\nf137 2065 BOS-RSW 08:00-11:32 174 A321 open ? - 08:00-11:32 +0 N974JT - -\nf138 2431 BOS-LGA 08:00-09:21 79 E190 open ? - 08:00-09:21 +0 N273JB - -\nf139 411 JFK-LAS 08:10-13:57 166 A321 open ? - 08:10-13:57 +0 N996JL - -\nf140 311 BOS-ORD 08:11-11:20 130 A220 open ? - 08:11-11:20 +0 N3123J - -\nf141 332 LGA-BOS 08:15-09:30 78 E190 open ? - 08:15-09:30 +0 N229JB - -\nf142 927 EWR-MCO 08:15-11:05 136 A320 open ? - 08:15-11:05 +0 N715JB - -\nf143 1081 BOS-RIC 08:15-10:04 86 E190 open ? - 08:15-10:04 +0 N198JB - -\nf144 2423 DCA-MCO 08:15-10:38 143 A320 open ? - 08:15-10:38 +0 N569JB - -\nf145 717 BOS-JFK 08:20-09:38 84 E190 open ? - 08:20-09:38 +0 N236JB - -\nf146 1219 JFK-ATL 08:20-10:56 134 A320 open ? - 08:20-10:56 +0 N644JB - -\nf147 2087 LGA-BNA 08:20-10:58 129 A320 open ? - 08:20-10:58 +0 N708JB - -\nf148 2123 JFK-LAX 08:20-14:38 140 A321P open ? - 08:20-14:38 +0 N961JT - -\nf149 533 BDL-TPA 08:27-11:27 150 A320 open ? - 08:27-11:27 +0 N621JB - -\nf150 601 JFK-FLL 08:30-11:43 138 A320 open ? - 08:30-11:43 +0 N828JB - -\nf151 716 BUF-BOS 08:30-09:49 90 E190 open ? - 08:30-09:49 +0 N203JB - -\nf152 1137 BOS-DTW 08:30-10:43 92 E190 open ? - 08:30-10:43 +0 N281JB - -\nf153 1854 DCA-BOS 08:30-10:05 93 E190 open ? - 08:30-10:05 +0 N265JB - -\nf154 339 LGA-JAX 08:35-11:14 128 A320 open ? - 08:35-11:14 +0 N623JB - -\nf155 2285 JFK-RDU 08:37-10:25 88 E190 open ? - 08:37-10:25 +0 N239JB - -\nf156 1347 DCA-SJU 08:40-12:37 150 A320 open ? - 08:40-12:37 +0 N599JB - -\nf157 1584 MCO-JFK 08:40-11:27 138 A320 open ? - 08:40-11:27 +0 N637JB - -\nf158 18 FLL-JAX 08:45-10:04 107 A320 open ? - 08:45-10:04 +0 N638JB - -\nf159 154 PBI-JFK 08:49-11:29 144 A320 open ? - 08:49-11:29 +0 N656JB - -\nf160 1773 EWR-LAX 08:50-15:14 140 A321P open ? - 08:50-15:14 +0 N985JT - -\nf161 560 FLL-BUF 08:51-12:09 150 A320 open ? - 08:51-12:09 +0 N789JB - -\nf162 2520 MSY-LGA 08:52-12:00 129 A320 open ? - 08:52-12:00 +0 N615JB - -\nf163 967 HPN-PBI 08:59-11:47 133 A320 open ? - 08:59-11:47 +0 N709JB - -\nf164 2121 HPN-ACK 08:59-10:00 69 E190 open ? - 08:59-10:00 +0 N274JB - -\nf165 455 BOS-DCA 09:00-10:46 91 E190 open ? - 09:00-10:46 +0 N228JB - -\nf166 459 JFK-BUR 09:00-15:24 137 A320 open ? - 09:00-15:24 +0 N589JB - -\nf167 531 BOS-LGA 09:00-10:19 79 E190 open ? - 09:00-10:19 +0 N184JB - -\nf168 816 SFO-JFK 09:00-14:29 150 A321P open ? - 09:00-14:29 +0 N978JB - -\nf169 1245 BOS-CLT 09:00-11:24 88 E190 open ? - 09:00-11:24 +0 N339JB - -\nf170 2433 DCA-PBI 09:00-11:35 91 E190 open ? - 09:00-11:35 +0 N187JB - -\nf171 2824 LAX-JFK 09:00-14:27 150 A321P open ? - 09:00-14:27 +0 N976JT - -\nf172 891 BOS-TPA 09:05-12:20 182 A321 open ? - 09:05-12:20 +0 N975JT - -\nf173 1083 JFK-MCO 09:05-11:56 139 A320 open ? - 09:05-11:56 +0 N634JB - -\nf174 1402 FLL-JFK 09:05-11:57 177 A321 open ? - 09:05-11:57 +0 N970JB - -\nf175 1565 BOS-SAT 09:05-13:41 121 A220 open ? - 09:05-13:41 +0 N3125J - -\nf176 2352 BOS-ACK 09:07-10:00 73 E190 open ? - 09:07-10:00 +0 N179JB - -\nf177 461 LGA-PBI 09:08-12:06 128 A320 open ? - 09:08-12:06 +0 N523JB - -\nf178 1273 JFK-CHS 09:10-11:23 82 E190 open ? - 09:10-11:23 +0 N306JB - -\nf179 1860 RSW-LGA 09:10-12:02 136 A320 open ? - 09:10-12:02 +0 N566JB - -\nf180 2479 BOS-EWR 09:10-10:38 73 E190 open ? - 09:10-10:38 +0 N231JB - -\nf181 2432 LGA-BOS 09:15-10:34 78 E190 open ? - 09:15-10:34 +0 N267JB - -\nf182 1311 JFK-LAS 09:19-15:10 166 A321 open ? - 09:19-15:10 +0 N2043J - -\nf183 360 PHL-BOS 09:25-10:53 83 E190 open ? - 09:25-10:53 +0 N358JB - -\nf184 690 FLL-BOS 09:25-12:41 180 A321 open ? - 09:25-12:41 +0 N950JT - -\nf185 1338 JFK-MVY 09:25-10:32 59 E190 open ? - 09:25-10:32 +0 N348JB - -\nf186 271 LGA-FLL 09:27-12:39 142 A320 open ? - 09:27-12:39 +0 N561JB - -\nf187 2041 BOS-CLE 09:27-11:32 92 E190 open ? - 09:27-11:32 +0 N337JB - -\nf188 1280 FLL-DCA 09:28-12:00 145 A320 open ? - 09:28-12:00 +0 N534JB - -\nf189 1634 JFK-BTV 09:29-10:46 84 E190 open ? - 09:29-10:46 +0 N183JB - -\nf190 538 BQN-JFK 09:30-13:20 137 A320 open ? - 09:30-13:20 +0 N506JB - -\nf191 1954 DCA-BOS 09:30-11:05 93 E190 open ? - 09:30-11:05 +0 N328JB - -\nf192 2028 MCO-EWR 09:30-12:17 145 A320 open ? - 09:30-12:17 +0 N640JB - -\nf193 219 JFK-DTW 09:33-11:38 80 E190 open ? - 09:33-11:38 +0 N354JB - -\nf194 1580 TPA-JFK 09:34-12:16 183 A321 open ? - 09:41-12:23 +7 N2039J - -\nf195 1754 SJU-FLL 09:34-12:22 142 A320 open ? - 09:34-12:22 +0 N613JB - -\nf196 1529 JFK-RSW 09:35-12:59 86 E190 open ? - 09:35-12:59 +0 N368JB - -\nf197 1602 JFK-BUF 09:35-11:01 88 E190 open ? - 09:35-11:01 +0 N323JB - -\nf198 2135 SFO-LAX 09:35-11:01 129 A320 open ? - 09:35-11:01 +0 N625JB - -\nf199 1143 BOS-BUF 09:38-11:11 90 E190 open ? - 09:38-11:11 +0 N324JB - -\nf200 450 CHS-BOS 09:39-11:54 125 A220 open ? - 09:39-11:54 +0 N3044J - -\nf201 2309 LGA-ACK 09:39-10:55 63 E190 open ? - 09:39-10:55 +0 N304JB - -\nf202 323 JFK-LAX 09:40-15:57 140 A321P open ? - 09:40-15:57 +0 N923JB - -\nf203 1774 LAX-EWR 09:40-15:03 151 A321P open ? - 09:40-15:03 +0 N968JT - -\nf204 2584 MCO-JFK 09:40-12:28 138 A320 open ? - 09:40-12:28 +0 N635JB - -\nf205 407 PWM-JFK 09:41-11:00 81 E190 open ? - 09:41-11:00 +0 N266JB - -\nf206 906 ORD-JFK 09:44-11:59 133 A320 open ? - 09:45-12:00 +1 N583JB - -\nf207 189 JFK-SAN 09:45-16:01 168 A321 open ? - 09:45-16:01 +0 N957JB - -\nf208 1122 SAV-BOS 09:45-12:10 139 A320 open ? - 09:45-12:10 +0 N517JB - -\nf209 2725 JFK-TPA 09:45-12:40 143 A320 open ? - 09:45-12:40 +0 N655JB - -\nf210 1423 FLL-MSY 09:47-11:56 122 A320 open ? - 09:47-11:56 +0 N630JB - -\nf211 115 JFK-SFO 09:50-16:23 137 A321P open ? - 10:32-17:05 +42 N977JE - -\nf212 1439 BOS-AUS 09:50-14:19 126 A220 open ? - 09:50-14:19 +0 N3115J - -\nf213 2592 MIA-JFK 09:50-12:44 142 A320 open ? - 09:50-12:44 +0 N562JB - -\nf214 1604 SJU-JFK 09:56-13:59 178 A321 open ? - 09:56-13:59 +0 N999JQ - -\nf215 176 MSY-JFK 09:57-12:59 139 A320 open ? - 09:57-12:59 +0 N580JB - -\nf216 272 FLL-LGA 09:57-12:53 149 A320 open ? - 09:57-12:53 +0 N504JB - -\nf217 599 LGA-MCO 09:59-12:52 145 A320 open ? - 09:59-12:52 +0 N556JB - -\nf218 379 DCA-FLL 10:00-12:38 147 A320 open ? - 10:00-12:38 +0 N796JB - -\nf219 631 BOS-LGA 10:00-11:20 79 E190 open ? - 10:00-11:20 +0 N190JB - -\nf220 706 LAX-SEA 10:00-12:51 121 A320 open ? - 10:00-12:51 +0 N586JB - -\nf221 1655 BOS-DCA 10:00-11:46 91 E190 open ? - 10:00-11:46 +0 N317JB - -\nf222 2324 MCO-DCA 10:00-12:22 81 E190 open ? - 10:00-12:22 +0 N375JB - -\nf223 2903 JFK-SJU 10:00-13:56 179 A321 open ? - 10:00-13:56 +0 N954JB - -\nf224 2469 BOS-FLL 10:04-13:25 181 A321 open ? - 10:04-13:25 +0 N973JT - -\nf225 485 ROC-JFK 10:05-11:23 82 E190 open ? - 10:05-11:23 +0 N329JB - -\nf226 577 FLL-SFO 10:06-16:47 140 A321P open ? - 10:22-17:03 +16 N984JB - -\nf227 1833 BOS-SFO 10:06-17:11 141 A321P open ? - 10:06-17:11 +0 N993JE - -\nf228 1636 LAX-SFO 10:09-11:30 127 A320 open ? - 10:09-11:30 +0 N606JB - -\nf229 801 MCO-SLC 10:10-15:09 149 A320 open ? - 10:10-15:09 +0 N703JB - -\nf230 1522 MCO-HPN 10:12-13:03 123 A320 open ? - 10:12-13:03 +0 N594JB - -\nf231 680 MKE-JFK 10:14-12:28 120 A220 open ? - 10:14-12:28 +0 N3102J - -\nf232 698 MCO-LGA 10:15-13:01 146 A320 open ? - 10:15-13:01 +0 N547JB - -\nf233 1033 MCO-SJU 10:15-13:06 180 A321 open ? - 10:15-13:06 +0 N2044J - -\nf234 678 JAX-JFK 10:18-12:30 91 E190 open ? - 10:18-12:30 +0 N247JB - -\nf235 387 BOS-LAX 10:20-16:59 138 A321P open ? - 10:20-16:59 +0 N946JL - -\nf236 1036 SJU-STT 10:23-11:03 145 A320 open ? - 10:23-11:03 +0 N627JB - -\nf237 2566 LGA-MVY 10:23-11:32 59 E190 open ? - 10:23-11:32 +0 N273JB - -\nf238 896 ATL-BOS 10:24-13:03 92 E190 open ? - 10:24-13:03 +0 N283JB - -\nf239 27 BOS-BWI 10:25-11:54 86 E190 open ? - 10:25-11:54 +0 N355JB - -\nf240 2593 JFK-MIA 10:29-13:36 137 A320 open ? - 10:29-13:36 +0 N775JB - -\nf241 353 FLL-SJU 10:30-13:09 149 A320 open ? - 10:30-13:09 +0 N705JB - -\nf242 654 DCA-BOS 10:30-12:02 93 E190 open ? - 10:30-12:02 +0 N284JB - -\nf243 929 BOS-SAN 10:30-17:01 186 A321 open ? - 10:30-17:01 +0 N971JT - -\nf244 2051 BOS-MCO 10:30-13:43 178 A321 open ? - 10:30-13:43 +0 N994JL - -\nf245 2718 JFK-BOS 10:30-11:40 80 E190 open ? - 10:30-11:40 +0 N236JB - -\nf246 1470 CHS-LGA 10:32-12:30 116 A320 open ? - 10:32-12:30 +0 N806JB - -\nf247 945 BOS-BNA 10:35-13:29 128 A220 open ? - 10:35-13:29 +0 N3058J - -\nf248 1074 BNA-JFK 10:35-12:57 77 E190 open ? - 10:35-12:57 +0 N307JB - -\nf249 1115 LGA-DEN 10:35-15:09 142 A320 open ? - 10:35-15:09 +0 N766JB - -\nf250 1151 ACK-BOS 10:35-11:26 60 E190 open ? - 10:35-11:26 +0 N179JB - -\nf251 2222 MCI-JFK 10:35-13:29 130 A220 open ? - 10:35-13:29 +0 N3023J - -\nf252 729 BQN-MCO 10:36-13:34 143 A320 open ? - 10:36-13:34 +0 N805JB - -\nf253 953 JFK-PBI 10:40-13:35 133 A320 open ? - 10:40-13:35 +0 N584JB - -\nf254 1485 BOS-PIT 10:40-12:28 93 E190 open ? - 10:40-12:28 +0 N229JB - -\nf255 1700 LAX-FLL 10:40-15:42 151 A321P open ? - 10:40-15:42 +0 N944JT - -\nf256 484 RDU-BOS 10:45-12:43 91 E190 open ? - 10:45-12:43 +0 N216JB - -\nf257 1114 MSP-BOS 10:45-13:28 133 A220 open ? - 10:45-13:28 +0 N3077J - -\nf258 1182 RIC-BOS 10:45-12:18 88 E190 open ? - 10:45-12:18 +0 N198JB - -\nf259 2493 ACK-DCA 10:46-12:30 61 E190 open ? - 10:46-12:30 +0 N274JB - -\nf260 17 JAX-FLL 10:49-12:04 107 A320 open ? - 10:49-12:04 +0 N638JB - -\nf261 682 RSW-DCA 10:49-13:19 84 E190 open ? - 10:49-13:19 +0 N193JB - -\nf262 2201 JFK-FLL 10:50-14:02 171 A321 open ? - 10:50-14:02 +0 N958JB - -\nf263 2274 TPA-EWR 10:52-13:41 150 A320 open ? - 10:52-13:41 +0 N641JB - -\nf264 842 SAV-JFK 10:53-12:59 82 E190 open ? - 10:53-12:59 +0 N197JB - -\nf265 895 EWR-MCO 10:54-13:42 147 A320 open ? - 10:54-13:42 +0 N552JB - -\nf266 2594 MIA-EWR 10:57-14:08 149 A320 open ? - 10:57-14:08 +0 N643JB - -\nf267 1251 HPN-RSW 10:59-14:10 121 A320 open ? - 10:59-14:10 +0 N646JB - -\nf268 90 SAN-JFK 11:00-16:19 147 A321P open ? - 11:00-16:19 +0 N964JT - -\nf269 288 LAX-BOS 11:00-16:34 150 A321P open ? - 11:00-16:34 +0 N934JB - -\nf270 434 SFO-BOS 11:00-16:40 149 A321P open ? - 11:00-16:40 +0 N942JB - -\nf271 523 JFK-LAX 11:00-17:16 141 A321P open ? - 11:00-17:16 +0 N987JT - -\nf272 725 JFK-SAT 11:00-15:13 134 A320 open ? - 11:00-15:13 +0 N591JB - -\nf273 1288 PBI-PVD 11:00-14:00 150 A320 open ? - 11:00-14:00 +0 N593JB - -\nf274 1812 RSW-EWR 11:02-13:59 149 A320 open ? - 11:02-13:59 +0 N632JB - -\nf275 2786 RDU-JFK 11:05-12:43 89 E190 open ? - 11:05-12:43 +0 N239JB - -\nf276 784 MCO-JFK 11:06-13:53 138 A320 open ? - 11:06-13:53 +0 N529JB - -\nf277 1248 TPA-LGA 11:08-14:00 139 A320 open ? - 11:08-14:00 +0 N768JB - -\nf278 880 LAX-LAS 11:10-12:27 110 A320 open ? - 11:10-12:27 +0 N508JL - -\nf279 1339 MVY-JFK 11:12-12:22 49 E190 open ? - 11:12-12:22 +0 N348JB - -\nf280 1882 IAH-JFK 11:14-14:49 176 A321 open ? - 11:24-14:59 +10 N952JB - -\nf281 94 MCO-HPN 11:15-14:09 123 A320 open ? - 11:15-14:09 +0 N558JB - -\nf282 180 EWR-BOS 11:15-12:25 76 E190 open ? - 11:15-12:25 +0 N231JB - -\nf283 322 PBI-BOS 11:15-14:28 189 A321 open ? - 11:15-14:28 +0 N965JT - -\nf284 543 EWR-PBI 11:15-14:14 136 A320 open ? - 11:15-14:14 +0 N579JB - -\nf285 1861 LGA-RSW 11:15-14:40 113 A320 open ? - 11:15-14:40 +0 N636JB - -\nf286 1220 MIA-BOS 11:16-14:38 121 A220 open ? - 11:16-14:38 +0 N3104J - -\nf287 2036 DTW-BOS 11:18-13:10 90 E190 open ? - 11:18-13:10 +0 N281JB - -\nf288 111 JFK-LAS 11:20-17:00 132 A321P open ? - 11:20-17:00 +0 N991JT - -\nf289 1207 LGA-PWM 11:20-12:40 87 E190 open ? - 11:20-12:40 +0 N184JB - -\nf290 2813 ATL-LGA 11:20-13:43 148 A320 open ? - 11:20-13:43 +0 N524JB - -\nf291 848 PBI-JFK 11:21-14:19 144 A320 open ? - 11:21-14:19 +0 N608JB - -\nf292 1334 SJU-MCO 11:25-14:45 178 A321 open ? - 11:25-14:45 +0 N903JB - -\nf293 2577 BOS-LAS 11:25-17:32 171 A321 open ? - 11:25-17:32 +0 N907JB - -\nf294 83 JFK-MCO 11:30-14:24 139 A320 open ? - 11:30-14:24 +0 N535JB - -\nf295 554 DCA-BOS 11:30-13:04 93 E190 open ? - 11:30-13:04 +0 N228JB - -\nf296 579 DCA-FLL 11:30-14:12 147 A320 open ? - 11:30-14:12 +0 N834JB - -\nf297 1210 ACK-LGA 11:30-12:40 51 E190 open ? - 11:30-12:40 +0 N304JB - -\nf298 1410 JAX-BOS 11:30-14:09 89 E190 open ? - 11:30-14:09 +0 N206JB - -\nf299 1633 BTV-JFK 11:30-12:52 82 E190 open ? - 11:30-12:52 +0 N183JB - -\nf300 400 MSY-BOS 11:33-15:01 131 A320 open ? - 11:33-15:01 +0 N519JB - -\nf301 270 MCO-RIC 11:35-13:37 134 A320 open ? - 11:35-13:37 +0 N588JB - -\nf302 1901 BUF-JFK 11:38-12:59 88 E190 open ? - 11:38-12:59 +0 N323JB - -\nf303 759 BOS-PHL 11:40-13:13 84 E190 open ? - 11:40-13:13 +0 N203JB - -\nf304 2532 LAX-SLC 11:40-13:32 139 A320 open ? - 11:40-13:32 +0 N624JB - -\nf305 520 ATL-JFK 11:41-13:59 140 A320 open ? - 11:41-13:59 +0 N644JB - -\nf306 2088 BNA-LGA 11:43-14:02 131 A320 open ? - 11:43-14:02 +0 N708JB - -\nf307 2417 BOS-JFK 11:43-12:59 84 E190 open ? - 11:43-12:59 +0 N265JB - -\nf308 741 BOS-SRQ 11:45-15:09 95 E190 open ? - 11:45-15:09 +0 N267JB - -\nf309 1144 BUF-BOS 11:46-13:05 90 E190 open ? - 11:46-13:05 +0 N324JB - -\nf310 1135 STT-SJU 11:48-12:32 150 A320 open ? - 11:48-12:32 +0 N627JB - -\nf311 1990 SJU-EWR 11:55-16:11 145 A320 open ? - 11:55-16:11 +0 N706JB - -\nf312 2647 HPN-CHS 11:59-14:10 97 A320 open ? - 11:59-14:10 +0 N746JB - -\nf313 120 MCO-ALB 12:00-14:51 135 A320 open ? - 12:00-14:51 +0 N509JB - -\nf314 194 MCO-JFK 12:00-14:48 128 A320 open ? - 12:00-14:48 +0 N618JB - -\nf315 578 SFO-FLL 12:00-17:33 146 A321P open ? - 12:00-17:33 +0 N962JT - -\nf316 1246 CLT-BOS 12:00-14:16 88 E190 open ? - 12:00-14:16 +0 N339JB - -\nf317 1855 BOS-DCA 12:00-13:45 91 E190 open ? - 12:00-13:45 +0 N358JB - -\nf318 1964 JFK-HYA 12:00-13:06 56 E190 open ? - 12:00-13:06 +0 N266JB - -\nf319 2091 JFK-ACK 12:00-13:11 53 E190 open ? - 12:00-13:11 +0 N329JB - -\nf320 2223 JFK-LAX 12:00-18:23 140 A321P open ? - 12:00-18:23 +0 N947JB - -\nf321 2474 CHS-JFK 12:04-13:59 86 E190 open ? - 12:04-13:59 +0 N306JB - -\nf322 312 ORD-BOS 12:05-14:30 133 A220 open ? - 12:05-14:30 +0 N3123J - -\nf323 1149 BOS-ATL 12:05-14:55 93 E190 open ? - 12:05-14:55 +0 N328JB - -\nf324 2156 DEN-LGA 12:06-16:00 141 A320 open ? - 12:06-16:00 +0 N564JB - -\nf325 2040 CLE-BOS 12:07-13:52 88 E190 open ? - 12:07-13:52 +0 N337JB - -\nf326 2565 MVY-LGA 12:07-13:29 43 E190 open ? - 12:07-13:29 +0 N273JB - -\nf327 340 JAX-LGA 12:08-14:29 136 A320 open ? - 12:08-14:29 +0 N623JB - -\nf328 2334 PBI-DCA 12:10-14:35 92 E190 open ? - 12:10-14:35 +0 N187JB - -\nf329 1534 TPA-BDL 12:12-15:09 145 A320 open ? - 12:12-15:09 +0 N598JB - -\nf330 220 DTW-JFK 12:13-13:59 82 E190 open ? - 12:13-13:59 +0 N354JB - -\nf331 1214 DFW-BOS 12:15-16:04 122 A220 open ? - 12:15-16:04 +0 N3113J - -\nf332 1635 SFO-LAX 12:15-13:44 129 A320 open ? - 12:15-13:44 +0 N606JB - -\nf333 2251 BOS-MCO 12:19-15:35 178 A321 open ? - 12:19-15:35 +0 N905JB - -\nf334 165 BOS-RSW 12:20-15:55 174 A321 open ? - 12:20-15:55 +0 N998JE - -\nf335 1324 BOS-MVY 12:20-13:05 52 E190 open ? - 12:20-13:05 +0 N179JB - -\nf336 664 IAH-BOS 12:21-16:05 131 A220 open ? - 12:21-16:05 +0 N3121J - -\nf337 871 JFK-SLC 12:29-17:48 143 A320 open ? - 12:29-17:48 +0 N645JB - -\nf338 1680 FLL-DCA 12:29-15:05 145 A320 open ? - 12:29-15:05 +0 N563JB - -\nf339 2310 LGA-ACK 12:29-13:41 63 E190 open ? - 12:29-13:41 +0 N190JB - -\nf340 526 BWI-BOS 12:30-13:54 89 E190 open ? - 12:30-13:54 +0 N355JB - -\nf341 2254 DCA-BOS 12:30-14:02 93 E190 open ? - 12:30-14:02 +0 N317JB - -\nf342 2066 RSW-BOS 12:34-15:54 186 A321 open ? - 12:34-15:54 +0 N974JT - -\nf343 285 JFK-RDU 12:35-14:21 131 A320 open ? - 12:35-14:21 +0 N804JB - -\nf344 1422 MSY-FLL 12:41-14:39 129 A320 open ? - 12:41-14:39 +0 N630JB - -\nf345 1433 MCO-SJU 12:45-15:39 146 A320 open ? - 12:45-15:39 +0 N793JB - -\nf346 247 BOS-SLC 12:49-18:15 129 A220 open ? - 12:49-18:15 +0 N3044J - -\nf347 462 SJU-BOS 12:50-17:01 164 A321 open ? - 12:50-17:01 +0 N959JB - -\nf348 1601 JFK-FLL 12:50-16:03 171 A321 open ? - 12:50-16:03 +0 N966JT - -\nf349 324 LAX-JFK 12:54-18:30 150 A321P open ? - 12:54-18:30 +0 N986JB - -\nf350 559 BUF-FLL 12:55-15:53 150 A320 open ? - 12:55-15:53 +0 N789JB - -\nf351 1923 DCA-MCO 12:55-15:18 143 A320 open ? - 12:55-15:18 +0 N534JB - -\nf352 46 LGA-TPA 12:59-16:04 145 A320 open ? - 12:59-16:04 +0 N639JB - -\nf353 1055 BOS-DCA 13:00-14:47 91 E190 open ? - 13:00-14:47 +0 N236JB - -\nf354 1068 PBI-HPN 13:00-16:02 148 A320 open ? - 13:00-16:02 +0 N709JB - -\nf355 1679 DCA-FLL 13:00-15:46 91 E190 open ? - 13:00-15:46 +0 N375JB - -\nf356 2719 JFK-ATL 13:01-15:29 165 A321 open ? - 13:01-15:29 +0 N2029J - -\nf357 2286 PIT-BOS 13:03-14:45 92 E190 open ? - 13:03-14:45 +0 N229JB - -\nf358 62 PBI-LGA 13:05-16:00 134 A320 open ? - 13:05-16:00 +0 N523JB - -\nf359 2579 BOS-EWR 13:05-14:43 73 E190 open ? - 13:05-14:43 +0 N284JB - -\nf360 2747 LGA-SAV 13:05-15:27 127 A320 open ? - 13:05-15:27 +0 N615JB - -\nf361 602 FLL-JFK 13:09-16:11 144 A320 open ? - 13:09-16:11 +0 N536JB - -\nf362 206 BOS-BNA 13:10-16:05 138 A320 open ? - 13:10-16:05 +0 N517JB - -\nf363 879 LAS-LAX 13:12-14:30 87 A320 open ? - 13:12-14:30 +0 N508JL - -\nf364 1874 LAX-EWR 13:14-18:45 151 A321P open ? - 13:14-18:45 +0 N990JL - -\nf365 718 JFK-BOS 13:15-14:31 80 E190 open ? - 13:15-14:31 +0 N348JB - -\nf366 2215 BOS-BUF 13:15-14:49 90 E190 open ? - 13:15-14:49 +0 N198JB - -\nf367 2232 LGA-BOS 13:15-14:31 78 E190 open ? - 13:15-14:31 +0 N304JB - -\nf368 394 DEN-BOS 13:16-17:08 125 A220 open ? - 13:16-17:08 +0 N3085J - -\nf369 892 TPA-BOS 13:20-16:38 178 A321 open ? - 13:20-16:38 +0 N975JT - -\nf370 1076 MCO-PVD 13:20-16:14 144 A320 open ? - 13:20-16:14 +0 N715JB - -\nf371 1721 JFK-MSY 13:20-16:41 129 A320 open ? - 13:20-16:41 +0 N665JB - -\nf372 372 FLL-LGA 13:24-16:29 149 A320 open ? - 13:24-16:29 +0 N828JB - -\nf373 276 SJU-BDL 13:27-17:32 140 A320 open ? - 13:27-17:32 +0 N627JB - -\nf374 116 JFK-SYR 13:30-14:42 85 E190 open ? - 13:30-14:42 +0 N247JB - -\nf375 1483 JFK-MCO 13:30-16:24 139 A320 open ? - 13:30-16:24 +0 N571JB - -\nf376 2814 LGA-ATL 13:30-16:03 143 A320 open ? - 13:30-16:03 +0 N566JB - -\nf377 100 LAX-FLL 13:35-18:44 151 A321P open ? - 13:35-18:44 +0 N969JT - -\nf378 130 RSW-JFK 13:35-16:29 84 E190 open ? - 13:35-16:29 +0 N368JB - -\nf379 1414 DCA-MVY 13:35-15:01 70 E190 open ? - 13:35-15:01 +0 N274JB - -\nf380 2020 FLL-ORH 13:35-16:45 138 A320 open ? - 13:35-16:45 +0 N613JB - -\nf381 2116 SFO-JFK 13:35-19:14 150 A321P open ? - 13:35-19:14 +0 N992JB - -\nf382 2291 JFK-ACK 13:35-14:43 53 E190 open ? - 13:35-14:43 +0 N239JB - -\nf383 2826 TPA-JFK 13:35-16:23 148 A320 open ? - 13:35-16:23 +0 N621JB - -\nf384 591 BOS-TPA 13:37-16:54 127 A220 open ? - 14:13-17:30 +36 N3077J - -\nf385 1963 HYA-JFK 13:41-14:46 46 E190 open ? - 13:41-14:46 +0 N266JB - -\nf386 295 JFK-AUS 13:44-17:58 137 A320 open ? - 13:44-17:58 +0 N521JB - -\nf387 1388 LAX-BOS 13:45-19:24 150 A321P open ? - 13:45-19:24 +0 N945JT - -\nf388 92 ACK-JFK 13:46-14:55 45 E190 open ? - 13:46-14:55 +0 N329JB - -\nf389 707 SEA-LAX 13:46-16:28 110 A320 open ? - 13:46-16:28 +0 N586JB - -\nf390 371 LGA-FLL 13:48-17:03 142 A320 open ? - 13:48-17:03 +0 N806JB - -\nf391 781 BOS-RIC 13:49-15:35 86 E190 open ? - 13:49-15:35 +0 N231JB - -\nf392 501 BOS-JAX 13:50-16:41 91 E190 open ? - 13:50-16:41 +0 N216JB - -\nf393 2665 MVY-HPN 13:50-15:00 26 E190 open ? - 13:50-15:00 +0 N179JB - -\nf394 1942 LGA-DEN 13:54-18:23 142 A320 open ? - 13:54-18:23 +0 N504JB - -\nf395 23 DCA-MCO 13:55-16:20 88 E190 open ? - 13:55-16:20 +0 N193JB - -\nf396 727 BOS-BWI 13:55-15:25 86 E190 open ? - 13:55-15:25 +0 N283JB - -\nf397 495 HPN-MCO 13:59-16:54 130 A320 open ? - 13:59-16:54 +0 N594JB - -\nf398 134 JFK-BTV 14:00-15:18 84 E190 open ? - 14:00-15:18 +0 N183JB - -\nf399 755 BOS-DCA 14:00-15:47 91 E190 open ? - 14:00-15:47 +0 N228JB - -\nf400 831 BOS-LGA 14:00-15:23 79 E190 open ? - 14:00-15:23 +0 N324JB - -\nf401 2160 PHL-BOS 14:00-15:25 83 E190 open ? - 14:00-15:25 +0 N203JB - -\nf402 334 SFO-BOS 14:03-19:49 149 A321P open ? - 14:03-19:49 +0 N980JT - -\nf403 934 SJU-MCO 14:06-17:16 178 A321 open ? - 14:06-17:16 +0 N2044J - -\nf404 1383 PWM-LGA 14:07-15:30 71 E190 open ? - 14:07-15:30 +0 N184JB - -\nf405 163 JFK-SRQ 14:10-17:18 142 A320 open ? - 14:10-17:18 +0 N662JB - -\nf406 424 LAX-JFK 14:15-19:50 150 A321P open ? - 14:38-20:13 +23 N929JB - -\nf407 832 LGA-BOS 14:15-15:32 78 E190 open ? - 14:15-15:32 +0 N273JB - -\nf408 1098 MCO-LGA 14:15-17:00 146 A320 open ? - 14:15-17:00 +0 N763JB - -\nf409 1351 ACK-BOS 14:17-15:09 60 E190 open ? - 14:17-15:09 +0 N190JB - -\nf410 438 MCO-BDL 14:19-17:15 143 A320 open ? - 14:19-17:15 +0 N634JB - -\nf411 946 BNA-BOS 14:20-16:54 129 A220 open ? - 14:20-16:54 +0 N3058J - -\nf412 969 RIC-MCO 14:22-16:25 135 A320 open ? - 14:22-16:25 +0 N588JB - -\nf413 2392 MIA-JFK 14:22-17:22 142 A320 open ? - 14:22-17:22 +0 N775JB - -\nf414 888 LAS-BOS 14:25-19:31 134 A321P open ? - 14:25-19:31 +0 N943JT - -\nf415 1902 FLL-JFK 14:25-17:29 177 A321 open ? - 14:25-17:29 +0 N973JT - -\nf416 505 EWR-FLL 14:29-17:30 144 A320 open ? - 14:29-17:30 +0 N712JB - -\nf417 1835 JFK-TPA 14:29-17:31 88 E190 open ? - 14:29-17:31 +0 N307JB - -\nf418 1919 LGA-MSY 14:29-17:53 122 A320 open ? - 14:29-17:53 +0 N547JB - -\nf419 2902 JFK-BUF 14:29-16:01 88 E190 open ? - 14:29-16:01 +0 N197JB - -\nf420 522 PBI-BOS 14:30-17:46 150 A320 open ? - 14:30-17:46 +0 N584JB - -\nf421 776 JFK-ORH 14:30-15:31 50 E190 open ? - 14:30-15:31 +0 N265JB - -\nf422 2033 BOS-IAH 14:30-18:49 128 A220 open ? - 15:15-19:34 +45 N3123J - -\nf423 2221 JFK-MCI 14:30-17:53 126 A220 open ? - 14:30-17:53 +0 N3102J - -\nf424 2531 SLC-LAX 14:30-16:29 121 A320 open ? - 14:30-16:29 +0 N624JB - -\nf425 2554 DCA-BOS 14:30-16:08 93 E190 open ? - 14:30-16:08 +0 N358JB - -\nf426 2473 JFK-CHS 14:35-16:48 82 E190 open ? - 14:35-16:48 +0 N323JB - -\nf427 1268 LAX-BDL 14:36-19:55 150 A320 open ? - 14:36-19:55 +0 N625JB - -\nf428 1566 SAT-BOS 14:36-18:52 134 A220 open ? - 14:36-18:52 +0 N3125J - -\nf429 803 JFK-SJU 14:38-18:34 145 A320 open ? - 14:38-18:34 +0 N784JB - -\nf430 897 BOS-SJU 14:38-18:37 171 A321 open ? - 14:38-18:37 +0 N2060J - -\nf431 2424 MCO-DCA 14:38-17:00 131 A320 open ? - 14:38-17:00 +0 N556JB - -\nf432 2885 LAX-MIA 14:38-19:39 148 A321P open ? - 15:19-20:20 +41 N989JT - -\nf433 521 BOS-PBI 14:40-17:58 84 E190 open ? - 14:40-17:58 +0 N281JB - -\nf434 2317 BOS-JFK 14:41-16:00 84 E190 open ? - 14:41-16:00 +0 N337JB - -\nf435 2416 SFO-JFK 14:41-20:20 150 A321P open ? - 14:41-20:20 +0 N2105J - -\nf436 2052 MCO-BOS 14:44-17:55 173 A321 open ? - 14:44-17:55 +0 N994JL - -\nf437 761 LGA-PBI 14:45-17:52 128 A320 open ? - 14:45-17:52 +0 N524JB - -\nf438 1287 PVD-PBI 14:45-17:46 136 A320 open ? - 14:45-17:46 +0 N593JB - -\nf439 2187 LGA-BNA 14:48-17:30 129 A320 open ? - 14:48-17:30 +0 N768JB - -\nf440 679 JFK-MKE 14:50-17:26 123 A220 open ? - 14:50-17:26 +0 N3023J - -\nf441 1130 FLL-CHS 14:51-16:30 121 A320 open ? - 14:51-16:30 +0 N796JB - -\nf442 1167 HPN-PBI 14:55-18:00 133 A320 open ? - 14:55-18:00 +0 N558JB - -\nf443 1401 JFK-FLL 14:55-18:10 138 A320 open ? - 14:55-18:10 +0 N526JL - -\nf444 86 RDU-JFK 14:56-16:39 133 A320 open ? - 15:06-16:49 +10 N804JB - -\nf445 2030 SJU-JFK 14:57-18:59 178 A321 open ? - 14:57-18:59 +0 N954JB - -\nf446 643 EWR-PBI 14:59-18:03 136 A320 open ? - 14:59-18:03 +0 N640JB - -\nf447 1527 EWR-MCO 14:59-17:50 147 A320 open ? - 14:59-17:50 +0 N607JB - -\nf448 88 FLL-ALB 15:00-18:05 150 A320 open ? - 15:00-18:05 +0 N561JB - -\nf449 1019 JFK-DTW 15:00-17:06 80 E190 open ? - 15:00-17:06 +0 N306JB - -\nf450 1955 BOS-DCA 15:00-16:49 91 E190 open ? - 15:00-16:49 +0 N355JB - -\nf451 253 FLL-SJU 15:02-17:35 183 A321 open ? - 15:02-17:35 +0 N958JB - -\nf452 267 BOS-CHS 15:05-17:35 86 E190 open ? - 15:05-17:35 +0 N317JB - -\nf453 1238 AUS-BOS 15:09-19:10 133 A220 open ? - 15:09-19:10 +0 N3115J - -\nf454 399 LGA-MCO 15:10-18:18 134 A320 open ? - 15:10-18:18 +0 N708JB - -\nf455 1154 PBI-JFK 15:10-18:07 144 A320 open ? - 15:10-18:07 +0 N579JB - -\nf456 2494 DCA-ACK 15:10-16:44 73 E190 open ? - 15:10-16:44 +0 N187JB - -\nf457 2054 SJU-FLL 15:14-18:10 142 A320 open ? - 15:14-18:10 +0 N705JB - -\nf458 19 BOS-SAN 15:15-21:48 148 A321P open ? - 15:15-21:48 +0 N979JT - -\nf459 620 SAN-BOS 15:15-20:50 185 A321 open ? - 15:15-20:50 +0 N972JT - -\nf460 1815 SYR-JFK 15:17-16:34 76 E190 open ? - 15:17-16:34 +0 N247JB - -\nf461 410 ACK-LGA 15:18-16:33 51 E190 open ? - 15:18-16:33 +0 N239JB - -\nf462 2884 MCO-JFK 15:19-18:10 138 A320 open ? - 15:19-18:10 +0 N805JB - -\nf463 1147 BOS-SAV 15:20-18:01 82 E190 open ? - 15:20-18:01 +0 N206JB - -\nf464 448 LAS-JFK 15:21-20:30 170 A321 open ? - 15:21-20:30 +0 N996JL - -\nf465 835 BOS-MSP 15:25-18:47 126 A220 open ? - 15:25-18:47 +0 N3104J - -\nf466 2016 BUF-BOS 15:27-16:48 90 E190 open ? - 15:27-16:48 +0 N198JB - -\nf467 623 JFK-LAX 15:30-21:58 140 A321P open ? - 15:37-22:05 +7 N976JT - -\nf468 1254 DCA-BOS 15:30-17:10 93 E190 open ? - 15:30-17:10 +0 N236JB - -\nf469 1518 JFK-BOS 15:30-16:58 80 E190 open ? - 15:30-16:58 +0 N354JB - -\nf470 1677 JFK-JAX 15:30-18:11 138 A320 open ? - 15:30-18:11 +0 N583JB - -\nf471 1719 JFK-ATL 15:30-18:11 134 A320 open ? - 15:30-18:11 +0 N635JB - -\nf472 2259 BOS-PHL 15:30-17:07 84 E190 open ? - 15:30-17:07 +0 N339JB - -\nf473 2380 EWR-BOS 15:30-16:43 76 E190 open ? - 15:30-16:43 +0 N284JB - -\nf474 1319 BOS-MIA 15:33-18:58 118 A220 open ? - 16:49-20:14 +76 N3113J - -\nf475 2060 RSW-LGA 15:34-18:30 136 A320 open ? - 15:34-18:30 +0 N646JB - -\nf476 193 JFK-MCO 15:35-18:43 128 A320 open ? - 15:35-18:43 +0 N562JB - -\nf477 942 LAX-RNO 15:35-17:05 120 A320 open ? - 15:35-17:05 +0 N606JB - -\nf478 1150 ATL-BOS 15:35-18:19 92 E190 open ? - 15:35-18:19 +0 N328JB - -\nf479 119 ALB-MCO 15:36-18:40 138 A320 open ? - 15:36-18:40 +0 N509JB - -\nf480 1413 MVY-DCA 15:40-17:19 59 E190 open ? - 15:40-17:19 +0 N274JB - -\nf481 416 SFO-JFK 15:43-21:20 150 A321P open ? - 15:43-21:20 +0 N967JT - -\nf482 369 BOS-FLL 15:45-19:12 181 A321 open ? - 15:45-19:12 +0 N995JL - -\nf483 2666 HPN-MVY 15:45-16:43 33 E190 open ? - 15:45-16:43 +0 N179JB - -\nf484 524 LAX-JFK 15:48-21:19 150 A321P open ? - 15:48-21:19 +0 N961JT - -\nf485 615 JFK-SFO 15:50-22:52 137 A321P open ? - 15:50-22:52 +0 N978JB - -\nf486 1133 MCO-SJU 15:50-18:40 180 A321 open ? - 15:50-18:40 +0 N903JB - -\nf487 1475 BDL-SJU 15:54-19:46 146 A320 open ? - 15:54-19:46 +0 N598JB - -\nf488 636 SJU-MCO 15:55-19:15 144 A320 open ? - 15:55-19:15 +0 N585JB - -\nf489 940 SRQ-BOS 15:55-19:14 96 E190 open ? - 15:55-19:14 +0 N267JB - -\nf490 931 BOS-MSY 15:56-19:45 128 A320 open ? - 15:56-19:45 +0 N519JB - -\nf491 433 BTV-JFK 15:58-17:24 82 E190 open ? - 15:58-17:24 +0 N183JB - -\nf492 105 JFK-ORD 15:59-18:57 85 E190 open ? - 15:59-18:57 +0 N329JB - -\nf493 802 SLC-MCO 16:00-20:27 150 A320 open ? - 16:00-20:27 +0 N703JB - -\nf494 1026 BWI-BOS 16:00-17:30 89 E190 open ? - 16:00-17:30 +0 N283JB - -\nf495 1031 BOS-LGA 16:00-17:27 79 E190 open ? - 16:00-17:27 +0 N304JB - -\nf496 1037 BOS-DTW 16:00-18:16 92 E190 open ? - 16:00-18:16 +0 N348JB - -\nf497 1579 DCA-FLL 16:00-18:49 147 A320 open ? - 16:00-18:49 +0 N563JB - -\nf498 1826 SAT-JFK 16:00-20:00 145 A320 open ? - 16:00-20:00 +0 N591JB - -\nf499 1252 RSW-HPN 16:01-19:00 141 A320 open ? - 16:01-19:00 +0 N636JB - -\nf500 2093 JFK-PBI 16:05-19:16 164 A321 open ? - 16:05-19:16 +0 N2039J - -\nf501 2102 FLL-JFK 16:06-19:10 144 A320 open ? - 16:06-19:10 +0 N505JB - -\nf502 2766 LGA-HYA 16:08-17:18 58 E190 open ? - 16:08-17:18 +0 N324JB - -\nf503 1116 DEN-LGA 16:10-20:00 141 A320 open ? - 16:10-20:00 +0 N766JB - -\nf504 1352 BOS-ACK 16:10-17:01 73 E190 open ? - 16:10-17:01 +0 N190JB - -\nf505 720 ATL-JFK 16:14-18:38 173 A321 open ? - 16:24-18:48 +10 N2029J - -\nf506 1865 BOS-RSW 16:14-19:51 174 A321 open ? - 16:14-19:51 +0 N948JB - -\nf507 2073 EWR-LAX 16:14-22:30 140 A321P open ? - 16:14-22:30 +0 N968JT - -\nf508 458 BUR-JFK 16:15-21:42 117 A320 open ? - 16:15-21:42 +0 N589JB - -\nf509 656 MCO-SYR 16:15-19:02 143 A320 open ? - 16:15-19:02 +0 N552JB - -\nf510 1032 LGA-BOS 16:15-17:35 78 E190 open ? - 16:15-17:35 +0 N184JB - -\nf511 1341 BOS-TPA 16:15-19:40 182 A321 open ? - 16:15-19:40 +0 N997JL - -\nf512 1271 ORH-JFK 16:16-17:18 55 E190 open ? - 16:16-17:18 +0 N265JB - -\nf513 181 FLL-BNA 16:20-18:45 150 A320 open ? - 16:20-18:45 +0 N834JB - -\nf514 1448 LAS-JFK 16:20-21:29 170 A321 open ? - 16:20-21:29 +0 N2043J - -\nf515 1482 RIC-BOS 16:20-18:04 88 E190 open ? - 16:20-18:04 +0 N231JB - -\nf516 1780 FLL-DCA 16:21-18:58 90 E190 open ? - 16:21-18:58 +0 N375JB - -\nf517 2748 SAV-LGA 16:24-18:35 139 A320 open ? - 16:24-18:35 +0 N615JB - -\nf518 2648 CHS-HPN 16:27-18:30 84 A320 open ? - 16:27-18:30 +0 N746JB - -\nf519 2654 DCA-BOS 16:30-18:10 93 E190 open ? - 16:30-18:10 +0 N228JB - -\nf520 24 MCO-DCA 16:35-18:58 131 A320 open ? - 16:35-18:58 +0 N535JB - -\nf521 383 JFK-MCO 16:35-19:39 171 A321 open ? - 16:35-19:39 +0 N999JQ - -\nf522 301 BUF-JFK 16:37-18:03 88 E190 open ? - 16:37-18:03 +0 N197JB - -\nf523 341 JFK-SAV 16:40-19:07 83 E190 open ? - 16:40-19:07 +0 N337JB - -\nf524 2669 LGA-CHS 16:40-18:55 99 A320 open ? - 16:40-18:55 +0 N623JB - -\nf525 621 BOS-LAX 16:45-23:22 138 A321P open ? - 16:45-23:22 +0 N983JT - -\nf526 1745 BOS-CLT 16:45-19:12 88 E190 open ? - 16:45-19:12 +0 N203JB - -\nf527 2613 ATL-LGA 16:49-19:14 148 A320 open ? - 16:49-19:14 +0 N566JB - -\nf528 606 FLL-EWR 16:52-20:00 150 A320 open ? - 16:52-20:00 +0 N630JB - -\nf529 207 BNA-BOS 16:54-19:30 139 A320 open ? - 16:54-19:30 +0 N517JB - -\nf530 975 BOS-MCO 16:54-20:10 178 A321 open ? - 16:54-20:10 +0 N965JT - -\nf531 624 LAX-JFK 16:55-22:27 150 A321P open ? - 16:55-22:27 +0 N985JT - -\nf532 920 MCO-RIC 16:55-18:59 83 E190 open ? - 16:55-18:59 +0 N193JB - -\nf533 2993 JFK-MIA 16:56-20:14 137 A320 open ? - 16:56-20:14 +0 N580JB - -\nf534 263 JFK-SEA 16:59-23:39 132 A321P open ? - 16:59-23:39 +0 N937JB - -\nf535 915 BOS-SMF 16:59-23:26 113 A220 open ? - 16:59-23:26 +0 N3121J - -\nf536 2273 EWR-TPA 16:59-20:00 148 A320 open ? - 16:59-20:00 +0 N641JB - -\nf537 2339 LGA-JAX 16:59-19:44 128 A320 open ? - 16:59-19:44 +0 N523JB - -\nf538 971 BOS-SJC 17:00-23:43 108 A220 open ? - 17:39-00:22+1 +39 N3058J - -\nf539 1075 PVD-MCO 17:00-20:05 147 A320 open ? - 17:00-20:05 +0 N715JB - -\nf540 1231 BOS-LGA 17:00-18:25 79 E190 open ? - 17:00-18:25 +0 N273JB - -\nf541 2055 BOS-DCA 17:00-18:47 91 E190 open ? - 17:00-18:47 +0 N358JB - -\nf542 2129 JFK-RSW 17:00-20:20 86 E190 open ? - 17:04-20:24 +4 N368JB - -\nf543 2614 LGA-ATL 17:00-19:39 143 A320 open ? - 17:00-19:39 +0 N564JB - -\nf544 2901 JFK-FLL 17:00-20:23 171 A321 open ? - 17:00-20:23 +0 N956JT - -\nf545 101 FLL-LAX 17:03-22:50 145 A321P open ? - 17:03-22:50 +0 N944JT - -\nf546 1348 SJU-DCA 17:03-21:00 140 A320 open ? - 17:03-21:00 +0 N793JB - -\nf547 166 RSW-BOS 17:05-20:21 186 A321 open ? - 17:05-20:21 +0 N998JE - -\nf548 1374 LAX-EWR 17:07-22:29 151 A321P open ? - 17:07-22:29 +0 N923JB - -\nf549 1586 MCO-BUF 17:09-19:56 144 A320 open ? - 17:09-19:56 +0 N651JB - -\nf550 2810 TPA-LGA 17:09-20:00 150 A320 open ? - 17:09-20:00 +0 N639JB - -\nf551 225 JFK-TPA 17:15-20:19 143 A320 open ? - 17:15-20:19 +0 N506JB - -\nf552 1131 CHS-FLL 17:15-18:56 118 A320 open ? - 17:15-18:56 +0 N796JB - -\nf553 1132 LGA-BOS 17:15-18:42 78 E190 open ? - 17:15-18:42 +0 N239JB - -\nf554 502 JAX-BOS 17:16-19:57 89 E190 open ? - 17:16-19:57 +0 N216JB - -\nf555 571 LGA-FLL 17:17-20:29 142 A320 open ? - 17:17-20:29 +0 N828JB - -\nf556 1152 MCO-BOS 17:18-20:28 140 A320 open ? - 17:18-20:28 +0 N534JB - -\nf557 192 ACK-JFK 17:19-18:29 45 E190 open ? - 17:19-18:29 +0 N187JB - -\nf558 73 JFK-BNA 17:20-19:57 127 A320 open ? - 17:20-19:57 +0 N529JB - -\nf559 128 MCO-EWR 17:20-20:21 145 A320 open ? - 17:20-20:21 +0 N571JB - -\nf560 419 JFK-ATL 17:20-19:54 134 A320 open ? - 17:20-19:54 +0 N644JB - -\nf561 190 SAN-JFK 17:25-22:51 185 A321 open ? - 17:25-22:51 +0 N957JB - -\nf562 806 LAX-SEA 17:25-20:15 121 A320 open ? - 17:25-20:15 +0 N624JB - -\nf563 1274 CHS-JFK 17:25-19:24 86 E190 open ? - 17:25-19:24 +0 N323JB - -\nf564 422 MSY-JFK 17:26-20:33 139 A320 open ? - 17:26-20:33 +0 N665JB - -\nf565 613 HPN-MCO 17:30-20:28 130 A320 open ? - 17:30-20:28 +0 N709JB - -\nf566 1225 MVY-BOS 17:30-18:20 38 E190 open ? - 17:30-18:20 +0 N179JB - -\nf567 2736 LAX-SFO 17:30-18:53 127 A320 open ? - 17:30-18:53 +0 N508JL - -\nf568 534 SFO-BOS 17:33-23:12 149 A321P open ? - 18:13-23:52 +40 N984JB - -\nf569 1185 JFK-RDU 17:35-19:28 88 E190 open ? - 17:35-19:28 +0 N247JB - -\nf570 29 FLL-SAN 17:40-23:14 149 A320 open ? - 17:40-23:14 +0 N531JL - -\nf571 592 TPA-BOS 17:40-20:57 124 A220 open ? - 18:15-21:32 +35 N3077J - -\nf572 2119 ORH-FLL 17:40-20:52 124 A320 open ? - 17:40-20:52 +0 N613JB - -\nf573 2460 PHL-BOS 17:42-19:14 83 E190 open ? - 17:42-19:14 +0 N339JB - -\nf574 1979 DCA-FLL 17:45-20:29 147 A320 open ? - 17:45-20:29 +0 N556JB - -\nf575 2618 FLL-JAX 17:49-19:14 107 A320 open ? - 17:49-19:14 +0 N789JB - -\nf576 641 BOS-CLE 17:50-19:55 92 E190 open ? - 17:50-19:55 +0 N284JB - -\nf577 777 BOS-LAS 17:50-23:58 171 A321 open ? - 17:50-23:58 +0 N950JT - -\nf578 943 RNO-LAX 17:50-19:22 108 A320 open ? - 17:50-19:22 +0 N606JB - -\nf579 1120 DTW-JFK 17:50-19:40 82 E190 open ? - 17:50-19:40 +0 N306JB - -\nf580 1799 LGA-MCO 17:50-20:53 145 A320 open ? - 17:50-20:53 +0 N763JB - -\nf581 2053 JFK-PBI 17:50-21:01 133 A320 open ? - 17:50-21:01 +0 N618JB - -\nf582 2185 BOS-PIT 17:50-19:42 93 E190 open ? - 17:50-19:42 +0 N198JB - -\nf583 823 JFK-LAX 17:55-00:21+1 140 A321P open ? - 17:55-00:21+1 +0 N964JT - -\nf584 1196 FLL-PVD 17:55-21:05 150 A320 open ? - 17:55-21:05 +0 N516JB - -\nf585 33 BOS-SFO 17:56-00:58+1 141 A321P open ? - 17:56-00:58+1 +0 N942JB - -\nf586 472 FLL-LGA 17:58-21:04 149 A320 open ? - 17:58-21:04 +0 N779JB - -\nf587 2765 HYA-LGA 17:58-19:15 45 E190 open ? - 17:58-19:15 +0 N324JB - -\nf588 1186 JFK-ROC 17:59-19:24 82 E190 open ? - 17:59-19:24 +0 N265JB - -\nf589 1918 JFK-BOS 17:59-19:28 80 E190 open ? - 17:59-19:28 +0 N183JB - -\nf590 2202 FLL-JFK 17:59-21:00 144 A320 open ? - 17:59-21:00 +0 N612JB - -\nf591 37 BDL-MCO 18:00-20:59 147 A320 open ? - 18:00-20:59 +0 N634JB - -\nf592 1331 BOS-LGA 18:00-19:30 79 E190 open ? - 18:00-19:30 +0 N354JB - -\nf593 1733 DCA-PBI 18:00-20:41 91 E190 open ? - 18:00-20:41 +0 N355JB - -\nf594 2255 BOS-DCA 18:00-19:49 91 E190 open ? - 18:00-19:49 +0 N236JB - -\nf595 95 BOS-PDX 18:03-00:42+1 124 A220 open ? - 18:03-00:42+1 +0 N3085J - -\nf596 616 SFO-JFK 18:03-23:39 150 A321P open ? - 18:15-23:51 +12 N977JE - -\nf597 164 SRQ-JFK 18:07-20:59 149 A320 open ? - 18:07-20:59 +0 N662JB - -\nf598 68 CHS-BOS 18:10-20:32 90 E190 open ? - 18:10-20:32 +0 N317JB - -\nf599 148 LAS-JFK 18:10-23:09 135 A321P open ? - 18:10-23:09 +0 N991JT - -\nf600 188 LAX-BOS 18:10-23:37 150 A321P open ? - 18:10-23:37 +0 N946JL - -\nf601 1294 MCO-HPN 18:10-21:00 123 A320 open ? - 18:10-21:00 +0 N588JB - -\nf602 1303 BOS-PHX 18:11-00:08+1 166 A321 open ? - 18:11-00:08+1 +0 N974JT - -\nf603 1232 LGA-BOS 18:15-19:37 78 E190 open ? - 18:15-19:37 +0 N304JB - -\nf604 2127 BOS-BWI 18:15-19:52 86 E190 open ? - 18:15-19:52 +0 N283JB - -\nf605 2188 BNA-LGA 18:15-20:35 131 A320 open ? - 18:15-20:35 +0 N768JB - -\nf606 1284 MCO-JFK 18:16-21:09 171 A321 open ? - 18:16-21:09 +0 N905JB - -\nf607 669 JFK-SJC 18:19-00:59+1 128 A320 open ? - 18:19-00:59+1 +0 N536JB - -\nf608 1211 JFK-LAS 18:20-00:18+1 166 A321 open ? - 18:20-00:18+1 +0 N952JB - -\nf609 1453 FLL-SJU 18:20-20:53 149 A320 open ? - 18:20-20:53 +0 N806JB - -\nf610 928 SAN-BOS 18:22-23:57 185 A321 open ? - 18:22-23:57 +0 N971JT - -\nf611 1880 FLL-DCA 18:23-20:59 145 A320 open ? - 18:23-20:59 +0 N712JB - -\nf612 2230 MKE-BOS 18:24-20:40 125 A220 open ? - 18:24-20:40 +0 N3023J - -\nf613 275 BDL-SJU 18:25-22:17 146 A320 open ? - 18:25-22:17 +0 N627JB - -\nf614 1524 LAX-JFK 18:26-23:57 151 A321P open ? - 18:26-23:57 +0 N987JT - -\nf615 1734 SFO-BOS 18:27-00:09+1 149 A321P open ? - 18:27-00:09+1 +0 N993JE - -\nf616 161 JFK-SMF 18:30-01:00+1 185 A321 open ? - 18:30-01:00+1 +0 N2027J - -\nf617 187 BOS-LAX 18:30-01:16+1 138 A321P open ? - 18:30-01:16+1 +0 N934JB - -\nf618 1419 JFK-DTW 18:30-20:41 80 E190 open ? - 18:38-20:49 +8 N197JB - -\nf619 1834 TPA-JFK 18:30-21:20 91 E190 open ? - 18:30-21:20 +0 N307JB - -\nf620 2754 DCA-BOS 18:30-20:11 93 E190 open ? - 18:30-20:11 +0 N274JB - -\nf621 1454 SJU-FLL 18:35-21:21 175 A321 open ? - 18:35-21:21 +0 N958JB - -\nf622 2534 PBI-DCA 18:36-20:59 92 E190 open ? - 18:36-20:59 +0 N281JB - -\nf623 798 MCO-LGA 18:39-21:29 181 A321 open ? - 18:39-21:29 +0 N2044J - -\nf624 1262 PBI-LGA 18:39-21:29 134 A320 open ? - 18:39-21:29 +0 N593JB - -\nf625 1148 SAV-BOS 18:42-21:10 93 E190 open ? - 18:42-21:10 +0 N206JB - -\nf626 694 AUS-JFK 18:43-22:29 134 A320 open ? - 18:43-22:29 +0 N521JB - -\nf627 2 JFK-BUF 18:45-20:19 88 E190 open ? - 19:04-20:38 +19 N187JB - -\nf628 451 BOS-MCO 18:45-22:00 144 A320 open ? - 18:45-22:00 +0 N584JB - -\nf629 1920 MSY-LGA 18:48-21:59 129 A320 open ? - 18:48-21:59 +0 N547JB - -\nf630 178 LAS-BOS 18:49-23:56 168 A321 open ? - 18:49-23:56 +0 N907JB - -\nf631 783 BOS-RDU 18:50-20:58 89 E190 open ? - 18:50-20:58 +0 N184JB - -\nf632 872 SLC-JFK 18:50-23:14 141 A320 open ? - 18:50-23:14 +0 N645JB - -\nf633 1142 PBI-BDL 18:50-21:43 144 A320 open ? - 18:50-21:43 +0 N524JB - -\nf634 1484 RDU-BOS 18:50-20:49 91 E190 open ? - 18:50-20:49 +0 N279JB - -\nf635 277 FLL-SFO 18:51-01:30+1 140 A321P open ? - 18:51-01:30+1 +0 N962JT - -\nf636 87 ALB-FLL 18:53-22:01 141 A320 open ? - 18:53-22:01 +0 N561JB - -\nf637 197 BOS-SEA 18:55-01:33+1 144 A321P open ? - 20:34-03:12+1 +99 N945JT - -\nf638 947 BOS-BNA 18:55-21:51 128 A220 open ? - 19:37-22:33 +42 N3125J - -\nf639 2583 JFK-MCO 18:55-21:49 139 A320 open ? - 18:55-21:49 +0 N621JB - -\nf640 1678 JAX-JFK 18:56-21:18 148 A320 open ? - 18:56-21:18 +0 N583JB - -\nf641 2122 ACK-HPN 18:56-20:00 55 E190 open ? - 18:56-20:00 +0 N190JB - -\nf642 843 PBI-EWR 18:59-21:58 145 A320 open ? - 18:59-21:58 +0 N558JB - -\nf643 1136 DTW-BOS 18:59-20:56 90 E190 open ? - 18:59-20:56 +0 N348JB - -\nf644 355 JFK-ONT 19:00-01:12+1 174 A321 open ? - 19:00-01:12+1 +0 N973JT - -\nf645 955 BOS-DCA 19:00-20:47 91 E190 open ? - 19:00-20:47 +0 N231JB - -\nf646 1168 PBI-HPN 19:00-21:56 148 A320 open ? - 19:00-21:56 +0 N640JB - -\nf647 1289 EWR-SJU 19:00-22:55 146 A320 open ? - 19:00-22:55 +0 N632JB - -\nf648 1431 BOS-LGA 19:00-20:27 79 E190 open ? - 19:00-20:27 +0 N228JB - -\nf649 2364 MCI-BOS 19:00-22:03 132 A220 open ? - 19:00-22:03 +0 N3102J - -\nf650 1320 ATL-JFK 19:03-21:29 140 A320 open ? - 19:03-21:29 +0 N635JB - -\nf651 71 JFK-SLC 19:05-00:36+1 143 A320 open ? - 19:05-00:36+1 +0 N804JB - -\nf652 548 TPA-HPN 19:05-22:00 134 A320 open ? - 19:05-22:00 +0 N655JB - -\nf653 828 MCO-EWR 19:05-21:59 134 A320 open ? - 19:05-21:59 +0 N594JB - -\nf654 2017 BOS-JFK 19:05-20:31 84 E190 open ? - 19:05-20:31 +0 N328JB - -\nf655 248 SLC-BOS 19:10-23:42 117 A220 open ? - 19:10-23:42 +0 N3044J - -\nf656 1332 LGA-BOS 19:15-20:36 78 E190 open ? - 19:15-20:36 +0 N273JB - -\nf657 2404 SJU-JFK 19:19-23:24 144 A320 open ? - 19:19-23:24 +0 N784JB - -\nf658 153 DEN-LGA 19:23-23:15 141 A320 open ? - 19:23-23:15 +0 N504JB - -\nf659 1005 JFK-PDX 19:29-01:58+1 130 A320 open ? - 19:29-01:58+1 +0 N775JB - -\nf660 182 BNA-FLL 19:30-21:45 134 A320 open ? - 19:30-21:45 +0 N834JB - -\nf661 345 HPN-FLL 19:30-22:30 144 A320 open ? - 19:30-22:30 +0 N746JB - -\nf662 1761 LGA-PBI 19:30-22:28 138 A320 open ? - 19:30-22:28 +0 N646JB - -\nf663 2061 LGA-RSW 19:30-22:54 113 A320 open ? - 19:30-22:54 +0 N615JB - -\nf664 2354 DCA-BOS 19:30-21:05 93 E190 open ? - 19:30-21:05 +0 N358JB - -\nf665 2459 BOS-PHL 19:30-21:03 84 E190 open ? - 19:30-21:03 +0 N179JB - -\nf666 919 RIC-MCO 19:34-21:34 83 E190 open ? - 19:34-21:34 +0 N193JB - -\nf667 65 JFK-ABQ 19:35-00:45+1 150 A320 open ? - 19:35-00:45+1 +0 N559JB - -\nf668 381 BOS-RIC 19:35-21:23 86 E190 open ? - 19:35-21:23 +0 N239JB - -\nf669 1106 ORD-JFK 19:35-22:00 89 E190 open ? - 19:35-22:00 +0 N329JB - -\nf670 1124 LAX-JFK 19:35-01:05+1 150 A321P open ? - 19:35-01:05+1 +0 N947JB - -\nf671 2319 FLL-SLC 19:35-00:57+1 145 A320 open ? - 19:35-00:57+1 +0 N592JB - -\nf672 775 JFK-LAS 19:40-01:45+1 132 A321P open ? - 19:40-01:45+1 +0 N986JB - -\nf673 1282 MCO-BOS 19:40-22:46 130 A320 open ? - 19:40-22:46 +0 N607JB - -\nf674 342 SAV-JFK 19:43-21:54 82 E190 open ? - 19:43-21:54 +0 N337JB - -\nf675 836 MSP-BOS 19:44-22:35 133 A220 open ? - 19:44-22:35 +0 N3104J - -\nf676 898 SJU-BOS 19:44-23:59 164 A321 open ? - 19:44-23:59 +0 N2060J - -\nf677 932 IAH-BOS 19:44-23:32 131 A220 open ? - 20:19-00:07+1 +35 N3123J - -\nf678 2670 CHS-LGA 19:44-21:49 116 A320 open ? - 19:44-21:49 +0 N623JB - -\nf679 535 SFO-LAX 19:45-21:13 129 A320 open ? - 19:45-21:13 +0 N508JL - -\nf680 1720 MIA-BOS 19:45-23:04 121 A220 open ? - 20:58-00:17+1 +73 N3113J - -\nf681 135 JFK-PHX 19:50-01:40+1 165 A321 open ? - 19:50-01:40+1 +0 N2059J - -\nf682 1746 CLT-BOS 19:55-22:19 88 E190 open ? - 19:55-22:19 +0 N203JB - -\nf683 1873 EWR-LAX 19:55-02:12+1 140 A321P open ? - 19:55-02:12+1 +0 N990JL - -\nf684 2501 FLL-LAX 19:55-01:48+1 145 A321P open ? - 19:55-01:48+1 +0 N969JT - -\nf685 655 SYR-MCO 19:57-22:45 115 A320 open ? - 19:57-22:45 +0 N552JB - -\nf686 715 BOS-BUF 19:59-21:33 90 E190 open ? - 19:59-21:33 +0 N267JB - -\nf687 845 BOS-SYR 19:59-21:14 79 E190 open ? - 19:59-21:14 +0 N339JB - -\nf688 1017 JAX-FLL 19:59-21:19 107 A320 open ? - 19:59-21:19 +0 N789JB - -\nf689 2514 LGA-ATL 19:59-22:26 143 A320 open ? - 19:59-22:26 +0 N520JB - -\nf690 97 JFK-DEN 20:00-00:54+1 180 A321 open ? - 20:00-00:54+1 +0 N2002J - -\nf691 283 JFK-MCO 20:00-22:56 171 A321 open ? - 20:00-22:56 +0 N2102J - -\nf692 714 MCO-HPN 20:00-22:54 123 A320 open ? - 20:00-22:54 +0 N708JB - -\nf693 1382 LGA-PWM 20:00-21:18 87 E190 open ? - 20:00-21:18 +0 N324JB - -\nf694 1501 JFK-FLL 20:00-23:22 138 A320 open ? - 20:00-23:22 +0 N537JT - -\nf695 2523 DCA-MCO 20:00-22:19 88 E190 open ? - 20:00-22:19 +0 N375JB - -\nf696 131 MCO-LAX 20:05-01:40+1 142 A320 open ? - 20:05-01:40+1 +0 N509JB - -\nf697 293 BOS-DEN 20:05-00:54+1 128 A220 open ? - 20:05-00:54+1 +0 N3115J - -\nf698 391 BOS-TPA 20:05-23:21 182 A321 open ? - 20:05-23:21 +0 N975JT - -\nf699 2193 JFK-MIA 20:05-23:25 137 A320 open ? - 20:05-23:25 +0 N579JB - -\nf700 1285 ROC-JFK 20:08-21:29 82 E190 open ? - 20:08-21:29 +0 N265JB - -\nf701 386 RDU-JFK 20:10-21:54 89 E190 open ? - 20:10-21:54 +0 N247JB - -\nf702 572 FLL-LGA 20:10-23:12 149 A320 open ? - 20:10-23:12 +0 N526JL - -\nf703 541 BOS-CLE 20:14-22:15 92 E190 open ? - 20:14-22:15 +0 N183JB - -\nf704 460 FLL-BDL 20:15-23:23 149 A320 open ? - 20:15-23:23 +0 N705JB - -\nf705 1432 LGA-BOS 20:15-21:34 78 E190 open ? - 20:15-21:34 +0 N354JB - -\nf706 1903 JFK-SJU 20:15-00:20+1 179 A321 open ? - 20:15-00:20+1 +0 N2029J - -\nf707 2092 PBI-JFK 20:15-23:00 178 A321 open ? - 20:15-23:00 +0 N2039J - -\nf708 2626 FLL-RDU 20:15-22:27 117 A320 open ? - 20:15-22:27 +0 N794JB - -\nf709 998 MCO-LGA 20:20-23:11 136 A320 open ? - 20:20-23:11 +0 N562JB - -\nf710 1732 LAX-SLC 20:20-22:12 139 A320 open ? - 20:20-22:12 +0 N586JB - -\nf711 607 FLL-LAS 20:22-01:48+1 183 A321 open ? - 20:22-01:48+1 +0 N995JL - -\nf712 914 FLL-HPN 20:24-23:29 146 A320 open ? - 20:24-23:29 +0 N638JB - -\nf713 1146 FLL-RIC 20:25-22:43 122 A320 open ? - 20:25-22:43 +0 N563JB - -\nf714 1879 BOS-EWR 20:25-22:00 73 E190 open ? - 20:25-22:00 +0 N304JB - -\nf715 2133 MCO-SJU 20:25-23:13 146 A320 open ? - 20:25-23:13 +0 N569JB - -\nf716 2186 PIT-BOS 20:25-22:00 92 E190 open ? - 20:25-22:00 +0 N198JB - -\nf717 499 LGA-MCO 20:29-23:26 134 A320 open ? - 20:29-23:26 +0 N566JB - -\nf718 930 MSY-BOS 20:30-23:59 131 A320 open ? - 20:30-23:59 +0 N519JB - -\nf719 1267 HPN-PBI 20:30-23:17 133 A320 open ? - 20:30-23:17 +0 N636JB - -\nf720 2854 DCA-BOS 20:30-22:04 93 E190 open ? - 20:30-22:04 +0 N236JB - -\nf721 1134 SJU-MCO 20:31-23:39 144 A320 open ? - 20:31-23:39 +0 N598JB - -\nf722 874 BNA-JFK 20:34-22:59 116 A320 open ? - 20:42-23:07 +8 N529JB - -\nf723 640 CLE-BOS 20:35-22:15 88 E190 open ? - 20:35-22:15 +0 N284JB - -\nf724 726 BWI-BOS 20:35-22:01 89 E190 open ? - 20:35-22:01 +0 N283JB - -\nf725 2513 ATL-LGA 20:35-22:59 148 A320 open ? - 20:35-22:59 +0 N564JB - -\nf726 1876 MCO-PVD 20:39-23:28 144 A320 open ? - 20:39-23:28 +0 N585JB - -\nf727 170 FLL-BOS 20:40-23:57 146 A320 open ? - 20:40-23:57 +0 N796JB - -\nf728 67 BDL-LAX 20:45-02:59+1 132 A320 open ? - 20:45-02:59+1 +0 N625JB - -\nf729 561 BOS-SJU 20:45-00:46+1 171 A321 open ? - 20:45-00:46+1 +0 N959JB - -\nf730 1295 JFK-AUS 20:45-00:59+1 137 A320 open ? - 20:45-00:59+1 +0 N805JB - -\nf731 2385 BOS-PIT 20:45-22:32 93 E190 open ? - 20:45-22:32 +0 N216JB - -\nf732 2752 SJU-TPA 20:45-23:49 179 A321 open ? - 20:45-23:49 +0 N903JB - -\nf733 2886 MIA-LAX 20:49-02:55+1 142 A321P open ? - 21:30-03:36+1 +41 N989JT - -\nf734 138 MCO-BDL 20:50-23:35 143 A320 open ? - 20:50-23:35 +0 N715JB - -\nf735 384 MCO-JFK 20:50-23:33 171 A321 open ? - 20:50-23:33 +0 N999JQ - -\nf736 1340 TPA-BOS 20:50-23:59 178 A321 open ? - 20:50-23:59 +0 N997JL - -\nf737 305 EWR-FLL 20:55-23:57 144 A320 open ? - 20:55-23:57 +0 N643JB - -\nf738 471 LGA-FLL 20:55-23:54 142 A320 open ? - 20:55-23:54 +0 N639JB - -\nf739 506 FLL-EWR 20:55-23:57 150 A320 open ? - 20:55-23:57 +0 N554JB - -\nf740 1387 BOS-LAX 20:55-03:32+1 138 A321P open ? - 20:55-03:32+1 +0 N943JT - -\nf741 2512 TPA-SJU 20:55-23:48 150 A320 open ? - 20:55-23:48 +0 N503JB - -\nf742 1520 ATL-JFK 20:56-23:23 140 A320 open ? - 20:56-23:23 +0 N644JB - -\nf743 89 JFK-SAN 20:59-03:22+1 134 A321P open ? - 20:59-03:22+1 +0 N992JB - -\nf744 201 BUF-JFK 20:59-22:23 88 E190 open ? - 21:13-22:37 +14 N187JB - -\nf745 333 BOS-SFO 20:59-03:47+1 141 A321P open ? - 20:59-03:47+1 +0 N980JT - -\nf746 839 JFK-BQN 20:59-00:53+1 141 A320 open ? - 20:59-00:53+1 +0 N505JB - -\nf747 883 JFK-MCO 20:59-23:51 139 A320 open ? - 20:59-23:51 +0 N590JB - -\nf748 1530 RSW-JFK 20:59-23:52 84 E190 open ? - 20:59-23:52 +0 N368JB - -\nf749 1766 RSW-BOS 20:59-00:08+1 186 A321 open ? - 20:59-00:08+1 +0 N948JB - -\nf750 1827 EWR-MCO 20:59-23:50 147 A320 open ? - 20:59-23:50 +0 N706JB - -\nf751 2892 MIA-JFK 20:59-23:59 142 A320 open ? - 20:59-23:59 +0 N580JB - -\nf752 815 JFK-SFO 21:00-03:44+1 137 A321P open ? - 21:23-04:07+1 +23 N929JB - -\nf753 2519 LGA-MSY 21:00-00:20+1 122 A320 open ? - 21:00-00:20+1 +0 N766JB - -\nf754 807 SEA-LAX 21:05-23:36 110 A320 open ? - 21:05-23:36 +0 N624JB - -\nf755 226 TPA-JFK 21:15-23:52 148 A320 open ? - 21:15-23:52 +0 N641JB - -\nf756 1277 JFK-JAX 21:19-23:59 138 A320 open ? - 21:19-23:59 +0 N591JB - -\nf757 568 FLL-ATL 21:20-23:17 121 A320 open ? - 21:20-23:17 +0 N652JB - -\nf758 976 MCO-BOS 21:20-00:17+1 173 A321 open ? - 21:20-00:17+1 +0 N965JT - -\nf759 1237 BOS-DTW 21:20-23:30 92 E190 open ? - 21:20-23:30 +0 N274JB - -\nf760 1080 LAX-LAS 21:25-22:38 110 A320 open ? - 21:25-22:38 +0 N606JB - -\nf761 47 LGA-TPA 21:30-00:28+1 134 A320 open ? - 21:30-00:28+1 +0 N768JB - -\nf762 321 BOS-PBI 21:30-00:40+1 135 A320 open ? - 21:30-00:40+1 +0 N517JB - -\nf763 1823 JFK-LAX 21:30-03:56+1 140 A321P open ? - 21:30-03:56+1 +0 N2105J - -\nf764 1802 FLL-JFK 21:35-00:26+1 177 A321 open ? - 21:35-00:26+1 +0 N956JT - -\nf765 713 BOS-ROC 21:45-23:09 79 E190 open ? - 21:45-23:09 +0 N317JB - -\nf766 767 MCO-PSE 21:50-00:34+1 143 A320 open ? - 21:50-00:34+1 +0 N703JB - -\nf767 635 MCO-SJU 21:55-00:39+1 146 A320 open ? - 21:55-00:39+1 +0 N709JB - -\nf768 536 LAX-SFO 21:59-23:20 127 A320 open ? - 21:59-23:20 +0 N821JB - -\nf769 745 JFK-PSE 21:59-02:05+1 123 A320 open ? - 21:59-02:05+1 +0 N665JB - -\nf770 1181 JFK-SJU 21:59-01:58+1 145 A320 open ? - 21:59-01:58+1 +0 N662JB - -\nf771 1385 JFK-RDU 21:59-23:44 88 E190 open ? - 21:59-23:44 +0 N323JB - -\nf772 2516 JFK-SYR 21:59-23:19 85 E190 open ? - 21:59-23:19 +0 N306JB - -\nf773 918 JFK-BOS 22:29-23:50 80 E190 open ? - 22:29-23:50 +0 N328JB - -\nf774 1723 JFK-LAX 22:29-04:53+1 140 A321P open ? - 22:29-04:53+1 +0 N961JT - -\nf775 2615 JFK-SFO 22:30-05:03+1 137 A321P open ? - 22:30-05:03+1 +0 N967JT - -\nf776 676 JFK-ORH 22:55-23:58 50 E190 open ? - 22:55-23:58 +0 N307JB - -\nf777 1731 SLC-LAX 22:57-00:55+1 121 A320 open ? - 22:57-00:55+1 +0 N586JB - -\nf778 403 JFK-SJU 22:59-02:54+1 179 A321 open ? - 22:59-02:54+1 +0 N954JB - -\nf779 1279 LAS-LAX 23:23-00:30+1 87 A320 open ? - 23:23-00:30+1 +0 N606JB - -\nf780 2120 SAN-BOS 23:29-05:01+1 147 A321P open ? - 23:29-05:01+1 +0 N979JT - -\nf781 2124 LAX-JFK 23:30-05:00+1 150 A321P open ? - 23:30-05:00+1 +0 N976JT - -\nf782 430 MCO-BQN 23:40-02:17+1 148 A320 open ? - 23:40-02:17+1 +0 N763JB - -\nf783 2985 LAX-MIA 23:49-04:46+1 148 A321P open ? - 23:49-04:46+1 +0 N968JT - -\nf784 700 LAX-FLL 00:10+1-05:01+1 151 A321P open ? - 00:10+1-05:01+1 +0 N944JT - -\nf785 30 SAN-FLL 00:15+1-05:04+1 141 A320 open ? - 00:15+1-05:04+1 +0 N531JL - -\nf786 916 SMF-BOS 00:16+1-05:38+1 130 A220 open ? - 00:16+1-05:38+1 +0 N3121J - -\nf787 972 SJC-BOS 00:39+1-06:13+1 128 A220 open ? - 01:07+1-06:41+1 +28 N3058J - -\nf788 132 LAX-MCO 00:45+1-05:25+1 150 A320 open ? - 00:45+1-05:25+1 +0 N508JL - -\nf789 1216 SFO-JFK 00:56+1-06:30+1 150 A321P open ? - 00:56+1-06:30+1 +0 N978JB - -\nf790 498 SEA-BOS 01:10+1-06:23+1 145 A321P open ? - 01:10+1-06:23+1 +0 N937JB - -\nf791 1574 LAX-EWR 01:10+1-06:22+1 151 A321P open ? - 01:10+1-06:22+1 +0 N983JT - -\nf792 1302 PHX-BOS 01:18+1-06:07+1 182 A321 open ? - 01:18+1-06:07+1 +0 N974JT - -\nf793 778 LAS-BOS 01:23+1-06:23+1 168 A321 open ? - 01:23+1-06:23+1 +0 N950JT - -\nf794 2348 LAS-JFK 01:28+1-06:20+1 170 A321 open ? - 01:28+1-06:20+1 +0 N952JB - -\nf795 622 LAX-BOS 01:31+1-06:58+1 150 A321P open ? - 01:31+1-06:58+1 +0 N964JT - -\nf796 96 PDX-BOS 01:38+1-06:57+1 132 A220 open ? - 01:38+1-06:57+1 +0 N3085J - -\nf797 72 SLC-JFK 01:40+1-05:57+1 141 A320 open ? - 01:40+1-05:57+1 +0 N804JB - -\nf798 98 DEN-JFK 01:45+1-05:29+1 172 A321 open ? - 01:49+1-05:33+1 +4 N2002J - -\nf799 66 ABQ-JFK 01:53+1-05:59+1 150 A320 open ? - 01:53+1-05:59+1 +0 N559JB - -\nf800 294 DEN-BOS 01:53+1-05:40+1 125 A220 open ? - 01:53+1-05:40+1 +0 N3115J - -\nf801 670 SJC-JFK 01:59+1-07:23+1 138 A320 open ? - 01:59+1-07:23+1 +0 N536JB - -\nf802 2320 SLC-FLL 01:59+1-06:30+1 132 A320 open ? - 01:59+1-06:30+1 +0 N592JB - -\nf803 34 SFO-BOS 02:08+1-07:56+1 149 A321P open ? - 02:08+1-07:56+1 +0 N942JB - -\nf804 162 SMF-JFK 02:43+1-07:59+1 191 A321 open ? - 02:43+1-07:59+1 +0 N2027J - -\nf805 264 SEA-JFK 02:47+1-08:00+1 133 A321P open ? - 04:22+1-09:35+1 +95 N945JT - -\nf806 354 ONT-JFK 02:48+1-07:59+1 181 A321 open ? - 02:48+1-07:59+1 +0 N973JT - -\nf807 136 PHX-JFK 02:50+1-07:33+1 190 A321 open ? - 02:50+1-07:33+1 +0 N2059J - -\nf808 278 SFO-FLL 02:55+1-08:16+1 146 A321P open ? - 02:55+1-08:16+1 +0 N962JT - -\nf809 774 LAS-JFK 02:55+1-07:47+1 135 A321P open ? - 02:55+1-07:47+1 +0 N986JB - -\nf810 124 LAX-JFK 02:59+1-08:30+1 150 A321P open ? - 02:59+1-08:30+1 +0 N934JB - -\nf811 608 LAS-FLL 02:59+1-07:35+1 180 A321 open ? - 02:59+1-07:35+1 +0 N995JL - -\nf812 988 LAX-BOS 02:59+1-08:30+1 150 A321P open ? - 02:59+1-08:30+1 +0 N969JT - -\nf813 1006 PDX-JFK 02:59+1-08:12+1 145 A320 open ? - 02:59+1-08:12+1 +0 N775JB - -\n\n## Aircraft now, as your plan has them (@ = ready at)\nBOS: N193JB N206JB N216JB@07:05 N229JB N239JB N265JB N279JB N283JB N284JB N3023J N3044J N304JB N3058J@10:20 N3077J N3085J N3102J N3104J N3113J N3115J@07:22 N3121J N3123J@06:29 N3125J@06:59 N328JB N358JB N368JB N516JB N517JB N519JB N763JB N905JB@09:35 N907JB@08:02 N943JT N945JT N946JL@08:32 N959JB N965JT N967JT@04:50 N971JT N972JT N973JT N974JT N975JT N979JT@09:58 N980JT N983JT@15:35 N993JE@06:18 N994JL@07:40 N995JL@10:30 N997JL@11:25\nJFK: N184JB N197JB N2002J@19:05 N2027J@16:05 N2039J N203JB N2043J N2044J N2059J@18:55 N2102J@19:05 N2105J N247JB N266JB N307JB N329JB N506JB N535JB@07:35 N559JB@18:20 N562JB N580JB N583JB N584JB@06:12 N589JB N590JB@20:00 N591JB@06:55 N592JB N605JB@18:00+1 N608JB N634JB N644JB N645JB@07:45 N655JB N665JB@09:08 N775JB@05:15 N804JB@08:07 N828JB N903JB N923JB@07:42 N929JB@04:18 N937JB@15:49 N947JB@10:50 N952JB N954JB@09:50 N956JT@15:10 N957JB@07:50 N958JB@10:01 N961JT@06:16 N977JE@10:32 N986JB N987JT@10:37 N991JT@10:44 N992JB N996JL\nATL: N636JB N705JB\nAUS: N526JL\nBDL: N588JB N593JB N612JB N621JB@07:21\nBNA: N3118J\nBUF: N354JB N618JB\nCHS: N821JB@05:53\nCLE: N231JB\nDCA: N179JB N355JB N569JB N599JB N796JB\nDTW: N183JB N339JB\nEWR: N273JB N505JB N552JB N632JB N643JB N706JB N715JB N985JT@08:40 N990JL\nFLL: N2060J N534JB N536JB@11:56 N537JT N579JB N627JB N630JB@08:09 N638JB N639JB N652JB@20:10 N746JB N789JB N794JB@19:25 N834JB N950JT@08:52 N970JB N984JB@10:22 N989JT@08:20\nHPN: N274JB N598JB N651JB N709JB@07:15 N779JB N793JB\nJAX: N521JB N561JB\nLAX: N508JL N586JB N606JB N624JB@05:23 N934JB@05:40 N944JT@05:20 N968JT@05:10 N976JT@04:30\nLGA: N324JB N523JB@07:35 N524JB N531JL N547JB N564JB N623JB N641JB N708JB N806JB\nMCO: N187JB N2029J N375JB N558JB@09:30 N613JB N635JB@06:26 N637JB N640JB@05:49 N703JB@07:22 N760JB N766JB N784JB N805JB N948JB\nMIA: N662JB N969JT@05:44\nMSY: N615JB\nORH: N348JB\nPBI: N190JB@05:25 N556JB N646JB N656JB N712JB\nPHL: N236JB\nPIT: N281JB\nPSE: N571JB\nPVD: N529JB N563JB\nPWM: N267JB\nRDU: N323JB N337JB N554JB\nRIC: N198JB N585JB\nROC: N228JB\nRSW: N566JB\nSAN: N964JT@05:44\nSFO: N625JB N942JB@04:24 N962JT@05:36 N978JB\nSJU: N504JB N509JB N565JB N594JB N607JB@09:10 N768JB@04:19 N913JB@04:08 N949JT N966JT\nSYR: N306JB N317JB\nTPA: N503JB@18:20 N520JB N998JE N999JQ\nairborne: none\n\n## News so far\n[22:33-1] TAF AMD KJFK 020233Z 0203/0306 VRB04KT P6SM FEW250 TEMPO 0208/0212 SCT010 FM021400 17010KT P6SM FEW100 SCT250 PROB30 0221/0223 6SM TSRA BKN030CB FM022300 13006KT P6SM OVC100 PROB30 0223/0304 6SM TSRA BKN030CB FM030400 10005KT P6SM SCT050 OVC100=\n[01:31] TAF KBOS 020531Z 0206/0312 23007KT P6SM FEW150 FM021400 10008KT P6SM SCT250 FM021900 09010KT P6SM VCSH BKN070 FM022100 07009KT 6SM -SHRA BKN060 PROB30 0221/0224 5SM -TSRA BR BKN030CB FM030000 04010KT 4SM -SHRA BR OVC010 FM030600 05015G26KT 5SM -SHRA BR OVC008=\n[01:39] TAF KJFK 020539Z 0206/0312 VRB04KT P6SM SKC FM021400 17010KT P6SM SCT080 SCT250 PROB30 0221/0223 4SM TSRA BKN050CB FM022300 13006KT P6SM BKN080 PROB30 0223/0303 4SM TSRA BKN040CB FM030300 10006KT P6SM BKN040 BKN080 PROB30 0303/0308 4SM TSRA BKN035CB FM030800 04012KT P6SM VCSH BKN010 OVC020 TEMPO 0310/0312 BKN009 OVC020=\n[02:51] KJFK 020651Z 21004KT 10SM CLR 16/15 A2998 RMK AO2 SLP150 T01610150\n[02:54] KBOS 020654Z 21006KT 10SM FEW130 19/14 A2994 RMK AO2 SLP137 T01940144\n[03:51] KJFK 020751Z 23003KT 10SM CLR 16/16 A2996 RMK AO2 SLP144 T01610156\n[03:54] KBOS 020754Z 23003KT 10SM BKN150 21/14 A2992 RMK AO2 SLP130 T02060144\n\nIt is the first watch, 04:00. Nothing is frozen yet: set the day up with confirm_changes, then call advance.", + "max_turns": 314, + "model_params": { + "max_tokens": 32000 + }, + "timeout_seconds": 7200 + }, + { + "id": "end-day", + "type": "apply_server_config", + "env_id": "airops-v3-day", + "directives": [ + { + "service": "airops-v3-day", + "uri": "urn:airops:v3-end-day/v1", + "args": {} + } + ] + }, + { + "id": "grade", + "type": "env_outcome_verifier", + "env_id": "airops-v3-day", + "file_artifact_id": "airops-verifier", + "verifier_id": "airops", + "score_aggregator": "weighted_average" + } +] diff --git a/src/agentenv_airops/bundles/airops-v3/tasks/b6-20230605-0400.json b/src/agentenv_airops/bundles/airops-v3/tasks/b6-20230605-0400.json new file mode 100644 index 0000000..92b386e --- /dev/null +++ b/src/agentenv_airops/bundles/airops-v3/tasks/b6-20230605-0400.json @@ -0,0 +1,71 @@ +[ + { + "id": "deploy", + "type": "deploy_env", + "env_id": "airops-v3-day" + }, + { + "id": "load-task", + "type": "apply_server_config", + "env_id": "airops-v3-day", + "directives": [ + { + "service": "airops-v3-day", + "uri": "urn:airops:v3-live-load/v1", + "args": { + "task_id": "b6-20230605-0400", + "anchor": 1662285, + "follower": 1667653 + } + } + ] + }, + { + "id": "deploy-agent", + "type": "deploy_agent", + "a2a_agent_id": "airops-llm", + "env_ids": [ + "airops-v3-day" + ] + }, + { + "id": "clock", + "type": "sync_env_clock", + "env_id": "airops-v3-day", + "virtual_time": "2023-06-05T08:00:00Z", + "virtual_seconds_per_real_second": 0, + "tolerate_missing_sync_time": false + }, + { + "id": "play", + "type": "prompt_agent", + "prompt_id": "b6-20230605-0400", + "system_prompt": "You run the JetBlue operations desk on a storm day at JFK and BOS: thunderstorms, snow or wind, and the FAA ground stops and ground delay programs (GDPs) that follow, cut how many JetBlue flights can land and take off. Your job is to decide which flights to cancel and which to hold, watch by watch, so that passengers and the airline lose as little as possible over the day.\n\nHow the day runs:\n- The day is played in watches starting at watch 0: one an hour, and one more when an advisory or a SPECI reaches the desk or a ramp closure begins or ends, so watches are 15 to 60 minutes apart. The first message gives the day as the desk knows it at watch 0. Every tool call takes 1 minute of the watch; when the watch's time runs out, the next watch opens by itself, and advance opens it at once.\n- What the desk knows: a flight's own departure delay (weather, air traffic control: anything but waiting for its aircraft or a slot) becomes known 2 hours before its scheduled departure; until then it is assumed on time. FAA Command Center advisories and the hubs' METARs, SPECIs and TAFs arrive as messages at the first watch after they reach the desk: an advisory 0 minutes after it is signed, a METAR 5 and a SPECI 5 minutes after its observation, a TAF 10 minutes after its issue, and the programs table shows the programs as issued, proposed GDPs included; a program may end earlier or later than issued.\n- Ground delay programs: a GDP meters arrivals at a hub over its period. A flight into the hub from an origin in its scope, scheduled to land in the period, needs one of JetBlue's arrival slots in the program: it takes the earliest free slot at or after the time it could land and leaves at its EDCT, the slot less its scheduled block. A cancelled or late flight leaves its slot to the flights behind it. Arrivals outside a program fit under the hub's hourly rate.\n- Ground stops: a flight to a stopped hub from an origin the stop covers waits on the ground until the stop ends; flights already airborne fly on.\n- Departure caps: an airport may take only so many JetBlue departures in an hour (the departure caps table, known 4 hours ahead); a flight with no room in its hour tries again at the next hour's start.\n- Outstation arrival caps: an outstation may take only so many JetBlue arrivals in an hour (the outstation arrival caps table, known 4 hours ahead); a flight with no room in its arrival hour leaves so as to land in the next one.\n- Ramp closures: lightning at the field cuts a hub's ramp rate without stopping it. During a closure only so many JetBlue flights may leave the hub and only so many arrive there; a departure with no room leaves at the closure's end, an arrival with none leaves so as to land at it. A closure is known once it begins; until its end comes it is expected to last 30 minutes more, with caps for that long, and the closures table says which ends are reported and which expected.\n- The env flies your plan on the day as it happens: each flight leaves at the earliest time its delay, its hold, a slot, a stop, a cap and an aircraft allow. It takes the first aircraft of its type ready at its origin (aircraft of one type at one airport are interchangeable; an aircraft needs its turn time on the ground between flights). A flight that can't leave by its deadline is cancelled automatically there. At the end of the day the env ferries each aircraft to the airport it is needed at tomorrow.\n- Your decisions: cancel a flight (its aircraft stays on the ground, free for other flights, and its slot goes to the flights behind), restore a cancelled flight, or hold a flight until a time (not_before) so that its slot or aircraft goes to another flight first. A flight you don't touch leaves as early as it can.\n- The freeze: at watch 0 nothing is frozen. From watch 1 on, flights your plan has leaving before the freeze line, 60 minutes after the watch opens, are frozen: they can't be changed, and stay frozen. A cancellation is final. The env holds any other flight your plan would have leaving before the freeze line to it, and refuses a change that would move a frozen flight or one that has already gone.\n\nTools:\n- get_situation(): the time, the freeze line, the programs as issued with JetBlue's slots, the departure caps known so far, the outstation arrival caps known so far, the ramp closures under way or over, the latest METAR or SPECI and TAF per hub, every flight (its status, its known delay, your plan, where your plan has it leave and land on the day as known, how late it lands, its aircraft, its slot and its crew), where the aircraft are, and the news so far.\n- check_plan(changes): your changes over your plan, run on the day as known now: the plan's cost, the flights whose plan or times change, the automatic cancellations, the flights the env would hold to the freeze line, and the changes confirm_changes would refuse. It confirms nothing.\n- confirm_changes(changes): commits the changes; flights you leave out keep their plan.\n- advance(): ends the watch; its result has the new watch's news. After the last watch it returns \"done\": the day is graded on your plan.\nA change is {\"flight\": \"f12\", \"action\": \"cancel\" | \"restore\" | \"hold\" | \"call_reserve\" | \"release_reserve\", \"not_before\": \"HH:MM\" | null}: cancel takes not_before null; restore and hold fly the flight, held until not_before (local time, \"00:30+1\" after midnight), or as early as it can with null. Where a crew base has a reserve pool (the situation's Reserve crews), a flight leaving it past its crew's deadline flies only on a reserve: call_reserve gives it one while the pool lasts, release_reserve hands it back before that deadline.\n\nThe cost, in passenger-minutes: every passenger's minutes of arrival delay; 523 for each passenger on a cancelled flight, plus one for every minute the cancellation is decided later than 2 hours before its scheduled departure (an automatic cancellation is decided at its deadline, so it costs more than an early one); the airline's own aircraft minutes (a late departure costs crew and fixed costs, a long block fuel too, and a cancellation saves its fuel and maintenance); and the end-of-day ferries. A cancellation frees an aircraft and a slot; it pays when it saves the others more than it costs its own passengers. The day is graded once, on your final plan flown on the day as it really happened: the closer its cost to the best plan possible in hindsight, the higher the score. If you stop before the last watch, the rest of the day runs on your plan.", + "prompt": "# JetBlue operations desk, BOS, Monday 2023-06-05; times are local (America/New_York).\n\nNow 04:00 (watch 0, opened 04:00). First watch: nothing is frozen; changes take effect at once.\n\nYour plan on the day as known costs 133,133 (delay 104,397, cancellations 0, notice 0, ferries 0): 0 cancelled, 0 cancelled automatically, 0 on slots.\n\n## Programs as issued (FAA Command Center)\n- BOS ground delay program adv-20230604-054: arrivals 15:30-1-22:59-1, governs departures 15:46-1-19:32-1; JetBlue's slots none\n\n## Departure caps: JetBlue departures per hour, known 240 min ahead\nBOS: 06h 12 08h 11\nJFK: 07h 6\n\n## Outstation arrival caps: JetBlue arrivals per hour, known 240 min ahead\nEWR: 08h 1\n\n## Ramp closures (lightning at the field; known once begun)\nNone.\n\n## Latest weather (METAR or SPECI, and TAF)\n[03:54] KBOS 050754Z 36010KT 10SM BKN015 OVC035 11/09 A2988 RMK AO2 SLP116 T01060089 $\n[01:28] TAF KBOS 050528Z 0506/0612 36012KT P6SM VCSH OVC015 FM050800 35011KT 5SM -RA BR OVC008 FM051400 35011KT 5SM BR VCSH OVC015 FM051600 35011G20KT P6SM OVC015 FM051800 35011G19KT P6SM OVC025 FM052000 36010KT P6SM OVC040 FM060200 29007KT P6SM BKN050=\n\n## Flights (sched = scheduled dep-arr; delay = known delay, ? not yet; plan = cancel or hold@HH:MM; proj = where your plan has it leave and land on the day as known; late = arrival delay; slot = its GDP slot; crew = crew deadline/rest end, +R on a reserve crew)\nid flight route sched pax type status delay plan proj late tail slot crew\nf0 1316 LAX-JFK 03:59-09:25 150 A321P open 2 - 04:01-09:36 +11 N983JT - -\nf1 562 SJU-BOS 05:01-09:20 164 A321 open -6 - 04:55-08:53 -27 N970JB - -\nf2 2539 JFK-BQN 05:01-08:45 141 A320 open -5 - 04:56-08:38 -7 N526JL - -\nf3 1434 SJU-MCO 05:04-08:15 144 A320 open -8 - 04:56-08:02 -13 N708JB - -\nf4 404 SJU-JFK 05:15-09:18 178 A321 open -10 - 05:05-08:45 -33 N998JE - -\nf5 954 SJU-FLL 05:15-08:01 142 A320 open -6 - 05:09-07:46 -15 N796JB - -\nf6 2555 BOS-DCA 05:15-07:00 91 E190 open -9 - 05:06-06:26 -34 N184JB - -\nf7 746 PSE-JFK 05:24-09:30 114 A320 open -10 - 05:14-08:59 -31 N807JB - -\nf8 123 JFK-LAX 05:30-11:41 140 A321P open -6 - 05:24-10:46 -55 N929JB - -\nf9 315 SYR-JFK 05:45-07:00 76 E190 open -8 - 05:37-06:43 -17 N179JB - -\nf10 15 JFK-SFO 06:00-12:25 137 A321P open -9 - 05:51-11:19 -66 N964JT - -\nf11 70 FLL-BOS 06:00-09:14 180 A321 open 23 - 06:23-09:40 +26 N2084J - -\nf12 133 BOS-SFO 06:00-12:50 141 A321P open -3 - 05:57-12:06 -44 N2142J - -\nf13 222 PBI-BOS 06:00-09:03 95 E190 open -10 - 05:50-08:43 -20 N267JB - -\nf14 231 BOS-LGA 06:00-07:13 79 E190 open 98 - 07:38-08:45 +92 N324JB - -\nf15 287 BOS-LAX 06:00-12:33 139 A321P open 0 - 06:00-12:12 -21 N992JB - -\nf16 299 LGA-MCO 06:00-08:44 145 A320 open -7 - 05:53-08:32 -12 N524JB - -\nf17 382 RIC-BOS 06:00-07:37 88 E190 open -7 - 05:53-07:27 -10 N228JB - -\nf18 392 TPA-BOS 06:00-09:04 178 A321 open -9 - 05:51-08:51 -13 N955JB - -\nf19 405 EWR-FLL 06:00-09:02 144 A320 open 0 - 06:00-08:52 -10 N509JB - -\nf20 539 JAX-LGA 06:00-08:12 136 A320 open -5 - 05:55-08:02 -10 N519JB - -\nf21 555 BOS-DCA 06:00-07:45 91 E190 open 0 - 06:00-07:38 -7 N198JB - -\nf22 569 BOS-FLL 06:00-09:20 146 A320 open -6 - 05:54-09:14 -6 N504JB - -\nf23 712 ROC-BOS 06:00-07:18 75 E190 open 35 - 06:35-07:51 +33 N284JB - -\nf24 917 BOS-JFK 06:00-07:15 84 E190 open -8 - 05:52-07:04 -11 N187JB - -\nf25 959 BDL-FLL 06:00-09:09 150 A320 open 3 - 06:03-09:05 -4 N507JT - -\nf26 1002 FLL-JFK 06:00-08:50 144 A320 open -8 - 05:52-08:35 -15 N510JB - -\nf27 1336 DTW-BOS 06:00-07:52 90 E190 open -3 - 05:57-07:44 -8 N236JB - -\nf28 1371 LGA-FLL 06:00-09:02 142 A320 open 0 - 06:00-08:49 -13 N635JB - -\nf29 1373 EWR-LAX 06:00-12:04 140 A321P open -5 - 05:55-11:24 -40 N943JT - -\nf30 1486 PIT-BOS 06:00-07:32 92 E190 open -5 - 05:55-07:26 -6 N304JB - -\nf31 1581 JFK-TPA 06:00-08:49 143 A320 open -11 - 05:49-08:20 -29 N608JB - -\nf32 1875 PVD-MCO 06:00-09:00 147 A320 open -3 - 05:57-08:42 -18 N527JL - -\nf33 2024 MCO-DCA 06:00-08:19 81 E190 open 6 - 06:06-08:21 +2 N337JB - -\nf34 2180 EWR-BOS 06:00-07:12 76 E190 open -10 - 05:50-07:09 -3 N358JB - -\nf35 2293 JFK-MIA 06:00-09:02 137 A320 open -7 - 05:53-08:38 -24 N662JB - -\nf36 2751 TPA-SJU 06:00-08:49 187 A321 open -7 - 05:53-08:48 -1 N972JT - -\nf37 42 PBI-LGA 06:01-08:42 144 A320 open ? - 06:01-08:42 +0 N534JB - -\nf38 1233 MCO-SJU 06:01-08:47 146 A320 open ? - 06:01-08:47 +0 N505JB - -\nf39 2194 MCO-EWR 06:01-08:44 145 A320 open ? - 06:01-08:44 +0 N520JB - -\nf40 75 JFK-MSY 06:04-09:12 129 A320 open ? - 06:04-09:12 +0 N706JB - -\nf41 960 PHL-BOS 06:05-07:22 83 E190 open ? - 06:05-07:22 +0 N216JB - -\nf42 184 RDU-BOS 06:10-08:05 91 E190 open ? - 06:10-08:05 +0 N283JB - -\nf43 1184 MCO-JFK 06:10-08:50 171 A321 open ? - 06:10-08:50 +0 N2044J - -\nf44 2363 BOS-MCI 06:10-09:44 124 A220 open ? - 06:10-09:44 +0 N3023J - -\nf45 671 ORH-JFK 06:15-07:23 55 E190 open ? - 06:15-07:23 +0 N279JB - -\nf46 540 CLE-BOS 06:19-08:00 88 E190 open ? - 06:19-08:00 +0 N306JB - -\nf47 1121 BOS-SAV 06:19-09:00 115 A220 open ? - 06:19-09:00 +0 N3058J - -\nf48 1180 SJU-JFK 06:19-10:23 144 A320 open ? - 06:19-10:23 +0 N552JB - -\nf49 598 MCO-LGA 06:21-09:00 146 A320 open ? - 06:21-09:00 +0 N587JB - -\nf50 737 BDL-MCO 06:21-09:14 147 A320 open ? - 06:21-09:14 +0 N547JB - -\nf51 449 BOS-CHS 06:25-08:52 120 A220 open ? - 06:25-08:52 +0 N3065J - -\nf52 983 BOS-RDU 06:25-08:27 89 E190 open ? - 06:25-08:27 +0 N231JB - -\nf53 254 DCA-BOS 06:30-07:58 93 E190 open ? - 06:30-07:58 +0 N203JB - -\nf54 518 JFK-BOS 06:30-07:41 80 E190 open ? - 06:30-07:41 +0 N183JB - -\nf55 583 JFK-MCO 06:30-09:15 171 A321 open ? - 06:30-09:15 +0 N913JB - -\nf56 1105 JFK-ORD 06:30-09:07 85 E190 open ? - 06:30-09:07 +0 N190JB - -\nf57 1113 BOS-MSP 06:30-09:49 126 A220 open ? - 06:30-09:49 +0 N3077J - -\nf58 1145 RIC-FLL 06:30-08:46 147 A320 open ? - 06:30-08:46 +0 N589JB - -\nf59 1521 HPN-MCO 06:30-09:06 130 A320 open ? - 06:30-09:06 +0 N580JB - -\nf60 1603 JFK-SJU 06:30-10:20 179 A321 open ? - 06:30-10:20 +0 N957JB - -\nf61 1881 JFK-IAH 06:30-10:29 140 A320 open ? - 06:30-10:29 +0 N729JB - -\nf62 2701 JFK-FLL 06:30-09:31 138 A320 open ? - 06:30-09:31 +0 N834JB - -\nf63 2802 JFK-BUF 06:30-07:49 88 E190 open ? - 06:30-07:49 +0 N193JB - -\nf64 2986 MIA-LAX 06:36-12:25 142 A321P open ? - 06:36-12:25 +0 N942JB - -\nf65 1208 PWM-LGA 06:40-07:58 71 E190 open ? - 06:40-07:58 +0 N323JB - -\nf66 2157 LGA-DEN 06:40-11:06 176 A321 open ? - 06:40-11:06 +0 N2039J - -\nf67 2229 BOS-MKE 06:40-09:17 121 A220 open ? - 06:40-09:17 +0 N3123J - -\nf68 2625 RDU-FLL 06:40-08:50 143 A320 open ? - 06:40-08:50 +0 N623JB - -\nf69 1097 BOS-ATL 06:45-09:39 93 E190 open ? - 06:45-09:39 +0 N239JB - -\nf70 1247 LGA-TPA 06:55-09:56 145 A320 open ? - 06:55-09:56 +0 N705JB - -\nf71 202 MIA-JFK 07:00-09:56 142 A320 open ? - 07:00-09:56 +0 N615JB - -\nf72 306 FLL-EWR 07:00-09:58 150 A320 open ? - 07:00-09:58 +0 N529JB - -\nf73 331 BOS-LGA 07:00-08:19 79 E190 open ? - 07:00-08:19 +0 N265JB - -\nf74 467 ATL-FLL 07:00-08:51 128 A320 open ? - 07:00-08:51 +0 N634JB - -\nf75 677 JFK-JAX 07:00-09:28 85 E190 open ? - 07:00-09:28 +0 N247JB - -\nf76 794 AUS-JFK 07:00-10:41 134 A320 open ? - 07:00-10:41 +0 N569JB - -\nf77 1455 BOS-DCA 07:00-08:45 91 E190 open ? - 07:00-08:45 +0 N273JB - -\nf78 1515 JFK-SFO 07:00-13:31 137 A321P open ? - 07:00-13:31 +0 N976JT - -\nf79 1553 FLL-SJU 07:00-09:34 149 A320 open ? - 07:00-09:34 +0 N598JB - -\nf80 2056 MCO-BOS 07:00-10:12 140 A320 open ? - 07:00-10:12 +0 N592JB - -\nf81 2134 SJU-MCO 07:00-10:16 144 A320 open ? - 07:00-10:16 +0 N763JB - -\nf82 2217 CHS-LAX 07:00-12:33 139 A320 open ? - 07:00-12:33 +0 N640JB - -\nf83 2421 BOS-PBI 07:00-10:15 167 A321 open ? - 07:00-10:15 +0 N905JB - -\nf84 2511 SJU-TPA 07:00-10:07 145 A320 open ? - 07:00-10:07 +0 N746JB - -\nf85 401 BOS-MSY 07:02-10:48 128 A320 open ? - 07:02-10:48 +0 N506JB - -\nf86 172 FLL-LGA 07:04-09:59 149 A320 open ? - 07:04-09:59 +0 N612JB - -\nf87 1420 DTW-JFK 07:04-08:48 82 E190 open ? - 07:04-08:48 +0 N197JB - -\nf88 630 MCO-BQN 07:05-09:51 148 A320 open ? - 07:05-09:51 +0 N593JB - -\nf89 1197 PVD-FLL 07:05-10:32 143 A320 open ? - 07:05-10:32 +0 N632JB - -\nf90 1519 BOS-MIA 07:05-10:30 127 A320 open ? - 07:05-10:30 +0 N517JB - -\nf91 1811 EWR-RSW 07:05-10:10 141 A320 open ? - 07:05-10:10 +0 N523JB - -\nf92 2295 EWR-MIA 07:05-10:07 141 A320 open ? - 07:05-10:07 +0 N558JB - -\nf93 215 BOS-DFW 07:07-11:29 122 A320 open ? - 07:07-11:29 +0 N516JB - -\nf94 887 BOS-LAS 07:08-13:15 136 A321P open ? - 07:08-13:15 +0 N969JT - -\nf95 1589 EWR-SJU 07:09-11:10 146 A320 open ? - 07:09-11:10 +0 N579JB - -\nf96 159 BOS-PHL 07:10-08:42 84 E190 open ? - 07:10-08:42 +0 N274JB - -\nf97 723 JFK-LAX 07:10-13:28 140 A321P open ? - 07:10-13:28 +0 N2105J - -\nf98 1141 BDL-PBI 07:10-10:15 141 A320 open ? - 07:10-10:15 +0 N630JB - -\nf99 1333 BOS-SFO 07:10-14:06 141 A321P open ? - 07:10-14:06 +0 N984JB - -\nf100 2130 SJU-JFK 07:10-11:09 178 A321 open ? - 07:10-11:09 +0 N966JT - -\nf101 2268 PBI-HPN 07:10-09:59 148 A320 open ? - 07:10-09:59 +0 N562JB - -\nf102 2713 ATL-LGA 07:13-09:29 148 A320 open ? - 07:13-09:29 +0 N646JB - -\nf103 633 BOS-IAH 07:14-11:36 128 A220 open ? - 07:14-11:36 +0 N3104J - -\nf104 890 SJU-EWR 07:15-11:31 145 A320 open ? - 07:15-11:31 +0 N643JB - -\nf105 948 BNA-BOS 07:15-09:42 129 A220 open ? - 07:15-09:42 +0 N3102J - -\nf106 2801 FLL-LAX 07:15-13:04 145 A321P open ? - 07:15-13:04 +0 N978JB - -\nf107 2832 LGA-BOS 07:15-08:27 78 E190 open ? - 07:15-08:27 +0 N229JB - -\nf108 344 FLL-HPN 07:25-10:26 146 A320 open ? - 07:25-10:26 +0 N656JB - -\nf109 1386 RDU-JFK 07:25-09:00 89 E190 open ? - 07:25-09:00 +0 N307JB - -\nf110 2101 BUF-JFK 07:25-08:48 88 E190 open ? - 07:25-08:48 +0 N317JB - -\nf111 619 BOS-SAN 07:29-13:55 186 A321 open ? - 07:29-13:55 +0 N952JB - -\nf112 2401 LGA-CHS 07:29-09:37 99 A320 open ? - 07:29-09:37 +0 N760JB - -\nf113 508 JFK-PWM 07:30-08:48 81 E190 open ? - 07:30-08:48 +0 N348JB - -\nf114 813 HPN-FLL 07:30-10:31 144 A320 open ? - 07:30-10:31 +0 N652JB - -\nf115 847 JFK-PBI 07:30-10:26 133 A320 open ? - 07:30-10:26 +0 N613JB - -\nf116 1073 JFK-BNA 07:30-10:00 85 E190 open ? - 07:30-10:00 +0 N355JB - -\nf117 1244 PBI-EWR 07:30-10:20 145 A320 open ? - 07:30-10:20 +0 N793JB - -\nf118 1278 JAX-JFK 07:30-09:42 148 A320 open ? - 07:30-09:42 +0 N590JB - -\nf119 1554 DCA-BOS 07:30-08:59 93 E190 open ? - 07:30-08:59 +0 N266JB - -\nf120 581 DCA-RSW 07:35-10:14 76 E190 open ? - 07:35-10:14 +0 N184JB - -\nf121 1480 FLL-DCA 07:35-10:04 145 A320 open ? - 07:35-10:04 +0 N712JB - -\nf122 85 BUF-MCO 07:37-10:21 138 A320 open ? - 07:37-10:21 +0 N709JB - -\nf123 393 BOS-DEN 07:37-12:26 128 A220 open ? - 07:37-12:26 +0 N3113J - -\nf124 884 MCO-JFK 07:40-10:28 138 A320 open ? - 07:40-10:28 +0 N804JB - -\nf125 2117 BOS-JFK 07:40-08:59 84 E190 open ? - 07:40-08:59 +0 N329JB - -\nf126 846 SYR-BOS 07:45-08:52 84 E190 open ? - 07:45-08:52 +0 N328JB - -\nf127 48 TPA-LGA 07:50-10:34 139 A320 open ? - 07:50-10:34 +0 N521JB - -\nf128 861 BOS-SJU 07:51-11:50 171 A321 open ? - 07:51-11:50 +0 N973JT - -\nf129 2714 LGA-ATL 07:56-10:25 143 A320 open ? - 07:56-10:25 +0 N503JB - -\nf130 109 BOS-JAX 08:00-10:51 91 E190 open ? - 08:00-10:51 +0 N375JB - -\nf131 186 JFK-ROC 08:00-09:17 82 E190 open ? - 08:00-09:17 +0 N339JB - -\nf132 841 JFK-SAV 08:00-10:17 83 E190 open ? - 08:00-10:17 +0 N368JB - -\nf133 1281 BOS-MCO 08:00-11:11 134 A320 open ? - 08:00-11:11 +0 N597JB - -\nf134 1447 HPN-TPA 08:00-10:56 144 A320 open ? - 08:00-10:56 +0 N805JB - -\nf135 1555 BOS-DCA 08:00-09:44 91 E190 open ? - 08:00-09:44 +0 N354JB - -\nf136 1883 BOS-RDU 08:00-10:04 89 E190 open ? - 08:00-10:04 +0 N358JB - -\nf137 2065 BOS-RSW 08:00-11:32 174 A321 open ? - 08:00-11:32 +0 N950JT - -\nf138 2431 BOS-LGA 08:00-09:21 79 E190 open ? - 08:00-09:21 +0 N216JB - -\nf139 411 JFK-LAS 08:10-13:57 166 A321 open ? - 08:10-13:57 +0 N996JL - -\nf140 311 BOS-ORD 08:11-11:20 130 A220 open ? - 08:11-11:20 +0 N3121J - -\nf141 332 LGA-BOS 08:15-09:30 78 E190 open ? - 08:33-09:48 +18 N323JB - -\nf142 927 EWR-MCO 08:15-11:05 136 A320 open ? - 08:15-11:05 +0 N789JB - -\nf143 1081 BOS-RIC 08:15-10:04 86 E190 open ? - 08:15-10:04 +0 N304JB - -\nf144 2423 DCA-MCO 08:15-10:38 143 A320 open ? - 08:15-10:38 +0 N636JB - -\nf145 717 BOS-JFK 08:20-09:38 84 E190 open ? - 08:20-09:38 +0 N228JB - -\nf146 1219 JFK-ATL 08:20-10:56 131 A321P open ? - 08:20-10:56 +0 N990JL - -\nf147 2087 LGA-BNA 08:20-10:58 129 A320 open ? - 08:20-10:58 +0 N821JB - -\nf148 2123 JFK-LAX 08:20-14:38 140 A321P open ? - 08:20-14:38 +0 N977JE - -\nf149 533 BDL-TPA 08:27-11:27 150 A320 open ? - 08:27-11:27 +0 N531JL - -\nf150 195 HPN-MCO 08:30-11:17 130 A320 open ? - 08:30-11:17 +0 N806JB - -\nf151 601 JFK-FLL 08:30-11:43 138 A320 open ? - 08:30-11:43 +0 N583JB - -\nf152 716 BUF-BOS 08:30-09:49 90 E190 open ? - 08:30-09:49 +0 N193JB - -\nf153 1137 BOS-DTW 08:30-10:43 92 E190 open ? - 08:30-10:43 +0 N183JB - -\nf154 1854 DCA-BOS 08:30-10:05 93 E190 open ? - 08:30-10:05 +0 N198JB - -\nf155 339 LGA-JAX 08:35-11:14 128 A320 open ? - 08:35-11:14 +0 N657JB - -\nf156 2285 JFK-RDU 08:37-10:25 88 E190 open ? - 08:37-10:25 +0 N179JB - -\nf157 1347 DCA-SJU 08:40-12:37 150 A320 open ? - 08:40-12:37 +0 N651JB - -\nf158 1584 MCO-JFK 08:40-11:27 138 A320 open ? - 08:40-11:27 +0 N605JB - -\nf159 18 FLL-JAX 08:45-10:04 107 A320 open ? - 08:45-10:04 +0 N794JB - -\nf160 154 PBI-JFK 08:49-11:29 144 A320 open ? - 08:49-11:29 +0 N779JB - -\nf161 1773 EWR-LAX 08:50-15:14 140 A321P open ? - 08:50-15:14 +0 N989JT - -\nf162 2520 MSY-LGA 08:52-12:00 129 A320 open ? - 08:52-12:00 +0 N554JB - -\nf163 2121 HPN-ACK 08:59-10:00 69 E190 open ? - 08:59-10:00 +0 N281JB - -\nf164 455 BOS-DCA 09:00-10:46 91 E190 open ? - 09:00-10:46 +0 N236JB - -\nf165 459 JFK-BUR 09:00-15:24 137 A320 open ? - 09:00-15:24 +0 N638JB - -\nf166 531 BOS-LGA 09:00-10:19 79 E190 open ? - 09:00-10:19 +0 N284JB - -\nf167 560 FLL-BUF 09:00-12:09 150 A320 open ? - 09:00-12:09 +0 N766JB - -\nf168 816 SFO-JFK 09:00-14:29 150 A321P open ? - 09:00-14:29 +0 N993JE - -\nf169 967 HPN-PBI 09:00-11:48 133 A320 open ? - 09:00-11:48 +0 N565JB - -\nf170 1245 BOS-CLT 09:00-11:24 88 E190 open ? - 09:00-11:24 +0 N203JB - -\nf171 2433 DCA-PBI 09:00-11:35 91 E190 open ? - 09:00-11:35 +0 N337JB - -\nf172 2824 LAX-JFK 09:00-14:27 150 A321P open ? - 09:00-14:27 +0 N991JT - -\nf173 891 BOS-TPA 09:05-12:20 182 A321 open ? - 09:05-12:20 +0 N999JQ - -\nf174 1083 JFK-MCO 09:05-11:56 139 A320 open ? - 09:05-11:56 +0 N703JB - -\nf175 1402 FLL-JFK 09:05-11:57 177 A321 open ? - 09:05-11:57 +0 N974JT - -\nf176 1565 BOS-SAT 09:05-13:41 121 A220 open ? - 09:05-13:41 +0 N3118J - -\nf177 461 LGA-PBI 09:08-12:06 128 A320 open ? - 09:08-12:06 +0 N588JB - -\nf178 1273 JFK-CHS 09:10-11:23 82 E190 open ? - 09:10-11:23 +0 N187JB - -\nf179 1860 RSW-LGA 09:10-12:02 136 A320 open ? - 09:10-12:02 +0 N536JB - -\nf180 2479 BOS-EWR 09:10-10:38 73 E190 open ? - 09:10-10:38 +0 N306JB - -\nf181 2432 LGA-BOS 09:15-10:34 78 E190 open ? - 09:15-10:34 +0 N265JB - -\nf182 1311 JFK-LAS 09:19-15:10 166 A321 open ? - 09:19-15:10 +0 N948JB - -\nf183 360 PHL-BOS 09:25-10:53 83 E190 open ? - 09:25-10:53 +0 N274JB - -\nf184 690 FLL-BOS 09:25-12:41 180 A321 open ? - 09:25-12:41 +0 N994JL - -\nf185 1338 JFK-MVY 09:25-10:32 59 E190 open ? - 09:25-10:32 +0 N279JB - -\nf186 271 LGA-FLL 09:27-12:39 142 A320 open ? - 09:27-12:39 +0 N519JB - -\nf187 2041 BOS-CLE 09:27-11:32 92 E190 open ? - 09:27-11:32 +0 N283JB - -\nf188 1280 FLL-DCA 09:28-12:00 145 A320 open ? - 09:28-12:00 +0 N594JB - -\nf189 1634 JFK-BTV 09:29-10:46 84 E190 open ? - 09:29-10:46 +0 N197JB - -\nf190 538 BQN-JFK 09:30-13:20 137 A320 open ? - 09:30-13:20 +0 N526JL - -\nf191 1954 DCA-BOS 09:30-11:05 93 E190 open ? - 09:30-11:05 +0 N273JB - -\nf192 2028 MCO-EWR 09:30-12:17 145 A320 open ? - 09:30-12:17 +0 N621JB - -\nf193 219 JFK-DTW 09:33-11:38 130 A320 open ? - 09:33-11:38 +0 N715JB - -\nf194 1580 TPA-JFK 09:34-12:16 148 A320 open ? - 09:34-12:16 +0 N608JB - -\nf195 1754 SJU-FLL 09:34-12:22 142 A320 open ? - 09:34-12:22 +0 N644JB - -\nf196 1529 JFK-RSW 09:35-12:59 86 E190 open ? - 09:35-12:59 +0 N317JB - -\nf197 1602 JFK-BUF 09:35-11:01 88 E190 open ? - 09:35-11:01 +0 N329JB - -\nf198 2135 SFO-LAX 09:35-11:01 129 A320 open ? - 09:35-11:01 +0 N566JB - -\nf199 1143 BOS-BUF 09:38-11:11 90 E190 open ? - 09:38-11:11 +0 N229JB - -\nf200 450 CHS-BOS 09:39-11:54 125 A220 open ? - 09:39-11:54 +0 N3065J - -\nf201 2309 LGA-ACK 09:39-10:55 63 E190 open ? - 09:39-10:55 +0 N324JB - -\nf202 323 JFK-LAX 09:40-15:57 140 A321P open ? - 09:40-15:57 +0 N947JB - -\nf203 1774 LAX-EWR 09:40-15:03 151 A321P open ? - 09:40-15:03 +0 N946JL - -\nf204 2584 MCO-JFK 09:40-12:28 138 A320 open ? - 09:40-12:28 +0 N775JB - -\nf205 407 PWM-JFK 09:41-11:00 81 E190 open ? - 09:41-11:00 +0 N348JB - -\nf206 906 ORD-JFK 09:44-11:59 89 E190 open ? - 09:44-11:59 +0 N190JB - -\nf207 189 JFK-SAN 09:45-16:01 168 A321 open ? - 09:45-16:01 +0 N2043J - -\nf208 1122 SAV-BOS 09:45-12:10 130 A220 open ? - 09:45-12:10 +0 N3058J - -\nf209 2725 JFK-TPA 09:45-12:40 143 A320 open ? - 09:45-12:40 +0 N827JB - -\nf210 1423 FLL-MSY 09:47-11:56 122 A320 open ? - 09:47-11:56 +0 N564JB - -\nf211 115 JFK-SFO 09:50-16:23 137 A321P open ? - 09:50-16:23 +0 N987JT - -\nf212 1439 BOS-AUS 09:50-14:19 126 A220 open ? - 09:50-14:19 +0 N3115J - -\nf213 2592 MIA-JFK 09:50-12:44 142 A320 open ? - 09:50-12:44 +0 N662JB - -\nf214 1604 SJU-JFK 09:56-13:59 178 A321 open ? - 09:56-13:59 +0 N972JT - -\nf215 176 MSY-JFK 09:57-12:59 139 A320 open ? - 09:57-12:59 +0 N706JB - -\nf216 272 FLL-LGA 09:57-12:53 149 A320 open ? - 09:57-12:53 +0 N637JB - -\nf217 599 LGA-MCO 09:59-12:52 145 A320 open ? - 09:59-12:52 +0 N534JB - -\nf218 379 DCA-FLL 10:00-12:38 147 A320 open ? - 10:00-12:38 +0 N828JB - -\nf219 631 BOS-LGA 10:00-11:20 79 E190 open ? - 10:00-11:20 +0 N267JB - -\nf220 706 LAX-SEA 10:00-12:51 121 A320 open ? - 10:00-12:51 +0 N624JB - -\nf221 1655 BOS-DCA 10:00-11:46 91 E190 open ? - 10:00-11:46 +0 N328JB - -\nf222 2324 MCO-DCA 10:00-12:22 81 E190 open ? - 10:00-12:22 +0 N206JB - -\nf223 2903 JFK-SJU 10:00-13:56 179 A321 open ? - 10:00-13:56 +0 N2027J - -\nf224 2469 BOS-FLL 10:04-13:25 181 A321 open ? - 10:04-13:25 +0 N995JL - -\nf225 485 ROC-JFK 10:05-11:23 82 E190 open ? - 10:05-11:23 +0 N339JB - -\nf226 577 FLL-SFO 10:06-16:47 140 A321P open ? - 10:06-16:47 +0 N937JB - -\nf227 1833 BOS-SFO 10:06-17:11 141 A321P open ? - 10:06-17:11 +0 N935JB - -\nf228 1636 LAX-SFO 10:09-11:30 127 A320 open ? - 10:09-11:30 +0 N639JB - -\nf229 801 MCO-SLC 10:10-15:09 149 A320 open ? - 10:10-15:09 +0 N661JB - -\nf230 1522 MCO-HPN 10:12-13:03 123 A320 open ? - 10:12-13:03 +0 N649JB - -\nf231 680 MKE-JFK 10:14-12:28 120 A220 open ? - 10:14-12:28 +0 N3123J - -\nf232 698 MCO-LGA 10:15-13:01 136 A320 open ? - 10:15-13:01 +0 N556JB - -\nf233 1033 MCO-SJU 10:15-13:06 180 A321 open ? - 10:15-13:06 +0 N913JB - -\nf234 678 JAX-JFK 10:18-12:30 91 E190 open ? - 10:18-12:30 +0 N247JB - -\nf235 387 BOS-LAX 10:20-16:59 138 A321P open ? - 10:20-16:59 +0 N986JB - -\nf236 1036 SJU-STT 10:23-11:03 145 A320 open ? - 10:23-11:03 +0 N505JB - -\nf237 2566 LGA-MVY 10:23-11:32 59 E190 open ? - 10:23-11:32 +0 N216JB - -\nf238 896 ATL-BOS 10:24-13:03 92 E190 open ? - 10:24-13:03 +0 N239JB - -\nf239 27 BOS-BWI 10:25-11:54 86 E190 open ? - 10:25-11:54 +0 N266JB - -\nf240 2593 JFK-MIA 10:29-13:36 137 A320 open ? - 10:29-13:36 +0 N571JB - -\nf241 353 FLL-SJU 10:30-13:09 149 A320 open ? - 10:30-13:09 +0 N589JB - -\nf242 413 JFK-MCO 10:30-13:23 139 A320 open ? - 10:30-13:23 +0 N535JB - -\nf243 654 DCA-BOS 10:30-12:02 93 E190 open ? - 10:30-12:02 +0 N354JB - -\nf244 929 BOS-SAN 10:30-17:01 186 A321 open ? - 10:30-17:01 +0 N903JB - -\nf245 2051 BOS-MCO 10:30-13:43 178 A321 open ? - 10:30-13:43 +0 N949JT - -\nf246 2718 JFK-BOS 10:30-11:40 80 E190 open ? - 10:30-11:40 +0 N307JB - -\nf247 1470 CHS-LGA 10:32-12:30 116 A320 open ? - 10:32-12:30 +0 N760JB - -\nf248 945 BOS-BNA 10:35-13:29 128 A220 open ? - 10:35-13:29 +0 N3125J - -\nf249 1074 BNA-JFK 10:35-12:57 77 E190 open ? - 10:35-12:57 +0 N355JB - -\nf250 1115 LGA-DEN 10:35-15:09 142 A320 open ? - 10:35-15:09 +0 N587JB - -\nf251 2222 MCI-JFK 10:35-13:29 130 A220 open ? - 10:35-13:29 +0 N3023J - -\nf252 729 BQN-MCO 10:36-13:34 143 A320 open ? - 10:36-13:34 +0 N593JB - -\nf253 953 JFK-PBI 10:40-13:35 133 A320 open ? - 10:40-13:35 +0 N561JB - -\nf254 1485 BOS-PIT 10:40-12:28 93 E190 open ? - 10:40-12:28 +0 N323JB - -\nf255 1700 LAX-FLL 10:40-15:42 151 A321P open ? - 10:40-15:42 +0 N944JT - -\nf256 484 RDU-BOS 10:45-12:43 91 E190 open ? - 10:45-12:43 +0 N358JB - -\nf257 1114 MSP-BOS 10:45-13:28 133 A220 open ? - 10:45-13:28 +0 N3077J - -\nf258 1182 RIC-BOS 10:45-12:18 88 E190 open ? - 10:45-12:18 +0 N304JB - -\nf259 2493 ACK-DCA 10:46-12:30 61 E190 open ? - 10:46-12:30 +0 N281JB - -\nf260 17 JAX-FLL 10:49-12:04 107 A320 open ? - 10:49-12:04 +0 N794JB - -\nf261 682 RSW-DCA 10:49-13:19 84 E190 open ? - 10:49-13:19 +0 N184JB - -\nf262 2201 JFK-FLL 10:50-14:02 171 A321 open ? - 10:50-14:02 +0 N956JT - -\nf263 2274 TPA-EWR 10:52-13:41 150 A320 open ? - 10:52-13:41 +0 N705JB - -\nf264 842 SAV-JFK 10:53-12:59 82 E190 open ? - 10:53-12:59 +0 N368JB - -\nf265 895 EWR-MCO 10:54-13:42 147 A320 open ? - 10:54-13:42 +0 N520JB - -\nf266 2594 MIA-EWR 10:57-14:08 149 A320 open ? - 10:57-14:08 +0 N558JB - -\nf267 1251 HPN-RSW 10:59-14:10 121 A320 open ? - 10:59-14:10 +0 N562JB - -\nf268 90 SAN-JFK 11:00-16:19 147 A321P open ? - 11:00-16:19 +0 N962JT - -\nf269 288 LAX-BOS 11:00-16:34 150 A321P open ? - 11:00-16:34 +0 N945JT - -\nf270 434 SFO-BOS 11:00-16:40 149 A321P open ? - 11:00-16:40 +0 N979JT - -\nf271 523 JFK-LAX 11:00-17:16 141 A321P open ? - 11:00-17:16 +0 N968JT - -\nf272 725 JFK-SAT 11:00-15:13 134 A320 open ? - 11:00-15:13 +0 N665JB - -\nf273 1288 PBI-PVD 11:00-14:00 150 A320 open ? - 11:00-14:00 +0 N630JB - -\nf274 1812 RSW-EWR 11:02-13:59 149 A320 open ? - 11:02-13:59 +0 N523JB - -\nf275 2786 RDU-JFK 11:05-12:43 89 E190 open ? - 11:05-12:43 +0 N179JB - -\nf276 784 MCO-JFK 11:06-13:53 138 A320 open ? - 11:06-13:53 +0 N708JB - -\nf277 1248 TPA-LGA 11:08-14:00 150 A320 open ? - 11:08-14:00 +0 N746JB - -\nf278 880 LAX-LAS 11:10-12:27 110 A320 open ? - 11:10-12:27 +0 N508JL - -\nf279 1339 MVY-JFK 11:12-12:22 49 E190 open ? - 11:12-12:22 +0 N279JB - -\nf280 1882 IAH-JFK 11:14-14:49 143 A320 open ? - 11:14-14:49 +0 N729JB - -\nf281 94 MCO-HPN 11:15-14:09 123 A320 open ? - 11:15-14:09 +0 N527JL - -\nf282 180 EWR-BOS 11:15-12:25 76 E190 open ? - 11:15-12:25 +0 N306JB - -\nf283 322 PBI-BOS 11:15-14:28 189 A321 open ? - 11:15-14:28 +0 N905JB - -\nf284 543 EWR-PBI 11:15-14:14 136 A320 open ? - 11:15-14:14 +0 N793JB - -\nf285 1861 LGA-RSW 11:15-14:40 113 A320 open ? - 11:15-14:40 +0 N646JB - -\nf286 1220 MIA-BOS 11:16-14:38 130 A320 open ? - 11:16-14:38 +0 N517JB - -\nf287 2036 DTW-BOS 11:18-13:10 90 E190 open ? - 11:18-13:10 +0 N183JB - -\nf288 111 JFK-LAS 11:20-17:00 132 A321P open ? - 11:20-17:00 +0 N983JT - -\nf289 1207 LGA-PWM 11:20-12:40 87 E190 open ? - 11:20-12:40 +0 N284JB - -\nf290 2813 ATL-LGA 11:20-13:43 148 A320 open ? - 11:20-13:43 +0 N503JB - -\nf291 848 PBI-JFK 11:21-14:19 144 A320 open ? - 11:21-14:19 +0 N613JB - -\nf292 1334 SJU-MCO 11:25-14:45 178 A321 open ? - 11:25-14:45 +0 N957JB - -\nf293 2577 BOS-LAS 11:25-17:32 171 A321 open ? - 11:25-17:32 +0 N954JB - -\nf294 503 JFK-SJU 11:29-15:25 145 A320 open ? - 11:29-15:25 +0 N606JB - -\nf295 83 JFK-MCO 11:30-14:24 139 A320 open ? - 11:30-14:24 +0 N510JB - -\nf296 554 DCA-BOS 11:30-13:04 93 E190 open ? - 11:30-13:04 +0 N236JB - -\nf297 579 DCA-FLL 11:30-14:12 147 A320 open ? - 11:30-14:12 +0 N712JB - -\nf298 1210 ACK-LGA 11:30-12:40 51 E190 open ? - 11:30-12:40 +0 N324JB - -\nf299 1410 JAX-BOS 11:30-14:09 89 E190 open ? - 11:30-14:09 +0 N375JB - -\nf300 1633 BTV-JFK 11:30-12:52 82 E190 open ? - 11:30-12:52 +0 N197JB - -\nf301 400 MSY-BOS 11:33-15:01 131 A320 open ? - 11:33-15:01 +0 N506JB - -\nf302 1901 BUF-JFK 11:38-12:59 88 E190 open ? - 11:38-12:59 +0 N329JB - -\nf303 759 BOS-PHL 11:40-13:13 84 E190 open ? - 11:40-13:13 +0 N193JB - -\nf304 2532 LAX-SLC 11:40-13:32 139 A320 open ? - 11:40-13:32 +0 N625JB - -\nf305 520 ATL-JFK 11:41-13:59 138 A321P open ? - 12:06-14:24 +25 N990JL - -\nf306 2088 BNA-LGA 11:43-14:02 131 A320 open ? - 11:43-14:02 +0 N821JB - -\nf307 2417 BOS-JFK 11:43-12:59 84 E190 open ? - 11:43-12:59 +0 N198JB - -\nf308 741 BOS-SRQ 11:45-15:09 95 E190 open ? - 11:45-15:09 +0 N265JB - -\nf309 1144 BUF-BOS 11:46-13:05 90 E190 open ? - 11:46-13:05 +0 N229JB - -\nf310 1135 STT-SJU 11:48-12:32 150 A320 open ? - 11:48-12:32 +0 N505JB - -\nf311 1990 SJU-EWR 11:55-16:11 145 A320 open ? - 11:55-16:11 +0 N598JB - -\nf312 2647 HPN-CHS 11:59-14:10 97 A320 open ? - 11:59-14:10 +0 N656JB - -\nf313 120 MCO-ALB 12:00-14:51 135 A320 open ? - 12:00-14:51 +0 N580JB - -\nf314 194 MCO-JFK 12:00-14:48 128 A320 open ? - 12:00-14:48 +0 N547JB - -\nf315 578 SFO-FLL 12:00-17:33 146 A321P open ? - 12:00-17:33 +0 N934JB - -\nf316 1246 CLT-BOS 12:00-14:16 88 E190 open ? - 12:00-14:16 +0 N203JB - -\nf317 1855 BOS-DCA 12:00-13:45 91 E190 open ? - 12:00-13:45 +0 N274JB - -\nf318 1964 JFK-HYA 12:00-13:06 56 E190 open ? - 12:00-13:06 +0 N339JB - -\nf319 2091 JFK-ACK 12:00-13:11 53 E190 open ? - 12:00-13:11 +0 N228JB - -\nf320 2223 JFK-LAX 12:00-18:23 140 A321P open ? - 12:00-18:23 +0 N981JT - -\nf321 270 MCO-RIC 12:02-14:04 134 A320 open ? - 12:02-14:04 +0 N709JB - -\nf322 2474 CHS-JFK 12:04-13:59 86 E190 open ? - 12:04-13:59 +0 N187JB - -\nf323 312 ORD-BOS 12:05-14:30 133 A220 open ? - 12:05-14:30 +0 N3121J - -\nf324 1149 BOS-ATL 12:05-14:55 93 E190 open ? - 12:05-14:55 +0 N273JB - -\nf325 2156 DEN-LGA 12:06-16:00 174 A321 open ? - 12:06-16:00 +0 N2039J - -\nf326 2040 CLE-BOS 12:07-13:52 88 E190 open ? - 12:07-13:52 +0 N283JB - -\nf327 2565 MVY-LGA 12:07-13:29 43 E190 open ? - 12:07-13:29 +0 N216JB - -\nf328 340 JAX-LGA 12:08-14:29 136 A320 open ? - 12:08-14:29 +0 N657JB - -\nf329 2334 PBI-DCA 12:10-14:35 92 E190 open ? - 12:10-14:35 +0 N337JB - -\nf330 1534 TPA-BDL 12:12-15:09 145 A320 open ? - 12:12-15:09 +0 N531JL - -\nf331 220 DTW-JFK 12:13-13:59 133 A320 open ? - 12:23-14:09 +10 N715JB - -\nf332 1214 DFW-BOS 12:15-16:04 130 A320 open ? - 12:15-16:04 +0 N516JB - -\nf333 1635 SFO-LAX 12:15-13:44 129 A320 open ? - 12:15-13:44 +0 N639JB - -\nf334 2251 BOS-MCO 12:19-15:35 144 A320 open ? - 12:19-15:35 +0 N592JB - -\nf335 165 BOS-RSW 12:20-15:55 174 A321 open ? - 12:20-15:55 +0 N955JB - -\nf336 1324 BOS-MVY 12:20-13:05 52 E190 open ? - 12:20-13:05 +0 N307JB - -\nf337 664 IAH-BOS 12:21-16:05 131 A220 open ? - 12:21-16:05 +0 N3104J - -\nf338 871 JFK-SLC 12:29-17:48 143 A320 open ? - 12:29-17:48 +0 N807JB - -\nf339 1680 FLL-DCA 12:29-15:05 145 A320 open ? - 12:29-15:05 +0 N834JB - -\nf340 2310 LGA-ACK 12:29-13:41 63 E190 open ? - 12:29-13:41 +0 N267JB - -\nf341 526 BWI-BOS 12:30-13:54 89 E190 open ? - 12:30-13:54 +0 N266JB - -\nf342 2254 DCA-BOS 12:30-14:02 93 E190 open ? - 12:30-14:02 +0 N328JB - -\nf343 2066 RSW-BOS 12:34-15:54 186 A321 open ? - 12:34-15:54 +0 N950JT - -\nf344 285 JFK-RDU 12:35-14:21 88 E190 open ? - 12:35-14:21 +0 N348JB - -\nf345 1422 MSY-FLL 12:41-14:39 129 A320 open ? - 12:41-14:39 +0 N564JB - -\nf346 1433 MCO-SJU 12:45-15:39 146 A320 open ? - 12:45-15:39 +0 N789JB - -\nf347 247 BOS-SLC 12:49-18:15 129 A220 open ? - 12:49-18:15 +0 N3102J - -\nf348 462 SJU-BOS 12:50-17:01 164 A321 open ? - 12:50-17:01 +0 N973JT - -\nf349 1601 JFK-FLL 12:50-16:03 171 A321 open ? - 12:50-16:03 +0 N959JB - -\nf350 324 LAX-JFK 12:54-18:30 150 A321P open ? - 12:54-18:30 +0 N929JB - -\nf351 559 BUF-FLL 12:55-15:53 150 A320 open ? - 12:55-15:53 +0 N766JB - -\nf352 1923 DCA-MCO 12:55-15:18 143 A320 open ? - 12:55-15:18 +0 N594JB - -\nf353 46 LGA-TPA 12:59-16:04 145 A320 open ? - 12:59-16:04 +0 N612JB - -\nf354 1055 BOS-DCA 13:00-14:47 91 E190 open ? - 13:00-14:47 +0 N354JB - -\nf355 1068 PBI-HPN 13:00-16:02 148 A320 open ? - 13:00-16:02 +0 N565JB - -\nf356 1679 DCA-FLL 13:00-15:46 91 E190 open ? - 13:00-15:46 +0 N206JB - -\nf357 2719 JFK-ATL 13:01-15:29 134 A320 open ? - 13:01-15:29 +0 N655JB - -\nf358 2286 PIT-BOS 13:03-14:45 92 E190 open ? - 13:03-14:45 +0 N323JB - -\nf359 62 PBI-LGA 13:05-16:00 134 A320 open ? - 13:05-16:00 +0 N588JB - -\nf360 2579 BOS-EWR 13:05-14:43 73 E190 open ? - 13:05-14:43 +0 N304JB - -\nf361 2747 LGA-SAV 13:05-15:27 127 A320 open ? - 13:05-15:27 +0 N536JB - -\nf362 602 FLL-JFK 13:09-16:11 144 A320 open ? - 13:09-16:11 +0 N583JB - -\nf363 206 BOS-BNA 13:10-16:05 128 A220 open ? - 13:10-16:05 +0 N3065J - -\nf364 879 LAS-LAX 13:12-14:30 87 A320 open ? - 13:12-14:30 +0 N508JL - -\nf365 1874 LAX-EWR 13:14-18:45 151 A321P open ? - 13:14-18:45 +0 N943JT - -\nf366 718 JFK-BOS 13:15-14:31 80 E190 open ? - 13:15-14:31 +0 N190JB - -\nf367 2215 BOS-BUF 13:15-14:49 90 E190 open ? - 13:15-14:49 +0 N306JB - -\nf368 2232 LGA-BOS 13:15-14:31 78 E190 open ? - 13:15-14:31 +0 N324JB - -\nf369 394 DEN-BOS 13:16-17:08 125 A220 open ? - 13:16-17:08 +0 N3113J - -\nf370 892 TPA-BOS 13:20-16:38 178 A321 open ? - 13:20-16:38 +0 N999JQ - -\nf371 1076 MCO-PVD 13:20-16:14 144 A320 open ? - 13:20-16:14 +0 N597JB - -\nf372 1721 JFK-MSY 13:20-16:41 129 A320 open ? - 13:20-16:41 +0 N590JB - -\nf373 372 FLL-LGA 13:24-16:29 149 A320 open ? - 13:24-16:29 +0 N644JB - -\nf374 276 SJU-BDL 13:27-17:32 140 A320 open ? - 13:27-17:32 +0 N579JB - -\nf375 116 JFK-SYR 13:30-14:42 85 E190 open ? - 13:30-14:42 +0 N279JB - -\nf376 1483 JFK-MCO 13:30-16:24 139 A320 open ? - 13:30-16:24 +0 N552JB - -\nf377 2454 DCA-BOS 13:30-15:03 93 E190 open ? - 13:30-15:03 +0 N281JB - -\nf378 2814 LGA-ATL 13:30-16:03 143 A320 open ? - 13:30-16:03 +0 N554JB - -\nf379 100 LAX-FLL 13:35-18:44 151 A321P open ? - 13:35-18:44 +0 N992JB - -\nf380 130 RSW-JFK 13:35-16:29 84 E190 open ? - 13:35-16:29 +0 N317JB - -\nf381 2020 FLL-ORH 13:35-16:45 138 A320 open ? - 13:35-16:45 +0 N828JB - -\nf382 2116 SFO-JFK 13:35-19:14 150 A321P open ? - 13:35-19:14 +0 N964JT - -\nf383 2291 JFK-ACK 13:35-14:43 53 E190 open ? - 13:35-14:43 +0 N247JB - -\nf384 2826 TPA-JFK 13:35-16:23 148 A320 open ? - 13:35-16:23 +0 N827JB - -\nf385 591 BOS-TPA 13:37-16:54 127 A220 open ? - 13:37-16:54 +0 N3058J - -\nf386 1963 HYA-JFK 13:41-14:46 46 E190 open ? - 13:41-14:46 +0 N339JB - -\nf387 295 JFK-AUS 13:44-17:58 137 A320 open ? - 13:44-17:58 +0 N804JB - -\nf388 1388 LAX-BOS 13:45-19:24 150 A321P open ? - 13:45-19:24 +0 N942JB - -\nf389 92 ACK-JFK 13:46-14:55 45 E190 open ? - 13:46-14:55 +0 N228JB - -\nf390 707 SEA-LAX 13:46-16:28 110 A320 open ? - 13:46-16:28 +0 N624JB - -\nf391 371 LGA-FLL 13:48-17:03 132 A320 open ? - 13:48-17:03 +0 N760JB - -\nf392 781 BOS-RIC 13:49-15:35 86 E190 open ? - 13:49-15:35 +0 N358JB - -\nf393 412 MCO-JFK 13:50-16:42 138 A320 open ? - 13:50-16:42 +0 N806JB - -\nf394 501 BOS-JAX 13:50-16:41 91 E190 open ? - 13:50-16:41 +0 N239JB - -\nf395 2665 MVY-HPN 13:50-15:00 26 E190 open ? - 13:50-15:00 +0 N307JB - -\nf396 1942 LGA-DEN 13:54-18:23 142 A320 open ? - 13:54-18:23 +0 N637JB - -\nf397 23 DCA-MCO 13:55-16:20 88 E190 open ? - 13:55-16:20 +0 N184JB - -\nf398 727 BOS-BWI 13:55-15:25 86 E190 open ? - 13:55-15:25 +0 N236JB - -\nf399 495 HPN-MCO 13:59-16:54 130 A320 open ? - 13:59-16:54 +0 N649JB - -\nf400 134 JFK-BTV 14:00-15:18 84 E190 open ? - 14:00-15:18 +0 N179JB - -\nf401 755 BOS-DCA 14:00-15:47 91 E190 open ? - 14:00-15:47 +0 N229JB - -\nf402 831 BOS-LGA 14:00-15:23 79 E190 open ? - 14:00-15:23 +0 N183JB - -\nf403 2160 PHL-BOS 14:00-15:25 83 E190 open ? - 14:00-15:25 +0 N193JB - -\nf404 334 SFO-BOS 14:03-19:49 149 A321P open ? - 14:03-19:49 +0 N2142J - -\nf405 934 SJU-MCO 14:06-17:16 178 A321 open ? - 14:06-17:16 +0 N913JB - -\nf406 1383 PWM-LGA 14:07-15:30 71 E190 open ? - 14:07-15:30 +0 N284JB - -\nf407 163 JFK-SRQ 14:10-17:18 142 A320 open ? - 14:10-17:18 +0 N569JB - -\nf408 424 LAX-JFK 14:15-19:50 150 A321P open ? - 14:15-19:50 +0 N978JB - -\nf409 832 LGA-BOS 14:15-15:32 78 E190 open ? - 14:15-15:32 +0 N216JB - -\nf410 1098 MCO-LGA 14:15-17:00 146 A320 open ? - 14:15-17:00 +0 N534JB - -\nf411 1351 ACK-BOS 14:17-15:09 60 E190 open ? - 14:17-15:09 +0 N267JB - -\nf412 438 MCO-BDL 14:19-17:15 143 A320 open ? - 14:19-17:15 +0 N535JB - -\nf413 946 BNA-BOS 14:20-16:54 129 A220 open ? - 14:20-16:54 +0 N3125J - -\nf414 2392 MIA-JFK 14:22-17:22 142 A320 open ? - 14:22-17:22 +0 N571JB - -\nf415 888 LAS-BOS 14:25-19:31 134 A321P open ? - 14:25-19:31 +0 N969JT - -\nf416 1902 FLL-JFK 14:25-17:29 177 A321 open ? - 14:25-17:29 +0 N995JL - -\nf417 505 EWR-FLL 14:29-17:30 144 A320 open ? - 14:29-17:30 +0 N643JB - -\nf418 1835 JFK-TPA 14:29-17:31 88 E190 open ? - 14:29-17:31 +0 N197JB - -\nf419 1919 LGA-MSY 14:29-17:53 122 A320 open ? - 14:29-17:53 +0 N556JB - -\nf420 2902 JFK-BUF 14:29-16:01 88 E190 open ? - 14:29-16:01 +0 N355JB - -\nf421 522 PBI-BOS 14:30-17:46 150 A320 open ? - 14:30-17:46 +0 N561JB - -\nf422 776 JFK-ORH 14:30-15:31 50 E190 open ? - 14:30-15:31 +0 N198JB - -\nf423 2033 BOS-IAH 14:30-18:49 128 A220 open ? - 14:30-18:49 +0 N3077J - -\nf424 2221 JFK-MCI 14:30-17:53 126 A220 open ? - 14:30-17:53 +0 N3123J - -\nf425 2531 SLC-LAX 14:30-16:29 121 A320 open ? - 14:30-16:29 +0 N625JB - -\nf426 2554 DCA-BOS 14:30-16:08 93 E190 open ? - 14:30-16:08 +0 N274JB - -\nf427 2473 JFK-CHS 14:35-16:48 82 E190 open ? - 14:35-16:48 +0 N329JB - -\nf428 1268 LAX-BDL 14:36-19:55 150 A320 open ? - 14:36-19:55 +0 N639JB - -\nf429 1566 SAT-BOS 14:36-18:52 134 A220 open ? - 14:36-18:52 +0 N3118J - -\nf430 803 JFK-SJU 14:38-18:34 145 A320 open ? - 14:38-18:34 +0 N608JB - -\nf431 897 BOS-SJU 14:38-18:37 171 A321 open ? - 14:38-18:37 +0 N2084J - -\nf432 2424 MCO-DCA 14:38-17:00 131 A320 open ? - 14:38-17:00 +0 N593JB - -\nf433 2885 LAX-MIA 14:38-19:39 148 A321P open ? - 14:38-19:39 +0 N2105J - -\nf434 521 BOS-PBI 14:40-17:58 84 E190 open ? - 14:40-17:58 +0 N283JB - -\nf435 2317 BOS-JFK 14:41-16:00 84 E190 open ? - 14:41-16:00 +0 N266JB - -\nf436 2416 SFO-JFK 14:41-20:20 150 A321P open ? - 14:41-20:20 +0 N976JT - -\nf437 2052 MCO-BOS 14:44-17:55 173 A321 open ? - 14:44-17:55 +0 N949JT - -\nf438 761 LGA-PBI 14:45-17:52 138 A320 open ? - 14:45-17:52 +0 N503JB - -\nf439 1287 PVD-PBI 14:45-17:46 136 A320 open ? - 14:45-17:46 +0 N630JB - -\nf440 2187 LGA-BNA 14:48-17:30 129 A320 open ? - 14:48-17:30 +0 N746JB - -\nf441 969 RIC-MCO 14:49-16:52 135 A320 open ? - 14:49-16:52 +0 N709JB - -\nf442 679 JFK-MKE 14:50-17:26 123 A220 open ? - 14:50-17:26 +0 N3023J - -\nf443 1130 FLL-CHS 14:51-16:30 121 A320 open ? - 14:51-16:30 +0 N519JB - -\nf444 1167 HPN-PBI 14:55-18:00 133 A320 open ? - 14:55-18:00 +0 N527JL - -\nf445 1401 JFK-FLL 14:55-18:10 138 A320 open ? - 14:55-18:10 +0 N775JB - -\nf446 86 RDU-JFK 14:56-16:39 89 E190 open ? - 14:56-16:39 +0 N348JB - -\nf447 2030 SJU-JFK 14:57-18:59 178 A321 open ? - 14:57-18:59 +0 N2027J - -\nf448 643 EWR-PBI 14:59-18:03 136 A320 open ? - 14:59-18:03 +0 N621JB - -\nf449 1527 EWR-MCO 14:59-17:50 147 A320 open ? - 14:59-17:50 +0 N705JB - -\nf450 88 FLL-ALB 15:00-18:05 150 A320 open ? - 15:00-18:05 +0 N509JB - -\nf451 1019 JFK-DTW 15:00-17:06 80 E190 open ? - 15:00-17:06 +0 N368JB - -\nf452 1955 BOS-DCA 15:00-16:49 91 E190 open ? - 15:00-16:49 +0 N328JB - -\nf453 253 FLL-SJU 15:02-17:35 183 A321 open ? - 15:02-17:35 +0 N956JT - -\nf454 267 BOS-CHS 15:05-17:35 86 E190 open ? - 15:05-17:35 +0 N375JB - -\nf455 1238 AUS-BOS 15:09-19:10 133 A220 open ? - 15:09-19:10 +0 N3115J - -\nf456 399 LGA-MCO 15:10-18:18 134 A320 open ? - 15:10-18:18 +0 N821JB - -\nf457 1154 PBI-JFK 15:10-18:07 144 A320 open ? - 15:10-18:07 +0 N793JB - -\nf458 2494 DCA-ACK 15:10-16:44 73 E190 open ? - 15:10-16:44 +0 N337JB - -\nf459 2054 SJU-FLL 15:14-18:10 142 A320 open ? - 15:14-18:10 +0 N651JB - -\nf460 19 BOS-SAN 15:15-21:48 148 A321P open ? - 15:15-21:48 +0 N923JB - -\nf461 620 SAN-BOS 15:15-20:50 185 A321 open ? - 15:15-20:50 +0 N952JB - -\nf462 1815 SYR-JFK 15:17-16:34 76 E190 open ? - 15:17-16:34 +0 N279JB - -\nf463 410 ACK-LGA 15:18-16:33 51 E190 open ? - 15:18-16:33 +0 N247JB - -\nf464 2884 MCO-JFK 15:19-18:10 128 A320 open ? - 15:19-18:10 +0 N520JB - -\nf465 1147 BOS-SAV 15:20-18:01 82 E190 open ? - 15:20-18:01 +0 N203JB - -\nf466 448 LAS-JFK 15:21-20:30 170 A321 open ? - 15:21-20:30 +0 N996JL - -\nf467 835 BOS-MSP 15:25-18:47 126 A220 open ? - 15:25-18:47 +0 N3121J - -\nf468 2016 BUF-BOS 15:27-16:48 90 E190 open ? - 15:27-16:48 +0 N306JB - -\nf469 623 JFK-LAX 15:30-21:58 140 A321P open ? - 15:34-22:02 +4 N990JL - -\nf470 1254 DCA-BOS 15:30-17:10 93 E190 open ? - 15:30-17:10 +0 N354JB - -\nf471 1518 JFK-BOS 15:30-16:58 80 E190 open ? - 15:30-16:58 +0 N187JB - -\nf472 1677 JFK-JAX 15:30-18:11 138 A320 open ? - 15:30-18:11 +0 N662JB - -\nf473 1719 JFK-ATL 15:30-18:11 131 A321P open ? - 15:37-18:18 +7 N991JT - -\nf474 2259 BOS-PHL 15:30-17:07 84 E190 open ? - 15:30-17:07 +0 N190JB - -\nf475 2380 EWR-BOS 15:30-16:43 76 E190 open ? - 15:30-16:43 +0 N304JB - -\nf476 1319 BOS-MIA 15:33-18:58 127 A320 open ? - 15:33-18:58 +0 N517JB - -\nf477 2060 RSW-LGA 15:34-18:30 136 A320 open ? - 15:34-18:30 +0 N562JB - -\nf478 193 JFK-MCO 15:35-18:43 128 A320 open ? - 15:35-18:43 +0 N706JB - -\nf479 942 LAX-RNO 15:35-17:05 120 A320 open ? - 15:35-17:05 +0 N508JL - -\nf480 1150 ATL-BOS 15:35-18:19 92 E190 open ? - 15:35-18:19 +0 N273JB - -\nf481 119 ALB-MCO 15:36-18:40 138 A320 open ? - 15:36-18:40 +0 N580JB - -\nf482 416 SFO-JFK 15:43-21:20 150 A321P open ? - 15:43-21:20 +0 N984JB - -\nf483 369 BOS-FLL 15:45-19:12 181 A321 open ? - 15:45-19:12 +0 N994JL - -\nf484 2666 HPN-MVY 15:45-16:43 33 E190 open ? - 15:45-16:43 +0 N307JB - -\nf485 524 LAX-JFK 15:48-21:19 150 A321P open ? - 15:48-21:19 +0 N977JE - -\nf486 615 JFK-SFO 15:50-22:52 137 A321P open ? - 15:50-22:52 +0 N993JE - -\nf487 1133 MCO-SJU 15:50-18:40 180 A321 open ? - 15:50-18:40 +0 N957JB - -\nf488 1475 BDL-SJU 15:54-19:46 146 A320 open ? - 15:54-19:46 +0 N531JL - -\nf489 636 SJU-MCO 15:55-19:15 144 A320 open ? - 15:55-19:15 +0 N589JB - -\nf490 940 SRQ-BOS 15:55-19:14 96 E190 open ? - 15:55-19:14 +0 N265JB - -\nf491 931 BOS-MSY 15:56-19:45 128 A320 open ? - 15:56-19:45 +0 N506JB - -\nf492 433 BTV-JFK 15:58-17:24 82 E190 open ? - 15:58-17:24 +0 N179JB - -\nf493 105 JFK-ORD 15:59-18:57 85 E190 open ? - 15:59-18:57 +0 N339JB - -\nf494 802 SLC-MCO 16:00-20:27 150 A320 open ? - 16:00-20:27 +0 N661JB - -\nf495 1026 BWI-BOS 16:00-17:30 89 E190 open ? - 16:00-17:30 +0 N236JB - -\nf496 1031 BOS-LGA 16:00-17:27 79 E190 open ? - 16:00-17:27 +0 N324JB - -\nf497 1037 BOS-DTW 16:00-18:16 92 E190 open ? - 16:00-18:16 +0 N323JB - -\nf498 1355 BOS-DCA 16:00-17:47 91 E190 open ? - 16:00-17:47 +0 N281JB - -\nf499 1579 DCA-FLL 16:00-18:49 147 A320 open ? - 16:00-18:49 +0 N834JB - -\nf500 1826 SAT-JFK 16:00-20:00 145 A320 open ? - 16:00-20:00 +0 N665JB - -\nf501 1252 RSW-HPN 16:01-19:00 141 A320 open ? - 16:01-19:00 +0 N646JB - -\nf502 2093 JFK-PBI 16:05-19:16 133 A320 open ? - 16:05-19:16 +0 N526JL - -\nf503 2102 FLL-JFK 16:06-19:10 144 A320 open ? - 16:06-19:10 +0 N712JB - -\nf504 2766 LGA-HYA 16:08-17:18 58 E190 open ? - 16:08-17:18 +0 N183JB - -\nf505 1116 DEN-LGA 16:10-20:00 141 A320 open ? - 16:10-20:00 +0 N587JB - -\nf506 1352 BOS-ACK 16:10-17:01 73 E190 open ? - 16:10-17:01 +0 N193JB - -\nf507 720 ATL-JFK 16:14-18:38 140 A320 open ? - 16:14-18:38 +0 N655JB - -\nf508 1865 BOS-RSW 16:14-19:51 174 A321 open ? - 16:14-19:51 +0 N907JB - -\nf509 2073 EWR-LAX 16:14-22:30 140 A321P open ? - 16:14-22:30 +0 N946JL - -\nf510 458 BUR-JFK 16:15-21:42 117 A320 open ? - 16:15-21:42 +0 N638JB - -\nf511 656 MCO-SYR 16:15-19:02 143 A320 open ? - 16:15-19:02 +0 N510JB - -\nf512 1032 LGA-BOS 16:15-17:35 78 E190 open ? - 16:15-17:35 +0 N284JB - -\nf513 1341 BOS-TPA 16:15-19:40 182 A321 open ? - 16:15-19:40 +0 N905JB - -\nf514 1271 ORH-JFK 16:16-17:18 55 E190 open ? - 16:16-17:18 +0 N198JB - -\nf515 181 FLL-BNA 16:20-18:45 150 A320 open ? - 16:20-18:45 +0 N564JB - -\nf516 1448 LAS-JFK 16:20-21:29 170 A321 open ? - 16:20-21:29 +0 N948JB - -\nf517 1482 RIC-BOS 16:20-18:04 88 E190 open ? - 16:20-18:04 +0 N358JB - -\nf518 1780 FLL-DCA 16:21-18:58 90 E190 open ? - 16:21-18:58 +0 N206JB - -\nf519 2748 SAV-LGA 16:24-18:35 139 A320 open ? - 16:24-18:35 +0 N536JB - -\nf520 2648 CHS-HPN 16:27-18:30 84 A320 open ? - 16:27-18:30 +0 N656JB - -\nf521 2654 DCA-BOS 16:30-18:10 93 E190 open ? - 16:30-18:10 +0 N229JB - -\nf522 24 MCO-DCA 16:35-18:58 131 A320 open ? - 16:35-18:58 +0 N592JB - -\nf523 383 JFK-MCO 16:35-19:39 171 A321 open ? - 16:35-19:39 +0 N998JE - -\nf524 301 BUF-JFK 16:37-18:03 88 E190 open ? - 16:37-18:03 +0 N355JB - -\nf525 341 JFK-SAV 16:40-19:07 83 E190 open ? - 16:40-19:07 +0 N228JB - -\nf526 2669 LGA-CHS 16:40-18:55 99 A320 open ? - 16:40-18:55 +0 N657JB - -\nf527 621 BOS-LAX 16:45-23:22 138 A321P open ? - 16:45-23:22 +0 N961JT - -\nf528 1745 BOS-CLT 16:45-19:12 88 E190 open ? - 16:45-19:12 +0 N267JB - -\nf529 2613 ATL-LGA 16:49-19:14 148 A320 open ? - 16:49-19:14 +0 N554JB - -\nf530 606 FLL-EWR 16:52-20:00 150 A320 open ? - 16:52-20:00 +0 N635JB - -\nf531 207 BNA-BOS 16:54-19:30 129 A220 open ? - 16:54-19:30 +0 N3065J - -\nf532 975 BOS-MCO 16:54-20:10 178 A321 open ? - 16:54-20:10 +0 N950JT - -\nf533 624 LAX-JFK 16:55-22:27 150 A321P open ? - 16:55-22:27 +0 N989JT - -\nf534 920 MCO-RIC 16:55-18:59 83 E190 open ? - 16:55-18:59 +0 N184JB - -\nf535 2993 JFK-MIA 16:56-20:14 137 A320 open ? - 16:56-20:14 +0 N618JB - -\nf536 904 SJU-JFK 16:58-21:03 144 A320 open ? - 16:58-21:03 +0 N606JB - -\nf537 263 JFK-SEA 16:59-23:39 132 A321P open ? - 17:29-00:09+1 +30 N962JT - -\nf538 915 BOS-SMF 16:59-23:26 121 A320 open ? - 16:59-23:26 +0 N516JB - -\nf539 2273 EWR-TPA 16:59-20:00 148 A320 open ? - 16:59-20:00 +0 N523JB - -\nf540 2339 LGA-JAX 16:59-19:44 128 A320 open ? - 16:59-19:44 +0 N588JB - -\nf541 971 BOS-SJC 17:00-23:43 108 A220 open ? - 17:00-23:43 +0 N3104J - -\nf542 1075 PVD-MCO 17:00-20:05 147 A320 open ? - 17:00-20:05 +0 N597JB - -\nf543 1231 BOS-LGA 17:00-18:25 79 E190 open ? - 17:00-18:25 +0 N216JB - -\nf544 2055 BOS-DCA 17:00-18:47 91 E190 open ? - 17:00-18:47 +0 N274JB - -\nf545 2129 JFK-RSW 17:00-20:20 86 E190 open ? - 17:00-20:20 +0 N266JB - -\nf546 2614 LGA-ATL 17:00-19:39 177 A321 open ? - 17:00-19:39 +0 N2039J - -\nf547 2901 JFK-FLL 17:00-20:23 171 A321 open ? - 17:00-20:23 +0 N965JT - -\nf548 101 FLL-LAX 17:03-22:50 145 A321P open ? - 17:03-22:50 +0 N944JT - -\nf549 1348 SJU-DCA 17:03-21:00 140 A320 open ? - 17:03-21:00 +0 N789JB - -\nf550 166 RSW-BOS 17:05-20:21 186 A321 open ? - 17:05-20:21 +0 N955JB - -\nf551 1374 LAX-EWR 17:07-22:29 151 A321P open ? - 17:07-22:29 +0 N947JB - -\nf552 1586 MCO-BUF 17:09-19:56 144 A320 open ? - 17:09-19:56 +0 N524JB - -\nf553 2810 TPA-LGA 17:09-20:00 150 A320 open ? - 17:09-20:00 +0 N612JB - -\nf554 225 JFK-TPA 17:15-20:19 143 A320 open ? - 17:15-20:19 +0 N708JB - -\nf555 1131 CHS-FLL 17:15-18:56 118 A320 open ? - 17:15-18:56 +0 N519JB - -\nf556 1132 LGA-BOS 17:15-18:42 78 E190 open ? - 17:15-18:42 +0 N247JB - -\nf557 502 JAX-BOS 17:16-19:57 89 E190 open ? - 17:16-19:57 +0 N239JB - -\nf558 571 LGA-FLL 17:17-20:29 142 A320 open ? - 17:17-20:29 +0 N644JB - -\nf559 1152 MCO-BOS 17:18-20:28 140 A320 open ? - 17:18-20:28 +0 N636JB - -\nf560 192 ACK-JFK 17:19-18:29 45 E190 open ? - 17:19-18:29 +0 N337JB - -\nf561 73 JFK-BNA 17:20-19:57 85 E190 open ? - 17:20-19:57 +0 N317JB - -\nf562 128 MCO-EWR 17:20-20:21 145 A320 open ? - 17:20-20:21 +0 N552JB - -\nf563 419 JFK-ATL 17:20-19:54 134 A320 open ? - 17:20-19:54 +0 N547JB - -\nf564 190 SAN-JFK 17:25-22:51 185 A321 open ? - 17:25-22:51 +0 N2043J - -\nf565 806 LAX-SEA 17:25-20:15 121 A320 open ? - 17:25-20:15 +0 N624JB - -\nf566 1274 CHS-JFK 17:25-19:24 86 E190 open ? - 17:25-19:24 +0 N329JB - -\nf567 422 MSY-JFK 17:26-20:33 139 A320 open ? - 17:26-20:33 +0 N590JB - -\nf568 2983 JFK-MCO 17:29-20:29 139 A320 open ? - 17:29-20:29 +0 N729JB - -\nf569 613 HPN-MCO 17:30-20:28 130 A320 open ? - 17:30-20:28 +0 N565JB - -\nf570 1225 MVY-BOS 17:30-18:20 38 E190 open ? - 17:30-18:20 +0 N307JB - -\nf571 2736 LAX-SFO 17:30-18:53 127 A320 open ? - 17:30-18:53 +0 N625JB - -\nf572 534 SFO-BOS 17:33-23:12 149 A321P open ? - 17:33-23:12 +0 N987JT - -\nf573 1185 JFK-RDU 17:35-19:28 88 E190 open ? - 17:35-19:28 +0 N279JB - -\nf574 29 FLL-SAN 17:40-23:14 149 A320 open ? - 17:40-23:14 +0 N766JB - -\nf575 592 TPA-BOS 17:40-20:57 124 A220 open ? - 17:40-20:57 +0 N3058J - -\nf576 2119 ORH-FLL 17:40-20:52 124 A320 open ? - 17:40-20:52 +0 N828JB - -\nf577 2460 PHL-BOS 17:42-19:14 83 E190 open ? - 17:42-19:14 +0 N190JB - -\nf578 1979 DCA-FLL 17:45-20:29 147 A320 open ? - 17:45-20:29 +0 N593JB - -\nf579 2618 FLL-JAX 17:49-19:14 107 A320 open ? - 17:49-19:14 +0 N507JT - -\nf580 641 BOS-CLE 17:50-19:55 92 E190 open ? - 17:50-19:55 +0 N304JB - -\nf581 777 BOS-LAS 17:50-23:58 171 A321 open ? - 17:50-23:58 +0 N999JQ - -\nf582 943 RNO-LAX 17:50-19:22 108 A320 open ? - 17:50-19:22 +0 N508JL - -\nf583 1120 DTW-JFK 17:50-19:40 82 E190 open ? - 17:50-19:40 +0 N368JB - -\nf584 1799 LGA-MCO 17:50-20:53 145 A320 open ? - 17:50-20:53 +0 N534JB - -\nf585 2053 JFK-PBI 17:50-21:01 133 A320 open ? - 17:50-21:01 +0 N583JB - -\nf586 2185 BOS-PIT 17:50-19:42 93 E190 open ? - 17:50-19:42 +0 N306JB - -\nf587 823 JFK-LAX 17:55-00:21+1 140 A321P open ? - 19:40-02:06+1 +105 N929JB - -\nf588 1196 FLL-PVD 17:55-21:05 150 A320 open ? - 17:55-21:05 +0 N652JB - -\nf589 33 BOS-SFO 17:56-00:58+1 141 A321P open ? - 17:56-00:58+1 +0 N979JT - -\nf590 472 FLL-LGA 17:58-21:04 138 A320 open ? - 17:58-21:04 +0 N504JB - -\nf591 2765 HYA-LGA 17:58-19:15 45 E190 open ? - 17:58-19:15 +0 N183JB - -\nf592 1186 JFK-ROC 17:59-19:24 82 E190 open ? - 17:59-19:24 +0 N348JB - -\nf593 1918 JFK-BOS 17:59-19:28 80 E190 open ? - 17:59-19:28 +0 N198JB - -\nf594 2202 FLL-JFK 17:59-21:00 144 A320 open ? - 17:59-21:00 +0 N632JB - -\nf595 37 BDL-MCO 18:00-20:59 147 A320 open ? - 18:00-20:59 +0 N535JB - -\nf596 1331 BOS-LGA 18:00-19:30 79 E190 open ? - 18:00-19:30 +0 N187JB - -\nf597 1733 DCA-PBI 18:00-20:41 91 E190 open ? - 18:00-20:41 +0 N328JB - -\nf598 2255 BOS-DCA 18:00-19:49 91 E190 open ? - 18:00-19:49 +0 N354JB - -\nf599 95 BOS-PDX 18:03-00:42+1 124 A220 open ? - 18:03-00:42+1 +0 N3125J - -\nf600 616 SFO-JFK 18:03-23:39 150 A321P open ? - 18:03-23:39 +0 N937JB - -\nf601 164 SRQ-JFK 18:07-20:59 149 A320 open ? - 18:07-20:59 +0 N569JB - -\nf602 68 CHS-BOS 18:10-20:32 90 E190 open ? - 18:10-20:32 +0 N375JB - -\nf603 148 LAS-JFK 18:10-23:09 135 A321P open ? - 18:10-23:09 +0 N983JT - -\nf604 188 LAX-BOS 18:10-23:37 150 A321P open ? - 18:10-23:37 +0 N986JB - -\nf605 1294 MCO-HPN 18:10-21:00 123 A320 open ? - 18:10-21:00 +0 N709JB - -\nf606 1303 BOS-PHX 18:11-00:08+1 166 A321 open ? - 18:11-00:08+1 +0 N973JT - -\nf607 1232 LGA-BOS 18:15-19:37 78 E190 open ? - 18:15-19:37 +0 N324JB - -\nf608 2127 BOS-BWI 18:15-19:52 86 E190 open ? - 18:15-19:52 +0 N236JB - -\nf609 2188 BNA-LGA 18:15-20:35 131 A320 open ? - 18:15-20:35 +0 N746JB - -\nf610 1284 MCO-JFK 18:16-21:09 171 A321 open ? - 18:16-21:09 +0 N913JB - -\nf611 669 JFK-SJC 18:19-00:59+1 128 A320 open ? - 18:19-00:59+1 +0 N827JB - -\nf612 1211 JFK-LAS 18:20-00:18+1 166 A321 open ? - 18:20-00:18+1 +0 N2086J - -\nf613 1453 FLL-SJU 18:20-20:53 149 A320 open ? - 18:20-20:53 +0 N623JB - -\nf614 928 SAN-BOS 18:22-23:57 185 A321 open ? - 18:22-23:57 +0 N903JB - -\nf615 1880 FLL-DCA 18:23-20:59 145 A320 open ? - 18:23-20:59 +0 N760JB - -\nf616 2230 MKE-BOS 18:24-20:40 125 A220 open ? - 18:24-20:40 +0 N3023J - -\nf617 275 BDL-SJU 18:25-22:17 146 A320 open ? - 18:25-22:17 +0 N579JB - -\nf618 1524 LAX-JFK 18:26-23:57 151 A321P open ? - 18:26-23:57 +0 N968JT - -\nf619 1734 SFO-BOS 18:27-00:12+1 149 A321P open ? - 18:27-00:12+1 +0 N935JB - -\nf620 161 JFK-SMF 18:30-01:00+1 185 A321 open ? - 18:30-01:00+1 +0 N995JL - -\nf621 187 BOS-LAX 18:30-01:16+1 138 A321P open ? - 18:30-01:16+1 +0 N967JT - -\nf622 1419 JFK-DTW 18:30-20:41 80 E190 open ? - 18:30-20:41 +0 N179JB - -\nf623 1834 TPA-JFK 18:30-21:20 91 E190 open ? - 18:30-21:20 +0 N197JB - -\nf624 2754 DCA-BOS 18:30-20:11 93 E190 open ? - 18:30-20:11 +0 N281JB - -\nf625 1454 SJU-FLL 18:35-21:21 175 A321 open ? - 18:35-21:21 +0 N956JT - -\nf626 2534 PBI-DCA 18:36-20:59 92 E190 open ? - 18:36-20:59 +0 N283JB - -\nf627 798 MCO-LGA 18:39-21:29 146 A320 open ? - 18:39-21:29 +0 N649JB - -\nf628 1262 PBI-LGA 18:39-21:29 144 A320 open ? - 18:39-21:29 +0 N630JB - -\nf629 1148 SAV-BOS 18:42-21:10 93 E190 open ? - 18:42-21:10 +0 N203JB - -\nf630 694 AUS-JFK 18:43-22:29 134 A320 open ? - 18:43-22:29 +0 N804JB - -\nf631 2 JFK-BUF 18:45-20:19 88 E190 open ? - 18:45-20:19 +0 N355JB - -\nf632 451 BOS-MCO 18:45-22:00 144 A320 open ? - 18:45-22:00 +0 N561JB - -\nf633 1920 MSY-LGA 18:48-21:59 129 A320 open ? - 18:48-21:59 +0 N556JB - -\nf634 178 LAS-BOS 18:49-23:56 168 A321 open ? - 18:49-23:56 +0 N954JB - -\nf635 783 BOS-RDU 18:50-20:58 89 E190 open ? - 18:50-20:58 +0 N284JB - -\nf636 872 SLC-JFK 18:50-23:14 141 A320 open ? - 18:50-23:14 +0 N807JB - -\nf637 1142 PBI-BDL 18:50-21:43 144 A320 open ? - 18:50-21:43 +0 N503JB - -\nf638 1484 RDU-BOS 18:50-20:49 91 E190 open ? - 18:50-20:49 +0 N231JB - -\nf639 277 FLL-SFO 18:51-01:30+1 140 A321P open ? - 18:51-01:30+1 +0 N934JB - -\nf640 87 ALB-FLL 18:53-22:01 141 A320 open ? - 18:53-22:01 +0 N509JB - -\nf641 197 BOS-SEA 18:55-01:33+1 144 A321P open ? - 18:55-01:33+1 +0 N945JT - -\nf642 947 BOS-BNA 18:55-21:51 128 A220 open ? - 18:55-21:51 +0 N3113J - -\nf643 2583 JFK-MCO 18:55-21:49 128 A320 open ? - 18:55-21:49 +0 N806JB - -\nf644 1678 JAX-JFK 18:56-21:18 148 A320 open ? - 18:56-21:18 +0 N662JB - -\nf645 2122 ACK-HPN 18:56-20:00 55 E190 open ? - 18:56-20:00 +0 N193JB - -\nf646 843 PBI-EWR 18:59-21:58 145 A320 open ? - 18:59-21:58 +0 N527JL - -\nf647 1136 DTW-BOS 18:59-20:56 90 E190 open ? - 18:59-20:56 +0 N323JB - -\nf648 355 JFK-ONT 19:00-01:12+1 174 A321 open ? - 19:00-01:12+1 +0 N2102J - -\nf649 955 BOS-DCA 19:00-20:47 91 E190 open ? - 19:00-20:47 +0 N358JB - -\nf650 1168 PBI-HPN 19:00-21:56 148 A320 open ? - 19:00-21:56 +0 N621JB - -\nf651 1289 EWR-SJU 19:00-22:55 146 A320 open ? - 19:00-22:55 +0 N558JB - -\nf652 1431 BOS-LGA 19:00-20:27 79 E190 open ? - 19:00-20:27 +0 N273JB - -\nf653 2364 MCI-BOS 19:00-22:03 132 A220 open ? - 19:00-22:03 +0 N3123J - -\nf654 1320 ATL-JFK 19:03-21:29 138 A321P open ? - 19:28-21:54 +25 N991JT - -\nf655 71 JFK-SLC 19:05-00:36+1 143 A320 open ? - 19:05-00:36+1 +0 N571JB - -\nf656 548 TPA-HPN 19:05-22:00 145 A320 open ? - 19:05-22:00 +0 N805JB - -\nf657 828 MCO-EWR 19:05-21:59 134 A320 open ? - 19:05-21:59 +0 N703JB - -\nf658 2017 BOS-JFK 19:05-20:31 84 E190 open ? - 19:05-20:31 +0 N307JB - -\nf659 248 SLC-BOS 19:10-23:42 117 A220 open ? - 19:10-23:42 +0 N3102J - -\nf660 1332 LGA-BOS 19:15-20:36 78 E190 open ? - 19:15-20:36 +0 N216JB - -\nf661 2404 SJU-JFK 19:19-23:24 144 A320 open ? - 19:19-23:24 +0 N608JB - -\nf662 153 DEN-LGA 19:23-23:15 141 A320 open ? - 19:23-23:15 +0 N637JB - -\nf663 1005 JFK-PDX 19:29-01:58+1 130 A320 open ? - 19:29-01:58+1 +0 N793JB - -\nf664 182 BNA-FLL 19:30-21:45 134 A320 open ? - 19:30-21:45 +0 N564JB - -\nf665 345 HPN-FLL 19:30-22:30 144 A320 open ? - 19:30-22:30 +0 N656JB - -\nf666 1761 LGA-PBI 19:30-22:28 138 A320 open ? - 19:30-22:28 +0 N562JB - -\nf667 2061 LGA-RSW 19:30-22:54 113 A320 open ? - 19:30-22:54 +0 N536JB - -\nf668 2354 DCA-BOS 19:30-21:05 93 E190 open ? - 19:30-21:05 +0 N274JB - -\nf669 2459 BOS-PHL 19:30-21:03 84 E190 open ? - 19:30-21:03 +0 N247JB - -\nf670 919 RIC-MCO 19:34-21:34 83 E190 open ? - 19:34-21:34 +0 N184JB - -\nf671 65 JFK-ABQ 19:35-00:45+1 150 A320 open ? - 19:35-00:45+1 +0 N520JB - -\nf672 1106 ORD-JFK 19:35-22:00 89 E190 open ? - 19:35-22:00 +0 N339JB - -\nf673 1124 LAX-JFK 19:35-01:05+1 150 A321P open ? - 19:35-01:05+1 +0 N981JT - -\nf674 2319 FLL-SLC 19:35-00:57+1 145 A320 open ? - 19:35-00:57+1 +0 N643JB - -\nf675 775 JFK-LAS 19:40-01:45+1 132 A321P open ? - 20:24-02:29+1 +44 N964JT - -\nf676 1282 MCO-BOS 19:40-22:46 130 A320 open ? - 19:40-22:46 +0 N705JB - -\nf677 342 SAV-JFK 19:43-21:54 82 E190 open ? - 19:43-21:54 +0 N228JB - -\nf678 836 MSP-BOS 19:44-22:35 133 A220 open ? - 19:44-22:35 +0 N3121J - -\nf679 898 SJU-BOS 19:44-23:59 164 A321 open ? - 19:44-23:59 +0 N2084J - -\nf680 932 IAH-BOS 19:44-23:32 131 A220 open ? - 19:44-23:32 +0 N3077J - -\nf681 2670 CHS-LGA 19:44-21:49 116 A320 open ? - 19:44-21:49 +0 N657JB - -\nf682 535 SFO-LAX 19:45-21:13 129 A320 open ? - 19:45-21:13 +0 N625JB - -\nf683 1720 MIA-BOS 19:45-23:04 130 A320 open ? - 19:45-23:04 +0 N517JB - -\nf684 135 JFK-PHX 19:50-01:40+1 165 A321 open ? - 19:50-01:40+1 +0 N2059J - -\nf685 1746 CLT-BOS 19:55-22:19 88 E190 open ? - 19:55-22:19 +0 N267JB - -\nf686 1873 EWR-LAX 19:55-02:12+1 140 A321P open ? - 19:55-02:12+1 +0 N943JT - -\nf687 2501 FLL-LAX 19:55-01:48+1 145 A321P open ? - 19:55-01:48+1 +0 N992JB - -\nf688 655 SYR-MCO 19:57-22:45 115 A320 open ? - 19:57-22:45 +0 N510JB - -\nf689 715 BOS-BUF 19:59-21:33 90 E190 open ? - 19:59-21:33 +0 N190JB - -\nf690 845 BOS-SYR 19:59-21:14 79 E190 open ? - 19:59-21:14 +0 N265JB - -\nf691 1017 JAX-FLL 19:59-21:19 107 A320 open ? - 19:59-21:19 +0 N507JT - -\nf692 2514 LGA-ATL 19:59-22:26 143 A320 open ? - 19:59-22:26 +0 N521JB - -\nf693 97 JFK-DEN 20:00-00:54+1 146 A320 open ? - 20:00-00:54+1 +0 N584JB - -\nf694 283 JFK-MCO 20:00-22:56 171 A321 open ? - 20:00-22:56 +0 N2027J - -\nf695 714 MCO-HPN 20:00-22:54 123 A320 open ? - 20:00-22:54 +0 N821JB - -\nf696 1382 LGA-PWM 20:00-21:18 87 E190 open ? - 20:00-21:18 +0 N183JB - -\nf697 1501 JFK-FLL 20:00-23:22 138 A320 open ? - 20:00-23:22 +0 N586JB - -\nf698 2523 DCA-MCO 20:00-22:19 88 E190 open ? - 20:00-22:19 +0 N206JB - -\nf699 131 MCO-LAX 20:05-01:40+1 142 A320 open ? - 20:05-01:40+1 +0 N580JB - -\nf700 293 BOS-DEN 20:05-00:54+1 128 A220 open ? - 20:05-00:54+1 +0 N3118J - -\nf701 391 BOS-TPA 20:05-23:21 182 A321 open ? - 20:05-23:21 +0 N975JT - -\nf702 2193 JFK-MIA 20:05-23:25 137 A320 open ? - 20:05-23:25 +0 N655JB - -\nf703 1285 ROC-JFK 20:08-21:29 82 E190 open ? - 20:08-21:29 +0 N348JB - -\nf704 386 RDU-JFK 20:10-21:54 89 E190 open ? - 20:10-21:54 +0 N279JB - -\nf705 572 FLL-LGA 20:10-23:12 149 A320 open ? - 20:10-23:12 +0 N651JB - -\nf706 541 BOS-CLE 20:14-22:15 92 E190 open ? - 20:14-22:15 +0 N198JB - -\nf707 460 FLL-BDL 20:15-23:23 149 A320 open ? - 20:15-23:23 +0 N775JB - -\nf708 1432 LGA-BOS 20:15-21:34 78 E190 open ? - 20:15-21:34 +0 N187JB - -\nf709 1903 JFK-SJU 20:15-00:20+1 179 A321 open ? - 21:25-01:30+1 +70 N996JL - -\nf710 2092 PBI-JFK 20:15-23:00 144 A320 open ? - 20:15-23:00 +0 N526JL - -\nf711 2626 FLL-RDU 20:15-22:27 117 A320 open ? - 20:15-22:27 +0 N834JB - -\nf712 998 MCO-LGA 20:20-23:11 136 A320 open ? - 20:20-23:11 +0 N706JB - -\nf713 1732 LAX-SLC 20:20-22:12 139 A320 open ? - 20:20-22:12 +0 N508JL - -\nf714 607 FLL-LAS 20:22-01:48+1 183 A321 open ? - 20:22-01:48+1 +0 N994JL - -\nf715 914 FLL-HPN 20:24-23:29 146 A320 open ? - 20:24-23:29 +0 N519JB - -\nf716 317 BOS-JFK 20:25-21:44 84 E190 open ? - 20:25-21:44 +0 N324JB - -\nf717 2133 MCO-SJU 20:25-23:13 135 A320 open ? - 20:25-23:13 +0 N763JB - -\nf718 2186 PIT-BOS 20:25-22:00 92 E190 open ? - 20:25-22:00 +0 N306JB - -\nf719 499 LGA-MCO 20:29-23:26 134 A320 open ? - 20:29-23:26 +0 N554JB - -\nf720 930 MSY-BOS 20:30-23:59 131 A320 open ? - 20:30-23:59 +0 N506JB - -\nf721 1267 HPN-PBI 20:30-23:17 133 A320 open ? - 20:30-23:17 +0 N646JB - -\nf722 2854 DCA-BOS 20:30-22:04 93 E190 open ? - 20:30-22:04 +0 N354JB - -\nf723 1134 SJU-MCO 20:31-23:39 144 A320 open ? - 20:31-23:39 +0 N531JL - -\nf724 874 BNA-JFK 20:34-22:59 77 E190 open ? - 20:34-22:59 +0 N317JB - -\nf725 640 CLE-BOS 20:35-22:15 88 E190 open ? - 20:35-22:15 +0 N304JB - -\nf726 726 BWI-BOS 20:35-22:01 89 E190 open ? - 20:35-22:01 +0 N236JB - -\nf727 2513 ATL-LGA 20:35-22:59 182 A321 open ? - 20:35-22:59 +0 N2039J - -\nf728 1876 MCO-PVD 20:39-23:28 144 A320 open ? - 20:39-23:28 +0 N589JB - -\nf729 170 FLL-BOS 20:40-23:57 146 A320 open ? - 20:40-23:57 +0 N796JB - -\nf730 67 BDL-LAX 20:45-02:59+1 132 A320 open ? - 20:45-02:59+1 +0 N639JB - -\nf731 561 BOS-SJU 20:45-00:46+1 171 A321 open ? - 20:45-00:46+1 +0 N971JT - -\nf732 1295 JFK-AUS 20:45-00:59+1 137 A320 open ? - 20:45-00:59+1 +0 N712JB - -\nf733 2385 BOS-PIT 20:45-22:32 93 E190 open ? - 20:45-22:32 +0 N239JB - -\nf734 2752 SJU-TPA 20:45-23:49 179 A321 open ? - 20:45-23:49 +0 N957JB - -\nf735 2886 MIA-LAX 20:49-02:55+1 142 A321P open ? - 20:49-02:55+1 +0 N2105J - -\nf736 138 MCO-BDL 20:50-23:35 143 A320 open ? - 20:50-23:35 +0 N597JB - -\nf737 384 MCO-JFK 20:50-23:33 171 A321 open ? - 20:50-23:33 +0 N998JE - -\nf738 1340 TPA-BOS 20:50-23:59 178 A321 open ? - 20:50-23:59 +0 N905JB - -\nf739 305 EWR-FLL 20:55-23:57 144 A320 open ? - 20:55-23:57 +0 N598JB - -\nf740 471 LGA-FLL 20:55-23:54 142 A320 open ? - 20:55-23:54 +0 N587JB - -\nf741 506 FLL-EWR 20:55-23:57 150 A320 open ? - 21:14-00:16+1 +19 N593JB - -\nf742 1387 BOS-LAX 20:55-03:32+1 139 A321P open ? - 20:55-03:32+1 +0 N942JB - -\nf743 2512 TPA-SJU 20:55-23:48 150 A320 open ? - 20:55-23:48 +0 N523JB - -\nf744 381 BOS-RIC 20:56-22:42 86 E190 open ? - 20:56-22:42 +0 N281JB - -\nf745 1520 ATL-JFK 20:56-23:23 140 A320 open ? - 20:56-23:23 +0 N547JB - -\nf746 89 JFK-SAN 20:59-03:22+1 134 A321P open ? - 21:00-03:23+1 +1 N978JB - -\nf747 201 BUF-JFK 20:59-22:23 88 E190 open ? - 20:59-22:23 +0 N355JB - -\nf748 333 BOS-SFO 20:59-03:51+1 141 A321P open ? - 20:59-03:51+1 +0 N2142J - -\nf749 839 JFK-BQN 20:59-00:53+1 141 A320 open ? - 20:59-00:53+1 +0 N559JB - -\nf750 883 JFK-MCO 20:59-23:51 139 A320 open ? - 20:59-23:51 +0 N665JB - -\nf751 1530 RSW-JFK 20:59-23:52 84 E190 open ? - 20:59-23:52 +0 N266JB - -\nf752 1766 RSW-BOS 20:59-00:08+1 186 A321 open ? - 20:59-00:08+1 +0 N907JB - -\nf753 1827 EWR-MCO 20:59-23:50 147 A320 open ? - 20:59-23:50 +0 N529JB - -\nf754 2892 MIA-JFK 20:59-23:59 142 A320 open ? - 20:59-23:59 +0 N618JB - -\nf755 815 JFK-SFO 21:00-03:44+1 137 A321P open ? - 21:30-04:14+1 +30 N976JT - -\nf756 2519 LGA-MSY 21:00-00:20+1 122 A320 open ? - 21:00-00:20+1 +0 N612JB - -\nf757 807 SEA-LAX 21:05-23:36 110 A320 open ? - 21:05-23:36 +0 N624JB - -\nf758 226 TPA-JFK 21:15-23:52 148 A320 open ? - 21:15-23:52 +0 N708JB - -\nf759 1277 JFK-JAX 21:19-23:59 138 A320 open ? - 21:19-23:59 +0 N590JB - -\nf760 568 FLL-ATL 21:20-23:17 121 A320 open ? - 21:20-23:17 +0 N644JB - -\nf761 976 MCO-BOS 21:20-00:17+1 173 A321 open ? - 21:20-00:17+1 +0 N950JT - -\nf762 1237 BOS-DTW 21:20-23:30 92 E190 open ? - 21:20-23:30 +0 N375JB - -\nf763 1080 LAX-LAS 21:25-22:38 110 A320 open ? - 21:25-22:38 +0 N640JB - -\nf764 47 LGA-TPA 21:30-00:28+1 134 A320 open ? - 21:30-00:28+1 +0 N746JB - -\nf765 321 BOS-PBI 21:30-00:40+1 135 A320 open ? - 21:30-00:40+1 +0 N636JB - -\nf766 1823 JFK-LAX 21:30-03:56+1 140 A321P open ? - 22:29-04:55+1 +59 N977JE - -\nf767 1802 FLL-JFK 21:35-00:26+1 177 A321 open ? - 21:35-00:26+1 +0 N965JT - -\nf768 713 BOS-ROC 21:45-23:09 79 E190 open ? - 21:45-23:09 +0 N216JB - -\nf769 2601 JFK-FLL 21:45-00:57+1 138 A320 open ? - 21:45-00:57+1 +0 N569JB - -\nf770 767 MCO-PSE 21:50-00:34+1 143 A320 open ? - 21:50-00:34+1 +0 N661JB - -\nf771 635 MCO-SJU 21:55-00:39+1 146 A320 open ? - 21:55-00:39+1 +0 N565JB - -\nf772 536 LAX-SFO 21:59-23:20 127 A320 open ? - 21:59-23:20 +0 N625JB - -\nf773 745 JFK-PSE 21:59-02:05+1 123 A320 open ? - 21:59-02:05+1 +0 N632JB - -\nf774 1181 JFK-SJU 21:59-01:58+1 145 A320 open ? - 21:59-01:58+1 +0 N606JB - -\nf775 1385 JFK-RDU 21:59-23:44 88 E190 open ? - 21:59-23:44 +0 N337JB - -\nf776 2516 JFK-SYR 21:59-23:19 85 E190 open ? - 21:59-23:19 +0 N329JB - -\nf777 918 JFK-BOS 22:29-23:50 80 E190 open ? - 22:29-23:50 +0 N368JB - -\nf778 1723 JFK-LAX 22:29-04:53+1 140 A321P open ? - 22:30-04:54+1 +1 N984JB - -\nf779 2615 JFK-SFO 22:30-05:03+1 137 A321P open ? - 23:04-05:37+1 +34 N991JT - -\nf780 676 JFK-ORH 22:55-23:58 50 E190 open ? - 22:55-23:58 +0 N307JB - -\nf781 1731 SLC-LAX 22:57-00:55+1 121 A320 open ? - 22:57-00:55+1 +0 N508JL - -\nf782 403 JFK-SJU 22:59-02:54+1 145 A320 open ? - 22:59-02:54+1 +0 N662JB - -\nf783 1279 LAS-LAX 23:23-00:30+1 87 A320 open ? - 23:23-00:30+1 +0 N640JB - -\nf784 2120 SAN-BOS 23:29-05:01+1 147 A321P open ? - 23:29-05:01+1 +0 N923JB - -\nf785 2124 LAX-JFK 23:30-05:00+1 150 A321P open ? - 23:30-05:00+1 +0 N990JL - -\nf786 430 MCO-BQN 23:40-02:17+1 148 A320 open ? - 23:40-02:17+1 +0 N729JB - -\nf787 2985 LAX-MIA 23:49-04:46+1 148 A321P open ? - 23:49-04:46+1 +0 N946JL - -\nf788 700 LAX-FLL 00:10+1-05:01+1 151 A321P open ? - 00:10+1-05:01+1 +0 N944JT - -\nf789 30 SAN-FLL 00:15+1-05:04+1 141 A320 open ? - 00:15+1-05:04+1 +0 N766JB - -\nf790 916 SMF-BOS 00:16+1-05:38+1 139 A320 open ? - 00:16+1-05:38+1 +0 N516JB - -\nf791 972 SJC-BOS 00:39+1-06:13+1 128 A220 open ? - 00:39+1-06:13+1 +0 N3104J - -\nf792 132 LAX-MCO 00:45+1-05:25+1 150 A320 open ? - 00:45+1-05:25+1 +0 N566JB - -\nf793 1216 SFO-JFK 00:56+1-06:30+1 150 A321P open ? - 00:56+1-06:30+1 +0 N993JE - -\nf794 622 LAX-BOS 01:05+1-06:30+1 150 A321P open ? - 01:05+1-06:30+1 +0 N961JT - -\nf795 498 SEA-BOS 01:10+1-06:23+1 145 A321P open ? - 01:16+1-06:29+1 +6 N962JT - -\nf796 1302 PHX-BOS 01:18+1-06:07+1 182 A321 open ? - 01:18+1-06:07+1 +0 N973JT - -\nf797 778 LAS-BOS 01:23+1-06:23+1 168 A321 open ? - 01:23+1-06:23+1 +0 N999JQ - -\nf798 2348 LAS-JFK 01:28+1-06:20+1 170 A321 open ? - 01:28+1-06:20+1 +0 N2086J - -\nf799 96 PDX-BOS 01:38+1-06:57+1 132 A220 open ? - 01:38+1-06:57+1 +0 N3125J - -\nf800 72 SLC-JFK 01:40+1-05:57+1 141 A320 open ? - 01:40+1-05:57+1 +0 N571JB - -\nf801 98 DEN-JFK 01:45+1-05:29+1 139 A320 open ? - 01:45+1-05:29+1 +0 N584JB - -\nf802 1574 LAX-EWR 01:45+1-07:00+1 151 A321P open ? - 02:26+1-07:41+1 +41 N967JT - -\nf803 66 ABQ-JFK 01:53+1-05:59+1 150 A320 open ? - 01:53+1-05:59+1 +0 N520JB - -\nf804 294 DEN-BOS 01:53+1-05:40+1 125 A220 open ? - 01:53+1-05:40+1 +0 N3118J - -\nf805 670 SJC-JFK 01:59+1-07:23+1 138 A320 open ? - 01:59+1-07:23+1 +0 N827JB - -\nf806 2320 SLC-FLL 01:59+1-06:30+1 132 A320 open ? - 01:59+1-06:30+1 +0 N643JB - -\nf807 34 SFO-BOS 02:08+1-07:56+1 149 A321P open ? - 02:08+1-07:56+1 +0 N979JT - -\nf808 124 LAX-JFK 02:29+1-08:00+1 150 A321P open ? - 02:58+1-08:29+1 +29 N992JB - -\nf809 162 SMF-JFK 02:43+1-07:59+1 191 A321 open ? - 02:43+1-07:59+1 +0 N995JL - -\nf810 264 SEA-JFK 02:47+1-08:00+1 133 A321P open ? - 02:47+1-08:00+1 +0 N945JT - -\nf811 354 ONT-JFK 02:48+1-07:59+1 181 A321 open ? - 02:48+1-07:59+1 +0 N2102J - -\nf812 136 PHX-JFK 02:50+1-07:33+1 190 A321 open ? - 02:50+1-07:33+1 +0 N2059J - -\nf813 278 SFO-FLL 02:55+1-08:16+1 146 A321P open ? - 02:55+1-08:16+1 +0 N934JB - -\nf814 774 LAS-JFK 02:55+1-07:47+1 135 A321P open ? - 03:39+1-08:31+1 +44 N964JT - -\nf815 608 LAS-FLL 02:59+1-07:35+1 180 A321 open ? - 02:59+1-07:35+1 +0 N994JL - -\nf816 988 LAX-BOS 02:59+1-08:30+1 150 A321P open ? - 03:16+1-08:47+1 +17 N929JB - -\nf817 1006 PDX-JFK 02:59+1-08:12+1 145 A320 open ? - 02:59+1-08:12+1 +0 N793JB - -\n\n## Aircraft now, as your plan has them (@ = ready at)\nBOS: N184JB N187JB N198JB N2142J N231JB N239JB N265JB N273JB N274JB N3023J N3058J N3065J N3077J N3104J N3113J N3115J@07:20 N3118J@06:52 N3121J@06:35 N3123J N3125J@08:48 N324JB N329JB N354JB N375JB N504JB N506JB N516JB N517JB N597JB N903JB N905JB N907JB@13:43 N923JB@08:20 N935JB@06:16 N949JT N950JT N952JB N954JB N961JT@14:05 N967JT@15:35 N969JT N971JT@19:50 N973JT N975JT@19:10 N984JB N986JB@08:04 N992JB N995JL N999JQ\nATL: N634JB N646JB\nAUS: N569JB\nBDL: N507JT N531JL@07:17 N547JB N630JB\nBNA: N3102J\nBUF: N317JB N709JB\nCHS: N640JB@06:28\nCLE: N306JB\nDCA: N203JB N266JB N636JB N651JB N828JB\nDTW: N197JB N236JB\nEWR: N358JB N509JB N523JB N558JB N579JB N789JB N943JT N989JT@08:25\nFLL: N2084J N510JB N529JB N564JB@05:58 N594JB N598JB N612JB N637JB@07:14 N656JB N712JB N766JB N794JB N937JB@09:44 N974JT N978JB@06:06 N994JL\nHPN: N281JB N565JB N580JB N652JB N805JB N806JB\nJAX: N519JB N590JB\nJFK: N183JB N190JB N193JB N2027J@05:35 N2043J N2059J@19:05 N2086J@11:55 N2102J@18:55 N2105J N247JB N339JB N348JB N355JB N368JB N526JL N535JB@06:32 N559JB@20:14 N561JB@06:55 N571JB@06:10 N583JB N584JB@19:15 N586JB@19:20 N606JB@08:15 N608JB N613JB N618JB@14:10 N638JB N655JB@09:55 N662JB N665JB@07:45 N703JB@04:16 N706JB N715JB@05:19 N729JB N827JB@05:45 N834JB N913JB N929JB N947JB@05:59 N948JB N956JT@08:51 N957JB N959JB@09:02 N964JT N965JT@09:55 N968JT@09:04 N976JT N977JE@04:23 N981JT@10:50 N987JT@09:02 N990JL N996JL\nLAX: N508JL N624JB N625JB@10:55 N639JB N944JT@04:31 N945JT@07:07 N946JL N983JT N991JT\nLGA: N2039J N229JB N503JB N524JB N588JB N635JB N657JB N705JB N760JB N821JB\nMCO: N2044J N206JB N337JB N505JB N520JB N556JB@07:15 N587JB N592JB N593JB N605JB N621JB N649JB@06:30 N661JB@05:51 N775JB N804JB\nMIA: N615JB N942JB@05:48\nMSY: N554JB\nORH: N279JB\nPBI: N267JB N534JB N562JB N779JB N793JB\nPHL: N216JB\nPIT: N304JB\nPSE: N807JB\nPVD: N527JL N632JB\nPWM: N323JB\nRDU: N283JB N307JB N623JB\nRIC: N228JB N589JB\nROC: N284JB\nRSW: N536JB@08:25\nSAN: N962JT\nSFO: N566JB N934JB@05:14 N979JT@04:37 N993JE\nSJU: N552JB N643JB N644JB@04:19 N708JB N746JB N763JB N796JB N966JT@05:48 N970JB N998JE@04:26\nSYR: N179JB N328JB\nTPA: N521JB N955JB N972JT\nairborne: none\n\n## News so far\n[15:37-1] BOS proposed ground delay program 15:30-1-22:59-1, rate 38/36/36/36/36/36/36/36 arrivals/h (all carriers), average delay 74 min, max 273 [advisory adv-20230604-052, signed 15:37-1]\n[15:46-1] BOS ground delay program 15:30-1-22:59-1, rate 38/36/36/36/36/36/36/36 arrivals/h (all carriers), average delay 54 min, max 256 [advisory adv-20230604-054, signed 15:46-1]\n[19:32-1] BOS GDP cancelled 19:32-1-21:34 [advisory adv-20230604-080, signed 19:32-1]\n[01:28] TAF KBOS 050528Z 0506/0612 36012KT P6SM VCSH OVC015 FM050800 35011KT 5SM -RA BR OVC008 FM051400 35011KT 5SM BR VCSH OVC015 FM051600 35011G20KT P6SM OVC015 FM051800 35011G19KT P6SM OVC025 FM052000 36010KT P6SM OVC040 FM060200 29007KT P6SM BKN050=\n[02:54] KBOS 050654Z 35009KT 10SM FEW012 SCT017 OVC024 11/09 A2989 RMK AO2 CIG 017 E SLP122 T01060089 $\n[03:54] KBOS 050754Z 36010KT 10SM BKN015 OVC035 11/09 A2988 RMK AO2 SLP116 T01060089 $\n\nIt is the first watch, 04:00. Nothing is frozen yet: set the day up with confirm_changes, then call advance.", + "max_turns": 279, + "model_params": { + "max_tokens": 32000 + }, + "timeout_seconds": 7200 + }, + { + "id": "end-day", + "type": "apply_server_config", + "env_id": "airops-v3-day", + "directives": [ + { + "service": "airops-v3-day", + "uri": "urn:airops:v3-end-day/v1", + "args": {} + } + ] + }, + { + "id": "grade", + "type": "env_outcome_verifier", + "env_id": "airops-v3-day", + "file_artifact_id": "airops-verifier", + "verifier_id": "airops", + "score_aggregator": "weighted_average" + } +] diff --git a/src/agentenv_airops/bundles/airops-v3/tasks/b6-20230707-0400.json b/src/agentenv_airops/bundles/airops-v3/tasks/b6-20230707-0400.json new file mode 100644 index 0000000..7d2dbe9 --- /dev/null +++ b/src/agentenv_airops/bundles/airops-v3/tasks/b6-20230707-0400.json @@ -0,0 +1,71 @@ +[ + { + "id": "deploy", + "type": "deploy_env", + "env_id": "airops-v3-day" + }, + { + "id": "load-task", + "type": "apply_server_config", + "env_id": "airops-v3-day", + "directives": [ + { + "service": "airops-v3-day", + "uri": "urn:airops:v3-live-load/v1", + "args": { + "task_id": "b6-20230707-0400", + "anchor": 6104360, + "follower": 6520405 + } + } + ] + }, + { + "id": "deploy-agent", + "type": "deploy_agent", + "a2a_agent_id": "airops-llm", + "env_ids": [ + "airops-v3-day" + ] + }, + { + "id": "clock", + "type": "sync_env_clock", + "env_id": "airops-v3-day", + "virtual_time": "2023-07-07T08:00:00Z", + "virtual_seconds_per_real_second": 0, + "tolerate_missing_sync_time": false + }, + { + "id": "play", + "type": "prompt_agent", + "prompt_id": "b6-20230707-0400", + "system_prompt": "You run the JetBlue operations desk on a storm day at JFK and BOS: thunderstorms, snow or wind, and the FAA ground stops and ground delay programs (GDPs) that follow, cut how many JetBlue flights can land and take off. Your job is to decide which flights to cancel and which to hold, watch by watch, so that passengers and the airline lose as little as possible over the day.\n\nHow the day runs:\n- The day is played in watches starting at watch 0: one an hour, and one more when an advisory or a SPECI reaches the desk or a ramp closure begins or ends, so watches are 15 to 60 minutes apart. The first message gives the day as the desk knows it at watch 0. Every tool call takes 1 minute of the watch; when the watch's time runs out, the next watch opens by itself, and advance opens it at once.\n- What the desk knows: a flight's own departure delay (weather, air traffic control: anything but waiting for its aircraft or a slot) becomes known 2 hours before its scheduled departure; until then it is assumed on time. FAA Command Center advisories and the hubs' METARs, SPECIs and TAFs arrive as messages at the first watch after they reach the desk: an advisory 0 minutes after it is signed, a METAR 5 and a SPECI 5 minutes after its observation, a TAF 10 minutes after its issue, and the programs table shows the programs as issued, proposed GDPs included; a program may end earlier or later than issued.\n- Ground delay programs: a GDP meters arrivals at a hub over its period. A flight into the hub from an origin in its scope, scheduled to land in the period, needs one of JetBlue's arrival slots in the program: it takes the earliest free slot at or after the time it could land and leaves at its EDCT, the slot less its scheduled block. A cancelled or late flight leaves its slot to the flights behind it. Arrivals outside a program fit under the hub's hourly rate.\n- Ground stops: a flight to a stopped hub from an origin the stop covers waits on the ground until the stop ends; flights already airborne fly on.\n- Departure caps: an airport may take only so many JetBlue departures in an hour (the departure caps table, known 4 hours ahead); a flight with no room in its hour tries again at the next hour's start.\n- Outstation arrival caps: an outstation may take only so many JetBlue arrivals in an hour (the outstation arrival caps table, known 4 hours ahead); a flight with no room in its arrival hour leaves so as to land in the next one.\n- Ramp closures: lightning at the field cuts a hub's ramp rate without stopping it. During a closure only so many JetBlue flights may leave the hub and only so many arrive there; a departure with no room leaves at the closure's end, an arrival with none leaves so as to land at it. A closure is known once it begins; until its end comes it is expected to last 30 minutes more, with caps for that long, and the closures table says which ends are reported and which expected.\n- The env flies your plan on the day as it happens: each flight leaves at the earliest time its delay, its hold, a slot, a stop, a cap and an aircraft allow. It takes the first aircraft of its type ready at its origin (aircraft of one type at one airport are interchangeable; an aircraft needs its turn time on the ground between flights). A flight that can't leave by its deadline is cancelled automatically there. At the end of the day the env ferries each aircraft to the airport it is needed at tomorrow.\n- Your decisions: cancel a flight (its aircraft stays on the ground, free for other flights, and its slot goes to the flights behind), restore a cancelled flight, or hold a flight until a time (not_before) so that its slot or aircraft goes to another flight first. A flight you don't touch leaves as early as it can.\n- The freeze: at watch 0 nothing is frozen. From watch 1 on, flights your plan has leaving before the freeze line, 60 minutes after the watch opens, are frozen: they can't be changed, and stay frozen. A cancellation is final. The env holds any other flight your plan would have leaving before the freeze line to it, and refuses a change that would move a frozen flight or one that has already gone.\n\nTools:\n- get_situation(): the time, the freeze line, the programs as issued with JetBlue's slots, the departure caps known so far, the outstation arrival caps known so far, the ramp closures under way or over, the latest METAR or SPECI and TAF per hub, every flight (its status, its known delay, your plan, where your plan has it leave and land on the day as known, how late it lands, its aircraft, its slot and its crew), where the aircraft are, and the news so far.\n- check_plan(changes): your changes over your plan, run on the day as known now: the plan's cost, the flights whose plan or times change, the automatic cancellations, the flights the env would hold to the freeze line, and the changes confirm_changes would refuse. It confirms nothing.\n- confirm_changes(changes): commits the changes; flights you leave out keep their plan.\n- advance(): ends the watch; its result has the new watch's news. After the last watch it returns \"done\": the day is graded on your plan.\nA change is {\"flight\": \"f12\", \"action\": \"cancel\" | \"restore\" | \"hold\" | \"call_reserve\" | \"release_reserve\", \"not_before\": \"HH:MM\" | null}: cancel takes not_before null; restore and hold fly the flight, held until not_before (local time, \"00:30+1\" after midnight), or as early as it can with null. Where a crew base has a reserve pool (the situation's Reserve crews), a flight leaving it past its crew's deadline flies only on a reserve: call_reserve gives it one while the pool lasts, release_reserve hands it back before that deadline.\n\nThe cost, in passenger-minutes: every passenger's minutes of arrival delay; 523 for each passenger on a cancelled flight, plus one for every minute the cancellation is decided later than 2 hours before its scheduled departure (an automatic cancellation is decided at its deadline, so it costs more than an early one); the airline's own aircraft minutes (a late departure costs crew and fixed costs, a long block fuel too, and a cancellation saves its fuel and maintenance); and the end-of-day ferries. A cancellation frees an aircraft and a slot; it pays when it saves the others more than it costs its own passengers. The day is graded once, on your final plan flown on the day as it really happened: the closer its cost to the best plan possible in hindsight, the higher the score. If you stop before the last watch, the rest of the day runs on your plan.", + "prompt": "# JetBlue operations desk, JFK/BOS, Friday 2023-07-07; times are local (America/New_York).\n\nNow 04:00 (watch 0, opened 04:00). First watch: nothing is frozen; changes take effect at once.\n\nYour plan on the day as known costs 119,399 (delay 88,076, cancellations 0, notice 0, ferries 0): 0 cancelled, 0 cancelled automatically, 0 on slots.\n\n## Programs as issued (FAA Command Center)\nNone.\n\n## Departure caps: JetBlue departures per hour, known 240 min ahead\nBOS: 07h 15 08h 8\nJFK: 07h 6\n\n## Outstation arrival caps: JetBlue arrivals per hour, known 240 min ahead\nDCA: 07h 1\nMCO: 08h 3\nRDU: 08h 0\n\n## Ramp closures (lightning at the field; known once begun)\nNone.\n\n## Latest weather (METAR or SPECI, and TAF)\n[03:54] KBOS 070754Z 20006KT 10SM FEW007 SCT250 22/20 A2988 RMK AO2 SLP119 T02170200 $\n[01:24] TAF KBOS 070524Z 0706/0812 21006KT P6SM FEW250 FM071500 15009KT P6SM SCT250 FM072200 19010KT P6SM SCT250 FM080600 20005KT P6SM BKN020 FM080900 21005KT P6SM BKN015=\n[03:51] KJFK 070751Z 20003KT 10SM BKN016 BKN250 24/23 A2987 RMK AO2 SLP116 T02390228 $\n[03:12] TAF AMD KJFK 070712Z 0707/0812 19004KT P6SM OVC012 TEMPO 0708/0712 4SM BR BKN008 FM071200 15006KT 6SM BR BKN012 FM071500 15008KT P6SM FEW020 SCT250 FM071800 15011KT P6SM BKN250 FM080100 16005KT P6SM SCT250 FM080300 17005KT P6SM BKN012=\n\n## Flights (sched = scheduled dep-arr; delay = known delay, ? not yet; plan = cancel or hold@HH:MM; proj = where your plan has it leave and land on the day as known; late = arrival delay; slot = its GDP slot; crew = crew deadline/rest end, +R on a reserve crew)\nid flight route sched pax type status delay plan proj late tail slot crew\nf0 1476 SJU-BDL 04:20-08:20 150 A320 open -6 - 04:14-08:07 -13 N634JB - -\nf1 404 SJU-JFK 05:01-08:59 188 A321 open 2 - 05:03-09:03 +4 N974JT - -\nf2 562 SJU-BOS 05:01-09:05 176 A321 open -1 - 05:00-08:56 -9 N2084J - -\nf3 630 MCO-BQN 05:01-07:44 122 A320 open -8 - 04:53-07:31 -13 N517JB - -\nf4 2539 JFK-BQN 05:01-08:43 189 A321 open 2 - 05:03-08:32 -11 N970JB - -\nf5 746 PSE-JFK 05:25-09:27 136 A320 open 0 - 05:31-09:39 +12 N607JB - -\nf6 123 JFK-LAX 05:29-11:20 147 A321P open -7 - 05:22-11:06 -14 N946JL - -\nf7 954 SJU-FLL 05:30-08:06 150 A320 open -2 - 05:28-07:58 -8 N561JB - -\nf8 327 EWR-MCO 05:35-08:07 144 A320 open -8 - 05:27-07:59 -8 N636JB - -\nf9 717 BOS-JFK 05:39-06:45 80 E190 open -10 - 05:29-06:30 -15 N190JB - -\nf10 1603 JFK-SJU 05:39-09:33 189 A321 open -5 - 05:34-09:16 -17 N999JQ - -\nf11 315 SYR-JFK 05:49-07:00 86 E190 open -5 - 05:44-06:57 -3 N193JB - -\nf12 133 BOS-SFO 06:00-12:27 144 A321P open -1 - 05:59-12:40 +13 N981JT - -\nf13 231 BOS-LGA 06:00-07:14 71 E190 open 6 - 06:06-07:13 -1 N216JB - -\nf14 287 BOS-LAX 06:00-12:11 146 A321P open -9 - 05:51-12:05 -6 N2142J - -\nf15 299 LGA-MCO 06:00-08:39 144 A320 open -5 - 05:55-08:21 -18 N505JB - -\nf16 382 RIC-BOS 06:00-07:34 86 E190 open -10 - 05:50-07:25 -9 N249JB - -\nf17 405 EWR-FLL 06:00-08:59 150 A320 open 0 - 06:00-08:39 -20 N645JB - -\nf18 540 CLE-BOS 06:00-07:42 86 E190 open -11 - 05:49-07:23 -19 N324JB - -\nf19 737 BDL-MCO 06:00-08:51 150 A320 open -2 - 05:58-08:49 -2 N589JB - -\nf20 838 BQN-JFK 06:00-09:53 147 A320 open -2 - 05:58-09:59 +6 N629JB - -\nf21 959 BDL-FLL 06:00-09:08 150 A320 open -3 - 05:57-09:00 -8 N580JB - -\nf22 984 RDU-BOS 06:00-07:57 80 E190 open 23 - 06:23-08:16 +19 N328JB - -\nf23 1318 JFK-BOS 06:00-07:06 84 E190 open 198 - 09:18-10:32 +206 N206JB - -\nf24 1371 LGA-FLL 06:00-08:59 150 A320 open 0 - 06:00-08:54 -5 N521JB - -\nf25 2005 BOS-MCO 06:00-09:02 150 A320 open -6 - 05:54-08:46 -16 N554JB - -\nf26 2269 BOS-FLL 06:00-09:20 132 A220 open 10 - 06:10-09:28 +8 N3062J - -\nf27 2555 BOS-DCA 06:00-07:37 92 E190 open 1 - 06:01-08:18 +41 N197JB - -\nf28 52 MCO-BOS 06:01-08:58 89 E190 open ? - 06:01-08:58 +0 N281JB - -\nf29 1434 SJU-MCO 06:01-09:05 149 A320 open ? - 06:01-09:05 +0 N794JB - -\nf30 2024 MCO-DCA 06:01-08:10 141 A320 open ? - 06:01-08:10 +0 N627JB - -\nf31 573 EWR-TPA 06:04-08:50 150 A320 open ? - 06:04-08:50 +0 N708JB - -\nf32 233 BTV-JFK 06:05-07:24 86 E190 open ? - 06:05-07:24 +0 N206JB - -\nf33 783 BOS-RDU 06:05-08:02 135 A320 open ? - 07:03-09:00 +58 N648JB - -\nf34 1233 MCO-SJU 06:05-08:59 146 A320 open ? - 06:05-08:59 +0 N805JB - -\nf35 2001 BUF-JFK 06:05-07:27 90 E190 open ? - 06:05-07:27 +0 N348JB - -\nf36 677 JFK-JAX 06:07-08:33 139 A320 open ? - 06:07-08:33 +0 N523JB - -\nf37 891 BOS-TPA 06:08-09:15 136 A220 open ? - 06:08-09:15 +0 N3008J - -\nf38 1373 EWR-LAX 06:10-11:50 150 A321P open ? - 06:10-11:50 +0 N986JB - -\nf39 222 PBI-BOS 06:15-09:24 97 E190 open ? - 06:15-09:24 +0 N236JB - -\nf40 353 FLL-SJU 06:15-08:53 147 A320 open ? - 06:15-08:53 +0 N531JL - -\nf41 797 BOS-ATL 06:15-08:56 130 A220 open ? - 06:15-08:56 +0 N3065J - -\nf42 1184 MCO-JFK 06:15-08:49 92 E190 open ? - 06:15-08:49 +0 N267JB - -\nf43 598 MCO-LGA 06:21-08:54 150 A320 open ? - 06:21-08:54 +0 N644JB - -\nf44 2363 BOS-MCI 06:25-09:51 123 A220 open ? - 06:25-09:51 +0 N3077J - -\nf45 42 PBI-LGA 06:29-09:11 139 A320 open ? - 06:29-09:11 +0 N516JB - -\nf46 15 JFK-SFO 06:30-12:38 147 A321P open ? - 06:30-12:38 +0 N964JT - -\nf47 163 JFK-SRQ 06:30-09:22 147 A320 open ? - 06:30-09:22 +0 N598JB - -\nf48 221 BOS-SJU 06:30-10:30 134 A320 open ? - 06:30-10:30 +0 N547JB - -\nf49 583 JFK-MCO 06:30-09:08 150 A320 open ? - 06:30-09:08 +0 N625JB - -\nf50 1145 RIC-FLL 06:30-08:44 145 A320 open ? - 06:30-08:44 +0 N579JB - -\nf51 2130 SJU-JFK 06:30-10:27 188 A321 open ? - 06:30-10:27 +0 N957JB - -\nf52 2701 JFK-FLL 06:30-09:26 150 A320 open ? - 06:30-09:26 +0 N641JB - -\nf53 2802 JFK-BUF 06:30-07:48 88 E190 open ? - 06:30-07:48 +0 N265JB - -\nf54 1383 PWM-LGA 06:35-07:58 75 E190 open ? - 06:35-07:58 +0 N179JB - -\nf55 172 FLL-LGA 06:39-09:30 150 A320 open ? - 06:39-09:30 +0 N594JB - -\nf56 1530 RSW-JFK 06:39-09:29 141 A320 open ? - 06:39-09:29 +0 N712JB - -\nf57 2625 RDU-FLL 06:39-08:45 139 A320 open ? - 06:39-08:45 +0 N597JB - -\nf58 1439 BOS-AUS 06:40-10:48 113 A220 open ? - 06:40-10:48 +0 N3085J - -\nf59 2713 ATL-LGA 06:44-09:00 90 E190 open ? - 06:44-09:00 +0 N306JB - -\nf60 27 BOS-BWI 06:45-08:16 83 E190 open ? - 06:45-08:16 +0 N229JB - -\nf61 1486 PIT-BOS 06:46-08:20 83 E190 open ? - 06:46-08:20 +0 N184JB - -\nf62 712 ROC-BOS 06:50-08:06 88 E190 open ? - 06:50-08:06 +0 N337JB - -\nf63 2157 LGA-DEN 06:55-11:09 140 A320 open ? - 06:55-11:09 +0 N569JB - -\nf64 2421 BOS-PBI 06:55-10:09 188 A321 open ? - 06:55-10:09 +0 N954JB - -\nf65 723 JFK-LAX 06:57-12:50 147 A321P open ? - 06:57-12:50 +0 N988JT - -\nf66 2401 LGA-CHS 06:59-09:08 77 E190 open ? - 06:59-09:08 +0 N203JB - -\nf67 87 ALB-FLL 07:00-10:16 150 A320 open ? - 07:00-10:16 +0 N537JT - -\nf68 226 TPA-JFK 07:00-09:45 149 A320 open ? - 07:00-09:45 +0 N709JB - -\nf69 254 DCA-BOS 07:00-08:32 90 E190 open ? - 07:00-08:32 +0 N274JB - -\nf70 331 BOS-LGA 07:00-08:17 71 E190 open ? - 07:00-08:17 +0 N231JB - -\nf71 467 ATL-FLL 07:00-08:54 123 A320 open ? - 07:00-08:54 +0 N591JB - -\nf72 503 JFK-SJU 07:00-10:58 150 A320 open ? - 07:00-10:58 +0 N729JB - -\nf73 551 BOS-MCO 07:00-10:05 93 E190 open ? - 07:00-10:05 +0 N239JB - -\nf74 555 BOS-DCA 07:00-08:41 92 E190 open ? - 07:00-08:41 +0 N266JB - -\nf75 814 FLL-HPN 07:00-09:59 145 A320 open ? - 07:00-09:59 +0 N605JB - -\nf76 1245 BOS-CLT 07:00-09:19 82 E190 open ? - 07:00-09:19 +0 N273JB - -\nf77 2215 BOS-BUF 07:00-08:29 87 E190 open ? - 07:00-08:29 +0 N283JB - -\nf78 2267 BOS-CHS 07:00-09:22 118 A220 open ? - 07:00-09:22 +0 N3102J - -\nf79 2423 DCA-MCO 07:00-09:22 149 A320 open ? - 07:00-09:22 +0 N599JB - -\nf80 2832 LGA-BOS 07:00-08:16 75 E190 open ? - 07:00-08:16 +0 N323JB - -\nf81 2986 MIA-LAX 07:00-12:14 145 A321P open ? - 07:00-12:14 +0 N991JT - -\nf82 411 JFK-LAS 07:05-12:32 144 A321P open ? - 07:05-12:32 +0 N989JT - -\nf83 1420 DTW-JFK 07:07-08:53 74 E190 open ? - 07:07-08:53 +0 N187JB - -\nf84 1333 BOS-SFO 07:09-13:32 144 A321P open ? - 07:09-13:32 +0 N985JT - -\nf85 1807 BOS-BNA 07:09-09:55 129 A220 open ? - 07:09-09:55 +0 N3115J - -\nf86 18 FLL-JAX 07:15-08:34 103 A320 open ? - 07:15-08:34 +0 N624JB - -\nf87 306 FLL-EWR 07:15-10:14 149 A320 open ? - 07:15-10:14 +0 N630JB - -\nf88 1247 LGA-TPA 07:15-10:11 150 A320 open ? - 07:15-10:11 +0 N585JB - -\nf89 1584 MCO-JFK 07:15-10:01 150 A320 open ? - 07:15-10:01 +0 N566JB - -\nf90 2229 BOS-MKE 07:15-09:49 126 A220 open ? - 07:15-09:49 +0 N3118J - -\nf91 1141 BDL-PBI 07:19-10:27 149 A320 open ? - 07:19-10:27 +0 N639JB - -\nf92 1589 EWR-SJU 07:20-11:18 150 A320 open ? - 07:20-11:18 +0 N663JB - -\nf93 2274 TPA-EWR 07:24-10:07 139 A320 open ? - 07:24-10:07 +0 N520JB - -\nf94 813 HPN-FLL 07:30-10:30 146 A320 open ? - 07:30-10:30 +0 N637JB - -\nf95 841 JFK-SAV 07:30-09:45 142 A320 open ? - 07:30-09:45 +0 N606JB - -\nf96 1105 JFK-ORD 07:30-10:08 88 E190 open ? - 07:30-10:08 +0 N318JB - -\nf97 1368 PBI-HPN 07:30-10:27 149 A320 open ? - 07:30-10:27 +0 N615JB - -\nf98 2295 EWR-MIA 07:30-10:29 141 A320 open ? - 07:30-10:29 +0 N658JB - -\nf99 501 BOS-MSY 07:33-11:03 116 A220 open ? - 07:33-11:03 +0 N3123J - -\nf100 508 JFK-PWM 07:35-08:53 83 E190 open ? - 07:35-08:53 +0 N354JB - -\nf101 927 EWR-MCO 07:35-10:17 150 A320 open ? - 07:35-10:17 +0 N504JB - -\nf102 1565 BOS-SAT 07:35-11:52 115 A220 open ? - 07:35-11:52 +0 N3121J - -\nf103 438 MCO-BDL 07:39-10:28 150 A320 open ? - 07:39-10:28 +0 N640JB - -\nf104 599 LGA-MCO 07:40-10:30 144 A320 open ? - 07:40-10:30 +0 N588JB - -\nf105 619 BOS-SAN 07:40-13:38 150 A321P open ? - 07:40-13:38 +0 N979JT - -\nf106 483 JFK-MCO 07:42-10:29 150 A320 open ? - 07:42-10:29 +0 N507JT - -\nf107 1033 DCA-PBI 07:45-10:09 92 E190 open ? - 07:45-10:09 +0 N284JB - -\nf108 1423 FLL-MSY 07:45-09:47 108 A320 open ? - 07:45-09:47 +0 N646JB - -\nf109 1317 BOS-JFK 07:46-09:00 80 E190 open ? - 07:46-09:00 +0 N304JB - -\nf110 2217 CHS-LAX 07:48-13:00 145 A320 open ? - 07:48-13:00 +0 N768JB - -\nf111 1081 BOS-RIC 07:50-09:33 89 E190 open ? - 07:50-09:33 +0 N307JB - -\nf112 193 BOS-DEN 07:52-12:26 146 A320 open ? - 08:00-12:34 +8 N565JB - -\nf113 2197 BOS-SEA 07:55-14:15 184 A321 open ? - 08:00-14:20 +5 N956JT - -\nf114 1480 FLL-DCA 07:57-10:24 146 A320 open ? - 07:57-10:24 +0 N562JB - -\nf115 85 BUF-MCO 08:00-10:38 150 A320 open ? - 08:00-10:38 +0 N715JB - -\nf116 515 SJU-MCO 08:00-11:00 149 A320 open ? - 08:00-11:00 +0 N595JB - -\nf117 1347 DCA-SJU 08:00-11:58 150 A320 open ? - 08:00-11:58 +0 N760JB - -\nf118 1447 HPN-TPA 08:00-10:56 150 A320 open ? - 08:00-10:56 +0 N705JB - -\nf119 1554 DCA-BOS 08:00-09:35 90 E190 open ? - 08:00-09:35 +0 N368JB - -\nf120 1555 BOS-DCA 08:00-09:41 92 E190 open ? - 08:00-09:41 +0 N329JB - -\nf121 2123 JFK-LAX 08:00-13:57 147 A321P open ? - 08:00-13:57 +0 N2105J - -\nf122 2431 BOS-LGA 08:00-09:18 71 E190 open ? - 08:00-09:18 +0 N192JB - -\nf123 2577 BOS-LAS 08:00-13:43 136 A321P open ? - 08:00-13:43 +0 N944JT - -\nf124 2718 JFK-BOS 08:00-09:12 84 E190 open ? - 08:00-09:12 +0 N358JB - -\nf125 704 SJU-JFK 08:04-12:00 188 A321 open ? - 08:04-12:00 +0 N995JL - -\nf126 95 BOS-PDX 08:05-14:17 182 A321 open ? - 08:05-14:17 +0 N966JT - -\nf127 1273 JFK-CHS 08:06-10:15 86 E190 open ? - 08:06-10:15 +0 N190JB - -\nf128 340 JAX-LGA 08:08-10:30 150 A320 open ? - 08:08-10:30 +0 N586JB - -\nf129 185 ROC-JFK 08:10-09:30 82 E190 open ? - 08:10-09:30 +0 N375JB - -\nf130 533 BDL-TPA 08:10-11:11 150 A320 open ? - 08:23-11:24 +13 N653JB - -\nf131 2714 LGA-ATL 08:10-10:36 150 A320 open ? - 08:10-10:36 +0 N612JB - -\nf132 332 LGA-BOS 08:15-09:32 75 E190 open ? - 08:15-09:32 +0 N216JB - -\nf133 609 BOS-JAX 08:15-11:05 92 E190 open ? - 08:15-11:05 +0 N355JB - -\nf134 1065 BOS-RSW 08:15-11:49 134 A220 open ? - 08:15-11:49 +0 N3125J - -\nf135 601 JFK-FLL 08:20-11:35 150 A320 open ? - 08:20-11:35 +0 N662JB - -\nf136 2801 FLL-LAX 08:20-13:48 148 A321P open ? - 08:20-13:48 +0 N942JB - -\nf137 655 SYR-MCO 08:25-11:09 98 E190 open ? - 08:25-11:09 +0 N339JB - -\nf138 349 BOS-SAV 08:27-11:05 95 E190 open ? - 09:00-11:38 +33 N324JB - -\nf139 729 BQN-MCO 08:29-11:19 138 A320 open ? - 08:29-11:19 +0 N517JB - -\nf140 70 FLL-BOS 08:30-11:47 150 A320 open ? - 08:30-11:47 +0 N570JB - -\nf141 967 HPN-PBI 08:30-11:18 147 A320 open ? - 08:30-11:18 +0 N652JB - -\nf142 2041 BOS-CLE 08:34-10:32 89 E190 open ? - 09:00-10:58 +26 N249JB - -\nf143 2101 BUF-JFK 08:39-09:59 90 E190 open ? - 08:39-09:59 +0 N265JB - -\nf144 281 JFK-IAH 08:44-12:37 150 A320 open ? - 08:44-12:37 +0 N603JB - -\nf145 2051 BOS-MCO 08:45-11:57 93 E190 open ? - 09:00-12:12 +15 N337JB - -\nf146 2824 LAX-JFK 08:45-14:20 144 A321P open ? - 08:45-14:20 +0 N978JB - -\nf147 1773 EWR-LAX 08:50-14:52 150 A321P open ? - 09:47-15:49 +57 N934JB - -\nf148 2584 MCO-JFK 08:50-11:30 150 A320 open ? - 08:50-11:30 +0 N656JB - -\nf149 526 BWI-BOS 08:51-10:15 85 E190 open ? - 08:51-10:15 +0 N229JB - -\nf150 2028 MCO-EWR 08:52-11:37 141 A320 open ? - 08:52-11:37 +0 N632JB - -\nf151 2929 RDU-SJU 08:55-12:34 132 A320 open ? - 09:45-13:24 +50 N648JB - -\nf152 2121 HPN-ACK 08:59-10:01 86 E190 open ? - 08:59-10:01 +0 N247JB - -\nf153 2751 TPA-SJU 08:59-12:00 150 A320 open ? - 08:59-12:00 +0 N608JB - -\nf154 195 HPN-MCO 09:00-11:49 150 A320 open ? - 09:00-11:49 +0 N655JB - -\nf155 323 JFK-LAX 09:00-15:01 147 A321P open ? - 09:00-15:01 +0 N980JT - -\nf156 379 DCA-FLL 09:00-11:39 146 A320 open ? - 09:00-11:39 +0 N627JB - -\nf157 434 SFO-BOS 09:00-14:39 144 A321P open ? - 09:00-14:39 +0 N947JB - -\nf158 455 BOS-DCA 09:00-10:41 92 E190 open ? - 09:00-10:41 +0 N323JB - -\nf159 531 BOS-LGA 09:00-10:18 71 E190 open ? - 09:00-10:18 +0 N328JB - -\nf160 816 SFO-JFK 09:00-14:29 138 A321P open ? - 09:00-14:29 +0 N967JT - -\nf161 1634 JFK-BTV 09:00-10:19 80 E190 open ? - 09:00-10:19 +0 N193JB - -\nf162 1854 DCA-BOS 09:00-10:33 90 E190 open ? - 09:00-10:33 +0 N197JB - -\nf163 2087 LGA-BNA 09:00-11:34 95 E190 open ? - 09:00-11:34 +0 N179JB - -\nf164 1402 FLL-JFK 09:05-12:05 182 A321 open ? - 09:05-12:05 +0 N2102J - -\nf165 1860 RSW-LGA 09:06-12:00 139 A320 open ? - 09:06-12:00 +0 N793JB - -\nf166 2352 BOS-ACK 09:06-10:01 79 E190 open ? - 09:06-10:01 +0 N184JB - -\nf167 311 BOS-ORD 09:07-12:13 130 A220 open ? - 09:07-12:13 +0 N3058J - -\nf168 678 JAX-JFK 09:10-11:29 134 A320 open ? - 09:10-11:29 +0 N523JB - -\nf169 1485 BOS-PIT 09:10-10:55 87 E190 open ? - 09:10-10:55 +0 N274JB - -\nf170 2016 BUF-BOS 09:12-10:35 89 E190 open ? - 09:12-10:35 +0 N283JB - -\nf171 2432 LGA-BOS 09:15-10:35 75 E190 open ? - 09:15-10:35 +0 N231JB - -\nf172 189 JFK-SAN 09:20-15:15 143 A321P open ? - 09:20-15:15 +0 N977JE - -\nf173 953 JFK-PBI 09:26-12:28 150 A320 open ? - 09:26-12:28 +0 N503JB - -\nf174 1280 FLL-DCA 09:26-12:00 146 A320 open ? - 09:26-12:00 +0 N775JB - -\nf175 2520 MSY-LGA 09:26-12:30 144 A320 open ? - 09:26-12:30 +0 N796JB - -\nf176 115 JFK-SFO 09:30-15:49 147 A321P open ? - 09:30-15:49 +0 N968JT - -\nf177 271 LGA-FLL 09:30-12:43 150 A320 open ? - 09:30-12:43 +0 N804JB - -\nf178 1602 JFK-BUF 09:30-10:57 88 E190 open ? - 09:30-10:57 +0 N348JB - -\nf179 2532 LAX-SLC 09:30-11:16 125 A320 open ? - 09:30-11:16 +0 N510JB - -\nf180 1219 JFK-ATL 09:32-12:01 87 E190 open ? - 09:32-12:01 +0 N267JB - -\nf181 17 JAX-FLL 09:35-10:53 91 A320 open ? - 09:35-10:53 +0 N624JB - -\nf182 702 SLC-MCO 09:35-14:01 150 A320 open ? - 09:35-14:01 +0 N623JB - -\nf183 2552 SJU-TPA 09:37-12:40 150 A320 open ? - 09:37-12:40 +0 N534JB - -\nf184 2903 JFK-SJU 09:38-13:40 189 A321 open ? - 09:38-13:40 +0 N2016J - -\nf185 1338 JFK-MVY 09:39-10:48 68 E190 open ? - 09:39-10:48 +0 N187JB - -\nf186 67 BDL-LAX 09:40-15:35 142 A320 open ? - 09:40-15:35 +0 N634JB - -\nf187 1497 JFK-DEN 09:40-14:03 147 A320 open ? - 09:40-14:03 +0 N571JB - -\nf188 1883 BOS-RDU 09:40-11:44 83 E190 open ? - 09:40-11:44 +0 N281JB - -\nf189 2725 JFK-TPA 09:40-12:38 150 A320 open ? - 09:40-12:38 +0 N834JB - -\nf190 896 ATL-BOS 09:41-12:12 126 A220 open ? - 09:41-12:12 +0 N3065J - -\nf191 407 PWM-JFK 09:43-11:01 80 E190 open ? - 09:43-11:01 +0 N354JB - -\nf192 538 BQN-JFK 09:43-13:35 182 A321 open ? - 09:43-13:35 +0 N970JB - -\nf193 48 TPA-LGA 09:45-12:30 150 A320 open ? - 09:45-12:30 +0 N708JB - -\nf194 224 LAX-JFK 09:45-15:21 144 A321P open ? - 09:45-15:21 +0 N937JB - -\nf195 577 FLL-SFO 09:45-15:48 143 A321P open ? - 09:45-15:48 +0 N983JT - -\nf196 1109 LGA-ACK 09:45-10:57 71 E190 open ? - 09:45-10:57 +0 N306JB - -\nf197 2033 BOS-IAH 09:45-13:57 133 A220 open ? - 09:45-13:57 +0 N3113J - -\nf198 706 LAX-SEA 09:50-12:36 122 A320 open ? - 09:50-12:36 +0 N583JB - -\nf199 1833 BOS-SFO 09:50-16:30 144 A321P open ? - 09:50-16:30 +0 N945JT - -\nf200 63 JFK-SEA 09:53-16:16 130 A320 open ? - 09:53-16:16 +0 N564JB - -\nf201 890 SJU-EWR 09:53-14:03 150 A320 open ? - 09:53-14:03 +0 N531JL - -\nf202 1084 MCO-JFK 09:53-12:33 150 A320 open ? - 09:53-12:33 +0 N508JL - -\nf203 461 LGA-PBI 09:55-12:53 145 A320 open ? - 09:56-12:54 +1 N516JB - -\nf204 970 CHS-LGA 09:55-12:00 82 E190 open ? - 09:55-12:00 +0 N203JB - -\nf205 272 FLL-LGA 09:58-13:00 150 A320 open ? - 09:58-13:00 +0 N806JB - -\nf206 933 MCO-SJU 09:58-12:56 146 A320 open ? - 09:58-12:56 +0 N592JB - -\nf207 861 BOS-SJU 09:59-14:07 178 A321 open ? - 09:59-14:07 +0 N997JL - -\nf208 1246 CLT-BOS 09:59-12:07 82 E190 open ? - 09:59-12:07 +0 N273JB - -\nf209 631 BOS-LGA 10:00-11:18 71 E190 open ? - 10:00-11:18 +0 N358JB - -\nf210 1553 FLL-SJU 10:00-12:51 147 A320 open ? - 10:00-12:51 +0 N613JB - -\nf211 1655 BOS-DCA 10:00-11:42 92 E190 open ? - 10:00-11:42 +0 N236JB - -\nf212 2933 DCA-MCO 10:00-12:26 92 E190 open ? - 10:00-12:26 +0 N266JB - -\nf213 219 JFK-DTW 10:05-12:04 84 E190 open ? - 10:05-12:04 +0 N304JB - -\nf214 164 SRQ-JFK 10:07-12:59 150 A320 open ? - 10:07-12:59 +0 N598JB - -\nf215 1529 JFK-RSW 10:08-13:17 175 A321 open ? - 10:08-13:17 +0 N971JT - -\nf216 488 MCO-ORH 10:10-12:59 150 A320 open ? - 10:10-12:59 +0 N636JB - -\nf217 892 TPA-BOS 10:10-13:17 130 A220 open ? - 10:10-13:17 +0 N3008J - -\nf218 845 BOS-SYR 10:12-11:26 82 E190 open ? - 10:12-11:26 +0 N216JB - -\nf219 1182 RIC-BOS 10:13-11:46 86 E190 open ? - 10:13-11:46 +0 N307JB - -\nf220 2835 SFO-LAX 10:14-11:40 127 A320 open ? - 10:14-11:40 +0 N621JB - -\nf221 294 MCO-HPN 10:15-13:02 150 A320 open ? - 10:15-13:02 +0 N505JB - -\nf222 1774 LAX-EWR 10:15-15:46 149 A321P open ? - 10:15-15:46 +0 N987JT - -\nf223 2268 CHS-BOS 10:17-12:34 127 A220 open ? - 10:17-12:34 +0 N3102J - -\nf224 591 BOS-TPA 10:18-13:35 194 A321 open ? - 10:18-13:35 +0 N955JB - -\nf225 387 BOS-LAX 10:20-16:35 146 A321P open ? - 10:20-16:35 +0 N969JT - -\nf226 1159 BOS-PHL 10:20-11:50 85 E190 open ? - 10:20-11:50 +0 N368JB - -\nf227 698 MCO-LGA 10:25-13:01 141 A320 open ? - 10:25-13:01 +0 N589JB - -\nf228 842 SAV-JFK 10:30-12:32 131 A320 open ? - 10:30-12:32 +0 N606JB - -\nf229 1954 DCA-BOS 10:30-12:05 90 E190 open ? - 10:30-12:05 +0 N329JB - -\nf230 2766 LGA-HYA 10:30-11:39 75 E190 open ? - 10:30-11:39 +0 N192JB - -\nf231 1604 SJU-JFK 10:33-14:29 188 A321 open ? - 10:33-14:29 +0 N999JQ - -\nf232 186 JFK-ROC 10:35-12:01 82 E190 open ? - 10:35-12:01 +0 N375JB - -\nf233 1422 MSY-FLL 10:35-12:37 130 A320 open ? - 10:35-12:37 +0 N646JB - -\nf234 1151 ACK-BOS 10:36-11:25 83 E190 open ? - 10:36-11:25 +0 N184JB - -\nf235 2222 MCI-JFK 10:36-13:29 109 A220 open ? - 10:36-13:29 +0 N3077J - -\nf236 871 JFK-SLC 10:37-15:44 142 A320 open ? - 10:37-15:44 +0 N789JB - -\nf237 285 JFK-RDU 10:38-12:25 143 A320 open ? - 10:38-12:25 +0 N807JB - -\nf238 1806 BNA-BOS 10:40-13:17 125 A220 open ? - 10:40-13:17 +0 N3115J - -\nf239 2324 MCO-DCA 10:40-12:59 87 E190 open ? - 10:40-12:59 +0 N239JB - -\nf240 906 ORD-JFK 10:43-12:59 83 E190 open ? - 10:43-12:59 +0 N318JB - -\nf241 680 MKE-JFK 10:45-12:58 117 A220 open ? - 10:45-12:58 +0 N3118J - -\nf242 1083 JFK-MCO 10:46-13:42 150 A320 open ? - 10:46-13:42 +0 N568JB - -\nf243 267 BOS-CHS 10:50-13:20 84 E190 open ? - 10:50-13:20 +0 N229JB - -\nf244 1700 LAX-FLL 10:50-16:13 149 A321P open ? - 10:50-16:13 +0 N984JB - -\nf245 2474 CHS-JFK 10:50-12:55 81 E190 open ? - 10:50-12:55 +0 N190JB - -\nf246 895 EWR-MCO 10:52-13:50 144 A320 open ? - 10:52-13:50 +0 N506JB - -\nf247 951 HPN-RSW 10:54-13:57 149 A320 open ? - 10:54-13:57 +0 N605JB - -\nf248 143 EWR-PBI 10:55-13:52 150 A320 open ? - 10:55-13:52 +0 N520JB - -\nf249 1034 PBI-DCA 10:55-13:18 92 E190 open ? - 10:55-13:18 +0 N284JB - -\nf250 1515 JFK-SFO 10:58-17:20 147 A321P open ? - 10:58-17:20 +0 N993JE - -\nf251 90 SAN-JFK 11:00-16:32 146 A321P open ? - 11:00-16:32 +0 N929JB - -\nf252 288 LAX-BOS 11:00-16:51 147 A321P open ? - 11:00-16:51 +0 N962JT - -\nf253 357 LGA-DEN 11:00-15:20 140 A320 open ? - 11:00-15:20 +0 N594JB - -\nf254 523 JFK-LAX 11:00-16:57 148 A321P open ? - 11:00-16:57 +0 N982JB - -\nf255 2201 JFK-FLL 11:00-14:08 150 A320 open ? - 11:00-14:08 +0 N563JB - -\nf256 1633 BTV-JFK 11:05-12:26 86 E190 open ? - 11:05-12:26 +0 N193JB - -\nf257 2493 ACK-DCA 11:05-12:39 67 E190 open ? - 11:05-12:39 +0 N247JB - -\nf258 211 FLL-AUS 11:07-14:00 139 A320 open ? - 11:07-14:00 +0 N558JB - -\nf259 579 DCA-FLL 11:09-13:47 146 A320 open ? - 11:09-13:47 +0 N562JB - -\nf260 2040 CLE-BOS 11:09-12:52 86 E190 open ? - 11:33-13:16 +24 N249JB - -\nf261 2528 MCO-EWR 11:10-14:00 150 A320 open ? - 11:10-14:00 +0 N794JB - -\nf262 1154 PBI-JFK 11:13-14:00 150 A320 open ? - 11:13-14:00 +0 N639JB - -\nf263 1248 TPA-LGA 11:14-14:00 150 A320 open ? - 11:14-14:00 +0 N585JB - -\nf264 2070 FLL-BOS 11:15-14:40 130 A220 open ? - 11:15-14:40 +0 N3062J - -\nf265 2277 BOS-AVL 11:15-13:39 89 E190 open ? - 11:15-13:39 +0 N206JB - -\nf266 784 MCO-JFK 11:19-13:59 139 A320 open ? - 11:19-13:59 +0 N599JB - -\nf267 1680 FLL-DCA 11:19-13:59 146 A320 open ? - 11:19-13:59 +0 N587JB - -\nf268 2594 MIA-EWR 11:22-14:37 141 A320 open ? - 11:22-14:37 +0 N658JB - -\nf269 37 BDL-MCO 11:23-14:17 150 A320 open ? - 11:23-14:17 +0 N640JB - -\nf270 1922 SJU-BOS 11:24-15:42 132 A320 open ? - 11:24-15:42 +0 N805JB - -\nf271 94 MCO-HPN 11:25-14:13 150 A320 open ? - 11:25-14:13 +0 N504JB - -\nf272 282 LGA-PWM 11:25-12:40 85 E190 open ? - 11:25-12:40 +0 N328JB - -\nf273 1339 MVY-JFK 11:25-12:29 70 E190 open ? - 11:25-12:29 +0 N187JB - -\nf274 725 JFK-SAT 11:28-15:37 145 A320 open ? - 11:28-15:37 +0 N712JB - -\nf275 257 BOS-BZN 11:30-16:28 150 A320 open ? - 11:30-16:28 +0 N519JB - -\nf276 554 DCA-BOS 11:30-13:04 90 E190 open ? - 11:30-13:04 +0 N323JB - -\nf277 2593 JFK-MIA 11:30-14:37 150 A320 open ? - 11:30-14:37 +0 N607JB - -\nf278 2647 HPN-CHS 11:30-13:47 112 A320 open ? - 11:30-13:47 +0 N615JB - -\nf279 2091 JFK-ACK 11:33-12:44 55 E190 open ? - 11:33-12:44 +0 N265JB - -\nf280 322 PBI-BOS 11:34-14:46 193 A321 open ? - 11:34-14:46 +0 N954JB - -\nf281 578 SFO-FLL 11:35-17:14 144 A321P open ? - 11:35-17:14 +0 N935JB - -\nf282 1137 BOS-DTW 11:35-13:44 89 E190 open ? - 11:35-13:44 +0 N197JB - -\nf283 1210 ACK-LGA 11:35-12:55 72 E190 open ? - 11:35-12:55 +0 N306JB - -\nf284 1238 AUS-BOS 11:35-15:35 133 A220 open ? - 11:35-15:35 +0 N3085J - -\nf285 1901 BUF-JFK 11:35-12:59 90 E190 open ? - 11:35-12:59 +0 N348JB - -\nf286 2813 ATL-LGA 11:39-14:00 145 A320 open ? - 11:39-14:00 +0 N612JB - -\nf287 1010 JAX-BOS 11:40-14:18 88 E190 open ? - 11:40-14:18 +0 N355JB - -\nf288 2286 PIT-BOS 11:40-13:15 83 E190 open ? - 11:40-13:15 +0 N274JB - -\nf289 250 SAV-BOS 11:45-14:09 97 E190 open ? - 12:13-14:37 +28 N324JB - -\nf290 500 MSY-BOS 11:48-15:17 132 A220 open ? - 11:48-15:17 +0 N3123J - -\nf291 552 MCO-BOS 11:50-14:56 89 E190 open ? - 11:50-14:56 +0 N339JB - -\nf292 1433 MCO-SJU 11:54-14:54 146 A320 open ? - 11:54-14:54 +0 N588JB - -\nf293 2768 TPA-BQN 11:59-15:00 133 A320 open ? - 12:09-15:10 +10 N653JB - -\nf294 695 JFK-AUS 12:00-15:54 143 A320 open ? - 12:00-15:54 +0 N526JL - -\nf295 1855 BOS-DCA 12:00-13:45 92 E190 open ? - 12:00-13:45 +0 N231JB - -\nf296 2310 LGA-ACK 12:00-13:11 71 E190 open ? - 12:00-13:11 +0 N358JB - -\nf297 374 SYR-BOS 12:02-13:08 88 E190 open ? - 12:02-13:08 +0 N216JB - -\nf298 1288 PBI-PVD 12:03-14:53 150 A320 open ? - 12:03-14:53 +0 N652JB - -\nf299 2223 JFK-LAX 12:05-18:04 147 A321P open ? - 12:05-18:04 +0 N943JT - -\nf300 2156 DEN-LGA 12:06-15:55 136 A320 open ? - 12:06-15:55 +0 N569JB - -\nf301 2020 FLL-ORH 12:08-15:20 149 A320 open ? - 12:08-15:20 +0 N645JB - -\nf302 2088 BNA-LGA 12:09-14:29 88 E190 open ? - 12:09-14:29 +0 N179JB - -\nf303 1334 SJU-MCO 12:11-15:18 149 A320 open ? - 12:11-15:18 +0 N547JB - -\nf304 484 RDU-BOS 12:19-14:16 80 E190 open ? - 12:19-14:16 +0 N281JB - -\nf305 2765 HYA-LGA 12:24-13:40 78 E190 open ? - 12:24-13:40 +0 N192JB - -\nf306 715 BOS-BUF 12:25-13:53 87 E190 open ? - 12:25-13:53 +0 N283JB - -\nf307 1324 BOS-MVY 12:25-13:06 56 E190 open ? - 12:25-13:06 +0 N184JB - -\nf308 1160 PHL-BOS 12:29-13:52 79 E190 open ? - 12:29-13:52 +0 N368JB - -\nf309 324 LAX-JFK 12:30-18:12 144 A321P open ? - 12:30-18:12 +0 N946JL - -\nf310 602 FLL-JFK 12:30-15:43 148 A320 open ? - 12:30-15:43 +0 N597JB - -\nf311 2254 DCA-BOS 12:30-14:06 90 E190 open ? - 12:30-14:06 +0 N236JB - -\nf312 120 MCO-ALB 12:31-15:25 150 A320 open ? - 12:31-15:25 +0 N715JB - -\nf313 904 SJU-JFK 12:31-16:30 150 A320 open ? - 12:31-16:30 +0 N729JB - -\nf314 2531 SLC-LAX 12:31-14:30 136 A320 open ? - 12:31-14:30 +0 N510JB - -\nf315 2934 MCO-DCA 12:34-14:55 87 E190 open ? - 12:47-15:08 +13 N337JB - -\nf316 1066 RSW-BOS 12:35-15:54 134 A220 open ? - 12:35-15:54 +0 N3125J - -\nf317 2836 LAX-SFO 12:38-14:00 143 A320 open ? - 12:38-14:00 +0 N584JB - -\nf318 220 DTW-JFK 12:39-14:24 74 E190 open ? - 12:39-14:24 +0 N304JB - -\nf319 485 ROC-JFK 12:40-13:58 82 E190 open ? - 12:40-13:58 +0 N375JB - -\nf320 2065 BOS-RSW 12:40-16:14 134 A220 open ? - 12:40-16:14 +0 N3104J - -\nf321 2283 BOS-RDU 12:40-14:39 83 E190 open ? - 12:40-14:39 +0 N307JB - -\nf322 1754 SJU-FLL 12:43-15:28 150 A320 open ? - 12:43-15:28 +0 N663JB - -\nf323 1566 SAT-BOS 12:47-17:00 130 A220 open ? - 12:47-17:00 +0 N3121J - -\nf324 1196 FLL-PVD 12:50-16:00 192 A321 open ? - 12:50-16:00 +0 N907JB - -\nf325 276 SJU-BDL 12:51-16:54 150 A320 open ? - 12:51-16:54 +0 N760JB - -\nf326 46 LGA-TPA 12:55-15:57 150 A320 open ? - 12:55-15:57 +0 N793JB - -\nf327 1923 DCA-FLL 12:55-15:43 146 A320 open ? - 12:55-15:43 +0 N775JB - -\nf328 312 ORD-BOS 12:58-15:30 125 A220 open ? - 12:58-15:30 +0 N3058J - -\nf329 1601 JFK-FLL 13:00-16:14 187 A321 open ? - 13:00-16:14 +0 N959JB - -\nf330 1811 EWR-RSW 13:00-15:55 143 A320 open ? - 13:00-15:55 +0 N630JB - -\nf331 69 BOS-FLL 13:05-16:40 150 A320 open ? - 13:05-16:40 +0 N570JB - -\nf332 215 BOS-DFW 13:07-17:12 123 A220 open ? - 13:07-17:12 +0 N3023J - -\nf333 1874 LAX-EWR 13:07-18:52 149 A321P open ? - 13:07-18:52 +0 N986JB - -\nf334 520 ATL-JFK 13:08-15:30 86 E190 open ? - 13:08-15:30 +0 N267JB - -\nf335 1538 JFK-MVY 13:10-14:16 68 E190 open ? - 13:10-14:16 +0 N198JB - -\nf336 432 LGA-BOS 13:15-14:35 75 E190 open ? - 13:15-14:35 +0 N203JB - -\nf337 1068 PBI-HPN 13:15-16:28 149 A320 open ? - 13:15-16:28 +0 N503JB - -\nf338 494 DEN-BOS 13:16-17:19 148 A320 open ? - 13:19-17:22 +3 N565JB - -\nf339 92 ACK-JFK 13:19-14:29 66 E190 open ? - 13:19-14:29 +0 N265JB - -\nf340 2291 JFK-ACK 13:19-14:34 55 E190 open ? - 13:19-14:34 +0 N354JB - -\nf341 86 RDU-JFK 13:20-14:59 129 A320 open ? - 13:20-14:59 +0 N807JB - -\nf342 1388 LAX-BOS 13:21-19:13 148 A321P open ? - 13:21-19:13 +0 N2142J - -\nf343 82 IAH-JFK 13:22-17:06 145 A320 open ? - 13:22-17:06 +0 N603JB - -\nf344 1902 FLL-JFK 13:22-16:32 148 A320 open ? - 13:22-16:32 +0 N580JB - -\nf345 883 JFK-MCO 13:23-16:30 96 E190 open ? - 13:23-16:30 +0 N193JB - -\nf346 2826 TPA-JFK 13:23-16:15 149 A320 open ? - 13:23-16:15 +0 N834JB - -\nf347 2551 TPA-SJU 13:25-16:27 150 A320 open ? - 13:25-16:27 +0 N534JB - -\nf348 2814 LGA-ATL 13:25-15:57 150 A320 open ? - 13:25-15:57 +0 N708JB - -\nf349 2885 LAX-MIA 13:25-18:48 146 A321P open ? - 13:25-18:48 +0 N991JT - -\nf350 372 FLL-LGA 13:28-16:40 150 A320 open ? - 13:28-16:40 +0 N637JB - -\nf351 2052 MCO-BOS 13:29-16:40 144 A320 open ? - 13:29-16:40 +0 N595JB - -\nf352 111 JFK-LAS 13:30-18:58 147 A320 open ? - 13:30-18:58 +0 N629JB - -\nf353 371 LGA-FLL 13:30-16:47 150 A320 open ? - 13:30-16:47 +0 N796JB - -\nf354 835 BOS-MSP 13:30-16:42 133 A220 open ? - 13:30-16:42 +0 N3065J - -\nf355 23 DCA-MCO 13:35-16:14 92 E190 open ? - 13:35-16:14 +0 N247JB - -\nf356 62 PBI-LGA 13:37-16:29 139 A320 open ? - 13:39-16:31 +2 N516JB - -\nf357 2116 SFO-JFK 13:37-19:27 138 A321P open ? - 13:48-19:38 +11 N964JT - -\nf358 2317 BOS-JFK 13:37-14:57 80 E190 open ? - 13:37-14:57 +0 N329JB - -\nf359 2747 LGA-SAV 13:40-16:04 90 E190 open ? - 13:40-16:04 +0 N306JB - -\nf360 448 LAS-JFK 13:42-19:00 130 A321P open ? - 13:42-19:00 +0 N989JT - -\nf361 803 JFK-SJU 13:44-17:46 150 A320 open ? - 13:44-17:46 +0 N529JB - -\nf362 707 SEA-LAX 13:45-16:41 132 A320 open ? - 13:45-16:41 +0 N583JB - -\nf363 1618 JFK-BOS 13:45-15:03 84 E190 open ? - 13:45-15:03 +0 N187JB - -\nf364 2930 SJU-RDU 13:45-17:22 134 A320 open ? - 13:45-17:22 +0 N608JB - -\nf365 334 SFO-BOS 13:50-19:42 144 A321P open ? - 13:50-19:42 +0 N981JT - -\nf366 987 ORH-MCO 13:52-16:59 150 A320 open ? - 13:52-16:59 +0 N636JB - -\nf367 781 BOS-RIC 13:53-15:35 89 E190 open ? - 13:53-15:35 +0 N273JB - -\nf368 2665 MVY-HPN 13:53-15:00 59 E190 open ? - 13:53-15:00 +0 N184JB - -\nf369 361 BOS-SJU 13:54-17:55 144 A320 open ? - 13:54-17:55 +0 N559JB - -\nf370 68 CHS-BOS 13:56-16:20 90 E190 open ? - 13:56-16:20 +0 N229JB - -\nf371 595 HPN-MCO 13:56-16:57 150 A320 open ? - 13:56-16:57 +0 N505JB - -\nf372 1414 DCA-MVY 13:59-15:23 86 E190 open ? - 13:59-15:23 +0 N239JB - -\nf373 1861 LGA-RSW 13:59-17:23 129 A320 open ? - 13:59-17:23 +0 N806JB - -\nf374 424 LAX-JFK 14:00-19:44 144 A321P open ? - 14:00-19:44 +0 N988JT - -\nf375 431 BOS-LGA 14:00-15:21 71 E190 open ? - 14:00-15:21 +0 N323JB - -\nf376 521 BOS-PBI 14:00-17:15 94 E190 open ? - 14:00-17:15 +0 N216JB - -\nf377 755 BOS-DCA 14:00-16:00 92 E190 open ? - 14:00-16:00 +0 N274JB - -\nf378 1942 LGA-DEN 14:00-18:21 140 A320 open ? - 14:00-18:21 +0 N589JB - -\nf379 181 FLL-BNA 14:08-16:35 147 A320 open ? - 14:08-16:35 +0 N627JB - -\nf380 1191 BOS-TPA 14:12-17:33 136 A220 open ? - 14:12-17:33 +0 N3102J - -\nf381 2233 BOS-IAH 14:12-18:19 133 A220 open ? - 14:12-18:19 +0 N3008J - -\nf382 532 LGA-BOS 14:15-15:38 75 E190 open ? - 14:15-15:38 +0 N192JB - -\nf383 130 RSW-JFK 14:17-17:09 174 A321 open ? - 14:17-17:09 +0 N971JT - -\nf384 936 SJU-STT 14:19-14:57 138 A320 open ? - 14:19-14:57 +0 N613JB - -\nf385 2278 AVL-BOS 14:20-16:45 90 E190 open ? - 14:20-16:45 +0 N206JB - -\nf386 1990 SJU-EWR 14:25-18:31 150 A320 open ? - 14:25-18:31 +0 N592JB - -\nf387 2276 MCO-PVD 14:27-17:20 150 A320 open ? - 14:27-17:20 +0 N517JB - -\nf388 685 JFK-RDU 14:28-16:20 89 E190 open ? - 14:28-16:20 +0 N318JB - -\nf389 2716 BUF-BOS 14:28-15:56 89 E190 open ? - 14:28-15:56 +0 N283JB - -\nf390 1351 ACK-BOS 14:29-15:20 83 E190 open ? - 14:29-15:20 +0 N358JB - -\nf391 679 JFK-MKE 14:30-17:04 124 A220 open ? - 14:30-17:04 +0 N3118J - -\nf392 2036 DTW-BOS 14:30-16:24 89 E190 open ? - 14:30-16:24 +0 N197JB - -\nf393 2554 DCA-BOS 14:30-16:13 90 E190 open ? - 14:30-16:13 +0 N284JB - -\nf394 683 PWM-LGA 14:32-16:00 75 E190 open ? - 14:32-16:00 +0 N328JB - -\nf395 2466 FLL-BUF 14:32-17:35 150 A320 open ? - 14:32-17:35 +0 N646JB - -\nf396 1098 MCO-LGA 14:35-17:25 141 A320 open ? - 14:35-17:25 +0 N655JB - -\nf397 2951 BOS-MCO 14:37-17:57 93 E190 open ? - 14:37-17:57 +0 N249JB - -\nf398 2030 SJU-JFK 14:40-18:40 188 A321 open ? - 14:40-18:40 +0 N2016J - -\nf399 1131 CHS-FLL 14:41-16:21 122 A320 open ? - 14:41-16:21 +0 N615JB - -\nf400 152 RSW-HPN 14:42-17:45 150 A320 open ? - 14:42-17:45 +0 N605JB - -\nf401 416 SFO-JFK 14:42-20:30 138 A321P open ? - 14:42-20:30 +0 N985JT - -\nf402 592 TPA-BOS 14:45-17:59 186 A321 open ? - 14:45-17:59 +0 N955JB - -\nf403 620 SAN-BOS 14:49-20:35 150 A321P open ? - 14:49-20:35 +0 N979JT - -\nf404 505 EWR-FLL 14:50-18:15 150 A320 open ? - 14:50-18:15 +0 N632JB - -\nf405 2424 MCO-DCA 14:51-17:17 141 A320 open ? - 14:51-17:17 +0 N554JB - -\nf406 932 IAH-BOS 14:52-18:50 130 A220 open ? - 14:52-18:50 +0 N3113J - -\nf407 178 LAS-BOS 14:53-20:10 134 A321P open ? - 14:53-20:10 +0 N944JT - -\nf408 1130 FLL-CHS 14:53-16:35 117 A320 open ? - 14:53-16:35 +0 N746JB - -\nf409 1498 DEN-JFK 14:53-18:59 137 A320 open ? - 14:53-18:59 +0 N571JB - -\nf410 75 JFK-MSY 14:54-18:24 150 A320 open ? - 14:54-18:24 +0 N566JB - -\nf411 1745 BOS-CLT 14:54-17:25 82 E190 open ? - 14:54-17:25 +0 N368JB - -\nf412 212 AUS-FLL 14:55-17:55 121 A320 open ? - 14:55-17:55 +0 N558JB - -\nf413 399 LGA-MCO 14:55-18:03 150 A320 open ? - 14:55-18:03 +0 N585JB - -\nf414 761 LGA-PBI 14:55-18:05 150 A320 open ? - 14:55-18:05 +0 N612JB - -\nf415 1539 MVY-JFK 14:55-16:03 70 E190 open ? - 14:55-16:03 +0 N198JB - -\nf416 100 LAX-FLL 14:59-20:18 149 A321P open ? - 14:59-20:18 +0 N942JB - -\nf417 1167 HPN-PBI 14:59-18:02 147 A320 open ? - 14:59-18:02 +0 N504JB - -\nf418 1401 JFK-FLL 14:59-18:22 140 A320 open ? - 14:59-18:22 +0 N656JB - -\nf419 1964 JFK-HYA 14:59-16:15 65 E190 open ? - 14:59-16:15 +0 N348JB - -\nf420 481 DCA-RSW 15:00-17:45 79 E190 open ? - 15:00-17:45 +0 N231JB - -\nf421 1019 JFK-DTW 15:00-17:07 84 E190 open ? - 15:00-17:07 +0 N375JB - -\nf422 1579 DCA-FLL 15:00-17:45 146 A320 open ? - 15:00-17:45 +0 N587JB - -\nf423 1955 BOS-DCA 15:00-16:51 92 E190 open ? - 15:00-16:51 +0 N236JB - -\nf424 270 MCO-RIC 15:02-17:07 146 A320 open ? - 15:02-17:07 +0 N625JB - -\nf425 641 BOS-CLE 15:05-17:05 89 E190 open ? - 15:05-17:05 +0 N281JB - -\nf426 2415 BOS-BUF 15:05-16:37 87 E190 open ? - 15:05-16:37 +0 N355JB - -\nf427 524 LAX-JFK 15:07-20:49 144 A321P open ? - 15:07-20:49 +0 N2105J - -\nf428 462 SJU-BOS 15:10-19:17 176 A321 open ? - 15:10-19:17 +0 N997JL - -\nf429 410 ACK-LGA 15:11-16:29 72 E190 open ? - 15:11-16:29 +0 N354JB - -\nf430 2184 RDU-BOS 15:14-17:15 80 E190 open ? - 15:14-17:15 +0 N307JB - -\nf431 19 BOS-SAN 15:20-21:26 150 A321P open ? - 15:20-21:26 +0 N923JB - -\nf432 2392 MIA-JFK 15:22-18:39 141 A320 open ? - 15:22-18:39 +0 N607JB - -\nf433 1180 LAX-LAS 15:25-16:52 104 A320 open ? - 15:25-16:52 +0 N535JB - -\nf434 2498 SEA-BOS 15:25-20:48 184 A321 open ? - 15:25-20:48 +0 N956JT - -\nf435 1483 JFK-MCO 15:29-18:32 191 A321 open ? - 15:29-18:32 +0 N957JB - -\nf436 96 PDX-BOS 15:30-20:52 177 A321 open ? - 15:30-20:52 +0 N966JT - -\nf437 1719 JFK-ATL 15:30-18:12 87 E190 open ? - 15:30-18:12 +0 N304JB - -\nf438 2221 JFK-MCI 15:30-18:53 127 A220 open ? - 15:30-18:53 +0 N3077J - -\nf439 2494 DCA-ACK 15:30-17:00 67 E190 open ? - 15:43-17:13 +13 N337JB - -\nf440 2735 SFO-LAX 15:30-17:05 127 A320 open ? - 15:30-17:05 +0 N584JB - -\nf441 1527 EWR-MCO 15:31-18:35 144 A320 open ? - 15:31-18:35 +0 N794JB - -\nf442 1287 PVD-PBI 15:38-18:45 150 A320 open ? - 15:38-18:45 +0 N652JB - -\nf443 2473 JFK-CHS 15:39-18:04 86 E190 open ? - 15:39-18:04 +0 N265JB - -\nf444 2666 HPN-MVY 15:45-16:45 59 E190 open ? - 15:45-16:45 +0 N184JB - -\nf445 2769 BQN-TPA 15:45-18:40 127 A320 open ? - 15:55-18:50 +10 N653JB - -\nf446 934 SJU-MCO 15:47-18:55 149 A320 open ? - 15:47-18:55 +0 N588JB - -\nf447 517 BOS-JFK 15:48-17:13 80 E190 open ? - 15:48-17:13 +0 N203JB - -\nf448 1319 BOS-MIA 15:48-19:21 132 A220 open ? - 15:48-19:21 +0 N3115J - -\nf449 435 STT-SJU 15:51-16:36 150 A320 open ? - 15:51-16:36 +0 N613JB - -\nf450 2102 FLL-JFK 15:52-19:00 148 A320 open ? - 15:52-19:00 +0 N804JB - -\nf451 615 JFK-SFO 15:55-22:37 147 A321P open ? - 15:55-22:37 +0 N967JT - -\nf452 823 JFK-LAX 15:59-22:11 147 A321P open ? - 15:59-22:11 +0 N961JT - -\nf453 1677 JFK-JAX 15:59-18:50 150 A320 open ? - 15:59-18:50 +0 N606JB - -\nf454 727 BOS-BWI 16:00-17:41 83 E190 open ? - 16:00-17:41 +0 N324JB - -\nf455 731 BOS-LGA 16:00-17:29 71 E190 open ? - 16:00-17:29 +0 N339JB - -\nf456 2251 BOS-MCO 16:00-19:23 186 A321 open ? - 16:00-19:23 +0 N2084J - -\nf457 624 LAX-JFK 16:02-21:46 144 A321P open ? - 16:11-21:55 +9 N980JT - -\nf458 691 BOS-TPA 16:04-19:30 194 A321 open ? - 16:04-19:30 +0 N996JL - -\nf459 1352 BOS-ACK 16:05-16:57 79 E190 open ? - 16:05-16:57 +0 N358JB - -\nf460 2884 MCO-JFK 16:07-19:00 92 E190 open ? - 16:07-19:00 +0 N266JB - -\nf461 1413 MVY-DCA 16:09-17:45 76 E190 open ? - 16:09-17:45 +0 N239JB - -\nf462 119 ALB-MCO 16:10-19:10 150 A320 open ? - 16:10-19:10 +0 N715JB - -\nf463 1586 MCO-BUF 16:10-18:58 150 A320 open ? - 16:10-18:58 +0 N568JB - -\nf464 697 BOS-ATL 16:12-19:12 130 A220 open ? - 16:12-19:12 +0 N3062J - -\nf465 1119 ORH-FLL 16:12-19:28 147 A320 open ? - 16:12-19:28 +0 N645JB - -\nf466 24 FLL-DCA 16:14-18:59 146 A320 open ? - 16:14-18:59 +0 N527JL - -\nf467 487 BOS-LAX 16:15-22:32 146 A321P open ? - 16:15-22:32 +0 N976JT - -\nf468 1032 LGA-BOS 16:15-17:41 75 E190 open ? - 16:15-17:41 +0 N179JB - -\nf469 197 BOS-SEA 16:20-22:46 147 A321P open ? - 16:20-22:46 +0 N992JB - -\nf470 356 DEN-LGA 16:20-20:12 136 A320 open ? - 16:20-20:12 +0 N594JB - -\nf471 1482 RIC-BOS 16:20-18:03 86 E190 open ? - 16:20-18:03 +0 N273JB - -\nf472 1374 LAX-EWR 16:22-21:58 149 A321P open ? - 16:59-22:35 +37 N934JB - -\nf473 132 LAX-MCO 16:25-21:22 150 A320 open ? - 16:25-21:22 +0 N552JB - -\nf474 1207 BOS-BNA 16:25-19:25 129 A220 open ? - 16:25-19:25 +0 N3123J - -\nf475 2259 BOS-PHL 16:25-18:10 85 E190 open ? - 16:25-18:10 +0 N192JB - -\nf476 1826 SAT-JFK 16:27-20:30 145 A320 open ? - 16:27-20:30 +0 N712JB - -\nf477 190 SAN-JFK 16:29-22:22 146 A321P open ? - 16:29-22:22 +0 N977JE - -\nf478 341 JFK-SAV 16:30-19:03 88 E190 open ? - 16:30-19:03 +0 N329JB - -\nf479 669 JFK-SJC 16:30-22:59 130 A320 open ? - 16:30-22:59 +0 N598JB - -\nf480 1133 MCO-SJU 16:30-19:28 146 A320 open ? - 16:30-19:28 +0 N506JB - -\nf481 872 SLC-JFK 16:34-21:12 136 A320 open ? - 16:34-21:12 +0 N789JB - -\nf482 447 BOS-SLC 16:35-22:04 129 A220 open ? - 16:35-22:04 +0 N3058J - -\nf483 1254 DCA-BOS 16:35-18:22 90 E190 open ? - 16:35-18:22 +0 N274JB - -\nf484 2185 BOS-PIT 16:42-18:35 87 E190 open ? - 16:42-18:35 +0 N283JB - -\nf485 2613 ATL-LGA 16:42-19:04 145 A320 open ? - 16:42-19:04 +0 N708JB - -\nf486 2901 JFK-FLL 16:42-20:09 150 A320 open ? - 16:42-20:09 +0 N599JB - -\nf487 1812 RSW-EWR 16:43-19:40 138 A320 open ? - 16:43-19:40 +0 N630JB - -\nf488 383 JFK-MCO 16:44-19:50 191 A321 open ? - 16:44-19:50 +0 N995JL - -\nf489 2566 LGA-MVY 16:45-17:56 68 E190 open ? - 16:45-17:56 +0 N323JB - -\nf490 656 MCO-SYR 16:49-19:35 95 E190 open ? - 16:49-19:35 +0 N183JB - -\nf491 694 AUS-JFK 16:49-20:47 116 A320 open ? - 16:49-20:47 +0 N526JL - -\nf492 2748 SAV-LGA 16:49-18:54 85 E190 open ? - 16:49-18:54 +0 N306JB - -\nf493 571 LGA-FLL 16:50-20:06 150 A320 open ? - 16:50-20:06 +0 N644JB - -\nf494 2154 PBI-JFK 16:50-19:46 150 A320 open ? - 16:50-19:46 +0 N520JB - -\nf495 2810 TPA-LGA 16:50-19:43 150 A320 open ? - 16:50-19:43 +0 N793JB - -\nf496 1963 HYA-JFK 16:51-18:00 72 E190 open ? - 16:51-18:00 +0 N348JB - -\nf497 915 BOS-SMF 16:55-23:18 115 A220 open ? - 16:55-23:18 +0 N3085J - -\nf498 1686 RDU-JFK 16:55-18:40 80 E190 open ? - 16:55-18:40 +0 N318JB - -\nf499 534 SFO-BOS 16:59-22:38 144 A321P open ? - 16:59-22:38 +0 N983JT - -\nf500 1118 JFK-BOS 16:59-18:31 84 E190 open ? - 16:59-18:31 +0 N267JB - -\nf501 2 JFK-BUF 17:00-18:42 88 E190 open ? - 17:00-18:42 +0 N190JB - -\nf502 1197 PVD-FLL 17:00-20:12 190 A321 open ? - 17:00-20:12 +0 N907JB - -\nf503 2053 JFK-PBI 17:00-20:11 150 A320 open ? - 17:00-20:11 +0 N807JB - -\nf504 2055 BOS-DCA 17:00-18:53 92 E190 open ? - 17:00-18:53 +0 N284JB - -\nf505 2066 RSW-BOS 17:01-20:24 134 A220 open ? - 17:01-20:24 +0 N3104J - -\nf506 225 JFK-TPA 17:02-20:14 150 A320 open ? - 17:02-20:14 +0 N779JB - -\nf507 713 BOS-ROC 17:05-18:32 84 E190 open ? - 17:05-18:32 +0 N229JB - -\nf508 2614 LGA-ATL 17:05-19:39 150 A320 open ? - 17:05-19:39 +0 N569JB - -\nf509 64 SEA-JFK 17:06-22:29 127 A320 open ? - 17:06-22:29 +0 N564JB - -\nf510 616 SFO-JFK 17:10-22:54 138 A321P open ? - 17:10-22:54 +0 N968JT - -\nf511 2093 JFK-MIA 17:10-20:27 150 A320 open ? - 17:10-20:27 +0 N597JB - -\nf512 2054 SJU-FLL 17:12-19:54 150 A320 open ? - 17:12-19:54 +0 N534JB - -\nf513 716 BUF-BOS 17:13-18:47 89 E190 open ? - 17:13-18:47 +0 N355JB - -\nf514 1132 LGA-BOS 17:15-18:42 75 E190 open ? - 17:15-18:42 +0 N328JB - -\nf515 182 BNA-FLL 17:20-19:35 132 A320 open ? - 17:20-19:35 +0 N627JB - -\nf516 1037 BOS-DTW 17:20-19:37 89 E190 open ? - 17:20-19:37 +0 N197JB - -\nf517 2648 CHS-HPN 17:20-19:35 100 A320 open ? - 17:20-19:35 +0 N746JB - -\nf518 101 FLL-LAX 17:23-22:48 148 A321P open ? - 17:23-22:48 +0 N984JB - -\nf519 246 FLL-BQN 17:25-20:01 114 A320 open ? - 17:25-20:01 +0 N562JB - -\nf520 2339 LGA-JAX 17:25-20:07 150 A320 open ? - 17:25-20:07 +0 N516JB - -\nf521 2618 FLL-JAX 17:26-18:52 103 A320 open ? - 17:26-18:52 +0 N663JB - -\nf522 1453 FLL-SJU 17:29-20:04 147 A320 open ? - 17:29-20:04 +0 N775JB - -\nf523 359 JFK-BUR 17:30-23:40 150 A320 open ? - 17:30-23:40 +0 N834JB - -\nf524 1225 MVY-BOS 17:30-18:18 59 E190 open ? - 17:30-18:18 +0 N184JB - -\nf525 1348 SJU-DCA 17:30-21:22 150 A320 open ? - 17:30-21:22 +0 N613JB - -\nf526 836 MSP-BOS 17:34-20:25 129 A220 open ? - 17:34-20:25 +0 N3065J - -\nf527 256 BZN-BOS 17:35-21:59 127 A320 open ? - 17:35-21:59 +0 N519JB - -\nf528 472 FLL-LGA 17:38-20:43 150 A320 open ? - 17:38-20:43 +0 N537JT - -\nf529 806 LAX-SEA 17:44-20:30 122 A320 open ? - 17:44-20:30 +0 N510JB - -\nf530 192 ACK-JFK 17:45-18:58 66 E190 open ? - 17:45-18:58 +0 N358JB - -\nf531 275 BDL-SJU 17:45-21:36 149 A320 open ? - 17:45-21:36 +0 N760JB - -\nf532 777 BOS-LAS 17:45-23:38 171 A321 open ? - 17:45-23:38 +0 N954JB - -\nf533 828 MCO-EWR 17:47-20:48 150 A320 open ? - 17:47-20:48 +0 N623JB - -\nf534 1120 DTW-JFK 17:48-19:43 74 E190 open ? - 17:48-19:43 +0 N375JB - -\nf535 640 CLE-BOS 17:50-19:34 86 E190 open ? - 17:50-19:34 +0 N281JB - -\nf536 1079 LAS-LAX 17:50-19:08 106 A320 open ? - 17:50-19:08 +0 N535JB - -\nf537 2073 EWR-LAX 17:51-23:50 150 A321P open ? - 17:51-23:50 +0 N987JT - -\nf538 969 RIC-MCO 17:52-19:58 126 A320 open ? - 17:52-19:58 +0 N625JB - -\nf539 1673 JFK-BNA 17:53-20:41 86 E190 open ? - 17:53-20:41 +0 N198JB - -\nf540 308 JFK-PWM 17:54-19:29 83 E190 open ? - 17:54-19:29 +0 N203JB - -\nf541 188 LAX-BOS 17:55-23:32 147 A321P open ? - 17:55-23:32 +0 N969JT - -\nf542 1799 LGA-MCO 17:55-20:57 144 A320 open ? - 17:55-20:57 +0 N637JB - -\nf543 711 JFK-LAS 17:59-23:44 181 A321 open ? - 17:59-23:44 +0 N999JQ - -\nf544 971 BOS-SJC 18:00-00:39+1 112 A220 open ? - 18:00-00:39+1 +0 N3125J - -\nf545 1331 BOS-LGA 18:00-19:27 71 E190 open ? - 18:00-19:27 +0 N206JB - -\nf546 2230 MKE-BOS 18:00-20:13 127 A220 open ? - 18:00-20:13 +0 N3118J - -\nf547 2255 BOS-DCA 18:00-19:52 92 E190 open ? - 18:00-19:52 +0 N307JB - -\nf548 2583 JFK-MCO 18:00-21:05 150 A320 open ? - 18:00-21:05 +0 N580JB - -\nf549 2783 BOS-RDU 18:00-20:09 117 A220 open ? - 18:00-20:09 +0 N3121J - -\nf550 187 BOS-LAX 18:02-00:19+1 146 A321P open ? - 18:02-00:19+1 +0 N947JB - -\nf551 1979 DCA-FLL 18:02-20:41 146 A320 open ? - 18:02-20:41 +0 N554JB - -\nf552 1734 SFO-BOS 18:05-23:41 144 A321P open ? - 18:05-23:41 +0 N945JT - -\nf553 2534 PBI-DCA 18:05-20:34 92 E190 open ? - 18:05-20:34 +0 N216JB - -\nf554 684 RDU-BOS 18:07-20:10 130 A320 open ? - 18:07-20:10 +0 N608JB - -\nf555 884 MCO-JFK 18:07-21:03 92 E190 open ? - 18:07-21:03 +0 N247JB - -\nf556 1214 DFW-BOS 18:07-21:56 116 A220 open ? - 18:07-21:56 +0 N3023J - -\nf557 1880 FLL-DCA 18:09-20:59 146 A320 open ? - 18:09-20:59 +0 N615JB - -\nf558 1294 MCO-HPN 18:10-21:02 150 A320 open ? - 18:10-21:02 +0 N640JB - -\nf559 1524 LAX-JFK 18:10-23:47 145 A321P open ? - 18:10-23:47 +0 N982JB - -\nf560 1733 DCA-PBI 18:10-20:38 92 E190 open ? - 18:10-20:38 +0 N236JB - -\nf561 1746 CLT-BOS 18:10-20:29 82 E190 open ? - 18:10-20:29 +0 N368JB - -\nf562 2275 PVD-MCO 18:12-21:13 149 A320 open ? - 18:12-21:13 +0 N517JB - -\nf563 29 FLL-SAN 18:14-23:30 150 A320 open ? - 18:14-23:30 +0 N570JB - -\nf564 88 FLL-ALB 18:15-21:26 150 A320 open ? - 18:15-21:26 +0 N641JB - -\nf565 1232 LGA-BOS 18:15-19:38 75 E190 open ? - 18:15-19:38 +0 N354JB - -\nf566 1026 BWI-BOS 18:19-19:55 85 E190 open ? - 18:19-19:55 +0 N324JB - -\nf567 2060 RSW-LGA 18:19-21:19 129 A320 open ? - 18:19-21:19 +0 N806JB - -\nf568 2465 BUF-FLL 18:20-21:19 150 A320 open ? - 18:20-21:19 +0 N646JB - -\nf569 582 RSW-DCA 18:24-20:59 74 E190 open ? - 18:24-20:59 +0 N231JB - -\nf570 2634 TPA-BDL 18:24-21:17 150 A320 open ? - 18:24-21:17 +0 N705JB - -\nf571 161 JFK-SMF 18:28-00:56+1 192 A321 open ? - 18:28-00:56+1 +0 N2060J - -\nf572 1192 TPA-BOS 18:28-21:37 130 A220 open ? - 18:28-21:37 +0 N3102J - -\nf573 33 BOS-SFO 18:30-01:16+1 144 A321P open ? - 18:30-01:16+1 +0 N962JT - -\nf574 263 JFK-SEA 18:30-01:05+1 137 A321P open ? - 18:30-01:05+1 +0 N978JB - -\nf575 1267 HPN-PBI 18:30-21:24 147 A320 open ? - 18:30-21:24 +0 N503JB - -\nf576 1903 JFK-SJU 18:30-22:28 189 A321 open ? - 18:30-22:28 +0 N973JT - -\nf577 2416 SFO-JFK 18:30-00:11+1 138 A321P open ? - 18:30-00:11+1 +0 N993JE - -\nf578 2754 DCA-BOS 18:30-20:08 90 E190 open ? - 18:30-20:08 +0 N239JB - -\nf579 2404 SJU-JFK 18:31-22:29 150 A320 open ? - 18:31-22:29 +0 N529JB - -\nf580 2202 FLL-JFK 18:36-21:40 148 A320 open ? - 18:36-21:40 +0 N796JB - -\nf581 1185 JFK-RDU 18:38-20:38 89 E190 open ? - 18:38-20:38 +0 N348JB - -\nf582 2952 MCO-BOS 18:40-21:45 89 E190 open ? - 18:40-21:45 +0 N193JB - -\nf583 1451 BOS-MCO 18:45-21:59 150 A320 open ? - 18:45-21:59 +0 N595JB - -\nf584 798 MCO-LGA 18:47-21:40 141 A320 open ? - 18:47-21:40 +0 N547JB - -\nf585 1303 BOS-PHX 18:47-00:27+1 142 A320 open ? - 18:47-00:27+1 +0 N565JB - -\nf586 2565 MVY-LGA 18:48-20:00 64 E190 open ? - 18:48-20:00 +0 N323JB - -\nf587 362 SJU-BOS 18:50-22:48 142 A320 open ? - 18:50-22:48 +0 N559JB - -\nf588 1274 CHS-JFK 18:50-21:00 81 E190 open ? - 18:50-21:00 +0 N265JB - -\nf589 1320 ATL-JFK 18:50-21:20 86 E190 open ? - 18:50-21:20 +0 N304JB - -\nf590 1168 PBI-HPN 18:54-21:54 149 A320 open ? - 18:54-21:54 +0 N504JB - -\nf591 277 FLL-SFO 18:55-00:53+1 143 A321P open ? - 18:55-00:53+1 +0 N935JB - -\nf592 2460 PHL-BOS 18:55-20:29 79 E190 open ? - 18:55-20:29 +0 N192JB - -\nf593 2122 ACK-HPN 18:57-20:00 80 E190 open ? - 18:57-20:00 +0 N337JB - -\nf594 801 MCO-SLC 18:59-23:40 140 A320 open ? - 18:59-23:40 +0 N505JB - -\nf595 1005 JFK-PDX 18:59-01:25+1 129 A320 open ? - 18:59-01:25+1 +0 N603JB - -\nf596 495 HPN-MCO 19:00-21:54 150 A320 open ? - 19:00-21:54 +0 N605JB - -\nf597 1262 PBI-LGA 19:00-21:53 150 A320 open ? - 19:00-21:53 +0 N612JB - -\nf598 1431 BOS-LGA 19:00-20:26 71 E190 open ? - 19:00-20:26 +0 N179JB - -\nf599 1732 LAX-SLC 19:00-20:49 125 A320 open ? - 19:00-20:49 +0 N634JB - -\nf600 1080 LAX-LAS 19:10-20:35 104 A320 open ? - 19:10-20:35 +0 N583JB - -\nf601 176 MSY-JFK 19:13-22:29 130 A320 open ? - 19:13-22:29 +0 N566JB - -\nf602 2232 IAH-BOS 19:14-23:07 130 A220 open ? - 19:14-23:07 +0 N3008J - -\nf603 153 DEN-LGA 19:15-23:11 136 A320 open ? - 19:15-23:11 +0 N589JB - -\nf604 1289 EWR-SJU 19:16-23:13 150 A320 open ? - 19:16-23:13 +0 N531JL - -\nf605 293 BOS-DEN 19:20-23:57 180 A321 open ? - 19:20-23:57 +0 N955JB - -\nf606 1124 LAX-JFK 19:20-00:49+1 144 A321P open ? - 19:20-00:49+1 +0 N943JT - -\nf607 2186 PIT-BOS 19:20-20:57 83 E190 open ? - 19:20-20:57 +0 N283JB - -\nf608 1718 JFK-BOS 19:25-20:55 84 E190 open ? - 19:25-20:55 +0 N318JB - -\nf609 65 JFK-ABQ 19:29-00:24+1 150 A320 open ? - 19:29-00:24+1 +0 N763JB - -\nf610 548 TPA-HPN 19:29-22:29 148 A320 open ? - 19:35-22:35 +6 N653JB - -\nf611 223 JFK-LAX 19:30-01:49+1 147 A321P open ? - 19:30-01:49+1 +0 N937JB - -\nf612 1281 BOS-RIC 19:30-21:13 89 E190 open ? - 19:30-21:13 +0 N273JB - -\nf613 1382 LGA-PWM 19:30-20:45 85 E190 open ? - 19:30-20:45 +0 N339JB - -\nf614 1761 LGA-PBI 19:30-22:29 145 A320 open ? - 19:30-22:29 +0 N655JB - -\nf615 2354 DCA-BOS 19:30-21:04 90 E190 open ? - 19:30-21:04 +0 N284JB - -\nf616 1284 MCO-JFK 19:32-22:28 185 A321 open ? - 19:32-22:28 +0 N957JB - -\nf617 1678 JAX-JFK 19:35-22:07 145 A320 open ? - 19:35-22:07 +0 N606JB - -\nf618 201 BUF-JFK 19:36-21:00 90 E190 open ? - 19:36-21:00 +0 N190JB - -\nf619 1017 JAX-FLL 19:37-21:00 91 A320 open ? - 19:37-21:00 +0 N663JB - -\nf620 355 JFK-ONT 19:40-01:44+1 181 A321 open ? - 19:40-01:44+1 +0 N971JT - -\nf621 1142 PBI-BDL 19:40-22:33 144 A320 open ? - 19:40-22:33 +0 N652JB - -\nf622 2006 MCO-BOS 19:40-22:44 144 A320 open ? - 19:40-22:44 +0 N636JB - -\nf623 317 BOS-JFK 19:41-21:00 80 E190 open ? - 19:41-21:00 +0 N184JB - -\nf624 83 JFK-MCO 19:45-22:46 96 E190 open ? - 19:45-22:46 +0 N358JB - -\nf625 342 SAV-JFK 19:49-21:59 81 E190 open ? - 19:49-21:59 +0 N329JB - -\nf626 148 LAS-JFK 19:50-00:51+1 133 A320 open ? - 19:50-00:51+1 +0 N629JB - -\nf627 2319 FLL-SLC 19:50-00:57+1 134 A320 open ? - 19:50-00:57+1 +0 N587JB - -\nf628 2364 MCI-BOS 19:50-22:49 125 A220 open ? - 19:50-22:49 +0 N3077J - -\nf629 541 BOS-CLE 19:55-21:58 89 E190 open ? - 19:55-21:58 +0 N274JB - -\nf630 942 LAX-RNO 19:55-21:20 119 A320 open ? - 19:55-21:20 +0 N584JB - -\nf631 2385 BOS-PIT 19:55-21:42 87 E190 open ? - 19:55-21:42 +0 N267JB - -\nf632 2886 MIA-LAX 19:58-01:16+1 145 A321P open ? - 19:58-01:16+1 +0 N991JT - -\nf633 47 LGA-TPA 19:59-22:59 150 A320 open ? - 19:59-22:59 +0 N586JB - -\nf634 1096 ATL-BOS 19:59-22:44 126 A220 open ? - 19:59-22:44 +0 N3062J - -\nf635 131 MCO-LAX 20:00-01:01+1 144 A320 open ? - 20:00-01:01+1 +0 N585JB - -\nf636 703 JFK-SJU 20:00-23:59 189 A321 open ? - 20:00-23:59 +0 N2002J - -\nf637 1211 JFK-LAS 20:00-01:44+1 181 A321 open ? - 20:00-01:44+1 +0 N975JT - -\nf638 2181 JFK-RNO 20:00-02:09+1 144 A320 open ? - 20:00-02:09+1 +0 N607JB - -\nf639 2523 DCA-MCO 20:00-22:21 149 A320 open ? - 20:00-22:21 +0 N527JL - -\nf640 2602 JFK-BUF 20:00-21:38 88 E190 open ? - 20:00-21:38 +0 N266JB - -\nf641 307 PWM-JFK 20:05-21:22 80 E190 open ? - 20:05-21:22 +0 N203JB - -\nf642 1873 EWR-LAX 20:05-02:03+1 150 A321P open ? - 20:05-02:03+1 +0 N986JB - -\nf643 1720 MIA-BOS 20:06-23:28 120 A220 open ? - 20:06-23:28 +0 N3115J - -\nf644 97 JFK-DEN 20:10-00:42+1 147 A320 open ? - 20:10-00:42+1 +0 N643JB - -\nf645 572 FLL-LGA 20:10-23:13 150 A320 open ? - 20:10-23:13 +0 N558JB - -\nf646 815 JFK-SFO 20:10-02:56+1 147 A321P open ? - 20:10-02:56+1 +0 N946JL - -\nf647 1206 BNA-BOS 20:10-22:42 125 A220 open ? - 20:10-22:42 +0 N3123J - -\nf648 709 BOS-JAX 20:15-23:10 149 A320 open ? - 20:55-23:50 +40 N608JB - -\nf649 1432 LGA-BOS 20:15-21:35 75 E190 open ? - 20:15-21:35 +0 N306JB - -\nf650 135 JFK-PHX 20:16-01:48+1 180 A321 open ? - 20:16-01:48+1 +0 N998JE - -\nf651 568 FLL-ATL 20:20-22:12 127 A320 open ? - 20:20-22:12 +0 N632JB - -\nf652 914 FLL-HPN 20:20-23:29 145 A320 open ? - 20:20-23:29 +0 N656JB - -\nf653 1134 SJU-MCO 20:22-23:26 149 A320 open ? - 20:22-23:26 +0 N506JB - -\nf654 1136 DTW-BOS 20:25-22:11 89 E190 open ? - 20:25-22:11 +0 N197JB - -\nf655 2119 LGA-MSY 20:25-23:47 141 A320 open ? - 20:25-23:47 +0 N708JB - -\nf656 998 MCO-LGA 20:28-23:15 150 A320 open ? - 20:28-23:15 +0 N794JB - -\nf657 2061 LGA-RSW 20:29-23:45 139 A320 open ? - 20:29-23:45 +0 N793JB - -\nf658 2513 ATL-LGA 20:29-22:55 145 A320 open ? - 20:29-22:55 +0 N569JB - -\nf659 234 JFK-BTV 20:30-22:00 80 E190 open ? - 20:30-22:00 +0 N375JB - -\nf660 369 BOS-FLL 20:30-23:52 189 A321 open ? - 20:30-23:52 +0 N997JL - -\nf661 2273 EWR-TPA 20:30-23:24 142 A320 open ? - 20:30-23:24 +0 N658JB - -\nf662 506 FLL-EWR 20:33-23:29 138 A320 open ? - 20:33-23:29 +0 N521JB - -\nf663 138 MCO-BDL 20:36-23:25 150 A320 open ? - 20:36-23:25 +0 N588JB - -\nf664 1152 MCO-BOS 20:36-23:43 177 A321 open ? - 20:36-23:43 +0 N2084J - -\nf665 1823 JFK-LAX 20:37-02:52+1 147 A321P open ? - 20:37-02:52+1 +0 N929JB - -\nf666 460 FLL-BDL 20:40-23:43 148 A320 open ? - 20:40-23:43 +0 N645JB - -\nf667 613 HPN-FLL 20:40-23:34 146 A320 open ? - 20:40-23:34 +0 N746JB - -\nf668 692 TPA-BOS 20:40-23:46 186 A321 open ? - 20:40-23:46 +0 N996JL - -\nf669 983 BOS-RDU 20:40-22:42 83 E190 open ? - 20:40-22:42 +0 N328JB - -\nf670 1146 FLL-RIC 20:40-22:56 133 A320 open ? - 20:40-22:56 +0 N627JB - -\nf671 2514 LGA-ATL 20:40-23:04 95 E190 open ? - 20:40-23:04 +0 N206JB - -\nf672 617 BOS-JFK 20:43-21:59 80 E190 open ? - 20:43-21:59 +0 N355JB - -\nf673 516 MCO-SJU 20:44-23:36 146 A320 open ? - 20:44-23:36 +0 N715JB - -\nf674 607 FLL-LAS 20:46-01:56+1 147 A320 open ? - 20:46-01:56+1 +0 N534JB - -\nf675 310 JAX-BOS 20:52-23:32 142 A320 open ? - 20:52-23:32 +0 N516JB - -\nf676 384 MCO-JFK 20:52-23:41 185 A321 open ? - 20:52-23:41 +0 N995JL - -\nf677 2752 SJU-TPA 20:53-23:56 150 A320 open ? - 20:53-23:56 +0 N775JB - -\nf678 333 BOS-SFO 20:55-03:28+1 144 A321P open ? - 20:55-03:28+1 +0 N981JT - -\nf679 1484 RDU-BOS 20:55-22:54 113 A220 open ? - 20:55-22:54 +0 N3121J - -\nf680 245 BQN-FLL 20:56-23:23 94 A320 open ? - 20:56-23:23 +0 N562JB - -\nf681 1044 PBI-EWR 20:56-23:43 141 A320 open ? - 20:56-23:43 +0 N807JB - -\nf682 2174 TPA-EWR 20:59-23:44 150 A320 open ? - 20:59-23:44 +0 N779JB - -\nf683 2626 FLL-RDU 20:59-23:04 128 A320 open ? - 20:59-23:04 +0 N644JB - -\nf684 89 JFK-SAN 21:00-02:59+1 143 A321P open ? - 21:00-02:59+1 +0 N989JT - -\nf685 471 LGA-FLL 21:02-00:03+1 150 A320 open ? - 21:02-00:03+1 +0 N594JB - -\nf686 1802 FLL-JFK 21:10-00:05+1 148 A320 open ? - 21:10-00:05+1 +0 N599JB - -\nf687 2092 MIA-JFK 21:12-00:18+1 141 A320 open ? - 21:12-00:18+1 +0 N597JB - -\nf688 386 RDU-JFK 21:13-22:59 80 E190 open ? - 21:13-22:59 +0 N348JB - -\nf689 170 FLL-BOS 21:15-00:31+1 186 A321 open ? - 21:15-00:31+1 +0 N907JB - -\nf690 71 JFK-SLC 21:20-02:34+1 142 A320 open ? - 21:20-02:34+1 +0 N571JB - -\nf691 1279 LAS-LAX 21:20-22:31 106 A320 open ? - 21:20-22:31 +0 N583JB - -\nf692 1674 BNA-JFK 21:24-23:52 69 E190 open ? - 21:24-23:52 +0 N198JB - -\nf693 807 SEA-LAX 21:25-00:10+1 132 A320 open ? - 21:25-00:10+1 +0 N510JB - -\nf694 2501 FLL-LAX 21:29-02:59+1 148 A321P open ? - 21:29-02:59+1 +0 N942JB - -\nf695 499 LGA-MCO 21:30-00:09+1 150 A320 open ? - 21:30-00:09+1 +0 N537JT - -\nf696 283 JFK-MCO 21:35-00:20+1 96 E190 open ? - 21:35-00:20+1 +0 N184JB - -\nf697 2516 JFK-SYR 21:39-23:02 80 E190 open ? - 21:39-23:02 +0 N190JB - -\nf698 536 LAX-SFO 21:40-22:58 143 A320 open ? - 21:40-22:58 +0 N768JB - -\nf699 1731 SLC-LAX 21:40-23:31 136 A320 open ? - 21:40-23:31 +0 N634JB - -\nf700 2615 JFK-SFO 21:40-03:58+1 147 A321P open ? - 21:40-03:58+1 +0 N964JT - -\nf701 2129 JFK-RSW 21:42-00:53+1 141 A320 open ? - 21:42-00:53+1 +0 N804JB - -\nf702 1387 BOS-LAX 21:45-03:59+1 146 A321P open ? - 21:45-03:59+1 +0 N2142J - -\nf703 2194 MCO-EWR 21:48-00:28+1 141 A320 open ? - 21:48-00:28+1 +0 N625JB - -\nf704 1419 JFK-DTW 21:55-23:57 84 E190 open ? - 21:55-23:57 +0 N265JB - -\nf705 318 JFK-BOS 21:59-23:20 84 E190 open ? - 21:59-23:20 +0 N247JB - -\nf706 1723 JFK-LAX 21:59-04:11+1 147 A321P open ? - 21:59-04:11+1 +0 N2105J - -\nf707 486 JFK-ROC 22:00-23:28 82 E190 open ? - 22:00-23:28 +0 N203JB - -\nf708 430 MCO-BQN 22:05-00:49+1 122 A320 open ? - 22:05-00:49+1 +0 N637JB - -\nf709 1475 BDL-SJU 22:12-02:02+1 149 A320 open ? - 22:12-02:02+1 +0 N705JB - -\nf710 943 RNO-LAX 22:16-23:59 118 A320 open ? - 22:16-23:59 +0 N584JB - -\nf711 2134 SJU-MCO 22:27-01:21+1 149 A320 open ? - 22:27-01:21+1 +0 N760JB - -\nf712 839 JFK-BQN 22:28-02:23+1 150 A320 open ? - 22:28-02:23+1 +0 N520JB - -\nf713 767 MCO-PSE 22:30-01:23+1 135 A320 open ? - 22:30-01:23+1 +0 N580JB - -\nf714 403 JFK-SJU 22:58-02:52+1 189 A321 open ? - 22:58-02:52+1 +0 N2016J - -\nf715 745 JFK-PSE 22:58-02:58+1 150 A320 open ? - 22:58-02:58+1 +0 N709JB - -\nf716 2120 SAN-BOS 23:10-04:39+1 150 A321P open ? - 23:10-04:39+1 +0 N923JB - -\nf717 2133 MCO-SJU 23:14-02:05+1 146 A320 open ? - 23:14-02:05+1 +0 N517JB - -\nf718 561 BOS-SJU 23:35-03:32+1 178 A321 open ? - 23:35-03:32+1 +0 N956JT - -\nf719 2985 LAX-MIA 23:45-05:06+1 146 A321P open ? - 23:45-05:06+1 +0 N961JT - -\nf720 670 SJC-JFK 23:49-05:17+1 125 A320 open ? - 23:49-05:17+1 +0 N598JB - -\nf721 388 LAX-BOS 23:59-05:35+1 147 A321P open ? - 23:59-05:35+1 +0 N976JT - -\nf722 498 SEA-BOS 00:10+1-05:23+1 146 A321P open ? - 00:10+1-05:23+1 +0 N992JB - -\nf723 916 SMF-BOS 00:20+1-05:43+1 129 A220 open ? - 00:20+1-05:43+1 +0 N3085J - -\nf724 2218 LAX-CHS 00:25+1-05:26+1 131 A320 open ? - 00:25+1-05:26+1 +0 N535JB - -\nf725 30 SAN-FLL 00:30+1-05:33+1 136 A320 open ? - 00:30+1-05:33+1 +0 N570JB - -\nf726 358 BUR-JFK 00:30+1-06:02+1 111 A320 open ? - 00:30+1-06:02+1 +0 N834JB - -\nf727 348 SLC-BOS 00:31+1-05:00+1 132 A220 open ? - 00:31+1-05:00+1 +0 N3058J - -\nf728 72 SLC-JFK 00:34+1-05:01+1 136 A320 open ? - 00:34+1-05:01+1 +0 N505JB - -\nf729 34 SFO-BOS 00:55+1-06:32+1 144 A321P open ? - 00:55+1-06:32+1 +0 N967JT - -\nf730 1268 LAX-BDL 01:00+1-06:29+1 149 A320 open ? - 01:00+1-06:29+1 +0 N583JB - -\nf731 1574 LAX-EWR 01:00+1-06:28+1 149 A321P open ? - 01:00+1-06:28+1 +0 N987JT - -\nf732 594 DEN-BOS 01:10+1-05:00+1 182 A321 open ? - 01:10+1-05:00+1 +0 N955JB - -\nf733 700 LAX-FLL 01:17+1-06:30+1 149 A321P open ? - 01:17+1-06:30+1 +0 N984JB - -\nf734 1302 PHX-BOS 01:17+1-06:12+1 144 A320 open ? - 01:17+1-06:12+1 +0 N565JB - -\nf735 778 LAS-BOS 01:20+1-06:22+1 169 A321 open ? - 01:20+1-06:22+1 +0 N954JB - -\nf736 124 LAX-JFK 01:34+1-07:10+1 144 A321P open ? - 01:34+1-07:10+1 +0 N947JB - -\nf737 1548 LAS-JFK 01:35+1-06:30+1 164 A321 open ? - 01:35+1-06:30+1 +0 N999JQ - -\nf738 66 ABQ-JFK 01:40+1-05:49+1 144 A320 open ? - 01:40+1-05:49+1 +0 N763JB - -\nf739 98 DEN-JFK 01:45+1-05:27+1 137 A320 open ? - 01:45+1-05:27+1 +0 N643JB - -\nf740 972 SJC-BOS 01:55+1-07:33+1 128 A220 open ? - 01:55+1-07:33+1 +0 N3125J - -\nf741 2320 SLC-FLL 01:59+1-06:37+1 124 A320 open ? - 01:59+1-06:37+1 +0 N587JB - -\nf742 162 SMF-JFK 02:09+1-07:30+1 183 A321 open ? - 02:09+1-07:30+1 +0 N2060J - -\nf743 278 SFO-FLL 02:14+1-07:55+1 144 A321P open ? - 02:14+1-07:55+1 +0 N935JB - -\nf744 264 SEA-JFK 02:19+1-07:29+1 135 A321P open ? - 02:19+1-07:29+1 +0 N978JB - -\nf745 988 LAX-BOS 02:40+1-08:19+1 147 A321P open ? - 02:40+1-08:19+1 +0 N991JT - -\nf746 608 LAS-FLL 02:46+1-07:29+1 147 A320 open ? - 02:46+1-07:29+1 +0 N534JB - -\nf747 1006 PDX-JFK 02:48+1-07:58+1 131 A320 open ? - 02:48+1-07:58+1 +0 N603JB - -\nf748 136 PHX-JFK 02:58+1-07:48+1 169 A321 open ? - 02:58+1-07:48+1 +0 N998JE - -\nf749 80 RNO-JFK 02:59+1-08:06+1 120 A320 open ? - 02:59+1-08:06+1 +0 N607JB - -\nf750 354 ONT-JFK 02:59+1-08:22+1 178 A321 open ? - 02:59+1-08:22+1 +0 N971JT - -\nf751 1216 SFO-JFK 02:59+1-08:30+1 138 A321P open ? - 02:59+1-08:30+1 +0 N962JT - -\nf752 1316 LAX-JFK 02:59+1-08:37+1 144 A321P open ? - 02:59+1-08:37+1 +0 N937JB - -\nf753 2348 LAS-JFK 02:59+1-07:54+1 164 A321 open ? - 02:59+1-07:54+1 +0 N975JT - -\n\n## Aircraft now, as your plan has them (@ = ready at)\nBOS: N190JB N192JB@07:11 N197JB N2142J N216JB N229JB N231JB N239JB N266JB N273JB N283JB N3008J N3023J@08:46 N3044J@18:52 N304JB N3058J@05:40 N3062J N3065J N3077J N307JB N3085J N3102J N3104J@06:50 N3113J@06:08 N3115J N3118J N3121J N3123J N3125J N329JB N355JB@07:25 N519JB@05:45 N547JB N554JB N559JB@13:09 N565JB N648JB N923JB@06:17 N944JT N945JT@05:40 N954JB N955JB@06:21 N956JT N966JT N969JT@06:13 N976JT@07:33 N979JT N981JT N985JT N992JB@15:10 N996JL@15:14 N997JL\nJFK: N198JB@11:19 N2002J@19:10 N2016J N2039J@19:37 N2060J@17:09 N2105J N265JB N318JB N354JB N358JB N503JB@05:22 N507JT N523JB N526JL@10:43 N529JB@10:45 N563JB@09:23 N564JB@06:57 N568JB@08:55 N571JB@05:45 N598JB N603JB N606JB N625JB N641JB N643JB@19:25 N662JB N729JB N763JB@18:14 N779JB@16:25 N789JB@07:35 N807JB@08:41 N834JB@06:15 N943JT@09:23 N946JL N959JB@04:49 N961JT@09:35 N964JT N968JT N970JB N971JT@04:07 N973JT@17:40 N975JT@19:10 N977JE N980JT N982JB@08:37 N988JT N989JT N993JE@08:09 N998JE@19:26 N999JQ\nALB: N537JT\nATL: N306JB N591JB\nBDL: N580JB N589JB N639JB N653JB@08:23\nBQN: N629JB@04:38\nBTV: N206JB\nBUF: N348JB N715JB\nCHS: N768JB@06:02\nCLE: N324JB\nDCA: N274JB N284JB N368JB N599JB N760JB\nDTW: N187JB\nEWR: N504JB N506JB N636JB N645JB N658JB N663JB N708JB N934JB@09:47 N986JB\nFLL: N2102J N527JL@14:08 N531JL N558JB@06:16 N562JB N570JB N587JB@07:10 N594JB N605JB N613JB@05:30 N624JB N630JB N646JB N746JB@13:23 N775JB N806JB N907JB N942JB@07:18 N983JT@08:46\nHPN: N247JB N637JB N652JB N655JB N705JB\nJAX: N586JB\nLAX: N510JB N535JB@05:28 N552JB@09:05 N583JB N584JB N937JB@04:26 N962JT@05:02 N978JB N984JB@05:00 N987JT@04:54\nLGA: N203JB N323JB N505JB N521JB N569JB N585JB N588JB N612JB N804JB\nMCO: N183JB@16:14 N267JB N281JB N508JL@05:32 N517JB N566JB N592JB@07:10 N627JB N632JB N640JB N644JB N656JB N805JB\nMIA: N991JT@05:44\nMSY: N796JB\nPBI: N236JB N516JB N615JB\nPIT: N184JB\nPSE: N607JB@05:31\nPWM: N179JB\nRDU: N328JB N597JB\nRIC: N249JB N579JB\nROC: N337JB N375JB\nRSW: N712JB N793JB\nSAN: N929JB\nSFO: N621JB N935JB@05:02 N947JB N967JT@04:42\nSJU: N2084J N534JB@07:06 N561JB N595JB N634JB N794JB N957JB@04:23 N974JT N995JL@04:44\nSLC: N623JB\nSYR: N193JB N339JB\nTPA: N520JB N608JB N709JB\nairborne: none\n\n## News so far\n[22:38-1] TAF AMD KJFK 070238Z 0703/0806 16007KT P6SM SCT008 FM070500 15004KT 2SM BR OVC008 FM071200 15006KT 6SM BR BKN012 FM071500 15008KT P6SM FEW020 SCT250 FM071800 15011KT P6SM BKN250 FM080100 16005KT P6SM SCT250 FM080300 17005KT P6SM BKN012=\n[01:24] TAF KBOS 070524Z 0706/0812 21006KT P6SM FEW250 FM071500 15009KT P6SM SCT250 FM072200 19010KT P6SM SCT250 FM080600 20005KT P6SM BKN020 FM080900 21005KT P6SM BKN015=\n[01:38] TAF KJFK 070538Z 0706/0812 19004KT 3SM BR OVC007 FM071200 15006KT 6SM BR BKN012 FM071500 15008KT P6SM FEW020 SCT250 FM071800 15011KT P6SM BKN250 FM080100 16005KT P6SM SCT250 FM080300 17005KT P6SM BKN012=\n[02:51] KJFK 070651Z 20005KT 10SM BKN013 BKN019 OVC250 24/22 A2988 RMK AO2 SLP118 T02390222 $\n[02:54] KBOS 070654Z 21008KT 10SM SCT250 22/20 A2988 RMK AO2 SLP118 T02220200 $\n[03:12] TAF AMD KJFK 070712Z 0707/0812 19004KT P6SM OVC012 TEMPO 0708/0712 4SM BR BKN008 FM071200 15006KT 6SM BR BKN012 FM071500 15008KT P6SM FEW020 SCT250 FM071800 15011KT P6SM BKN250 FM080100 16005KT P6SM SCT250 FM080300 17005KT P6SM BKN012=\n[03:49] KJFK 070749Z 20003KT 10SM BKN016 BKN250 24/23 A2987 RMK AO2 IEM_GHCNH\n[03:51] KJFK 070751Z 20003KT 10SM BKN016 BKN250 24/23 A2987 RMK AO2 SLP116 T02390228 $\n[03:54] KBOS 070754Z 20006KT 10SM FEW007 SCT250 22/20 A2988 RMK AO2 SLP119 T02170200 $\n\nIt is the first watch, 04:00. Nothing is frozen yet: set the day up with confirm_changes, then call advance.", + "max_turns": 349, + "model_params": { + "max_tokens": 32000 + }, + "timeout_seconds": 7200 + }, + { + "id": "end-day", + "type": "apply_server_config", + "env_id": "airops-v3-day", + "directives": [ + { + "service": "airops-v3-day", + "uri": "urn:airops:v3-end-day/v1", + "args": {} + } + ] + }, + { + "id": "grade", + "type": "env_outcome_verifier", + "env_id": "airops-v3-day", + "file_artifact_id": "airops-verifier", + "verifier_id": "airops", + "score_aggregator": "weighted_average" + } +] diff --git a/src/agentenv_airops/bundles/airops-v3/tasks/b6-20230817-0400.json b/src/agentenv_airops/bundles/airops-v3/tasks/b6-20230817-0400.json new file mode 100644 index 0000000..27cb4aa --- /dev/null +++ b/src/agentenv_airops/bundles/airops-v3/tasks/b6-20230817-0400.json @@ -0,0 +1,71 @@ +[ + { + "id": "deploy", + "type": "deploy_env", + "env_id": "airops-v3-day" + }, + { + "id": "load-task", + "type": "apply_server_config", + "env_id": "airops-v3-day", + "directives": [ + { + "service": "airops-v3-day", + "uri": "urn:airops:v3-live-load/v1", + "args": { + "task_id": "b6-20230817-0400", + "anchor": 3890604, + "follower": 3959907 + } + } + ] + }, + { + "id": "deploy-agent", + "type": "deploy_agent", + "a2a_agent_id": "airops-llm", + "env_ids": [ + "airops-v3-day" + ] + }, + { + "id": "clock", + "type": "sync_env_clock", + "env_id": "airops-v3-day", + "virtual_time": "2023-08-17T08:00:00Z", + "virtual_seconds_per_real_second": 0, + "tolerate_missing_sync_time": false + }, + { + "id": "play", + "type": "prompt_agent", + "prompt_id": "b6-20230817-0400", + "system_prompt": "You run the JetBlue operations desk on a storm day at JFK and BOS: thunderstorms, snow or wind, and the FAA ground stops and ground delay programs (GDPs) that follow, cut how many JetBlue flights can land and take off. Your job is to decide which flights to cancel and which to hold, watch by watch, so that passengers and the airline lose as little as possible over the day.\n\nHow the day runs:\n- The day is played in watches starting at watch 0: one an hour, and one more when an advisory or a SPECI reaches the desk or a ramp closure begins or ends, so watches are 15 to 60 minutes apart. The first message gives the day as the desk knows it at watch 0. Every tool call takes 1 minute of the watch; when the watch's time runs out, the next watch opens by itself, and advance opens it at once.\n- What the desk knows: a flight's own departure delay (weather, air traffic control: anything but waiting for its aircraft or a slot) becomes known 2 hours before its scheduled departure; until then it is assumed on time. FAA Command Center advisories and the hubs' METARs, SPECIs and TAFs arrive as messages at the first watch after they reach the desk: an advisory 0 minutes after it is signed, a METAR 5 and a SPECI 5 minutes after its observation, a TAF 10 minutes after its issue, and the programs table shows the programs as issued, proposed GDPs included; a program may end earlier or later than issued.\n- Ground delay programs: a GDP meters arrivals at a hub over its period. A flight into the hub from an origin in its scope, scheduled to land in the period, needs one of JetBlue's arrival slots in the program: it takes the earliest free slot at or after the time it could land and leaves at its EDCT, the slot less its scheduled block. A cancelled or late flight leaves its slot to the flights behind it. Arrivals outside a program fit under the hub's hourly rate.\n- Ground stops: a flight to a stopped hub from an origin the stop covers waits on the ground until the stop ends; flights already airborne fly on.\n- Departure caps: an airport may take only so many JetBlue departures in an hour (the departure caps table, known 4 hours ahead); a flight with no room in its hour tries again at the next hour's start.\n- Outstation arrival caps: an outstation may take only so many JetBlue arrivals in an hour (the outstation arrival caps table, known 4 hours ahead); a flight with no room in its arrival hour leaves so as to land in the next one.\n- Ramp closures: lightning at the field cuts a hub's ramp rate without stopping it. During a closure only so many JetBlue flights may leave the hub and only so many arrive there; a departure with no room leaves at the closure's end, an arrival with none leaves so as to land at it. A closure is known once it begins; until its end comes it is expected to last 30 minutes more, with caps for that long, and the closures table says which ends are reported and which expected.\n- The env flies your plan on the day as it happens: each flight leaves at the earliest time its delay, its hold, a slot, a stop, a cap and an aircraft allow. It takes the first aircraft of its type ready at its origin (aircraft of one type at one airport are interchangeable; an aircraft needs its turn time on the ground between flights). A flight that can't leave by its deadline is cancelled automatically there. At the end of the day the env ferries each aircraft to the airport it is needed at tomorrow.\n- Your decisions: cancel a flight (its aircraft stays on the ground, free for other flights, and its slot goes to the flights behind), restore a cancelled flight, or hold a flight until a time (not_before) so that its slot or aircraft goes to another flight first. A flight you don't touch leaves as early as it can.\n- The freeze: at watch 0 nothing is frozen. From watch 1 on, flights your plan has leaving before the freeze line, 60 minutes after the watch opens, are frozen: they can't be changed, and stay frozen. A cancellation is final. The env holds any other flight your plan would have leaving before the freeze line to it, and refuses a change that would move a frozen flight or one that has already gone.\n\nTools:\n- get_situation(): the time, the freeze line, the programs as issued with JetBlue's slots, the departure caps known so far, the outstation arrival caps known so far, the ramp closures under way or over, the latest METAR or SPECI and TAF per hub, every flight (its status, its known delay, your plan, where your plan has it leave and land on the day as known, how late it lands, its aircraft, its slot and its crew), where the aircraft are, and the news so far.\n- check_plan(changes): your changes over your plan, run on the day as known now: the plan's cost, the flights whose plan or times change, the automatic cancellations, the flights the env would hold to the freeze line, and the changes confirm_changes would refuse. It confirms nothing.\n- confirm_changes(changes): commits the changes; flights you leave out keep their plan.\n- advance(): ends the watch; its result has the new watch's news. After the last watch it returns \"done\": the day is graded on your plan.\nA change is {\"flight\": \"f12\", \"action\": \"cancel\" | \"restore\" | \"hold\" | \"call_reserve\" | \"release_reserve\", \"not_before\": \"HH:MM\" | null}: cancel takes not_before null; restore and hold fly the flight, held until not_before (local time, \"00:30+1\" after midnight), or as early as it can with null. Where a crew base has a reserve pool (the situation's Reserve crews), a flight leaving it past its crew's deadline flies only on a reserve: call_reserve gives it one while the pool lasts, release_reserve hands it back before that deadline.\n\nThe cost, in passenger-minutes: every passenger's minutes of arrival delay; 523 for each passenger on a cancelled flight, plus one for every minute the cancellation is decided later than 2 hours before its scheduled departure (an automatic cancellation is decided at its deadline, so it costs more than an early one); the airline's own aircraft minutes (a late departure costs crew and fixed costs, a long block fuel too, and a cancellation saves its fuel and maintenance); and the end-of-day ferries. A cancellation frees an aircraft and a slot; it pays when it saves the others more than it costs its own passengers. The day is graded once, on your final plan flown on the day as it really happened: the closer its cost to the best plan possible in hindsight, the higher the score. If you stop before the last watch, the rest of the day runs on your plan.", + "prompt": "# JetBlue operations desk, JFK/BOS, Thursday 2023-08-17; times are local (America/New_York).\n\nNow 04:00 (watch 0, opened 04:00). First watch: nothing is frozen; changes take effect at once.\n\nYour plan on the day as known costs 444,047 (delay 350,644, cancellations 0, notice 0, ferries 0): 0 cancelled, 0 cancelled automatically, 0 on slots.\n\n## Programs as issued (FAA Command Center)\nNone.\n\n## Departure caps: JetBlue departures per hour, known 240 min ahead\nBOS: 07h 13\nJFK: 07h 6\n\n## Outstation arrival caps: JetBlue arrivals per hour, known 240 min ahead\nMCO: 08h 3\nRDU: 08h 1\n\n## Ramp closures (lightning at the field; known once begun)\nNone.\n\n## Latest weather (METAR or SPECI, and TAF)\n[03:54] KBOS 170754Z 00000KT 10SM FEW012 SCT030 19/17 A3002 RMK AO2 SLP164 T01890172\n[01:27] TAF KBOS 170527Z 1706/1812 03004KT P6SM FEW009 OVC035 FM170800 10003KT 3SM BR OVC012 FM171300 10005KT 4SM BR BKN015 FM171600 10007KT P6SM BKN020 FM172300 10007KT 4SM BR OVC010=\n[03:51] KJFK 170751Z 09006KT 10SM BKN009 OVC015 22/21 A2997 RMK AO2 SLP148 T02220211\n[01:34] TAF KJFK 170534Z 1706/1812 12004KT 6SM BR BKN015 FM170700 13005KT 6SM BR BKN009 TEMPO 1710/1712 3SM BR FM171400 13007KT P6SM SCT015 BKN025 FM171600 15009KT P6SM SCT025 BKN035 FM180000 17008KT 5SM -SHRA BR SCT015 BKN025 FM180300 18009KT 3SM SHRA BR BKN009=\n\n## Flights (sched = scheduled dep-arr; delay = known delay, ? not yet; plan = cancel or hold@HH:MM; proj = where your plan has it leave and land on the day as known; late = arrival delay; slot = its GDP slot; crew = crew deadline/rest end, +R on a reserve crew)\nid flight route sched pax type status delay plan proj late tail slot crew\nf0 746 PSE-JFK 04:49-08:50 141 A320 open -10 - 04:39-09:09 +19 N599JB - -\nf1 404 SJU-JFK 05:01-08:59 176 A321 open -9 - 04:52-08:48 -11 N903JB - -\nf2 562 SJU-BOS 05:01-09:05 172 A321 open -3 - 04:58-08:57 -8 N952JB - -\nf3 630 MCO-BQN 05:01-07:44 87 A320 open -1 - 05:00-07:39 -5 N506JB - -\nf4 2539 JFK-BQN 05:01-08:43 175 A321 open -1 - 05:00-08:56 +13 N913JB - -\nf5 954 SJU-FLL 05:25-08:01 146 A320 open -2 - 05:23-07:53 -8 N662JB - -\nf6 123 JFK-LAX 05:30-11:10 138 A321P open -6 - 05:24-11:07 -3 N937JB - -\nf7 327 EWR-MCO 05:35-08:10 141 A320 open -8 - 05:27-07:58 -12 N520JB - -\nf8 717 BOS-JFK 05:35-06:41 83 E190 open -5 - 05:30-06:38 -3 N184JB - -\nf9 1603 JFK-SJU 05:38-09:31 171 A321 open 4 - 05:42-09:17 -14 N966JT - -\nf10 315 SYR-JFK 05:49-07:00 80 E190 open 8 - 05:57-07:11 +11 N273JB - -\nf11 52 MCO-BOS 06:00-08:57 121 A220 open 21 - 06:21-09:08 +11 N3112J - -\nf12 231 BOS-LGA 06:00-07:14 63 E190 open -9 - 05:51-06:59 -15 N197JB - -\nf13 233 BTV-JFK 06:00-07:19 81 E190 open -11 - 05:49-07:00 -19 N375JB - -\nf14 287 BOS-LAX 06:00-12:01 138 A321P open -6 - 05:54-11:42 -19 N947JB - -\nf15 382 RIC-BOS 06:00-07:34 77 E190 open -9 - 05:51-07:18 -16 N203JB - -\nf16 405 EWR-FLL 06:00-08:59 149 A320 open -7 - 05:53-08:49 -10 N556JB - -\nf17 737 BDL-MCO 06:00-08:51 146 A320 open 6 - 06:06-09:07 +16 N608JB - -\nf18 796 ATL-BOS 06:00-08:30 86 E190 open 0 - 06:00-08:19 -11 N304JB - -\nf19 838 BQN-JFK 06:00-09:53 150 A320 open -4 - 05:56-09:56 +3 N646JB - -\nf20 984 RDU-BOS 06:00-07:57 76 E190 open -9 - 05:51-07:30 -27 N329JB - -\nf21 133 BOS-SFO 06:01-12:28 133 A321P open ? - 06:01-12:28 +0 N978JB - -\nf22 583 JFK-MCO 06:01-08:39 183 A321 open ? - 06:01-08:39 +0 N998JE - -\nf23 1318 JFK-BOS 06:01-07:07 84 E190 open ? - 06:01-07:07 +0 N187JB - -\nf24 1371 LGA-FLL 06:01-09:00 141 A320 open ? - 06:01-09:00 +0 N516JB - -\nf25 1434 SJU-MCO 06:01-09:05 138 A320 open ? - 06:01-09:05 +0 N655JB - -\nf26 2001 BUF-JFK 06:01-07:23 89 E190 open ? - 06:01-07:23 +0 N318JB - -\nf27 2269 BOS-FLL 06:01-09:22 146 A320 open ? - 06:01-09:22 +0 N507JT - -\nf28 2577 BOS-LAS 06:01-11:36 139 A320 open ? - 06:01-11:36 +0 N591JB - -\nf29 573 EWR-TPA 06:04-08:50 150 A320 open ? - 06:04-08:50 +0 N504JB - -\nf30 1233 MCO-SJU 06:04-08:58 123 A320 open ? - 06:04-08:58 +0 N607JB - -\nf31 540 CLE-BOS 06:05-07:47 81 E190 open ? - 06:05-07:47 +0 N265JB - -\nf32 1476 SJU-BDL 06:05-10:05 150 A320 open ? - 06:05-10:05 +0 N834JB - -\nf33 1860 RSW-LGA 06:06-09:00 113 A320 open ? - 06:06-09:00 +0 N519JB - -\nf34 959 BDL-FLL 06:07-09:15 147 A320 open ? - 06:07-09:15 +0 N637JB - -\nf35 299 LGA-MCO 06:10-08:51 150 A320 open ? - 06:10-08:51 +0 N794JB - -\nf36 783 BOS-RDU 06:10-08:07 133 A320 open ? - 06:10-08:07 +0 N605JB - -\nf37 891 BOS-TPA 06:10-09:17 137 A220 open ? - 06:10-09:17 +0 N3044J - -\nf38 1237 BOS-DTW 06:10-08:16 87 E190 open ? - 06:10-08:16 +0 N236JB - -\nf39 1373 EWR-LAX 06:10-11:50 138 A321P open ? - 06:10-11:50 +0 N990JL - -\nf40 2005 BOS-MCO 06:10-09:16 149 A320 open ? - 06:10-09:16 +0 N641JB - -\nf41 222 PBI-BOS 06:15-09:24 98 E190 open ? - 06:15-09:24 +0 N266JB - -\nf42 353 FLL-SJU 06:15-08:53 131 A320 open ? - 06:15-08:53 +0 N505JB - -\nf43 797 BOS-ATL 06:15-08:53 132 A220 open ? - 06:15-08:53 +0 N3062J - -\nf44 1184 MCO-JFK 06:15-08:49 91 E190 open ? - 06:15-08:49 +0 N354JB - -\nf45 598 MCO-LGA 06:20-08:53 150 A320 open ? - 06:20-08:53 +0 N656JB - -\nf46 1145 RIC-FLL 06:24-08:40 131 A320 open ? - 06:24-08:40 +0 N603JB - -\nf47 2363 BOS-MCI 06:25-09:51 113 A220 open ? - 06:25-09:51 +0 N3102J - -\nf48 15 JFK-SFO 06:30-12:32 136 A321P open ? - 06:30-12:32 +0 N945JT - -\nf49 163 JFK-SRQ 06:30-09:22 137 A320 open ? - 06:30-09:22 +0 N625JB - -\nf50 677 JFK-JAX 06:30-08:50 146 A320 open ? - 06:30-08:50 +0 N651JB - -\nf51 2701 JFK-FLL 06:30-09:26 146 A320 open ? - 06:30-09:26 +0 N658JB - -\nf52 2802 JFK-BUF 06:30-07:48 88 E190 open ? - 06:30-07:48 +0 N193JB - -\nf53 27 BOS-BWI 06:34-08:06 76 E190 open ? - 06:34-08:06 +0 N238JB - -\nf54 1383 PWM-LGA 06:35-07:58 78 E190 open ? - 06:35-07:58 +0 N339JB - -\nf55 172 FLL-LGA 06:39-09:30 150 A320 open ? - 06:39-09:30 +0 N559JB - -\nf56 2625 RDU-FLL 06:39-08:45 107 A320 open ? - 06:39-08:45 +0 N508JL - -\nf57 221 BOS-SJU 06:40-10:39 120 A320 open ? - 06:40-10:39 +0 N648JB - -\nf58 1439 BOS-AUS 06:40-10:48 94 A220 open ? - 06:40-10:48 +0 N3115J - -\nf59 2713 ATL-LGA 06:44-09:00 88 E190 open ? - 06:44-09:00 +0 N306JB - -\nf60 2024 MCO-DCA 06:45-08:56 142 A320 open ? - 06:45-08:56 +0 N708JB - -\nf61 1486 PIT-BOS 06:46-08:20 82 E190 open ? - 06:46-08:20 +0 N283JB - -\nf62 712 ROC-BOS 06:50-08:06 85 E190 open ? - 06:50-08:06 +0 N247JB - -\nf63 2157 LGA-DEN 06:55-11:09 139 A320 open ? - 06:55-11:09 +0 N523JB - -\nf64 723 JFK-LAX 06:57-12:40 138 A321P open ? - 06:57-12:40 +0 N982JB - -\nf65 1589 EWR-SJU 06:59-10:57 150 A320 open ? - 06:59-10:57 +0 N653JB - -\nf66 2401 LGA-CHS 06:59-09:08 64 E190 open ? - 06:59-09:08 +0 N249JB - -\nf67 18 FLL-JAX 07:00-08:19 94 A320 open ? - 07:00-08:19 +0 N561JB - -\nf68 87 ALB-FLL 07:00-10:16 150 A320 open ? - 07:00-10:16 +0 N766JB - -\nf69 226 TPA-JFK 07:00-09:45 150 A320 open ? - 07:00-09:45 +0 N805JB - -\nf70 331 BOS-LGA 07:00-08:17 63 E190 open ? - 07:00-08:17 +0 N274JB - -\nf71 555 BOS-DCA 07:00-08:41 89 E190 open ? - 07:00-08:41 +0 N279JB - -\nf72 814 FLL-HPN 07:00-09:59 141 A320 open ? - 07:00-09:59 +0 N663JB - -\nf73 947 JFK-BZN 07:00-11:50 137 A320 open ? - 07:00-11:50 +0 N715JB - -\nf74 1245 BOS-CLT 07:00-09:19 87 E190 open ? - 07:00-09:19 +0 N281JB - -\nf75 2267 BOS-CHS 07:00-09:22 126 A220 open ? - 07:00-09:22 +0 N3121J - -\nf76 2423 DCA-MCO 07:00-09:22 137 A320 open ? - 07:00-09:22 +0 N589JB - -\nf77 2832 LGA-BOS 07:00-08:16 63 E190 open ? - 07:00-08:16 +0 N323JB - -\nf78 2986 MIA-LAX 07:00-12:15 127 A321P open ? - 07:00-12:15 +0 N964JT - -\nf79 2130 SJU-JFK 07:04-11:00 176 A321 open ? - 07:04-11:00 +0 N995JL - -\nf80 411 JFK-LAS 07:05-12:32 138 A321P open ? - 07:05-12:32 +0 N979JT - -\nf81 2421 BOS-PBI 07:05-10:21 190 A321 open ? - 07:05-10:21 +0 N905JB - -\nf82 1420 DTW-JFK 07:07-08:53 82 E190 open ? - 07:07-08:53 +0 N206JB - -\nf83 1333 BOS-SFO 07:09-13:32 133 A321P open ? - 07:09-13:32 +0 N944JT - -\nf84 467 ATL-FLL 07:10-09:04 115 A320 open ? - 07:10-09:04 +0 N510JB - -\nf85 551 BOS-MCO 07:10-10:17 92 E190 open ? - 07:10-10:17 +0 N284JB - -\nf86 1530 RSW-JFK 07:10-09:59 126 A320 open ? - 07:10-09:59 +0 N524JB - -\nf87 1807 BOS-BNA 07:12-10:08 123 A220 open ? - 07:12-10:08 +0 N3123J - -\nf88 1033 DCA-PBI 07:15-09:39 84 E190 open ? - 07:15-09:39 +0 N231JB - -\nf89 1247 LGA-TPA 07:15-10:11 150 A320 open ? - 07:15-10:11 +0 N615JB - -\nf90 1584 MCO-JFK 07:15-10:01 147 A320 open ? - 07:15-10:01 +0 N569JB - -\nf91 2229 BOS-MKE 07:15-09:46 129 A220 open ? - 07:15-09:46 +0 N3085J - -\nf92 501 BOS-MSY 07:22-10:51 105 A220 open ? - 07:22-10:51 +0 N3065J - -\nf93 2274 TPA-EWR 07:24-10:07 138 A320 open ? - 07:24-10:07 +0 N640JB - -\nf94 619 BOS-SAN 07:25-13:22 138 A321P open ? - 07:25-13:22 +0 N2156J - -\nf95 143 EWR-PBI 07:30-10:23 150 A320 open ? - 07:30-10:23 +0 N612JB - -\nf96 813 HPN-FLL 07:30-10:30 144 A320 open ? - 07:30-10:30 +0 N586JB - -\nf97 841 JFK-SAV 07:30-09:45 80 E190 open ? - 07:30-09:45 +0 N216JB - -\nf98 1105 JFK-ORD 07:30-10:08 77 E190 open ? - 07:30-10:08 +0 N307JB - -\nf99 2295 EWR-MIA 07:30-10:29 139 A320 open ? - 07:30-10:29 +0 N568JB - -\nf100 1368 PBI-HPN 07:31-10:29 142 A320 open ? - 07:31-10:29 +0 N570JB - -\nf101 927 EWR-MCO 07:32-10:14 150 A320 open ? - 07:32-10:14 +0 N807JB - -\nf102 483 JFK-MCO 07:34-10:21 148 A320 open ? - 07:34-10:21 +0 N649JB - -\nf103 508 JFK-PWM 07:35-08:52 78 E190 open ? - 07:35-08:52 +0 N368JB - -\nf104 1565 BOS-SAT 07:35-11:52 100 A220 open ? - 07:35-11:52 +0 N3113J - -\nf105 438 MCO-BDL 07:39-10:28 150 A320 open ? - 07:39-10:28 +0 N564JB - -\nf106 599 LGA-MCO 07:39-10:29 140 A320 open ? - 07:39-10:29 +0 N627JB - -\nf107 1480 FLL-DCA 07:40-10:07 149 A320 open ? - 07:40-10:07 +0 N709JB - -\nf108 1065 BOS-RSW 07:45-11:17 130 A220 open ? - 08:55-12:27 +70 N3023J - -\nf109 1081 BOS-RIC 07:45-09:28 83 E190 open ? - 07:45-09:28 +0 N328JB - -\nf110 1317 BOS-JFK 07:46-09:00 83 E190 open ? - 08:00-09:14 +14 N337JB - -\nf111 2197 BOS-SEA 07:50-14:03 178 A321 open ? - 08:00-14:13 +10 N955JB - -\nf112 2217 CHS-LAX 07:52-13:00 109 A320 open ? - 07:52-13:00 +0 N590JB - -\nf113 306 FLL-EWR 07:59-10:57 150 A320 open ? - 07:59-10:57 +0 N784JB - -\nf114 85 BUF-MCO 08:00-10:35 150 A320 open ? - 08:00-10:35 +0 N665JB - -\nf115 193 BOS-DEN 08:00-12:36 139 A320 open ? - 08:00-12:36 +0 N768JB - -\nf116 515 SJU-MCO 08:00-11:03 138 A320 open ? - 09:43-12:46 +103 N607JB - -\nf117 1347 DCA-SJU 08:00-11:58 150 A320 open ? - 08:00-11:58 +0 N644JB - -\nf118 1447 HPN-TPA 08:00-10:53 150 A320 open ? - 08:00-10:53 +0 N705JB - -\nf119 1554 DCA-BOS 08:00-09:35 86 E190 open ? - 08:00-09:35 +0 N324JB - -\nf120 1555 BOS-DCA 08:00-09:41 89 E190 open ? - 08:00-09:41 +0 N355JB - -\nf121 2123 JFK-LAX 08:00-13:47 138 A321P open ? - 08:00-13:47 +0 N977JE - -\nf122 2431 BOS-LGA 08:00-09:18 63 E190 open ? - 08:00-09:18 +0 N358JB - -\nf123 2718 JFK-BOS 08:00-09:12 84 E190 open ? - 08:00-09:12 +0 N267JB - -\nf124 704 SJU-JFK 08:04-12:00 143 A320 open ? - 11:24-15:20 +200 N648JB - -\nf125 67 BDL-LAX 08:05-14:00 150 A320 open ? - 08:05-14:00 +0 N746JB - -\nf126 95 BOS-PDX 08:05-14:10 175 A321 open ? - 08:05-14:10 +0 N974JT - -\nf127 185 ROC-JFK 08:05-09:25 84 E190 open ? - 08:05-09:25 +0 N192JB - -\nf128 1273 JFK-CHS 08:10-10:19 82 E190 open ? - 08:10-10:19 +0 N184JB - -\nf129 2714 LGA-ATL 08:10-10:36 145 A320 open ? - 08:10-10:36 +0 N592JB - -\nf130 332 LGA-BOS 08:15-09:32 63 E190 open ? - 08:15-09:32 +0 N197JB - -\nf131 340 JAX-LGA 08:15-10:37 142 A320 open ? - 08:15-10:37 +0 N593JB - -\nf132 601 JFK-FLL 08:15-11:28 146 A320 open ? - 08:15-11:28 +0 N618JB - -\nf133 609 BOS-JAX 08:15-11:05 90 E190 open ? - 08:15-11:05 +0 N187JB - -\nf134 2801 FLL-LAX 08:20-13:48 138 A321P open ? - 08:48-14:16 +28 N981JT - -\nf135 655 SYR-MCO 08:27-11:11 95 E190 open ? - 08:27-11:11 +0 N198JB - -\nf136 729 BQN-MCO 08:30-11:19 95 A320 open ? - 08:30-11:19 +0 N506JB - -\nf137 967 HPN-PBI 08:30-11:18 147 A320 open ? - 08:30-11:18 +0 N580JB - -\nf138 349 BOS-SAV 08:32-11:10 89 E190 open ? - 08:32-11:10 +0 N203JB - -\nf139 2041 BOS-CLE 08:34-10:32 86 E190 open ? - 08:34-10:32 +0 N329JB - -\nf140 1773 EWR-LAX 08:40-14:42 138 A321P open ? - 08:40-14:42 +0 N962JT - -\nf141 2101 BUF-JFK 08:40-10:00 89 E190 open ? - 08:40-10:00 +0 N193JB - -\nf142 281 JFK-IAH 08:45-12:37 142 A320 open ? - 08:45-12:37 +0 N531JL - -\nf143 526 BWI-BOS 08:50-10:14 78 E190 open ? - 08:50-10:14 +0 N238JB - -\nf144 626 FLL-RDU 08:50-11:03 118 A320 open ? - 08:50-11:03 +0 N562JB - -\nf145 2584 MCO-JFK 08:50-11:30 147 A320 open ? - 08:50-11:30 +0 N796JB - -\nf146 70 FLL-BOS 08:55-12:11 127 A220 open ? - 08:55-12:11 +0 N3104J - -\nf147 2824 LAX-JFK 08:55-14:29 138 A321P open ? - 08:55-14:29 +0 N969JT - -\nf148 2929 RDU-SJU 08:55-12:34 103 A320 open ? - 08:55-12:34 +0 N605JB - -\nf149 1336 DTW-BOS 08:59-10:47 88 E190 open ? - 08:59-10:47 +0 N236JB - -\nf150 2121 HPN-ACK 08:59-10:01 92 E190 open ? - 08:59-10:01 +0 N317JB - -\nf151 2751 TPA-SJU 08:59-12:00 120 A320 open ? - 08:59-12:00 +0 N521JB - -\nf152 189 JFK-SAN 09:00-14:46 138 A321P open ? - 09:00-14:46 +0 N942JB - -\nf153 195 HPN-MCO 09:00-11:46 150 A320 open ? - 09:00-11:46 +0 N809JB - -\nf154 434 SFO-BOS 09:00-14:39 138 A321P open ? - 09:00-14:39 +0 N992JB - -\nf155 455 BOS-DCA 09:00-10:41 89 E190 open ? - 09:00-10:41 +0 N265JB - -\nf156 531 BOS-LGA 09:00-10:18 63 E190 open ? - 09:00-10:18 +0 N247JB - -\nf157 816 SFO-JFK 09:00-14:29 138 A321P open ? - 09:00-14:29 +0 N943JT - -\nf158 1634 JFK-BTV 09:00-10:19 80 E190 open ? - 09:00-10:19 +0 N375JB - -\nf159 1854 DCA-BOS 09:00-10:33 86 E190 open ? - 09:00-10:33 +0 N348JB - -\nf160 2028 MCO-EWR 09:00-11:45 141 A320 open ? - 09:00-11:45 +0 N552JB - -\nf161 2087 LGA-BNA 09:00-11:34 92 E190 open ? - 09:00-11:34 +0 N339JB - -\nf162 702 SLC-MCO 09:05-13:34 124 A320 open ? - 09:05-13:34 +0 N537JT - -\nf163 1402 FLL-JFK 09:05-12:05 182 A321 open ? - 09:05-12:05 +0 N2084J - -\nf164 678 JAX-JFK 09:10-11:29 143 A320 open ? - 09:10-11:29 +0 N561JB - -\nf165 1485 BOS-PIT 09:10-10:55 87 E190 open ? - 09:10-10:55 +0 N323JB - -\nf166 2432 LGA-BOS 09:15-10:35 63 E190 open ? - 09:15-10:35 +0 N274JB - -\nf167 2532 LAX-SLC 09:15-11:01 119 A320 open ? - 09:15-11:01 +0 N661JB - -\nf168 42 PBI-LGA 09:17-12:00 145 A320 open ? - 09:17-12:00 +0 N821JB - -\nf169 323 JFK-LAX 09:20-15:10 138 A321P open ? - 09:20-15:10 +0 N4064J - -\nf170 1280 FLL-DCA 09:26-12:00 149 A320 open ? - 09:26-12:00 +0 N703JB - -\nf171 2520 MSY-LGA 09:26-12:30 132 A320 open ? - 09:26-12:30 +0 N806JB - -\nf172 2933 DCA-MCO 09:26-11:51 85 E190 open ? - 09:26-11:51 +0 N279JB - -\nf173 1602 JFK-BUF 09:29-10:57 88 E190 open ? - 09:29-10:57 +0 N273JB - -\nf174 63 JFK-SEA 09:30-15:45 138 A321P open ? - 09:30-15:45 +0 N967JT - -\nf175 115 JFK-SFO 09:30-15:43 137 A321P open ? - 09:30-15:43 +0 N2142J - -\nf176 271 LGA-FLL 09:30-12:43 150 A320 open ? - 09:45-12:58 +15 N519JB - -\nf177 706 LAX-SEA 09:30-12:16 120 A320 open ? - 09:30-12:16 +0 N827JB - -\nf178 2051 BOS-MCO 09:30-12:44 128 A220 open ? - 12:57-16:11 +207 N3062J - -\nf179 17 JAX-FLL 09:35-10:53 98 A320 open ? - 09:35-10:53 +0 N651JB - -\nf180 1219 JFK-ATL 09:35-12:04 93 E190 open ? - 09:35-12:04 +0 N318JB - -\nf181 2903 JFK-SJU 09:39-13:40 171 A321 open ? - 09:39-13:40 +0 N2060J - -\nf182 1338 JFK-MVY 09:40-10:48 81 E190 open ? - 09:40-10:48 +0 N354JB - -\nf183 2725 JFK-TPA 09:40-12:38 150 A320 open ? - 09:40-12:38 +0 N554JB - -\nf184 896 ATL-BOS 09:41-12:12 121 A220 open ? - 09:41-12:12 +0 N3062J - -\nf185 311 BOS-ORD 09:43-12:48 125 A220 open ? - 09:51-12:56 +8 N3112J - -\nf186 538 BQN-JFK 09:43-13:35 187 A321 open ? - 09:51-13:43 +8 N913JB - -\nf187 953 JFK-PBI 09:43-12:41 150 A320 open ? - 09:43-12:41 +0 N587JB - -\nf188 2552 SJU-TPA 09:43-12:40 131 A320 open ? - 11:42-14:39 +119 N653JB - -\nf189 577 FLL-SFO 09:44-15:47 136 A321P open ? - 09:44-15:47 +0 N983JT - -\nf190 48 TPA-LGA 09:45-12:30 149 A320 open ? - 09:45-12:30 +0 N504JB - -\nf191 224 LAX-JFK 09:45-15:21 138 A321P open ? - 09:45-15:21 +0 N988JT - -\nf192 533 BDL-TPA 09:47-12:48 150 A320 open ? - 10:50-13:51 +63 N834JB - -\nf193 1109 LGA-ACK 09:47-10:56 72 E190 open ? - 09:47-10:56 +0 N306JB - -\nf194 407 PWM-JFK 09:48-11:06 82 E190 open ? - 09:48-11:06 +0 N368JB - -\nf195 1084 MCO-JFK 09:50-12:30 181 A321 open ? - 09:50-12:30 +0 N998JE - -\nf196 2033 BOS-IAH 09:50-14:02 141 A320 open ? - 09:50-14:02 +0 N536JB - -\nf197 461 LGA-PBI 09:54-12:52 137 A320 open ? - 10:15-13:13 +21 N559JB - -\nf198 861 BOS-SJU 09:55-14:03 148 A321 open ? - 09:55-14:03 +0 N959JB - -\nf199 970 CHS-LGA 09:55-12:00 83 E190 open ? - 09:55-12:00 +0 N249JB - -\nf200 1833 BOS-SFO 09:55-16:35 133 A321P open ? - 09:55-16:35 +0 N968JT - -\nf201 933 MCO-SJU 09:56-12:53 123 A320 open ? - 09:56-12:53 +0 N623JB - -\nf202 272 FLL-LGA 09:58-13:00 150 A320 open ? - 09:58-13:00 +0 N789JB - -\nf203 1246 CLT-BOS 09:59-12:04 80 E190 open ? - 09:59-12:04 +0 N281JB - -\nf204 379 DCA-FLL 10:00-12:39 141 A320 open ? - 10:00-12:39 +0 N708JB - -\nf205 631 BOS-LGA 10:00-11:18 63 E190 open ? - 10:00-11:18 +0 N304JB - -\nf206 1553 FLL-SJU 10:00-12:51 131 A320 open ? - 10:00-12:51 +0 N598JB - -\nf207 1655 BOS-DCA 10:00-11:42 89 E190 open ? - 10:00-11:42 +0 N283JB - -\nf208 219 JFK-DTW 10:02-12:02 84 E190 open ? - 10:02-12:02 +0 N206JB - -\nf209 164 SRQ-JFK 10:07-12:59 150 A320 open ? - 10:07-12:59 +0 N625JB - -\nf210 488 MCO-ORH 10:09-12:58 148 A320 open ? - 10:09-12:58 +0 N520JB - -\nf211 1529 JFK-RSW 10:09-13:21 158 A321 open ? - 10:09-13:21 +0 N994JL - -\nf212 845 BOS-SYR 10:12-11:26 85 E190 open ? - 10:12-11:26 +0 N267JB - -\nf213 892 TPA-BOS 10:12-13:19 125 A220 open ? - 10:12-13:19 +0 N3044J - -\nf214 294 MCO-HPN 10:13-13:00 140 A320 open ? - 10:13-13:00 +0 N794JB - -\nf215 1182 RIC-BOS 10:13-11:46 77 E190 open ? - 10:13-11:46 +0 N328JB - -\nf216 1423 FLL-MSY 10:15-12:21 93 A320 open ? - 10:15-12:21 +0 N529JB - -\nf217 2835 SFO-LAX 10:15-11:41 120 A320 open ? - 10:15-11:41 +0 N763JB - -\nf218 1159 BOS-PHL 10:17-11:45 81 E190 open ? - 10:17-11:45 +0 N266JB - -\nf219 2268 CHS-BOS 10:17-12:34 127 A220 open ? - 10:17-12:34 +0 N3121J - -\nf220 387 BOS-LAX 10:20-16:30 138 A321P open ? - 10:20-16:30 +0 N986JB - -\nf221 698 MCO-LGA 10:25-13:01 150 A320 open ? - 10:25-13:01 +0 N608JB - -\nf222 1034 PBI-DCA 10:25-12:48 93 E190 open ? - 10:25-12:48 +0 N231JB - -\nf223 591 BOS-TPA 10:28-13:45 196 A321 open ? - 10:28-13:45 +0 N907JB - -\nf224 1774 LAX-EWR 10:29-16:00 138 A321P open ? - 10:29-16:00 +0 N961JT - -\nf225 842 SAV-JFK 10:30-12:32 79 E190 open ? - 10:30-12:32 +0 N216JB - -\nf226 1954 DCA-BOS 10:30-12:05 86 E190 open ? - 10:30-12:05 +0 N355JB - -\nf227 2766 LGA-HYA 10:30-11:39 87 E190 open ? - 10:30-11:39 +0 N358JB - -\nf228 1604 SJU-JFK 10:31-14:29 176 A321 open ? - 10:31-14:29 +0 N966JT - -\nf229 186 JFK-ROC 10:35-12:01 88 E190 open ? - 10:35-12:01 +0 N337JB - -\nf230 2222 MCI-JFK 10:36-13:29 92 A220 open ? - 10:36-13:29 +0 N3102J - -\nf231 285 JFK-RDU 10:38-12:25 137 A320 open ? - 10:38-12:25 +0 N645JB - -\nf232 871 JFK-SLC 10:38-15:45 126 A320 open ? - 10:38-15:45 +0 N517JB - -\nf233 906 ORD-JFK 10:43-12:59 81 E190 open ? - 10:43-12:59 +0 N307JB - -\nf234 680 MKE-JFK 10:45-12:58 109 A220 open ? - 10:45-12:58 +0 N3085J - -\nf235 1083 JFK-MCO 10:46-13:42 148 A320 open ? - 10:46-13:42 +0 N584JB - -\nf236 267 BOS-CHS 10:50-13:20 90 E190 open ? - 10:50-13:20 +0 N197JB - -\nf237 895 EWR-MCO 10:53-13:50 141 A320 open ? - 10:53-13:50 +0 N640JB - -\nf238 1806 BNA-BOS 10:53-13:36 115 A220 open ? - 10:53-13:36 +0 N3123J - -\nf239 2474 CHS-JFK 10:54-12:59 80 E190 open ? - 10:54-12:59 +0 N184JB - -\nf240 523 JFK-LAX 10:59-16:46 123 A321P open ? - 10:59-16:46 +0 N935JB - -\nf241 951 HPN-RSW 10:59-14:00 150 A320 open ? - 10:59-14:00 +0 N663JB - -\nf242 2324 MCO-DCA 10:59-13:20 88 E190 open ? - 10:59-13:20 +0 N284JB - -\nf243 90 SAN-JFK 11:00-16:32 138 A321P open ? - 11:00-16:32 +0 N980JT - -\nf244 288 LAX-BOS 11:00-16:51 138 A321P open ? - 11:00-16:51 +0 N2105J - -\nf245 357 LGA-DEN 11:00-15:20 139 A320 open ? - 11:22-15:42 +22 N593JB - -\nf246 2201 JFK-FLL 11:00-14:08 146 A320 open ? - 11:00-14:08 +0 N621JB - -\nf247 579 DCA-FLL 11:02-13:42 141 A320 open ? - 11:02-13:42 +0 N709JB - -\nf248 1515 JFK-SFO 11:03-17:19 136 A321P open ? - 11:03-17:19 +0 N984JB - -\nf249 1633 BTV-JFK 11:05-12:26 81 E190 open ? - 11:05-12:26 +0 N375JB - -\nf250 2493 ACK-DCA 11:05-12:35 75 E190 open ? - 11:05-12:35 +0 N317JB - -\nf251 211 FLL-AUS 11:07-14:00 101 A320 open ? - 11:07-14:00 +0 N603JB - -\nf252 2040 CLE-BOS 11:09-12:52 81 E190 open ? - 11:09-12:52 +0 N329JB - -\nf253 1700 LAX-FLL 11:10-16:33 138 A321P open ? - 11:10-16:33 +0 N985JT - -\nf254 2528 MCO-EWR 11:10-14:00 150 A320 open ? - 11:10-14:00 +0 N641JB - -\nf255 37 BDL-MCO 11:13-14:07 146 A320 open ? - 11:13-14:07 +0 N564JB - -\nf256 1154 PBI-JFK 11:13-14:00 150 A320 open ? - 11:13-14:00 +0 N612JB - -\nf257 1248 TPA-LGA 11:14-14:00 149 A320 open ? - 11:14-14:00 +0 N615JB - -\nf258 1141 BDL-PBI 11:15-14:23 138 A321P open ? - 11:15-14:23 +0 N989JT - -\nf259 2277 BOS-AVL 11:15-13:39 90 E190 open ? - 11:15-13:39 +0 N324JB - -\nf260 784 MCO-JFK 11:19-13:59 136 A320 open ? - 11:19-13:59 +0 N589JB - -\nf261 1680 FLL-DCA 11:19-13:59 149 A320 open ? - 11:19-13:59 +0 N556JB - -\nf262 94 MCO-HPN 11:20-14:08 140 A320 open ? - 11:20-14:08 +0 N807JB - -\nf263 2594 MIA-EWR 11:24-14:37 142 A320 open ? - 11:24-14:37 +0 N568JB - -\nf264 725 JFK-SAT 11:25-15:33 121 A320 open ? - 11:25-15:33 +0 N566JB - -\nf265 1339 MVY-JFK 11:26-12:30 81 E190 open ? - 11:26-12:30 +0 N354JB - -\nf266 282 LGA-PWM 11:29-12:44 82 E190 open ? - 11:29-12:44 +0 N247JB - -\nf267 554 DCA-BOS 11:30-13:04 86 E190 open ? - 11:30-13:04 +0 N265JB - -\nf268 2091 JFK-ACK 11:30-12:42 55 E190 open ? - 11:30-12:42 +0 N192JB - -\nf269 2593 JFK-MIA 11:30-14:37 150 A320 open ? - 11:30-14:37 +0 N805JB - -\nf270 2647 HPN-CHS 11:30-13:47 116 A320 open ? - 11:30-13:47 +0 N570JB - -\nf271 322 PBI-BOS 11:34-14:46 195 A321 open ? - 11:34-14:46 +0 N905JB - -\nf272 1922 SJU-BOS 11:34-15:46 139 A320 open ? - 11:58-16:10 +24 N760JB - -\nf273 578 SFO-FLL 11:35-17:14 134 A321P open ? - 11:35-17:14 +0 N987JT - -\nf274 1137 BOS-DTW 11:35-13:44 87 E190 open ? - 11:35-13:44 +0 N238JB - -\nf275 1210 ACK-LGA 11:35-12:55 70 E190 open ? - 11:35-12:55 +0 N306JB - -\nf276 1238 AUS-BOS 11:35-15:35 125 A220 open ? - 11:35-15:35 +0 N3115J - -\nf277 1901 BUF-JFK 11:35-12:59 89 E190 open ? - 11:35-12:59 +0 N273JB - -\nf278 2813 ATL-LGA 11:39-14:00 143 A320 open ? - 11:39-14:00 +0 N592JB - -\nf279 2286 PIT-BOS 11:40-13:15 82 E190 open ? - 11:40-13:15 +0 N323JB - -\nf280 1010 JAX-BOS 11:42-14:20 79 E190 open ? - 11:42-14:20 +0 N187JB - -\nf281 500 MSY-BOS 11:46-15:15 124 A220 open ? - 11:46-15:15 +0 N3065J - -\nf282 2020 FLL-ORH 11:48-15:00 144 A320 open ? - 11:48-15:00 +0 N516JB - -\nf283 250 SAV-BOS 11:50-14:14 90 E190 open ? - 11:50-14:14 +0 N203JB - -\nf284 552 MCO-BOS 11:50-14:56 87 E190 open ? - 11:50-14:56 +0 N198JB - -\nf285 625 RDU-FLL 11:50-13:55 107 A320 open ? - 11:50-13:55 +0 N562JB - -\nf286 1433 MCO-SJU 11:55-14:54 123 A320 open ? - 11:55-14:54 +0 N627JB - -\nf287 2070 FLL-BOS 11:55-15:18 146 A320 open ? - 11:55-15:18 +0 N507JT - -\nf288 1855 BOS-DCA 12:00-13:45 89 E190 open ? - 12:00-13:45 +0 N348JB - -\nf289 2223 JFK-LAX 12:00-17:49 138 A321P open ? - 12:00-17:49 +0 N976JT - -\nf290 374 SYR-BOS 12:02-13:08 85 E190 open ? - 12:02-13:08 +0 N267JB - -\nf291 1288 PBI-PVD 12:03-14:53 150 A320 open ? - 12:03-14:53 +0 N580JB - -\nf292 1066 RSW-BOS 12:05-15:22 129 A220 open ? - 13:12-16:29 +67 N3023J - -\nf293 2156 DEN-LGA 12:06-15:55 140 A320 open ? - 12:06-15:55 +0 N547JB - -\nf294 2088 BNA-LGA 12:09-14:29 87 E190 open ? - 12:09-14:29 +0 N339JB - -\nf295 2310 LGA-ACK 12:10-13:18 72 E190 open ? - 12:10-13:18 +0 N304JB - -\nf296 1334 SJU-MCO 12:14-15:18 138 A320 open ? - 12:43-15:47 +29 N644JB - -\nf297 2765 HYA-LGA 12:14-13:30 81 E190 open ? - 12:14-13:30 +0 N358JB - -\nf298 695 JFK-AUS 12:15-16:11 135 A320 open ? - 12:15-16:11 +0 N524JB - -\nf299 602 FLL-JFK 12:20-15:33 147 A320 open ? - 12:20-15:33 +0 N766JB - -\nf300 2531 SLC-LAX 12:21-14:20 122 A320 open ? - 12:21-14:20 +0 N661JB - -\nf301 715 BOS-BUF 12:25-13:53 90 E190 open ? - 12:25-13:53 +0 N274JB - -\nf302 1324 BOS-MVY 12:25-13:06 68 E190 open ? - 12:25-13:06 +0 N236JB - -\nf303 178 LAS-BOS 12:26-17:47 146 A320 open ? - 12:26-17:47 +0 N591JB - -\nf304 83 JFK-MCO 12:30-15:24 148 A320 open ? - 12:30-15:24 +0 N594JB - -\nf305 324 LAX-JFK 12:30-18:12 138 A321P open ? - 12:30-18:12 +0 N937JB - -\nf306 2254 DCA-BOS 12:30-14:06 86 E190 open ? - 12:30-14:06 +0 N283JB - -\nf307 120 MCO-ALB 12:31-15:25 150 A320 open ? - 12:31-15:25 +0 N665JB - -\nf308 1160 PHL-BOS 12:32-13:55 77 E190 open ? - 12:32-13:55 +0 N266JB - -\nf309 2934 MCO-DCA 12:33-14:54 88 E190 open ? - 12:33-14:54 +0 N279JB - -\nf310 220 DTW-JFK 12:37-14:24 82 E190 open ? - 12:37-14:24 +0 N206JB - -\nf311 2836 LAX-SFO 12:38-14:00 127 A320 open ? - 12:38-14:00 +0 N613JB - -\nf312 485 ROC-JFK 12:40-13:58 84 E190 open ? - 12:40-13:58 +0 N337JB - -\nf313 944 BZN-JFK 12:40-16:59 125 A320 open ? - 12:40-16:59 +0 N715JB - -\nf314 2283 BOS-RDU 12:40-14:39 82 E190 open ? - 12:40-14:39 +0 N328JB - -\nf315 1754 SJU-FLL 12:43-15:28 146 A320 open ? - 12:45-15:30 +2 N521JB - -\nf316 1566 SAT-BOS 12:47-17:00 107 A220 open ? - 12:47-17:00 +0 N3113J - -\nf317 1196 FLL-PVD 12:50-16:00 182 A321 open ? - 12:50-16:00 +0 N948JB - -\nf318 46 LGA-TPA 12:55-15:57 150 A320 open ? - 12:55-15:57 +0 N821JB - -\nf319 276 SJU-BDL 12:55-16:54 150 A320 open ? - 13:29-17:28 +34 N526JL - -\nf320 1923 DCA-FLL 12:55-15:43 141 A320 open ? - 12:55-15:43 +0 N703JB - -\nf321 1601 JFK-FLL 13:00-16:14 180 A321 open ? - 13:00-16:14 +0 N2102J - -\nf322 1811 EWR-RSW 13:00-15:55 145 A320 open ? - 13:00-15:55 +0 N784JB - -\nf323 2052 MCO-BOS 13:05-16:16 141 A320 open ? - 13:05-16:16 +0 N506JB - -\nf324 1422 MSY-FLL 13:06-15:07 102 A320 open ? - 13:06-15:07 +0 N529JB - -\nf325 2065 BOS-RSW 13:06-16:40 130 A220 open ? - 13:19-16:53 +13 N3121J - -\nf326 520 ATL-JFK 13:08-15:30 87 E190 open ? - 13:08-15:30 +0 N318JB - -\nf327 215 BOS-DFW 13:10-17:15 119 A220 open ? - 14:04-18:09 +54 N3044J - -\nf328 1538 JFK-MVY 13:10-14:16 81 E190 open ? - 13:10-14:16 +0 N193JB - -\nf329 1874 LAX-EWR 13:10-18:52 138 A321P open ? - 13:10-18:52 +0 N947JB - -\nf330 2291 JFK-ACK 13:11-14:26 55 E190 open ? - 13:11-14:26 +0 N368JB - -\nf331 432 LGA-BOS 13:15-14:35 63 E190 open ? - 13:15-14:35 +0 N249JB - -\nf332 92 ACK-JFK 13:19-14:29 69 E190 open ? - 13:19-14:29 +0 N192JB - -\nf333 1388 LAX-BOS 13:21-19:13 138 A321P open ? - 13:21-19:13 +0 N990JL - -\nf334 82 IAH-JFK 13:22-17:06 149 A320 open ? - 13:22-17:06 +0 N531JL - -\nf335 2826 TPA-JFK 13:23-16:16 150 A320 open ? - 13:23-16:16 +0 N554JB - -\nf336 1902 FLL-JFK 13:25-16:35 147 A320 open ? - 13:25-16:35 +0 N586JB - -\nf337 2551 TPA-SJU 13:25-16:27 120 A320 open ? - 15:24-18:26 +119 N653JB - -\nf338 2814 LGA-ATL 13:25-15:57 145 A320 open ? - 13:25-15:57 +0 N504JB - -\nf339 2885 LAX-MIA 13:25-18:48 135 A321P open ? - 13:25-18:48 +0 N964JT - -\nf340 494 DEN-BOS 13:26-17:31 136 A320 open ? - 13:26-17:31 +0 N523JB - -\nf341 1068 PBI-HPN 13:26-16:29 142 A320 open ? - 13:26-16:29 +0 N587JB - -\nf342 372 FLL-LGA 13:28-16:40 150 A320 open ? - 13:28-16:40 +0 N651JB - -\nf343 707 SEA-LAX 13:29-16:30 139 A320 open ? - 13:29-16:30 +0 N827JB - -\nf344 835 BOS-MSP 13:29-16:41 128 A220 open ? - 14:21-17:33 +52 N3123J - -\nf345 371 LGA-FLL 13:30-16:47 150 A320 open ? - 13:45-17:02 +15 N789JB - -\nf346 803 JFK-SJU 13:30-17:31 171 A321 open ? - 13:30-17:31 +0 N2039J - -\nf347 1618 JFK-BOS 13:30-14:47 84 E190 open ? - 13:30-14:47 +0 N375JB - -\nf348 2454 DCA-BOS 13:30-15:10 86 E190 open ? - 13:30-15:10 +0 N317JB - -\nf349 23 DCA-MCO 13:32-16:11 85 E190 open ? - 13:32-16:11 +0 N231JB - -\nf350 312 ORD-BOS 13:33-16:05 121 A220 open ? - 13:37-16:09 +4 N3112J - -\nf351 2768 TPA-BQN 13:33-16:34 92 A320 open ? - 14:30-17:31 +57 N834JB - -\nf352 62 PBI-LGA 13:37-16:29 134 A320 open ? - 13:58-16:50 +21 N559JB - -\nf353 2317 BOS-JFK 13:37-14:57 83 E190 open ? - 13:37-14:57 +0 N281JB - -\nf354 2930 SJU-RDU 13:38-17:15 130 A320 open ? - 13:38-17:15 +0 N598JB - -\nf355 2116 SFO-JFK 13:40-19:30 138 A321P open ? - 13:40-19:30 +0 N978JB - -\nf356 2747 LGA-SAV 13:40-16:04 84 E190 open ? - 13:40-16:04 +0 N306JB - -\nf357 448 LAS-JFK 13:42-19:00 138 A321P open ? - 13:42-19:00 +0 N979JT - -\nf358 334 SFO-BOS 13:47-19:39 138 A321P open ? - 13:47-19:39 +0 N945JT - -\nf359 86 RDU-JFK 13:50-15:29 130 A320 open ? - 13:50-15:29 +0 N645JB - -\nf360 781 BOS-RIC 13:53-15:35 83 E190 open ? - 13:53-15:35 +0 N355JB - -\nf361 2665 MVY-HPN 13:53-15:00 63 E190 open ? - 13:53-15:00 +0 N236JB - -\nf362 361 BOS-SJU 13:54-17:55 120 A320 open ? - 13:54-17:55 +0 N597JB - -\nf363 595 HPN-MCO 13:55-16:53 150 A320 open ? - 13:55-16:53 +0 N794JB - -\nf364 987 ORH-MCO 13:55-16:59 150 A320 open ? - 13:55-16:59 +0 N520JB - -\nf365 68 CHS-BOS 13:56-16:20 91 E190 open ? - 13:56-16:20 +0 N197JB - -\nf366 679 JFK-MKE 13:59-16:30 119 A220 open ? - 13:59-16:30 +0 N3085J - -\nf367 1861 LGA-RSW 13:59-17:18 119 A320 open ? - 13:59-17:18 +0 N608JB - -\nf368 424 LAX-JFK 14:00-19:44 138 A321P open ? - 14:00-19:44 +0 N982JB - -\nf369 431 BOS-LGA 14:00-15:21 63 E190 open ? - 14:00-15:21 +0 N329JB - -\nf370 521 BOS-PBI 14:00-17:15 95 E190 open ? - 14:00-17:15 +0 N265JB - -\nf371 755 BOS-DCA 14:00-16:00 89 E190 open ? - 14:00-16:00 +0 N267JB - -\nf372 1942 LGA-DEN 14:00-18:21 139 A320 open ? - 14:10-18:31 +10 N656JB - -\nf373 1994 MCO-JFK 14:00-16:48 127 A220 open ? - 16:56-19:44 +176 N3062J - -\nf374 936 SJU-STT 14:14-14:52 116 A320 open ? - 14:14-14:52 +0 N623JB - -\nf375 2233 BOS-IAH 14:14-18:21 121 A220 open ? - 14:32-18:39 +18 N3125J - -\nf376 532 LGA-BOS 14:15-15:38 63 E190 open ? - 14:15-15:38 +0 N358JB - -\nf377 685 JFK-RDU 14:18-16:10 85 E190 open ? - 14:18-16:10 +0 N354JB - -\nf378 2278 AVL-BOS 14:20-16:45 91 E190 open ? - 14:20-16:45 +0 N324JB - -\nf379 130 RSW-JFK 14:25-17:19 168 A321 open ? - 14:25-17:19 +0 N994JL - -\nf380 1990 SJU-EWR 14:25-18:33 150 A320 open ? - 14:25-18:33 +0 N505JB - -\nf381 181 FLL-BNA 14:27-16:56 129 A320 open ? - 14:27-16:56 +0 N618JB - -\nf382 2276 MCO-PVD 14:27-17:20 150 A320 open ? - 14:27-17:20 +0 N809JB - -\nf383 1351 ACK-BOS 14:29-15:20 81 E190 open ? - 14:29-15:20 +0 N304JB - -\nf384 623 JFK-LAX 14:30-20:30 138 A321P open ? - 14:30-20:30 +0 N923JB - -\nf385 2036 DTW-BOS 14:30-16:24 88 E190 open ? - 14:30-16:24 +0 N238JB - -\nf386 2554 DCA-BOS 14:30-16:13 86 E190 open ? - 14:30-16:13 +0 N284JB - -\nf387 1191 BOS-TPA 14:31-17:52 137 A220 open ? - 15:34-18:55 +63 N3104J - -\nf388 620 SAN-BOS 14:32-20:18 138 A321P open ? - 14:32-20:18 +0 N2156J - -\nf389 683 PWM-LGA 14:32-16:00 78 E190 open ? - 14:32-16:00 +0 N247JB - -\nf390 1098 MCO-LGA 14:35-17:25 149 A320 open ? - 14:35-17:25 +0 N607JB - -\nf391 2716 BUF-BOS 14:38-16:04 95 E190 open ? - 14:38-16:04 +0 N274JB - -\nf392 2424 MCO-DCA 14:39-17:05 142 A320 open ? - 14:39-17:05 +0 N537JT - -\nf393 416 SFO-JFK 14:42-20:30 138 A321P open ? - 14:42-20:30 +0 N944JT - -\nf394 505 EWR-FLL 14:45-18:10 149 A320 open ? - 14:45-18:10 +0 N552JB - -\nf395 592 TPA-BOS 14:45-17:59 178 A321 open ? - 14:45-17:59 +0 N907JB - -\nf396 1131 CHS-FLL 14:45-16:25 113 A320 open ? - 14:45-16:25 +0 N570JB - -\nf397 270 MCO-RIC 14:52-16:55 132 A320 open ? - 14:52-16:55 +0 N584JB - -\nf398 1167 HPN-PBI 14:53-17:56 147 A320 open ? - 14:53-17:56 +0 N807JB - -\nf399 2466 FLL-BUF 14:53-17:52 150 A320 open ? - 14:53-17:52 +0 N708JB - -\nf400 75 JFK-MSY 14:55-18:24 97 E190 open ? - 14:55-18:24 +0 N216JB - -\nf401 212 AUS-FLL 14:55-17:55 104 A320 open ? - 14:55-17:55 +0 N603JB - -\nf402 399 LGA-MCO 14:55-18:03 150 A320 open ? - 14:55-18:03 +0 N592JB - -\nf403 761 LGA-PBI 14:55-18:05 148 A320 open ? - 14:55-18:05 +0 N615JB - -\nf404 1180 LAX-LAS 14:55-16:24 97 A320 open ? - 14:55-16:24 +0 N763JB - -\nf405 1539 MVY-JFK 14:55-16:03 81 E190 open ? - 14:55-16:03 +0 N193JB - -\nf406 100 LAX-FLL 14:59-20:18 138 A321P open ? - 14:59-20:18 +0 N977JE - -\nf407 1019 JFK-DTW 14:59-17:06 84 E190 open ? - 14:59-17:06 +0 N184JB - -\nf408 1401 JFK-FLL 14:59-18:22 135 A320 open ? - 14:59-18:22 +0 N569JB - -\nf409 1483 JFK-MCO 14:59-18:10 183 A321 open ? - 14:59-18:10 +0 N954JB - -\nf410 1745 BOS-CLT 14:59-17:30 87 E190 open ? - 14:59-17:30 +0 N323JB - -\nf411 1964 JFK-HYA 14:59-16:15 69 E190 open ? - 14:59-16:15 +0 N273JB - -\nf412 2030 SJU-JFK 14:59-18:59 176 A321 open ? - 14:59-18:59 +0 N2060J - -\nf413 932 IAH-BOS 15:00-18:58 136 A320 open ? - 15:00-18:58 +0 N536JB - -\nf414 1579 DCA-FLL 15:00-17:45 141 A320 open ? - 15:00-17:45 +0 N556JB - -\nf415 1955 BOS-DCA 15:00-16:51 89 E190 open ? - 15:00-16:51 +0 N266JB - -\nf416 481 DCA-RSW 15:03-17:45 83 E190 open ? - 15:03-17:45 +0 N348JB - -\nf417 641 BOS-CLE 15:05-17:05 86 E190 open ? - 15:05-17:05 +0 N283JB - -\nf418 2415 BOS-BUF 15:05-16:37 90 E190 open ? - 15:05-16:37 +0 N203JB - -\nf419 524 LAX-JFK 15:07-20:49 138 A321P open ? - 15:07-20:49 +0 N981JT - -\nf420 410 ACK-LGA 15:10-16:28 70 E190 open ? - 15:10-16:28 +0 N368JB - -\nf421 462 SJU-BOS 15:10-19:17 172 A321 open ? - 15:10-19:17 +0 N959JB - -\nf422 2184 RDU-BOS 15:14-17:15 76 E190 open ? - 15:14-17:15 +0 N328JB - -\nf423 2221 JFK-MCI 15:15-18:38 101 A220 open ? - 15:15-18:38 +0 N3102J - -\nf424 1130 FLL-CHS 15:18-16:59 119 A320 open ? - 15:18-16:59 +0 N709JB - -\nf425 19 BOS-SAN 15:20-21:26 138 A321P open ? - 15:20-21:26 +0 N929JB - -\nf426 2498 SEA-BOS 15:20-20:43 180 A321 open ? - 15:20-20:43 +0 N955JB - -\nf427 132 LAX-MCO 15:25-20:26 125 A320 open ? - 15:25-20:26 +0 N590JB - -\nf428 2392 MIA-JFK 15:25-18:39 147 A320 open ? - 15:25-18:39 +0 N805JB - -\nf429 152 RSW-HPN 15:27-18:30 148 A320 open ? - 15:27-18:30 +0 N663JB - -\nf430 96 PDX-BOS 15:30-20:58 175 A321 open ? - 15:30-20:58 +0 N974JT - -\nf431 1719 JFK-ATL 15:30-18:12 93 E190 open ? - 15:30-18:12 +0 N307JB - -\nf432 2494 DCA-ACK 15:30-17:00 63 E190 open ? - 15:30-17:00 +0 N279JB - -\nf433 2735 SFO-LAX 15:30-17:05 120 A320 open ? - 15:30-17:05 +0 N613JB - -\nf434 1527 EWR-MCO 15:34-18:38 141 A320 open ? - 15:34-18:38 +0 N641JB - -\nf435 517 BOS-JFK 15:35-17:00 83 E190 open ? - 15:35-17:00 +0 N187JB - -\nf436 1287 PVD-PBI 15:38-18:50 149 A320 open ? - 15:38-18:50 +0 N580JB - -\nf437 2473 JFK-CHS 15:40-18:04 82 E190 open ? - 15:40-18:04 +0 N337JB - -\nf438 1119 ORH-FLL 15:45-18:58 144 A320 open ? - 15:45-18:58 +0 N516JB - -\nf439 2666 HPN-MVY 15:45-16:45 66 E190 open ? - 15:45-16:45 +0 N236JB - -\nf440 435 STT-SJU 15:47-16:31 144 A320 open ? - 15:47-16:31 +0 N623JB - -\nf441 934 SJU-MCO 15:49-18:55 138 A320 open ? - 15:49-18:55 +0 N627JB - -\nf442 2102 FLL-JFK 15:52-19:00 147 A320 open ? - 15:52-19:00 +0 N643JB - -\nf443 615 JFK-SFO 15:55-22:31 137 A321P open ? - 15:55-22:31 +0 N943JT - -\nf444 1677 JFK-JAX 15:56-18:50 146 A320 open ? - 15:56-18:50 +0 N561JB - -\nf445 823 JFK-LAX 15:59-22:01 138 A321P open ? - 15:59-22:01 +0 N969JT - -\nf446 624 LAX-JFK 16:00-21:43 138 A321P open ? - 16:00-21:43 +0 N962JT - -\nf447 727 BOS-BWI 16:00-17:41 76 E190 open ? - 16:00-17:41 +0 N249JB - -\nf448 731 BOS-LGA 16:00-17:29 63 E190 open ? - 16:00-17:29 +0 N375JB - -\nf449 1355 BOS-DCA 16:00-17:52 89 E190 open ? - 16:00-17:52 +0 N198JB - -\nf450 691 BOS-TPA 16:04-19:30 196 A321 open ? - 16:04-19:30 +0 N997JL - -\nf451 1352 BOS-ACK 16:05-16:57 78 E190 open ? - 16:05-16:57 +0 N317JB - -\nf452 2251 BOS-MCO 16:05-19:25 184 A321 open ? - 16:05-19:25 +0 N999JQ - -\nf453 2884 MCO-JFK 16:09-19:02 147 A320 open ? - 16:09-19:02 +0 N564JB - -\nf454 119 ALB-MCO 16:10-19:12 144 A320 open ? - 16:10-19:12 +0 N665JB - -\nf455 487 BOS-LAX 16:10-22:17 138 A321P open ? - 16:10-22:17 +0 N993JE - -\nf456 697 BOS-ATL 16:10-19:07 132 A220 open ? - 16:10-19:07 +0 N3065J - -\nf457 1586 MCO-BUF 16:10-18:58 150 A320 open ? - 16:10-18:58 +0 N655JB - -\nf458 24 FLL-DCA 16:14-18:59 149 A320 open ? - 16:14-18:59 +0 N621JB - -\nf459 1032 LGA-BOS 16:15-17:41 63 E190 open ? - 16:15-17:41 +0 N339JB - -\nf460 190 SAN-JFK 16:18-22:06 138 A321P open ? - 16:18-22:06 +0 N942JB - -\nf461 1319 BOS-MIA 16:19-19:52 136 A220 open ? - 16:20-19:53 +1 N3115J - -\nf462 197 BOS-SEA 16:20-22:41 138 A321P open ? - 16:20-22:41 +0 N946JL - -\nf463 356 DEN-LGA 16:20-20:12 140 A320 open ? - 16:20-20:12 +0 N768JB - -\nf464 1482 RIC-BOS 16:20-18:03 77 E190 open ? - 16:20-18:03 +0 N355JB - -\nf465 1207 BOS-BNA 16:22-19:32 123 A220 open ? - 16:54-20:04 +32 N3112J - -\nf466 2259 BOS-PHL 16:25-18:08 81 E190 open ? - 16:25-18:08 +0 N304JB - -\nf467 1826 SAT-JFK 16:27-20:30 125 A320 open ? - 16:27-20:30 +0 N566JB - -\nf468 225 JFK-TPA 16:30-19:43 150 A320 open ? - 16:30-19:43 +0 N796JB - -\nf469 341 JFK-SAV 16:30-19:03 80 E190 open ? - 16:30-19:03 +0 N206JB - -\nf470 669 JFK-SJC 16:30-22:52 130 A320 open ? - 16:30-22:52 +0 N589JB - -\nf471 1374 LAX-EWR 16:30-22:06 138 A321P open ? - 16:30-22:06 +0 N4064J - -\nf472 1133 MCO-SJU 16:34-19:32 123 A320 open ? - 16:34-19:32 +0 N594JB - -\nf473 872 SLC-JFK 16:35-21:16 128 A320 open ? - 16:35-21:16 +0 N517JB - -\nf474 1254 DCA-BOS 16:35-18:22 86 E190 open ? - 16:35-18:22 +0 N267JB - -\nf475 2613 ATL-LGA 16:42-19:04 143 A320 open ? - 16:42-19:04 +0 N504JB - -\nf476 2810 TPA-LGA 16:42-19:30 149 A320 open ? - 16:42-19:30 +0 N821JB - -\nf477 383 JFK-MCO 16:45-19:51 183 A321 open ? - 16:45-19:51 +0 N995JL - -\nf478 1812 RSW-EWR 16:45-19:40 150 A320 open ? - 16:45-19:40 +0 N784JB - -\nf479 2566 LGA-MVY 16:45-17:56 79 E190 open ? - 16:45-17:56 +0 N329JB - -\nf480 656 MCO-SYR 16:46-19:32 96 E190 open ? - 16:46-19:32 +0 N231JB - -\nf481 2185 BOS-PIT 16:47-18:40 87 E190 open ? - 16:47-18:40 +0 N358JB - -\nf482 2748 SAV-LGA 16:49-18:54 86 E190 open ? - 16:49-18:54 +0 N306JB - -\nf483 447 BOS-SLC 16:50-22:19 140 A320 open ? - 16:50-22:19 +0 N585JB - -\nf484 571 LGA-FLL 16:50-20:06 150 A320 open ? - 16:50-20:06 +0 N547JB - -\nf485 1963 HYA-JFK 16:51-18:00 69 E190 open ? - 16:51-18:00 +0 N273JB - -\nf486 1686 RDU-JFK 16:55-18:40 80 E190 open ? - 16:55-18:40 +0 N354JB - -\nf487 534 SFO-BOS 16:59-22:38 138 A321P open ? - 16:59-22:38 +0 N2142J - -\nf488 1118 JFK-BOS 16:59-18:31 84 E190 open ? - 16:59-18:31 +0 N192JB - -\nf489 2 JFK-BUF 17:00-18:42 88 E190 open ? - 17:00-18:42 +0 N281JB - -\nf490 915 BOS-SMF 17:00-23:23 108 A220 open ? - 17:14-23:37 +14 N3023J - -\nf491 1197 PVD-FLL 17:00-20:12 173 A321 open ? - 17:00-20:12 +0 N948JB - -\nf492 2053 JFK-PBI 17:00-20:11 150 A320 open ? - 17:00-20:11 +0 N828JB - -\nf493 2055 BOS-DCA 17:00-18:53 89 E190 open ? - 17:00-18:53 +0 N274JB - -\nf494 2614 LGA-ATL 17:00-19:34 145 A320 open ? - 17:25-19:59 +25 N651JB - -\nf495 2901 JFK-FLL 17:02-20:26 146 A320 open ? - 17:02-20:26 +0 N648JB - -\nf496 64 SEA-JFK 17:04-22:29 138 A321P open ? - 17:04-22:29 +0 N967JT - -\nf497 694 AUS-JFK 17:04-21:00 110 A320 open ? - 17:04-21:00 +0 N524JB - -\nf498 2154 PBI-JFK 17:04-20:00 150 A320 open ? - 18:41-21:37 +97 N807JB - -\nf499 713 BOS-ROC 17:05-18:32 90 E190 open ? - 17:05-18:32 +0 N284JB - -\nf500 1079 LAS-LAX 17:09-18:26 86 A320 open ? - 17:09-18:26 +0 N763JB - -\nf501 616 SFO-JFK 17:10-22:54 138 A321P open ? - 17:10-22:54 +0 N983JT - -\nf502 1037 BOS-DTW 17:10-19:27 87 E190 open ? - 17:10-19:27 +0 N197JB - -\nf503 2054 SJU-FLL 17:12-19:54 146 A320 open ? - 17:16-19:58 +4 N623JB - -\nf504 716 BUF-BOS 17:15-18:47 95 E190 open ? - 17:15-18:47 +0 N203JB - -\nf505 1132 LGA-BOS 17:15-18:42 63 E190 open ? - 17:15-18:42 +0 N247JB - -\nf506 2769 BQN-TPA 17:19-20:14 87 A320 open ? - 18:07-21:02 +48 N834JB - -\nf507 246 FLL-BQN 17:25-20:01 81 A320 open ? - 17:25-20:01 +0 N637JB - -\nf508 359 JFK-BUR 17:25-23:30 146 A320 open ? - 17:25-23:30 +0 N645JB - -\nf509 1348 SJU-DCA 17:25-21:17 150 A320 open ? - 17:51-21:43 +26 N595JB - -\nf510 1453 FLL-SJU 17:25-20:00 131 A320 open ? - 17:25-20:00 +0 N529JB - -\nf511 2066 RSW-BOS 17:25-20:46 129 A220 open ? - 17:38-20:59 +13 N3121J - -\nf512 2339 LGA-JAX 17:25-20:07 147 A320 open ? - 17:35-20:17 +10 N559JB - -\nf513 308 JFK-PWM 17:30-19:03 78 E190 open ? - 17:30-19:03 +0 N318JB - -\nf514 1225 MVY-BOS 17:30-18:18 69 E190 open ? - 17:30-18:18 +0 N236JB - -\nf515 1267 HPN-PBI 17:30-20:26 147 A320 open ? - 17:30-20:26 +0 N587JB - -\nf516 2093 JFK-MIA 17:30-20:46 150 A320 open ? - 17:30-20:46 +0 N766JB - -\nf517 806 LAX-SEA 17:34-20:20 120 A320 open ? - 17:34-20:20 +0 N746JB - -\nf518 836 MSP-BOS 17:34-20:25 125 A220 open ? - 18:18-21:09 +44 N3123J - -\nf519 969 RIC-MCO 17:40-19:46 109 A320 open ? - 17:40-19:46 +0 N584JB - -\nf520 182 BNA-FLL 17:41-20:08 112 A320 open ? - 17:41-20:08 +0 N618JB - -\nf521 472 FLL-LGA 17:44-20:50 150 A320 open ? - 17:44-20:50 +0 N521JB - -\nf522 2648 CHS-HPN 17:44-19:59 117 A320 open ? - 17:44-19:59 +0 N709JB - -\nf523 101 FLL-LAX 17:45-23:11 138 A321P open ? - 17:45-23:11 +0 N985JT - -\nf524 275 BDL-SJU 17:45-21:36 135 A320 open ? - 18:13-22:04 +28 N526JL - -\nf525 777 BOS-LAS 17:45-23:38 172 A321 open ? - 17:45-23:38 +0 N952JB - -\nf526 1993 JFK-MCO 17:45-20:50 128 A220 open ? - 20:29-23:34 +164 N3062J - -\nf527 192 ACK-JFK 17:47-19:00 69 E190 open ? - 17:47-19:00 +0 N317JB - -\nf528 828 MCO-EWR 17:49-20:50 150 A320 open ? - 17:49-20:50 +0 N644JB - -\nf529 640 CLE-BOS 17:50-19:34 81 E190 open ? - 17:50-19:34 +0 N283JB - -\nf530 2073 EWR-LAX 17:51-23:50 138 A321P open ? - 17:51-23:50 +0 N961JT - -\nf531 1673 JFK-BNA 17:54-20:50 74 E190 open ? - 17:54-20:50 +0 N193JB - -\nf532 188 LAX-BOS 17:55-23:32 138 A321P open ? - 17:55-23:32 +0 N986JB - -\nf533 1799 LGA-MCO 17:55-20:57 140 A320 open ? - 18:10-21:12 +15 N607JB - -\nf534 711 JFK-LAS 17:59-23:44 180 A321 open ? - 17:59-23:44 +0 N2084J - -\nf535 684 RDU-BOS 18:00-20:03 122 A320 open ? - 18:00-20:03 +0 N598JB - -\nf536 971 BOS-SJC 18:00-00:39+1 107 A220 open ? - 18:00-00:39+1 +0 N3113J - -\nf537 1331 BOS-LGA 18:00-19:27 63 E190 open ? - 18:00-19:27 +0 N238JB - -\nf538 1979 DCA-FLL 18:00-20:39 141 A320 open ? - 18:00-20:39 +0 N537JT - -\nf539 2230 MKE-BOS 18:00-20:13 130 A220 open ? - 18:00-20:13 +0 N3085J - -\nf540 2783 BOS-RDU 18:00-20:09 133 A320 open ? - 18:00-20:09 +0 N629JB - -\nf541 187 BOS-LAX 18:02-00:09+1 138 A321P open ? - 18:02-00:09+1 +0 N992JB - -\nf542 1734 SFO-BOS 18:05-23:41 138 A321P open ? - 18:05-23:41 +0 N968JT - -\nf543 2534 PBI-DCA 18:05-20:34 93 E190 open ? - 18:05-20:34 +0 N265JB - -\nf544 1120 DTW-JFK 18:08-20:00 82 E190 open ? - 18:08-20:00 +0 N184JB - -\nf545 1214 DFW-BOS 18:10-21:59 110 A220 open ? - 18:54-22:43 +44 N3044J - -\nf546 1294 MCO-HPN 18:10-21:02 140 A320 open ? - 18:10-21:02 +0 N794JB - -\nf547 1524 LAX-JFK 18:10-23:47 128 A321P open ? - 18:10-23:47 +0 N935JB - -\nf548 1733 DCA-PBI 18:10-20:38 84 E190 open ? - 18:10-20:38 +0 N266JB - -\nf549 29 FLL-SAN 18:14-23:30 132 A320 open ? - 18:14-23:30 +0 N703JB - -\nf550 88 FLL-ALB 18:15-21:26 150 A320 open ? - 18:15-21:26 +0 N508JL - -\nf551 1232 LGA-BOS 18:15-19:38 63 E190 open ? - 18:15-19:38 +0 N368JB - -\nf552 1746 CLT-BOS 18:15-20:31 80 E190 open ? - 18:15-20:31 +0 N323JB - -\nf553 1880 FLL-DCA 18:15-20:59 149 A320 open ? - 18:15-20:59 +0 N570JB - -\nf554 2275 PVD-MCO 18:15-21:16 148 A320 open ? - 18:15-21:16 +0 N809JB - -\nf555 1026 BWI-BOS 18:19-19:55 78 E190 open ? - 18:19-19:55 +0 N249JB - -\nf556 2060 RSW-LGA 18:19-21:19 113 A320 open ? - 18:19-21:19 +0 N608JB - -\nf557 582 RSW-DCA 18:24-20:59 69 E190 open ? - 18:24-20:59 +0 N348JB - -\nf558 2634 TPA-BDL 18:24-21:13 150 A320 open ? - 18:24-21:13 +0 N705JB - -\nf559 33 BOS-SFO 18:30-01:16+1 133 A321P open ? - 20:01-02:47+1 +91 N990JL - -\nf560 263 JFK-SEA 18:30-01:00+1 138 A321P open ? - 18:30-01:00+1 +0 N988JT - -\nf561 1903 JFK-SJU 18:30-22:29 171 A321 open ? - 18:30-22:29 +0 N998JE - -\nf562 2202 FLL-JFK 18:30-21:34 147 A320 open ? - 18:30-21:34 +0 N658JB - -\nf563 2416 SFO-JFK 18:30-00:11+1 138 A321P open ? - 18:30-00:11+1 +0 N984JB - -\nf564 2754 DCA-BOS 18:30-20:08 86 E190 open ? - 18:30-20:08 +0 N198JB - -\nf565 2404 SJU-JFK 18:31-22:29 176 A321 open ? - 18:31-22:29 +0 N2039J - -\nf566 161 JFK-SMF 18:32-00:58+1 180 A321 open ? - 18:32-00:58+1 +0 N950JT - -\nf567 2465 BUF-FLL 18:37-21:36 150 A320 open ? - 18:37-21:36 +0 N708JB - -\nf568 1185 JFK-RDU 18:38-20:38 85 E190 open ? - 18:38-20:38 +0 N187JB - -\nf569 1192 TPA-BOS 18:40-21:49 125 A220 open ? - 19:40-22:49 +60 N3104J - -\nf570 2583 JFK-MCO 18:40-21:44 148 A320 open ? - 18:40-21:44 +0 N554JB - -\nf571 1142 PBI-BDL 18:41-21:34 138 A321P open ? - 18:41-21:34 +0 N989JT - -\nf572 798 MCO-LGA 18:45-21:38 149 A320 open ? - 18:45-21:38 +0 N520JB - -\nf573 1451 BOS-MCO 18:45-21:59 149 A320 open ? - 18:45-21:59 +0 N523JB - -\nf574 2565 MVY-LGA 18:48-20:00 88 E190 open ? - 18:48-20:00 +0 N329JB - -\nf575 362 SJU-BOS 18:50-22:48 139 A320 open ? - 18:50-22:48 +0 N597JB - -\nf576 1274 CHS-JFK 18:50-21:00 80 E190 open ? - 18:50-21:00 +0 N337JB - -\nf577 1303 BOS-PHX 18:50-00:30+1 124 A320 open ? - 18:50-00:30+1 +0 N591JB - -\nf578 1320 ATL-JFK 18:50-21:20 87 E190 open ? - 18:50-21:20 +0 N307JB - -\nf579 277 FLL-SFO 18:55-00:53+1 136 A321P open ? - 18:55-00:53+1 +0 N987JT - -\nf580 914 FLL-HPN 18:55-21:59 141 A320 open ? - 18:55-21:59 +0 N510JB - -\nf581 1732 LAX-SLC 18:55-20:44 119 A320 open ? - 18:55-20:44 +0 N661JB - -\nf582 2460 PHL-BOS 18:55-20:29 77 E190 open ? - 18:55-20:29 +0 N304JB - -\nf583 2122 ACK-HPN 18:57-20:00 88 E190 open ? - 18:57-20:00 +0 N279JB - -\nf584 801 MCO-SLC 18:59-23:40 123 A320 open ? - 18:59-23:40 +0 N592JB - -\nf585 1262 PBI-LGA 19:00-21:53 145 A320 open ? - 19:00-21:53 +0 N615JB - -\nf586 1431 BOS-LGA 19:00-20:26 63 E190 open ? - 19:00-20:26 +0 N324JB - -\nf587 153 DEN-LGA 19:15-23:11 140 A320 open ? - 19:15-23:11 +0 N593JB - -\nf588 176 MSY-JFK 19:15-22:31 80 E190 open ? - 19:15-22:31 +0 N216JB - -\nf589 495 HPN-MCO 19:15-22:09 150 A320 open ? - 19:15-22:09 +0 N663JB - -\nf590 2232 IAH-BOS 19:16-23:09 117 A220 open ? - 19:24-23:17 +8 N3125J - -\nf591 293 BOS-DEN 19:20-23:57 172 A321 open ? - 19:20-23:57 +0 N905JB - -\nf592 1124 LAX-JFK 19:20-00:49+1 138 A321P open ? - 19:20-00:49+1 +0 N976JT - -\nf593 1718 JFK-BOS 19:25-20:55 84 E190 open ? - 19:25-20:55 +0 N273JB - -\nf594 2186 PIT-BOS 19:25-21:02 82 E190 open ? - 19:25-21:02 +0 N358JB - -\nf595 1080 LAX-LAS 19:28-20:53 97 A320 open ? - 19:28-20:53 +0 N827JB - -\nf596 65 JFK-ABQ 19:29-00:18+1 135 A320 open ? - 19:29-00:18+1 +0 N586JB - -\nf597 223 JFK-LAX 19:30-01:39+1 138 A321P open ? - 19:30-01:39+1 +0 N980JT - -\nf598 1005 JFK-PDX 19:30-01:47+1 121 A320 open ? - 19:30-01:47+1 +0 N646JB - -\nf599 1281 BOS-RIC 19:30-21:13 83 E190 open ? - 19:30-21:13 +0 N339JB - -\nf600 1382 LGA-PWM 19:30-20:45 82 E190 open ? - 19:30-20:45 +0 N375JB - -\nf601 2061 LGA-RSW 19:30-22:42 119 A320 open ? - 19:40-22:52 +10 N806JB - -\nf602 2354 DCA-BOS 19:30-21:04 86 E190 open ? - 19:30-21:04 +0 N274JB - -\nf603 1168 PBI-HPN 19:35-22:29 142 A320 open ? - 19:35-22:29 +0 N580JB - -\nf604 1284 MCO-JFK 19:35-22:28 181 A321 open ? - 19:35-22:28 +0 N954JB - -\nf605 1678 JAX-JFK 19:35-22:07 143 A320 open ? - 19:35-22:07 +0 N561JB - -\nf606 2364 MCI-BOS 19:35-22:34 109 A220 open ? - 19:35-22:34 +0 N3102J - -\nf607 201 BUF-JFK 19:36-21:00 89 E190 open ? - 19:36-21:00 +0 N281JB - -\nf608 355 JFK-ONT 19:39-01:42+1 172 A321 open ? - 19:39-01:42+1 +0 N994JL - -\nf609 2006 MCO-BOS 19:40-22:44 141 A320 open ? - 19:40-22:44 +0 N641JB - -\nf610 317 BOS-JFK 19:41-21:00 83 E190 open ? - 19:41-21:00 +0 N355JB - -\nf611 541 BOS-CLE 19:45-21:48 86 E190 open ? - 19:45-21:48 +0 N236JB - -\nf612 342 SAV-JFK 19:49-21:59 79 E190 open ? - 19:49-21:59 +0 N206JB - -\nf613 307 PWM-JFK 19:54-21:10 82 E190 open ? - 19:54-21:10 +0 N318JB - -\nf614 709 BOS-JAX 19:55-22:50 145 A320 open ? - 19:55-22:50 +0 N536JB - -\nf615 983 BOS-RDU 19:55-21:58 82 E190 open ? - 19:55-21:58 +0 N267JB - -\nf616 2319 FLL-SLC 19:55-00:57+1 119 A320 open ? - 19:55-00:57+1 +0 N662JB - -\nf617 2385 BOS-PIT 19:55-21:42 87 E190 open ? - 19:55-21:42 +0 N190JB - -\nf618 942 LAX-RNO 19:57-21:22 105 A320 open ? - 19:57-21:22 +0 N613JB - -\nf619 47 LGA-TPA 19:59-22:59 150 A320 open ? - 19:59-22:59 +0 N504JB - -\nf620 1096 ATL-BOS 19:59-22:44 121 A220 open ? - 19:59-22:44 +0 N3065J - -\nf621 2886 MIA-LAX 19:59-01:16+1 127 A321P open ? - 19:59-01:16+1 +0 N964JT - -\nf622 703 JFK-SJU 20:00-23:59 171 A321 open ? - 20:00-23:59 +0 N970JB - -\nf623 1211 JFK-LAS 20:00-01:44+1 180 A321 open ? - 20:00-01:44+1 +0 N973JT - -\nf624 2181 JFK-RNO 20:00-02:09+1 147 A320 open ? - 20:00-02:09+1 +0 N503JB - -\nf625 2523 DCA-MCO 20:00-22:24 137 A320 open ? - 20:00-22:24 +0 N621JB - -\nf626 2602 JFK-BUF 20:00-21:39 88 E190 open ? - 20:00-21:39 +0 N354JB - -\nf627 1873 EWR-LAX 20:05-02:03+1 138 A321P open ? - 20:05-02:03+1 +0 N947JB - -\nf628 131 MCO-LAX 20:09-01:10+1 126 A320 open ? - 20:09-01:10+1 +0 N627JB - -\nf629 97 JFK-DEN 20:10-00:35+1 137 A320 open ? - 20:10-00:35+1 +0 N805JB - -\nf630 572 FLL-LGA 20:10-23:13 150 A320 open ? - 20:10-23:13 +0 N789JB - -\nf631 815 JFK-SFO 20:10-02:51+1 136 A321P open ? - 20:10-02:51+1 +0 N937JB - -\nf632 1136 DTW-BOS 20:15-22:01 88 E190 open ? - 20:15-22:01 +0 N197JB - -\nf633 1432 LGA-BOS 20:15-21:35 63 E190 open ? - 20:15-21:35 +0 N306JB - -\nf634 135 JFK-PHX 20:16-01:49+1 172 A321 open ? - 20:16-01:49+1 +0 N2060J - -\nf635 1206 BNA-BOS 20:17-22:56 115 A220 open ? - 20:49-23:28 +32 N3112J - -\nf636 568 FLL-ATL 20:20-22:12 105 A320 open ? - 20:20-22:12 +0 N556JB - -\nf637 2119 LGA-MSY 20:20-23:42 132 A320 open ? - 20:20-23:42 +0 N821JB - -\nf638 138 MCO-BDL 20:25-23:19 150 A320 open ? - 20:25-23:19 +0 N649JB - -\nf639 1134 SJU-MCO 20:25-23:29 138 A320 open ? - 20:25-23:29 +0 N653JB - -\nf640 1761 LGA-PBI 20:25-23:21 148 A320 open ? - 20:57-23:53 +32 N768JB - -\nf641 548 TPA-HPN 20:28-23:26 150 A320 open ? - 20:28-23:26 +0 N796JB - -\nf642 998 MCO-LGA 20:28-23:15 150 A320 open ? - 20:28-23:15 +0 N665JB - -\nf643 2513 ATL-LGA 20:29-22:55 143 A320 open ? - 20:44-23:10 +15 N651JB - -\nf644 369 BOS-FLL 20:30-23:52 181 A321 open ? - 20:30-23:52 +0 N907JB - -\nf645 1097 BOS-ATL 20:30-23:16 94 E190 open ? - 20:30-23:16 +0 N192JB - -\nf646 2273 EWR-TPA 20:30-23:24 145 A320 open ? - 20:30-23:24 +0 N568JB - -\nf647 234 JFK-BTV 20:35-22:06 80 E190 open ? - 20:35-22:06 +0 N317JB - -\nf648 506 FLL-EWR 20:35-23:31 140 A320 open ? - 20:35-23:31 +0 N603JB - -\nf649 1720 MIA-BOS 20:38-23:59 114 A220 open ? - 20:38-23:59 +0 N3115J - -\nf650 460 FLL-BDL 20:40-23:43 146 A320 open ? - 20:40-23:43 +0 N552JB - -\nf651 692 TPA-BOS 20:40-23:46 178 A321 open ? - 20:40-23:46 +0 N997JL - -\nf652 1146 FLL-RIC 20:40-22:56 125 A320 open ? - 20:40-22:56 +0 N569JB - -\nf653 1152 MCO-BOS 20:40-23:47 173 A321 open ? - 20:40-23:47 +0 N999JQ - -\nf654 1823 JFK-LAX 20:40-02:44+1 138 A321P open ? - 20:40-02:44+1 +0 N979JT - -\nf655 617 BOS-JFK 20:43-21:59 83 E190 open ? - 20:43-21:59 +0 N247JB - -\nf656 613 HPN-FLL 20:45-23:39 144 A320 open ? - 20:45-23:39 +0 N709JB - -\nf657 2514 LGA-ATL 20:45-23:06 90 E190 open ? - 20:45-23:06 +0 N238JB - -\nf658 245 BQN-FLL 20:46-23:13 61 A320 open ? - 20:46-23:13 +0 N637JB - -\nf659 607 FLL-LAS 20:54-02:04+1 134 A320 open ? - 20:54-02:04+1 +0 N516JB - -\nf660 89 JFK-SAN 20:55-02:47+1 138 A321P open ? - 20:55-02:47+1 +0 N978JB - -\nf661 310 JAX-BOS 20:55-23:35 129 A320 open ? - 21:02-23:42 +7 N559JB - -\nf662 384 MCO-JFK 20:55-23:41 181 A321 open ? - 20:55-23:41 +0 N995JL - -\nf663 1484 RDU-BOS 20:55-22:54 122 A320 open ? - 20:55-22:54 +0 N629JB - -\nf664 2752 SJU-TPA 20:55-23:58 131 A320 open ? - 20:55-23:58 +0 N594JB - -\nf665 1044 PBI-EWR 20:56-23:44 144 A320 open ? - 20:56-23:44 +0 N828JB - -\nf666 71 JFK-SLC 20:59-02:16+1 126 A320 open ? - 20:59-02:16+1 +0 N643JB - -\nf667 333 BOS-SFO 20:59-03:32+1 133 A321P open ? - 20:59-03:32+1 +0 N945JT - -\nf668 2174 TPA-EWR 20:59-23:46 150 A320 open ? - 21:42-00:29+1 +43 N834JB - -\nf669 2589 EWR-SJU 20:59-00:53+1 189 A321 open ? - 20:59-00:53+1 +0 N965JT - -\nf670 2626 FLL-RDU 20:59-23:04 118 A320 open ? - 20:59-23:04 +0 N563JB - -\nf671 499 LGA-MCO 21:10-23:54 150 A320 open ? - 21:35-00:19+1 +25 N521JB - -\nf672 386 RDU-JFK 21:13-22:59 80 E190 open ? - 21:13-22:59 +0 N187JB - -\nf673 1802 FLL-JFK 21:15-00:10+1 147 A320 open ? - 21:15-00:10+1 +0 N623JB - -\nf674 170 FLL-BOS 21:20-00:34+1 181 A321 open ? - 21:20-00:34+1 +0 N948JB - -\nf675 516 MCO-SJU 21:25-00:18+1 123 A320 open ? - 21:25-00:18+1 +0 N584JB - -\nf676 807 SEA-LAX 21:25-00:15+1 139 A320 open ? - 21:25-00:15+1 +0 N746JB - -\nf677 1674 BNA-JFK 21:25-23:57 58 E190 open ? - 21:25-23:57 +0 N193JB - -\nf678 2501 FLL-LAX 21:29-02:59+1 138 A321P open ? - 21:29-02:59+1 +0 N977JE - -\nf679 2129 JFK-RSW 21:30-00:41+1 118 A320 open ? - 21:30-00:41+1 +0 N564JB - -\nf680 2092 MIA-JFK 21:31-00:29+1 147 A320 open ? - 21:31-00:29+1 +0 N766JB - -\nf681 1279 LAS-LAX 21:38-22:49 86 A320 open ? - 21:38-22:49 +0 N827JB - -\nf682 536 LAX-SFO 21:40-22:58 127 A320 open ? - 21:40-22:58 +0 N763JB - -\nf683 2516 JFK-SYR 21:40-23:03 81 E190 open ? - 21:40-23:03 +0 N184JB - -\nf684 2615 JFK-SFO 21:40-03:53+1 136 A321P open ? - 21:40-03:53+1 +0 N982JB - -\nf685 283 JFK-MCO 21:45-00:35+1 92 E190 open ? - 21:45-00:35+1 +0 N281JB - -\nf686 471 LGA-FLL 21:45-00:47+1 150 A320 open ? - 22:04-01:06+1 +19 N608JB - -\nf687 1387 BOS-LAX 21:45-03:49+1 138 A321P open ? - 21:45-03:49+1 +0 N2156J - -\nf688 1419 JFK-DTW 21:50-23:53 84 E190 open ? - 21:50-23:53 +0 N337JB - -\nf689 2194 MCO-EWR 21:50-00:30+1 141 A320 open ? - 21:50-00:30+1 +0 N590JB - -\nf690 318 JFK-BOS 21:59-23:20 84 E190 open ? - 21:59-23:20 +0 N355JB - -\nf691 486 JFK-ROC 21:59-23:28 88 E190 open ? - 21:59-23:28 +0 N318JB - -\nf692 1723 JFK-LAX 21:59-04:01+1 138 A321P open ? - 21:59-04:01+1 +0 N944JT - -\nf693 1731 SLC-LAX 21:59-23:50 122 A320 open ? - 21:59-23:50 +0 N661JB - -\nf694 430 MCO-BQN 22:05-00:49+1 87 A320 open ? - 22:05-00:49+1 +0 N607JB - -\nf695 1475 BDL-SJU 22:12-02:02+1 135 A320 open ? - 22:12-02:02+1 +0 N705JB - -\nf696 943 RNO-LAX 22:22-00:05+1 101 A320 open ? - 22:22-00:05+1 +0 N613JB - -\nf697 839 JFK-BQN 22:29-02:23+1 142 A320 open ? - 22:29-02:23+1 +0 N566JB - -\nf698 767 MCO-PSE 22:30-01:23+1 88 A320 open ? - 22:30-01:23+1 +0 N809JB - -\nf699 2134 SJU-MCO 22:30-01:24+1 138 A320 open ? - 22:30-01:24+1 +0 N529JB - -\nf700 403 JFK-SJU 22:59-02:52+1 171 A321 open ? - 22:59-02:52+1 +0 N2059J - -\nf701 745 JFK-PSE 22:59-02:58+1 132 A320 open ? - 22:59-02:58+1 +0 N524JB - -\nf702 2120 SAN-BOS 23:10-04:39+1 138 A321P open ? - 23:10-04:39+1 +0 N929JB - -\nf703 2133 MCO-SJU 23:15-02:05+1 123 A320 open ? - 23:15-02:05+1 +0 N554JB - -\nf704 2124 LAX-JFK 23:30-05:00+1 138 A321P open ? - 23:30-05:00+1 +0 N923JB - -\nf705 561 BOS-SJU 23:35-03:32+1 148 A321 open ? - 23:35-03:32+1 +0 N996JL - -\nf706 388 LAX-BOS 23:45-05:20+1 138 A321P open ? - 23:45-05:20+1 +0 N969JT - -\nf707 2985 LAX-MIA 23:45-05:06+1 135 A321P open ? - 23:45-05:06+1 +0 N993JE - -\nf708 670 SJC-JFK 23:49-05:23+1 133 A320 open ? - 23:49-05:23+1 +0 N589JB - -\nf709 498 SEA-BOS 00:10+1-05:23+1 138 A321P open ? - 00:10+1-05:23+1 +0 N946JL - -\nf710 916 SMF-BOS 00:22+1-05:53+1 113 A220 open ? - 00:22+1-05:53+1 +0 N3023J - -\nf711 358 BUR-JFK 00:25+1-06:00+1 117 A320 open ? - 00:25+1-06:00+1 +0 N645JB - -\nf712 30 SAN-FLL 00:30+1-05:33+1 127 A320 open ? - 00:30+1-05:33+1 +0 N703JB - -\nf713 348 SLC-BOS 00:31+1-05:00+1 143 A320 open ? - 00:31+1-05:00+1 +0 N585JB - -\nf714 72 SLC-JFK 00:43+1-05:13+1 128 A320 open ? - 00:43+1-05:13+1 +0 N592JB - -\nf715 34 SFO-BOS 00:55+1-06:32+1 138 A321P open ? - 00:55+1-06:32+1 +0 N943JT - -\nf716 1574 LAX-EWR 00:55+1-06:23+1 138 A321P open ? - 00:55+1-06:23+1 +0 N985JT - -\nf717 2218 LAX-CHS 00:55+1-05:51+1 108 A320 open ? - 00:55+1-05:51+1 +0 N729JB - -\nf718 1268 LAX-BDL 01:05+1-06:32+1 149 A320 open ? - 01:05+1-06:32+1 +0 N827JB - -\nf719 594 DEN-BOS 01:10+1-05:02+1 168 A321 open ? - 01:10+1-05:02+1 +0 N905JB - -\nf720 778 LAS-BOS 01:18+1-06:23+1 180 A321 open ? - 01:18+1-06:23+1 +0 N952JB - -\nf721 700 LAX-FLL 01:19+1-06:31+1 138 A321P open ? - 01:19+1-06:31+1 +0 N961JT - -\nf722 1302 PHX-BOS 01:22+1-06:17+1 119 A320 open ? - 01:22+1-06:17+1 +0 N591JB - -\nf723 124 LAX-JFK 01:34+1-07:10+1 138 A321P open ? - 01:34+1-07:10+1 +0 N992JB - -\nf724 1548 LAS-JFK 01:35+1-06:30+1 179 A321 open ? - 01:35+1-06:30+1 +0 N2084J - -\nf725 98 DEN-JFK 01:38+1-05:20+1 132 A320 open ? - 01:38+1-05:20+1 +0 N656JB - -\nf726 66 ABQ-JFK 01:40+1-05:49+1 128 A320 open ? - 01:40+1-05:49+1 +0 N586JB - -\nf727 972 SJC-BOS 01:50+1-07:36+1 128 A220 open ? - 01:50+1-07:36+1 +0 N3113J - -\nf728 2320 SLC-FLL 01:55+1-06:33+1 107 A320 open ? - 01:55+1-06:33+1 +0 N662JB - -\nf729 162 SMF-JFK 02:09+1-07:33+1 176 A321 open ? - 02:09+1-07:33+1 +0 N950JT - -\nf730 278 SFO-FLL 02:13+1-07:54+1 134 A321P open ? - 02:13+1-07:54+1 +0 N987JT - -\nf731 264 SEA-JFK 02:20+1-07:32+1 138 A321P open ? - 02:20+1-07:32+1 +0 N988JT - -\nf732 988 LAX-BOS 02:40+1-08:19+1 138 A321P open ? - 02:40+1-08:19+1 +0 N964JT - -\nf733 1006 PDX-JFK 02:49+1-08:03+1 132 A320 open ? - 02:49+1-08:03+1 +0 N646JB - -\nf734 354 ONT-JFK 02:52+1-08:15+1 177 A321 open ? - 02:52+1-08:15+1 +0 N994JL - -\nf735 608 LAS-FLL 02:55+1-07:38+1 138 A320 open ? - 02:55+1-07:38+1 +0 N516JB - -\nf736 2348 LAS-JFK 02:55+1-07:49+1 179 A321 open ? - 02:55+1-07:49+1 +0 N973JT - -\nf737 80 RNO-JFK 02:59+1-08:07+1 115 A320 open ? - 02:59+1-08:07+1 +0 N503JB - -\nf738 136 PHX-JFK 02:59+1-07:49+1 178 A321 open ? - 02:59+1-07:49+1 +0 N2060J - -\nf739 1216 SFO-JFK 02:59+1-08:30+1 138 A321P open ? - 03:35+1-09:06+1 +36 N990JL - -\nf740 1316 LAX-JFK 02:59+1-08:37+1 138 A321P open ? - 02:59+1-08:37+1 +0 N980JT - -\n\n## Aircraft now, as your plan has them (@ = ready at)\nBOS: N184JB N190JB@19:06 N197JB N2156J@05:12 N236JB N238JB N274JB N279JB N281JB N284JB N3023J@08:55 N3044J N3062J N3065J N3085J N3102J N3113J@06:44 N3115J N3121J N3123J N3125J@14:32 N328JB N337JB N355JB N358JB@06:25 N507JT N536JB@08:00 N585JB@13:09 N591JB N597JB@08:46 N605JB N629JB@16:05 N641JB N648JB N768JB N905JB N907JB N929JB@07:20 N944JT N946JL@14:32 N947JB N955JB N959JB N968JT@05:29 N974JT N978JB N986JB@06:28 N993JE@07:45 N996JL@19:35 N997JL N999JQ@09:33\nJFK: N187JB N193JB N2039J@08:33 N2059J@22:04 N2060J N2102J@07:24 N2142J@08:42 N216JB N267JB N307JB N368JB N4064J N503JB@18:45 N517JB@06:30 N531JL@05:45 N554JB@05:45 N566JB@08:58 N584JB@06:49 N587JB@05:51 N594JB@10:45 N618JB N621JB@07:40 N625JB N633JB@22:14 N645JB@06:15 N649JB N651JB N658JB N715JB N828JB@15:11 N913JB N923JB@10:10 N935JB@09:24 N937JB N942JB N945JT N950JT@15:50 N954JB@08:58 N966JT N967JT@04:42 N970JB@19:05 N973JT@19:21 N976JT@09:39 N977JE N979JT N982JB N984JB@09:35 N994JL N998JE\nALB: N766JB\nATL: N304JB N306JB N510JB@06:25\nBDL: N608JB N637JB N746JB N989JT@10:27\nBQN: N646JB@04:27\nBTV: N375JB\nBUF: N318JB N665JB@07:33\nCHS: N590JB@07:18\nCLE: N265JB\nDCA: N231JB N324JB N348JB N589JB N644JB\nDEN: N547JB\nDTW: N206JB\nEWR: N504JB N520JB N556JB N568JB@05:19 N612JB@04:58 N653JB N807JB@06:45 N956JT@20:04 N962JT@07:20 N965JT@08:44 N990JL\nFLL: N2084J N3104J N505JB N529JB@07:14 N559JB N561JB N562JB N563JB@20:30 N598JB@06:15 N643JB@14:33 N663JB N703JB N709JB N784JB N789JB@06:11 N948JB N981JT@08:48 N983JT@08:52\nHPN: N317JB N580JB N586JB N705JB N809JB\nJAX: N593JB\nLAX: N2105J@05:27 N613JB N661JB N729JB@20:55 N827JB N961JT@04:40 N969JT N985JT@06:01 N988JT@04:27\nLGA: N249JB N323JB N516JB N523JB N592JB@06:10 N615JB N627JB@05:25 N794JB\nMCO: N3112J N354JB N506JB N552JB@04:49 N564JB N569JB N607JB N623JB@05:44 N656JB N708JB N712JB@18:00+1 N796JB\nMIA: N964JT@06:44\nMSY: N806JB\nPBI: N266JB N570JB N821JB\nPIT: N283JB\nPSE: N599JB\nPWM: N339JB\nRDU: N329JB N508JL\nRIC: N203JB N603JB\nROC: N192JB N247JB\nRSW: N519JB N524JB\nSAN: N980JT\nSFO: N763JB N943JT N987JT@04:13 N992JB\nSJU: N526JL@13:29 N595JB@17:51 N655JB N662JB N760JB@11:58 N834JB N903JB N952JB N995JL@04:15\nSLC: N537JT\nSYR: N198JB N273JB\nTPA: N521JB@04:05 N640JB N805JB\nairborne: none\n\n## News so far\n[22:18-1] TAF AMD KJFK 170218Z 1702/1806 13005KT P6SM BKN015 FM170500 12004KT 6SM BR BKN007 TEMPO 1708/1712 3SM BR FM171400 13007KT P6SM SCT015 BKN025 FM171600 15009KT P6SM SCT025 BKN035 FM180000 17008KT 5SM -SHRA BR SCT015 BKN025=\n[01:27] TAF KBOS 170527Z 1706/1812 03004KT P6SM FEW009 OVC035 FM170800 10003KT 3SM BR OVC012 FM171300 10005KT 4SM BR BKN015 FM171600 10007KT P6SM BKN020 FM172300 10007KT 4SM BR OVC010=\n[01:34] TAF KJFK 170534Z 1706/1812 12004KT 6SM BR BKN015 FM170700 13005KT 6SM BR BKN009 TEMPO 1710/1712 3SM BR FM171400 13007KT P6SM SCT015 BKN025 FM171600 15009KT P6SM SCT025 BKN035 FM180000 17008KT 5SM -SHRA BR SCT015 BKN025 FM180300 18009KT 3SM SHRA BR BKN009=\n[02:49] KJFK 170649Z 08005KT 10SM BKN009 BKN014 OVC023 22/21 A2998 RMK AO2 FIBI (RM) IEM_GHCNH\n[02:51] KJFK 170651Z 08005KT 10SM BKN009 OVC014 22/21 A2998 RMK AO2 SLP150 T02170206\n[02:54] KBOS 170654Z 00000KT 10SM OVC032 19/18 A3001 RMK AO2 SLP163 T01940183\n[03:51] KJFK 170751Z 09006KT 10SM BKN009 OVC015 22/21 A2997 RMK AO2 SLP148 T02220211\n[03:54] KBOS 170754Z 00000KT 10SM FEW012 SCT030 19/17 A3002 RMK AO2 SLP164 T01890172\n\nIt is the first watch, 04:00. Nothing is frozen yet: set the day up with confirm_changes, then call advance.", + "max_turns": 429, + "model_params": { + "max_tokens": 32000 + }, + "timeout_seconds": 7200 + }, + { + "id": "end-day", + "type": "apply_server_config", + "env_id": "airops-v3-day", + "directives": [ + { + "service": "airops-v3-day", + "uri": "urn:airops:v3-end-day/v1", + "args": {} + } + ] + }, + { + "id": "grade", + "type": "env_outcome_verifier", + "env_id": "airops-v3-day", + "file_artifact_id": "airops-verifier", + "verifier_id": "airops", + "score_aggregator": "weighted_average" + } +] diff --git a/src/agentenv_airops/bundles/airops-v3/tasks/b6-20230829-0400.json b/src/agentenv_airops/bundles/airops-v3/tasks/b6-20230829-0400.json new file mode 100644 index 0000000..ec7bb5f --- /dev/null +++ b/src/agentenv_airops/bundles/airops-v3/tasks/b6-20230829-0400.json @@ -0,0 +1,71 @@ +[ + { + "id": "deploy", + "type": "deploy_env", + "env_id": "airops-v3-day" + }, + { + "id": "load-task", + "type": "apply_server_config", + "env_id": "airops-v3-day", + "directives": [ + { + "service": "airops-v3-day", + "uri": "urn:airops:v3-live-load/v1", + "args": { + "task_id": "b6-20230829-0400", + "anchor": 2485411, + "follower": 2627162 + } + } + ] + }, + { + "id": "deploy-agent", + "type": "deploy_agent", + "a2a_agent_id": "airops-llm", + "env_ids": [ + "airops-v3-day" + ] + }, + { + "id": "clock", + "type": "sync_env_clock", + "env_id": "airops-v3-day", + "virtual_time": "2023-08-29T08:00:00Z", + "virtual_seconds_per_real_second": 0, + "tolerate_missing_sync_time": false + }, + { + "id": "play", + "type": "prompt_agent", + "prompt_id": "b6-20230829-0400", + "system_prompt": "You run the JetBlue operations desk on a storm day at JFK and BOS: thunderstorms, snow or wind, and the FAA ground stops and ground delay programs (GDPs) that follow, cut how many JetBlue flights can land and take off. Your job is to decide which flights to cancel and which to hold, watch by watch, so that passengers and the airline lose as little as possible over the day.\n\nHow the day runs:\n- The day is played in watches starting at watch 0: one an hour, and one more when an advisory or a SPECI reaches the desk or a ramp closure begins or ends, so watches are 15 to 60 minutes apart. The first message gives the day as the desk knows it at watch 0. Every tool call takes 1 minute of the watch; when the watch's time runs out, the next watch opens by itself, and advance opens it at once.\n- What the desk knows: a flight's own departure delay (weather, air traffic control: anything but waiting for its aircraft or a slot) becomes known 2 hours before its scheduled departure; until then it is assumed on time. FAA Command Center advisories and the hubs' METARs, SPECIs and TAFs arrive as messages at the first watch after they reach the desk: an advisory 0 minutes after it is signed, a METAR 5 and a SPECI 5 minutes after its observation, a TAF 10 minutes after its issue, and the programs table shows the programs as issued, proposed GDPs included; a program may end earlier or later than issued.\n- Ground delay programs: a GDP meters arrivals at a hub over its period. A flight into the hub from an origin in its scope, scheduled to land in the period, needs one of JetBlue's arrival slots in the program: it takes the earliest free slot at or after the time it could land and leaves at its EDCT, the slot less its scheduled block. A cancelled or late flight leaves its slot to the flights behind it. Arrivals outside a program fit under the hub's hourly rate.\n- Ground stops: a flight to a stopped hub from an origin the stop covers waits on the ground until the stop ends; flights already airborne fly on.\n- Departure caps: an airport may take only so many JetBlue departures in an hour (the departure caps table, known 4 hours ahead); a flight with no room in its hour tries again at the next hour's start.\n- Outstation arrival caps: an outstation may take only so many JetBlue arrivals in an hour (the outstation arrival caps table, known 4 hours ahead); a flight with no room in its arrival hour leaves so as to land in the next one.\n- Ramp closures: lightning at the field cuts a hub's ramp rate without stopping it. During a closure only so many JetBlue flights may leave the hub and only so many arrive there; a departure with no room leaves at the closure's end, an arrival with none leaves so as to land at it. A closure is known once it begins; until its end comes it is expected to last 30 minutes more, with caps for that long, and the closures table says which ends are reported and which expected.\n- The env flies your plan on the day as it happens: each flight leaves at the earliest time its delay, its hold, a slot, a stop, a cap and an aircraft allow. It takes the first aircraft of its type ready at its origin (aircraft of one type at one airport are interchangeable; an aircraft needs its turn time on the ground between flights). A flight that can't leave by its deadline is cancelled automatically there. At the end of the day the env ferries each aircraft to the airport it is needed at tomorrow.\n- Your decisions: cancel a flight (its aircraft stays on the ground, free for other flights, and its slot goes to the flights behind), restore a cancelled flight, or hold a flight until a time (not_before) so that its slot or aircraft goes to another flight first. A flight you don't touch leaves as early as it can.\n- The freeze: at watch 0 nothing is frozen. From watch 1 on, flights your plan has leaving before the freeze line, 60 minutes after the watch opens, are frozen: they can't be changed, and stay frozen. A cancellation is final. The env holds any other flight your plan would have leaving before the freeze line to it, and refuses a change that would move a frozen flight or one that has already gone.\n\nTools:\n- get_situation(): the time, the freeze line, the programs as issued with JetBlue's slots, the departure caps known so far, the outstation arrival caps known so far, the ramp closures under way or over, the latest METAR or SPECI and TAF per hub, every flight (its status, its known delay, your plan, where your plan has it leave and land on the day as known, how late it lands, its aircraft, its slot and its crew), where the aircraft are, and the news so far.\n- check_plan(changes): your changes over your plan, run on the day as known now: the plan's cost, the flights whose plan or times change, the automatic cancellations, the flights the env would hold to the freeze line, and the changes confirm_changes would refuse. It confirms nothing.\n- confirm_changes(changes): commits the changes; flights you leave out keep their plan.\n- advance(): ends the watch; its result has the new watch's news. After the last watch it returns \"done\": the day is graded on your plan.\nA change is {\"flight\": \"f12\", \"action\": \"cancel\" | \"restore\" | \"hold\" | \"call_reserve\" | \"release_reserve\", \"not_before\": \"HH:MM\" | null}: cancel takes not_before null; restore and hold fly the flight, held until not_before (local time, \"00:30+1\" after midnight), or as early as it can with null. Where a crew base has a reserve pool (the situation's Reserve crews), a flight leaving it past its crew's deadline flies only on a reserve: call_reserve gives it one while the pool lasts, release_reserve hands it back before that deadline.\n\nThe cost, in passenger-minutes: every passenger's minutes of arrival delay; 523 for each passenger on a cancelled flight, plus one for every minute the cancellation is decided later than 2 hours before its scheduled departure (an automatic cancellation is decided at its deadline, so it costs more than an early one); the airline's own aircraft minutes (a late departure costs crew and fixed costs, a long block fuel too, and a cancellation saves its fuel and maintenance); and the end-of-day ferries. A cancellation frees an aircraft and a slot; it pays when it saves the others more than it costs its own passengers. The day is graded once, on your final plan flown on the day as it really happened: the closer its cost to the best plan possible in hindsight, the higher the score. If you stop before the last watch, the rest of the day runs on your plan.", + "prompt": "# JetBlue operations desk, BOS, Tuesday 2023-08-29; times are local (America/New_York).\n\nNow 04:00 (watch 0, opened 04:00). First watch: nothing is frozen; changes take effect at once.\n\nYour plan on the day as known costs 916,223 (delay 717,708, cancellations 0, notice 0, ferries 0): 0 cancelled, 0 cancelled automatically, 0 on slots.\n\n## Programs as issued (FAA Command Center)\nNone.\n\n## Departure caps: JetBlue departures per hour, known 240 min ahead\nBOS: 07h 10\n\n## Outstation arrival caps: JetBlue arrivals per hour, known 240 min ahead\nTPA: 08h 0\n\n## Ramp closures (lightning at the field; known once begun)\nNone.\n\n## Latest weather (METAR or SPECI, and TAF)\n[03:54] KBOS 290754Z 17003KT 10SM BKN130 BKN250 18/17 A3003 RMK AO2 SLP169 T01830172\n[01:20] TAF KBOS 290520Z 2906/3012 13004KT P6SM OVC130 FM291000 11003KT P6SM SCT010 OVC035 FM291500 10003KT P6SM BKN010 FM291800 07005KT P6SM OVC015 FM300100 12004KT 6SM -SHRA BR OVC005 FM300900 10004KT 6SM BR VCSH OVC008=\n\n## Flights (sched = scheduled dep-arr; delay = known delay, ? not yet; plan = cancel or hold@HH:MM; proj = where your plan has it leave and land on the day as known; late = arrival delay; slot = its GDP slot; crew = crew deadline/rest end, +R on a reserve crew)\nid flight route sched pax type status delay plan proj late tail slot crew\nf0 746 PSE-JFK 04:49-08:50 130 A320 open 3 - 06:30-10:28 +98 N516JB - -\nf1 404 SJU-JFK 05:01-08:59 176 A321 open -4 - 04:57-08:59 +0 N998JE - -\nf2 562 SJU-BOS 05:01-09:05 172 A321 open -7 - 04:54-09:23 +18 N997JL - -\nf3 630 MCO-BQN 05:01-07:44 87 A320 open -14 - 04:47-07:28 -16 N592JB - -\nf4 2539 JFK-BQN 05:01-08:43 175 A321 open -8 - 04:53-09:07 +24 N949JT - -\nf5 954 SJU-FLL 05:25-08:01 146 A320 open 9 - 05:34-08:06 +5 N566JB - -\nf6 123 JFK-LAX 05:30-11:10 138 A321P open -3 - 05:27-11:03 -7 N945JT - -\nf7 327 EWR-MCO 05:35-08:10 141 A320 open -10 - 05:25-08:02 -8 N520JB - -\nf8 717 BOS-JFK 05:35-06:41 83 E190 open -8 - 05:27-06:38 -3 N192JB - -\nf9 1603 JFK-SJU 05:38-09:31 171 A321 open 21 - 05:59-10:37 +66 N952JB - -\nf10 315 SYR-JFK 05:49-07:00 80 E190 open -15 - 05:34-06:41 -19 N274JB - -\nf11 52 MCO-BOS 06:00-08:57 121 A220 open -10 - 05:50-08:37 -20 N3115J - -\nf12 231 BOS-LGA 06:00-07:14 63 E190 open -6 - 05:54-07:05 -9 N236JB - -\nf13 233 BTV-JFK 06:00-07:19 81 E190 open -7 - 05:53-07:07 -12 N247JB - -\nf14 287 BOS-LAX 06:00-12:01 138 A321P open 13 - 06:13-12:17 +16 N943JT - -\nf15 382 RIC-BOS 06:00-07:34 77 E190 open -11 - 05:49-07:25 -9 N348JB - -\nf16 405 EWR-FLL 06:00-08:59 149 A320 open -1 - 05:59-09:18 +19 N529JB - -\nf17 737 BDL-MCO 06:00-08:51 146 A320 open -5 - 05:55-08:45 -6 N569JB - -\nf18 796 ATL-BOS 06:00-08:30 86 E190 open -7 - 05:53-08:08 -22 N339JB - -\nf19 838 BQN-JFK 06:00-09:53 150 A320 open -10 - 05:50-10:17 +24 N659JB - -\nf20 984 RDU-BOS 06:00-07:57 76 E190 open 142 - 08:22-09:56 +119 N231JB - -\nf21 2555 BOS-DCA 06:00-07:37 89 E190 open -10 - 05:50-07:25 -12 N193JB - -\nf22 133 BOS-SFO 06:01-12:28 133 A321P open ? - 06:01-12:28 +0 N2151J - -\nf23 583 JFK-MCO 06:01-08:39 183 A321 open ? - 06:01-08:39 +0 N958JB - -\nf24 1318 JFK-BOS 06:01-07:07 84 E190 open ? - 06:01-07:07 +0 N238JB - -\nf25 1371 LGA-FLL 06:01-09:00 141 A320 open ? - 06:01-09:00 +0 N517JB - -\nf26 1434 SJU-MCO 06:01-09:05 138 A320 open ? - 06:01-09:05 +0 N658JB - -\nf27 2001 BUF-JFK 06:01-07:23 89 E190 open ? - 06:01-07:23 +0 N337JB - -\nf28 2269 BOS-FLL 06:01-09:22 146 A320 open ? - 06:01-09:22 +0 N570JB - -\nf29 573 EWR-TPA 06:04-08:50 150 A320 open ? - 06:14-09:00 +10 N834JB - -\nf30 1233 MCO-SJU 06:04-08:58 123 A320 open ? - 06:04-08:58 +0 N608JB - -\nf31 540 CLE-BOS 06:05-07:47 81 E190 open ? - 06:05-07:47 +0 N368JB - -\nf32 1476 SJU-BDL 06:05-10:05 150 A320 open ? - 06:05-10:05 +0 N796JB - -\nf33 1860 RSW-LGA 06:06-09:00 113 A320 open ? - 06:06-09:00 +0 N503JB - -\nf34 959 BDL-FLL 06:07-09:15 147 A320 open ? - 06:07-09:15 +0 N794JB - -\nf35 299 LGA-MCO 06:10-08:51 150 A320 open ? - 06:10-08:51 +0 N519JB - -\nf36 783 BOS-RDU 06:10-08:07 133 A320 open ? - 06:10-08:07 +0 N618JB - -\nf37 891 BOS-TPA 06:10-09:17 137 A220 open ? - 06:10-09:17 +0 N3023J - -\nf38 1237 BOS-DTW 06:10-08:16 87 E190 open ? - 06:10-08:16 +0 N266JB - -\nf39 1373 EWR-LAX 06:10-11:50 138 A321P open ? - 06:10-11:50 +0 N935JB - -\nf40 2005 BOS-MCO 06:10-09:16 149 A320 open ? - 06:10-09:16 +0 N646JB - -\nf41 222 PBI-BOS 06:15-09:24 98 E190 open ? - 06:15-09:24 +0 N279JB - -\nf42 353 FLL-SJU 06:15-08:53 131 A320 open ? - 06:15-08:53 +0 N508JL - -\nf43 797 BOS-ATL 06:15-08:53 132 A220 open ? - 06:15-08:53 +0 N3044J - -\nf44 1184 MCO-JFK 06:15-08:49 91 E190 open ? - 06:15-08:49 +0 N216JB - -\nf45 598 MCO-LGA 06:20-08:53 150 A320 open ? - 06:20-08:53 +0 N746JB - -\nf46 1145 RIC-FLL 06:24-08:40 131 A320 open ? - 06:24-08:40 +0 N828JB - -\nf47 2363 BOS-MCI 06:25-09:51 113 A220 open ? - 06:25-09:51 +0 N3062J - -\nf48 15 JFK-SFO 06:30-12:32 136 A321P open ? - 06:30-12:32 +0 N947JB - -\nf49 163 JFK-SRQ 06:30-09:22 137 A320 open ? - 06:30-09:22 +0 N535JB - -\nf50 677 JFK-JAX 06:30-08:50 146 A320 open ? - 06:30-08:50 +0 N580JB - -\nf51 2701 JFK-FLL 06:30-09:26 146 A320 open ? - 06:30-09:26 +0 N636JB - -\nf52 2802 JFK-BUF 06:30-07:48 88 E190 open ? - 06:30-07:48 +0 N273JB - -\nf53 27 BOS-BWI 06:34-08:06 76 E190 open ? - 06:34-08:06 +0 N281JB - -\nf54 1383 PWM-LGA 06:35-07:58 78 E190 open ? - 06:35-07:58 +0 N283JB - -\nf55 172 FLL-LGA 06:39-09:30 150 A320 open ? - 06:39-09:30 +0 N585JB - -\nf56 2625 RDU-FLL 06:39-08:45 107 A320 open ? - 06:39-08:45 +0 N703JB - -\nf57 221 BOS-SJU 06:40-10:39 120 A320 open ? - 06:40-10:39 +0 N621JB - -\nf58 1439 BOS-AUS 06:40-10:48 94 A220 open ? - 06:40-10:48 +0 N3065J - -\nf59 2713 ATL-LGA 06:44-09:00 88 E190 open ? - 06:44-09:00 +0 N317JB - -\nf60 2024 MCO-DCA 06:45-08:56 142 A320 open ? - 06:45-08:56 +0 N763JB - -\nf61 1486 PIT-BOS 06:46-08:20 82 E190 open ? - 06:46-08:20 +0 N318JB - -\nf62 712 ROC-BOS 06:50-08:06 85 E190 open ? - 06:50-08:06 +0 N203JB - -\nf63 2157 LGA-DEN 06:55-11:09 139 A320 open ? - 06:55-11:09 +0 N568JB - -\nf64 723 JFK-LAX 06:57-12:40 138 A321P open ? - 06:57-12:40 +0 N961JT - -\nf65 1589 EWR-SJU 06:59-10:57 150 A320 open ? - 06:59-10:57 +0 N521JB - -\nf66 2401 LGA-CHS 06:59-09:08 64 E190 open ? - 06:59-09:08 +0 N265JB - -\nf67 18 FLL-JAX 07:00-08:19 94 A320 open ? - 07:00-08:19 +0 N603JB - -\nf68 87 ALB-FLL 07:00-10:16 150 A320 open ? - 07:00-10:16 +0 N556JB - -\nf69 226 TPA-JFK 07:00-09:45 150 A320 open ? - 09:45-12:30 +165 N834JB - -\nf70 254 DCA-BOS 07:00-08:32 86 E190 open ? - 07:00-08:32 +0 N184JB - -\nf71 331 BOS-LGA 07:00-08:17 63 E190 open ? - 07:00-08:17 +0 N284JB - -\nf72 555 BOS-DCA 07:00-08:41 89 E190 open ? - 07:00-08:41 +0 N304JB - -\nf73 814 FLL-HPN 07:00-09:59 141 A320 open ? - 07:00-09:59 +0 N607JB - -\nf74 947 JFK-BZN 07:00-11:50 137 A320 open ? - 07:00-11:50 +0 N558JB - -\nf75 1245 BOS-CLT 07:00-09:19 87 E190 open ? - 07:00-09:19 +0 N307JB - -\nf76 2215 BOS-BUF 07:00-08:29 90 E190 open ? - 07:00-08:29 +0 N358JB - -\nf77 2267 BOS-CHS 07:00-09:22 126 A220 open ? - 07:00-09:22 +0 N3085J - -\nf78 2423 DCA-MCO 07:00-09:22 137 A320 open ? - 07:00-09:22 +0 N657JB - -\nf79 2832 LGA-BOS 07:00-08:16 63 E190 open ? - 07:00-08:16 +0 N354JB - -\nf80 2986 MIA-LAX 07:00-12:15 127 A321P open ? - 07:00-12:15 +0 N944JT - -\nf81 2130 SJU-JFK 07:04-11:00 176 A321 open ? - 07:04-11:00 +0 N995JL - -\nf82 411 JFK-LAS 07:05-12:32 138 A321P open ? - 07:05-12:32 +0 N968JT - -\nf83 1420 DTW-JFK 07:07-08:53 82 E190 open ? - 07:07-08:53 +0 N198JB - -\nf84 1333 BOS-SFO 07:09-13:32 133 A321P open ? - 07:09-13:32 +0 N993JE - -\nf85 467 ATL-FLL 07:10-09:04 115 A320 open ? - 07:10-09:04 +0 N648JB - -\nf86 551 BOS-MCO 07:10-10:17 92 E190 open ? - 07:10-10:17 +0 N375JB - -\nf87 1530 RSW-JFK 07:10-09:59 126 A320 open ? - 07:10-09:59 +0 N505JB - -\nf88 1033 DCA-PBI 07:15-09:39 84 E190 open ? - 07:15-09:39 +0 N206JB - -\nf89 1247 LGA-TPA 07:15-10:11 150 A320 open ? - 07:15-10:11 +0 N587JB - -\nf90 1584 MCO-JFK 07:15-10:01 147 A320 open ? - 07:15-10:01 +0 N805JB - -\nf91 2229 BOS-MKE 07:15-09:46 129 A220 open ? - 07:15-09:46 +0 N3102J - -\nf92 501 BOS-MSY 07:22-10:51 105 A220 open ? - 07:22-10:51 +0 N3123J - -\nf93 2274 TPA-EWR 07:24-10:07 138 A320 open ? - 10:56-13:39 +212 N587JB - -\nf94 619 BOS-SAN 07:25-13:22 138 A321P open ? - 07:25-13:22 +0 N946JL - -\nf95 143 EWR-PBI 07:30-10:23 150 A320 open ? - 07:30-10:23 +0 N583JB - -\nf96 813 HPN-FLL 07:30-10:30 144 A320 open ? - 07:30-10:30 +0 N632JB - -\nf97 841 JFK-SAV 07:30-09:45 80 E190 open ? - 07:30-09:45 +0 N323JB - -\nf98 1105 JFK-ORD 07:30-10:08 124 A320 open ? - 07:30-10:08 +0 N635JB - -\nf99 2295 EWR-MIA 07:30-10:29 139 A320 open ? - 07:30-10:29 +0 N504JB - -\nf100 1368 PBI-HPN 07:31-10:29 142 A320 open ? - 07:31-10:29 +0 N593JB - -\nf101 927 EWR-MCO 07:32-10:14 150 A320 open ? - 07:32-10:14 +0 N613JB - -\nf102 483 JFK-MCO 07:34-10:21 148 A320 open ? - 07:34-10:21 +0 N715JB - -\nf103 508 JFK-PWM 07:35-08:52 78 E190 open ? - 07:35-08:52 +0 N306JB - -\nf104 1565 BOS-SAT 07:35-11:52 100 A220 open ? - 08:00-12:17 +25 N3125J - -\nf105 438 MCO-BDL 07:39-10:28 150 A320 open ? - 07:39-10:28 +0 N605JB - -\nf106 599 LGA-MCO 07:39-10:29 140 A320 open ? - 07:39-10:29 +0 N653JB - -\nf107 1081 BOS-RIC 07:45-09:28 83 E190 open ? - 08:00-09:43 +15 N329JB - -\nf108 1317 BOS-JFK 07:46-09:00 83 E190 open ? - 08:00-09:14 +14 N238JB - -\nf109 2197 BOS-SEA 07:50-14:03 178 A321 open ? - 08:00-14:13 +10 N905JB - -\nf110 2217 CHS-LAX 07:52-13:00 109 A320 open ? - 08:42-13:50 +50 N644JB - -\nf111 306 FLL-EWR 07:59-10:57 150 A320 open ? - 07:59-10:57 +0 N656JB - -\nf112 85 BUF-MCO 08:00-10:35 150 A320 open ? - 08:00-10:35 +0 N661JB - -\nf113 193 BOS-DEN 08:00-12:36 139 A320 open ? - 08:00-12:36 +0 N809JB - -\nf114 515 SJU-MCO 08:00-11:03 138 A320 open ? - 08:00-11:03 +0 N547JB - -\nf115 1347 DCA-SJU 08:00-11:58 150 A320 open ? - 08:00-11:58 +0 N663JB - -\nf116 1447 HPN-TPA 08:00-10:53 150 A320 open ? - 08:00-10:53 +0 N712JB - -\nf117 1554 DCA-BOS 08:00-09:35 86 E190 open ? - 08:00-09:35 +0 N324JB - -\nf118 1555 BOS-DCA 08:00-09:41 89 E190 open ? - 08:00-09:41 +0 N348JB - -\nf119 2123 JFK-LAX 08:00-13:47 138 A321P open ? - 08:00-13:47 +0 N2105J - -\nf120 2718 JFK-BOS 08:00-09:12 84 E190 open ? - 08:00-09:12 +0 N192JB - -\nf121 704 SJU-JFK 08:04-12:00 176 A321 open ? - 08:04-12:00 +0 N2086J - -\nf122 67 BDL-LAX 08:05-14:00 150 A320 open ? - 08:05-14:00 +0 N793JB - -\nf123 95 BOS-PDX 08:05-14:10 175 A321 open ? - 08:05-14:10 +0 N913JB - -\nf124 185 ROC-JFK 08:05-09:25 84 E190 open ? - 08:05-09:25 +0 N355JB - -\nf125 2421 BOS-PBI 08:05-11:23 133 A220 open ? - 08:05-11:23 +0 N3121J - -\nf126 1273 JFK-CHS 08:10-10:19 82 E190 open ? - 08:10-10:19 +0 N274JB - -\nf127 2714 LGA-ATL 08:10-10:36 145 A320 open ? - 08:10-10:36 +0 N612JB - -\nf128 332 LGA-BOS 08:15-09:32 63 E190 open ? - 08:15-09:32 +0 N236JB - -\nf129 340 JAX-LGA 08:15-10:37 142 A320 open ? - 08:15-10:37 +0 N706JB - -\nf130 601 JFK-FLL 08:15-11:28 146 A320 open ? - 08:15-11:28 +0 N662JB - -\nf131 609 BOS-JAX 08:15-11:05 90 E190 open ? - 08:22-11:12 +7 N368JB - -\nf132 2801 FLL-LAX 08:20-13:48 138 A321P open ? - 08:20-13:48 +0 N991JT - -\nf133 2577 BOS-LAS 08:22-14:06 137 A321P open ? - 08:22-14:06 +0 N983JT - -\nf134 655 SYR-MCO 08:27-11:11 95 E190 open ? - 08:27-11:11 +0 N328JB - -\nf135 729 BQN-MCO 08:30-11:19 95 A320 open ? - 08:30-11:19 +0 N592JB - -\nf136 967 HPN-PBI 08:30-11:18 147 A320 open ? - 08:30-11:18 +0 N586JB - -\nf137 349 BOS-SAV 08:32-11:10 89 E190 open ? - 08:41-11:19 +9 N203JB - -\nf138 2041 BOS-CLE 08:34-10:32 86 E190 open ? - 08:43-10:41 +9 N339JB - -\nf139 1773 EWR-LAX 08:40-14:42 138 A321P open ? - 08:40-14:42 +0 N985JT - -\nf140 2101 BUF-JFK 08:40-10:00 89 E190 open ? - 08:40-10:00 +0 N273JB - -\nf141 281 JFK-IAH 08:45-12:37 142 A320 open ? - 08:45-12:37 +0 N789JB - -\nf142 526 BWI-BOS 08:50-10:14 78 E190 open ? - 08:50-10:14 +0 N281JB - -\nf143 626 FLL-RDU 08:50-11:03 118 A320 open ? - 08:50-11:03 +0 N766JB - -\nf144 70 FLL-BOS 08:55-12:11 127 A220 open ? - 08:55-12:11 +0 N3112J - -\nf145 2824 LAX-JFK 08:55-14:29 138 A321P open ? - 08:55-14:29 +0 N988JT - -\nf146 2929 RDU-SJU 08:55-12:34 103 A320 open ? - 08:55-12:34 +0 N618JB - -\nf147 1336 DTW-BOS 08:59-10:47 88 E190 open ? - 08:59-10:47 +0 N266JB - -\nf148 2121 HPN-ACK 08:59-10:01 92 E190 open ? - 08:59-10:01 +0 N267JB - -\nf149 2584 MCO-JFK 08:59-11:39 147 A320 open ? - 08:59-11:39 +0 N640JB - -\nf150 2751 TPA-SJU 08:59-12:00 120 A320 open ? - 11:38-14:39 +159 N712JB - -\nf151 189 JFK-SAN 09:00-14:46 138 A321P open ? - 09:00-14:46 +0 N990JL - -\nf152 195 HPN-MCO 09:00-11:49 150 A320 open ? - 10:44-13:33 +104 N607JB - -\nf153 434 SFO-BOS 09:00-14:39 138 A321P open ? - 09:00-14:39 +0 N969JT - -\nf154 455 BOS-DCA 09:00-10:41 89 E190 open ? - 09:00-10:41 +0 N354JB - -\nf155 531 BOS-LGA 09:00-10:18 63 E190 open ? - 09:00-10:18 +0 N318JB - -\nf156 816 SFO-JFK 09:00-14:29 138 A321P open ? - 09:00-14:29 +0 N976JT - -\nf157 1634 JFK-BTV 09:00-10:19 80 E190 open ? - 09:00-10:19 +0 N247JB - -\nf158 1854 DCA-BOS 09:00-10:33 86 E190 open ? - 09:00-10:33 +0 N193JB - -\nf159 2028 MCO-EWR 09:00-11:45 141 A320 open ? - 09:00-11:45 +0 N597JB - -\nf160 2087 LGA-BNA 09:00-11:34 92 E190 open ? - 09:00-11:34 +0 N283JB - -\nf161 702 SLC-MCO 09:05-13:34 124 A320 open ? - 09:05-13:34 +0 N563JB - -\nf162 1402 FLL-JFK 09:05-12:05 182 A321 open ? - 09:05-12:05 +0 N2017J - -\nf163 678 JAX-JFK 09:10-11:29 143 A320 open ? - 09:10-11:29 +0 N603JB - -\nf164 1485 BOS-PIT 09:10-10:55 87 E190 open ? - 09:10-10:55 +0 N184JB - -\nf165 2016 BUF-BOS 09:14-10:37 95 E190 open ? - 09:14-10:37 +0 N358JB - -\nf166 2432 LGA-BOS 09:15-10:35 63 E190 open ? - 09:15-10:35 +0 N284JB - -\nf167 2532 LAX-SLC 09:15-11:01 119 A320 open ? - 09:15-11:01 +0 N606JB - -\nf168 42 PBI-LGA 09:17-12:00 145 A320 open ? - 09:17-12:00 +0 N665JB - -\nf169 323 JFK-LAX 09:20-15:10 138 A321P open ? - 09:20-15:10 +0 N987JT - -\nf170 1883 BOS-RDU 09:20-11:24 82 E190 open ? - 09:44-11:48 +24 N192JB - -\nf171 2520 MSY-LGA 09:26-12:30 132 A320 open ? - 09:26-12:30 +0 N821JB - -\nf172 1602 JFK-BUF 09:29-10:57 88 E190 open ? - 09:29-10:57 +0 N337JB - -\nf173 115 JFK-SFO 09:30-15:43 136 A321P open ? - 09:30-15:43 +0 N934JB - -\nf174 271 LGA-FLL 09:30-12:43 150 A320 open ? - 09:30-12:43 +0 N579JB - -\nf175 706 LAX-SEA 09:30-12:16 120 A320 open ? - 09:30-12:16 +0 N554JB - -\nf176 2051 BOS-MCO 09:30-12:44 128 A220 open ? - 09:30-12:44 +0 N3113J - -\nf177 17 JAX-FLL 09:35-10:53 98 A320 open ? - 09:35-10:53 +0 N580JB - -\nf178 1219 JFK-ATL 09:35-12:04 93 E190 open ? - 09:35-12:04 +0 N216JB - -\nf179 2903 JFK-SJU 09:39-13:40 171 A321 open ? - 09:39-13:40 +0 N2039J - -\nf180 1338 JFK-MVY 09:40-10:48 81 E190 open ? - 09:40-10:48 +0 N198JB - -\nf181 2725 JFK-TPA 09:40-12:38 150 A320 open ? - 09:40-12:38 +0 N524JB - -\nf182 896 ATL-BOS 09:41-12:12 121 A220 open ? - 09:41-12:12 +0 N3044J - -\nf183 311 BOS-ORD 09:43-12:48 125 A220 open ? - 09:43-12:48 +0 N3115J - -\nf184 538 BQN-JFK 09:43-13:35 187 A321 open ? - 10:00-13:52 +17 N949JT - -\nf185 953 JFK-PBI 09:43-12:41 150 A320 open ? - 09:43-12:41 +0 N637JB - -\nf186 2552 SJU-TPA 09:43-12:40 131 A320 open ? - 09:43-12:40 +0 N709JB - -\nf187 577 FLL-SFO 09:44-15:47 136 A321P open ? - 09:44-15:47 +0 N986JB - -\nf188 48 TPA-LGA 09:45-12:30 149 A320 open ? - 13:23-16:08 +218 N524JB - -\nf189 224 LAX-JFK 09:45-15:21 138 A321P open ? - 09:45-15:21 +0 N967JT - -\nf190 533 BDL-TPA 09:47-12:48 150 A320 open ? - 09:47-12:48 +0 N627JB - -\nf191 407 PWM-JFK 09:48-11:06 82 E190 open ? - 09:48-11:06 +0 N306JB - -\nf192 1084 MCO-JFK 09:50-12:30 181 A321 open ? - 09:50-12:30 +0 N958JB - -\nf193 2033 BOS-IAH 09:50-14:02 141 A320 open ? - 09:50-14:02 +0 N649JB - -\nf194 63 JFK-SEA 09:54-16:09 141 A320 open ? - 09:54-16:09 +0 N638JB - -\nf195 461 LGA-PBI 09:54-12:52 137 A320 open ? - 09:54-12:52 +0 N591JB - -\nf196 861 BOS-SJU 09:55-14:03 148 A321 open ? - 09:55-14:03 +0 N999JQ - -\nf197 970 CHS-LGA 09:55-12:00 83 E190 open ? - 09:55-12:00 +0 N265JB - -\nf198 1833 BOS-SFO 09:55-16:35 116 A321P open ? - 09:55-16:35 +0 N929JB - -\nf199 933 MCO-SJU 09:56-12:53 123 A320 open ? - 09:56-12:53 +0 N523JB - -\nf200 272 FLL-LGA 09:58-13:00 150 A320 open ? - 09:58-13:00 +0 N768JB - -\nf201 1246 CLT-BOS 09:59-12:04 80 E190 open ? - 09:59-12:04 +0 N307JB - -\nf202 631 BOS-LGA 10:00-11:18 63 E190 open ? - 10:00-11:18 +0 N279JB - -\nf203 1553 FLL-SJU 10:00-12:51 131 A320 open ? - 10:00-12:51 +0 N708JB - -\nf204 1655 BOS-DCA 10:00-11:42 89 E190 open ? - 10:07-11:49 +7 N236JB - -\nf205 219 JFK-DTW 10:02-12:02 84 E190 open ? - 10:02-12:02 +0 N238JB - -\nf206 164 SRQ-JFK 10:07-12:59 150 A320 open ? - 10:07-12:59 +0 N535JB - -\nf207 488 MCO-ORH 10:09-12:58 148 A320 open ? - 10:09-12:58 +0 N507JT - -\nf208 1529 JFK-RSW 10:09-13:21 158 A321 open ? - 10:09-13:21 +0 N2060J - -\nf209 845 BOS-SYR 10:12-11:26 85 E190 open ? - 10:12-11:26 +0 N324JB - -\nf210 892 TPA-BOS 10:12-13:19 125 A220 open ? - 10:12-13:19 +0 N3023J - -\nf211 294 MCO-HPN 10:13-13:00 140 A320 open ? - 10:13-13:00 +0 N520JB - -\nf212 1182 RIC-BOS 10:13-11:46 77 E190 open ? - 10:18-11:51 +5 N329JB - -\nf213 1423 FLL-MSY 10:15-12:21 93 A320 open ? - 10:15-12:21 +0 N506JB - -\nf214 2835 SFO-LAX 10:15-11:41 120 A320 open ? - 10:15-11:41 +0 N645JB - -\nf215 1159 BOS-PHL 10:17-11:45 81 E190 open ? - 10:30-11:58 +13 N231JB - -\nf216 2268 CHS-BOS 10:17-12:34 127 A220 open ? - 10:17-12:34 +0 N3085J - -\nf217 698 MCO-LGA 10:25-13:01 150 A320 open ? - 10:25-13:01 +0 N569JB - -\nf218 591 BOS-TPA 10:28-13:45 196 A321 open ? - 10:28-13:45 +0 N965JT - -\nf219 1774 LAX-EWR 10:29-16:00 138 A321P open ? - 10:29-16:00 +0 N984JB - -\nf220 842 SAV-JFK 10:30-12:32 79 E190 open ? - 10:30-12:32 +0 N323JB - -\nf221 1954 DCA-BOS 10:30-12:05 86 E190 open ? - 10:30-12:05 +0 N348JB - -\nf222 2766 LGA-HYA 10:30-11:39 87 E190 open ? - 10:30-11:39 +0 N317JB - -\nf223 1604 SJU-JFK 10:31-14:29 176 A321 open ? - 11:32-15:30 +61 N952JB - -\nf224 186 JFK-ROC 10:35-12:01 88 E190 open ? - 10:35-12:01 +0 N355JB - -\nf225 2222 MCI-JFK 10:36-13:29 92 A220 open ? - 10:36-13:29 +0 N3062J - -\nf226 285 JFK-RDU 10:38-12:25 137 A320 open ? - 10:38-12:25 +0 N595JB - -\nf227 871 JFK-SLC 10:38-15:45 117 A320 open ? - 10:38-15:45 +0 N652JB - -\nf228 1034 PBI-DCA 10:39-13:02 93 E190 open ? - 10:39-13:02 +0 N206JB - -\nf229 680 MKE-JFK 10:45-12:58 109 A220 open ? - 10:45-12:58 +0 N3102J - -\nf230 895 EWR-MCO 10:53-13:50 141 A320 open ? - 11:42-14:39 +49 N656JB - -\nf231 906 ORD-JFK 10:53-13:09 131 A320 open ? - 10:53-13:09 +0 N635JB - -\nf232 2474 CHS-JFK 10:54-12:59 80 E190 open ? - 10:54-12:59 +0 N274JB - -\nf233 523 JFK-LAX 10:59-16:46 138 A321P open ? - 10:59-16:46 +0 N982JB - -\nf234 951 HPN-RSW 10:59-14:00 150 A320 open ? - 11:14-14:15 +15 N593JB - -\nf235 1083 JFK-MCO 10:59-13:55 148 A320 open ? - 10:59-13:55 +0 N588JB - -\nf236 90 SAN-JFK 11:00-16:32 138 A321P open ? - 14:10-19:42 +190 N946JL - -\nf237 288 LAX-BOS 11:00-16:51 138 A321P open ? - 11:00-16:51 +0 N937JB - -\nf238 357 LGA-DEN 11:00-15:20 139 A320 open ? - 11:00-15:20 +0 N503JB - -\nf239 2201 JFK-FLL 11:00-14:08 146 A320 open ? - 11:00-14:08 +0 N729JB - -\nf240 579 DCA-FLL 11:02-13:42 141 A320 open ? - 11:02-13:42 +0 N763JB - -\nf241 1515 JFK-SFO 11:03-17:19 136 A321P open ? - 11:03-17:19 +0 N962JT - -\nf242 207 BOS-BNA 11:05-14:05 88 E190 open ? - 11:05-14:05 +0 N281JB - -\nf243 1633 BTV-JFK 11:05-12:26 81 E190 open ? - 11:05-12:26 +0 N247JB - -\nf244 2493 ACK-DCA 11:05-12:35 75 E190 open ? - 11:05-12:35 +0 N267JB - -\nf245 211 FLL-AUS 11:07-14:00 109 A320 open ? - 11:07-14:00 +0 N703JB - -\nf246 2040 CLE-BOS 11:09-12:52 81 E190 open ? - 11:16-12:59 +7 N339JB - -\nf247 1700 LAX-FLL 11:10-16:33 138 A321P open ? - 11:10-16:33 +0 N980JT - -\nf248 2528 MCO-EWR 11:10-14:00 150 A320 open ? - 11:10-14:00 +0 N658JB - -\nf249 37 BDL-MCO 11:13-14:07 146 A320 open ? - 11:13-14:07 +0 N796JB - -\nf250 1248 TPA-LGA 11:14-14:00 149 A320 open ? - 13:25-16:11 +131 N709JB - -\nf251 632 LGA-BOS 11:15-12:34 63 E190 open ? - 11:15-12:34 +0 N318JB - -\nf252 1141 BDL-PBI 11:15-14:23 147 A320 open ? - 11:15-14:23 +0 N605JB - -\nf253 2277 BOS-AVL 11:15-13:39 90 E190 open ? - 11:15-13:39 +0 N193JB - -\nf254 1680 FLL-DCA 11:19-13:59 149 A320 open ? - 11:19-13:59 +0 N794JB - -\nf255 94 MCO-HPN 11:20-14:08 140 A320 open ? - 11:20-14:08 +0 N646JB - -\nf256 784 MCO-JFK 11:20-14:00 136 A320 open ? - 11:20-14:00 +0 N657JB - -\nf257 2594 MIA-EWR 11:24-14:37 142 A320 open ? - 11:24-14:37 +0 N504JB - -\nf258 725 JFK-SAT 11:25-15:33 121 A320 open ? - 11:25-15:33 +0 N536JB - -\nf259 1339 MVY-JFK 11:26-12:30 81 E190 open ? - 11:26-12:30 +0 N198JB - -\nf260 554 DCA-BOS 11:30-13:04 86 E190 open ? - 11:30-13:04 +0 N354JB - -\nf261 2091 JFK-ACK 11:30-12:42 55 E190 open ? - 11:30-12:42 +0 N273JB - -\nf262 2593 JFK-MIA 11:30-14:37 150 A320 open ? - 11:30-14:37 +0 N705JB - -\nf263 2647 HPN-CHS 11:30-13:47 116 A320 open ? - 13:45-16:02 +135 N520JB - -\nf264 1922 SJU-BOS 11:34-15:46 139 A320 open ? - 11:34-15:46 +0 N608JB - -\nf265 578 SFO-FLL 11:35-17:14 134 A321P open ? - 11:35-17:14 +0 N977JE - -\nf266 1137 BOS-DTW 11:35-13:44 87 E190 open ? - 11:35-13:44 +0 N284JB - -\nf267 1238 AUS-BOS 11:35-15:35 125 A220 open ? - 11:35-15:35 +0 N3065J - -\nf268 1901 BUF-JFK 11:35-12:59 89 E190 open ? - 11:35-12:59 +0 N337JB - -\nf269 2813 ATL-LGA 11:39-14:00 143 A320 open ? - 11:39-14:00 +0 N612JB - -\nf270 2286 PIT-BOS 11:40-13:15 82 E190 open ? - 11:40-13:15 +0 N184JB - -\nf271 1010 JAX-BOS 11:42-14:20 79 E190 open ? - 11:47-14:25 +5 N368JB - -\nf272 500 MSY-BOS 11:46-15:15 124 A220 open ? - 11:46-15:15 +0 N3123J - -\nf273 2020 FLL-ORH 11:48-15:00 144 A320 open ? - 11:48-15:00 +0 N529JB - -\nf274 250 SAV-BOS 11:50-14:14 90 E190 open ? - 11:53-14:17 +3 N203JB - -\nf275 552 MCO-BOS 11:50-14:56 87 E190 open ? - 11:50-14:56 +0 N375JB - -\nf276 625 RDU-FLL 11:50-13:55 107 A320 open ? - 11:50-13:55 +0 N766JB - -\nf277 1433 MCO-SJU 11:55-14:54 123 A320 open ? - 11:55-14:54 +0 N613JB - -\nf278 2070 FLL-BOS 11:55-15:18 146 A320 open ? - 11:55-15:18 +0 N570JB - -\nf279 1855 BOS-DCA 12:00-13:45 89 E190 open ? - 12:00-13:45 +0 N358JB - -\nf280 2223 JFK-LAX 12:00-17:49 138 A321P open ? - 12:00-17:49 +0 N978JB - -\nf281 374 SYR-BOS 12:02-13:08 85 E190 open ? - 12:02-13:08 +0 N324JB - -\nf282 1288 PBI-PVD 12:03-14:53 150 A320 open ? - 12:03-14:53 +0 N583JB - -\nf283 484 RDU-BOS 12:05-14:02 76 E190 open ? - 12:23-14:20 +18 N192JB - -\nf284 2156 DEN-LGA 12:06-15:55 140 A320 open ? - 12:06-15:55 +0 N568JB - -\nf285 322 PBI-BOS 12:08-15:24 137 A220 open ? - 12:08-15:24 +0 N3121J - -\nf286 2088 BNA-LGA 12:09-14:29 87 E190 open ? - 12:09-14:29 +0 N283JB - -\nf287 2310 LGA-ACK 12:10-13:18 72 E190 open ? - 12:10-13:18 +0 N279JB - -\nf288 1334 SJU-MCO 12:14-15:18 138 A320 open ? - 12:14-15:18 +0 N621JB - -\nf289 2765 HYA-LGA 12:14-13:30 81 E190 open ? - 12:14-13:30 +0 N317JB - -\nf290 695 JFK-AUS 12:15-16:11 135 A320 open ? - 12:15-16:11 +0 N760JB - -\nf291 602 FLL-JFK 12:20-15:33 147 A320 open ? - 12:20-15:33 +0 N556JB - -\nf292 2531 SLC-LAX 12:21-14:20 122 A320 open ? - 12:21-14:20 +0 N606JB - -\nf293 715 BOS-BUF 12:25-13:53 90 E190 open ? - 12:25-13:53 +0 N266JB - -\nf294 1324 BOS-MVY 12:25-13:06 68 E190 open ? - 12:26-13:07 +1 N329JB - -\nf295 83 JFK-MCO 12:30-15:24 148 A320 open ? - 12:30-15:24 +0 N805JB - -\nf296 324 LAX-JFK 12:30-18:12 138 A321P open ? - 12:30-18:12 +0 N945JT - -\nf297 2254 DCA-BOS 12:30-14:06 86 E190 open ? - 12:30-14:06 +0 N236JB - -\nf298 69 BOS-FLL 12:31-16:06 126 A220 open ? - 12:57-16:32 +26 N3044J - -\nf299 120 MCO-ALB 12:31-15:25 150 A320 open ? - 12:31-15:25 +0 N653JB - -\nf300 1160 PHL-BOS 12:32-13:55 77 E190 open ? - 12:32-13:55 +0 N231JB - -\nf301 2934 MCO-DCA 12:33-14:54 88 E190 open ? - 12:33-14:54 +0 N328JB - -\nf302 220 DTW-JFK 12:37-14:24 82 E190 open ? - 12:37-14:24 +0 N238JB - -\nf303 2836 LAX-SFO 12:38-14:00 127 A320 open ? - 12:38-14:00 +0 N645JB - -\nf304 485 ROC-JFK 12:40-13:58 84 E190 open ? - 12:40-13:58 +0 N355JB - -\nf305 944 BZN-JFK 12:40-16:59 125 A320 open ? - 12:40-16:59 +0 N558JB - -\nf306 2283 BOS-RDU 12:40-14:39 82 E190 open ? - 12:40-14:39 +0 N307JB - -\nf307 1754 SJU-FLL 12:43-15:28 146 A320 open ? - 12:43-15:28 +0 N521JB - -\nf308 1566 SAT-BOS 12:47-17:00 107 A220 open ? - 13:02-17:15 +15 N3125J - -\nf309 1196 FLL-PVD 12:50-16:00 182 A321 open ? - 12:50-16:00 +0 N955JB - -\nf310 46 LGA-TPA 12:55-15:57 150 A320 open ? - 12:55-15:57 +0 N585JB - -\nf311 276 SJU-BDL 12:55-16:54 150 A320 open ? - 12:55-16:54 +0 N663JB - -\nf312 1601 JFK-FLL 13:00-16:14 180 A321 open ? - 13:00-16:14 +0 N907JB - -\nf313 1811 EWR-RSW 13:00-15:55 145 A320 open ? - 13:00-15:55 +0 N597JB - -\nf314 2052 MCO-BOS 13:05-16:16 141 A320 open ? - 13:05-16:16 +0 N661JB - -\nf315 1422 MSY-FLL 13:06-15:07 102 A320 open ? - 13:06-15:07 +0 N506JB - -\nf316 2065 BOS-RSW 13:06-16:40 185 A321 open ? - 13:06-16:40 +0 N948JB - -\nf317 520 ATL-JFK 13:08-15:30 87 E190 open ? - 13:08-15:30 +0 N216JB - -\nf318 1154 PBI-JFK 13:08-16:00 150 A320 open ? - 13:08-16:00 +0 N586JB - -\nf319 1874 LAX-EWR 13:08-18:50 138 A321P open ? - 13:08-18:50 +0 N935JB - -\nf320 215 BOS-DFW 13:10-17:15 119 A220 open ? - 13:19-17:24 +9 N3085J - -\nf321 1538 JFK-MVY 13:10-14:16 81 E190 open ? - 13:10-14:16 +0 N306JB - -\nf322 2291 JFK-ACK 13:11-14:26 55 E190 open ? - 13:11-14:26 +0 N247JB - -\nf323 92 ACK-JFK 13:19-14:29 69 E190 open ? - 13:19-14:29 +0 N273JB - -\nf324 86 RDU-JFK 13:20-14:59 130 A320 open ? - 13:20-14:59 +0 N595JB - -\nf325 1388 LAX-BOS 13:21-19:13 138 A321P open ? - 13:21-19:13 +0 N944JT - -\nf326 82 IAH-JFK 13:22-17:06 149 A320 open ? - 13:22-17:06 +0 N789JB - -\nf327 2826 TPA-JFK 13:23-16:16 150 A320 open ? - 13:33-16:26 +10 N627JB - -\nf328 2551 TPA-SJU 13:25-16:27 120 A320 open ? - 16:42-19:44 +197 N585JB - -\nf329 2814 LGA-ATL 13:25-15:57 145 A320 open ? - 13:25-15:57 +0 N665JB - -\nf330 2885 LAX-MIA 13:25-18:48 135 A321P open ? - 13:25-18:48 +0 N943JT - -\nf331 494 DEN-BOS 13:26-17:31 136 A320 open ? - 13:26-17:31 +0 N809JB - -\nf332 1068 PBI-HPN 13:26-16:29 142 A320 open ? - 13:26-16:29 +0 N637JB - -\nf333 372 FLL-LGA 13:28-16:40 150 A320 open ? - 13:28-16:40 +0 N632JB - -\nf334 707 SEA-LAX 13:29-16:30 139 A320 open ? - 13:29-16:30 +0 N554JB - -\nf335 835 BOS-MSP 13:29-16:41 128 A220 open ? - 13:29-16:41 +0 N3104J - -\nf336 371 LGA-FLL 13:30-16:47 150 A320 open ? - 13:30-16:47 +0 N821JB - -\nf337 803 JFK-SJU 13:30-17:31 171 A321 open ? - 13:30-17:31 +0 N956JT - -\nf338 1618 JFK-BOS 13:30-14:47 84 E190 open ? - 13:30-14:47 +0 N198JB - -\nf339 2454 DCA-BOS 13:30-15:10 86 E190 open ? - 13:30-15:10 +0 N304JB - -\nf340 23 DCA-MCO 13:32-16:11 85 E190 open ? - 13:32-16:11 +0 N267JB - -\nf341 312 ORD-BOS 13:33-16:05 121 A220 open ? - 13:33-16:05 +0 N3115J - -\nf342 2768 TPA-BQN 13:33-16:34 92 A320 open ? - 20:28-23:29 +415 N640JB - -\nf343 62 PBI-LGA 13:37-16:29 134 A320 open ? - 13:37-16:29 +0 N591JB - -\nf344 2317 BOS-JFK 13:37-14:57 83 E190 open ? - 13:37-14:57 +0 N348JB - -\nf345 2930 SJU-RDU 13:38-17:15 130 A320 open ? - 13:38-17:15 +0 N561JB - -\nf346 1902 FLL-JFK 13:39-16:50 147 A320 open ? - 13:39-16:50 +0 N580JB - -\nf347 2116 SFO-JFK 13:40-19:30 138 A321P open ? - 13:40-19:30 +0 N2151J - -\nf348 2747 LGA-SAV 13:40-16:04 84 E190 open ? - 13:40-16:04 +0 N265JB - -\nf349 448 LAS-JFK 13:42-19:00 138 A321P open ? - 13:42-19:00 +0 N968JT - -\nf350 334 SFO-BOS 13:47-19:39 138 A321P open ? - 13:47-19:39 +0 N947JB - -\nf351 781 BOS-RIC 13:53-15:35 135 A320 open ? - 13:53-15:35 +0 N594JB - -\nf352 2665 MVY-HPN 13:53-15:00 63 E190 open ? - 13:53-15:00 +0 N329JB - -\nf353 361 BOS-SJU 13:54-17:55 120 A320 open ? - 13:54-17:55 +0 N643JB - -\nf354 595 HPN-MCO 13:55-16:53 150 A320 open ? - 14:53-17:51 +58 N646JB - -\nf355 987 ORH-MCO 13:55-16:59 150 A320 open ? - 13:55-16:59 +0 N507JT - -\nf356 679 JFK-MKE 13:59-16:30 119 A220 open ? - 13:59-16:30 +0 N3102J - -\nf357 1861 LGA-RSW 13:59-17:18 119 A320 open ? - 13:59-17:18 +0 N768JB - -\nf358 424 LAX-JFK 14:00-19:44 138 A321P open ? - 14:00-19:44 +0 N961JT - -\nf359 431 BOS-LGA 14:00-15:21 63 E190 open ? - 14:00-15:21 +0 N318JB - -\nf360 521 BOS-PBI 14:00-17:15 95 E190 open ? - 14:00-17:15 +0 N339JB - -\nf361 755 BOS-DCA 14:00-16:00 89 E190 open ? - 14:00-16:00 +0 N354JB - -\nf362 1942 LGA-DEN 14:00-18:21 139 A320 open ? - 14:00-18:21 +0 N569JB - -\nf363 1994 MCO-JFK 14:00-16:48 127 A220 open ? - 14:00-16:48 +0 N3113J - -\nf364 936 SJU-STT 14:14-14:52 116 A320 open ? - 14:14-14:52 +0 N523JB - -\nf365 2233 BOS-IAH 14:14-18:21 121 A220 open ? - 14:14-18:21 +0 N3023J - -\nf366 532 LGA-BOS 14:15-15:38 63 E190 open ? - 14:15-15:38 +0 N317JB - -\nf367 685 JFK-RDU 14:18-16:10 85 E190 open ? - 14:18-16:10 +0 N323JB - -\nf368 2278 AVL-BOS 14:20-16:45 91 E190 open ? - 14:20-16:45 +0 N193JB - -\nf369 130 RSW-JFK 14:25-17:19 168 A321 open ? - 14:25-17:19 +0 N2060J - -\nf370 1990 SJU-EWR 14:25-18:33 150 A320 open ? - 14:25-18:33 +0 N508JL - -\nf371 181 FLL-BNA 14:27-16:56 129 A320 open ? - 14:27-16:56 +0 N662JB - -\nf372 2276 MCO-PVD 14:27-17:20 150 A320 open ? - 14:27-17:20 +0 N547JB - -\nf373 1351 ACK-BOS 14:29-15:20 81 E190 open ? - 14:29-15:20 +0 N279JB - -\nf374 623 JFK-LAX 14:30-20:30 138 A321P open ? - 14:30-20:30 +0 N981JT - -\nf375 2036 DTW-BOS 14:30-16:24 88 E190 open ? - 14:30-16:24 +0 N284JB - -\nf376 2554 DCA-BOS 14:30-16:13 86 E190 open ? - 14:30-16:13 +0 N206JB - -\nf377 620 SAN-BOS 14:32-20:18 138 A321P open ? - 15:34-21:20 +62 N990JL - -\nf378 1098 MCO-LGA 14:35-17:25 149 A320 open ? - 14:35-17:25 +0 N592JB - -\nf379 2716 BUF-BOS 14:38-16:04 95 E190 open ? - 14:38-16:04 +0 N266JB - -\nf380 206 BNA-BOS 14:40-17:26 82 E190 open ? - 14:40-17:26 +0 N281JB - -\nf381 2951 BOS-MCO 14:40-17:57 92 E190 open ? - 14:40-17:57 +0 N324JB - -\nf382 416 SFO-JFK 14:42-20:30 138 A321P open ? - 14:42-20:30 +0 N993JE - -\nf383 505 EWR-FLL 14:45-18:10 149 A320 open ? - 14:45-18:10 +0 N587JB - -\nf384 592 TPA-BOS 14:45-17:59 178 A321 open ? - 14:45-17:59 +0 N965JT - -\nf385 1131 CHS-FLL 14:45-16:25 113 A320 open ? - 16:47-18:27 +122 N520JB - -\nf386 270 MCO-RIC 14:52-16:55 132 A320 open ? - 14:52-16:55 +0 N563JB - -\nf387 1167 HPN-PBI 14:53-17:56 147 A320 open ? - 17:14-20:17 +141 N637JB - -\nf388 2466 FLL-BUF 14:53-17:52 150 A320 open ? - 14:53-17:52 +0 N531JL - -\nf389 75 JFK-MSY 14:55-18:24 97 E190 open ? - 14:55-18:24 +0 N274JB - -\nf390 212 AUS-FLL 14:55-17:55 112 A320 open ? - 14:55-17:55 +0 N703JB - -\nf391 399 LGA-MCO 14:55-18:03 150 A320 open ? - 14:55-18:03 +0 N612JB - -\nf392 761 LGA-PBI 14:55-18:05 148 A320 open ? - 16:15-19:25 +80 N746JB - -\nf393 1180 LAX-LAS 14:55-16:24 97 A320 open ? - 14:55-16:24 +0 N793JB - -\nf394 1539 MVY-JFK 14:55-16:03 81 E190 open ? - 14:55-16:03 +0 N306JB - -\nf395 2424 MCO-DCA 14:55-17:22 142 A320 open ? - 14:55-17:22 +0 N588JB - -\nf396 100 LAX-FLL 14:59-20:18 138 A321P open ? - 14:59-20:18 +0 N2105J - -\nf397 1019 JFK-DTW 14:59-17:06 84 E190 open ? - 14:59-17:06 +0 N337JB - -\nf398 1401 JFK-FLL 14:59-18:22 135 A320 open ? - 14:59-18:22 +0 N659JB - -\nf399 1483 JFK-MCO 14:59-18:10 183 A321 open ? - 14:59-18:10 +0 N2017J - -\nf400 1745 BOS-CLT 14:59-17:30 87 E190 open ? - 14:59-17:30 +0 N184JB - -\nf401 1964 JFK-HYA 14:59-16:15 69 E190 open ? - 14:59-16:15 +0 N355JB - -\nf402 2030 SJU-JFK 14:59-18:59 176 A321 open ? - 14:59-18:59 +0 N2039J - -\nf403 932 IAH-BOS 15:00-18:58 136 A320 open ? - 15:00-18:58 +0 N649JB - -\nf404 481 DCA-RSW 15:03-17:45 83 E190 open ? - 15:03-17:45 +0 N358JB - -\nf405 641 BOS-CLE 15:05-17:05 86 E190 open ? - 15:05-17:05 +0 N231JB - -\nf406 2415 BOS-BUF 15:05-16:37 90 E190 open ? - 15:05-16:37 +0 N236JB - -\nf407 524 LAX-JFK 15:07-20:49 138 A321P open ? - 15:07-20:49 +0 N991JT - -\nf408 410 ACK-LGA 15:10-16:28 70 E190 open ? - 15:10-16:28 +0 N247JB - -\nf409 462 SJU-BOS 15:10-19:17 172 A321 open ? - 15:10-19:17 +0 N999JQ - -\nf410 2184 RDU-BOS 15:14-17:15 76 E190 open ? - 15:14-17:15 +0 N307JB - -\nf411 2221 JFK-MCI 15:15-18:38 101 A220 open ? - 15:15-18:38 +0 N3062J - -\nf412 1130 FLL-CHS 15:18-16:59 119 A320 open ? - 15:18-16:59 +0 N579JB - -\nf413 19 BOS-SAN 15:20-21:26 138 A321P open ? - 15:20-21:26 +0 N979JT - -\nf414 178 LAS-BOS 15:20-20:40 138 A321P open ? - 15:20-20:40 +0 N983JT - -\nf415 2498 SEA-BOS 15:20-20:43 180 A321 open ? - 15:20-20:43 +0 N905JB - -\nf416 132 LAX-MCO 15:25-20:26 125 A320 open ? - 15:25-20:26 +0 N606JB - -\nf417 2392 MIA-JFK 15:25-18:39 147 A320 open ? - 15:25-18:39 +0 N705JB - -\nf418 152 RSW-HPN 15:27-18:30 148 A320 open ? - 15:27-18:30 +0 N593JB - -\nf419 96 PDX-BOS 15:30-20:58 175 A321 open ? - 15:30-20:58 +0 N913JB - -\nf420 1719 JFK-ATL 15:30-18:12 93 E190 open ? - 15:30-18:12 +0 N238JB - -\nf421 2494 DCA-ACK 15:30-17:00 63 E190 open ? - 15:30-17:00 +0 N328JB - -\nf422 2735 SFO-LAX 15:30-17:05 120 A320 open ? - 15:30-17:05 +0 N645JB - -\nf423 1527 EWR-MCO 15:34-18:38 141 A320 open ? - 15:34-18:38 +0 N658JB - -\nf424 517 BOS-JFK 15:35-17:00 83 E190 open ? - 15:35-17:00 +0 N203JB - -\nf425 1287 PVD-PBI 15:38-18:50 149 A320 open ? - 15:38-18:50 +0 N583JB - -\nf426 2473 JFK-CHS 15:40-18:04 82 E190 open ? - 15:40-18:04 +0 N273JB - -\nf427 1119 ORH-FLL 15:45-18:58 144 A320 open ? - 15:45-18:58 +0 N529JB - -\nf428 2666 HPN-MVY 15:45-16:45 66 E190 open ? - 15:45-16:45 +0 N329JB - -\nf429 435 STT-SJU 15:47-16:31 144 A320 open ? - 15:47-16:31 +0 N523JB - -\nf430 934 SJU-MCO 15:49-18:55 138 A320 open ? - 15:49-18:55 +0 N712JB - -\nf431 2102 FLL-JFK 15:52-19:00 147 A320 open ? - 15:52-19:00 +0 N763JB - -\nf432 615 JFK-SFO 15:55-22:31 136 A321P open ? - 15:55-22:31 +0 N976JT - -\nf433 1677 JFK-JAX 15:55-18:49 146 A320 open ? - 15:55-18:49 +0 N516JB - -\nf434 823 JFK-LAX 15:59-22:01 138 A321P open ? - 15:59-22:01 +0 N988JT - -\nf435 727 BOS-BWI 16:00-17:41 76 E190 open ? - 16:00-17:41 +0 N368JB - -\nf436 731 BOS-LGA 16:00-17:29 63 E190 open ? - 16:00-17:29 +0 N198JB - -\nf437 1355 BOS-DCA 16:00-17:52 89 E190 open ? - 16:00-17:52 +0 N375JB - -\nf438 1579 DCA-FLL 16:00-18:44 141 A320 open ? - 16:00-18:44 +0 N794JB - -\nf439 2724 LAX-JFK 16:00-21:43 138 A321P open ? - 16:00-21:43 +0 N985JT - -\nf440 1352 BOS-ACK 16:05-16:57 78 E190 open ? - 16:05-16:57 +0 N304JB - -\nf441 2251 BOS-MCO 16:05-19:25 184 A321 open ? - 16:05-19:25 +0 N959JB - -\nf442 2884 MCO-JFK 16:09-19:02 147 A320 open ? - 16:09-19:02 +0 N796JB - -\nf443 119 ALB-MCO 16:10-19:12 144 A320 open ? - 16:10-19:12 +0 N653JB - -\nf444 487 BOS-LAX 16:10-22:17 138 A321P open ? - 16:10-22:17 +0 N989JT - -\nf445 697 BOS-ATL 16:10-19:07 132 A220 open ? - 16:10-19:07 +0 N3123J - -\nf446 1586 MCO-BUF 16:10-18:58 150 A320 open ? - 16:10-18:58 +0 N656JB - -\nf447 24 FLL-DCA 16:15-19:00 149 A320 open ? - 16:15-19:00 +0 N566JB - -\nf448 1032 LGA-BOS 16:15-17:41 63 E190 open ? - 16:15-17:41 +0 N283JB - -\nf449 190 SAN-JFK 16:18-22:06 149 A320 open ? - 16:18-22:06 +0 N615JB - -\nf450 1319 BOS-MIA 16:19-19:52 136 A220 open ? - 16:19-19:52 +0 N3121J - -\nf451 197 BOS-SEA 16:20-22:41 138 A321P open ? - 16:20-22:41 +0 N4064J - -\nf452 356 DEN-LGA 16:20-20:12 140 A320 open ? - 16:20-20:12 +0 N503JB - -\nf453 1482 RIC-BOS 16:20-18:03 125 A320 open ? - 16:20-18:03 +0 N594JB - -\nf454 1207 BOS-BNA 16:22-19:32 123 A220 open ? - 16:22-19:32 +0 N3065J - -\nf455 2259 BOS-PHL 16:25-18:08 81 E190 open ? - 16:25-18:08 +0 N317JB - -\nf456 1826 SAT-JFK 16:27-20:30 125 A320 open ? - 16:27-20:30 +0 N536JB - -\nf457 2566 LGA-MVY 16:29-17:40 79 E190 open ? - 16:29-17:40 +0 N318JB - -\nf458 225 JFK-TPA 16:30-19:43 150 A320 open ? - 16:30-19:43 +0 N640JB - -\nf459 341 JFK-SAV 16:30-19:03 80 E190 open ? - 16:30-19:03 +0 N348JB - -\nf460 669 JFK-SJC 16:30-22:52 130 A320 open ? - 16:30-22:52 +0 N834JB - -\nf461 1374 LAX-EWR 16:30-22:06 138 A321P open ? - 16:30-22:06 +0 N987JT - -\nf462 1133 MCO-SJU 16:34-19:32 123 A320 open ? - 16:34-19:32 +0 N519JB - -\nf463 872 SLC-JFK 16:35-21:16 118 A320 open ? - 16:35-21:16 +0 N652JB - -\nf464 1254 DCA-BOS 16:35-18:22 86 E190 open ? - 16:35-18:22 +0 N354JB - -\nf465 2613 ATL-LGA 16:42-19:04 143 A320 open ? - 16:42-19:04 +0 N665JB - -\nf466 2810 TPA-LGA 16:42-19:30 149 A320 open ? - 23:44-02:32+1 +422 N592JB - -\nf467 383 JFK-MCO 16:45-19:51 183 A321 open ? - 16:45-19:51 +0 N958JB - -\nf468 1812 RSW-EWR 16:45-19:40 150 A320 open ? - 16:45-19:40 +0 N597JB - -\nf469 656 MCO-SYR 16:46-19:32 96 E190 open ? - 16:46-19:32 +0 N267JB - -\nf470 2185 BOS-PIT 16:47-18:40 87 E190 open ? - 16:47-18:40 +0 N279JB - -\nf471 2748 SAV-LGA 16:49-18:54 86 E190 open ? - 16:49-18:54 +0 N265JB - -\nf472 447 BOS-SLC 16:50-22:19 140 A320 open ? - 16:50-22:19 +0 N527JL - -\nf473 571 LGA-FLL 16:50-20:06 150 A320 open ? - 16:50-20:06 +0 N568JB - -\nf474 1963 HYA-JFK 16:51-18:00 69 E190 open ? - 16:51-18:00 +0 N355JB - -\nf475 1686 RDU-JFK 16:55-18:40 80 E190 open ? - 16:55-18:40 +0 N323JB - -\nf476 534 SFO-BOS 16:59-22:38 138 A321P open ? - 16:59-22:38 +0 N934JB - -\nf477 1118 JFK-BOS 16:59-18:31 84 E190 open ? - 16:59-18:31 +0 N216JB - -\nf478 2 JFK-BUF 17:00-18:42 88 E190 open ? - 17:00-18:42 +0 N306JB - -\nf479 915 BOS-SMF 17:00-23:23 108 A220 open ? - 17:00-23:23 +0 N3115J - -\nf480 1197 PVD-FLL 17:00-20:12 173 A321 open ? - 17:00-20:12 +0 N955JB - -\nf481 2053 JFK-PBI 17:00-20:11 150 A320 open ? - 17:00-20:11 +0 N635JB - -\nf482 2055 BOS-DCA 17:00-18:53 89 E190 open ? - 17:00-18:53 +0 N266JB - -\nf483 2614 LGA-ATL 17:00-19:34 145 A320 open ? - 17:00-19:34 +0 N524JB - -\nf484 2901 JFK-FLL 17:02-20:26 146 A320 open ? - 17:02-20:26 +0 N505JB - -\nf485 694 AUS-JFK 17:04-21:00 110 A320 open ? - 17:04-21:00 +0 N760JB - -\nf486 2154 PBI-JFK 17:04-20:00 150 A320 open ? - 17:04-20:00 +0 N605JB - -\nf487 713 BOS-ROC 17:05-18:32 90 E190 open ? - 17:05-18:32 +0 N284JB - -\nf488 64 SEA-JFK 17:06-22:29 143 A320 open ? - 17:06-22:29 +0 N638JB - -\nf489 1079 LAS-LAX 17:09-18:26 86 A320 open ? - 17:09-18:26 +0 N793JB - -\nf490 616 SFO-JFK 17:10-22:54 138 A321P open ? - 17:10-22:54 +0 N986JB - -\nf491 1037 BOS-DTW 17:10-19:27 87 E190 open ? - 17:20-19:37 +10 N193JB - -\nf492 2054 SJU-FLL 17:12-19:54 146 A320 open ? - 17:12-19:54 +0 N613JB - -\nf493 716 BUF-BOS 17:15-18:47 95 E190 open ? - 17:15-18:47 +0 N236JB - -\nf494 2769 BQN-TPA 17:19-20:14 87 A320 open ? - 20:46-23:41 +207 N729JB - -\nf495 1225 MVY-BOS 17:20-18:08 69 E190 open ? - 17:20-18:08 +0 N329JB - -\nf496 246 FLL-BQN 17:25-20:01 81 A320 open ? - 17:25-20:01 +0 N729JB - -\nf497 359 JFK-BUR 17:25-23:30 146 A320 open ? - 17:25-23:30 +0 N509JB - -\nf498 1348 SJU-DCA 17:25-21:17 150 A320 open ? - 17:25-21:17 +0 N523JB - -\nf499 1453 FLL-SJU 17:25-20:00 131 A320 open ? - 17:25-20:00 +0 N506JB - -\nf500 2066 RSW-BOS 17:25-20:46 184 A321 open ? - 17:35-20:56 +10 N948JB - -\nf501 2339 LGA-JAX 17:25-20:07 147 A320 open ? - 17:25-20:07 +0 N709JB - -\nf502 1267 HPN-PBI 17:30-20:26 147 A320 open ? - 19:15-22:11 +105 N593JB - -\nf503 2093 JFK-MIA 17:30-20:46 150 A320 open ? - 17:30-20:46 +0 N556JB - -\nf504 806 LAX-SEA 17:34-20:20 120 A320 open ? - 17:34-20:20 +0 N554JB - -\nf505 836 MSP-BOS 17:34-20:25 125 A220 open ? - 17:34-20:25 +0 N3104J - -\nf506 969 RIC-MCO 17:40-19:43 109 A320 open ? - 17:40-19:43 +0 N563JB - -\nf507 182 BNA-FLL 17:41-20:08 112 A320 open ? - 17:41-20:08 +0 N662JB - -\nf508 472 FLL-LGA 17:44-20:50 150 A320 open ? - 17:44-20:50 +0 N521JB - -\nf509 2648 CHS-HPN 17:44-19:59 117 A320 open ? - 17:44-19:59 +0 N579JB - -\nf510 101 FLL-LAX 17:45-23:11 138 A321P open ? - 17:45-23:11 +0 N980JT - -\nf511 275 BDL-SJU 17:45-21:36 135 A320 open ? - 17:45-21:36 +0 N663JB - -\nf512 308 JFK-PWM 17:45-19:18 78 E190 open ? - 17:45-19:18 +0 N203JB - -\nf513 777 BOS-LAS 17:45-23:38 172 A321 open ? - 18:25-00:18+1 +40 N903JB - -\nf514 1993 JFK-MCO 17:45-20:50 128 A220 open ? - 17:45-20:50 +0 N3113J - -\nf515 192 ACK-JFK 17:47-19:00 69 E190 open ? - 17:47-19:00 +0 N304JB - -\nf516 828 MCO-EWR 17:49-20:50 150 A320 open ? - 17:49-20:50 +0 N621JB - -\nf517 640 CLE-BOS 17:50-19:34 81 E190 open ? - 17:50-19:34 +0 N231JB - -\nf518 2073 EWR-LAX 17:51-23:50 138 A321P open ? - 17:51-23:50 +0 N984JB - -\nf519 1673 JFK-BNA 17:54-20:40 120 A320 open ? - 17:54-20:40 +0 N586JB - -\nf520 1799 LGA-MCO 17:55-20:57 140 A320 open ? - 17:55-20:57 +0 N657JB - -\nf521 711 JFK-LAS 17:59-23:44 180 A321 open ? - 17:59-23:44 +0 N949JT - -\nf522 684 RDU-BOS 18:00-20:03 122 A320 open ? - 18:00-20:03 +0 N561JB - -\nf523 971 BOS-SJC 18:00-00:39+1 107 A220 open ? - 18:00-00:39+1 +0 N3125J - -\nf524 1331 BOS-LGA 18:00-19:27 63 E190 open ? - 18:00-19:27 +0 N307JB - -\nf525 2230 MKE-BOS 18:00-20:13 130 A220 open ? - 18:00-20:13 +0 N3102J - -\nf526 2255 BOS-DCA 18:00-19:52 89 E190 open ? - 18:01-19:53 +1 N281JB - -\nf527 187 BOS-LAX 18:02-00:09+1 138 A321P open ? - 18:02-00:09+1 +0 N942JB - -\nf528 1734 SFO-BOS 18:05-23:41 121 A321P open ? - 18:05-23:41 +0 N929JB - -\nf529 1979 DCA-FLL 18:07-20:46 141 A320 open ? - 18:07-20:46 +0 N588JB - -\nf530 1120 DTW-JFK 18:08-20:00 82 E190 open ? - 18:08-20:00 +0 N337JB - -\nf531 1214 DFW-BOS 18:10-21:59 110 A220 open ? - 18:10-21:59 +0 N3085J - -\nf532 1294 MCO-HPN 18:10-21:02 140 A320 open ? - 18:10-21:02 +0 N805JB - -\nf533 1524 LAX-JFK 18:10-23:47 138 A321P open ? - 18:10-23:47 +0 N982JB - -\nf534 29 FLL-SAN 18:14-23:30 132 A320 open ? - 18:14-23:30 +0 N517JB - -\nf535 88 FLL-ALB 18:15-21:26 150 A320 open ? - 18:15-21:26 +0 N828JB - -\nf536 1232 LGA-BOS 18:15-19:38 63 E190 open ? - 18:15-19:38 +0 N247JB - -\nf537 1746 CLT-BOS 18:15-20:31 80 E190 open ? - 18:15-20:31 +0 N184JB - -\nf538 1880 FLL-DCA 18:15-20:59 149 A320 open ? - 18:15-20:59 +0 N636JB - -\nf539 2275 PVD-MCO 18:15-21:16 148 A320 open ? - 18:15-21:16 +0 N547JB - -\nf540 1026 BWI-BOS 18:19-19:55 78 E190 open ? - 18:19-19:55 +0 N368JB - -\nf541 2060 RSW-LGA 18:19-21:19 113 A320 open ? - 18:19-21:19 +0 N768JB - -\nf542 2783 BOS-RDU 18:20-20:30 82 E190 open ? - 18:20-20:30 +0 N283JB - -\nf543 582 RSW-DCA 18:24-20:59 69 E190 open ? - 18:24-20:59 +0 N358JB - -\nf544 2634 TPA-BDL 18:24-21:13 150 A320 open ? - 00:09+1-02:58+1 +345 N504JB - -\nf545 33 BOS-SFO 18:30-01:16+1 133 A321P open ? - 18:30-01:16+1 +0 N969JT - -\nf546 263 JFK-SEA 18:30-01:00+1 138 A321P open ? - 19:00-01:30+1 +30 N945JT - -\nf547 1903 JFK-SJU 18:30-22:29 171 A321 open ? - 18:30-22:29 +0 N952JB - -\nf548 2416 SFO-JFK 18:30-00:11+1 138 A321P open ? - 18:30-00:11+1 +0 N962JT - -\nf549 2754 DCA-BOS 18:30-20:08 86 E190 open ? - 18:30-20:08 +0 N375JB - -\nf550 2404 SJU-JFK 18:31-22:29 176 A321 open ? - 18:31-22:29 +0 N956JT - -\nf551 161 JFK-SMF 18:32-00:58+1 180 A321 open ? - 18:32-00:58+1 +0 N2044J - -\nf552 2202 FLL-JFK 18:36-21:40 147 A320 open ? - 18:36-21:40 +0 N648JB - -\nf553 2465 BUF-FLL 18:37-21:36 150 A320 open ? - 18:37-21:36 +0 N531JL - -\nf554 1185 JFK-RDU 18:38-20:38 85 E190 open ? - 18:38-20:38 +0 N355JB - -\nf555 2583 JFK-MCO 18:40-21:44 148 A320 open ? - 18:40-21:44 +0 N623JB - -\nf556 2952 MCO-BOS 18:40-21:45 87 E190 open ? - 18:40-21:45 +0 N324JB - -\nf557 1142 PBI-BDL 18:41-21:34 148 A320 open ? - 19:35-22:28 +54 N583JB - -\nf558 798 MCO-LGA 18:45-21:38 149 A320 open ? - 18:45-21:38 +0 N507JT - -\nf559 1451 BOS-MCO 18:45-21:59 149 A320 open ? - 18:45-21:59 +0 N570JB - -\nf560 2565 MVY-LGA 18:48-20:00 88 E190 open ? - 18:48-20:00 +0 N318JB - -\nf561 362 SJU-BOS 18:50-22:48 139 A320 open ? - 18:50-22:48 +0 N643JB - -\nf562 1274 CHS-JFK 18:50-21:00 80 E190 open ? - 18:50-21:00 +0 N273JB - -\nf563 1303 BOS-PHX 18:50-00:30+1 124 A320 open ? - 18:50-00:30+1 +0 N809JB - -\nf564 1320 ATL-JFK 18:50-21:20 87 E190 open ? - 18:50-21:20 +0 N238JB - -\nf565 277 FLL-SFO 18:55-00:53+1 136 A321P open ? - 18:55-00:53+1 +0 N977JE - -\nf566 914 FLL-HPN 18:55-21:59 141 A320 open ? - 18:55-21:59 +0 N806JB - -\nf567 1732 LAX-SLC 18:55-20:44 119 A320 open ? - 18:55-20:44 +0 N645JB - -\nf568 2460 PHL-BOS 18:55-20:29 77 E190 open ? - 18:55-20:29 +0 N317JB - -\nf569 2122 ACK-HPN 18:57-20:00 88 E190 open ? - 18:57-20:00 +0 N328JB - -\nf570 801 MCO-SLC 18:59-23:40 123 A320 open ? - 18:59-23:40 +0 N646JB - -\nf571 1262 PBI-LGA 19:00-21:53 145 A320 open ? - 20:10-23:03 +70 N746JB - -\nf572 1431 BOS-LGA 19:00-20:26 63 E190 open ? - 19:00-20:26 +0 N329JB - -\nf573 153 DEN-LGA 19:15-23:11 140 A320 open ? - 19:15-23:11 +0 N569JB - -\nf574 176 MSY-JFK 19:15-22:31 80 E190 open ? - 19:15-22:31 +0 N274JB - -\nf575 495 HPN-MCO 19:15-22:09 150 A320 open ? - 20:44-23:38 +89 N579JB - -\nf576 2232 IAH-BOS 19:16-23:09 117 A220 open ? - 19:16-23:09 +0 N3023J - -\nf577 293 BOS-DEN 19:20-23:57 172 A321 open ? - 19:20-23:57 +0 N965JT - -\nf578 1124 LAX-JFK 19:20-00:49+1 138 A321P open ? - 19:20-00:49+1 +0 N978JB - -\nf579 1718 JFK-BOS 19:25-20:55 84 E190 open ? - 19:25-20:55 +0 N323JB - -\nf580 1080 LAX-LAS 19:28-20:53 97 A320 open ? - 19:28-20:53 +0 N793JB - -\nf581 65 JFK-ABQ 19:29-00:18+1 146 A320 open ? - 19:29-00:18+1 +0 N627JB - -\nf582 223 JFK-LAX 19:30-01:39+1 138 A321P open ? - 19:48-01:57+1 +18 N968JT - -\nf583 1005 JFK-PDX 19:30-01:47+1 131 A320 open ? - 19:30-01:47+1 +0 N580JB - -\nf584 1281 BOS-RIC 19:30-21:13 83 E190 open ? - 19:30-21:13 +0 N354JB - -\nf585 1382 LGA-PWM 19:30-20:45 82 E190 open ? - 19:30-20:45 +0 N198JB - -\nf586 2061 LGA-RSW 19:30-22:42 119 A320 open ? - 19:30-22:42 +0 N632JB - -\nf587 1168 PBI-HPN 19:35-22:29 142 A320 open ? - 20:56-23:50 +81 N635JB - -\nf588 1284 MCO-JFK 19:35-22:28 181 A321 open ? - 19:35-22:28 +0 N2017J - -\nf589 1678 JAX-JFK 19:35-22:07 143 A320 open ? - 19:35-22:07 +0 N516JB - -\nf590 2364 MCI-BOS 19:35-22:34 109 A220 open ? - 19:35-22:34 +0 N3062J - -\nf591 201 BUF-JFK 19:36-21:00 89 E190 open ? - 19:36-21:00 +0 N306JB - -\nf592 355 JFK-ONT 19:39-01:42+1 172 A321 open ? - 19:39-01:42+1 +0 N996JL - -\nf593 2006 MCO-BOS 19:40-22:44 141 A320 open ? - 19:40-22:44 +0 N612JB - -\nf594 317 BOS-JFK 19:41-21:00 83 E190 open ? - 19:41-21:00 +0 N216JB - -\nf595 541 BOS-CLE 19:45-21:48 86 E190 open ? - 19:45-21:48 +0 N236JB - -\nf596 342 SAV-JFK 19:49-21:59 79 E190 open ? - 19:49-21:59 +0 N348JB - -\nf597 2319 FLL-SLC 19:55-00:57+1 119 A320 open ? - 19:55-00:57+1 +0 N821JB - -\nf598 942 LAX-RNO 19:57-21:22 105 A320 open ? - 19:57-21:22 +0 N564JB - -\nf599 47 LGA-TPA 19:59-22:59 150 A320 open ? - 19:59-22:59 +0 N592JB - -\nf600 307 PWM-JFK 19:59-21:16 82 E190 open ? - 19:59-21:16 +0 N203JB - -\nf601 1096 ATL-BOS 19:59-22:44 121 A220 open ? - 19:59-22:44 +0 N3123J - -\nf602 2886 MIA-LAX 19:59-01:16+1 127 A321P open ? - 19:59-01:16+1 +0 N943JT - -\nf603 703 JFK-SJU 20:00-23:59 171 A321 open ? - 20:00-23:59 +0 N2060J - -\nf604 1211 JFK-LAS 20:00-01:44+1 180 A321 open ? - 20:00-01:44+1 +0 N966JT - -\nf605 1873 EWR-LAX 20:00-01:58+1 138 A321P open ? - 20:00-01:58+1 +0 N935JB - -\nf606 2181 JFK-RNO 20:00-02:09+1 147 A320 open ? - 20:00-02:09+1 +0 N705JB - -\nf607 2523 DCA-MCO 20:00-22:24 137 A320 open ? - 20:00-22:24 +0 N566JB - -\nf608 2602 JFK-BUF 20:00-21:39 88 E190 open ? - 20:00-21:39 +0 N304JB - -\nf609 131 MCO-LAX 20:09-01:10+1 126 A320 open ? - 20:09-01:10+1 +0 N658JB - -\nf610 97 JFK-DEN 20:10-00:35+1 137 A320 open ? - 20:10-00:35+1 +0 N763JB - -\nf611 572 FLL-LGA 20:10-23:13 150 A320 open ? - 20:10-23:13 +0 N703JB - -\nf612 1136 DTW-BOS 20:15-22:01 88 E190 open ? - 20:15-22:01 +0 N193JB - -\nf613 1432 LGA-BOS 20:15-21:35 63 E190 open ? - 20:15-21:35 +0 N265JB - -\nf614 1206 BNA-BOS 20:17-22:56 115 A220 open ? - 20:17-22:56 +0 N3065J - -\nf615 135 JFK-PHX 20:19-01:49+1 172 A321 open ? - 20:19-01:49+1 +0 N950JT - -\nf616 568 FLL-ATL 20:20-22:12 105 A320 open ? - 20:20-22:12 +0 N587JB - -\nf617 2119 LGA-MSY 20:20-23:42 132 A320 open ? - 20:20-23:42 +0 N706JB - -\nf618 138 MCO-BDL 20:25-23:19 150 A320 open ? - 20:25-23:19 +0 N607JB - -\nf619 1134 SJU-MCO 20:25-23:29 138 A320 open ? - 20:25-23:29 +0 N519JB - -\nf620 1761 LGA-PBI 20:25-23:21 148 A320 open ? - 20:25-23:21 +0 N665JB - -\nf621 548 TPA-HPN 20:28-23:26 150 A320 open ? - 00:26+1-03:24+1 +238 N729JB - -\nf622 998 MCO-LGA 20:28-23:15 150 A320 open ? - 20:28-23:15 +0 N712JB - -\nf623 2513 ATL-LGA 20:29-22:55 143 A320 open ? - 20:29-22:55 +0 N524JB - -\nf624 369 BOS-FLL 20:30-23:52 181 A321 open ? - 20:30-23:52 +0 N999JQ - -\nf625 815 JFK-SFO 20:30-03:10+1 136 A321P open ? - 20:30-03:10+1 +0 N2151J - -\nf626 1097 BOS-ATL 20:30-23:16 94 E190 open ? - 20:30-23:16 +0 N206JB - -\nf627 2273 EWR-TPA 20:30-23:24 145 A320 open ? - 20:30-23:24 +0 N504JB - -\nf628 234 JFK-BTV 20:35-22:06 80 E190 open ? - 20:35-22:06 +0 N337JB - -\nf629 506 FLL-EWR 20:35-23:31 140 A320 open ? - 20:35-23:31 +0 N659JB - -\nf630 1720 MIA-BOS 20:38-23:59 114 A220 open ? - 20:38-23:59 +0 N3121J - -\nf631 460 FLL-BDL 20:40-23:43 146 A320 open ? - 20:40-23:43 +0 N794JB - -\nf632 1146 FLL-RIC 20:40-22:56 125 A320 open ? - 20:40-22:56 +0 N529JB - -\nf633 1152 MCO-BOS 20:40-23:47 173 A321 open ? - 20:40-23:47 +0 N959JB - -\nf634 1823 JFK-LAX 20:40-02:44+1 138 A321P open ? - 20:40-02:44+1 +0 N946JL - -\nf635 617 BOS-JFK 20:43-21:59 83 E190 open ? - 20:43-21:59 +0 N231JB - -\nf636 613 HPN-FLL 20:45-23:39 144 A320 open ? - 21:47-00:41+1 +62 N805JB - -\nf637 2514 LGA-ATL 20:45-23:06 90 E190 open ? - 20:45-23:06 +0 N307JB - -\nf638 607 FLL-LAS 20:54-02:04+1 134 A320 open ? - 20:54-02:04+1 +0 N766JB - -\nf639 384 MCO-JFK 20:55-23:41 181 A321 open ? - 20:55-23:41 +0 N958JB - -\nf640 1387 BOS-LAX 20:55-02:59+1 138 A321P open ? - 20:55-02:59+1 +0 N944JT - -\nf641 2752 SJU-TPA 20:55-23:58 131 A320 open ? - 20:55-23:58 +0 N585JB - -\nf642 245 BQN-FLL 20:56-23:23 61 A320 open ? - 00:14+1-02:41+1 +198 N640JB - -\nf643 1044 PBI-EWR 20:56-23:44 144 A320 open ? - 21:02-23:50 +6 N637JB - -\nf644 71 JFK-SLC 20:59-02:16+1 126 A320 open ? - 20:59-02:16+1 +0 N796JB - -\nf645 2174 TPA-EWR 20:59-23:46 150 A320 open ? - 00:43+1-03:30+1 +224 N585JB - -\nf646 2589 EWR-SJU 20:59-00:53+1 189 A321 open ? - 20:59-00:53+1 +0 N975JT - -\nf647 2626 FLL-RDU 20:59-23:04 118 A320 open ? - 20:59-23:04 +0 N613JB - -\nf648 499 LGA-MCO 21:10-23:54 150 A320 open ? - 21:10-23:54 +0 N503JB - -\nf649 386 RDU-JFK 21:13-22:59 80 E190 open ? - 21:13-22:59 +0 N283JB - -\nf650 1802 FLL-JFK 21:15-00:10+1 147 A320 open ? - 21:15-00:10+1 +0 N568JB - -\nf651 170 FLL-BOS 21:20-00:34+1 181 A321 open ? - 21:20-00:34+1 +0 N955JB - -\nf652 516 MCO-SJU 21:25-00:18+1 123 A320 open ? - 21:25-00:18+1 +0 N715JB - -\nf653 807 SEA-LAX 21:25-00:15+1 139 A320 open ? - 21:25-00:15+1 +0 N554JB - -\nf654 1674 BNA-JFK 21:25-23:57 94 A320 open ? - 21:25-23:57 +0 N586JB - -\nf655 2501 FLL-LAX 21:29-02:59+1 138 A321P open ? - 21:29-02:59+1 +0 N2105J - -\nf656 89 JFK-SAN 21:30-03:17+1 138 A321P open ? - 21:30-03:17+1 +0 N961JT - -\nf657 2129 JFK-RSW 21:30-00:41+1 118 A320 open ? - 21:30-00:41+1 +0 N591JB - -\nf658 2092 MIA-JFK 21:31-00:29+1 147 A320 open ? - 21:31-00:29+1 +0 N556JB - -\nf659 1279 LAS-LAX 21:38-22:49 86 A320 open ? - 21:38-22:49 +0 N793JB - -\nf660 536 LAX-SFO 21:40-22:58 127 A320 open ? - 21:40-22:58 +0 N644JB - -\nf661 2516 JFK-SYR 21:40-23:03 81 E190 open ? - 21:40-23:03 +0 N216JB - -\nf662 2615 JFK-SFO 21:40-03:53+1 136 A321P open ? - 21:40-03:53+1 +0 N993JE - -\nf663 283 JFK-MCO 21:45-00:35+1 92 E190 open ? - 21:45-00:35+1 +0 N273JB - -\nf664 471 LGA-FLL 21:45-00:47+1 150 A320 open ? - 21:45-00:47+1 +0 N521JB - -\nf665 1419 JFK-DTW 21:50-23:53 84 E190 open ? - 21:50-23:53 +0 N306JB - -\nf666 2194 MCO-EWR 21:50-00:30+1 141 A320 open ? - 21:50-00:30+1 +0 N653JB - -\nf667 486 JFK-ROC 21:59-23:28 88 E190 open ? - 21:59-23:28 +0 N203JB - -\nf668 1723 JFK-LAX 21:59-04:01+1 138 A321P open ? - 21:59-04:01+1 +0 N991JT - -\nf669 1731 SLC-LAX 21:59-23:50 122 A320 open ? - 21:59-23:50 +0 N645JB - -\nf670 318 JFK-BOS 22:00-23:21 84 E190 open ? - 22:00-23:21 +0 N238JB - -\nf671 430 MCO-BQN 22:05-00:49+1 87 A320 open ? - 22:05-00:49+1 +0 N563JB - -\nf672 1475 BDL-SJU 22:12-02:02+1 135 A320 open ? - 23:13-03:03+1 +61 N583JB - -\nf673 943 RNO-LAX 22:22-00:05+1 101 A320 open ? - 22:22-00:05+1 +0 N564JB - -\nf674 839 JFK-BQN 22:29-02:23+1 142 A320 open ? - 22:29-02:23+1 +0 N605JB - -\nf675 767 MCO-PSE 22:30-01:23+1 88 A320 open ? - 22:30-01:23+1 +0 N606JB - -\nf676 2134 SJU-MCO 22:30-01:24+1 138 A320 open ? - 22:30-01:24+1 +0 N506JB - -\nf677 403 JFK-SJU 22:59-02:52+1 171 A321 open ? - 22:59-02:52+1 +0 N954JB - -\nf678 745 JFK-PSE 22:59-02:58+1 132 A320 open ? - 22:59-02:58+1 +0 N536JB - -\nf679 2120 SAN-BOS 23:10-04:39+1 138 A321P open ? - 23:10-04:39+1 +0 N979JT - -\nf680 2133 MCO-SJU 23:15-02:05+1 123 A320 open ? - 23:15-02:05+1 +0 N657JB - -\nf681 2124 LAX-JFK 23:30-05:00+1 138 A321P open ? - 23:30-05:00+1 +0 N981JT - -\nf682 561 BOS-SJU 23:35-03:32+1 148 A321 open ? - 23:35-03:32+1 +0 N905JB - -\nf683 388 LAX-BOS 23:45-05:20+1 138 A321P open ? - 23:45-05:20+1 +0 N988JT - -\nf684 2985 LAX-MIA 23:45-05:06+1 135 A321P open ? - 23:45-05:06+1 +0 N989JT - -\nf685 670 SJC-JFK 23:49-05:23+1 133 A320 open ? - 23:49-05:23+1 +0 N834JB - -\nf686 498 SEA-BOS 00:10+1-05:23+1 138 A321P open ? - 00:10+1-05:23+1 +0 N4064J - -\nf687 916 SMF-BOS 00:22+1-05:53+1 113 A220 open ? - 00:22+1-05:53+1 +0 N3115J - -\nf688 358 BUR-JFK 00:25+1-06:00+1 117 A320 open ? - 00:25+1-06:00+1 +0 N509JB - -\nf689 30 SAN-FLL 00:30+1-05:33+1 127 A320 open ? - 00:30+1-05:33+1 +0 N517JB - -\nf690 348 SLC-BOS 00:31+1-05:00+1 143 A320 open ? - 00:31+1-05:00+1 +0 N527JL - -\nf691 72 SLC-JFK 00:43+1-05:13+1 128 A320 open ? - 00:43+1-05:13+1 +0 N646JB - -\nf692 34 SFO-BOS 00:55+1-06:32+1 138 A321P open ? - 00:55+1-06:32+1 +0 N976JT - -\nf693 1574 LAX-EWR 00:55+1-06:23+1 138 A321P open ? - 00:55+1-06:23+1 +0 N980JT - -\nf694 2218 LAX-CHS 00:55+1-05:51+1 108 A320 open ? - 00:55+1-05:51+1 +0 N793JB - -\nf695 1268 LAX-BDL 01:05+1-06:32+1 149 A320 open ? - 01:05+1-06:32+1 +0 N630JB - -\nf696 594 DEN-BOS 01:10+1-05:02+1 168 A321 open ? - 01:10+1-05:02+1 +0 N965JT - -\nf697 778 LAS-BOS 01:18+1-06:23+1 180 A321 open ? - 01:18+1-06:23+1 +0 N949JT - -\nf698 700 LAX-FLL 01:19+1-06:31+1 138 A321P open ? - 01:19+1-06:31+1 +0 N984JB - -\nf699 1302 PHX-BOS 01:22+1-06:17+1 119 A320 open ? - 01:22+1-06:17+1 +0 N809JB - -\nf700 124 LAX-JFK 01:34+1-07:10+1 138 A321P open ? - 01:34+1-07:10+1 +0 N942JB - -\nf701 1548 LAS-JFK 01:35+1-06:30+1 179 A321 open ? - 01:35+1-06:30+1 +0 N903JB - -\nf702 98 DEN-JFK 01:38+1-05:20+1 132 A320 open ? - 01:38+1-05:20+1 +0 N763JB - -\nf703 66 ABQ-JFK 01:40+1-05:49+1 138 A320 open ? - 01:40+1-05:49+1 +0 N627JB - -\nf704 972 SJC-BOS 01:50+1-07:36+1 128 A220 open ? - 01:50+1-07:36+1 +0 N3125J - -\nf705 2320 SLC-FLL 01:55+1-06:33+1 107 A320 open ? - 01:55+1-06:33+1 +0 N821JB - -\nf706 162 SMF-JFK 02:09+1-07:33+1 176 A321 open ? - 02:09+1-07:33+1 +0 N2044J - -\nf707 278 SFO-FLL 02:13+1-07:54+1 134 A321P open ? - 02:13+1-07:54+1 +0 N977JE - -\nf708 264 SEA-JFK 02:17+1-07:29+1 138 A321P open ? - 02:18+1-07:30+1 +1 N945JT - -\nf709 988 LAX-BOS 02:40+1-08:19+1 138 A321P open ? - 02:40+1-08:19+1 +0 N943JT - -\nf710 1006 PDX-JFK 02:44+1-07:57+1 143 A320 open ? - 02:44+1-07:57+1 +0 N580JB - -\nf711 354 ONT-JFK 02:52+1-08:15+1 177 A321 open ? - 02:52+1-08:15+1 +0 N996JL - -\nf712 608 LAS-FLL 02:55+1-07:38+1 138 A320 open ? - 02:55+1-07:38+1 +0 N766JB - -\nf713 2348 LAS-JFK 02:55+1-07:49+1 179 A321 open ? - 02:55+1-07:49+1 +0 N966JT - -\nf714 80 RNO-JFK 02:59+1-08:07+1 115 A320 open ? - 02:59+1-08:07+1 +0 N705JB - -\nf715 136 PHX-JFK 02:59+1-07:49+1 178 A321 open ? - 02:59+1-07:49+1 +0 N950JT - -\nf716 1216 SFO-JFK 02:59+1-08:30+1 138 A321P open ? - 02:59+1-08:30+1 +0 N969JT - -\nf717 1316 LAX-JFK 02:59+1-08:37+1 138 A321P open ? - 02:59+1-08:37+1 +0 N968JT - -\n\n## Aircraft now, as your plan has them (@ = ready at)\nBOS: N192JB N193JB N2151J N236JB N266JB N281JB N284JB N3023J N3044J N304JB N3062J N3065J N307JB N3085J N3102J N3104J@13:29 N3113J@06:26 N3121J N3123J N3125J N329JB N358JB N375JB N4064J@09:07 N527JL@13:08 N570JB N594JB@07:03 N618JB N621JB N643JB@09:05 N646JB N649JB@05:23 N809JB N903JB@18:25 N905JB N913JB N929JB@05:49 N942JB@14:32 N943JT N946JL N948JB N959JB@07:41 N965JT N979JT@06:02 N983JT@05:40 N989JT@07:15 N993JE N999JQ\nALB: N556JB\nATL: N317JB N339JB N648JB\nBDL: N569JB N627JB@07:01 N793JB N794JB\nBQN: N659JB\nBTV: N247JB\nBUF: N337JB N661JB\nCHS: N644JB@08:42\nCLE: N368JB\nDCA: N184JB N206JB N324JB N657JB N663JB\nDTW: N198JB\nEWR: N504JB N520JB N521JB N529JB N583JB N613JB@05:15 N834JB N935JB N975JT@20:04 N985JT@07:22\nFLL: N2017J N3112J N506JB@09:13 N508JL N531JL@12:43 N585JB N603JB N607JB N656JB N708JB@06:15 N766JB N768JB N806JB@17:30 N955JB N986JB@08:01 N991JT@07:21\nHPN: N267JB N586JB N632JB N712JB\nJAX: N706JB\nJFK: N2039J N2044J@17:04 N2060J N2105J N238JB N273JB N306JB N323JB N509JB@15:45 N524JB@05:46 N535JB N536JB@09:09 N558JB N580JB N588JB@07:30 N595JB@06:49 N623JB@17:09 N635JB N636JB N637JB@06:35 N638JB@06:47 N652JB@07:11 N662JB N705JB@09:53 N715JB N729JB@08:45 N760JB@10:15 N789JB@05:45 N907JB@04:06 N934JB@05:34 N945JT N947JB N949JT N950JT@19:05 N952JB N954JB@19:05 N956JT@11:14 N958JB N961JT N962JT@08:05 N966JT@18:44 N968JT N978JB@09:02 N981JT@09:05 N982JB@07:26 N987JT N990JL N994JL@19:24 N996JL@17:37\nLAX: N554JB@04:54 N564JB@19:12 N606JB N630JB@00:10+1 N937JB@04:44 N967JT N980JT@08:28 N984JB@04:05 N988JT\nLGA: N265JB N354JB N517JB N519JB N568JB N579JB N587JB N591JB N612JB N653JB\nMCO: N216JB N3115J N507JT@06:54 N523JB@05:47 N592JB N597JB@04:16 N605JB N608JB N640JB N746JB N763JB N805JB\nMIA: N944JT@05:21\nMSY: N821JB\nPBI: N279JB N593JB N665JB\nPIT: N318JB\nPSE: N516JB@06:30\nPWM: N283JB\nRDU: N231JB N703JB\nRIC: N348JB N828JB\nROC: N203JB N355JB\nRSW: N503JB N505JB\nSAN: N615JB@15:33\nSFO: N645JB N969JT N976JT@04:07 N977JE@05:02\nSJU: N2086J@05:34 N547JB N561JB@13:29 N566JB N658JB N709JB N796JB N995JL@04:41 N997JL N998JE\nSLC: N563JB\nSYR: N274JB N328JB\nairborne: none\n\n## News so far\n[01:20] TAF KBOS 290520Z 2906/3012 13004KT P6SM OVC130 FM291000 11003KT P6SM SCT010 OVC035 FM291500 10003KT P6SM BKN010 FM291800 07005KT P6SM OVC015 FM300100 12004KT 6SM -SHRA BR OVC005 FM300900 10004KT 6SM BR VCSH OVC008=\n[02:54] KBOS 290654Z 13003KT 10SM BKN130 BKN250 18/17 A3004 RMK AO2 SLP172 T01830172\n[03:54] KBOS 290754Z 17003KT 10SM BKN130 BKN250 18/17 A3003 RMK AO2 SLP169 T01830172\n\nIt is the first watch, 04:00. Nothing is frozen yet: set the day up with confirm_changes, then call advance.", + "max_turns": 364, + "model_params": { + "max_tokens": 32000 + }, + "timeout_seconds": 7200 + }, + { + "id": "end-day", + "type": "apply_server_config", + "env_id": "airops-v3-day", + "directives": [ + { + "service": "airops-v3-day", + "uri": "urn:airops:v3-end-day/v1", + "args": {} + } + ] + }, + { + "id": "grade", + "type": "env_outcome_verifier", + "env_id": "airops-v3-day", + "file_artifact_id": "airops-verifier", + "verifier_id": "airops", + "score_aggregator": "weighted_average" + } +] diff --git a/src/agentenv_airops/bundles/airops-v3/tasks/b6-20231218-0400.json b/src/agentenv_airops/bundles/airops-v3/tasks/b6-20231218-0400.json new file mode 100644 index 0000000..d32efc8 --- /dev/null +++ b/src/agentenv_airops/bundles/airops-v3/tasks/b6-20231218-0400.json @@ -0,0 +1,71 @@ +[ + { + "id": "deploy", + "type": "deploy_env", + "env_id": "airops-v3-day" + }, + { + "id": "load-task", + "type": "apply_server_config", + "env_id": "airops-v3-day", + "directives": [ + { + "service": "airops-v3-day", + "uri": "urn:airops:v3-live-load/v1", + "args": { + "task_id": "b6-20231218-0400", + "anchor": 4792147, + "follower": 5522472 + } + } + ] + }, + { + "id": "deploy-agent", + "type": "deploy_agent", + "a2a_agent_id": "airops-llm", + "env_ids": [ + "airops-v3-day" + ] + }, + { + "id": "clock", + "type": "sync_env_clock", + "env_id": "airops-v3-day", + "virtual_time": "2023-12-18T09:00:00Z", + "virtual_seconds_per_real_second": 0, + "tolerate_missing_sync_time": false + }, + { + "id": "play", + "type": "prompt_agent", + "prompt_id": "b6-20231218-0400", + "system_prompt": "You run the JetBlue operations desk on a storm day at JFK and BOS: thunderstorms, snow or wind, and the FAA ground stops and ground delay programs (GDPs) that follow, cut how many JetBlue flights can land and take off. Your job is to decide which flights to cancel and which to hold, watch by watch, so that passengers and the airline lose as little as possible over the day.\n\nHow the day runs:\n- The day is played in watches starting at watch 0: one an hour, and one more when an advisory or a SPECI reaches the desk or a ramp closure begins or ends, so watches are 15 to 60 minutes apart. The first message gives the day as the desk knows it at watch 0. Every tool call takes 1 minute of the watch; when the watch's time runs out, the next watch opens by itself, and advance opens it at once.\n- What the desk knows: a flight's own departure delay (weather, air traffic control: anything but waiting for its aircraft or a slot) becomes known 2 hours before its scheduled departure; until then it is assumed on time. FAA Command Center advisories and the hubs' METARs, SPECIs and TAFs arrive as messages at the first watch after they reach the desk: an advisory 0 minutes after it is signed, a METAR 5 and a SPECI 5 minutes after its observation, a TAF 10 minutes after its issue, and the programs table shows the programs as issued, proposed GDPs included; a program may end earlier or later than issued.\n- Ground delay programs: a GDP meters arrivals at a hub over its period. A flight into the hub from an origin in its scope, scheduled to land in the period, needs one of JetBlue's arrival slots in the program: it takes the earliest free slot at or after the time it could land and leaves at its EDCT, the slot less its scheduled block. A cancelled or late flight leaves its slot to the flights behind it. Arrivals outside a program fit under the hub's hourly rate.\n- Ground stops: a flight to a stopped hub from an origin the stop covers waits on the ground until the stop ends; flights already airborne fly on.\n- Departure caps: an airport may take only so many JetBlue departures in an hour (the departure caps table, known 4 hours ahead); a flight with no room in its hour tries again at the next hour's start.\n- Outstation arrival caps: an outstation may take only so many JetBlue arrivals in an hour (the outstation arrival caps table, known 4 hours ahead); a flight with no room in its arrival hour leaves so as to land in the next one.\n- Ramp closures: lightning at the field cuts a hub's ramp rate without stopping it. During a closure only so many JetBlue flights may leave the hub and only so many arrive there; a departure with no room leaves at the closure's end, an arrival with none leaves so as to land at it. A closure is known once it begins; until its end comes it is expected to last 30 minutes more, with caps for that long, and the closures table says which ends are reported and which expected.\n- The env flies your plan on the day as it happens: each flight leaves at the earliest time its delay, its hold, a slot, a stop, a cap and an aircraft allow. It takes the first aircraft of its type ready at its origin (aircraft of one type at one airport are interchangeable; an aircraft needs its turn time on the ground between flights). A flight that can't leave by its deadline is cancelled automatically there. At the end of the day the env ferries each aircraft to the airport it is needed at tomorrow.\n- Your decisions: cancel a flight (its aircraft stays on the ground, free for other flights, and its slot goes to the flights behind), restore a cancelled flight, or hold a flight until a time (not_before) so that its slot or aircraft goes to another flight first. A flight you don't touch leaves as early as it can.\n- The freeze: at watch 0 nothing is frozen. From watch 1 on, flights your plan has leaving before the freeze line, 60 minutes after the watch opens, are frozen: they can't be changed, and stay frozen. A cancellation is final. The env holds any other flight your plan would have leaving before the freeze line to it, and refuses a change that would move a frozen flight or one that has already gone.\n\nTools:\n- get_situation(): the time, the freeze line, the programs as issued with JetBlue's slots, the departure caps known so far, the outstation arrival caps known so far, the ramp closures under way or over, the latest METAR or SPECI and TAF per hub, every flight (its status, its known delay, your plan, where your plan has it leave and land on the day as known, how late it lands, its aircraft, its slot and its crew), where the aircraft are, and the news so far.\n- check_plan(changes): your changes over your plan, run on the day as known now: the plan's cost, the flights whose plan or times change, the automatic cancellations, the flights the env would hold to the freeze line, and the changes confirm_changes would refuse. It confirms nothing.\n- confirm_changes(changes): commits the changes; flights you leave out keep their plan.\n- advance(): ends the watch; its result has the new watch's news. After the last watch it returns \"done\": the day is graded on your plan.\nA change is {\"flight\": \"f12\", \"action\": \"cancel\" | \"restore\" | \"hold\" | \"call_reserve\" | \"release_reserve\", \"not_before\": \"HH:MM\" | null}: cancel takes not_before null; restore and hold fly the flight, held until not_before (local time, \"00:30+1\" after midnight), or as early as it can with null. Where a crew base has a reserve pool (the situation's Reserve crews), a flight leaving it past its crew's deadline flies only on a reserve: call_reserve gives it one while the pool lasts, release_reserve hands it back before that deadline.\n\nThe cost, in passenger-minutes: every passenger's minutes of arrival delay; 523 for each passenger on a cancelled flight, plus one for every minute the cancellation is decided later than 2 hours before its scheduled departure (an automatic cancellation is decided at its deadline, so it costs more than an early one); the airline's own aircraft minutes (a late departure costs crew and fixed costs, a long block fuel too, and a cancellation saves its fuel and maintenance); and the end-of-day ferries. A cancellation frees an aircraft and a slot; it pays when it saves the others more than it costs its own passengers. The day is graded once, on your final plan flown on the day as it really happened: the closer its cost to the best plan possible in hindsight, the higher the score. If you stop before the last watch, the rest of the day runs on your plan.", + "prompt": "# JetBlue operations desk, BOS, Monday 2023-12-18; times are local (America/New_York).\n\nNow 04:00 (watch 0, opened 04:00). First watch: nothing is frozen; changes take effect at once.\n\nYour plan on the day as known costs 447,965 (delay 336,109, cancellations 0, notice 0, ferries 0): 0 cancelled, 0 cancelled automatically, 0 on slots.\n\n## Programs as issued (FAA Command Center)\n- JFK ground delay program adv-20231217-056: arrivals 17:30-1-01:59, governs departures 14:43-1-23:48-1; JetBlue's slots none\n\n## Departure caps: JetBlue departures per hour, known 240 min ahead\nBOS: 07h 9 08h 5\nJFK: 06h 7 07h 4 08h 5\n\n## Outstation arrival caps: JetBlue arrivals per hour, known 240 min ahead\nBNA: 08h 1\nFLL: 08h 1\nLGA: 08h 3\n\n## Ramp closures (lightning at the field; known once begun)\nNone.\n\n## Latest weather (METAR or SPECI, and TAF)\n[03:54] KBOS 180854Z 15019G25KT 6SM -RA BR SCT012 BKN018 OVC075 14/13 A2964 RMK AO2 PK WND 15029/0839 SLP036 P0008 60022 T01390128 58059\n[00:30] TAF KBOS 180530Z 1806/1912 15012KT 6SM -RA BR OVC010 WS020/16050KT FM180900 13016G31KT 4SM -RA BR OVC008 WS020/15055KT FM181500 15031G50KT 2SM +RA BR OVC004 WS020/16065KT FM182000 17024G38KT 6SM -RA BR OVC008 FM182200 22021G32KT P6SM VCSH BKN010 FM190100 24018G28KT P6SM SCT050=\n\n## Flights (sched = scheduled dep-arr; delay = known delay, ? not yet; plan = cancel or hold@HH:MM; proj = where your plan has it leave and land on the day as known; late = arrival delay; slot = its GDP slot; crew = crew deadline/rest end, +R on a reserve crew)\nid flight route sched pax type status delay plan proj late tail slot crew\nf0 2124 LAX-JFK 03:55-09:09 136 A321P open 3 - 04:00-09:22 +13 N2105J - -\nf1 2654 SJU-FLL 04:01-06:56 134 A320 open 20 - 04:21-06:56 +0 N561JB - -\nf2 304 SJU-JFK 04:45-08:57 115 A320 open -11 - 04:54-09:35 +38 N705JB - -\nf3 133 BOS-SFO 05:01-12:02 132 A321P open -5 - 04:56-11:21 -41 N923JB - -\nf4 253 FLL-SJU 05:01-07:31 145 A320 open 33 - 05:34-07:57 +26 N509JB - -\nf5 1233 MCO-SJU 05:02-07:57 176 A321 open -6 - 04:56-07:51 -6 N974JT - -\nf6 1589 EWR-SJU 05:05-08:46 150 A320 open 21 - 05:26-09:48 +62 N580JB - -\nf7 617 BOS-JFK 05:10-06:30 80 E190 open 16 - 05:26-06:58 +28 N236JB - -\nf8 1373 EWR-LAX 05:10-11:25 131 A321P open 7 - 05:17-11:07 -18 N976JT - -\nf9 746 PSE-JFK 05:17-09:30 101 A320 open -8 - 05:09-09:29 -1 N559JB - -\nf10 2769 BQN-TPA 05:20-08:22 100 A320 open -15 - 05:05-08:06 -16 N583JB - -\nf11 143 EWR-PBI 05:29-08:29 126 A320 open -3 - 05:26-08:25 -4 N523JB - -\nf12 404 SJU-JFK 05:30-09:40 142 A321 open 2 - 05:32-09:51 +11 N948JB - -\nf13 952 MCO-BOS 05:30-08:26 107 A220 open -1 - 05:29-08:29 +3 N3132J - -\nf14 569 BOS-FLL 05:35-09:01 131 A220 open 6 - 05:41-09:06 +5 N3062J - -\nf15 2484 RDU-BOS 05:45-07:38 87 E190 open 0 - 05:45-07:42 +4 N318JB - -\nf16 2701 JFK-FLL 05:54-08:51 147 A320 open 4 - 05:58-09:31 +40 N587JB - -\nf17 2293 JFK-MIA 05:59-09:04 139 A320 open 58 - 06:57-10:28 +84 N526JL - -\nf18 42 PBI-LGA 06:00-08:50 114 A320 open -15 - 05:45-08:14 -36 N775JB - -\nf19 123 JFK-LAX 06:00-12:40 136 A321P open 198 - 09:18-15:37 +177 N935JB - -\nf20 185 ROC-JFK 06:00-07:30 82 E190 open 40 - 06:40-08:26 +56 N329JB - -\nf21 226 TPA-JFK 06:00-08:41 127 A320 open -10 - 05:50-08:44 +3 N571JB - -\nf22 311 BOS-ORD 06:00-09:00 79 E190 open 0 - 06:00-08:36 -24 N283JB - -\nf23 318 JFK-BOS 06:00-07:11 69 E190 open 6 - 06:06-07:27 +16 N228JB - -\nf24 467 ATL-FLL 06:00-07:49 118 A320 open -1 - 05:59-07:53 +4 N603JB - -\nf25 551 BOS-MCO 06:00-09:25 173 A321 open -2 - 05:58-09:22 -3 N903JB - -\nf26 555 BOS-DCA 06:00-07:51 85 E190 open -7 - 05:53-07:48 -3 N258JB - -\nf27 860 PHL-BOS 06:00-07:20 68 E190 open -1 - 05:59-07:19 -1 N231JB - -\nf28 861 BOS-SJU 06:00-09:52 146 A320 open 3 - 06:03-11:27 +95 N636JB - -\nf29 1103 BDL-RSW 06:00-09:22 126 A320 open -5 - 05:55-09:08 -14 N615JB - -\nf30 1336 DTW-BOS 06:00-08:12 76 A220 open 25 - 06:25-08:09 -3 N3121J - -\nf31 1530 RSW-JFK 06:00-08:44 120 A320 open -1 - 05:59-09:17 +33 N806JB - -\nf32 2028 MCO-EWR 06:00-08:45 132 A320 open -7 - 05:53-08:21 -24 N504JB - -\nf33 2229 BOS-MKE 06:00-08:49 77 A220 open 3 - 06:03-08:28 -21 N3123J - -\nf34 2233 BOS-SFO 06:00-13:02 132 A321P open 30 - 06:30-12:47 -15 N962JT - -\nf35 2339 LGA-JAX 06:00-08:39 83 E190 open 1 - 06:01-08:39 +0 N239JB - -\nf36 2677 BOS-LAS 06:00-11:58 132 A321P open -3 - 05:57-11:31 -27 N946JL - -\nf37 2751 TPA-SJU 06:00-08:52 133 A320 open -5 - 05:55-08:44 -8 N779JB - -\nf38 171 LGA-FLL 06:01-09:02 147 A320 open ? - 06:01-09:02 +0 N505JB - -\nf39 891 BOS-TPA 06:04-09:29 121 A220 open ? - 06:04-09:29 +0 N3125J - -\nf40 472 FLL-LGA 06:06-09:00 128 A320 open ? - 06:06-09:00 +0 N527JL - -\nf41 181 FLL-BNA 06:08-08:36 85 A320 open ? - 06:08-08:36 +0 N708JB - -\nf42 109 BOS-JAX 06:10-09:15 118 A220 open ? - 06:10-09:15 +0 N3077J - -\nf43 401 BOS-MSY 06:10-10:15 106 A220 open ? - 06:10-10:15 +0 N3104J - -\nf44 927 EWR-MCO 06:10-09:12 131 A320 open ? - 06:10-09:12 +0 N658JB - -\nf45 2329 MCO-DCA 06:10-08:30 108 A320 open ? - 06:10-08:30 +0 N510JB - -\nf46 423 DCA-MCO 06:15-08:42 82 E190 open ? - 06:15-08:42 +0 N281JB - -\nf47 540 CLE-BOS 06:15-08:09 66 E190 open ? - 06:15-08:09 +0 N206JB - -\nf48 1017 JAX-FLL 06:15-07:27 109 A320 open ? - 06:15-07:27 +0 N629JB - -\nf49 1097 BOS-ATL 06:15-09:39 124 A220 open ? - 06:15-09:39 +0 N3044J - -\nf50 1197 PVD-FLL 06:15-09:35 136 A320 open ? - 06:15-09:35 +0 N746JB - -\nf51 52 MCO-BOS 06:20-09:26 76 E190 open ? - 06:20-09:26 +0 N323JB - -\nf52 202 MIA-JFK 06:20-09:14 116 A320 open ? - 11:13-14:07 +293 N526JL - -\nf53 287 BOS-LAX 06:20-13:15 146 A321P open ? - 06:20-13:15 +0 N968JT - -\nf54 598 MCO-LGA 06:20-09:00 119 A320 open ? - 06:20-09:00 +0 N516JB - -\nf55 1995 EWR-MIA 06:25-09:23 86 E190 open ? - 06:25-09:23 +0 N273JB - -\nf56 2367 MCO-PSE 06:27-09:13 138 A320 open ? - 06:27-09:13 +0 N828JB - -\nf57 315 SYR-JFK 06:29-07:50 76 E190 open ? - 06:29-07:50 +0 N279JB - -\nf58 1153 JFK-PBI 06:29-09:31 134 A320 open ? - 06:29-09:31 +0 N661JB - -\nf59 299 LGA-MCO 06:30-09:34 139 A320 open ? - 06:30-09:34 +0 N507JT - -\nf60 1067 HPN-PBI 06:30-09:20 120 A320 open ? - 06:30-09:20 +0 N595JB - -\nf61 1603 JFK-SJU 06:30-10:15 178 A321 open ? - 06:30-10:15 +0 N2016J - -\nf62 222 PBI-BOS 06:35-09:43 126 A320 open ? - 06:35-09:43 +0 N763JB - -\nf63 1368 PBI-HPN 06:35-09:31 112 A320 open ? - 06:35-09:31 +0 N534JB - -\nf64 1887 JFK-DCA 06:35-07:59 48 E190 open ? - 06:35-07:59 +0 N238JB - -\nf65 2986 MIA-LAX 06:35-12:37 123 A321P open ? - 06:35-12:37 +0 N942JB - -\nf66 393 BOS-DEN 06:39-11:30 124 A220 open ? - 06:39-11:30 +0 N3145J - -\nf67 630 MCO-BQN 06:50-09:31 138 A320 open ? - 06:50-09:31 +0 N805JB - -\nf68 2977 FLL-SFO 06:50-13:11 126 A321P open ? - 06:50-13:11 +0 N964JT - -\nf69 511 JFK-LAS 06:55-12:55 133 A321P open ? - 06:55-12:55 +0 N983JT - -\nf70 1130 FLL-CHS 06:55-08:37 78 A320 open ? - 06:55-08:37 +0 N712JB - -\nf71 601 JFK-FLL 06:59-10:12 182 A321 open ? - 06:59-10:12 +0 N2059J - -\nf72 1888 DCA-JFK 06:59-08:13 64 E190 open ? - 06:59-08:13 +0 N375JB - -\nf73 27 BOS-BWI 07:00-08:37 71 E190 open ? - 07:00-08:37 +0 N307JB - -\nf74 266 RSW-BOS 07:00-10:08 137 A320 open ? - 07:00-10:08 +0 N804JB - -\nf75 293 MCO-SJU 07:00-10:00 143 A320 open ? - 07:00-10:00 +0 N827JB - -\nf76 723 JFK-LAX 07:00-13:29 136 A321P open ? - 07:00-13:29 +0 N2151J - -\nf77 794 AUS-JFK 07:00-10:29 120 A220 open ? - 07:00-10:29 +0 N3139J - -\nf78 854 PBI-JFK 07:00-09:45 116 A320 open ? - 07:00-09:45 +0 N568JB - -\nf79 959 BDL-FLL 07:00-10:20 142 A320 open ? - 07:00-10:20 +0 N821JB - -\nf80 1037 BDL-MCO 07:00-10:10 146 A320 open ? - 07:00-10:10 +0 N537JT - -\nf81 1145 RIC-FLL 07:00-09:20 129 A320 open ? - 07:00-09:20 +0 N653JB - -\nf82 1184 MCO-JFK 07:00-09:40 164 A321 open ? - 07:00-09:40 +0 N950JT - -\nf83 1379 DCA-PBI 07:00-09:35 144 A320 open ? - 07:00-09:35 +0 N554JB - -\nf84 1455 BOS-DCA 07:00-08:51 85 E190 open ? - 07:00-08:51 +0 N355JB - -\nf85 1486 PIT-BOS 07:00-08:53 76 E190 open ? - 07:00-08:53 +0 N339JB - -\nf86 2421 BOS-PBI 07:00-10:20 174 A321 open ? - 07:00-10:20 +0 N957JB - -\nf87 2714 LGA-ATL 07:00-09:43 118 A320 open ? - 07:00-09:43 +0 N521JB - -\nf88 2992 TPA-BOS 07:00-10:01 122 A220 open ? - 07:00-10:01 +0 N3065J - -\nf89 233 BTV-JFK 07:02-08:30 75 E190 open ? - 07:02-08:30 +0 N216JB - -\nf90 2520 MSY-LGA 07:09-09:59 124 A320 open ? - 07:09-09:59 +0 N506JB - -\nf91 159 BOS-PHL 07:10-08:38 76 E190 open ? - 07:10-08:38 +0 N337JB - -\nf92 1505 EWR-FLL 07:10-10:22 150 A320 open ? - 07:10-10:22 +0 N729JB - -\nf93 717 BOS-JFK 07:15-08:44 80 E190 open ? - 07:15-08:44 +0 N304JB - -\nf94 2625 RDU-FLL 07:15-09:22 144 A320 open ? - 07:15-09:22 +0 N552JB - -\nf95 2919 BOS-SAN 07:15-13:56 123 A321P open ? - 07:15-13:56 +0 N2156J - -\nf96 85 BUF-MCO 07:20-10:22 136 A320 open ? - 07:20-10:22 +0 N639JB - -\nf97 841 JFK-SAV 07:20-09:46 121 A320 open ? - 07:20-09:46 +0 N535JB - -\nf98 2713 ATL-LGA 07:20-09:29 131 A320 open ? - 07:20-09:29 +0 N529JB - -\nf99 1529 JFK-RSW 07:21-10:28 170 A321 open ? - 07:21-10:28 +0 N949JT - -\nf100 2130 SJU-JFK 07:24-11:40 142 A321 open ? - 07:24-11:40 +0 N998JE - -\nf101 1519 BOS-MIA 07:25-11:03 148 A320 open ? - 07:25-11:03 +0 N599JB - -\nf102 2401 LGA-CHS 07:29-09:43 107 A320 open ? - 07:29-09:43 +0 N655JB - -\nf103 677 JFK-JAX 07:30-10:08 84 E190 open ? - 07:30-10:08 +0 N265JB - -\nf104 1245 BOS-CLT 07:30-10:11 80 E190 open ? - 07:30-10:11 +0 N354JB - -\nf105 2423 DCA-MCO 07:30-10:00 82 E190 open ? - 07:30-10:00 +0 N358JB - -\nf106 2867 HPN-PBI 07:30-10:23 120 A320 open ? - 07:30-10:23 +0 N640JB - -\nf107 2960 FLL-BDL 07:30-10:30 120 A320 open ? - 07:30-10:30 +0 N605JB - -\nf108 2001 BUF-JFK 07:33-09:00 83 E190 open ? - 07:33-09:00 +0 N306JB - -\nf109 1420 DTW-JFK 07:35-09:32 68 E190 open ? - 07:35-09:32 +0 N284JB - -\nf110 2074 TPA-EWR 07:35-10:14 137 A320 open ? - 07:35-10:14 +0 N649JB - -\nf111 945 JFK-MKE 07:40-10:17 91 A220 open ? - 08:00-10:37 +20 N3085J - -\nf112 552 MCO-BOS 07:45-10:49 123 A320 open ? - 07:45-10:49 +0 N519JB - -\nf113 859 LGA-MSY 07:56-11:30 126 A320 open ? - 07:56-11:30 +0 N618JB - -\nf114 2063 BOS-EYW 07:57-11:55 109 A220 open ? - 07:57-11:55 +0 N3102J - -\nf115 163 JFK-SRQ 08:00-11:17 80 E190 open ? - 08:00-11:17 +0 N229JB - -\nf116 289 JFK-SAN 08:00-14:21 125 A321P open ? - 08:00-14:21 +0 N2142J - -\nf117 349 BOS-SAV 08:00-10:52 88 E190 open ? - 08:00-10:52 +0 N266JB - -\nf118 503 JFK-SJU 08:00-11:52 178 A321 open ? - 08:00-11:52 +0 N971JT - -\nf119 577 FLL-SFO 08:00-14:23 126 A321P open ? - 08:00-14:23 +0 N934JB - -\nf120 687 BOS-LAX 08:00-14:38 146 A321P open ? - 08:07-14:45 +7 N985JT - -\nf121 802 SLC-MCO 08:00-12:20 122 A320 open ? - 08:00-12:20 +0 N590JB - -\nf122 1347 DCA-SJU 08:00-11:43 147 A320 open ? - 08:00-11:43 +0 N592JB - -\nf123 1555 BOS-DCA 08:00-09:47 85 E190 open ? - 08:00-09:47 +0 N197JB - -\nf124 2024 MCO-DCA 08:00-10:19 67 E190 open ? - 08:00-10:19 +0 N317JB - -\nf125 1073 JFK-BNA 08:05-10:48 73 E190 open ? - 08:05-10:48 +0 N236JB - -\nf126 94 MCO-HPN 08:10-10:55 115 A320 open ? - 08:10-10:55 +0 N630JB - -\nf127 1142 PBI-BDL 08:10-11:04 128 A320 open ? - 08:10-11:04 +0 N659JB - -\nf128 1402 FLL-JFK 08:10-11:05 159 A321 open ? - 08:10-11:05 +0 N973JT - -\nf129 1198 MCO-LGA 08:15-10:58 128 A320 open ? - 08:15-10:58 +0 N627JB - -\nf130 2041 BOS-CLE 08:15-10:27 70 E190 open ? - 08:15-10:27 +0 N328JB - -\nf131 1454 SJU-FLL 08:19-11:14 134 A320 open ? - 08:19-11:14 +0 N558JB - -\nf132 2532 LAX-SLC 08:20-10:09 115 A320 open ? - 08:20-10:09 +0 N768JB - -\nf133 690 FLL-BOS 08:22-11:37 153 A321 open ? - 08:22-11:37 +0 N956JT - -\nf134 816 SFO-JFK 08:25-13:49 137 A321P open ? - 08:25-13:49 +0 N978JB - -\nf135 281 JFK-IAH 08:29-12:40 134 A320 open ? - 09:00-13:11 +31 N569JB - -\nf136 967 HPN-PBI 08:29-11:28 120 A320 open ? - 08:29-11:28 +0 N760JB - -\nf137 15 JFK-SFO 08:30-15:04 139 A321P open ? - 09:00-15:34 +30 N947JB - -\nf138 195 HPN-MCO 08:30-11:24 126 A320 open ? - 08:30-11:24 +0 N789JB - -\nf139 339 LGA-JAX 08:30-11:13 134 A320 open ? - 08:30-11:13 +0 N520JB - -\nf140 813 HPN-FLL 08:30-11:39 124 A320 open ? - 08:30-11:39 +0 N606JB - -\nf141 907 BOS-STT 08:30-12:32 132 A220 open ? - 08:30-12:32 +0 N3138J - -\nf142 1854 DCA-BOS 08:30-10:03 86 E190 open ? - 08:30-10:03 +0 N258JB - -\nf143 2285 JFK-RDU 08:30-10:27 118 A220 open ? - 09:00-10:57 +30 N3142J - -\nf144 2824 LAX-JFK 08:30-13:49 136 A321P open ? - 08:30-13:49 +0 N967JT - -\nf145 1480 FLL-DCA 08:35-11:07 121 A320 open ? - 08:35-11:07 +0 N766JB - -\nf146 591 BOS-TPA 08:40-12:09 121 A220 open ? - 09:00-12:29 +20 N3112J - -\nf147 1584 MCO-JFK 08:45-11:26 133 A320 open ? - 08:45-11:26 +0 N565JB - -\nf148 379 DCA-FLL 08:50-11:43 136 A320 open ? - 08:50-11:43 +0 N607JB - -\nf149 1604 SJU-JFK 08:57-13:10 142 A321 open ? - 08:57-13:10 +0 N974JT - -\nf150 519 JFK-ATL 09:00-11:35 83 E190 open ? - 09:00-11:35 +0 N279JB - -\nf151 531 BOS-LGA 09:00-10:14 78 E190 open ? - 09:00-10:14 +0 N231JB - -\nf152 1081 BOS-RIC 09:00-10:54 80 E190 open ? - 09:00-10:54 +0 N228JB - -\nf153 75 JFK-MSY 09:02-12:42 121 A220 open ? - 09:02-12:42 +0 N3113J - -\nf154 1439 BOS-AUS 09:04-13:59 105 A220 open ? - 09:04-13:59 +0 N3121J - -\nf155 201 FLL-LAX 09:05-15:05 144 A321P open ? - 09:05-15:05 +0 N988JT - -\nf156 461 LGA-PBI 09:05-12:06 135 A320 open ? - 09:05-12:06 +0 N624JB - -\nf157 1083 JFK-MCO 09:05-12:00 87 E190 open ? - 09:05-12:00 +0 N375JB - -\nf158 1002 FLL-JFK 09:10-12:01 129 A320 open ? - 09:10-12:01 +0 N579JB - -\nf159 2818 JFK-BOS 09:10-10:22 69 E190 open ? - 09:10-10:22 +0 N329JB - -\nf160 469 JAX-LGA 09:14-11:29 81 E190 open ? - 09:14-11:29 +0 N239JB - -\nf161 154 PBI-JFK 09:15-12:00 116 A320 open ? - 09:15-12:00 +0 N523JB - -\nf162 332 LGA-BOS 09:15-10:27 73 E190 open ? - 09:15-10:27 +0 N368JB - -\nf163 526 BWI-BOS 09:15-10:39 68 E190 open ? - 09:15-10:39 +0 N307JB - -\nf164 1774 LAX-EWR 09:15-14:26 135 A321P open ? - 09:15-14:26 +0 N979JT - -\nf165 2933 DCA-MCO 09:15-11:42 132 A320 open ? - 09:15-11:42 +0 N510JB - -\nf166 182 BNA-FLL 09:21-11:37 122 A320 open ? - 09:21-11:37 +0 N708JB - -\nf167 426 TPA-JFK 09:22-11:57 127 A320 open ? - 09:22-11:57 +0 N623JB - -\nf168 1131 CHS-FLL 09:22-11:02 119 A320 open ? - 09:22-11:02 +0 N712JB - -\nf169 360 PHL-BOS 09:25-10:42 68 E190 open ? - 09:25-10:42 +0 N337JB - -\nf170 2267 HPN-PBI 09:25-12:23 120 A320 open ? - 09:25-12:23 +0 N613JB - -\nf171 2584 MCO-JFK 09:27-12:08 82 E190 open ? - 09:27-12:08 +0 N267JB - -\nf172 323 JFK-LAX 09:30-15:52 137 A321P open ? - 09:30-15:52 +0 N987JT - -\nf173 533 BDL-TPA 09:30-12:42 149 A320 open ? - 11:15-14:27 +105 N605JB - -\nf174 724 LAX-JFK 09:30-14:50 136 A321P open ? - 09:30-14:50 +0 N989JT - -\nf175 1105 JFK-ORD 09:30-12:20 83 E190 open ? - 09:30-12:20 +0 N216JB - -\nf176 1954 DCA-BOS 09:30-11:04 86 E190 open ? - 09:30-11:04 +0 N238JB - -\nf177 2201 JFK-FLL 09:30-12:42 182 A321 open ? - 09:30-12:42 +0 N913JB - -\nf178 2651 BOS-MCO 09:30-12:48 87 E190 open ? - 09:30-12:48 +0 N318JB - -\nf179 405 EWR-FLL 09:34-12:40 150 A320 open ? - 09:34-12:40 +0 N646JB - -\nf180 1485 BOS-PIT 09:34-11:29 81 E190 open ? - 09:34-11:29 +0 N206JB - -\nf181 2230 MKE-BOS 09:34-11:50 81 A220 open ? - 09:34-11:50 +0 N3123J - -\nf182 599 LGA-MCO 09:35-12:42 139 A320 open ? - 09:35-12:42 +0 N775JB - -\nf183 1186 JFK-ROC 09:35-11:00 73 E190 open ? - 09:35-11:00 +0 N304JB - -\nf184 48 TPA-LGA 09:36-12:12 118 A320 open ? - 09:36-12:12 +0 N585JB - -\nf185 2569 BOS-FLL 09:39-13:10 188 A321 open ? - 09:39-13:10 +0 N999JQ - -\nf186 312 ORD-BOS 09:40-12:04 75 E190 open ? - 09:40-12:04 +0 N283JB - -\nf187 217 BOS-JFK 09:43-11:00 130 A320 open ? - 09:43-11:00 +0 N556JB - -\nf188 2574 SJU-RDU 09:44-13:21 123 A320 open ? - 09:44-13:21 +0 N509JB - -\nf189 1036 SJU-STT 09:45-10:25 78 A320 open ? - 09:45-10:25 +0 N779JB - -\nf190 1371 LGA-FLL 09:45-12:52 147 A320 open ? - 09:45-12:52 +0 N516JB - -\nf191 70 FLL-BOS 09:50-13:03 107 A220 open ? - 09:51-13:04 +1 N3062J - -\nf192 2268 PSE-MCO 09:58-13:09 123 A320 open ? - 09:58-13:09 +0 N828JB - -\nf193 2189 JFK-SAN 09:59-16:19 125 A321P open ? - 09:59-16:19 +0 N944JT - -\nf194 2783 BOS-RDU 09:59-12:11 84 E190 open ? - 09:59-12:11 +0 N339JB - -\nf195 218 JFK-BOS 10:00-11:14 111 A320 open ? - 10:00-11:14 +0 N648JB - -\nf196 1410 JAX-BOS 10:00-12:36 118 A220 open ? - 10:00-12:36 +0 N3077J - -\nf197 1553 FLL-SJU 10:00-12:35 145 A320 open ? - 10:00-12:35 +0 N621JB - -\nf198 1799 LGA-MCO 10:00-13:10 129 A320 open ? - 10:00-13:10 +0 N527JL - -\nf199 1941 BOS-SRQ 10:00-13:35 131 A220 open ? - 10:00-13:35 +0 N3132J - -\nf200 2433 DCA-PBI 10:00-12:52 89 E190 open ? - 10:00-12:52 +0 N355JB - -\nf201 2436 LAX-SFO 10:00-11:30 132 A320 open ? - 10:00-11:30 +0 N784JB - -\nf202 2592 MIA-JFK 10:00-12:53 116 A320 open ? - 11:48-14:41 +108 N599JB - -\nf203 522 PBI-BOS 10:05-13:07 126 A320 open ? - 10:05-13:07 +0 N595JB - -\nf204 272 FLL-LGA 10:06-13:00 128 A320 open ? - 10:06-13:00 +0 N566JB - -\nf205 2004 RSW-BDL 10:07-12:58 135 A320 open ? - 10:07-12:58 +0 N615JB - -\nf206 1773 EWR-LAX 10:12-16:23 131 A321P open ? - 10:12-16:23 +0 N986JB - -\nf207 2594 MIA-EWR 10:15-13:23 81 E190 open ? - 10:15-13:23 +0 N273JB - -\nf208 1833 BOS-SFO 10:17-17:07 167 A321 open ? - 10:17-17:07 +0 N994JL - -\nf209 1034 PBI-DCA 10:19-12:50 116 A320 open ? - 10:19-12:50 +0 N661JB - -\nf210 814 FLL-HPN 10:20-13:14 111 A320 open ? - 10:20-13:14 +0 N594JB - -\nf211 1288 PBI-PVD 10:22-13:22 133 A320 open ? - 10:22-13:22 +0 N554JB - -\nf212 729 BQN-MCO 10:23-13:31 132 A320 open ? - 10:23-13:31 +0 N805JB - -\nf213 892 TPA-BOS 10:24-13:25 122 A220 open ? - 10:24-13:25 +0 N3125J - -\nf214 387 BOS-LAX 10:27-17:16 146 A321P open ? - 10:27-17:16 +0 N984JB - -\nf215 667 HPN-PBI 10:29-13:29 120 A320 open ? - 10:29-13:29 +0 N534JB - -\nf216 288 LAX-BOS 10:30-15:52 147 A321P open ? - 10:30-15:52 +0 N980JT - -\nf217 654 DCA-BOS 10:30-12:08 86 E190 open ? - 10:30-12:08 +0 N197JB - -\nf218 725 JFK-SAT 10:30-15:00 131 A320 open ? - 10:30-15:00 +0 N593JB - -\nf219 1601 JFK-FLL 10:30-13:33 182 A321 open ? - 10:30-13:33 +0 N2060J - -\nf220 2129 JFK-RSW 10:30-13:46 137 A320 open ? - 10:30-13:46 +0 N625JB - -\nf221 2725 JFK-TPA 10:30-13:35 135 A320 open ? - 10:30-13:35 +0 N638JB - -\nf222 488 MCO-ORH 10:32-13:15 131 A320 open ? - 10:32-13:15 +0 N517JB - -\nf223 842 SAV-JFK 10:32-12:30 131 A320 open ? - 10:32-12:30 +0 N535JB - -\nf224 896 ATL-BOS 10:34-13:01 122 A220 open ? - 10:34-13:01 +0 N3044J - -\nf225 271 LGA-FLL 10:35-13:48 147 A320 open ? - 10:35-13:48 +0 N529JB - -\nf226 2813 ATL-LGA 10:38-12:40 121 A320 open ? - 10:38-12:40 +0 N521JB - -\nf227 224 LAX-JFK 10:40-15:53 138 A320 open ? - 10:40-15:53 +0 N588JB - -\nf228 1470 CHS-LGA 10:40-12:37 109 A320 open ? - 10:40-12:37 +0 N655JB - -\nf229 2324 MCO-DCA 10:40-13:04 67 E190 open ? - 10:40-13:04 +0 N281JB - -\nf230 2305 EWR-FLL 10:42-13:50 150 A320 open ? - 10:42-13:50 +0 N504JB - -\nf231 678 JAX-JFK 10:43-12:59 83 E190 open ? - 10:43-12:59 +0 N265JB - -\nf232 890 SJU-EWR 10:45-15:00 131 A320 open ? - 10:45-15:00 +0 N580JB - -\nf233 464 SJU-MCO 10:47-14:03 132 A320 open ? - 10:47-14:03 +0 N827JB - -\nf234 90 SAN-JFK 10:50-16:00 134 A321P open ? - 10:50-16:00 +0 N937JB - -\nf235 1807 BOS-BNA 10:55-14:00 127 A320 open ? - 10:55-14:00 +0 N715JB - -\nf236 2861 BOS-SJU 10:55-14:59 146 A320 open ? - 10:55-14:59 +0 N763JB - -\nf237 1246 CLT-BOS 10:56-13:09 77 E190 open ? - 10:56-13:09 +0 N354JB - -\nf238 2531 SLC-LAX 10:56-12:55 110 A320 open ? - 10:56-12:55 +0 N768JB - -\nf239 127 EWR-MCO 10:59-13:58 141 A320 open ? - 10:59-13:58 +0 N591JB - -\nf240 481 DCA-RSW 10:59-13:44 88 E190 open ? - 10:59-13:44 +0 N317JB - -\nf241 128 MCO-EWR 11:00-13:50 132 A320 open ? - 11:00-13:50 +0 N807JB - -\nf242 871 JFK-SLC 11:00-16:24 162 A321 open ? - 11:00-16:24 +0 N2084J - -\nf243 1595 EWR-PBI 11:00-13:58 126 A320 open ? - 11:00-13:58 +0 N632JB - -\nf244 1755 BOS-DCA 11:00-12:48 85 E190 open ? - 11:00-12:48 +0 N323JB - -\nf245 1942 LGA-DEN 11:00-15:22 135 A320 open ? - 11:00-15:22 +0 N793JB - -\nf246 2083 JFK-MCO 11:00-13:57 87 E190 open ? - 11:00-13:57 +0 N306JB - -\nf247 2528 MCO-EWR 11:00-13:50 132 A320 open ? - 11:00-13:50 +0 N612JB - -\nf248 2593 JFK-MIA 11:00-14:05 139 A320 open ? - 11:00-14:05 +0 N589JB - -\nf249 267 BOS-CHS 11:04-13:45 89 E190 open ? - 11:04-13:45 +0 N258JB - -\nf250 1462 SJU-BOS 11:04-15:22 113 A320 open ? - 12:12-16:30 +68 N636JB - -\nf251 759 BOS-PHL 11:05-12:35 76 E190 open ? - 11:05-12:35 +0 N329JB - -\nf252 372 FLL-LGA 11:08-14:07 128 A320 open ? - 11:08-14:07 +0 N570JB - -\nf253 176 MSY-JFK 11:10-14:03 122 A220 open ? - 11:10-14:03 +0 N3104J - -\nf254 578 SFO-FLL 11:10-16:35 143 A321P open ? - 11:10-16:35 +0 N993JE - -\nf255 1135 STT-SJU 11:10-11:56 76 A320 open ? - 11:10-11:56 +0 N779JB - -\nf256 2040 CLE-BOS 11:12-12:55 66 E190 open ? - 11:12-12:55 +0 N328JB - -\nf257 2786 RDU-JFK 11:14-12:48 125 A220 open ? - 11:42-13:16 +28 N3142J - -\nf258 632 LGA-BOS 11:15-12:27 73 E190 open ? - 11:15-12:27 +0 N231JB - -\nf259 680 MKE-JFK 11:15-13:27 106 A220 open ? - 11:22-13:34 +7 N3085J - -\nf260 698 MCO-LGA 11:15-13:56 128 A320 open ? - 11:15-13:56 +0 N531JL - -\nf261 2215 BOS-BUF 11:15-12:51 82 E190 open ? - 11:15-12:51 +0 N368JB - -\nf262 2475 BDL-SJU 11:15-14:58 148 A320 open ? - 11:49-15:32 +34 N659JB - -\nf263 2368 PBI-HPN 11:19-14:13 112 A320 open ? - 11:19-14:13 +0 N640JB - -\nf264 602 FLL-JFK 11:20-14:18 159 A321 open ? - 11:20-14:18 +0 N2059J - -\nf265 1383 MCO-SJU 11:20-14:17 143 A320 open ? - 11:20-14:17 +0 N507JT - -\nf266 784 MCO-JFK 11:24-14:00 82 E190 open ? - 11:24-14:00 +0 N358JB - -\nf267 1074 BNA-JFK 11:24-13:47 85 E190 open ? - 11:24-13:47 +0 N236JB - -\nf268 434 SFO-BOS 11:25-16:55 125 A321P open ? - 11:25-16:55 +0 N969JT - -\nf269 1334 SJU-MCO 11:27-14:41 164 A321 open ? - 11:27-14:41 +0 N2016J - -\nf270 2330 RSW-JFK 11:28-14:22 148 A321 open ? - 11:28-14:22 +0 N949JT - -\nf271 65 BOS-RSW 11:29-15:10 89 E190 open ? - 11:29-15:10 +0 N307JB - -\nf272 250 SAV-BOS 11:30-13:54 83 E190 open ? - 11:30-13:54 +0 N266JB - -\nf273 322 PBI-BOS 11:30-14:37 155 A321 open ? - 11:30-14:37 +0 N957JB - -\nf274 2223 JFK-LAX 11:30-17:50 136 A321P open ? - 11:30-17:50 +0 N991JT - -\nf275 1285 ROC-JFK 11:35-12:59 82 E190 open ? - 11:35-12:59 +0 N304JB - -\nf276 2269 BOS-FLL 11:38-15:14 150 A320 open ? - 11:38-15:14 +0 N804JB - -\nf277 1182 RIC-BOS 11:39-13:13 78 E190 open ? - 11:39-13:13 +0 N228JB - -\nf278 595 HPN-MCO 11:45-14:38 117 A320 open ? - 11:45-14:38 +0 N630JB - -\nf279 353 FLL-SJU 11:47-14:22 145 A320 open ? - 11:47-14:22 +0 N634JB - -\nf280 2392 MIA-JFK 11:48-14:44 116 A320 open ? - 13:01-15:57 +73 N796JB - -\nf281 1141 BDL-PBI 11:49-15:00 142 A320 open ? - 12:36-15:47 +47 N809JB - -\nf282 164 SRQ-JFK 11:52-14:42 87 E190 open ? - 11:52-14:42 +0 N229JB - -\nf283 340 JAX-LGA 11:58-14:14 132 A320 open ? - 11:58-14:14 +0 N520JB - -\nf284 406 FLL-EWR 11:59-15:04 129 A320 open ? - 11:59-15:04 +0 N586JB - -\nf285 579 DCA-FLL 11:59-14:42 136 A320 open ? - 11:59-14:42 +0 N766JB - -\nf286 83 JFK-MCO 12:00-14:56 140 A320 open ? - 12:00-14:56 +0 N524JB - -\nf287 731 BOS-LGA 12:00-13:21 78 E190 open ? - 12:00-13:21 +0 N337JB - -\nf288 1855 BOS-DCA 12:00-13:50 85 E190 open ? - 12:00-13:50 +0 N238JB - -\nf289 1853 JFK-PBI 12:04-15:10 165 A321 open ? - 12:04-15:10 +0 N996JL - -\nf290 2020 FLL-ORH 12:05-15:08 127 A320 open ? - 12:05-15:08 +0 N603JB - -\nf291 2286 PIT-BOS 12:05-13:37 76 E190 open ? - 12:05-13:37 +0 N206JB - -\nf292 520 ATL-JFK 12:10-14:25 83 E190 open ? - 12:10-14:25 +0 N279JB - -\nf293 1291 BOS-TPA 12:10-15:38 121 A220 open ? - 12:10-15:38 +0 N3065J - -\nf294 2847 LGA-TPA 12:15-15:20 127 A320 open ? - 12:15-15:20 +0 N627JB - -\nf295 858 MSY-LGA 12:17-15:08 134 A320 open ? - 12:17-15:08 +0 N618JB - -\nf296 2903 JFK-SJU 12:18-16:04 178 A321 open ? - 12:18-16:04 +0 N970JB - -\nf297 1068 PBI-HPN 12:20-15:11 112 A320 open ? - 12:20-15:11 +0 N760JB - -\nf298 934 SJU-MCO 12:28-15:47 132 A320 open ? - 12:28-15:47 +0 N592JB - -\nf299 125 JFK-TPA 12:30-15:32 116 A220 open ? - 12:30-15:32 +0 N3115J - -\nf300 394 DEN-BOS 12:30-16:20 120 A220 open ? - 12:30-16:20 +0 N3145J - -\nf301 1680 FLL-DCA 12:31-15:05 121 A320 open ? - 12:31-15:05 +0 N505JB - -\nf302 470 MCO-RIC 12:35-14:32 77 E190 open ? - 12:35-14:32 +0 N375JB - -\nf303 1524 LAX-JFK 12:35-17:56 136 A321P open ? - 12:35-17:56 +0 N961JT - -\nf304 2835 SFO-LAX 12:35-14:07 143 A320 open ? - 12:35-14:07 +0 N784JB - -\nf305 2934 MCO-DCA 12:37-14:55 108 A320 open ? - 12:37-14:55 +0 N537JT - -\nf306 2064 EYW-BOS 12:40-16:05 82 A220 open ? - 12:40-16:05 +0 N3102J - -\nf307 261 BOS-SJU 12:45-16:49 126 A220 open ? - 12:45-16:49 +0 N3023J - -\nf308 2814 LGA-ATL 12:57-15:35 127 A320 open ? - 12:57-15:35 +0 N585JB - -\nf309 904 SJU-JFK 12:59-17:12 142 A321 open ? - 12:59-17:12 +0 N971JT - -\nf310 1484 RDU-BOS 12:59-14:57 87 E190 open ? - 12:59-14:57 +0 N203JB - -\nf311 747 LGA-RSW 13:00-16:12 69 E190 open ? - 13:00-16:12 +0 N239JB - -\nf312 831 BOS-LGA 13:00-14:20 78 E190 open ? - 13:00-14:20 +0 N283JB - -\nf313 1055 BOS-DCA 13:00-14:48 85 E190 open ? - 13:00-14:48 +0 N197JB - -\nf314 1401 JFK-FLL 13:00-16:10 147 A320 open ? - 13:00-16:10 +0 N657JB - -\nf315 1483 JFK-MCO 13:00-16:03 87 E190 open ? - 13:00-16:03 +0 N284JB - -\nf316 2785 LAX-MIA 13:00-17:47 143 A321P open ? - 13:00-17:47 +0 N976JT - -\nf317 62 PBI-LGA 13:01-15:57 106 A320 open ? - 13:01-15:57 +0 N624JB - -\nf318 906 ORD-JFK 13:02-15:14 84 E190 open ? - 13:02-15:14 +0 N216JB - -\nf319 592 TPA-BOS 13:04-16:14 122 A220 open ? - 13:14-16:24 +10 N3112J - -\nf320 278 LAS-BOS 13:08-18:23 134 A321P open ? - 13:08-18:23 +0 N946JL - -\nf321 2116 SFO-JFK 13:12-18:44 137 A321P open ? - 13:12-18:44 +0 N923JB - -\nf322 2160 PHL-BOS 13:12-14:26 68 E190 open ? - 13:12-14:26 +0 N329JB - -\nf323 144 PBI-EWR 13:15-16:15 119 A320 open ? - 13:15-16:15 +0 N613JB - -\nf324 1754 SJU-FLL 13:20-16:13 134 A320 open ? - 13:20-16:13 +0 N779JB - -\nf325 1098 MCO-LGA 13:21-15:57 128 A320 open ? - 13:21-15:57 +0 N639JB - -\nf326 2317 BOS-JFK 13:23-14:46 80 E190 open ? - 13:23-14:46 +0 N231JB - -\nf327 1372 FLL-LGA 13:25-16:29 128 A320 open ? - 13:25-16:29 +0 N552JB - -\nf328 2552 MCO-BOS 13:25-16:32 76 E190 open ? - 13:25-16:32 +0 N318JB - -\nf329 82 IAH-JFK 13:26-16:44 133 A320 open ? - 13:56-17:14 +30 N569JB - -\nf330 2016 BUF-BOS 13:26-14:52 77 E190 open ? - 13:26-14:52 +0 N368JB - -\nf331 1534 TPA-BDL 13:27-16:14 150 A320 open ? - 13:27-16:14 +0 N583JB - -\nf332 2334 PBI-DCA 13:27-15:56 71 E190 open ? - 13:27-15:56 +0 N355JB - -\nf333 808 STT-SJU 13:29-14:15 66 A220 open ? - 13:29-14:15 +0 N3138J - -\nf334 111 JFK-LAS 13:30-19:29 135 A320 open ? - 13:30-19:29 +0 N559JB - -\nf335 1592 MCO-RDU 13:30-15:17 94 A320 open ? - 13:30-15:17 +0 N789JB - -\nf336 2454 DCA-BOS 13:30-15:03 86 E190 open ? - 13:30-15:03 +0 N323JB - -\nf337 215 BOS-DFW 13:31-18:04 116 A220 open ? - 13:31-18:04 +0 N3123J - -\nf338 399 LGA-MCO 13:35-16:40 129 A320 open ? - 13:35-16:40 +0 N655JB - -\nf339 400 MSY-BOS 13:35-16:55 126 A220 open ? - 13:35-16:55 +0 N3113J - -\nf340 1694 MCO-HPN 13:37-16:22 124 A320 open ? - 13:37-16:22 +0 N510JB - -\nf341 1768 FLL-ATL 13:37-15:29 100 A320 open ? - 13:37-15:29 +0 N821JB - -\nf342 1923 DCA-MCO 13:38-16:13 132 A320 open ? - 13:38-16:13 +0 N661JB - -\nf343 369 BOS-FLL 13:40-17:11 188 A321 open ? - 13:40-17:11 +0 N965JT - -\nf344 1118 JFK-BOS 13:40-14:52 69 E190 open ? - 13:40-14:52 +0 N267JB - -\nf345 2881 JFK-BQN 13:41-17:25 149 A320 open ? - 13:41-17:25 +0 N705JB - -\nf346 431 BOS-ORD 13:45-16:45 79 E190 open ? - 13:45-16:45 +0 N328JB - -\nf347 2524 LAX-PBI 13:47-18:40 140 A321P open ? - 13:47-18:40 +0 N942JB - -\nf348 2488 DCA-JFK 13:48-15:00 64 E190 open ? - 13:48-15:00 +0 N281JB - -\nf349 2270 FLL-BOS 13:50-17:10 153 A321 open ? - 13:50-17:10 +0 N913JB - -\nf350 1876 MCO-PVD 13:54-16:38 113 A320 open ? - 13:54-16:38 +0 N658JB - -\nf351 761 LGA-PBI 13:55-17:02 146 A320 open ? - 13:55-17:02 +0 N521JB - -\nf352 1719 JFK-ATL 13:55-16:34 83 E190 open ? - 13:55-16:34 +0 N265JB - -\nf353 2251 BOS-MCO 13:58-17:28 140 A320 open ? - 13:58-17:28 +0 N519JB - -\nf354 1251 HPN-RSW 13:59-17:09 136 A320 open ? - 13:59-17:09 +0 N594JB - -\nf355 1333 BOS-IAH 13:59-18:42 123 A220 open ? - 13:59-18:42 +0 N3077J - -\nf356 2331 LGA-SRQ 13:59-17:21 114 A320 open ? - 13:59-17:21 +0 N566JB - -\nf357 348 LAS-JFK 14:05-18:49 133 A321P open ? - 14:05-18:49 +0 N983JT - -\nf358 1287 PVD-PBI 14:07-17:27 143 A320 open ? - 14:07-17:27 +0 N554JB - -\nf359 2573 RDU-SJU 14:07-17:30 134 A320 open ? - 14:07-17:30 +0 N509JB - -\nf360 2115 BOS-BUF 14:08-15:45 82 E190 open ? - 14:08-15:45 +0 N354JB - -\nf361 138 MCO-BDL 14:10-16:59 136 A320 open ? - 14:10-16:59 +0 N775JB - -\nf362 987 ORH-MCO 14:10-17:20 143 A320 open ? - 14:10-17:20 +0 N517JB - -\nf363 832 LGA-BOS 14:15-15:32 73 E190 open ? - 14:15-15:32 +0 N337JB - -\nf364 1475 BDL-SJU 14:15-17:54 148 A320 open ? - 14:15-17:54 +0 N615JB - -\nf365 1700 LAX-FLL 14:15-19:06 149 A321P open ? - 14:25-19:16 +10 N968JT - -\nf366 1734 SFO-BOS 14:15-19:49 125 A321P open ? - 14:15-19:49 +0 N962JT - -\nf367 120 MCO-ALB 14:16-16:58 132 A320 open ? - 14:16-16:58 +0 N527JL - -\nf368 126 TPA-JFK 14:20-17:05 127 A320 open ? - 14:20-17:05 +0 N638JB - -\nf369 1565 BOS-SAT 14:20-19:26 104 A220 open ? - 14:20-19:26 +0 N3044J - -\nf370 116 JFK-SYR 14:22-15:39 61 E190 open ? - 14:22-15:39 +0 N304JB - -\nf371 221 BOS-PBI 14:25-17:53 87 E190 open ? - 14:25-17:53 +0 N228JB - -\nf372 424 LAX-JFK 14:25-19:48 136 A321P open ? - 14:39-20:02 +14 N2151J - -\nf373 2378 SFO-FLL 14:25-19:49 143 A321P open ? - 14:25-19:49 +0 N964JT - -\nf374 68 CHS-BOS 14:30-16:50 89 E190 open ? - 14:30-16:50 +0 N258JB - -\nf375 1940 SRQ-BOS 14:30-17:40 127 A220 open ? - 14:30-17:40 +0 N3132J - -\nf376 2221 JFK-MCI 14:30-17:56 114 A220 open ? - 14:30-17:56 +0 N3139J - -\nf377 2554 DCA-BOS 14:30-16:04 86 E190 open ? - 14:30-16:04 +0 N238JB - -\nf378 2746 RSW-BOS 14:32-17:46 84 E190 open ? - 14:32-17:46 +0 N317JB - -\nf379 1902 FLL-JFK 14:33-17:29 159 A321 open ? - 14:33-17:29 +0 N2060J - -\nf380 2674 MCO-JFK 14:34-17:19 82 E190 open ? - 14:34-17:19 +0 N306JB - -\nf381 2466 FLL-BUF 14:35-17:36 138 A320 open ? - 14:35-17:36 +0 N729JB - -\nf382 2060 RSW-LGA 14:36-17:29 117 A320 open ? - 14:36-17:29 +0 N625JB - -\nf383 817 BOS-JFK 14:39-16:06 80 E190 open ? - 14:39-16:06 +0 N206JB - -\nf384 2473 JFK-CHS 14:39-16:55 82 E190 open ? - 14:39-16:55 +0 N236JB - -\nf385 1388 LAX-BOS 14:40-20:04 146 A321P open ? - 16:15-21:39 +95 N988JT - -\nf386 2181 JFK-RNO 14:40-21:03 137 A320 open ? - 14:40-21:03 +0 N556JB - -\nf387 2469 BOS-FLL 14:40-18:13 131 A220 open ? - 14:40-18:13 +0 N3062J - -\nf388 2424 MCO-DCA 14:43-17:05 108 A320 open ? - 14:43-17:05 +0 N805JB - -\nf389 1527 EWR-MCO 14:45-17:44 141 A320 open ? - 14:45-17:44 +0 N649JB - -\nf390 2188 BNA-LGA 14:45-16:58 122 A320 open ? - 14:45-16:58 +0 N715JB - -\nf391 2306 FLL-EWR 14:45-17:53 129 A320 open ? - 14:45-17:53 +0 N712JB - -\nf392 880 LAX-LAS 14:52-16:11 110 A320 open ? - 14:52-16:11 +0 N784JB - -\nf393 1238 AUS-BOS 14:54-18:45 122 A220 open ? - 14:54-18:45 +0 N3121J - -\nf394 2187 LGA-BNA 14:58-17:43 125 A320 open ? - 14:58-17:43 +0 N531JL - -\nf395 623 JFK-LAX 14:59-21:09 136 A321P open ? - 14:59-21:09 +0 N992JB - -\nf396 913 HPN-FLL 14:59-18:03 124 A320 open ? - 14:59-18:03 +0 N640JB - -\nf397 1515 JFK-SFO 14:59-21:42 138 A321P open ? - 14:59-21:42 +0 N2105J - -\nf398 1961 LGA-PBI 14:59-18:10 146 A320 open ? - 14:59-18:10 +0 N570JB - -\nf399 931 BOS-LGA 15:00-16:23 78 E190 open ? - 15:00-16:23 +0 N266JB - -\nf400 1220 MIA-BOS 15:00-18:16 123 A320 open ? - 15:00-18:16 +0 N589JB - -\nf401 1318 JFK-BOS 15:00-16:21 69 E190 open ? - 15:00-16:21 +0 N358JB - -\nf402 484 RDU-BOS 15:03-17:02 87 E190 open ? - 15:03-17:02 +0 N339JB - -\nf403 808 SJU-BOS 15:05-19:28 98 A220 open ? - 15:05-19:28 +0 N3138J - -\nf404 2920 SAN-BOS 15:06-20:26 130 A321P open ? - 15:06-20:26 +0 N2156J - -\nf405 936 SJU-STT 15:07-15:49 78 A320 open ? - 15:07-15:49 +0 N507JT - -\nf406 169 RIC-MCO 15:09-17:25 76 E190 open ? - 15:09-17:25 +0 N375JB - -\nf407 413 EWR-RSW 15:10-18:22 83 E190 open ? - 15:10-18:22 +0 N273JB - -\nf408 1234 SJU-MCO 15:10-18:32 132 A320 open ? - 15:10-18:32 +0 N621JB - -\nf409 2884 MCO-JFK 15:14-18:00 133 A320 open ? - 15:14-18:00 +0 N591JB - -\nf410 1032 LGA-BOS 15:15-16:35 73 E190 open ? - 15:15-16:35 +0 N283JB - -\nf411 2127 BOS-BWI 15:15-16:52 71 E190 open ? - 15:15-16:52 +0 N329JB - -\nf412 2102 FLL-JFK 15:27-18:29 129 A320 open ? - 15:27-18:29 +0 N606JB - -\nf413 783 BOS-ATL 15:30-18:36 124 A220 open ? - 15:30-18:36 +0 N3125J - -\nf414 883 JFK-MCO 15:30-18:36 87 E190 open ? - 15:30-18:36 +0 N348JB - -\nf415 1254 DCA-BOS 15:30-17:10 86 E190 open ? - 15:30-17:10 +0 N197JB - -\nf416 2719 JFK-ATL 15:30-18:08 134 A320 open ? - 15:30-18:08 +0 N523JB - -\nf417 134 JFK-BTV 15:31-16:49 77 E190 open ? - 15:31-16:49 +0 N279JB - -\nf418 668 PBI-HPN 15:32-18:30 112 A320 open ? - 15:32-18:30 +0 N534JB - -\nf419 1456 MCO-EWR 15:33-18:23 122 A320 open ? - 15:33-18:23 +0 N827JB - -\nf420 290 SAN-JFK 15:35-20:58 134 A321P open ? - 15:35-20:58 +0 N2142J - -\nf421 334 SFO-BOS 15:35-21:14 125 A321P open ? - 15:35-21:14 +0 N934JB - -\nf422 145 BOS-CLT 15:36-18:09 80 E190 open ? - 15:36-18:09 +0 N267JB - -\nf423 609 BOS-JAX 15:40-18:41 84 E190 open ? - 15:40-18:41 +0 N368JB - -\nf424 1133 MCO-SJU 15:41-18:40 176 A321 open ? - 15:41-18:40 +0 N2016J - -\nf425 270 MCO-RIC 15:43-17:49 125 A320 open ? - 15:43-17:49 +0 N630JB - -\nf426 247 LGA-TPA 15:45-18:55 127 A320 open ? - 15:45-18:55 +0 N520JB - -\nf427 1826 SAT-JFK 15:45-19:29 137 A320 open ? - 15:45-19:29 +0 N593JB - -\nf428 19 BOS-SAN 15:50-22:33 155 A321 open ? - 15:50-22:33 +0 N956JT - -\nf429 23 DCA-MCO 15:50-18:24 132 A320 open ? - 15:50-18:24 +0 N537JT - -\nf430 524 LAX-JFK 15:50-21:10 136 A321P open ? - 15:50-21:10 +0 N985JT - -\nf431 615 JFK-SFO 15:50-22:31 138 A321P open ? - 15:50-22:31 +0 N967JT - -\nf432 2474 SJU-BDL 15:50-19:58 127 A320 open ? - 15:50-19:58 +0 N634JB - -\nf433 305 EWR-FLL 15:54-19:01 150 A320 open ? - 15:54-19:01 +0 N612JB - -\nf434 582 RSW-DCA 15:55-18:23 81 E190 open ? - 15:55-18:23 +0 N307JB - -\nf435 1962 PBI-LGA 15:55-18:55 114 A320 open ? - 15:55-18:55 +0 N632JB - -\nf436 495 HPN-MCO 15:59-18:52 126 A320 open ? - 15:59-18:52 +0 N760JB - -\nf437 1019 JFK-DTW 15:59-18:08 69 E190 open ? - 15:59-18:08 +0 N281JB - -\nf438 2718 FLL-JAX 15:59-17:15 98 A320 open ? - 15:59-17:15 +0 N646JB - -\nf439 2767 JFK-JAX 15:59-18:40 84 E190 open ? - 15:59-18:40 +0 N216JB - -\nf440 2901 JFK-FLL 15:59-19:10 182 A321 open ? - 15:59-19:10 +0 N975JT - -\nf441 1355 BOS-DCA 16:00-17:53 85 E190 open ? - 16:00-17:53 +0 N203JB - -\nf442 1579 DCA-FLL 16:00-18:47 136 A320 open ? - 16:00-18:47 +0 N505JB - -\nf443 1811 EWR-RSW 16:00-19:08 134 A320 open ? - 16:00-19:08 +0 N807JB - -\nf444 2073 EWR-LAX 16:05-22:28 131 A321P open ? - 16:05-22:28 +0 N979JT - -\nf445 2119 ORH-FLL 16:05-19:28 142 A320 open ? - 16:05-19:28 +0 N603JB - -\nf446 54 PBI-JFK 16:10-19:10 143 A321 open ? - 16:10-19:10 +0 N996JL - -\nf447 1044 PBI-EWR 16:13-19:15 119 A320 open ? - 16:32-19:34 +19 N809JB - -\nf448 1591 RDU-MCO 16:13-18:05 99 A320 open ? - 16:13-18:05 +0 N789JB - -\nf449 1767 ATL-FLL 16:14-18:03 118 A320 open ? - 16:14-18:03 +0 N821JB - -\nf450 1815 SYR-JFK 16:14-17:28 76 E190 open ? - 16:14-17:28 +0 N304JB - -\nf451 153 DEN-LGA 16:17-20:00 120 A320 open ? - 16:17-20:00 +0 N793JB - -\nf452 248 TPA-LGA 16:17-19:01 118 A320 open ? - 16:17-19:01 +0 N605JB - -\nf453 416 SFO-JFK 16:23-21:54 138 A321P open ? - 16:34-22:05 +11 N947JB - -\nf454 165 BOS-RSW 16:24-19:57 144 A320 open ? - 16:24-19:57 +0 N595JB - -\nf455 88 FLL-ALB 16:25-19:28 140 A320 open ? - 16:25-19:28 +0 N516JB - -\nf456 688 LAX-BOS 16:25-21:56 146 A321P open ? - 16:47-22:18 +22 N935JB - -\nf457 1586 MCO-BUF 16:25-19:12 129 A320 open ? - 16:25-19:12 +0 N524JB - -\nf458 2613 ATL-LGA 16:25-18:34 131 A320 open ? - 16:25-18:34 +0 N585JB - -\nf459 516 BUF-BOS 16:30-17:57 77 E190 open ? - 16:30-17:57 +0 N354JB - -\nf460 823 JFK-LAX 16:30-22:55 136 A321P open ? - 16:30-22:55 +0 N989JT - -\nf461 1761 LGA-PBI 16:30-19:35 146 A320 open ? - 16:30-19:35 +0 N618JB - -\nf462 656 MCO-SYR 16:32-19:26 126 A320 open ? - 16:32-19:26 +0 N592JB - -\nf463 2826 TPA-JFK 16:33-19:24 109 A220 open ? - 16:33-19:24 +0 N3115J - -\nf464 435 STT-SJU 16:34-17:15 76 A320 open ? - 16:34-17:15 +0 N507JT - -\nf465 1733 DCA-PBI 16:35-19:10 89 E190 open ? - 16:35-19:10 +0 N355JB - -\nf466 24 MCO-DCA 16:38-18:59 67 E190 open ? - 16:38-18:59 +0 N284JB - -\nf467 2406 FLL-EWR 16:38-19:46 129 A320 open ? - 16:38-19:46 +0 N561JB - -\nf468 53 JFK-PBI 16:41-19:47 165 A321 open ? - 16:41-19:47 +0 N948JB - -\nf469 2902 JFK-BUF 16:41-18:14 80 E190 open ? - 16:41-18:14 +0 N206JB - -\nf470 2051 BOS-MCO 16:42-20:06 173 A321 open ? - 16:42-20:06 +0 N957JB - -\nf471 692 TPA-BOS 16:45-19:53 122 A220 open ? - 16:45-19:53 +0 N3065J - -\nf472 2070 FLL-BOS 16:48-20:08 124 A320 open ? - 16:48-20:08 +0 N504JB - -\nf473 2614 LGA-ATL 16:52-19:34 118 A320 open ? - 16:52-19:34 +0 N624JB - -\nf474 1253 EWR-MCO 16:55-19:52 141 A320 open ? - 16:55-19:52 +0 N580JB - -\nf475 359 JFK-BUR 16:56-23:35 118 A220 open ? - 16:56-23:35 +0 N3085J - -\nf476 748 RSW-LGA 16:57-19:49 72 E190 open ? - 16:57-19:49 +0 N239JB - -\nf477 1294 MCO-HPN 16:58-19:44 124 A320 open ? - 16:58-19:44 +0 N661JB - -\nf478 2085 BDL-MIA 16:59-20:31 127 A320 open ? - 16:59-20:31 +0 N583JB - -\nf479 211 FLL-AUS 17:00-20:11 107 A320 open ? - 17:00-20:11 +0 N558JB - -\nf480 718 JFK-BOS 17:00-18:17 111 A320 open ? - 17:00-18:17 +0 N579JB - -\nf481 827 LGA-TPA 17:00-20:06 127 A320 open ? - 17:00-20:06 +0 N639JB - -\nf482 879 LAS-LAX 17:00-18:19 110 A320 open ? - 17:00-18:19 +0 N784JB - -\nf483 1231 BOS-LGA 17:00-18:27 78 E190 open ? - 17:00-18:27 +0 N323JB - -\nf484 2055 BOS-DCA 17:00-18:48 85 E190 open ? - 17:00-18:48 +0 N337JB - -\nf485 624 LAX-JFK 17:02-22:28 137 A321P open ? - 17:02-22:28 +0 N987JT - -\nf486 2030 SJU-JFK 17:04-21:24 142 A321 open ? - 17:04-21:24 +0 N970JB - -\nf487 33 BOS-SFO 17:05-23:57 133 A321P open ? - 17:05-23:57 +0 N980JT - -\nf488 1289 EWR-SJU 17:05-21:03 150 A320 open ? - 17:05-21:03 +0 N586JB - -\nf489 1320 ATL-JFK 17:09-19:29 83 E190 open ? - 17:09-19:29 +0 N265JB - -\nf490 781 BOS-RIC 17:10-19:10 80 E190 open ? - 17:10-19:10 +0 N238JB - -\nf491 835 BOS-MSP 17:10-20:43 118 A220 open ? - 17:10-20:43 +0 N3102J - -\nf492 1798 MCO-LGA 17:11-20:05 119 A320 open ? - 17:25-20:19 +14 N655JB - -\nf493 1132 LGA-BOS 17:15-18:42 73 E190 open ? - 17:15-18:42 +0 N266JB - -\nf494 1303 BOS-PHX 17:15-23:29 114 A320 open ? - 17:15-23:29 +0 N834JB - -\nf495 961 BOS-DTW 17:19-19:35 91 A220 open ? - 17:19-19:35 +0 N3145J - -\nf496 2019 BOS-MIA 17:20-20:59 91 E190 open ? - 17:20-20:59 +0 N358JB - -\nf497 1875 PVD-MCO 17:23-20:30 127 A320 open ? - 17:23-20:30 +0 N658JB - -\nf498 433 BTV-JFK 17:24-18:50 75 E190 open ? - 17:24-18:50 +0 N279JB - -\nf499 471 LGA-FLL 17:25-20:45 147 A320 open ? - 17:25-20:45 +0 N552JB - -\nf500 2185 BOS-PIT 17:25-19:20 81 E190 open ? - 17:25-19:20 +0 N318JB - -\nf501 263 JFK-SEA 17:29-23:50 119 A321P open ? - 17:29-23:50 +0 N937JB - -\nf502 2202 FLL-JFK 17:29-20:32 129 A320 open ? - 17:29-20:32 +0 N804JB - -\nf503 2715 JFK-LAX 17:29-23:54 139 A320 open ? - 17:29-23:54 +0 N535JB - -\nf504 2825 JFK-TPA 17:29-20:42 135 A320 open ? - 17:29-20:42 +0 N526JL - -\nf505 412 ORD-BOS 17:30-19:54 75 E190 open ? - 17:30-19:54 +0 N328JB - -\nf506 613 HPN-FLL 17:30-20:33 124 A320 open ? - 17:30-20:33 +0 N510JB - -\nf507 1274 CHS-JFK 17:30-19:28 78 E190 open ? - 17:30-19:28 +0 N236JB - -\nf508 1283 JFK-MCO 17:30-20:39 140 A320 open ? - 17:30-20:39 +0 N599JB - -\nf509 1191 BOS-TPA 17:35-21:06 86 E190 open ? - 17:35-21:06 +0 N283JB - -\nf510 726 BWI-BOS 17:37-19:10 68 E190 open ? - 17:37-19:10 +0 N329JB - -\nf511 872 SLC-JFK 17:38-22:04 137 A321 open ? - 17:38-22:04 +0 N2084J - -\nf512 1423 FLL-MSY 17:40-19:48 100 A320 open ? - 17:40-19:48 +0 N587JB - -\nf513 2290 SAN-JFK 17:40-22:59 134 A321P open ? - 17:40-22:59 +0 N944JT - -\nf514 2362 SJU-BOS 17:40-22:07 98 A220 open ? - 17:40-22:07 +0 N3023J - -\nf515 2521 BOS-PBI 17:40-20:59 87 E190 open ? - 17:40-20:59 +0 N258JB - -\nf516 1677 JFK-JAX 17:44-20:22 118 A220 open ? - 20:09-22:47 +145 N3115J - -\nf517 1849 JFK-PSP 17:44-00:03+1 93 A320 open ? - 17:59-00:18+1 +15 N569JB - -\nf518 1374 LAX-EWR 17:45-22:58 135 A321P open ? - 17:45-22:58 +0 N986JB - -\nf519 1348 SJU-DCA 17:49-21:59 122 A320 open ? - 17:49-21:59 +0 N763JB - -\nf520 119 ALB-MCO 17:50-21:04 122 A320 open ? - 17:50-21:04 +0 N527JL - -\nf521 955 BOS-BNA 17:50-21:07 110 A220 open ? - 17:50-21:07 +0 N3112J - -\nf522 1199 LGA-MCO 17:50-20:51 139 A320 open ? - 17:50-20:51 +0 N715JB - -\nf523 1262 PBI-LGA 17:50-20:41 114 A320 open ? - 17:50-20:41 +0 N521JB - -\nf524 529 FLL-SAN 17:52-23:44 105 A320 open ? - 17:52-23:44 +0 N657JB - -\nf525 737 BDL-MCO 17:55-21:04 135 A320 open ? - 17:55-21:04 +0 N775JB - -\nf526 1185 JFK-RDU 17:59-19:52 84 E190 open ? - 17:59-19:52 +0 N306JB - -\nf527 451 BOS-MCO 18:00-21:29 121 A220 open ? - 18:00-21:29 +0 N3113J - -\nf528 494 MCO-EWR 18:00-20:44 81 E190 open ? - 18:00-20:44 +0 N375JB - -\nf529 1217 JAX-FLL 18:00-19:15 109 A320 open ? - 18:00-19:15 +0 N646JB - -\nf530 1252 RSW-HPN 18:00-20:58 134 A320 open ? - 18:00-20:58 +0 N594JB - -\nf531 1331 BOS-LGA 18:00-19:29 78 E190 open ? - 18:00-19:29 +0 N339JB - -\nf532 1979 DCA-FLL 18:00-20:43 136 A320 open ? - 18:00-20:43 +0 N805JB - -\nf533 2054 SJU-FLL 18:00-20:53 134 A320 open ? - 18:00-20:53 +0 N507JT - -\nf534 2255 BOS-DCA 18:00-19:49 85 E190 open ? - 18:00-19:49 +0 N197JB - -\nf535 1880 FLL-DCA 18:10-20:51 121 A320 open ? - 18:10-20:51 +0 N708JB - -\nf536 2882 BQN-JFK 18:10-22:14 132 A320 open ? - 18:10-22:14 +0 N705JB - -\nf537 968 PBI-HPN 18:12-21:02 112 A320 open ? - 18:12-21:02 +0 N554JB - -\nf538 777 BOS-LAS 18:15-00:25+1 165 A321 open ? - 18:15-00:25+1 +0 N913JB - -\nf539 2133 MCO-SJU 18:15-21:10 143 A320 open ? - 18:15-21:10 +0 N517JB - -\nf540 131 MCO-LAX 18:18-23:58 122 A320 open ? - 18:18-23:58 +0 N519JB - -\nf541 362 SJU-BOS 18:19-22:45 113 A320 open ? - 18:19-22:45 +0 N509JB - -\nf542 2332 SRQ-LGA 18:19-21:05 95 A320 open ? - 18:19-21:05 +0 N566JB - -\nf543 534 SFO-BOS 18:21-23:54 157 A321 open ? - 18:21-23:54 +0 N994JL - -\nf544 607 FLL-LAS 18:21-23:52 175 A321 open ? - 18:21-23:52 +0 N965JT - -\nf545 2465 BUF-FLL 18:21-21:27 130 A320 open ? - 18:21-21:27 +0 N729JB - -\nf546 101 FLL-LAX 18:23-00:26+1 144 A321P open ? - 18:23-00:26+1 +0 N993JE - -\nf547 188 LAX-BOS 18:26-23:57 146 A321P open ? - 18:26-23:57 +0 N984JB - -\nf548 206 BNA-BOS 18:28-21:00 105 A320 open ? - 18:28-21:00 +0 N531JL - -\nf549 161 JFK-SMF 18:30-01:07+1 158 A321 open ? - 18:30-01:07+1 +0 N2059J - -\nf550 383 JFK-MCO 18:30-21:32 173 A321 open ? - 18:30-21:32 +0 N949JT - -\nf551 1281 JFK-ROC 18:30-19:59 73 E190 open ? - 18:30-19:59 +0 N304JB - -\nf552 2534 PBI-DCA 18:30-20:59 71 E190 open ? - 18:30-20:59 +0 N228JB - -\nf553 2754 DCA-BOS 18:30-20:05 86 E190 open ? - 18:30-20:05 +0 N203JB - -\nf554 969 RIC-MCO 18:34-20:46 123 A320 open ? - 18:34-20:46 +0 N630JB - -\nf555 2319 FLL-SLC 18:34-23:58 134 A320 open ? - 18:34-23:58 +0 N779JB - -\nf556 333 BOS-SFO 18:40-01:32+1 132 A321P open ? - 18:40-01:32+1 +0 N981JT - -\nf557 798 MCO-LGA 18:45-21:34 119 A320 open ? - 18:45-21:34 +0 N649JB - -\nf558 2222 MCI-JFK 18:45-21:29 106 A220 open ? - 18:45-21:29 +0 N3139J - -\nf559 146 CLT-BOS 18:46-21:05 77 E190 open ? - 18:46-21:05 +0 N267JB - -\nf560 455 JFK-ONT 18:46-01:11+1 161 A321 open ? - 18:46-01:11+1 +0 N971JT - -\nf561 135 JFK-PHX 18:50-00:42+1 131 A320 open ? - 18:50-00:42+1 +0 N591JB - -\nf562 983 BOS-RDU 18:50-21:08 84 E190 open ? - 18:50-21:08 +0 N317JB - -\nf563 2259 BOS-PHL 18:50-20:30 76 E190 open ? - 18:50-20:30 +0 N354JB - -\nf564 2973 EWR-TPA 18:50-21:59 137 A320 open ? - 18:50-21:59 +0 N613JB - -\nf565 420 ATL-JFK 18:53-21:14 134 A320 open ? - 18:53-21:14 +0 N523JB - -\nf566 414 RSW-EWR 18:57-21:53 75 E190 open ? - 18:57-21:53 +0 N273JB - -\nf567 2886 MIA-LAX 18:58-01:10+1 123 A321P open ? - 18:58-01:10+1 +0 N976JT - -\nf568 301 BUF-JFK 18:59-20:28 83 E190 open ? - 18:59-20:28 +0 N206JB - -\nf569 548 TPA-HPN 18:59-21:43 132 A320 open ? - 18:59-21:43 +0 N627JB - -\nf570 1071 FLL-BQN 18:59-21:26 140 A320 open ? - 18:59-21:26 +0 N653JB - -\nf571 1214 DFW-BOS 18:59-22:29 98 A220 open ? - 18:59-22:29 +0 N3123J - -\nf572 714 FLL-HPN 19:00-22:00 111 A320 open ? - 19:00-22:00 +0 N746JB - -\nf573 1124 LAX-JFK 19:00-00:14+1 136 A321P open ? - 19:00-00:14+1 +0 N991JT - -\nf574 254 PBI-JFK 19:06-21:55 116 A320 open ? - 19:06-21:55 +0 N570JB - -\nf575 2736 LAX-SFO 19:10-20:37 132 A320 open ? - 19:10-20:37 +0 N784JB - -\nf576 197 BOS-SEA 19:14-01:48+1 115 A321P open ? - 19:14-01:48+1 +0 N969JT - -\nf577 327 EWR-MCO 19:14-22:13 131 A320 open ? - 19:14-22:13 +0 N712JB - -\nf578 521 BOS-PBI 19:15-22:36 141 A320 open ? - 19:15-22:36 +0 N636JB - -\nf579 1120 DTW-JFK 19:15-21:09 68 E190 open ? - 19:15-21:09 +0 N281JB - -\nf580 1332 LGA-BOS 19:15-20:33 73 E190 open ? - 19:15-20:33 +0 N323JB - -\nf581 2591 BOS-TPA 19:15-22:50 121 A220 open ? - 19:15-22:50 +0 N3132J - -\nf582 884 MCO-JFK 19:18-21:59 82 E190 open ? - 19:18-21:59 +0 N229JB - -\nf583 438 MCO-BDL 19:20-22:08 147 A320 open ? - 19:20-22:08 +0 N789JB - -\nf584 1267 HPN-PBI 19:25-22:17 120 A320 open ? - 19:25-22:17 +0 N534JB - -\nf585 2678 JAX-JFK 19:25-21:43 83 E190 open ? - 19:25-21:43 +0 N216JB - -\nf586 1310 JAX-BOS 19:26-22:08 85 E190 open ? - 19:26-22:08 +0 N368JB - -\nf587 1211 JFK-LAS 19:29-01:23+1 133 A321P open ? - 19:29-01:23+1 +0 N961JT - -\nf588 47 LGA-TPA 19:30-22:30 127 A320 open ? - 19:30-22:30 +0 N625JB - -\nf589 51 BOS-MCO 19:30-22:51 173 A321 open ? - 23:56-03:17+1 +266 N903JB - -\nf590 764 ATL-BOS 19:30-22:06 122 A220 open ? - 19:30-22:06 +0 N3125J - -\nf591 2157 LGA-DEN 19:30-00:12+1 135 A320 open ? - 19:30-00:12+1 +0 N585JB - -\nf592 2587 JFK-DCA 19:30-20:58 48 E190 open ? - 19:30-20:58 +0 N279JB - -\nf593 2803 JFK-SJU 19:30-23:13 144 A320 open ? - 19:30-23:13 +0 N662JB - -\nf594 2854 DCA-BOS 19:30-21:02 86 E190 open ? - 19:30-21:02 +0 N307JB - -\nf595 187 BOS-LAX 19:35-02:31+1 147 A321P open ? - 19:35-02:31+1 +0 N946JL - -\nf596 732 IAH-BOS 19:39-23:20 109 A220 open ? - 19:39-23:20 +0 N3077J - -\nf597 1134 SJU-MCO 19:40-22:58 164 A321 open ? - 19:40-22:58 +0 N2016J - -\nf598 541 BOS-CLE 19:45-21:57 70 E190 open ? - 19:45-21:57 +0 N266JB - -\nf599 2080 FLL-DCA 19:45-22:28 121 A320 open ? - 19:45-22:28 +0 N656JB - -\nf600 828 MCO-EWR 19:50-22:33 132 A320 open ? - 19:50-22:33 +0 N537JT - -\nf601 2527 PBI-LAX 19:50-01:49+1 107 A321P open ? - 19:50-01:49+1 +0 N942JB - -\nf602 2848 TPA-LGA 19:50-22:28 118 A320 open ? - 19:50-22:28 +0 N520JB - -\nf603 571 LGA-FLL 19:55-23:03 147 A320 open ? - 19:55-23:03 +0 N506JB - -\nf604 914 FLL-HPN 19:55-22:59 111 A320 open ? - 19:55-22:59 +0 N640JB - -\nf605 1482 RIC-BOS 19:55-21:35 78 E190 open ? - 19:55-21:35 +0 N238JB - -\nf606 1922 PBI-BOS 19:56-23:00 78 E190 open ? - 19:56-23:00 +0 N355JB - -\nf607 2186 PIT-BOS 19:56-21:28 76 E190 open ? - 19:56-21:28 +0 N318JB - -\nf608 801 MCO-SLC 19:59-01:09+1 134 A320 open ? - 19:59-01:09+1 +0 N621JB - -\nf609 998 MCO-LGA 19:59-22:46 128 A320 open ? - 19:59-22:46 +0 N760JB - -\nf610 1812 RSW-EWR 19:59-22:50 122 A320 open ? - 19:59-22:50 +0 N807JB - -\nf611 1152 MCO-BOS 20:00-23:04 152 A321 open ? - 20:00-23:04 +0 N903JB - -\nf612 1196 FLL-PVD 20:00-22:56 133 A320 open ? - 20:00-22:56 +0 N821JB - -\nf613 1431 BOS-LGA 20:00-21:18 78 E190 open ? - 20:00-21:18 +0 N329JB - -\nf614 2514 LGA-ATL 20:00-22:38 127 A320 open ? - 20:00-22:38 +0 N632JB - -\nf615 2523 DCA-MCO 20:00-22:31 82 E190 open ? - 20:00-22:31 +0 N337JB - -\nf616 2588 DCA-JFK 20:00-21:13 64 E190 open ? - 20:00-21:13 +0 N284JB - -\nf617 97 JFK-DEN 20:10-00:55+1 120 A320 open ? - 20:10-00:55+1 +0 N606JB - -\nf618 170 FLL-BOS 20:10-23:25 107 A220 open ? - 20:10-23:25 +0 N3062J - -\nf619 491 BUF-LAX 20:10-01:58+1 101 A320 open ? - 20:10-01:58+1 +0 N524JB - -\nf620 1419 JFK-DTW 20:10-22:26 69 E190 open ? - 20:10-22:26 +0 N236JB - -\nf621 2487 JFK-DCA 20:10-21:41 48 E190 open ? - 20:10-21:41 +0 N265JB - -\nf622 655 SYR-MCO 20:11-23:14 123 A320 open ? - 20:11-23:14 +0 N592JB - -\nf623 87 ALB-FLL 20:15-23:32 137 A320 open ? - 20:15-23:32 +0 N516JB - -\nf624 647 BOS-SLC 20:15-01:51+1 102 A320 open ? - 20:15-01:51+1 +0 N589JB - -\nf625 1432 LGA-BOS 20:15-21:31 73 E190 open ? - 20:15-21:31 +0 N339JB - -\nf626 1566 SAT-BOS 20:18-00:11+1 91 A220 open ? - 20:18-00:11+1 +0 N3044J - -\nf627 148 LAS-JFK 20:19-01:14+1 135 A320 open ? - 20:19-01:14+1 +0 N559JB - -\nf628 499 LGA-MCO 20:20-23:21 129 A320 open ? - 20:20-23:21 +0 N605JB - -\nf629 1295 JFK-AUS 20:20-00:54+1 117 A220 open ? - 22:14-02:48+1 +114 N3139J - -\nf630 2501 FLL-LAX 20:20-02:34+1 144 A321P open ? - 20:26-02:40+1 +6 N968JT - -\nf631 2513 ATL-LGA 20:24-22:25 121 A320 open ? - 20:24-22:25 +0 N624JB - -\nf632 572 FLL-LGA 20:25-23:26 158 A321 open ? - 20:25-23:26 +0 N999JQ - -\nf633 1445 EWR-FLL 20:25-23:25 150 A320 open ? - 20:25-23:25 +0 N827JB - -\nf634 962 DTW-BOS 20:26-22:11 76 A220 open ? - 20:26-22:11 +0 N3145J - -\nf635 1802 FLL-JFK 20:26-23:36 159 A321 open ? - 20:26-23:36 +0 N975JT - -\nf636 1047 HPN-TPA 20:29-23:23 128 A320 open ? - 20:29-23:23 +0 N661JB - -\nf637 1903 JFK-SJU 20:29-00:21+1 178 A321 open ? - 20:29-00:21+1 +0 N2060J - -\nf638 225 JFK-TPA 20:30-23:40 135 A320 open ? - 20:30-23:40 +0 N584JB - -\nf639 1468 PBI-HPN 20:30-23:24 112 A320 open ? - 20:30-23:24 +0 N618JB - -\nf640 1723 JFK-LAX 20:30-02:59+1 136 A321P open ? - 20:30-02:59+1 +0 N923JB - -\nf641 1422 MSY-FLL 20:36-22:25 98 A320 open ? - 20:36-22:25 +0 N587JB - -\nf642 386 RDU-JFK 20:37-22:18 89 E190 open ? - 20:37-22:18 +0 N306JB - -\nf643 1883 BOS-RDU 20:39-22:56 84 E190 open ? - 20:39-22:56 +0 N328JB - -\nf644 612 ROC-JFK 20:40-22:10 82 E190 open ? - 20:40-22:10 +0 N304JB - -\nf645 895 EWR-MCO 20:40-23:40 141 A320 open ? - 20:40-23:40 +0 N809JB - -\nf646 2184 MCO-JFK 20:40-23:31 133 A320 open ? - 20:40-23:31 +0 N580JB - -\nf647 706 FLL-EWR 20:42-23:36 129 A320 open ? - 20:42-23:36 +0 N629JB - -\nf648 1154 PBI-JFK 20:43-23:34 143 A321 open ? - 20:43-23:34 +0 N948JB - -\nf649 2583 JFK-MCO 20:45-23:52 140 A320 open ? - 20:45-23:52 +0 N571JB - -\nf650 2734 SJU-MCO 20:45-23:57 132 A320 open ? - 20:45-23:57 +0 N615JB - -\nf651 2752 SJU-TPA 20:45-23:54 126 A320 open ? - 20:45-23:54 +0 N659JB - -\nf652 2959 BDL-FLL 20:45-23:57 142 A320 open ? - 20:45-23:57 +0 N634JB - -\nf653 1501 JFK-FLL 20:50-23:59 147 A320 open ? - 20:50-23:59 +0 N593JB - -\nf654 2294 MCO-EWR 20:50-23:33 122 A320 open ? - 21:15-23:58 +25 N658JB - -\nf655 166 RSW-BOS 20:52-23:59 137 A320 open ? - 20:52-23:59 +0 N595JB - -\nf656 633 MCO-SJU 20:55-23:49 143 A320 open ? - 21:24-00:18+1 +29 N599JB - -\nf657 1919 LGA-MSY 20:55-00:40+1 117 A320 open ? - 20:55-00:40+1 +0 N793JB - -\nf658 2061 LGA-RSW 20:55-00:15+1 112 A320 open ? - 21:04-00:24+1 +9 N655JB - -\nf659 212 AUS-FLL 20:59-23:38 107 A320 open ? - 20:59-23:38 +0 N558JB - -\nf660 277 FLL-SFO 20:59-03:37+1 126 A321P open ? - 20:59-03:37+1 +0 N964JT - -\nf661 815 JFK-SFO 20:59-03:54+1 138 A321P open ? - 20:59-03:54+1 +0 N983JT - -\nf662 826 TPA-LGA 20:59-23:41 118 A320 open ? - 20:59-23:41 +0 N639JB - -\nf663 2053 JFK-PBI 20:59-00:09+1 134 A320 open ? - 20:59-00:09+1 +0 N635JB - -\nf664 89 JFK-SAN 21:00-03:36+1 125 A321P open ? - 21:00-03:36+1 +0 N982JB - -\nf665 321 BOS-PBI 21:05-00:28+1 141 A320 open ? - 21:05-00:28+1 +0 N579JB - -\nf666 460 FLL-BDL 21:05-00:09+1 120 A320 open ? - 21:05-00:09+1 +0 N529JB - -\nf667 1237 BOS-DTW 21:05-23:27 91 A220 open ? - 21:05-23:27 +0 N3058J - -\nf668 2052 MCO-BOS 21:06-00:10+1 152 A321 open ? - 21:06-00:10+1 +0 N957JB - -\nf669 1387 BOS-LAX 21:14-04:02+1 146 A321P open ? - 21:14-04:02+1 +0 N962JT - -\nf670 1678 JAX-JFK 21:15-23:31 117 A220 open ? - 21:15-23:31 +0 N3104J - -\nf671 2086 MIA-BDL 21:16-00:23+1 103 A320 open ? - 21:16-00:23+1 +0 N583JB - -\nf672 317 BOS-JFK 21:20-22:42 80 E190 open ? - 21:20-22:42 +0 N203JB - -\nf673 535 SFO-LAX 21:24-22:47 143 A320 open ? - 21:24-22:47 +0 N784JB - -\nf674 1453 FLL-SJU 21:25-23:57 145 A320 open ? - 21:25-23:57 +0 N505JB - -\nf675 699 LGA-MCO 21:29-00:13+1 139 A320 open ? - 21:29-00:13+1 +0 N521JB - -\nf676 1803 JFK-SJU 21:29-01:17+1 178 A321 open ? - 21:29-01:17+1 +0 N996JL - -\nf677 486 JFK-ROC 21:30-23:08 73 E190 open ? - 21:30-23:08 +0 N206JB - -\nf678 836 MSP-BOS 21:30-00:17+1 76 A220 open ? - 21:30-00:17+1 +0 N3102J - -\nf679 1025 JFK-LAX 21:30-04:07+1 136 A321P open ? - 21:30-04:07+1 +0 N2151J - -\nf680 1384 MCO-JFK 21:35-00:13+1 133 A320 open ? - 21:35-00:13+1 +0 N630JB - -\nf681 2168 TPA-BQN 21:35-00:17+1 113 A320 open ? - 21:35-00:17+1 +0 N526JL - -\nf682 2618 FLL-JAX 21:35-22:50 98 A320 open ? - 21:35-22:50 +0 N612JB - -\nf683 1146 FLL-RIC 21:40-23:54 91 A320 open ? - 21:40-23:54 +0 N646JB - -\nf684 1451 BOS-MCO 21:40-00:49+1 87 E190 open ? - 21:40-00:49+1 +0 N323JB - -\nf685 1827 EWR-MCO 21:40-00:40+1 87 E190 open ? - 21:40-00:40+1 +0 N375JB - -\nf686 2626 FLL-RDU 21:40-23:46 118 A320 open ? - 21:40-23:46 +0 N603JB - -\nf687 265 BOS-RSW 21:45-01:19+1 144 A320 open ? - 21:45-01:19+1 +0 N504JB - -\nf688 2018 MIA-BOS 21:45-00:58+1 76 E190 open ? - 21:45-00:58+1 +0 N358JB - -\nf689 506 FLL-EWR 21:50-00:43+1 129 A320 open ? - 21:50-00:43+1 +0 N607JB - -\nf690 1053 JFK-PBI 21:50-00:56+1 134 A320 open ? - 21:50-00:56+1 +0 N804JB - -\nf691 1117 BOS-JFK 21:50-23:12 80 E190 open ? - 21:50-23:12 +0 N307JB - -\nf692 1192 TPA-BOS 21:50-00:49+1 87 E190 open ? - 21:50-00:49+1 +0 N283JB - -\nf693 2904 SJU-JFK 21:50-01:57+1 115 A320 open ? - 21:50-01:57+1 +0 N586JB - -\nf694 922 PBI-BOS 21:54-00:59+1 78 E190 open ? - 21:54-00:59+1 +0 N258JB - -\nf695 956 BNA-BOS 21:55-00:32+1 91 A220 open ? - 21:55-00:32+1 +0 N3112J - -\nf696 1434 SJU-MCO 21:55-01:07+1 132 A320 open ? - 21:55-01:07+1 +0 N517JB - -\nf697 102 JFK-BUF 21:59-23:29 80 E190 open ? - 21:59-23:29 +0 N281JB - -\nf698 918 JFK-BOS 21:59-23:23 69 E190 open ? - 21:59-23:23 +0 N284JB - -\nf699 1990 SJU-EWR 21:59-02:16+1 131 A320 open ? - 23:58-04:15+1 +119 N662JB - -\nf700 2193 JFK-MIA 21:59-01:10+1 139 A320 open ? - 21:59-01:10+1 +0 N523JB - -\nf701 2954 DCA-BOS 22:00-23:31 86 E190 open ? - 22:00-23:31 +0 N197JB - -\nf702 1080 LAX-LAS 22:03-23:17 110 A320 open ? - 22:03-23:17 +0 N768JB - -\nf703 767 MCO-PSE 22:05-00:54+1 127 A320 open ? - 22:05-00:54+1 +0 N715JB - -\nf704 2385 BOS-PIT 22:06-23:58 81 E190 open ? - 22:06-23:58 +0 N267JB - -\nf705 943 RNO-LAX 22:10-23:56 94 A320 open ? - 22:10-23:56 +0 N556JB - -\nf706 568 FLL-ATL 22:12-00:06+1 100 A320 open ? - 22:12-00:06+1 +0 N510JB - -\nf707 430 MCO-BQN 22:15-00:54+1 138 A320 open ? - 22:15-00:54+1 +0 N527JL - -\nf708 2615 JFK-SFO 22:20-04:53+1 138 A321P open ? - 22:20-04:53+1 +0 N2142J - -\nf709 1072 BQN-FLL 22:24-00:59+1 123 A320 open ? - 22:24-00:59+1 +0 N653JB - -\nf710 1823 JFK-LAX 22:29-05:04+1 136 A321P open ? - 22:29-05:04+1 +0 N985JT - -\nf711 234 JFK-BTV 22:35-00:03+1 77 E190 open ? - 22:35-00:03+1 +0 N231JB - -\nf712 1952 MCO-BOS 22:39-01:38+1 152 A321 open ? - 22:39-01:38+1 +0 N949JT - -\nf713 2516 JFK-SYR 22:46-00:06+1 61 E190 open ? - 22:46-00:06+1 +0 N216JB - -\nf714 403 JFK-SJU 22:55-02:47+1 144 A320 open ? - 22:55-02:47+1 +0 N644JB - -\nf715 561 BOS-SJU 22:59-02:52+1 146 A320 open ? - 22:59-02:52+1 +0 N531JL - -\nf716 691 TPA-SJU 22:59-01:50+1 133 A320 open ? - 22:59-01:50+1 +0 N613JB - -\nf717 745 JFK-PSE 22:59-02:50+1 133 A320 open ? - 22:59-02:50+1 +0 N570JB - -\nf718 942 LAX-RNO 23:32-01:07+1 86 A320 open ? - 23:32-01:07+1 +0 N784JB - -\nf719 2120 SAN-BOS 23:45-05:06+1 163 A321 open ? - 23:45-05:06+1 +0 N956JT - -\nf720 2416 SFO-JFK 23:45-05:02+1 137 A321P open ? - 23:45-05:02+1 +0 N2105J - -\nf721 378 SFO-FLL 23:47-05:00+1 143 A321P open ? - 23:47-05:00+1 +0 N967JT - -\nf722 1618 JFK-BOS 23:47-00:59+1 69 E190 open ? - 23:47-00:59+1 +0 N229JB - -\nf723 1033 MCO-SJU 23:59-02:49+1 143 A320 open ? - 23:59-02:49+1 +0 N775JB - -\nf724 1279 LAS-LAX 00:02+1-01:18+1 110 A320 open ? - 00:02+1-01:18+1 +0 N768JB - -\nf725 2985 LAX-MIA 00:05+1-04:48+1 143 A321P open ? - 00:05+1-04:48+1 +0 N990JL - -\nf726 200 LAX-FLL 00:07+1-04:56+1 149 A321P open ? - 00:07+1-04:56+1 +0 N992JB - -\nf727 358 BUR-JFK 00:20+1-05:28+1 117 A220 open ? - 00:20+1-05:28+1 +0 N3085J - -\nf728 1302 PHX-BOS 00:30+1-05:05+1 132 A320 open ? - 00:30+1-05:05+1 +0 N834JB - -\nf729 530 SAN-FLL 00:35+1-05:17+1 133 A320 open ? - 00:35+1-05:17+1 +0 N657JB - -\nf730 492 LAX-BUF 00:48+1-05:28+1 111 A320 open ? - 00:48+1-05:28+1 +0 N535JB - -\nf731 2320 SLC-FLL 00:49+1-05:13+1 130 A320 open ? - 00:49+1-05:13+1 +0 N779JB - -\nf732 2050 PSP-JFK 00:55+1-05:49+1 78 A320 open ? - 01:03+1-05:57+1 +8 N569JB - -\nf733 608 LAS-FLL 01:02+1-05:29+1 176 A321 open ? - 01:02+1-05:29+1 +0 N965JT - -\nf734 700 LAX-FLL 01:13+1-06:02+1 149 A321P open ? - 01:13+1-06:02+1 +0 N979JT - -\nf735 98 DEN-JFK 01:15+1-04:50+1 117 A320 open ? - 01:15+1-04:50+1 +0 N585JB - -\nf736 264 SEA-JFK 01:22+1-06:33+1 108 A321P open ? - 01:22+1-06:33+1 +0 N937JB - -\nf737 34 SFO-BOS 01:25+1-07:03+1 126 A321P open ? - 01:25+1-07:03+1 +0 N980JT - -\nf738 136 PHX-JFK 01:32+1-05:54+1 148 A320 open ? - 01:32+1-05:54+1 +0 N591JB - -\nf739 778 LAS-BOS 01:35+1-06:33+1 167 A321 open ? - 01:35+1-06:33+1 +0 N913JB - -\nf740 2924 LAX-JFK 01:36+1-07:00+1 136 A321P open ? - 01:36+1-07:00+1 +0 N989JT - -\nf741 132 LAX-MCO 01:59+1-06:45+1 145 A320 open ? - 01:59+1-06:45+1 +0 N556JB - -\nf742 648 SLC-BOS 01:59+1-06:21+1 95 A320 open ? - 01:59+1-06:21+1 +0 N621JB - -\nf743 2156 DEN-LGA 01:59+1-05:29+1 120 A320 open ? - 01:59+1-05:29+1 +0 N606JB - -\nf744 162 SMF-JFK 02:20+1-07:28+1 155 A321 open ? - 02:20+1-07:28+1 +0 N2059J - -\nf745 2974 LAX-EWR 02:20+1-07:45+1 135 A321P open ? - 02:20+1-07:45+1 +0 N993JE - -\nf746 354 ONT-JFK 02:24+1-07:30+1 149 A321 open ? - 02:24+1-07:30+1 +0 N971JT - -\nf747 2348 LAS-JFK 02:39+1-07:30+1 133 A321P open ? - 02:39+1-07:30+1 +0 N961JT - -\nf748 80 RNO-JFK 02:59+1-08:00+1 101 A320 open ? - 02:59+1-08:00+1 +0 N784JB - -\nf749 498 SEA-BOS 02:59+1-08:15+1 104 A321P open ? - 02:59+1-08:15+1 +0 N969JT - -\nf750 988 LAX-BOS 02:59+1-08:18+1 146 A321P open ? - 02:59+1-08:18+1 +0 N976JT - -\nf751 1216 SFO-JFK 02:59+1-08:30+1 137 A321P open ? - 02:59+1-08:30+1 +0 N981JT - -\n\n## Aircraft now, as your plan has them (@ = ready at)\nBOS: N197JB N2156J N236JB N258JB N266JB N283JB N3023J@11:25 N3044J N304JB N3058J@18:52 N3062J N3077J N307JB N3102J N3104J N3112J@05:54 N3123J N3125J N3138J N3145J N328JB N337JB N354JB N355JB N547JB@18:00+1 N556JB@05:51 N599JB N636JB N715JB@08:58 N834JB@16:30 N903JB N923JB N946JL N957JB N962JT N965JT@08:14 N968JT N981JT@17:30 N984JB@10:07 N985JT@08:07 N994JL@06:35 N999JQ@05:08\nATL: N529JB N603JB\nAUS: N3139J\nBDL: N537JT N615JB N809JB@12:36 N821JB\nBQN: N583JB\nBTV: N216JB\nBUF: N306JB N639JB@06:13\nCLE: N206JB\nDCA: N281JB N358JB N375JB N554JB N592JB N607JB\nDTW: N284JB N3121J\nEWR: N273JB N523JB N580JB N591JB@09:57 N632JB@10:15 N646JB N658JB N729JB N976JT N986JB@09:16\nFLL: N509JB N527JL N566JB N570JB@06:15 N579JB N586JB@08:25 N594JB@06:10 N605JB N621JB N634JB@06:32 N656JB@18:14 N708JB N712JB N766JB N934JB@06:21 N956JT@06:36 N964JT@06:19 N973JT N988JT@07:25\nHPN: N595JB N606JB N613JB N640JB N760JB N789JB\nJAX: N629JB\nJFK: N2016J N2059J N2060J N2084J N2142J N2151J N228JB N229JB N238JB N265JB N3085J N3113J@06:55 N3115J@11:02 N3142J N348JB@14:56 N524JB@08:34 N526JL N535JB N569JB N584JB@20:00 N587JB N589JB@07:44 N593JB@05:14 N625JB@06:04 N635JB@20:14 N638JB@06:35 N644JB@22:14 N648JB@05:09 N657JB@09:15 N661JB N662JB@18:45 N905JB@20:37 N913JB N935JB N944JT@05:50 N947JB N949JT N970JB@09:06 N971JT N975JT@09:38 N982JB@20:20 N983JT N987JT@04:50 N991JT@06:22 N992JB@08:07 N996JL\nLAX: N2105J N588JB@09:55 N768JB N784JB N961JT@08:08 N967JT N979JT@04:50 N980JT@05:14 N989JT@05:13 N990JL@21:13\nLGA: N239JB N368JB N505JB N507JT N520JB N521JB N618JB N624JB N655JB N793JB@11:00\nMCO: N267JB N3132J N317JB N323JB N504JB N510JB N516JB N517JB@05:33 N519JB N531JL@09:47 N565JB N612JB@07:31 N627JB N630JB N805JB N807JB@05:34 N827JB N828JB N950JT N974JT\nMIA: N796JB@13:01 N942JB\nMSY: N506JB\nPBI: N534JB N568JB N659JB@05:20 N763JB N775JB\nPHL: N231JB\nPIT: N339JB\nPSE: N559JB\nPVD: N746JB\nRDU: N203JB N318JB N552JB\nRIC: N653JB\nROC: N329JB\nRSW: N804JB N806JB\nSAN: N937JB@05:03\nSFO: N969JT@05:56 N978JB@04:52 N993JE@05:01\nSJU: N558JB@06:34 N561JB N705JB@04:54 N948JB@05:10 N998JE@06:09\nSLC: N590JB\nSYR: N279JB\nTPA: N3065J N571JB N585JB@06:47 N623JB N649JB N779JB\nairborne: none\n\n## News so far\n[14:09-1] JFK proposed ground delay program 17:00-1-00:59, rate 32/32/32/32/32/32/40/40 arrivals/h (all carriers), average delay 152 min, max 224 [advisory adv-20231217-053, signed 14:09-1]\n[14:43-1] JFK ground delay program 17:30-1-01:59, rate 32/32/32/32/32/32/32/32/40 arrivals/h (all carriers), average delay 165 min, max 234 [advisory adv-20231217-056, signed 14:43-1]\n[17:13-1] JFK other 17:15-1-00:00 [advisory adv-20231217-064, signed 17:13-1]\n[23:49-1] JFK GDP cancelled 23:48-1-22:42 [advisory adv-20231218-018, signed 23:49-1]\n[00:30] TAF KBOS 180530Z 1806/1912 15012KT 6SM -RA BR OVC010 WS020/16050KT FM180900 13016G31KT 4SM -RA BR OVC008 WS020/15055KT FM181500 15031G50KT 2SM +RA BR OVC004 WS020/16065KT FM182000 17024G38KT 6SM -RA BR OVC008 FM182200 22021G32KT P6SM VCSH BKN010 FM190100 24018G28KT P6SM SCT050=\n[02:54] KBOS 180754Z 11011KT 6SM -RA BR BKN014 OVC030 12/11 A2970 RMK AO2 PRESFR SLP056 P0009 T01170111\n[03:01] KBOS 180801Z 12011KT 5SM -RA BR OVC017 11/11 A2969 RMK AO2 PRESFR P0001 T01110111\n[03:54] KBOS 180854Z 15019G25KT 6SM -RA BR SCT012 BKN018 OVC075 14/13 A2964 RMK AO2 PK WND 15029/0839 SLP036 P0008 60022 T01390128 58059\n\nIt is the first watch, 04:00. Nothing is frozen yet: set the day up with confirm_changes, then call advance.", + "max_turns": 244, + "model_params": { + "max_tokens": 32000 + }, + "timeout_seconds": 7200 + }, + { + "id": "end-day", + "type": "apply_server_config", + "env_id": "airops-v3-day", + "directives": [ + { + "service": "airops-v3-day", + "uri": "urn:airops:v3-end-day/v1", + "args": {} + } + ] + }, + { + "id": "grade", + "type": "env_outcome_verifier", + "env_id": "airops-v3-day", + "file_artifact_id": "airops-verifier", + "verifier_id": "airops", + "score_aggregator": "weighted_average" + } +] diff --git a/src/agentenv_airops/bundles/airops-v3/tasks/b6-20240614-0400.json b/src/agentenv_airops/bundles/airops-v3/tasks/b6-20240614-0400.json new file mode 100644 index 0000000..a55141f --- /dev/null +++ b/src/agentenv_airops/bundles/airops-v3/tasks/b6-20240614-0400.json @@ -0,0 +1,71 @@ +[ + { + "id": "deploy", + "type": "deploy_env", + "env_id": "airops-v3-day" + }, + { + "id": "load-task", + "type": "apply_server_config", + "env_id": "airops-v3-day", + "directives": [ + { + "service": "airops-v3-day", + "uri": "urn:airops:v3-live-load/v1", + "args": { + "task_id": "b6-20240614-0400", + "anchor": 3542855, + "follower": 3839476 + } + } + ] + }, + { + "id": "deploy-agent", + "type": "deploy_agent", + "a2a_agent_id": "airops-llm", + "env_ids": [ + "airops-v3-day" + ] + }, + { + "id": "clock", + "type": "sync_env_clock", + "env_id": "airops-v3-day", + "virtual_time": "2024-06-14T08:00:00Z", + "virtual_seconds_per_real_second": 0, + "tolerate_missing_sync_time": false + }, + { + "id": "play", + "type": "prompt_agent", + "prompt_id": "b6-20240614-0400", + "system_prompt": "You run the JetBlue operations desk on a storm day at JFK and BOS: thunderstorms, snow or wind, and the FAA ground stops and ground delay programs (GDPs) that follow, cut how many JetBlue flights can land and take off. Your job is to decide which flights to cancel and which to hold, watch by watch, so that passengers and the airline lose as little as possible over the day.\n\nHow the day runs:\n- The day is played in watches starting at watch 0: one an hour, and one more when an advisory or a SPECI reaches the desk or a ramp closure begins or ends, so watches are 15 to 60 minutes apart. The first message gives the day as the desk knows it at watch 0. Every tool call takes 1 minute of the watch; when the watch's time runs out, the next watch opens by itself, and advance opens it at once.\n- What the desk knows: a flight's own departure delay (weather, air traffic control: anything but waiting for its aircraft or a slot) becomes known 2 hours before its scheduled departure; until then it is assumed on time. FAA Command Center advisories and the hubs' METARs, SPECIs and TAFs arrive as messages at the first watch after they reach the desk: an advisory 0 minutes after it is signed, a METAR 5 and a SPECI 5 minutes after its observation, a TAF 10 minutes after its issue, and the programs table shows the programs as issued, proposed GDPs included; a program may end earlier or later than issued.\n- Ground delay programs: a GDP meters arrivals at a hub over its period. A flight into the hub from an origin in its scope, scheduled to land in the period, needs one of JetBlue's arrival slots in the program: it takes the earliest free slot at or after the time it could land and leaves at its EDCT, the slot less its scheduled block. A cancelled or late flight leaves its slot to the flights behind it. Arrivals outside a program fit under the hub's hourly rate.\n- Ground stops: a flight to a stopped hub from an origin the stop covers waits on the ground until the stop ends; flights already airborne fly on.\n- Departure caps: an airport may take only so many JetBlue departures in an hour (the departure caps table, known 4 hours ahead); a flight with no room in its hour tries again at the next hour's start.\n- Outstation arrival caps: an outstation may take only so many JetBlue arrivals in an hour (the outstation arrival caps table, known 4 hours ahead); a flight with no room in its arrival hour leaves so as to land in the next one.\n- Ramp closures: lightning at the field cuts a hub's ramp rate without stopping it. During a closure only so many JetBlue flights may leave the hub and only so many arrive there; a departure with no room leaves at the closure's end, an arrival with none leaves so as to land at it. A closure is known once it begins; until its end comes it is expected to last 30 minutes more, with caps for that long, and the closures table says which ends are reported and which expected.\n- The env flies your plan on the day as it happens: each flight leaves at the earliest time its delay, its hold, a slot, a stop, a cap and an aircraft allow. It takes the first aircraft of its type ready at its origin (aircraft of one type at one airport are interchangeable; an aircraft needs its turn time on the ground between flights). A flight that can't leave by its deadline is cancelled automatically there. At the end of the day the env ferries each aircraft to the airport it is needed at tomorrow.\n- Your decisions: cancel a flight (its aircraft stays on the ground, free for other flights, and its slot goes to the flights behind), restore a cancelled flight, or hold a flight until a time (not_before) so that its slot or aircraft goes to another flight first. A flight you don't touch leaves as early as it can.\n- The freeze: at watch 0 nothing is frozen. From watch 1 on, flights your plan has leaving before the freeze line, 60 minutes after the watch opens, are frozen: they can't be changed, and stay frozen. A cancellation is final. The env holds any other flight your plan would have leaving before the freeze line to it, and refuses a change that would move a frozen flight or one that has already gone.\n\nTools:\n- get_situation(): the time, the freeze line, the programs as issued with JetBlue's slots, the departure caps known so far, the outstation arrival caps known so far, the ramp closures under way or over, the latest METAR or SPECI and TAF per hub, every flight (its status, its known delay, your plan, where your plan has it leave and land on the day as known, how late it lands, its aircraft, its slot and its crew), where the aircraft are, and the news so far.\n- check_plan(changes): your changes over your plan, run on the day as known now: the plan's cost, the flights whose plan or times change, the automatic cancellations, the flights the env would hold to the freeze line, and the changes confirm_changes would refuse. It confirms nothing.\n- confirm_changes(changes): commits the changes; flights you leave out keep their plan.\n- advance(): ends the watch; its result has the new watch's news. After the last watch it returns \"done\": the day is graded on your plan.\nA change is {\"flight\": \"f12\", \"action\": \"cancel\" | \"restore\" | \"hold\" | \"call_reserve\" | \"release_reserve\", \"not_before\": \"HH:MM\" | null}: cancel takes not_before null; restore and hold fly the flight, held until not_before (local time, \"00:30+1\" after midnight), or as early as it can with null. Where a crew base has a reserve pool (the situation's Reserve crews), a flight leaving it past its crew's deadline flies only on a reserve: call_reserve gives it one while the pool lasts, release_reserve hands it back before that deadline.\n\nThe cost, in passenger-minutes: every passenger's minutes of arrival delay; 523 for each passenger on a cancelled flight, plus one for every minute the cancellation is decided later than 2 hours before its scheduled departure (an automatic cancellation is decided at its deadline, so it costs more than an early one); the airline's own aircraft minutes (a late departure costs crew and fixed costs, a long block fuel too, and a cancellation saves its fuel and maintenance); and the end-of-day ferries. A cancellation frees an aircraft and a slot; it pays when it saves the others more than it costs its own passengers. The day is graded once, on your final plan flown on the day as it really happened: the closer its cost to the best plan possible in hindsight, the higher the score. If you stop before the last watch, the rest of the day runs on your plan.", + "prompt": "# JetBlue operations desk, JFK/BOS, Friday 2024-06-14; times are local (America/New_York).\n\nNow 04:00 (watch 0, opened 04:00). First watch: nothing is frozen; changes take effect at once.\n\nYour plan on the day as known costs 265,875 (delay 208,186, cancellations 0, notice 0, ferries 0): 0 cancelled, 0 cancelled automatically, 0 on slots.\n\n## Programs as issued (FAA Command Center)\nNone.\n\n## Departure caps: JetBlue departures per hour, known 240 min ahead\nBOS: 07h 10 08h 7\n\n## Outstation arrival caps: JetBlue arrivals per hour, known 240 min ahead\nCLT: 08h 1\nORD: 08h 1\nPBI: 08h 2\n\n## Ramp closures (lightning at the field; known once begun)\nNone.\n\n## Latest weather (METAR or SPECI, and TAF)\n[03:54] KBOS 140754Z 21010KT 10SM SCT250 19/14 A2987 RMK AO2 SLP114 T01940144\n[01:20] TAF KBOS 140520Z 1406/1512 22009KT P6SM SKC FM141100 21011G22KT P6SM SKC FM141900 21010G22KT P6SM VCSH BKN090 PROB30 1422/1501 4SM TSRA OVC030CB FM150100 35007KT P6SM -SHRA BKN020 FM150600 36007KT P6SM VCSH BKN025=\n[03:51] KJFK 140751Z 21008KT 10SM FEW085 SCT250 19/16 A2991 RMK AO2 SLP129 T01940161 $\n[01:26] TAF KJFK 140526Z 1406/1512 21010KT P6SM FEW060 FM141600 19012KT P6SM SCT060 SCT120 TEMPO 1421/1501 3SM TSRA BKN015 BKN050CB FM150100 36012G20KT 6SM -SHRA VCTS SCT015 BKN050CB FM150400 36008KT P6SM VCSH FEW009 BKN020 FM150800 35010KT P6SM FEW009 BKN040=\n\n## Flights (sched = scheduled dep-arr; delay = known delay, ? not yet; plan = cancel or hold@HH:MM; proj = where your plan has it leave and land on the day as known; late = arrival delay; slot = its GDP slot; crew = crew deadline/rest end, +R on a reserve crew)\nid flight route sched pax type status delay plan proj late tail slot crew\nf0 1233 MCO-SJU 05:01-07:57 150 A320 open 6 - 05:07-07:52 -5 N508JL - -\nf1 2304 SJU-JFK 05:01-08:59 136 A320 open -6 - 04:55-08:56 -3 N634JB - -\nf2 1603 JFK-SJU 05:05-08:53 181 A321 open -1 - 05:04-08:36 -17 N2086J - -\nf3 2404 BQN-JFK 05:05-08:54 137 A320 open 7 - 05:12-08:54 +0 N804JB - -\nf4 562 SJU-BOS 05:10-09:14 160 A321 open -9 - 05:01-08:54 -20 N994JL - -\nf5 917 BOS-JFK 05:14-06:30 112 A220 open 5 - 05:19-06:23 -7 N3044J - -\nf6 123 JFK-LAX 05:20-11:16 122 A321P open -5 - 05:15-11:14 -2 N2156J - -\nf7 201 BUF-JFK 05:33-07:00 115 A220 open -7 - 05:26-07:01 +1 N3156J - -\nf8 601 JFK-FLL 05:40-08:35 173 A321 open -1 - 05:39-08:22 -13 N957JB - -\nf9 37 BDL-MCO 06:00-08:54 147 A320 open -8 - 05:52-08:29 -25 N643JB - -\nf10 85 BUF-MCO 06:00-08:35 131 A320 open -11 - 05:49-08:37 +2 N524JB - -\nf11 281 JFK-IAH 06:00-09:38 128 A320 open -5 - 05:55-09:24 -14 N559JB - -\nf12 299 LGA-MCO 06:00-08:40 150 A320 open -2 - 05:58-08:19 -21 N645JB - -\nf13 306 FLL-EWR 06:00-08:58 150 A320 open -6 - 05:54-08:42 -16 N552JB - -\nf14 311 BOS-ORD 06:00-08:54 82 E190 open -5 - 05:55-09:04 +10 N258JB - -\nf15 371 LGA-FLL 06:00-08:55 143 A320 open 0 - 06:44-09:29 +34 N591JB - -\nf16 374 SYR-BOS 06:00-07:12 68 E190 open -14 - 05:46-06:44 -28 N266JB - -\nf17 387 BOS-LAX 06:00-12:15 138 A321P open 5 - 06:05-12:16 +1 N937JB - -\nf18 405 EWR-FLL 06:00-09:00 149 A320 open -5 - 05:55-08:43 -17 N606JB - -\nf19 540 CLE-BOS 06:00-07:45 87 E190 open -7 - 05:53-07:27 -18 N354JB - -\nf20 551 BOS-MCO 06:00-09:10 144 A320 open -1 - 05:59-08:55 -15 N592JB - -\nf21 555 BOS-DCA 06:00-07:44 88 E190 open -8 - 05:52-07:28 -16 N239JB - -\nf22 560 PHL-BOS 06:00-07:26 72 E190 open -10 - 05:50-07:06 -20 N249JB - -\nf23 569 BOS-FLL 06:00-09:23 138 A320 open 6 - 06:06-09:20 -3 N599JB - -\nf24 690 FLL-BOS 06:00-09:17 142 A320 open -2 - 05:58-09:15 -2 N588JB - -\nf25 884 MCO-JFK 06:00-08:40 148 A320 open -3 - 05:57-08:31 -9 N523JB - -\nf26 953 JFK-PBI 06:00-08:47 120 A220 open -8 - 05:52-08:31 -16 N3023J - -\nf27 954 SJU-FLL 06:00-08:46 143 A320 open -6 - 05:54-08:28 -18 N665JB - -\nf28 1073 JFK-BNA 06:00-08:20 117 A220 open -5 - 05:55-08:11 -9 N3085J - -\nf29 1245 BOS-CLT 06:00-08:24 72 E190 open 2 - 06:02-08:12 -12 N284JB - -\nf30 1285 ROC-JFK 06:00-07:22 114 A220 open -5 - 05:55-07:18 -4 N3189J - -\nf31 1434 SJU-MCO 06:00-09:08 149 A320 open 22 - 06:22-09:37 +29 N760JB - -\nf32 1652 MCO-BOS 06:00-09:02 142 A320 open 10 - 06:10-09:18 +16 N570JB - -\nf33 1833 BOS-SFO 06:00-12:28 138 A321P open -6 - 05:54-12:24 -4 N2142J - -\nf34 1883 BOS-RDU 06:00-08:03 85 E190 open -2 - 05:58-07:50 -13 N283JB - -\nf35 1902 FLL-JFK 06:00-08:53 148 A320 open -4 - 05:56-08:58 +5 N554JB - -\nf36 2024 MCO-DCA 06:00-08:18 126 A320 open -5 - 05:55-08:11 -7 N521JB - -\nf37 519 JFK-ATL 06:03-08:23 125 A220 open ? - 06:03-08:23 +0 N3112J - -\nf38 1197 PVD-FLL 06:04-09:15 137 A320 open ? - 06:04-09:15 +0 N805JB - -\nf39 515 BOS-BUF 06:05-07:40 125 A220 open ? - 06:05-07:40 +0 N3102J - -\nf40 959 BDL-FLL 06:10-09:24 150 A320 open ? - 06:10-09:24 +0 N593JB - -\nf41 2431 BOS-LGA 06:10-07:27 79 E190 open ? - 06:10-07:27 +0 N306JB - -\nf42 18 FLL-JAX 06:15-07:32 83 A320 open ? - 06:15-07:32 +0 N603JB - -\nf43 722 PBI-BOS 06:15-09:23 149 A320 open ? - 06:15-09:23 +0 N653JB - -\nf44 891 BOS-TPA 06:15-09:34 182 A321 open ? - 06:15-09:34 +0 N966JT - -\nf45 1280 FLL-DCA 06:15-08:45 134 A320 open ? - 06:15-08:45 +0 N612JB - -\nf46 87 ALB-FLL 06:19-09:30 135 A320 open ? - 06:19-09:30 +0 N708JB - -\nf47 598 MCO-LGA 06:20-09:00 149 A320 open ? - 06:20-09:00 +0 N827JB - -\nf48 2433 DCA-PBI 06:20-08:47 119 A320 open ? - 06:20-08:47 +0 N565JB - -\nf49 2713 ATL-LGA 06:20-08:30 130 A220 open ? - 06:20-08:30 +0 N3062J - -\nf50 1145 RIC-FLL 06:29-08:50 128 A320 open ? - 06:29-08:50 +0 N703JB - -\nf51 321 BOS-PBI 06:30-09:43 133 A321P open ? - 06:30-09:43 +0 N943JT - -\nf52 813 HPN-FLL 06:30-09:23 121 A320 open ? - 06:30-09:23 +0 N536JB - -\nf53 1529 JFK-RSW 06:30-09:34 140 A320 open ? - 06:30-09:34 +0 N589JB - -\nf54 1903 JFK-SJU 06:30-10:24 147 A320 open ? - 06:30-10:24 +0 N590JB - -\nf55 2285 JFK-RDU 06:30-08:10 116 A220 open ? - 06:30-08:10 +0 N3118J - -\nf56 2293 JFK-MIA 06:30-09:35 136 A320 open ? - 06:30-09:35 +0 N639JB - -\nf57 2725 JFK-TPA 06:30-09:20 128 A220 open ? - 06:30-09:20 +0 N3139J - -\nf58 301 FLL-LAX 06:31-11:57 138 A321P open ? - 06:31-11:57 +0 N978JB - -\nf59 401 BOS-MSY 06:32-10:02 109 A220 open ? - 06:32-10:02 +0 N3104J - -\nf60 143 EWR-PBI 06:35-09:20 132 A320 open ? - 06:35-09:20 +0 N793JB - -\nf61 265 BOS-RSW 06:40-10:10 139 A320 open ? - 06:40-10:10 +0 N796JB - -\nf62 1187 BOS-JFK 06:44-07:59 112 A220 open ? - 06:44-07:59 +0 N3115J - -\nf63 927 EWR-MCO 06:45-09:30 150 A320 open ? - 06:45-09:30 +0 N529JB - -\nf64 1368 PBI-HPN 06:45-09:33 125 A320 open ? - 06:45-09:33 +0 N607JB - -\nf65 1486 PIT-BOS 06:45-08:23 77 E190 open ? - 06:45-08:23 +0 N281JB - -\nf66 189 JFK-SAN 06:54-12:40 136 A321P open ? - 06:54-12:40 +0 N964JT - -\nf67 2832 LGA-BOS 06:55-08:12 79 E190 open ? - 06:55-08:12 +0 N265JB - -\nf68 163 JFK-SRQ 06:59-09:59 121 A220 open ? - 06:59-09:59 +0 N3125J - -\nf69 261 BOS-SJU 07:00-11:05 135 A320 open ? - 07:00-11:05 +0 N834JB - -\nf70 397 BOS-SEA 07:00-13:13 176 A321 open ? - 07:00-13:13 +0 N971JT - -\nf71 455 BOS-DCA 07:00-08:45 88 E190 open ? - 07:00-08:45 +0 N324JB - -\nf72 1033 MCO-SJU 07:00-09:57 150 A320 open ? - 07:00-09:57 +0 N712JB - -\nf73 1097 BOS-ATL 07:00-09:46 92 E190 open ? - 07:00-09:46 +0 N328JB - -\nf74 1159 BOS-PHL 07:00-08:31 78 E190 open ? - 07:00-08:31 +0 N329JB - -\nf75 1177 BOS-LAS 07:00-12:45 138 A321P open ? - 07:00-12:45 +0 N961JT - -\nf76 1319 BOS-SAN 07:00-13:08 138 A321P open ? - 07:00-13:08 +0 N988JT - -\nf77 1807 BOS-BNA 07:00-09:50 119 A220 open ? - 07:00-09:50 +0 N3132J - -\nf78 1854 DCA-BOS 07:00-08:39 90 E190 open ? - 07:00-08:39 +0 N334JB - -\nf79 2015 JFK-SFO 07:00-13:16 138 A321P open ? - 07:00-13:16 +0 N976JT - -\nf80 2028 MCO-EWR 07:00-09:47 139 A320 open ? - 07:00-09:47 +0 N627JB - -\nf81 2204 SJU-JFK 07:00-11:02 167 A321 open ? - 07:00-11:02 +0 N975JT - -\nf82 2423 DCA-MCO 07:00-09:24 144 A320 open ? - 07:00-09:24 +0 N662JB - -\nf83 2625 RDU-FLL 07:00-09:05 138 A320 open ? - 07:00-09:05 +0 N534JB - -\nf84 172 FLL-LGA 07:09-10:00 150 A320 open ? - 07:09-10:00 +0 N635JB - -\nf85 154 PBI-JFK 07:10-09:55 148 A320 open ? - 07:10-09:55 +0 N547JB - -\nf86 1184 MCO-JFK 07:10-09:54 182 A321 open ? - 07:10-09:54 +0 N965JT - -\nf87 655 SYR-MCO 07:15-10:04 125 A320 open ? - 07:15-10:04 +0 N661JB - -\nf88 2001 BUF-JFK 07:15-08:42 115 A220 open ? - 07:15-08:42 +0 N3149J - -\nf89 2751 TPA-SJU 07:15-10:15 184 A321 open ? - 07:15-10:15 +0 N948JB - -\nf90 716 BUF-BOS 07:20-08:46 87 E190 open ? - 07:20-08:46 +0 N267JB - -\nf91 1333 BOS-SFO 07:20-13:53 138 A321P open ? - 07:20-13:53 +0 N2165J - -\nf92 1565 BOS-SAT 07:20-11:48 94 A220 open ? - 07:20-11:48 +0 N3145J - -\nf93 253 FLL-SJU 07:25-10:03 150 A320 open ? - 07:25-10:03 +0 N663JB - -\nf94 814 FLL-HPN 07:25-10:27 128 A320 open ? - 07:25-10:27 +0 N613JB - -\nf95 2229 BOS-MKE 07:25-10:00 120 A320 open ? - 08:00-10:35 +35 N659JB - -\nf96 1247 LGA-TPA 07:29-10:21 150 A320 open ? - 09:45-12:37 +136 N827JB - -\nf97 341 JFK-SAV 07:30-09:46 135 A320 open ? - 07:30-09:46 +0 N657JB - -\nf98 411 JFK-LAS 07:30-13:03 136 A321P open ? - 07:30-13:03 +0 N983JT - -\nf99 508 JFK-PWM 07:30-08:49 83 E190 open ? - 07:30-08:49 +0 N274JB - -\nf100 677 JFK-JAX 07:30-10:01 131 A220 open ? - 07:30-10:01 +0 N3121J - -\nf101 1130 FLL-CHS 07:30-09:08 113 A320 open ? - 07:30-09:08 +0 N586JB - -\nf102 1480 FLL-DCA 07:30-10:00 134 A320 open ? - 07:30-10:00 +0 N806JB - -\nf103 101 FLL-LAX 07:41-13:08 138 A321P open ? - 07:41-13:08 +0 N968JT - -\nf104 392 TPA-BOS 07:45-10:56 148 A320 open ? - 07:45-10:56 +0 N594JB - -\nf105 1447 HPN-TPA 07:45-10:32 143 A320 open ? - 07:45-10:32 +0 N561JB - -\nf106 1585 BOS-PIT 07:47-09:34 76 E190 open ? - 08:00-09:47 +13 N339JB - -\nf107 2714 LGA-ATL 07:47-10:09 126 A220 open ? - 07:47-10:09 +0 N3142J - -\nf108 75 JFK-MSY 08:00-11:13 105 A220 open ? - 08:00-11:13 +0 N3123J - -\nf109 331 BOS-LGA 08:00-09:19 79 E190 open ? - 08:00-09:19 +0 N273JB - -\nf110 533 BDL-TPA 08:00-10:58 142 A320 open ? - 08:00-10:58 +0 N618JB - -\nf111 723 JFK-LAX 08:00-13:58 138 A321P open ? - 08:00-13:58 +0 N2151J - -\nf112 1083 JFK-MCO 08:00-10:49 147 A320 open ? - 08:00-10:49 +0 N807JB - -\nf113 1142 PBI-BDL 08:00-10:53 146 A320 open ? - 08:00-10:53 +0 N585JB - -\nf114 1551 HPN-RSW 08:00-10:54 141 A320 open ? - 08:00-10:54 +0 N598JB - -\nf115 2033 BOS-IAH 08:00-12:04 135 A320 open ? - 08:00-12:04 +0 N562JB - -\nf116 2041 BOS-CLE 08:00-10:08 87 E190 open ? - 08:00-10:08 +0 N247JB - -\nf117 2473 JFK-CHS 08:00-10:17 105 A220 open ? - 08:00-10:17 +0 N3152J - -\nf118 2718 JFK-BOS 08:00-09:19 105 A220 open ? - 08:00-09:19 +0 N3044J - -\nf119 2930 SJU-RDU 08:00-11:45 139 A320 open ? - 08:00-11:45 +0 N644JB - -\nf120 404 SJU-JFK 08:05-12:00 167 A321 open ? - 08:05-12:00 +0 N949JT - -\nf121 1105 JFK-ORD 08:07-10:50 113 A220 open ? - 08:07-10:50 +0 N3162J - -\nf122 1081 BOS-RIC 08:08-10:01 91 E190 open ? - 08:08-10:01 +0 N266JB - -\nf123 257 BOS-BZN 08:12-13:09 145 A320 open ? - 08:12-13:09 +0 N623JB - -\nf124 393 BOS-DEN 08:12-12:52 145 A320 open ? - 09:00-13:40 +48 N615JB - -\nf125 1573 EWR-LAX 08:13-14:10 138 A321P open ? - 08:13-14:10 +0 N984JB - -\nf126 1347 DCA-SJU 08:15-12:07 184 A321 open ? - 08:15-12:07 +0 N956JT - -\nf127 17 JAX-FLL 08:20-09:38 90 A320 open ? - 08:20-09:38 +0 N603JB - -\nf128 1519 BOS-MIA 08:20-11:52 128 A320 open ? - 09:00-12:32 +40 N505JB - -\nf129 516 BUF-BOS 08:25-09:49 122 A220 open ? - 08:25-09:49 +0 N3102J - -\nf130 874 TPA-EWR 08:25-11:10 150 A320 open ? - 08:25-11:10 +0 N637JB - -\nf131 1137 BOS-DTW 08:25-10:40 85 E190 open ? - 09:00-11:15 +35 N249JB - -\nf132 1601 JFK-FLL 08:25-11:27 173 A321 open ? - 08:25-11:27 +0 N958JB - -\nf133 2396 FLL-TLH 08:25-09:48 86 A320 open ? - 08:25-09:48 +0 N633JB - -\nf134 195 HPN-MCO 08:30-11:09 137 A320 open ? - 08:30-11:09 +0 N789JB - -\nf135 1954 DCA-BOS 08:30-10:18 90 E190 open ? - 08:30-10:18 +0 N239JB - -\nf136 602 FLL-JFK 08:35-11:32 148 A320 open ? - 08:35-11:32 +0 N630JB - -\nf137 2334 PBI-DCA 08:40-11:04 132 A320 open ? - 08:40-11:04 +0 N794JB - -\nf138 484 RDU-BOS 08:48-10:45 86 E190 open ? - 08:48-10:45 +0 N283JB - -\nf139 2786 RDU-JFK 08:55-10:35 125 A220 open ? - 08:55-10:35 +0 N3118J - -\nf140 2824 LAX-JFK 08:55-14:29 138 A321P open ? - 08:55-14:29 +0 N993JE - -\nf141 2465 BUF-FLL 08:57-11:51 139 A320 open ? - 08:57-11:51 +0 N527JL - -\nf142 1246 CLT-BOS 08:59-11:09 83 E190 open ? - 08:59-11:09 +0 N284JB - -\nf143 2121 HPN-ACK 08:59-10:00 60 E190 open ? - 08:59-10:00 +0 N279JB - -\nf144 288 LAX-BOS 09:00-14:40 138 A321P open ? - 09:00-14:40 +0 N944JT - -\nf145 323 JFK-LAX 09:00-14:58 138 A321P open ? - 09:00-14:58 +0 N935JB - -\nf146 577 FLL-SFO 09:00-14:57 138 A321P open ? - 09:00-14:57 +0 N990JL - -\nf147 1067 HPN-PBI 09:00-11:44 124 A320 open ? - 09:00-11:44 +0 N526JL - -\nf148 1216 SFO-JFK 09:00-14:37 138 A321P open ? - 09:00-14:37 +0 N986JB - -\nf149 1455 BOS-DCA 09:00-10:43 88 E190 open ? - 09:00-10:43 +0 N354JB - -\nf150 1602 JFK-BUF 09:00-10:30 125 A220 open ? - 09:00-10:30 +0 N3156J - -\nf151 2091 JFK-ACK 09:00-10:20 66 E190 open ? - 09:00-10:20 +0 N307JB - -\nf152 1074 BNA-JFK 09:05-11:28 115 A220 open ? - 09:05-11:28 +0 N3085J - -\nf153 1160 PHL-BOS 09:06-10:35 72 E190 open ? - 09:06-10:35 +0 N329JB - -\nf154 520 ATL-JFK 09:09-11:30 129 A220 open ? - 09:09-11:30 +0 N3112J - -\nf155 725 JFK-SAT 09:10-13:21 110 A220 open ? - 09:10-13:21 +0 N3189J - -\nf156 1923 DCA-MCO 09:10-11:35 134 A320 open ? - 09:10-11:35 +0 N521JB - -\nf157 267 BOS-CHS 09:15-11:39 78 E190 open ? - 09:15-11:39 +0 N265JB - -\nf158 461 LGA-PBI 09:15-12:09 128 A220 open ? - 09:15-12:09 +0 N3185J - -\nf159 183 JFK-MCO 09:20-12:12 181 A321 open ? - 09:20-12:12 +0 N954JB - -\nf160 1 JFK-FLL 09:25-12:26 140 A320 open ? - 09:25-12:26 +0 N784JB - -\nf161 488 MCO-ORH 09:25-12:20 129 A320 open ? - 09:25-12:20 +0 N519JB - -\nf162 2277 BOS-AVL 09:25-11:50 101 A220 open ? - 09:25-11:50 +0 N3157J - -\nf163 312 ORD-BOS 09:30-11:56 81 E190 open ? - 09:36-12:02 +6 N258JB - -\nf164 379 DCA-FLL 09:30-12:05 146 A320 open ? - 09:30-12:05 +0 N612JB - -\nf165 599 LGA-MCO 09:30-12:20 133 A220 open ? - 09:30-12:20 +0 N3062J - -\nf166 733 BOS-SFO 09:30-16:01 138 A321P open ? - 09:30-16:01 +0 N945JT - -\nf167 2432 LGA-BOS 09:30-10:48 79 E190 open ? - 09:30-10:48 +0 N306JB - -\nf168 1054 PBI-JFK 09:32-12:19 128 A220 open ? - 09:32-12:19 +0 N3023J - -\nf169 115 JFK-SFO 09:40-16:00 138 A321P open ? - 09:40-16:00 +0 N946JL - -\nf170 42 PBI-LGA 09:42-12:33 150 A320 open ? - 09:42-12:33 +0 N565JB - -\nf171 407 PWM-JFK 09:45-11:00 68 E190 open ? - 09:45-11:00 +0 N274JB - -\nf172 531 BOS-LGA 09:45-10:59 79 E190 open ? - 09:45-10:59 +0 N281JB - -\nf173 2324 MCO-DCA 09:45-12:03 126 A320 open ? - 09:45-12:03 +0 N608JB - -\nf174 2511 EWR-RSW 09:45-12:46 149 A320 open ? - 09:45-12:46 +0 N516JB - -\nf175 1002 FLL-JFK 09:50-12:47 182 A321 open ? - 09:50-12:47 +0 N957JB - -\nf176 1497 JFK-DEN 09:50-14:13 147 A320 open ? - 09:50-14:13 +0 N583JB - -\nf177 1131 CHS-FLL 09:53-11:29 124 A320 open ? - 09:53-11:29 +0 N586JB - -\nf178 698 MCO-LGA 09:55-12:34 149 A320 open ? - 09:55-12:34 +0 N605JB - -\nf179 1584 MCO-JFK 09:55-12:38 148 A320 open ? - 09:55-12:38 +0 N517JB - -\nf180 1655 BOS-DCA 09:55-11:35 88 E190 open ? - 09:55-11:35 +0 N334JB - -\nf181 2051 BOS-MCO 09:57-13:10 144 A320 open ? - 09:57-13:10 +0 N652JB - -\nf182 1039 BOS-AUS 10:00-14:17 116 A220 open ? - 10:00-14:17 +0 N3065J - -\nf183 1076 MCO-PVD 10:00-12:50 130 A320 open ? - 10:00-12:50 +0 N629JB - -\nf184 1553 FLL-SJU 10:00-12:42 150 A320 open ? - 10:00-12:42 +0 N763JB - -\nf185 1774 LAX-EWR 10:00-15:30 138 A321P open ? - 10:00-15:30 +0 N942JB - -\nf186 2123 JFK-LAX 10:00-15:55 138 A321P open ? - 10:00-15:55 +0 N4048J - -\nf187 2417 BOS-JFK 10:05-11:22 112 A220 open ? - 10:05-11:22 +0 N3194J - -\nf188 272 FLL-LGA 10:08-13:00 150 A320 open ? - 10:08-13:00 +0 N606JB - -\nf189 62 SJU-BOS 10:10-14:15 160 A321 open ? - 10:10-14:15 +0 N2086J - -\nf190 126 TPA-JFK 10:10-12:59 130 A220 open ? - 10:10-12:59 +0 N3139J - -\nf191 144 PBI-EWR 10:10-13:03 136 A320 open ? - 10:10-13:03 +0 N793JB - -\nf192 1352 BOS-ACK 10:10-11:05 73 E190 open ? - 10:10-11:05 +0 N267JB - -\nf193 731 BOS-SJU 10:12-14:14 135 A320 open ? - 10:12-14:14 +0 N632JB - -\nf194 1530 RSW-JFK 10:19-13:08 150 A320 open ? - 10:19-13:08 +0 N589JB - -\nf195 554 DCA-BOS 10:20-12:00 90 E190 open ? - 10:20-12:00 +0 N324JB - -\nf196 724 LAX-JFK 10:20-16:01 138 A321P open ? - 10:20-16:01 +0 N979JT - -\nf197 1286 PIT-BOS 10:20-12:00 77 E190 open ? - 10:22-12:02 +2 N339JB - -\nf198 1460 FLL-EWR 10:20-13:19 150 A320 open ? - 10:20-13:19 +0 N534JB - -\nf199 1613 JFK-LAS 10:20-15:53 136 A321P open ? - 10:20-15:53 +0 N987JT - -\nf200 896 ATL-BOS 10:24-13:04 91 E190 open ? - 10:24-13:04 +0 N328JB - -\nf201 1680 FLL-DCA 10:25-13:00 134 A320 open ? - 10:25-13:00 +0 N536JB - -\nf202 2071 FLL-BQN 10:25-12:55 145 A320 open ? - 10:25-12:55 +0 N593JB - -\nf203 222 PBI-BOS 10:28-13:30 138 A321P open ? - 10:39-13:41 +11 N943JT - -\nf204 94 MCO-HPN 10:30-13:19 135 A320 open ? - 10:30-13:19 +0 N768JB - -\nf205 595 HPN-MCO 10:30-13:09 137 A320 open ? - 10:30-13:09 +0 N568JB - -\nf206 687 BOS-LAX 10:30-16:43 138 A321P open ? - 10:30-16:43 +0 N947JB - -\nf207 1371 LGA-FLL 10:30-13:32 143 A320 open ? - 13:18-16:20 +168 N565JB - -\nf208 1889 EWR-SJU 10:30-14:30 148 A320 open ? - 10:30-14:30 +0 N558JB - -\nf209 2503 JFK-SJU 10:30-14:25 181 A321 open ? - 10:30-14:25 +0 N907JB - -\nf210 82 IAH-JFK 10:34-14:14 150 A320 open ? - 10:34-14:14 +0 N559JB - -\nf211 215 BOS-DFW 10:34-14:39 122 A220 open ? - 10:34-14:39 +0 N3169J - -\nf212 892 TPA-BOS 10:34-13:46 183 A321 open ? - 10:34-13:46 +0 N966JT - -\nf213 342 SAV-JFK 10:35-12:44 140 A320 open ? - 10:35-12:44 +0 N657JB - -\nf214 1806 BNA-BOS 10:35-13:13 120 A220 open ? - 10:35-13:13 +0 N3132J - -\nf215 2592 MIA-JFK 10:35-13:44 145 A320 open ? - 10:35-13:44 +0 N639JB - -\nf216 2397 TLH-FLL 10:38-12:02 90 A320 open ? - 10:38-12:02 +0 N633JB - -\nf217 127 EWR-MCO 10:40-13:25 141 A320 open ? - 10:40-13:25 +0 N552JB - -\nf218 1133 MCO-SJU 10:40-13:40 150 A320 open ? - 10:40-13:40 +0 N645JB - -\nf219 1182 RIC-BOS 10:41-12:19 90 E190 open ? - 10:41-12:19 +0 N266JB - -\nf220 164 SRQ-JFK 10:45-13:35 131 A220 open ? - 10:45-13:35 +0 N3125J - -\nf221 1079 DCA-FLL 10:45-13:20 146 A320 open ? - 10:45-13:20 +0 N806JB - -\nf222 2493 ACK-DCA 10:45-12:20 66 E190 open ? - 10:45-12:20 +0 N279JB - -\nf223 400 MSY-BOS 10:47-14:04 115 A220 open ? - 10:47-14:04 +0 N3104J - -\nf224 1036 SJU-STT 10:48-11:27 107 A320 open ? - 10:48-11:27 +0 N584JB - -\nf225 1334 SJU-MCO 10:49-13:59 149 A320 open ? - 10:49-13:59 +0 N508JL - -\nf226 2040 CLE-BOS 10:49-12:32 87 E190 open ? - 10:49-12:32 +0 N247JB - -\nf227 109 BOS-JAX 10:50-13:42 145 A320 open ? - 10:50-13:42 +0 N588JB - -\nf228 2230 MKE-BOS 10:55-13:15 122 A320 open ? - 11:20-13:40 +25 N659JB - -\nf229 678 JAX-JFK 10:56-13:19 131 A220 open ? - 10:56-13:19 +0 N3121J - -\nf230 83 JFK-MCO 11:00-13:45 147 A320 open ? - 11:00-13:45 +0 N507JT - -\nf231 434 SFO-BOS 11:00-16:46 138 A321P open ? - 11:00-16:46 +0 N982JB - -\nf232 523 JFK-LAX 11:00-16:57 138 A321P open ? - 11:00-16:57 +0 N962JT - -\nf233 1401 JFK-FLL 11:00-13:57 140 A320 open ? - 11:00-13:57 +0 N535JB - -\nf234 1755 BOS-DCA 11:00-12:42 88 E190 open ? - 11:00-12:42 +0 N239JB - -\nf235 1274 CHS-JFK 11:02-12:56 115 A220 open ? - 11:02-12:56 +0 N3152J - -\nf236 2813 ATL-LGA 11:04-13:17 130 A220 open ? - 11:04-13:17 +0 N3142J - -\nf237 92 ACK-JFK 11:05-12:13 55 E190 open ? - 11:05-12:13 +0 N307JB - -\nf238 1552 RSW-HPN 11:05-13:55 150 A320 open ? - 11:05-13:55 +0 N796JB - -\nf239 2283 BOS-RDU 11:10-13:12 85 E190 open ? - 11:10-13:12 +0 N329JB - -\nf240 1901 BUF-JFK 11:15-12:43 115 A220 open ? - 11:15-12:43 +0 N3156J - -\nf241 1248 TPA-LGA 11:18-14:01 150 A320 open ? - 11:18-14:01 +0 N561JB - -\nf242 1904 SJU-JFK 11:19-15:15 136 A320 open ? - 11:19-15:15 +0 N712JB - -\nf243 624 LAX-JFK 11:25-16:59 138 A321P open ? - 11:25-16:59 +0 N977JE - -\nf244 1485 BOS-PIT 11:25-13:09 76 E190 open ? - 11:25-13:09 +0 N283JB - -\nf245 2036 DTW-BOS 11:25-13:22 86 E190 open ? - 11:50-13:47 +25 N249JB - -\nf246 718 JFK-BOS 11:29-12:49 105 A220 open ? - 11:29-12:49 +0 N3115J - -\nf247 217 BOS-JFK 11:30-12:45 80 E190 open ? - 11:30-12:45 +0 N306JB - -\nf248 2310 LGA-ACK 11:30-12:44 68 E190 open ? - 11:30-12:44 +0 N273JB - -\nf249 2454 DCA-BOS 11:30-13:06 90 E190 open ? - 11:30-13:06 +0 N354JB - -\nf250 2648 HPN-CHS 11:30-13:29 94 A320 open ? - 11:30-13:29 +0 N607JB - -\nf251 906 ORD-JFK 11:35-13:55 112 A220 open ? - 11:35-13:55 +0 N3162J - -\nf252 1338 JFK-MVY 11:35-12:44 59 E190 open ? - 11:35-12:44 +0 N274JB - -\nf253 266 RSW-BOS 11:40-14:58 147 A320 open ? - 11:40-14:58 +0 N598JB - -\nf254 1141 BDL-PBI 11:50-14:48 138 A320 open ? - 11:50-14:48 +0 N585JB - -\nf255 1351 ACK-BOS 11:50-12:42 57 E190 open ? - 11:50-12:42 +0 N267JB - -\nf256 1752 SJU-TPA 11:52-15:00 145 A320 open ? - 11:52-15:00 +0 N663JB - -\nf257 1534 TPA-BDL 11:53-14:44 142 A320 open ? - 11:53-14:44 +0 N618JB - -\nf258 176 MSY-JFK 11:58-15:05 116 A220 open ? - 11:58-15:05 +0 N3123J - -\nf259 23 DCA-MCO 12:00-14:21 144 A320 open ? - 12:00-14:21 +0 N794JB - -\nf260 70 FLL-BOS 12:00-15:15 142 A320 open ? - 12:00-15:15 +0 N591JB - -\nf261 446 MCO-BDL 12:00-14:49 148 A320 open ? - 12:00-14:49 +0 N643JB - -\nf262 755 BOS-DCA 12:00-13:39 88 E190 open ? - 12:00-13:39 +0 N284JB - -\nf263 503 JFK-SJU 12:02-16:03 181 A321 open ? - 12:02-16:03 +0 N997JL - -\nf264 119 MCO-RIC 12:04-14:10 137 A320 open ? - 12:04-14:10 +0 N524JB - -\nf265 1388 LAX-BOS 12:05-17:47 138 A321P open ? - 12:05-17:47 +0 N969JT - -\nf266 1135 STT-SJU 12:12-13:05 108 A320 open ? - 12:12-13:05 +0 N584JB - -\nf267 285 JFK-RDU 12:15-14:03 116 A220 open ? - 12:15-14:03 +0 N3118J - -\nf268 2719 JFK-ATL 12:16-14:40 125 A220 open ? - 12:16-14:40 +0 N3194J - -\nf269 1414 DCA-MVY 12:23-13:49 75 E190 open ? - 12:23-13:49 +0 N334JB - -\nf270 2020 FLL-ORH 12:24-15:31 132 A320 open ? - 12:24-15:31 +0 N708JB - -\nf271 68 CHS-BOS 12:25-14:49 80 E190 open ? - 12:25-14:49 +0 N265JB - -\nf272 1273 JFK-CHS 12:30-14:44 105 A220 open ? - 12:30-14:44 +0 N3085J - -\nf273 1604 SJU-JFK 12:30-16:32 167 A321 open ? - 12:30-16:32 +0 N948JB - -\nf274 2732 LGA-BOS 12:30-13:48 79 E190 open ? - 12:30-13:48 +0 N281JB - -\nf275 2352 BOS-ACK 12:34-13:26 73 E190 open ? - 12:35-13:27 +1 N324JB - -\nf276 324 LAX-JFK 12:35-18:12 128 A321P open ? - 12:35-18:12 +0 N2156J - -\nf277 2278 AVL-BOS 12:35-14:50 91 A220 open ? - 12:35-14:50 +0 N3157J - -\nf278 1220 MIA-BOS 12:40-16:09 119 A320 open ? - 13:17-16:46 +37 N505JB - -\nf279 1288 PBI-PVD 12:40-15:40 150 A320 open ? - 12:40-15:40 +0 N526JL - -\nf280 1753 EWR-TPA 12:40-15:29 148 A320 open ? - 12:40-15:29 +0 N627JB - -\nf281 1802 FLL-JFK 12:42-15:46 182 A321 open ? - 12:42-15:46 +0 N958JB - -\nf282 1566 SAT-BOS 12:43-17:00 123 A220 open ? - 12:43-17:00 +0 N3145J - -\nf283 2929 RDU-SJU 12:44-16:28 149 A320 open ? - 12:44-16:28 +0 N644JB - -\nf284 1080 FLL-DCA 12:51-15:25 134 A320 open ? - 12:51-15:25 +0 N586JB - -\nf285 416 SFO-JFK 12:54-18:30 138 A321P open ? - 12:54-18:30 +0 N992JB - -\nf286 932 IAH-BOS 12:54-16:48 147 A320 open ? - 12:54-16:48 +0 N562JB - -\nf287 295 JFK-AUS 12:55-16:56 144 A320 open ? - 12:55-16:56 +0 N715JB - -\nf288 579 DCA-FLL 13:00-15:34 135 A320 open ? - 13:00-15:34 +0 N608JB - -\nf289 1515 JFK-SFO 13:00-19:09 138 A321P open ? - 13:00-19:09 +0 N985JT - -\nf290 1955 BOS-DCA 13:00-14:45 88 E190 open ? - 13:00-14:45 +0 N258JB - -\nf291 770 MCO-ALB 13:01-15:55 149 A320 open ? - 13:01-15:55 +0 N592JB - -\nf292 186 JFK-ROC 13:04-14:22 118 A220 open ? - 13:04-14:22 +0 N3112J - -\nf293 683 BOS-RDU 13:04-15:06 85 E190 open ? - 13:04-15:06 +0 N339JB - -\nf294 1962 PBI-LGA 13:04-15:52 131 A220 open ? - 13:04-15:52 +0 N3185J - -\nf295 987 ORH-MCO 13:05-16:14 142 A320 open ? - 13:05-16:14 +0 N519JB - -\nf296 2254 DCA-BOS 13:05-14:44 90 E190 open ? - 13:05-14:44 +0 N279JB - -\nf297 2516 JFK-HYA 13:05-14:14 59 E190 open ? - 13:05-14:14 +0 N307JB - -\nf298 1700 LAX-FLL 13:07-18:21 138 A321P open ? - 13:07-18:21 +0 N978JB - -\nf299 1031 BOS-LGA 13:15-14:34 79 E190 open ? - 13:15-14:34 +0 N266JB - -\nf300 1372 FLL-LGA 13:15-16:09 150 A320 open ? - 13:15-16:09 +0 N633JB - -\nf301 2215 BOS-BUF 13:17-14:50 90 E190 open ? - 13:17-14:50 +0 N247JB - -\nf302 46 LGA-TPA 13:20-16:17 150 A320 open ? - 13:20-16:17 +0 N605JB - -\nf303 184 MCO-JFK 13:22-16:07 182 A321 open ? - 13:22-16:07 +0 N954JB - -\nf304 188 LAX-BOS 13:25-19:05 138 A321P open ? - 13:25-19:05 +0 N937JB - -\nf305 679 JFK-MKE 13:29-15:55 117 A220 open ? - 13:29-15:55 +0 N3023J - -\nf306 1339 MVY-JFK 13:29-14:34 43 E190 open ? - 13:29-14:34 +0 N274JB - -\nf307 218 JFK-BOS 13:30-14:47 75 E190 open ? - 13:30-14:47 +0 N306JB - -\nf308 399 LGA-MCO 13:30-16:26 150 A320 open ? - 13:45-16:41 +15 N606JB - -\nf309 1098 MCO-LGA 13:30-16:13 129 A220 open ? - 13:30-16:13 +0 N3062J - -\nf310 1745 BOS-CLT 13:30-15:57 72 E190 open ? - 13:30-15:57 +0 N267JB - -\nf311 1454 SJU-FLL 13:33-16:25 143 A320 open ? - 13:33-16:25 +0 N590JB - -\nf312 1075 PVD-MCO 13:35-16:38 124 A320 open ? - 13:35-16:38 +0 N629JB - -\nf313 410 ACK-LGA 13:40-15:00 55 E190 open ? - 13:40-15:00 +0 N273JB - -\nf314 2072 BQN-FLL 13:40-16:14 131 A320 open ? - 13:40-16:14 +0 N593JB - -\nf315 2512 RSW-EWR 13:41-16:42 150 A320 open ? - 13:41-16:42 +0 N516JB - -\nf316 578 SFO-FLL 13:45-19:27 138 A321P open ? - 13:45-19:27 +0 N2142J - -\nf317 190 SAN-JFK 13:50-19:32 138 A321P open ? - 13:50-19:32 +0 N964JT - -\nf318 349 BOS-SAV 13:50-16:32 93 E190 open ? - 13:50-16:32 +0 N328JB - -\nf319 934 SJU-MCO 13:50-17:05 149 A320 open ? - 13:50-17:05 +0 N834JB - -\nf320 394 DEN-BOS 13:52-17:56 144 A320 open ? - 14:25-18:29 +33 N615JB - -\nf321 207 BOS-BNA 13:53-16:43 119 A220 open ? - 13:53-16:43 +0 N3044J - -\nf322 271 LGA-FLL 13:55-17:00 143 A320 open ? - 14:46-17:51 +51 N561JB - -\nf323 448 LAS-JFK 13:55-19:04 138 A321P open ? - 13:55-19:04 +0 N961JT - -\nf324 1727 EWR-MCO 13:55-16:46 141 A320 open ? - 13:55-16:46 +0 N637JB - -\nf325 1733 DCA-PBI 13:55-16:27 119 A320 open ? - 13:55-16:27 +0 N536JB - -\nf326 2286 PIT-BOS 13:55-15:35 77 E190 open ? - 13:55-15:35 +0 N283JB - -\nf327 2184 RDU-BOS 13:57-16:05 86 E190 open ? - 13:57-16:05 +0 N329JB - -\nf328 53 JFK-PBI 13:59-16:59 120 A220 open ? - 13:59-16:59 +0 N3156J - -\nf329 1855 BOS-DCA 14:00-15:46 88 E190 open ? - 14:00-15:46 +0 N354JB - -\nf330 2554 DCA-BOS 14:00-15:42 90 E190 open ? - 14:00-15:42 +0 N239JB - -\nf331 991 FLL-SJU 14:05-16:49 150 A320 open ? - 14:05-16:49 +0 N784JB - -\nf332 256 BZN-BOS 14:09-18:38 124 A320 open ? - 14:09-18:38 +0 N623JB - -\nf333 552 MCO-BOS 14:10-17:20 132 A320 open ? - 14:10-17:20 +0 N662JB - -\nf334 821 JFK-RSW 14:10-17:20 121 A220 open ? - 14:10-17:20 +0 N3152J - -\nf335 1037 BOS-DTW 14:10-16:23 119 A220 open ? - 14:10-16:23 +0 N3102J - -\nf336 1122 ACK-HPN 14:11-15:14 50 E190 open ? - 14:11-15:14 +0 N324JB - -\nf337 2614 LGA-ATL 14:12-16:35 126 A220 open ? - 14:12-16:35 +0 N3142J - -\nf338 1178 LAS-BOS 14:13-19:32 138 A321P open ? - 14:13-19:32 +0 N983JT - -\nf339 495 HPN-MCO 14:15-17:02 137 A320 open ? - 14:15-17:02 +0 N613JB - -\nf340 1459 EWR-FLL 14:15-17:18 149 A320 open ? - 14:15-17:18 +0 N793JB - -\nf341 2647 CHS-HPN 14:15-16:15 85 A320 open ? - 14:15-16:15 +0 N607JB - -\nf342 1324 BOS-MVY 14:17-15:03 43 E190 open ? - 14:22-15:08 +5 N249JB - -\nf343 1874 LAX-EWR 14:18-19:47 138 A321P open ? - 14:18-19:47 +0 N968JT - -\nf344 1320 SAN-BOS 14:20-20:02 138 A321P open ? - 14:20-20:02 +0 N988JT - -\nf345 2466 FLL-BUF 14:20-17:17 150 A320 open ? - 16:19-19:16 +119 N608JB - -\nf346 726 SAT-JFK 14:22-18:32 114 A220 open ? - 14:22-18:32 +0 N3189J - -\nf347 2251 BOS-MCO 14:25-17:41 133 A320 open ? - 14:25-17:41 +0 N570JB - -\nf348 2494 DCA-ACK 14:25-15:59 75 E190 open ? - 14:25-15:59 +0 N284JB - -\nf349 904 SJU-JFK 14:26-18:30 167 A321 open ? - 14:26-18:30 +0 N956JT - -\nf350 2993 JFK-MIA 14:29-17:42 136 A320 open ? - 14:29-17:42 +0 N523JB - -\nf351 398 SEA-BOS 14:30-19:58 176 A321 open ? - 14:30-19:58 +0 N971JT - -\nf352 500 MCO-RDU 14:30-16:20 114 A320 open ? - 14:30-16:20 +0 N760JB - -\nf353 1310 JAX-BOS 14:30-17:23 147 A320 open ? - 14:30-17:23 +0 N588JB - -\nf354 2902 JFK-BUF 14:30-16:05 125 A220 open ? - 14:30-16:05 +0 N3121J - -\nf355 1413 MVY-DCA 14:34-16:10 61 E190 open ? - 14:34-16:10 +0 N334JB - -\nf356 317 BOS-JFK 14:40-16:01 112 A220 open ? - 14:40-16:01 +0 N3115J - -\nf357 784 MCO-JFK 14:40-17:28 148 A320 open ? - 14:40-17:28 +0 N807JB - -\nf358 1677 JFK-JAX 14:40-17:15 131 A220 open ? - 14:40-17:15 +0 N3125J - -\nf359 128 MCO-EWR 14:44-17:33 150 A320 open ? - 14:44-17:33 +0 N789JB - -\nf360 1634 SJU-MCO 14:45-18:01 149 A320 open ? - 14:45-18:01 +0 N763JB - -\nf361 61 BOS-SJU 14:46-18:51 167 A321 open ? - 14:46-18:51 +0 N966JT - -\nf362 383 JFK-MCO 14:50-17:50 147 A320 open ? - 14:50-17:50 +0 N804JB - -\nf363 1251 HPN-PBI 14:50-17:39 124 A320 open ? - 14:50-17:39 +0 N768JB - -\nf364 120 RIC-MCO 14:55-17:06 140 A320 open ? - 14:55-17:06 +0 N524JB - -\nf365 86 RDU-JFK 14:59-16:45 125 A220 open ? - 14:59-16:45 +0 N3118J - -\nf366 125 JFK-TPA 14:59-18:06 148 A320 open ? - 14:59-18:06 +0 N554JB - -\nf367 591 BOS-TPA 14:59-18:24 127 A220 open ? - 14:59-18:24 +0 N3132J - -\nf368 1961 LGA-PBI 14:59-18:00 149 A320 open ? - 16:54-19:55 +115 N633JB - -\nf369 936 SJU-STT 15:00-15:44 107 A320 open ? - 15:00-15:44 +0 N584JB - -\nf370 2223 JFK-LAX 15:00-21:06 138 A321P open ? - 15:00-21:06 +0 N989JT - -\nf371 415 HYA-JFK 15:02-16:05 49 E190 open ? - 15:02-16:05 +0 N307JB - -\nf372 1498 DEN-JFK 15:04-19:00 134 A320 open ? - 15:04-19:00 +0 N583JB - -\nf373 438 MCO-BDL 15:06-17:56 148 A320 open ? - 15:06-17:56 +0 N568JB - -\nf374 231 BOS-LGA 15:10-16:30 79 E190 open ? - 15:10-16:30 +0 N281JB - -\nf375 1138 AUS-BOS 15:12-19:27 130 A220 open ? - 15:12-19:27 +0 N3065J - -\nf376 534 SFO-BOS 15:15-20:59 138 A321P open ? - 15:15-20:59 +0 N976JT - -\nf377 1116 SFO-JFK 15:15-21:00 138 A321P open ? - 15:15-21:00 +0 N2165J - -\nf378 1433 MCO-SJU 15:15-18:19 150 A320 open ? - 15:15-18:19 +0 N652JB - -\nf379 485 ROC-JFK 15:17-16:44 114 A220 open ? - 15:17-16:44 +0 N3112J - -\nf380 300 LAX-FLL 15:20-20:24 138 A321P open ? - 15:20-20:24 +0 N2151J - -\nf381 2421 BOS-PBI 15:20-18:40 135 A320 open ? - 15:20-18:40 +0 N653JB - -\nf382 2566 LGA-MVY 15:20-16:30 61 E190 open ? - 15:20-16:30 +0 N266JB - -\nf383 1124 LAX-JFK 15:22-21:00 138 A321P open ? - 15:22-21:00 +0 N984JB - -\nf384 1890 SJU-EWR 15:25-19:45 146 A320 open ? - 15:25-19:45 +0 N645JB - -\nf385 2233 BOS-SFO 15:25-21:58 138 A321P open ? - 15:25-21:58 +0 N981JT - -\nf386 641 BOS-CLE 15:29-17:35 87 E190 open ? - 15:29-17:35 +0 N279JB - -\nf387 1243 EWR-PBI 15:30-18:29 143 A320 open ? - 15:30-18:29 +0 N534JB - -\nf388 1254 DCA-BOS 15:30-17:18 90 E190 open ? - 15:30-17:18 +0 N258JB - -\nf389 1214 DFW-BOS 15:34-19:27 117 A220 open ? - 15:34-19:27 +0 N3169J - -\nf390 462 SJU-BOS 15:35-19:45 160 A321 open ? - 15:35-19:45 +0 N907JB - -\nf391 2016 BUF-BOS 15:35-17:04 87 E190 open ? - 15:35-17:04 +0 N247JB - -\nf392 2185 BOS-PIT 15:35-17:23 76 E190 open ? - 15:35-17:23 +0 N306JB - -\nf393 720 ATL-JFK 15:36-18:06 129 A220 open ? - 15:36-18:06 +0 N3194J - -\nf394 2474 CHS-JFK 15:39-17:49 115 A220 open ? - 15:39-17:49 +0 N3085J - -\nf395 1032 LGA-BOS 15:40-17:03 79 E190 open ? - 15:40-17:03 +0 N273JB - -\nf396 1475 BDL-SJU 15:40-19:44 150 A320 open ? - 15:40-19:44 +0 N618JB - -\nf397 447 BDL-MCO 15:45-18:54 147 A320 open ? - 15:45-18:54 +0 N643JB - -\nf398 697 BOS-ATL 15:45-18:35 128 A220 open ? - 15:45-18:35 +0 N3104J - -\nf399 2291 JFK-ACK 15:45-17:09 66 E190 open ? - 15:45-17:09 +0 N274JB - -\nf400 2424 MCO-DCA 15:45-18:09 136 A320 open ? - 15:45-18:09 +0 N552JB - -\nf401 1225 MVY-BOS 15:48-16:35 38 E190 open ? - 15:48-16:35 +0 N249JB - -\nf402 1205 JFK-ORD 15:50-18:43 113 A220 open ? - 15:50-18:43 +0 N3162J - -\nf403 1963 JFK-SYR 15:50-17:14 96 A320 open ? - 15:50-17:14 +0 N630JB - -\nf404 684 RDU-BOS 15:51-17:55 86 E190 open ? - 15:51-17:55 +0 N339JB - -\nf405 1751 TPA-SJU 15:51-18:55 149 A320 open ? - 15:51-18:55 +0 N663JB - -\nf406 835 BOS-MSP 15:55-19:10 77 E190 open ? - 15:55-19:10 +0 N265JB - -\nf407 615 JFK-SFO 15:59-22:26 138 A321P open ? - 15:59-22:26 +0 N934JB - -\nf408 1121 HPN-ACK 15:59-17:04 60 E190 open ? - 15:59-17:04 +0 N324JB - -\nf409 1211 JFK-LAS 15:59-21:40 136 A321P open ? - 15:59-21:40 +0 N929JB - -\nf410 197 BOS-SEA 16:00-22:20 138 A321P open ? - 16:00-22:20 +0 N923JB - -\nf411 861 BOS-SJU 16:00-20:05 167 A321 open ? - 16:00-20:05 +0 N2086J - -\nf412 971 BOS-SJC 16:00-22:25 111 A220 open ? - 16:00-22:25 +0 N3157J - -\nf413 1168 PBI-HPN 16:00-18:55 125 A320 open ? - 16:00-18:55 +0 N585JB - -\nf414 2469 BOS-FLL 16:00-19:29 138 A320 open ? - 16:00-19:29 +0 N659JB - -\nf415 19 BOS-SAN 16:10-22:18 138 A321P open ? - 16:10-22:18 +0 N943JT - -\nf416 1579 DCA-FLL 16:10-18:56 146 A320 open ? - 16:10-18:56 +0 N586JB - -\nf417 2065 BOS-RSW 16:10-19:44 139 A320 open ? - 16:10-19:44 +0 N594JB - -\nf418 2467 BOS-CHS 16:20-18:50 78 E190 open ? - 16:20-18:50 +0 N283JB - -\nf419 1880 FLL-DCA 16:22-18:59 124 A320 open ? - 16:59-19:36 +37 N593JB - -\nf420 2274 TPA-EWR 16:24-19:16 150 A320 open ? - 16:24-19:16 +0 N627JB - -\nf421 732 SJU-BOS 16:25-20:35 129 A320 open ? - 16:25-20:35 +0 N632JB - -\nf422 1084 MCO-JFK 16:25-19:20 148 A320 open ? - 16:25-19:20 +0 N507JT - -\nf423 1734 SFO-BOS 16:25-22:07 138 A321P open ? - 16:25-22:07 +0 N990JL - -\nf424 2119 ORH-FLL 16:26-19:40 123 A320 open ? - 16:26-19:40 +0 N708JB - -\nf425 2259 BOS-PHL 16:28-18:00 78 E190 open ? - 16:28-18:00 +0 N239JB - -\nf426 888 LAX-BOS 16:29-22:00 138 A321P open ? - 16:29-22:00 +0 N935JB - -\nf427 287 BOS-LAX 16:30-22:43 138 A321P open ? - 16:30-22:43 +0 N944JT - -\nf428 883 JFK-MCO 16:30-19:38 147 A320 open ? - 16:30-19:38 +0 N589JB - -\nf429 1189 JFK-SAN 16:30-22:30 136 A321P open ? - 16:30-22:30 +0 N980JT - -\nf430 1287 PVD-PBI 16:35-19:45 122 A320 open ? - 16:35-19:45 +0 N526JL - -\nf431 699 LGA-MCO 16:37-19:40 133 A220 open ? - 16:37-19:40 +0 N3185J - -\nf432 435 STT-SJU 16:40-17:30 108 A320 open ? - 16:40-17:30 +0 N584JB - -\nf433 1354 DCA-BOS 16:40-18:24 90 E190 open ? - 16:40-18:24 +0 N354JB - -\nf434 1538 JFK-MVY 16:40-17:59 59 E190 open ? - 16:40-17:59 +0 N307JB - -\nf435 2052 MCO-BOS 16:40-19:52 132 A320 open ? - 16:40-19:52 +0 N508JL - -\nf436 1151 ACK-BOS 16:45-17:43 57 E190 open ? - 16:45-17:43 +0 N284JB - -\nf437 1746 CLT-BOS 16:45-19:10 83 E190 open ? - 16:45-19:10 +0 N267JB - -\nf438 2073 EWR-LAX 16:45-22:47 138 A321P open ? - 16:45-22:47 +0 N942JB - -\nf439 680 MKE-JFK 16:50-19:18 114 A220 open ? - 16:50-19:18 +0 N3023J - -\nf440 471 LGA-FLL 16:55-20:08 143 A320 open ? - 18:55-22:08 +120 N635JB - -\nf441 769 ALB-MCO 16:58-20:05 139 A320 open ? - 16:58-20:05 +0 N592JB - -\nf442 359 JFK-BUR 16:59-23:03 126 A220 open ? - 16:59-23:03 +0 N3123J - -\nf443 1694 MCO-HPN 16:59-19:55 135 A320 open ? - 16:59-19:55 +0 N794JB - -\nf444 1918 FLL-JAX 17:00-18:20 83 A320 open ? - 17:05-18:25 +5 N565JB - -\nf445 2901 BUF-JFK 17:00-18:33 115 A220 open ? - 17:00-18:33 +0 N3121J - -\nf446 424 LAX-JFK 17:05-22:49 138 A321P open ? - 17:05-22:49 +0 N4048J - -\nf447 1501 JFK-FLL 17:05-20:25 140 A320 open ? - 17:05-20:25 +0 N646JB - -\nf448 915 BOS-SMF 17:10-23:45 124 A320 open ? - 17:10-23:45 +0 N598JB - -\nf449 2810 TPA-LGA 17:10-20:03 150 A320 open ? - 17:10-20:03 +0 N605JB - -\nf450 2055 BOS-DCA 17:11-18:59 88 E190 open ? - 17:11-18:59 +0 N329JB - -\nf451 1348 SJU-DCA 17:13-21:15 170 A321 open ? - 17:13-21:15 +0 N997JL - -\nf452 2814 LGA-ATL 17:13-19:42 126 A220 open ? - 17:13-19:42 +0 N3062J - -\nf453 501 RDU-MCO 17:15-19:13 121 A320 open ? - 17:15-19:13 +0 N760JB - -\nf454 250 SAV-BOS 17:17-19:46 94 E190 open ? - 17:17-19:46 +0 N328JB - -\nf455 148 LAS-JFK 17:18-22:30 138 A321P open ? - 17:18-22:30 +0 N987JT - -\nf456 1453 FLL-SJU 17:18-20:00 150 A320 open ? - 17:18-20:00 +0 N590JB - -\nf457 739 JFK-BQN 17:19-21:22 147 A320 open ? - 17:19-21:22 +0 N639JB - -\nf458 1136 DTW-BOS 17:20-19:20 120 A220 open ? - 17:20-19:20 +0 N3102J - -\nf459 1281 BOS-RIC 17:20-19:11 91 E190 open ? - 17:20-19:11 +0 N249JB - -\nf460 2565 MVY-LGA 17:20-18:30 41 E190 open ? - 17:20-18:30 +0 N266JB - -\nf461 430 MCO-BQN 17:21-20:17 150 A320 open ? - 17:21-20:17 +0 N529JB - -\nf462 276 SJU-BDL 17:29-21:35 146 A320 open ? - 17:29-21:35 +0 N558JB - -\nf463 1473 JFK-BNA 17:29-20:18 117 A220 open ? - 17:29-20:18 +0 N3115J - -\nf464 308 JFK-PWM 17:30-18:59 117 A220 open ? - 17:30-18:59 +0 N3112J - -\nf465 1132 LGA-BOS 17:30-18:53 79 E190 open ? - 17:30-18:53 +0 N281JB - -\nf466 1167 HPN-PBI 17:30-20:24 124 A320 open ? - 17:30-20:24 +0 N796JB - -\nf467 2513 ATL-LGA 17:30-19:50 130 A220 open ? - 17:30-19:50 +0 N3142J - -\nf468 2754 DCA-BOS 17:30-19:15 90 E190 open ? - 17:30-19:15 +0 N334JB - -\nf469 992 SJU-FLL 17:35-20:25 143 A320 open ? - 17:35-20:25 +0 N644JB - -\nf470 1289 EWR-SJU 17:35-21:38 148 A320 open ? - 17:35-21:38 +0 N636JB - -\nf471 2534 PBI-DCA 17:35-20:03 132 A320 open ? - 17:35-20:03 +0 N536JB - -\nf472 798 MCO-LGA 17:40-20:29 138 A320 open ? - 17:40-20:29 +0 N519JB - -\nf473 131 MCO-LAX 17:42-22:59 147 A320 open ? - 17:42-22:59 +0 N629JB - -\nf474 623 JFK-LAX 17:45-00:00+1 138 A321P open ? - 17:45-00:00+1 +0 N993JE - -\nf475 206 BNA-BOS 17:48-20:30 120 A220 open ? - 17:48-20:30 +0 N3044J - -\nf476 192 ACK-JFK 17:49-19:05 55 E190 open ? - 17:49-19:05 +0 N324JB - -\nf477 811 BOS-ORD 17:50-20:47 82 E190 open ? - 17:50-20:47 +0 N273JB - -\nf478 694 AUS-JFK 17:55-21:52 148 A320 open ? - 17:55-21:52 +0 N715JB - -\nf479 2102 FLL-JFK 17:55-21:00 148 A320 open ? - 17:55-21:00 +0 N599JB - -\nf480 95 BOS-PDX 18:00-00:18+1 129 A320 open ? - 18:00-00:18+1 +0 N591JB - -\nf481 247 BOS-SLC 18:00-23:29 121 A220 open ? - 18:00-23:29 +0 N3145J - -\nf482 616 SFO-JFK 18:00-23:42 138 A321P open ? - 18:00-23:42 +0 N946JL - -\nf483 734 SFO-BOS 18:00-23:41 138 A321P open ? - 18:00-23:41 +0 N945JT - -\nf484 767 MCO-PSE 18:00-21:00 150 A320 open ? - 18:00-21:00 +0 N606JB - -\nf485 1284 MCO-JFK 18:00-21:02 148 A320 open ? - 18:00-21:02 +0 N637JB - -\nf486 1331 BOS-LGA 18:00-19:23 79 E190 open ? - 18:00-19:23 +0 N247JB - -\nf487 472 FLL-LGA 18:03-21:00 150 A320 open ? - 18:03-21:00 +0 N793JB - -\nf488 2255 BOS-DCA 18:05-19:55 88 E190 open ? - 18:05-19:55 +0 N258JB - -\nf489 1154 PBI-JFK 18:08-21:01 128 A220 open ? - 18:08-21:01 +0 N3156J - -\nf490 1964 SYR-JFK 18:08-19:30 95 A320 open ? - 18:08-19:30 +0 N630JB - -\nf491 2186 PIT-BOS 18:08-19:49 77 E190 open ? - 18:08-19:49 +0 N306JB - -\nf492 491 BUF-LAX 18:10-23:25 134 A320 open ? - 20:01-01:16+1 +111 N608JB - -\nf493 1524 LAX-JFK 18:10-23:47 138 A321P open ? - 18:10-23:47 +0 N947JB - -\nf494 1678 JAX-JFK 18:10-20:41 131 A220 open ? - 18:10-20:41 +0 N3125J - -\nf495 2122 ACK-HPN 18:10-19:18 50 E190 open ? - 18:10-19:18 +0 N274JB - -\nf496 451 BOS-MCO 18:15-21:37 133 A320 open ? - 18:15-21:37 +0 N505JB - -\nf497 483 JFK-MCO 18:15-21:22 147 A320 open ? - 18:15-21:22 +0 N559JB - -\nf498 777 BOS-LAS 18:15-00:10+1 138 A321P open ? - 18:15-00:10+1 +0 N982JB - -\nf499 822 RSW-JFK 18:15-21:13 130 A220 open ? - 18:15-21:13 +0 N3152J - -\nf500 305 EWR-FLL 18:18-21:30 149 A320 open ? - 18:18-21:30 +0 N516JB - -\nf501 391 BOS-TPA 18:20-21:41 147 A320 open ? - 18:20-21:41 +0 N562JB - -\nf502 640 CLE-BOS 18:20-20:08 87 E190 open ? - 18:20-20:08 +0 N279JB - -\nf503 88 FLL-ALB 18:25-21:31 149 A320 open ? - 18:25-21:31 +0 N805JB - -\nf504 263 JFK-SEA 18:29-00:59+1 138 A321P open ? - 18:29-00:59+1 +0 N986JB - -\nf505 548 TPA-HPN 18:29-21:29 149 A320 open ? - 18:29-21:29 +0 N827JB - -\nf506 24 MCO-DCA 18:30-20:57 136 A320 open ? - 18:30-20:57 +0 N613JB - -\nf507 71 JFK-SLC 18:30-23:54 139 A320 open ? - 18:30-23:54 +0 N828JB - -\nf508 2783 BOS-RDU 18:30-20:39 85 E190 open ? - 18:30-20:39 +0 N284JB - -\nf509 1118 JFK-BOS 18:35-20:07 105 A220 open ? - 18:35-20:07 +0 N3118J - -\nf510 29 FLL-SAN 18:36-23:49 148 A320 open ? - 18:36-23:49 +0 N561JB - -\nf511 2892 MIA-JFK 18:38-21:48 145 A320 open ? - 18:38-21:48 +0 N523JB - -\nf512 161 JFK-SMF 18:45-01:00+1 179 A321 open ? - 18:45-01:00+1 +0 N905JB - -\nf513 1152 MCO-BOS 18:45-21:57 132 A320 open ? - 18:45-21:57 +0 N834JB - -\nf514 2460 PHL-BOS 18:45-20:10 72 E190 open ? - 18:45-20:10 +0 N239JB - -\nf515 1539 MVY-JFK 18:53-20:00 43 E190 open ? - 18:53-20:00 +0 N307JB - -\nf516 803 JFK-SJU 18:55-23:00 181 A321 open ? - 18:55-23:00 +0 N975JT - -\nf517 1633 MCO-SJU 18:55-21:55 150 A320 open ? - 18:55-21:55 +0 N524JB - -\nf518 67 BDL-LAX 18:56-01:00+1 124 A320 open ? - 18:56-01:00+1 +0 N568JB - -\nf519 187 BOS-LAX 18:58-01:25+1 138 A321P open ? - 18:58-01:25+1 +0 N969JT - -\nf520 2 JFK-BUF 18:59-20:40 125 A220 open ? - 18:59-20:40 +0 N3085J - -\nf521 1979 DCA-FLL 18:59-21:40 146 A320 open ? - 18:59-21:40 +0 N552JB - -\nf522 384 MCO-JFK 19:00-21:59 148 A320 open ? - 19:00-21:59 +0 N570JB - -\nf523 1827 EWR-MCO 19:04-22:00 150 A320 open ? - 19:04-22:00 +0 N789JB - -\nf524 1262 PBI-LGA 19:05-21:52 150 A320 open ? - 19:05-21:52 +0 N768JB - -\nf525 1332 LGA-BOS 19:05-20:29 79 E190 open ? - 19:05-20:29 +0 N266JB - -\nf526 1917 JAX-FLL 19:05-20:20 90 A320 open ? - 19:10-20:25 +5 N565JB - -\nf527 1252 PBI-HPN 19:08-21:59 125 A320 open ? - 19:14-22:05 +6 N534JB - -\nf528 2826 TPA-JFK 19:08-21:59 150 A320 open ? - 19:08-21:59 +0 N554JB - -\nf529 524 LAX-JFK 19:10-00:48+1 138 A321P open ? - 19:10-00:48+1 +0 N962JT - -\nf530 914 FLL-HPN 19:10-22:13 128 A320 open ? - 19:10-22:13 +0 N703JB - -\nf531 1355 BOS-DCA 19:10-20:58 88 E190 open ? - 19:10-20:58 +0 N339JB - -\nf532 1431 BOS-LGA 19:10-20:33 79 E190 open ? - 19:10-20:33 +0 N354JB - -\nf533 135 JFK-PHX 19:17-00:44+1 121 A220 open ? - 19:17-00:44+1 +0 N3194J - -\nf534 592 TPA-BOS 19:19-22:35 128 A220 open ? - 19:19-22:35 +0 N3132J - -\nf535 1134 SJU-MCO 19:20-22:30 149 A320 open ? - 19:20-22:30 +0 N784JB - -\nf536 1732 LAX-SLC 19:20-21:09 129 A320 open ? - 19:20-21:09 +0 N649JB - -\nf537 322 PBI-BOS 19:25-22:30 149 A320 open ? - 19:25-22:30 +0 N653JB - -\nf538 918 JFK-BOS 19:25-20:59 105 A220 open ? - 19:25-20:59 +0 N3189J - -\nf539 1944 PBI-EWR 19:25-22:15 147 A320 open ? - 20:30-23:20 +65 N526JL - -\nf540 81 JFK-RNO 19:30-01:36+1 129 A320 open ? - 19:30-01:36+1 +0 N766JB - -\nf541 2613 ATL-LGA 19:30-21:47 130 A220 open ? - 19:30-21:47 +0 N3104J - -\nf542 1728 MCO-EWR 19:35-22:24 139 A320 open ? - 19:35-22:24 +0 N804JB - -\nf543 1206 ORD-JFK 19:38-22:03 112 A220 open ? - 19:38-22:03 +0 N3162J - -\nf544 355 JFK-ONT 19:40-01:38+1 177 A321 open ? - 19:40-01:38+1 +0 N958JB - -\nf545 1196 FLL-PVD 19:40-22:44 136 A320 open ? - 19:40-22:44 +0 N527JL - -\nf546 1761 LGA-PBI 19:40-22:39 149 A320 open ? - 20:48-23:47 +68 N605JB - -\nf547 2468 CHS-BOS 19:40-22:00 80 E190 open ? - 19:40-22:00 +0 N283JB - -\nf548 2017 BOS-JFK 19:45-21:10 80 E190 open ? - 19:45-21:10 +0 N281JB - -\nf549 2354 DCA-BOS 19:45-21:24 90 E190 open ? - 19:45-21:24 +0 N329JB - -\nf550 2023 JFK-LAX 19:49-02:02+1 138 A321P open ? - 19:49-02:02+1 +0 N979JT - -\nf551 1990 SJU-EWR 19:53-23:59 146 A320 open ? - 19:53-23:59 +0 N663JB - -\nf552 307 PWM-JFK 19:54-21:14 95 A220 open ? - 19:54-21:14 +0 N3112J - -\nf553 561 BOS-SJU 19:54-23:59 167 A321 open ? - 19:54-23:59 +0 N972JT - -\nf554 1282 RIC-BOS 19:56-21:34 90 E190 open ? - 19:56-21:34 +0 N249JB - -\nf555 170 FLL-BOS 20:00-23:16 142 A320 open ? - 20:00-23:16 +0 N535JB - -\nf556 572 FLL-LGA 20:00-22:56 150 A320 open ? - 20:00-22:56 +0 N612JB - -\nf557 613 HPN-FLL 20:00-23:03 121 A320 open ? - 20:00-23:03 +0 N585JB - -\nf558 711 JFK-LAS 20:00-01:46+1 136 A321P open ? - 20:00-01:46+1 +0 N977JE - -\nf559 1146 FLL-RIC 20:00-22:19 120 A320 open ? - 20:00-22:19 +0 N586JB - -\nf560 2385 BOS-PIT 20:00-21:53 76 E190 open ? - 20:00-21:53 +0 N267JB - -\nf561 2501 FLL-LAX 20:00-01:36+1 138 A321P open ? - 20:00-01:36+1 +0 N978JB - -\nf562 2523 DCA-MCO 20:00-22:25 134 A320 open ? - 20:21-22:46 +21 N593JB - -\nf563 153 JFK-PBI 20:05-23:08 139 A320 open ? - 20:05-23:08 +0 N537JT - -\nf564 283 JFK-MCO 20:05-23:10 181 A321 open ? - 20:05-23:10 +0 N954JB - -\nf565 836 MSP-BOS 20:05-22:51 81 E190 open ? - 20:05-22:51 +0 N265JB - -\nf566 873 EWR-TPA 20:10-23:11 148 A320 open ? - 20:10-23:11 +0 N809JB - -\nf567 1294 MCO-HPN 20:10-22:59 135 A320 open ? - 20:10-22:59 +0 N763JB - -\nf568 65 JFK-ABQ 20:12-00:55+1 124 A220 open ? - 20:12-00:55+1 +0 N3121J - -\nf569 2752 SJU-TPA 20:13-23:19 179 A321 open ? - 20:13-23:19 +0 N966JT - -\nf570 607 FLL-LAS 20:15-01:25+1 147 A320 open ? - 20:15-01:25+1 +0 N659JB - -\nf571 1432 LGA-BOS 20:15-21:35 79 E190 open ? - 20:15-21:35 +0 N247JB - -\nf572 783 BOS-PHX 20:22-02:04+1 115 A220 open ? - 20:22-02:04+1 +0 N3102J - -\nf573 993 BOS-DEN 20:23-00:53+1 126 A220 open ? - 20:23-00:53+1 +0 N3065J - -\nf574 745 JFK-PSE 20:25-00:41+1 140 A320 open ? - 20:25-00:41+1 +0 N807JB - -\nf575 815 JFK-SFO 20:25-02:59+1 138 A321P open ? - 20:25-02:59+1 +0 N2156J - -\nf576 97 JFK-DEN 20:27-01:04+1 147 A320 open ? - 20:27-01:04+1 +0 N634JB - -\nf577 541 BOS-CLE 20:30-22:38 87 E190 open ? - 20:30-22:38 +0 N334JB - -\nf578 715 BOS-BUF 20:34-22:09 90 E190 open ? - 20:34-22:09 +0 N328JB - -\nf579 460 FLL-BDL 20:35-23:38 147 A320 open ? - 20:35-23:38 +0 N708JB - -\nf580 998 MCO-LGA 20:35-23:15 129 A220 open ? - 20:35-23:15 +0 N3185J - -\nf581 996 ATL-BOS 20:37-23:21 128 A220 open ? - 20:37-23:21 +0 N3062J - -\nf582 656 MCO-SYR 20:40-23:32 118 A320 open ? - 20:40-23:32 +0 N643JB - -\nf583 1468 PBI-HPN 20:40-23:26 125 A320 open ? - 20:40-23:26 +0 N633JB - -\nf584 1952 MCO-BOS 20:40-23:51 142 A320 open ? - 20:40-23:51 +0 N760JB - -\nf585 2066 RSW-BOS 20:40-23:52 147 A320 open ? - 20:40-23:52 +0 N594JB - -\nf586 2854 DCA-BOS 20:40-22:15 90 E190 open ? - 20:40-22:15 +0 N258JB - -\nf587 277 FLL-SFO 20:45-02:40+1 138 A321P open ? - 20:45-02:40+1 +0 N2142J - -\nf588 369 BOS-FLL 20:45-23:59 138 A320 open ? - 20:45-23:59 +0 N662JB - -\nf589 721 BOS-PBI 20:45-23:59 135 A320 open ? - 20:45-23:59 +0 N588JB - -\nf590 1387 BOS-LAX 20:45-03:02+1 138 A321P open ? - 20:45-03:02+1 +0 N937JB - -\nf591 2134 SJU-MCO 20:45-23:49 149 A320 open ? - 20:45-23:49 +0 N652JB - -\nf592 2514 LGA-ATL 20:45-23:15 126 A220 open ? - 20:45-23:15 +0 N3142J - -\nf593 223 JFK-LAX 20:49-02:59+1 138 A321P open ? - 20:49-02:59+1 +0 N992JB - -\nf594 571 LGA-FLL 20:50-23:56 143 A320 open ? - 21:14-00:20+1 +24 N519JB - -\nf595 1451 BOS-MCO 20:50-23:58 133 A320 open ? - 20:50-23:58 +0 N615JB - -\nf596 1567 HPN-PBI 20:50-23:46 124 A320 open ? - 20:50-23:46 +0 N794JB - -\nf597 1117 BOS-JFK 20:55-22:18 80 E190 open ? - 20:55-22:18 +0 N306JB - -\nf598 2054 SJU-FLL 20:55-23:40 143 A320 open ? - 20:55-23:40 +0 N618JB - -\nf599 2459 BOS-PHL 20:55-22:26 78 E190 open ? - 20:55-22:26 +0 N279JB - -\nf600 2626 FLL-RDU 20:55-23:02 128 A320 open ? - 20:55-23:02 +0 N624JB - -\nf601 1873 EWR-LAX 20:57-02:59+1 138 A321P open ? - 20:57-02:59+1 +0 N968JT - -\nf602 706 FLL-EWR 20:59-23:58 150 A320 open ? - 21:10-00:09+1 +11 N565JB - -\nf603 1586 MCO-BUF 20:59-23:41 141 A320 open ? - 20:59-23:41 +0 N589JB - -\nf604 2101 JFK-FLL 20:59-00:10+1 140 A320 open ? - 20:59-00:10+1 +0 N583JB - -\nf605 729 BQN-MCO 21:02-23:51 150 A320 open ? - 21:02-23:51 +0 N529JB - -\nf606 1474 BNA-JFK 21:13-23:32 115 A220 open ? - 21:13-23:32 +0 N3115J - -\nf607 333 BOS-SFO 21:15-03:45+1 138 A321P open ? - 21:15-03:45+1 +0 N983JT - -\nf608 845 BOS-SYR 21:15-22:30 75 E190 open ? - 21:15-22:30 +0 N239JB - -\nf609 1004 SJU-JFK 21:15-01:13+1 167 A321 open ? - 21:15-01:13+1 +0 N2086J - -\nf610 2202 FLL-JFK 21:20-00:13+1 148 A320 open ? - 21:20-00:13+1 +0 N644JB - -\nf611 499 LGA-MCO 21:25-00:16+1 142 A320 open ? - 21:45-00:36+1 +20 N793JB - -\nf612 1484 RDU-BOS 21:25-23:25 86 E190 open ? - 21:25-23:25 +0 N284JB - -\nf613 102 JFK-BUF 21:29-23:13 125 A220 open ? - 21:29-23:13 +0 N3023J - -\nf614 2128 MCO-EWR 21:30-00:17+1 150 A320 open ? - 21:30-00:17+1 +0 N661JB - -\nf615 2583 JFK-MCO 21:30-00:28+1 147 A320 open ? - 21:30-00:28+1 +0 N507JT - -\nf616 1012 ORD-BOS 21:33-23:59 81 E190 open ? - 21:33-23:59 +0 N273JB - -\nf617 403 JFK-SJU 21:50-01:57+1 147 A320 open ? - 21:50-01:57+1 +0 N630JB - -\nf618 318 JFK-BOS 21:55-23:23 75 E190 open ? - 21:55-23:23 +0 N324JB - -\nf619 768 PSE-MCO 21:55-00:58+1 150 A320 open ? - 21:55-00:58+1 +0 N606JB - -\nf620 1186 JFK-ROC 21:59-23:34 118 A220 open ? - 21:59-23:34 +0 N3125J - -\nf621 1731 SLC-LAX 22:00-00:02+1 110 A320 open ? - 22:00-00:02+1 +0 N649JB - -\nf622 738 BQN-JFK 22:07-01:59+1 137 A320 open ? - 22:07-01:59+1 +0 N639JB - -\nf623 1823 JFK-LAX 22:10-04:22+1 138 A321P open ? - 22:10-04:22+1 +0 N961JT - -\nf624 2133 MCO-SJU 22:25-01:26+1 150 A320 open ? - 22:25-01:26+1 +0 N592JB - -\nf625 275 BDL-SJU 22:30-02:26+1 150 A320 open ? - 22:30-02:26+1 +0 N558JB - -\nf626 362 SJU-BOS 22:35-02:35+1 129 A320 open ? - 22:35-02:35+1 +0 N590JB - -\nf627 1318 JFK-BOS 22:59-00:18+1 75 E190 open ? - 22:59-00:18+1 +0 N307JB - -\nf628 2403 JFK-BQN 22:59-02:50+1 147 A320 open ? - 22:59-02:50+1 +0 N547JB - -\nf629 2903 JFK-SJU 22:59-02:57+1 181 A321 open ? - 22:59-02:57+1 +0 N948JB - -\nf630 2120 SAN-BOS 23:28-05:00+1 138 A321P open ? - 23:28-05:00+1 +0 N943JT - -\nf631 972 SJC-BOS 23:30-05:12+1 130 A220 open ? - 23:30-05:12+1 +0 N3157J - -\nf632 1114 LAX-JFK 23:35-05:01+1 138 A321P open ? - 23:35-05:01+1 +0 N989JT - -\nf633 2416 SFO-JFK 23:35-05:04+1 138 A321P open ? - 23:35-05:04+1 +0 N981JT - -\nf634 198 SEA-BOS 23:40-05:00+1 138 A321P open ? - 23:40-05:00+1 +0 N923JB - -\nf635 1190 SAN-JFK 23:40-05:02+1 138 A321P open ? - 23:40-05:02+1 +0 N980JT - -\nf636 358 BUR-JFK 00:00+1-05:29+1 122 A220 open ? - 00:00+1-05:29+1 +0 N3123J - -\nf637 1574 LAX-EWR 00:00+1-05:23+1 138 A321P open ? - 00:00+1-05:23+1 +0 N944JT - -\nf638 2348 LAS-JFK 00:05+1-05:04+1 138 A321P open ? - 00:05+1-05:04+1 +0 N929JB - -\nf639 700 LAX-FLL 00:20+1-05:23+1 138 A321P open ? - 00:20+1-05:23+1 +0 N942JB - -\nf640 132 LAX-MCO 00:25+1-05:18+1 150 A320 open ? - 00:25+1-05:18+1 +0 N629JB - -\nf641 248 SLC-BOS 00:28+1-05:00+1 118 A220 open ? - 00:28+1-05:00+1 +0 N3145J - -\nf642 916 SMF-BOS 00:35+1-06:06+1 135 A320 open ? - 00:35+1-06:06+1 +0 N598JB - -\nf643 30 SAN-FLL 00:39+1-05:45+1 143 A320 open ? - 00:39+1-05:45+1 +0 N561JB - -\nf644 2234 SFO-BOS 00:43+1-06:19+1 138 A321P open ? - 00:43+1-06:19+1 +0 N934JB - -\nf645 278 SFO-FLL 00:44+1-06:21+1 138 A321P open ? - 00:44+1-06:21+1 +0 N985JT - -\nf646 372 SLC-JFK 00:55+1-05:22+1 138 A320 open ? - 00:55+1-05:22+1 +0 N828JB - -\nf647 1268 LAX-BDL 00:55+1-06:20+1 138 A320 open ? - 00:55+1-06:20+1 +0 N649JB - -\nf648 96 PDX-BOS 01:18+1-06:32+1 143 A320 open ? - 01:18+1-06:32+1 +0 N591JB - -\nf649 778 LAS-BOS 01:20+1-06:27+1 138 A321P open ? - 01:20+1-06:27+1 +0 N982JB - -\nf650 988 LAX-BOS 01:25+1-07:01+1 138 A321P open ? - 01:25+1-07:01+1 +0 N993JE - -\nf651 136 PHX-JFK 01:40+1-06:30+1 128 A220 open ? - 01:40+1-06:30+1 +0 N3194J - -\nf652 994 DEN-BOS 01:48+1-05:40+1 124 A220 open ? - 01:48+1-05:40+1 +0 N3065J - -\nf653 66 ABQ-JFK 01:50+1-05:59+1 121 A220 open ? - 01:50+1-05:59+1 +0 N3121J - -\nf654 98 DEN-JFK 01:59+1-05:45+1 134 A320 open ? - 01:59+1-05:45+1 +0 N634JB - -\nf655 608 LAS-FLL 02:15+1-06:54+1 150 A320 open ? - 02:15+1-06:54+1 +0 N659JB - -\nf656 162 SMF-JFK 02:25+1-07:50+1 187 A321 open ? - 02:25+1-07:50+1 +0 N905JB - -\nf657 264 SEA-JFK 02:38+1-07:59+1 138 A321P open ? - 02:38+1-07:59+1 +0 N986JB - -\nf658 80 RNO-JFK 02:46+1-07:59+1 102 A320 open ? - 02:46+1-07:59+1 +0 N766JB - -\nf659 1316 LAX-JFK 02:46+1-08:20+1 138 A321P open ? - 02:46+1-08:20+1 +0 N969JT - -\nf660 492 LAX-BUF 02:50+1-07:37+1 150 A320 open ? - 02:50+1-07:37+1 +0 N568JB - -\nf661 948 LAS-JFK 02:59+1-08:05+1 138 A321P open ? - 02:59+1-08:05+1 +0 N977JE - -\nf662 984 PHX-BOS 02:59+1-07:55+1 129 A220 open ? - 02:59+1-07:55+1 +0 N3102J - -\nf663 2154 ONT-JFK 02:59+1-08:22+1 180 A321 open ? - 02:59+1-08:22+1 +0 N958JB - -\n\n## Aircraft now, as your plan has them (@ = ready at)\nBOS: N2142J N2165J@06:24 N239JB N247JB N258JB N273JB N283JB N284JB N3044J N3065J@05:26 N306JB N3102J N3104J N3115J N3132J N3145J N3157J N3169J@08:16 N3194J@07:27 N324JB N328JB N329JB N339JB N505JB@06:40 N562JB N592JB N599JB N615JB@06:23 N623JB N632JB@08:12 N652JB@07:15 N659JB N796JB N834JB N923JB@14:29 N937JB N943JT N945JT@06:38 N947JB@06:44 N961JT N966JT N971JT@06:05 N972JT@18:59 N981JT@07:27 N988JT@05:37\nJFK: N2086J N2151J N2156J N274JB N3023J N307JB N3085J N3112J N3118J N3121J N3123J@06:17 N3125J N3139J N3152J@06:29 N3162J@07:17 N4048J@04:24 N507JT@05:45 N531JL@18:00+1 N535JB@05:45 N537JT@17:45 N559JB N583JB N589JB N590JB N639JB N646JB@14:05 N657JB N715JB@09:05 N766JB@16:34 N784JB N807JB N828JB@15:45 N905JB@08:51 N907JB@04:10 N929JB@14:04 N934JB@08:49 N935JB N946JL N954JB N957JB N958JB N962JT@05:34 N964JT N970JB@18:00 N974JT@19:10 N976JT N980JT@15:03 N983JT N985JT@05:47 N987JT@05:31 N989JT@06:15 N997JL@07:30\nALB: N708JB\nATL: N3062J\nBDL: N593JB@05:32 N618JB@06:48 N643JB@04:19\nBQN: N804JB@04:20\nBUF: N267JB N3149J N3156J N524JB N527JL@08:13\nCLE: N354JB\nDCA: N334JB N565JB N662JB N956JT@07:10\nEWR: N516JB@05:50 N529JB N558JB@06:00 N606JB N636JB@14:45 N793JB N809JB@18:19 N984JB@06:03\nFLL: N552JB N554JB N586JB N588JB N603JB N612JB N613JB N624JB@20:35 N630JB@07:09 N633JB N635JB N663JB N763JB@07:17 N806JB N968JT@06:12 N978JB N990JL@06:47\nHPN: N279JB N526JL N536JB N561JB N568JB N598JB N789JB\nLAX: N649JB@05:58 N942JB N944JT N969JT@04:46 N977JE@04:04 N979JT N993JE\nLGA: N265JB N3142J N3185J@08:30 N591JB@06:44 N645JB\nMCO: N508JL N517JB N519JB N521JB N523JB N570JB N605JB N608JB N627JB N629JB@05:15 N712JB N768JB@06:06 N827JB N965JT\nPBI: N547JB N585JB N607JB N653JB N794JB@06:00\nPHL: N249JB\nPIT: N281JB\nPVD: N805JB\nRDU: N534JB\nRIC: N703JB\nROC: N3189J\nSFO: N982JB N986JB N992JB@04:36\nSJU: N584JB@04:34 N634JB N644JB N665JB N760JB N949JT@04:10 N975JT N994JL\nSYR: N266JB N661JB\nTPA: N594JB N637JB N948JB\nairborne: none\n\n## News so far\n[22:39-1] TAF AMD KJFK 140239Z 1403/1506 20014KT P6SM FEW080 FM140400 21010KT P6SM FEW060 FM141600 19012KT P6SM SCT060 SCT120 TEMPO 1421/1501 3SM TSRA BKN015 BKN050CB FM150100 36012G20KT 6SM -SHRA VCTS SCT015 BKN050CB=\n[01:20] TAF KBOS 140520Z 1406/1512 22009KT P6SM SKC FM141100 21011G22KT P6SM SKC FM141900 21010G22KT P6SM VCSH BKN090 PROB30 1422/1501 4SM TSRA OVC030CB FM150100 35007KT P6SM -SHRA BKN020 FM150600 36007KT P6SM VCSH BKN025=\n[01:26] TAF KJFK 140526Z 1406/1512 21010KT P6SM FEW060 FM141600 19012KT P6SM SCT060 SCT120 TEMPO 1421/1501 3SM TSRA BKN015 BKN050CB FM150100 36012G20KT 6SM -SHRA VCTS SCT015 BKN050CB FM150400 36008KT P6SM VCSH FEW009 BKN020 FM150800 35010KT P6SM FEW009 BKN040=\n[02:51] KJFK 140651Z 20008KT 10SM SCT250 19/17 A2993 RMK AO2 SLP133 T01940172 CHINO W $\n[02:54] KBOS 140654Z 21011KT 10SM FEW250 19/15 A2987 RMK AO2 SLP116 T01940150\n[03:51] KJFK 140751Z 21008KT 10SM FEW085 SCT250 19/16 A2991 RMK AO2 SLP129 T01940161 $\n[03:54] KBOS 140754Z 21010KT 10SM SCT250 19/14 A2987 RMK AO2 SLP114 T01940144\n\nIt is the first watch, 04:00. Nothing is frozen yet: set the day up with confirm_changes, then call advance.", + "max_turns": 224, + "model_params": { + "max_tokens": 32000 + }, + "timeout_seconds": 7200 + }, + { + "id": "end-day", + "type": "apply_server_config", + "env_id": "airops-v3-day", + "directives": [ + { + "service": "airops-v3-day", + "uri": "urn:airops:v3-end-day/v1", + "args": {} + } + ] + }, + { + "id": "grade", + "type": "env_outcome_verifier", + "env_id": "airops-v3-day", + "file_artifact_id": "airops-verifier", + "verifier_id": "airops", + "score_aggregator": "weighted_average" + } +] diff --git a/src/agentenv_airops/bundles/airops-v3/tasks/b6-20240623-0400.json b/src/agentenv_airops/bundles/airops-v3/tasks/b6-20240623-0400.json new file mode 100644 index 0000000..a95d577 --- /dev/null +++ b/src/agentenv_airops/bundles/airops-v3/tasks/b6-20240623-0400.json @@ -0,0 +1,71 @@ +[ + { + "id": "deploy", + "type": "deploy_env", + "env_id": "airops-v3-day" + }, + { + "id": "load-task", + "type": "apply_server_config", + "env_id": "airops-v3-day", + "directives": [ + { + "service": "airops-v3-day", + "uri": "urn:airops:v3-live-load/v1", + "args": { + "task_id": "b6-20240623-0400", + "anchor": 4319114, + "follower": 4804181 + } + } + ] + }, + { + "id": "deploy-agent", + "type": "deploy_agent", + "a2a_agent_id": "airops-llm", + "env_ids": [ + "airops-v3-day" + ] + }, + { + "id": "clock", + "type": "sync_env_clock", + "env_id": "airops-v3-day", + "virtual_time": "2024-06-23T08:00:00Z", + "virtual_seconds_per_real_second": 0, + "tolerate_missing_sync_time": false + }, + { + "id": "play", + "type": "prompt_agent", + "prompt_id": "b6-20240623-0400", + "system_prompt": "You run the JetBlue operations desk on a storm day at JFK and BOS: thunderstorms, snow or wind, and the FAA ground stops and ground delay programs (GDPs) that follow, cut how many JetBlue flights can land and take off. Your job is to decide which flights to cancel and which to hold, watch by watch, so that passengers and the airline lose as little as possible over the day.\n\nHow the day runs:\n- The day is played in watches starting at watch 0: one an hour, and one more when an advisory or a SPECI reaches the desk or a ramp closure begins or ends, so watches are 15 to 60 minutes apart. The first message gives the day as the desk knows it at watch 0. Every tool call takes 1 minute of the watch; when the watch's time runs out, the next watch opens by itself, and advance opens it at once.\n- What the desk knows: a flight's own departure delay (weather, air traffic control: anything but waiting for its aircraft or a slot) becomes known 2 hours before its scheduled departure; until then it is assumed on time. FAA Command Center advisories and the hubs' METARs, SPECIs and TAFs arrive as messages at the first watch after they reach the desk: an advisory 0 minutes after it is signed, a METAR 5 and a SPECI 5 minutes after its observation, a TAF 10 minutes after its issue, and the programs table shows the programs as issued, proposed GDPs included; a program may end earlier or later than issued.\n- Ground delay programs: a GDP meters arrivals at a hub over its period. A flight into the hub from an origin in its scope, scheduled to land in the period, needs one of JetBlue's arrival slots in the program: it takes the earliest free slot at or after the time it could land and leaves at its EDCT, the slot less its scheduled block. A cancelled or late flight leaves its slot to the flights behind it. Arrivals outside a program fit under the hub's hourly rate.\n- Ground stops: a flight to a stopped hub from an origin the stop covers waits on the ground until the stop ends; flights already airborne fly on.\n- Departure caps: an airport may take only so many JetBlue departures in an hour (the departure caps table, known 4 hours ahead); a flight with no room in its hour tries again at the next hour's start.\n- Outstation arrival caps: an outstation may take only so many JetBlue arrivals in an hour (the outstation arrival caps table, known 4 hours ahead); a flight with no room in its arrival hour leaves so as to land in the next one.\n- Ramp closures: lightning at the field cuts a hub's ramp rate without stopping it. During a closure only so many JetBlue flights may leave the hub and only so many arrive there; a departure with no room leaves at the closure's end, an arrival with none leaves so as to land at it. A closure is known once it begins; until its end comes it is expected to last 30 minutes more, with caps for that long, and the closures table says which ends are reported and which expected.\n- The env flies your plan on the day as it happens: each flight leaves at the earliest time its delay, its hold, a slot, a stop, a cap and an aircraft allow. It takes the first aircraft of its type ready at its origin (aircraft of one type at one airport are interchangeable; an aircraft needs its turn time on the ground between flights). A flight that can't leave by its deadline is cancelled automatically there. At the end of the day the env ferries each aircraft to the airport it is needed at tomorrow.\n- Your decisions: cancel a flight (its aircraft stays on the ground, free for other flights, and its slot goes to the flights behind), restore a cancelled flight, or hold a flight until a time (not_before) so that its slot or aircraft goes to another flight first. A flight you don't touch leaves as early as it can.\n- The freeze: at watch 0 nothing is frozen. From watch 1 on, flights your plan has leaving before the freeze line, 60 minutes after the watch opens, are frozen: they can't be changed, and stay frozen. A cancellation is final. The env holds any other flight your plan would have leaving before the freeze line to it, and refuses a change that would move a frozen flight or one that has already gone.\n\nTools:\n- get_situation(): the time, the freeze line, the programs as issued with JetBlue's slots, the departure caps known so far, the outstation arrival caps known so far, the ramp closures under way or over, the latest METAR or SPECI and TAF per hub, every flight (its status, its known delay, your plan, where your plan has it leave and land on the day as known, how late it lands, its aircraft, its slot and its crew), where the aircraft are, and the news so far.\n- check_plan(changes): your changes over your plan, run on the day as known now: the plan's cost, the flights whose plan or times change, the automatic cancellations, the flights the env would hold to the freeze line, and the changes confirm_changes would refuse. It confirms nothing.\n- confirm_changes(changes): commits the changes; flights you leave out keep their plan.\n- advance(): ends the watch; its result has the new watch's news. After the last watch it returns \"done\": the day is graded on your plan.\nA change is {\"flight\": \"f12\", \"action\": \"cancel\" | \"restore\" | \"hold\" | \"call_reserve\" | \"release_reserve\", \"not_before\": \"HH:MM\" | null}: cancel takes not_before null; restore and hold fly the flight, held until not_before (local time, \"00:30+1\" after midnight), or as early as it can with null. Where a crew base has a reserve pool (the situation's Reserve crews), a flight leaving it past its crew's deadline flies only on a reserve: call_reserve gives it one while the pool lasts, release_reserve hands it back before that deadline.\n\nThe cost, in passenger-minutes: every passenger's minutes of arrival delay; 523 for each passenger on a cancelled flight, plus one for every minute the cancellation is decided later than 2 hours before its scheduled departure (an automatic cancellation is decided at its deadline, so it costs more than an early one); the airline's own aircraft minutes (a late departure costs crew and fixed costs, a long block fuel too, and a cancellation saves its fuel and maintenance); and the end-of-day ferries. A cancellation frees an aircraft and a slot; it pays when it saves the others more than it costs its own passengers. The day is graded once, on your final plan flown on the day as it really happened: the closer its cost to the best plan possible in hindsight, the higher the score. If you stop before the last watch, the rest of the day runs on your plan.", + "prompt": "# JetBlue operations desk, JFK/BOS, Sunday 2024-06-23; times are local (America/New_York).\n\nNow 04:00 (watch 0, opened 04:00). First watch: nothing is frozen; changes take effect at once.\n\nYour plan on the day as known costs 573,737 (delay 445,213, cancellations 0, notice 0, ferries 0): 0 cancelled, 0 cancelled automatically, 0 on slots.\n\n## Programs as issued (FAA Command Center)\n- BOS ground delay program adv-20240622-061: arrivals 13:39-1-22:59-1, governs departures 13:41-1-19:58-1; JetBlue's slots none\n- BOS ground stop adv-20240622-054: 13:00-1-14:15-1\n- JFK ground delay program adv-20240622-071: arrivals 15:00-1-23:59-1, governs departures 13:59-1-21:54-1; JetBlue's slots none\n- JFK ground stop adv-20240622-051: 12:50-1-13:50-1\n\n## Departure caps: JetBlue departures per hour, known 240 min ahead\nBOS: 07h 10 08h 6\nJFK: 08h 5\n\n## Outstation arrival caps: JetBlue arrivals per hour, known 240 min ahead\nCLT: 08h 1\nDCA: 07h 1\nLGA: 08h 1\nMCO: 08h 3\nORD: 08h 1\nPBI: 08h 1\nRDU: 08h 2\nSJU: 08h 1\n\n## Ramp closures (lightning at the field; known once begun)\nNone.\n\n## Latest weather (METAR or SPECI, and TAF)\n[03:54] KBOS 230754Z 06005KT 6SM BR OVC003 17/16 A2993 RMK AO2 LTG DSNT S RAB34E52 SLP135 P0000 T01670161\n[01:40] TAF KBOS 230540Z 2306/2412 07004KT P6SM OVC007 TEMPO 2306/2308 -SHRA FM231000 12004KT 2SM BR OVC005 FM231500 20007KT 6SM BR BKN008 FM231900 20013G25KT P6SM SCT130 WS020/22045KT PROB30 2322/2401 2SM -TSRA BKN020CB FM240100 21013G23KT 6SM BR VCSH OVC010 FM241000 22010KT 4SM BR BKN008=\n[03:51] KJFK 230751Z 14003KT 10SM BKN060 BKN120 BKN250 22/20 A2987 RMK AO2 SLP114 T02170200 $\n[01:37] TAF KJFK 230537Z 2306/2412 17007KT P6SM BKN090 BKN250 FM231300 19012KT P6SM FEW050 SCT100 BKN250 FM231700 20023G30KT P6SM SCT050 BKN100 PROB30 2320/2402 3SM TSRA BKN025CB FM240200 21017G25KT P6SM BKN050 FM240800 26016G21KT P6SM SCT050=\n\n## Flights (sched = scheduled dep-arr; delay = known delay, ? not yet; plan = cancel or hold@HH:MM; proj = where your plan has it leave and land on the day as known; late = arrival delay; slot = its GDP slot; crew = crew deadline/rest end, +R on a reserve crew)\nid flight route sched pax type status delay plan proj late tail slot crew\nf0 746 PSE-JFK 03:30-07:30 135 A320 open 24 - 04:25-08:02 +32 N636JB - -\nf1 1233 MCO-SJU 05:01-07:57 150 A320 open -6 - 04:55-07:59 +2 N504JB - -\nf2 2304 SJU-JFK 05:01-08:59 136 A320 open -4 - 04:57-08:28 -31 N559JB - -\nf3 1603 JFK-SJU 05:05-08:53 181 A321 open -1 - 05:04-09:04 +11 N2084J - -\nf4 2404 BQN-JFK 05:05-08:54 137 A320 open -4 - 05:01-08:32 -22 N593JB - -\nf5 562 SJU-BOS 05:10-09:14 160 A321 open 17 - 05:27-09:17 +3 N952JB - -\nf6 917 BOS-JFK 05:14-06:30 112 A220 open -3 - 05:11-06:15 -15 N3115J - -\nf7 123 JFK-LAX 05:20-11:16 141 A321P open 0 - 05:20-11:19 +3 N982JB - -\nf8 201 BUF-JFK 05:33-07:00 115 A220 open -9 - 05:24-06:51 -9 N3162J - -\nf9 601 JFK-FLL 05:40-08:35 173 A321 open 80 - 07:00-09:48 +73 N949JT - -\nf10 37 BDL-MCO 06:00-08:54 147 A320 open -2 - 05:58-08:43 -11 N715JB - -\nf11 85 BUF-MCO 06:00-08:35 141 A320 open -9 - 05:51-08:21 -14 N661JB - -\nf12 281 JFK-IAH 06:00-09:38 128 A320 open 7 - 06:07-09:30 -8 N612JB - -\nf13 299 LGA-MCO 06:00-08:40 150 A320 open -1 - 05:59-08:35 -5 N789JB - -\nf14 306 FLL-EWR 06:00-08:58 150 A320 open 10 - 06:10-09:10 +12 N608JB - -\nf15 311 BOS-ORD 06:00-08:54 82 E190 open -4 - 05:56-08:43 -11 N267JB - -\nf16 371 LGA-FLL 06:00-08:55 143 A320 open -4 - 05:56-08:35 -20 N552JB - -\nf17 374 SYR-BOS 06:00-07:12 68 E190 open -4 - 05:56-07:12 +0 N265JB - -\nf18 387 BOS-LAX 06:00-12:15 146 A321P open -6 - 05:54-11:58 -17 N2142J - -\nf19 405 EWR-FLL 06:00-09:00 149 A320 open 153 - 08:33-11:26 +146 N521JB - -\nf20 540 CLE-BOS 06:00-07:45 87 E190 open 1 - 06:01-07:45 +0 N354JB - -\nf21 551 BOS-MCO 06:00-09:10 144 A320 open 27 - 06:27-09:12 +2 N784JB - -\nf22 555 BOS-DCA 06:00-07:44 88 E190 open -2 - 05:58-07:20 -24 N274JB - -\nf23 560 PHL-BOS 06:00-07:26 72 E190 open 0 - 06:00-07:18 -8 N306JB - -\nf24 569 BOS-FLL 06:00-09:23 138 A320 open 5 - 06:05-09:11 -12 N638JB - -\nf25 690 FLL-BOS 06:00-09:17 142 A320 open -6 - 05:54-08:58 -19 N561JB - -\nf26 884 MCO-JFK 06:00-08:40 148 A320 open -6 - 05:54-08:21 -19 N517JB - -\nf27 953 JFK-PBI 06:00-08:47 171 A321 open -5 - 05:55-08:49 +2 N907JB - -\nf28 954 SJU-FLL 06:00-08:46 143 A320 open -4 - 05:56-08:45 -1 N568JB - -\nf29 1073 JFK-BNA 06:00-08:20 117 A220 open 59 - 06:59-10:35 +135 N3102J - -\nf30 1245 BOS-CLT 06:00-08:24 72 E190 open -2 - 05:58-08:07 -17 N334JB - -\nf31 1285 ROC-JFK 06:00-07:22 114 A220 open 49 - 06:49-07:54 +32 N3112J - -\nf32 1434 SJU-MCO 06:00-09:08 149 A320 open 1 - 06:01-09:03 -5 N760JB - -\nf33 1833 BOS-SFO 06:00-12:28 143 A321P open -2 - 05:58-12:49 +21 N2169J - -\nf34 1883 BOS-RDU 06:00-08:03 85 E190 open -1 - 05:59-07:48 -15 N307JB - -\nf35 1902 FLL-JFK 06:00-08:53 148 A320 open -3 - 05:57-08:47 -6 N571JB - -\nf36 2024 MCO-DCA 06:00-08:18 126 A320 open -4 - 05:56-08:05 -13 N606JB - -\nf37 519 JFK-ATL 06:03-08:23 125 A220 open ? - 06:03-08:23 +0 N3085J - -\nf38 1197 PVD-FLL 06:04-09:15 137 A320 open ? - 06:04-09:15 +0 N527JL - -\nf39 515 BOS-BUF 06:05-07:40 125 A220 open ? - 06:05-07:40 +0 N3138J - -\nf40 959 BDL-FLL 06:10-09:24 150 A320 open ? - 06:55-10:09 +45 N563JB - -\nf41 2431 BOS-LGA 06:10-07:27 79 E190 open ? - 06:10-07:27 +0 N284JB - -\nf42 18 FLL-JAX 06:15-07:32 83 A320 open ? - 06:15-07:32 +0 N662JB - -\nf43 722 PBI-BOS 06:15-09:23 149 A320 open ? - 06:15-09:23 +0 N529JB - -\nf44 891 BOS-TPA 06:15-09:34 182 A321 open ? - 06:15-09:34 +0 N959JB - -\nf45 1280 FLL-DCA 06:15-08:45 134 A320 open ? - 06:15-08:45 +0 N665JB - -\nf46 87 ALB-FLL 06:19-09:30 135 A320 open ? - 06:19-09:30 +0 N729JB - -\nf47 598 MCO-LGA 06:20-09:00 149 A320 open ? - 06:20-09:00 +0 N768JB - -\nf48 2433 DCA-PBI 06:20-08:47 119 A320 open ? - 06:33-09:00 +13 N558JB - -\nf49 2713 ATL-LGA 06:20-08:30 130 A220 open ? - 06:20-08:30 +0 N3152J - -\nf50 1145 RIC-FLL 06:29-08:50 128 A320 open ? - 06:29-08:50 +0 N585JB - -\nf51 321 BOS-PBI 06:30-09:43 117 A220 open ? - 06:30-09:43 +0 N3139J - -\nf52 813 HPN-FLL 06:30-09:23 121 A320 open ? - 06:30-09:23 +0 N534JB - -\nf53 1529 JFK-RSW 06:30-09:34 121 A220 open ? - 06:30-09:34 +0 N3121J - -\nf54 1903 JFK-SJU 06:30-10:24 147 A320 open ? - 06:30-10:24 +0 N827JB - -\nf55 2285 JFK-RDU 06:30-08:10 116 A220 open ? - 06:30-08:10 +0 N3062J - -\nf56 2293 JFK-MIA 06:30-09:35 167 A321 open ? - 06:30-09:35 +0 N948JB - -\nf57 2725 JFK-TPA 06:30-09:20 148 A320 open ? - 06:30-09:20 +0 N594JB - -\nf58 301 FLL-LAX 06:31-11:57 148 A321P open ? - 06:31-11:57 +0 N980JT - -\nf59 401 BOS-MSY 06:32-10:02 109 A220 open ? - 06:32-10:02 +0 N3149J - -\nf60 143 EWR-PBI 06:35-09:20 132 A320 open ? - 06:35-09:20 +0 N630JB - -\nf61 265 BOS-RSW 06:40-10:10 139 A320 open ? - 06:40-10:10 +0 N588JB - -\nf62 1187 BOS-JFK 06:44-07:59 112 A220 open ? - 06:44-07:59 +0 N3132J - -\nf63 927 EWR-MCO 06:45-09:30 150 A320 open ? - 06:45-09:30 +0 N633JB - -\nf64 1368 PBI-HPN 06:45-09:33 125 A320 open ? - 06:45-09:33 +0 N607JB - -\nf65 1486 PIT-BOS 06:45-08:23 77 E190 open ? - 06:45-08:23 +0 N273JB - -\nf66 189 JFK-SAN 06:54-12:40 136 A321P open ? - 06:54-12:40 +0 N2151J - -\nf67 163 JFK-SRQ 06:59-09:59 121 A220 open ? - 06:59-09:59 +0 N3156J - -\nf68 261 BOS-SJU 07:00-11:05 135 A320 open ? - 07:00-11:05 +0 N627JB - -\nf69 397 BOS-SEA 07:00-13:13 140 A321P open ? - 07:00-13:13 +0 N934JB - -\nf70 455 BOS-DCA 07:00-08:45 88 E190 open ? - 07:00-08:45 +0 N337JB - -\nf71 1033 MCO-SJU 07:00-09:57 150 A320 open ? - 07:00-09:57 +0 N516JB - -\nf72 1097 BOS-ATL 07:00-09:46 128 A220 open ? - 07:00-09:46 +0 N3125J - -\nf73 1159 BOS-PHL 07:00-08:31 78 E190 open ? - 07:00-08:31 +0 N323JB - -\nf74 1177 BOS-LAS 07:00-12:45 143 A321P open ? - 07:00-12:45 +0 N964JT - -\nf75 1319 BOS-SAN 07:00-13:08 141 A321P open ? - 07:00-13:08 +0 N962JT - -\nf76 1807 BOS-BNA 07:00-09:50 119 A220 open ? - 07:00-09:50 +0 N3157J - -\nf77 1854 DCA-BOS 07:00-08:39 90 E190 open ? - 07:00-08:39 +0 N266JB - -\nf78 2015 JFK-SFO 07:00-13:16 147 A321P open ? - 07:00-13:16 +0 N986JB - -\nf79 2028 MCO-EWR 07:00-09:47 139 A320 open ? - 07:00-09:47 +0 N659JB - -\nf80 2204 SJU-JFK 07:00-11:02 167 A321 open ? - 07:00-11:02 +0 N2047J - -\nf81 2423 DCA-MCO 07:00-09:24 144 A320 open ? - 07:00-09:24 +0 N806JB - -\nf82 2625 RDU-FLL 07:00-09:05 138 A320 open ? - 07:00-09:05 +0 N613JB - -\nf83 172 FLL-LGA 07:09-10:00 150 A320 open ? - 07:09-10:00 +0 N705JB - -\nf84 154 PBI-JFK 07:10-09:55 148 A320 open ? - 07:10-09:55 +0 N508JL - -\nf85 1184 MCO-JFK 07:10-09:54 182 A321 open ? - 07:10-09:54 +0 N905JB - -\nf86 655 SYR-MCO 07:15-10:04 125 A320 open ? - 07:15-10:04 +0 N629JB - -\nf87 2001 BUF-JFK 07:15-08:42 115 A220 open ? - 07:15-08:42 +0 N3189J - -\nf88 2751 TPA-SJU 07:15-10:15 184 A321 open ? - 07:15-10:15 +0 N954JB - -\nf89 716 BUF-BOS 07:20-08:46 87 E190 open ? - 07:20-08:46 +0 N258JB - -\nf90 1333 BOS-SFO 07:20-13:53 143 A321P open ? - 07:20-13:53 +0 N946JL - -\nf91 1565 BOS-SAT 07:20-11:48 94 A220 open ? - 07:20-11:48 +0 N3023J - -\nf92 253 FLL-SJU 07:25-10:03 150 A320 open ? - 07:25-10:03 +0 N590JB - -\nf93 814 FLL-HPN 07:25-10:27 128 A320 open ? - 07:25-10:27 +0 N807JB - -\nf94 2229 BOS-MKE 07:25-10:00 112 A220 open ? - 08:00-10:35 +35 N3169J - -\nf95 1247 LGA-TPA 07:29-10:21 150 A320 open ? - 07:29-10:21 +0 N796JB - -\nf96 341 JFK-SAV 07:30-09:46 135 A320 open ? - 07:30-09:46 +0 N583JB - -\nf97 411 JFK-LAS 07:30-13:03 136 A321P open ? - 07:30-13:03 +0 N987JT - -\nf98 508 JFK-PWM 07:30-08:49 132 A321P open ? - 07:30-08:49 +0 N942JB - -\nf99 677 JFK-JAX 07:30-10:01 131 A220 open ? - 07:30-10:01 +0 N3145J - -\nf100 1130 FLL-CHS 07:30-09:08 113 A320 open ? - 07:30-09:08 +0 N621JB - -\nf101 1480 FLL-DCA 07:30-10:00 134 A320 open ? - 07:30-10:00 +0 N635JB - -\nf102 101 FLL-LAX 07:41-13:08 148 A321P open ? - 07:41-13:08 +0 N935JB - -\nf103 392 TPA-BOS 07:45-10:56 148 A320 open ? - 07:45-10:56 +0 N809JB - -\nf104 1447 HPN-TPA 07:45-10:32 143 A320 open ? - 07:45-10:32 +0 N708JB - -\nf105 1585 BOS-PIT 07:47-09:34 76 E190 open ? - 08:00-09:47 +13 N324JB - -\nf106 2714 LGA-ATL 07:47-10:09 126 A220 open ? - 07:47-10:09 +0 N3123J - -\nf107 75 JFK-MSY 08:00-11:13 105 A220 open ? - 08:00-11:13 +0 N3115J - -\nf108 533 BDL-TPA 08:00-10:58 142 A320 open ? - 08:00-10:58 +0 N651JB - -\nf109 723 JFK-LAX 08:00-13:58 141 A321P open ? - 08:00-13:58 +0 N993JE - -\nf110 1142 PBI-BDL 08:00-10:53 146 A320 open ? - 08:00-10:53 +0 N562JB - -\nf111 1551 HPN-RSW 08:00-10:54 141 A320 open ? - 08:00-10:54 +0 N766JB - -\nf112 2033 BOS-IAH 08:00-12:04 135 A320 open ? - 08:00-12:04 +0 N526JL - -\nf113 2041 BOS-CLE 08:00-10:08 87 E190 open ? - 08:00-10:08 +0 N279JB - -\nf114 2473 JFK-CHS 08:00-10:17 121 A320 open ? - 08:00-10:17 +0 N652JB - -\nf115 2718 JFK-BOS 08:00-09:19 105 A220 open ? - 08:00-09:19 +0 N3162J - -\nf116 2930 SJU-RDU 08:00-11:45 139 A320 open ? - 08:00-11:45 +0 N570JB - -\nf117 404 SJU-JFK 08:05-12:00 167 A321 open ? - 08:05-12:00 +0 N970JB - -\nf118 1105 JFK-ORD 08:07-10:50 113 A220 open ? - 09:00-11:43 +53 N3112J - -\nf119 1081 BOS-RIC 08:08-10:01 91 E190 open ? - 08:08-10:01 +0 N339JB - -\nf120 393 BOS-DEN 08:12-12:52 145 A320 open ? - 08:12-12:52 +0 N641JB - -\nf121 1573 EWR-LAX 08:13-14:10 141 A321P open ? - 08:13-14:10 +0 N947JB - -\nf122 1347 DCA-SJU 08:15-12:07 184 A321 open ? - 08:15-12:07 +0 N999JQ - -\nf123 17 JAX-FLL 08:20-09:38 90 A320 open ? - 08:20-09:38 +0 N662JB - -\nf124 1519 BOS-MIA 08:20-11:52 128 A320 open ? - 09:00-12:32 +40 N605JB - -\nf125 1083 JFK-MCO 08:24-11:15 147 A320 open ? - 08:24-11:15 +0 N592JB - -\nf126 516 BUF-BOS 08:25-09:49 122 A220 open ? - 08:25-09:49 +0 N3138J - -\nf127 874 TPA-EWR 08:25-11:10 150 A320 open ? - 08:25-11:10 +0 N805JB - -\nf128 1137 BOS-DTW 08:25-10:40 85 E190 open ? - 09:00-11:15 +35 N247JB - -\nf129 1601 JFK-FLL 08:25-11:27 173 A321 open ? - 09:00-12:02 +35 N2044J - -\nf130 2396 FLL-TLH 08:25-09:48 86 A320 open ? - 08:25-09:48 +0 N536JB - -\nf131 195 HPN-MCO 08:30-11:09 137 A320 open ? - 08:30-11:09 +0 N537JT - -\nf132 1954 DCA-BOS 08:30-10:18 90 E190 open ? - 08:30-10:18 +0 N274JB - -\nf133 602 FLL-JFK 08:35-11:32 148 A320 open ? - 08:35-11:32 +0 N640JB - -\nf134 2334 PBI-DCA 08:40-11:04 132 A320 open ? - 08:40-11:04 +0 N507JT - -\nf135 484 RDU-BOS 08:48-10:45 86 E190 open ? - 08:48-10:45 +0 N307JB - -\nf136 2786 RDU-JFK 08:55-10:35 125 A220 open ? - 08:55-10:35 +0 N3062J - -\nf137 2824 LAX-JFK 08:55-14:29 148 A321P open ? - 08:55-14:29 +0 N979JT - -\nf138 2465 BUF-FLL 08:57-11:51 139 A320 open ? - 11:01-13:55 +124 N535JB - -\nf139 1246 CLT-BOS 08:59-11:09 83 E190 open ? - 08:59-11:09 +0 N334JB - -\nf140 2121 HPN-ACK 08:59-10:00 60 E190 open ? - 08:59-10:00 +0 N283JB - -\nf141 288 LAX-BOS 09:00-14:40 149 A321P open ? - 09:00-14:40 +0 N977JE - -\nf142 323 JFK-LAX 09:00-14:58 141 A321P open ? - 09:00-14:58 +0 N944JT - -\nf143 577 FLL-SFO 09:00-14:57 142 A321P open ? - 09:00-14:57 +0 N985JT - -\nf144 947 JFK-BZN 09:00-13:55 139 A320 open ? - 09:00-13:55 +0 N649JB - -\nf145 1067 HPN-PBI 09:00-11:44 124 A320 open ? - 09:00-11:44 +0 N794JB - -\nf146 1216 SFO-JFK 09:00-14:37 152 A321P open ? - 09:00-14:37 +0 N976JT - -\nf147 1455 BOS-DCA 09:00-10:43 88 E190 open ? - 09:00-10:43 +0 N265JB - -\nf148 1602 JFK-BUF 09:00-10:30 125 A220 open ? - 09:00-10:30 +0 N3132J - -\nf149 2091 JFK-ACK 09:00-10:20 66 E190 open ? - 09:00-10:20 +0 N328JB - -\nf150 1074 BNA-JFK 09:05-11:28 115 A220 open ? - 10:35-12:58 +90 N3157J - -\nf151 1160 PHL-BOS 09:06-10:35 72 E190 open ? - 09:06-10:35 +0 N323JB - -\nf152 520 ATL-JFK 09:09-11:30 129 A220 open ? - 09:09-11:30 +0 N3085J - -\nf153 725 JFK-SAT 09:10-13:21 110 A220 open ? - 09:40-13:51 +30 N3104J - -\nf154 1923 DCA-MCO 09:10-11:35 134 A320 open ? - 09:10-11:35 +0 N834JB - -\nf155 267 BOS-CHS 09:15-11:39 78 E190 open ? - 09:15-11:39 +0 N306JB - -\nf156 461 LGA-PBI 09:15-12:09 128 A220 open ? - 09:15-12:09 +0 N3142J - -\nf157 183 JFK-MCO 09:20-12:12 181 A321 open ? - 09:20-12:12 +0 N975JT - -\nf158 1 JFK-FLL 09:25-12:26 140 A320 open ? - 09:25-12:26 +0 N623JB - -\nf159 488 MCO-ORH 09:25-12:20 129 A320 open ? - 09:25-12:20 +0 N523JB - -\nf160 2277 BOS-AVL 09:25-11:50 101 A220 open ? - 09:25-11:50 +0 N3194J - -\nf161 312 ORD-BOS 09:29-11:55 81 E190 open ? - 09:29-11:55 +0 N267JB - -\nf162 379 DCA-FLL 09:30-12:05 146 A320 open ? - 09:30-12:05 +0 N606JB - -\nf163 599 LGA-MCO 09:30-12:20 133 A220 open ? - 09:30-12:20 +0 N3152J - -\nf164 733 BOS-SFO 09:30-16:01 143 A321P open ? - 09:30-16:01 +0 N981JT - -\nf165 2432 LGA-BOS 09:30-10:48 79 E190 open ? - 09:30-10:48 +0 N281JB - -\nf166 1054 PBI-JFK 09:32-12:19 182 A321 open ? - 09:44-12:31 +12 N907JB - -\nf167 115 JFK-SFO 09:40-16:00 147 A321P open ? - 09:40-16:00 +0 N923JB - -\nf168 42 PBI-LGA 09:42-12:33 150 A320 open ? - 09:45-12:36 +3 N558JB - -\nf169 407 PWM-JFK 09:45-11:00 108 A321P open ? - 09:45-11:00 +0 N942JB - -\nf170 531 BOS-LGA 09:45-10:59 79 E190 open ? - 09:45-10:59 +0 N354JB - -\nf171 2324 MCO-DCA 09:45-12:03 136 A320 open ? - 09:45-12:03 +0 N637JB - -\nf172 2511 EWR-RSW 09:45-12:46 149 A320 open ? - 09:45-12:46 +0 N657JB - -\nf173 1002 FLL-JFK 09:50-12:47 182 A321 open ? - 10:43-13:40 +53 N949JT - -\nf174 1497 JFK-DEN 09:50-14:13 147 A320 open ? - 09:50-14:13 +0 N554JB - -\nf175 1131 CHS-FLL 09:53-11:29 124 A320 open ? - 09:53-11:29 +0 N621JB - -\nf176 698 MCO-LGA 09:55-12:34 149 A320 open ? - 09:55-12:34 +0 N586JB - -\nf177 1584 MCO-JFK 09:55-12:38 148 A320 open ? - 09:55-12:38 +0 N618JB - -\nf178 1655 BOS-DCA 09:55-11:35 88 E190 open ? - 09:55-11:35 +0 N273JB - -\nf179 2051 BOS-MCO 09:57-13:10 144 A320 open ? - 09:57-13:10 +0 N598JB - -\nf180 1039 BOS-AUS 10:00-14:17 116 A220 open ? - 10:00-14:17 +0 N3044J - -\nf181 1076 MCO-PVD 10:00-12:50 130 A320 open ? - 10:00-12:50 +0 N775JB - -\nf182 1553 FLL-SJU 10:00-12:42 150 A320 open ? - 10:00-12:42 +0 N603JB - -\nf183 1774 LAX-EWR 10:00-15:30 148 A321P open ? - 10:00-15:30 +0 N943JT - -\nf184 2123 JFK-LAX 10:00-15:55 142 A321P open ? - 10:00-15:55 +0 N937JB - -\nf185 126 TPA-JFK 10:05-12:53 150 A320 open ? - 10:05-12:53 +0 N594JB - -\nf186 2417 BOS-JFK 10:05-11:22 112 A220 open ? - 10:05-11:22 +0 N3162J - -\nf187 272 FLL-LGA 10:08-13:00 150 A320 open ? - 10:08-13:00 +0 N703JB - -\nf188 62 SJU-BOS 10:10-14:15 160 A321 open ? - 10:10-14:15 +0 N2084J - -\nf189 144 PBI-EWR 10:10-13:03 136 A320 open ? - 10:10-13:03 +0 N630JB - -\nf190 1352 BOS-ACK 10:10-11:05 73 E190 open ? - 10:10-11:05 +0 N266JB - -\nf191 731 BOS-SJU 10:12-14:14 135 A320 open ? - 10:12-14:14 +0 N828JB - -\nf192 1530 RSW-JFK 10:19-13:08 130 A220 open ? - 10:19-13:08 +0 N3121J - -\nf193 554 DCA-BOS 10:20-12:00 90 E190 open ? - 10:20-12:00 +0 N337JB - -\nf194 724 LAX-JFK 10:20-16:01 148 A321P open ? - 10:20-16:01 +0 N969JT - -\nf195 1286 PIT-BOS 10:20-12:00 77 E190 open ? - 10:22-12:02 +2 N324JB - -\nf196 1460 FLL-EWR 10:20-13:19 150 A320 open ? - 10:20-13:19 +0 N746JB - -\nf197 1680 FLL-DCA 10:25-13:00 134 A320 open ? - 10:25-13:00 +0 N552JB - -\nf198 2071 FLL-BQN 10:25-12:55 145 A320 open ? - 10:25-12:55 +0 N534JB - -\nf199 222 PBI-BOS 10:28-13:30 129 A220 open ? - 10:28-13:30 +0 N3139J - -\nf200 94 MCO-HPN 10:30-13:19 135 A320 open ? - 10:30-13:19 +0 N661JB - -\nf201 595 HPN-MCO 10:30-13:09 137 A320 open ? - 10:30-13:09 +0 N607JB - -\nf202 687 BOS-LAX 10:30-16:43 146 A321P open ? - 10:30-16:43 +0 N929JB - -\nf203 1371 LGA-FLL 10:30-13:32 143 A320 open ? - 10:30-13:32 +0 N768JB - -\nf204 1613 JFK-LAS 10:30-16:01 136 A321P open ? - 10:30-16:01 +0 N961JT - -\nf205 1889 EWR-SJU 10:30-14:30 148 A320 open ? - 10:30-14:30 +0 N658JB - -\nf206 2503 JFK-SJU 10:30-14:25 181 A321 open ? - 10:30-14:25 +0 N2027J - -\nf207 82 IAH-JFK 10:34-14:14 150 A320 open ? - 10:34-14:14 +0 N612JB - -\nf208 215 BOS-DFW 10:34-14:39 122 A220 open ? - 10:34-14:39 +0 N3138J - -\nf209 892 TPA-BOS 10:34-13:46 183 A321 open ? - 10:34-13:46 +0 N959JB - -\nf210 896 ATL-BOS 10:34-13:14 128 A220 open ? - 10:34-13:14 +0 N3125J - -\nf211 342 SAV-JFK 10:35-12:44 140 A320 open ? - 10:35-12:44 +0 N583JB - -\nf212 1806 BNA-BOS 10:35-13:13 120 A220 open ? - 11:20-13:58 +45 N3102J - -\nf213 2592 MIA-JFK 10:35-13:44 179 A321 open ? - 10:35-13:44 +0 N948JB - -\nf214 2397 TLH-FLL 10:38-12:02 90 A320 open ? - 10:38-12:02 +0 N536JB - -\nf215 127 EWR-MCO 10:40-13:25 141 A320 open ? - 10:40-13:25 +0 N608JB - -\nf216 1133 MCO-SJU 10:40-13:40 150 A320 open ? - 10:40-13:40 +0 N789JB - -\nf217 1182 RIC-BOS 10:41-12:19 90 E190 open ? - 10:41-12:19 +0 N339JB - -\nf218 164 SRQ-JFK 10:45-13:35 131 A220 open ? - 10:45-13:35 +0 N3156J - -\nf219 1079 DCA-FLL 10:45-13:20 146 A320 open ? - 10:45-13:20 +0 N665JB - -\nf220 2493 ACK-DCA 10:45-12:20 66 E190 open ? - 10:45-12:20 +0 N283JB - -\nf221 400 MSY-BOS 10:47-14:04 115 A220 open ? - 10:47-14:04 +0 N3149J - -\nf222 1036 SJU-STT 10:48-11:27 107 A320 open ? - 10:48-11:27 +0 N504JB - -\nf223 1334 SJU-MCO 10:49-13:59 149 A320 open ? - 10:49-13:59 +0 N516JB - -\nf224 2040 CLE-BOS 10:49-12:32 87 E190 open ? - 10:49-12:32 +0 N279JB - -\nf225 109 BOS-JAX 10:50-13:42 145 A320 open ? - 10:50-13:42 +0 N529JB - -\nf226 2230 MKE-BOS 10:55-13:15 114 A220 open ? - 11:20-13:40 +25 N3169J - -\nf227 678 JAX-JFK 10:56-13:19 131 A220 open ? - 10:56-13:19 +0 N3145J - -\nf228 83 JFK-MCO 11:00-13:45 147 A320 open ? - 11:00-13:45 +0 N636JB - -\nf229 434 SFO-BOS 11:00-16:46 149 A321P open ? - 11:00-16:46 +0 N978JB - -\nf230 523 JFK-LAX 11:00-16:57 141 A321P open ? - 11:21-17:18 +21 N992JB - -\nf231 1401 JFK-FLL 11:00-13:57 140 A320 open ? - 11:00-13:57 +0 N591JB - -\nf232 1755 BOS-DCA 11:00-12:42 88 E190 open ? - 11:00-12:42 +0 N258JB - -\nf233 1274 CHS-JFK 11:02-12:56 134 A320 open ? - 11:02-12:56 +0 N652JB - -\nf234 2813 ATL-LGA 11:04-13:17 130 A220 open ? - 11:04-13:17 +0 N3123J - -\nf235 92 ACK-JFK 11:05-12:13 55 E190 open ? - 11:05-12:13 +0 N328JB - -\nf236 1552 RSW-HPN 11:05-13:55 150 A320 open ? - 11:05-13:55 +0 N588JB - -\nf237 2283 BOS-RDU 11:10-13:12 85 E190 open ? - 11:10-13:12 +0 N274JB - -\nf238 1901 BUF-JFK 11:15-12:43 115 A220 open ? - 11:15-12:43 +0 N3132J - -\nf239 1248 TPA-LGA 11:18-14:01 150 A320 open ? - 11:18-14:01 +0 N796JB - -\nf240 1904 SJU-JFK 11:19-15:15 136 A320 open ? - 11:19-15:15 +0 N590JB - -\nf241 624 LAX-JFK 11:25-17:00 148 A321P open ? - 11:25-17:00 +0 N968JT - -\nf242 1485 BOS-PIT 11:25-13:09 76 E190 open ? - 11:25-13:09 +0 N323JB - -\nf243 2036 DTW-BOS 11:25-13:22 86 E190 open ? - 11:50-13:47 +25 N247JB - -\nf244 718 JFK-BOS 11:29-12:49 105 A220 open ? - 11:29-12:49 +0 N3062J - -\nf245 217 BOS-JFK 11:30-12:45 80 E190 open ? - 11:30-12:45 +0 N307JB - -\nf246 2310 LGA-ACK 11:30-12:44 68 E190 open ? - 11:30-12:44 +0 N284JB - -\nf247 2454 DCA-BOS 11:30-13:06 90 E190 open ? - 11:30-13:06 +0 N265JB - -\nf248 2648 HPN-CHS 11:30-13:29 94 A320 open ? - 11:30-13:29 +0 N807JB - -\nf249 906 ORD-JFK 11:35-13:55 112 A220 open ? - 12:28-14:48 +53 N3112J - -\nf250 1338 JFK-MVY 11:35-12:44 59 E190 open ? - 11:35-12:44 +0 N249JB - -\nf251 266 RSW-BOS 11:40-14:58 147 A320 open ? - 11:40-14:58 +0 N766JB - -\nf252 1141 BDL-PBI 11:50-14:48 138 A320 open ? - 11:50-14:48 +0 N562JB - -\nf253 1351 ACK-BOS 11:50-12:42 57 E190 open ? - 11:50-12:42 +0 N266JB - -\nf254 1752 SJU-TPA 11:52-15:00 145 A320 open ? - 11:52-15:00 +0 N827JB - -\nf255 1534 TPA-BDL 11:53-14:44 142 A320 open ? - 11:53-14:44 +0 N651JB - -\nf256 176 MSY-JFK 11:58-15:05 116 A220 open ? - 11:58-15:05 +0 N3115J - -\nf257 23 DCA-MCO 12:00-14:21 144 A320 open ? - 12:00-14:21 +0 N635JB - -\nf258 70 FLL-BOS 12:00-15:15 142 A320 open ? - 12:00-15:15 +0 N729JB - -\nf259 446 MCO-BDL 12:00-14:49 148 A320 open ? - 12:00-14:49 +0 N715JB - -\nf260 755 BOS-DCA 12:00-13:39 88 E190 open ? - 12:00-13:39 +0 N281JB - -\nf261 503 JFK-SJU 12:02-16:03 181 A321 open ? - 12:02-16:03 +0 N972JT - -\nf262 119 MCO-RIC 12:04-14:10 137 A320 open ? - 12:04-14:10 +0 N760JB - -\nf263 1388 LAX-BOS 12:05-17:47 149 A321P open ? - 12:05-17:47 +0 N983JT - -\nf264 1135 STT-SJU 12:12-13:05 108 A320 open ? - 12:12-13:05 +0 N504JB - -\nf265 285 JFK-RDU 12:15-14:03 116 A220 open ? - 12:15-14:03 +0 N3162J - -\nf266 2719 JFK-ATL 12:16-14:40 125 A220 open ? - 12:16-14:40 +0 N3085J - -\nf267 1414 DCA-MVY 12:23-13:49 75 E190 open ? - 12:23-13:49 +0 N273JB - -\nf268 2020 FLL-ORH 12:24-15:31 132 A320 open ? - 12:24-15:31 +0 N662JB - -\nf269 68 CHS-BOS 12:25-14:49 80 E190 open ? - 12:25-14:49 +0 N306JB - -\nf270 1273 JFK-CHS 12:30-14:44 105 A220 open ? - 13:28-15:42 +58 N3132J - -\nf271 1604 SJU-JFK 12:30-16:32 167 A321 open ? - 12:30-16:32 +0 N954JB - -\nf272 2352 BOS-ACK 12:30-13:22 73 E190 open ? - 12:30-13:22 +0 N334JB - -\nf273 2732 LGA-BOS 12:30-13:48 79 E190 open ? - 12:30-13:48 +0 N354JB - -\nf274 324 LAX-JFK 12:35-18:12 148 A321P open ? - 12:35-18:12 +0 N982JB - -\nf275 2278 AVL-BOS 12:35-14:50 91 A220 open ? - 12:35-14:50 +0 N3194J - -\nf276 1220 MIA-BOS 12:40-16:09 119 A320 open ? - 13:17-16:46 +37 N605JB - -\nf277 1288 PBI-PVD 12:40-15:40 150 A320 open ? - 12:40-15:40 +0 N794JB - -\nf278 1753 EWR-TPA 12:40-15:29 148 A320 open ? - 12:40-15:29 +0 N659JB - -\nf279 1802 FLL-JFK 12:42-15:46 182 A321 open ? - 12:57-16:01 +15 N2044J - -\nf280 1566 SAT-BOS 12:43-17:00 123 A220 open ? - 12:43-17:00 +0 N3023J - -\nf281 2929 RDU-SJU 12:44-16:28 149 A320 open ? - 12:44-16:28 +0 N570JB - -\nf282 1080 FLL-DCA 12:51-15:25 134 A320 open ? - 12:51-15:25 +0 N568JB - -\nf283 416 SFO-JFK 12:54-18:30 152 A321P open ? - 12:54-18:30 +0 N989JT - -\nf284 932 IAH-BOS 12:54-16:48 147 A320 open ? - 12:54-16:48 +0 N526JL - -\nf285 295 JFK-AUS 12:55-16:56 144 A320 open ? - 12:55-16:56 +0 N517JB - -\nf286 579 DCA-FLL 13:00-15:34 146 A320 open ? - 13:00-15:34 +0 N507JT - -\nf287 1515 JFK-SFO 13:00-19:09 147 A321P open ? - 13:00-19:09 +0 N942JB - -\nf288 1955 BOS-DCA 13:00-14:45 88 E190 open ? - 13:00-14:45 +0 N267JB - -\nf289 770 MCO-ALB 13:01-15:55 149 A320 open ? - 13:01-15:55 +0 N784JB - -\nf290 186 JFK-ROC 13:04-14:22 118 A220 open ? - 13:31-14:49 +27 N3185J - -\nf291 683 BOS-RDU 13:04-15:06 85 E190 open ? - 13:04-15:06 +0 N337JB - -\nf292 1962 PBI-LGA 13:04-15:52 131 A220 open ? - 13:04-15:52 +0 N3142J - -\nf293 987 ORH-MCO 13:05-16:14 142 A320 open ? - 13:05-16:14 +0 N523JB - -\nf294 2254 DCA-BOS 13:05-14:44 90 E190 open ? - 13:05-14:44 +0 N283JB - -\nf295 2516 JFK-HYA 13:05-14:14 59 E190 open ? - 13:05-14:14 +0 N328JB - -\nf296 1700 LAX-FLL 13:07-18:21 153 A321P open ? - 13:07-18:21 +0 N980JT - -\nf297 1031 BOS-LGA 13:15-14:34 79 E190 open ? - 13:15-14:34 +0 N324JB - -\nf298 1372 FLL-LGA 13:15-16:09 150 A320 open ? - 13:15-16:09 +0 N621JB - -\nf299 2215 BOS-BUF 13:17-14:50 90 E190 open ? - 13:17-14:50 +0 N339JB - -\nf300 46 LGA-TPA 13:20-16:17 150 A320 open ? - 13:20-16:17 +0 N586JB - -\nf301 188 LAX-BOS 13:25-19:05 149 A321P open ? - 13:25-19:05 +0 N2142J - -\nf302 679 JFK-MKE 13:29-15:55 117 A220 open ? - 13:53-16:19 +24 N3121J - -\nf303 1339 MVY-JFK 13:29-14:34 43 E190 open ? - 13:29-14:34 +0 N249JB - -\nf304 218 JFK-BOS 13:30-14:47 75 E190 open ? - 13:30-14:47 +0 N307JB - -\nf305 399 LGA-MCO 13:30-16:26 150 A320 open ? - 13:30-16:26 +0 N558JB - -\nf306 1098 MCO-LGA 13:30-16:13 129 A220 open ? - 13:30-16:13 +0 N3152J - -\nf307 1745 BOS-CLT 13:30-15:57 72 E190 open ? - 13:30-15:57 +0 N279JB - -\nf308 1454 SJU-FLL 13:33-16:25 143 A320 open ? - 13:33-16:25 +0 N564JB - -\nf309 1075 PVD-MCO 13:35-16:38 124 A320 open ? - 13:35-16:38 +0 N775JB - -\nf310 410 ACK-LGA 13:40-15:00 55 E190 open ? - 13:40-15:00 +0 N284JB - -\nf311 2072 BQN-FLL 13:40-16:14 131 A320 open ? - 13:40-16:14 +0 N534JB - -\nf312 2512 RSW-EWR 13:41-16:42 150 A320 open ? - 13:41-16:42 +0 N657JB - -\nf313 184 MCO-JFK 13:45-16:30 182 A321 open ? - 13:45-16:30 +0 N975JT - -\nf314 578 SFO-FLL 13:45-19:27 148 A321P open ? - 13:45-19:27 +0 N2169J - -\nf315 190 SAN-JFK 13:50-19:32 150 A321P open ? - 13:50-19:32 +0 N2151J - -\nf316 934 SJU-MCO 13:50-17:05 149 A320 open ? - 13:50-17:05 +0 N627JB - -\nf317 394 DEN-BOS 13:52-17:56 144 A320 open ? - 13:52-17:56 +0 N641JB - -\nf318 207 BOS-BNA 13:53-16:43 119 A220 open ? - 13:53-16:43 +0 N3062J - -\nf319 271 LGA-FLL 13:55-17:00 143 A320 open ? - 13:55-17:00 +0 N703JB - -\nf320 448 LAS-JFK 13:55-19:04 143 A321P open ? - 13:55-19:04 +0 N964JT - -\nf321 1727 EWR-MCO 13:55-16:46 141 A320 open ? - 13:55-16:46 +0 N805JB - -\nf322 1733 DCA-PBI 13:55-16:27 119 A320 open ? - 13:55-16:27 +0 N637JB - -\nf323 2286 PIT-BOS 13:55-15:35 77 E190 open ? - 13:55-15:35 +0 N323JB - -\nf324 2184 RDU-BOS 13:57-16:05 86 E190 open ? - 13:57-16:05 +0 N274JB - -\nf325 53 JFK-PBI 13:59-16:59 139 A320 open ? - 13:59-16:59 +0 N656JB - -\nf326 1855 BOS-DCA 14:00-15:46 88 E190 open ? - 14:00-15:46 +0 N266JB - -\nf327 2554 DCA-BOS 14:00-15:42 90 E190 open ? - 14:00-15:42 +0 N258JB - -\nf328 991 FLL-SJU 14:05-16:49 150 A320 open ? - 14:05-16:49 +0 N623JB - -\nf329 1122 ACK-HPN 14:07-15:10 50 E190 open ? - 14:07-15:10 +0 N334JB - -\nf330 552 MCO-BOS 14:10-17:20 132 A320 open ? - 14:10-17:20 +0 N633JB - -\nf331 821 JFK-RSW 14:10-17:20 121 A220 open ? - 14:20-17:30 +10 N3156J - -\nf332 1037 BOS-DTW 14:10-16:23 119 A220 open ? - 14:10-16:23 +0 N3125J - -\nf333 2614 LGA-ATL 14:12-16:35 126 A220 open ? - 14:12-16:35 +0 N3123J - -\nf334 1178 LAS-BOS 14:13-19:32 145 A321P open ? - 14:13-19:32 +0 N987JT - -\nf335 495 HPN-MCO 14:15-17:02 137 A320 open ? - 14:15-17:02 +0 N661JB - -\nf336 1459 EWR-FLL 14:15-17:18 149 A320 open ? - 14:15-17:18 +0 N630JB - -\nf337 2647 CHS-HPN 14:15-16:15 85 A320 open ? - 14:15-16:15 +0 N807JB - -\nf338 1324 BOS-MVY 14:17-15:03 43 E190 open ? - 14:17-15:03 +0 N265JB - -\nf339 1874 LAX-EWR 14:18-19:47 148 A321P open ? - 14:18-19:47 +0 N935JB - -\nf340 726 SAT-JFK 14:19-18:29 114 A220 open ? - 14:36-18:46 +17 N3104J - -\nf341 1320 SAN-BOS 14:20-20:02 151 A321P open ? - 14:20-20:02 +0 N962JT - -\nf342 2466 FLL-BUF 14:20-17:17 150 A320 open ? - 14:20-17:17 +0 N768JB - -\nf343 349 BOS-SAV 14:25-17:08 130 A220 open ? - 14:25-17:08 +0 N3139J - -\nf344 904 SJU-JFK 14:25-18:29 167 A321 open ? - 14:25-18:29 +0 N999JQ - -\nf345 2251 BOS-MCO 14:25-17:41 124 A220 open ? - 14:25-17:41 +0 N3169J - -\nf346 2494 DCA-ACK 14:25-15:59 75 E190 open ? - 14:25-15:59 +0 N281JB - -\nf347 784 MCO-JFK 14:26-17:14 148 A320 open ? - 14:26-17:14 +0 N821JB - -\nf348 2993 JFK-MIA 14:29-17:42 117 A220 open ? - 15:33-18:46 +64 N3112J - -\nf349 398 SEA-BOS 14:30-19:58 140 A321P open ? - 14:30-19:58 +0 N934JB - -\nf350 500 MCO-RDU 14:30-16:20 114 A320 open ? - 14:30-16:20 +0 N537JT - -\nf351 1310 JAX-BOS 14:30-17:23 147 A320 open ? - 14:30-17:23 +0 N529JB - -\nf352 2902 JFK-BUF 14:30-16:05 125 A220 open ? - 15:50-17:25 +80 N3115J - -\nf353 1413 MVY-DCA 14:34-16:10 61 E190 open ? - 14:34-16:10 +0 N273JB - -\nf354 317 BOS-JFK 14:40-16:01 112 A220 open ? - 14:43-16:04 +3 N3102J - -\nf355 1677 JFK-JAX 14:40-17:15 131 A220 open ? - 16:49-19:24 +129 N3102J - -\nf356 128 MCO-EWR 14:44-17:33 150 A320 open ? - 14:44-17:33 +0 N592JB - -\nf357 1634 SJU-MCO 14:45-18:01 149 A320 open ? - 14:45-18:01 +0 N603JB - -\nf358 61 BOS-SJU 14:46-18:51 167 A321 open ? - 14:46-18:51 +0 N959JB - -\nf359 383 JFK-MCO 14:50-17:50 181 A321 open ? - 14:50-17:50 +0 N970JB - -\nf360 1251 HPN-PBI 14:50-17:39 124 A320 open ? - 14:50-17:39 +0 N588JB - -\nf361 120 RIC-MCO 14:55-17:06 140 A320 open ? - 14:55-17:06 +0 N760JB - -\nf362 944 BZN-JFK 14:55-19:29 139 A320 open ? - 14:55-19:29 +0 N649JB - -\nf363 86 RDU-JFK 14:59-16:45 125 A220 open ? - 14:59-16:45 +0 N3162J - -\nf364 125 JFK-TPA 14:59-18:06 148 A320 open ? - 14:59-18:06 +0 N508JL - -\nf365 591 BOS-TPA 14:59-18:24 127 A220 open ? - 14:59-18:24 +0 N3149J - -\nf366 1961 LGA-PBI 14:59-18:00 149 A320 open ? - 14:59-18:00 +0 N796JB - -\nf367 936 SJU-STT 15:00-15:44 107 A320 open ? - 15:00-15:44 +0 N504JB - -\nf368 2223 JFK-LAX 15:00-21:06 142 A321P open ? - 15:00-21:06 +0 N2157J - -\nf369 415 HYA-JFK 15:02-16:05 49 E190 open ? - 15:02-16:05 +0 N328JB - -\nf370 1498 DEN-JFK 15:03-18:59 134 A320 open ? - 15:03-18:59 +0 N554JB - -\nf371 438 MCO-BDL 15:06-17:56 148 A320 open ? - 15:06-17:56 +0 N607JB - -\nf372 231 BOS-LGA 15:10-16:30 79 E190 open ? - 15:10-16:30 +0 N247JB - -\nf373 1138 AUS-BOS 15:12-19:27 130 A220 open ? - 15:12-19:27 +0 N3044J - -\nf374 534 SFO-BOS 15:15-20:59 150 A321P open ? - 15:15-20:59 +0 N986JB - -\nf375 1116 SFO-JFK 15:15-21:00 152 A321P open ? - 15:15-21:00 +0 N946JL - -\nf376 1433 MCO-SJU 15:15-18:19 150 A320 open ? - 15:15-18:19 +0 N598JB - -\nf377 485 ROC-JFK 15:17-16:44 114 A220 open ? - 15:34-17:01 +17 N3185J - -\nf378 300 LAX-FLL 15:20-20:24 153 A321P open ? - 15:20-20:24 +0 N993JE - -\nf379 2421 BOS-PBI 15:20-18:40 135 A320 open ? - 15:20-18:40 +0 N809JB - -\nf380 2566 LGA-MVY 15:20-16:30 61 E190 open ? - 15:20-16:30 +0 N324JB - -\nf381 1124 LAX-JFK 15:22-21:00 148 A321P open ? - 15:22-21:00 +0 N947JB - -\nf382 1890 SJU-EWR 15:25-19:45 146 A320 open ? - 15:25-19:45 +0 N789JB - -\nf383 2233 BOS-SFO 15:25-21:58 143 A321P open ? - 15:25-21:58 +0 N990JL - -\nf384 641 BOS-CLE 15:29-17:35 87 E190 open ? - 15:29-17:35 +0 N354JB - -\nf385 1243 EWR-PBI 15:30-18:29 143 A320 open ? - 15:30-18:29 +0 N746JB - -\nf386 1254 DCA-BOS 15:30-17:18 90 E190 open ? - 15:30-17:18 +0 N267JB - -\nf387 1214 DFW-BOS 15:34-19:27 117 A220 open ? - 15:34-19:27 +0 N3138J - -\nf388 462 SJU-BOS 15:35-19:45 160 A321 open ? - 15:35-19:45 +0 N2027J - -\nf389 2016 BUF-BOS 15:35-17:04 87 E190 open ? - 15:35-17:04 +0 N339JB - -\nf390 2185 BOS-PIT 15:35-17:23 76 E190 open ? - 15:35-17:23 +0 N283JB - -\nf391 720 ATL-JFK 15:36-18:06 129 A220 open ? - 15:36-18:06 +0 N3085J - -\nf392 2474 CHS-JFK 15:39-17:49 115 A220 open ? - 16:27-18:37 +48 N3132J - -\nf393 1032 LGA-BOS 15:40-17:03 79 E190 open ? - 15:40-17:03 +0 N284JB - -\nf394 1475 BDL-SJU 15:40-19:44 150 A320 open ? - 15:40-19:44 +0 N651JB - -\nf395 447 BDL-MCO 15:45-18:54 147 A320 open ? - 15:45-18:54 +0 N715JB - -\nf396 697 BOS-ATL 15:45-18:35 128 A220 open ? - 15:45-18:35 +0 N3194J - -\nf397 2291 JFK-ACK 15:45-17:09 66 E190 open ? - 15:45-17:09 +0 N249JB - -\nf398 2424 MCO-DCA 15:45-18:09 136 A320 open ? - 15:45-18:09 +0 N608JB - -\nf399 1225 MVY-BOS 15:48-16:35 38 E190 open ? - 15:48-16:35 +0 N265JB - -\nf400 1205 JFK-ORD 15:50-18:43 113 A220 open ? - 17:30-20:23 +100 N3162J - -\nf401 1963 JFK-SYR 15:50-17:14 96 A320 open ? - 15:50-17:14 +0 N640JB - -\nf402 684 RDU-BOS 15:51-17:55 86 E190 open ? - 15:51-17:55 +0 N337JB - -\nf403 1751 TPA-SJU 15:51-18:55 149 A320 open ? - 15:51-18:55 +0 N827JB - -\nf404 835 BOS-MSP 15:55-19:10 77 E190 open ? - 15:55-19:10 +0 N307JB - -\nf405 1121 HPN-ACK 15:55-17:00 60 E190 open ? - 15:55-17:00 +0 N334JB - -\nf406 615 JFK-SFO 15:59-22:26 147 A321P open ? - 15:59-22:26 +0 N979JT - -\nf407 1211 JFK-LAS 15:59-21:40 139 A320 open ? - 15:59-21:40 +0 N645JB - -\nf408 197 BOS-SEA 16:00-22:20 140 A321P open ? - 16:00-22:20 +0 N988JT - -\nf409 861 BOS-SJU 16:00-20:05 167 A321 open ? - 16:00-20:05 +0 N2084J - -\nf410 971 BOS-SJC 16:00-22:25 111 A220 open ? - 17:45-00:10+1 +105 N3023J - -\nf411 1168 PBI-HPN 16:00-18:55 125 A320 open ? - 16:00-18:55 +0 N562JB - -\nf412 2469 BOS-FLL 16:00-19:29 138 A320 open ? - 16:00-19:29 +0 N634JB - -\nf413 19 BOS-SAN 16:10-22:18 141 A321P open ? - 16:10-22:18 +0 N945JT - -\nf414 1579 DCA-FLL 16:10-18:56 146 A320 open ? - 16:10-18:56 +0 N552JB - -\nf415 2065 BOS-RSW 16:10-19:44 139 A320 open ? - 16:10-19:44 +0 N766JB - -\nf416 2467 BOS-CHS 16:20-18:50 78 E190 open ? - 16:20-18:50 +0 N306JB - -\nf417 1880 FLL-DCA 16:22-18:59 134 A320 open ? - 16:22-18:59 +0 N591JB - -\nf418 2274 TPA-EWR 16:24-19:16 150 A320 open ? - 16:24-19:16 +0 N659JB - -\nf419 732 SJU-BOS 16:25-20:35 129 A320 open ? - 16:25-20:35 +0 N828JB - -\nf420 1084 MCO-JFK 16:25-19:20 148 A320 open ? - 16:25-19:20 +0 N636JB - -\nf421 1734 SFO-BOS 16:25-22:07 149 A321P open ? - 16:25-22:07 +0 N985JT - -\nf422 2119 ORH-FLL 16:26-19:40 123 A320 open ? - 16:26-19:40 +0 N662JB - -\nf423 2259 BOS-PHL 16:28-18:00 78 E190 open ? - 16:28-18:00 +0 N323JB - -\nf424 888 LAX-BOS 16:29-22:00 149 A321P open ? - 16:29-22:00 +0 N944JT - -\nf425 287 BOS-LAX 16:30-22:43 146 A321P open ? - 16:30-22:43 +0 N977JE - -\nf426 883 JFK-MCO 16:30-19:38 147 A320 open ? - 16:30-19:38 +0 N612JB - -\nf427 1189 JFK-SAN 16:30-22:30 136 A321P open ? - 16:30-22:30 +0 N976JT - -\nf428 1287 PVD-PBI 16:35-19:45 122 A320 open ? - 16:35-19:45 +0 N794JB - -\nf429 699 LGA-MCO 16:37-19:40 133 A220 open ? - 16:37-19:40 +0 N3142J - -\nf430 435 STT-SJU 16:40-17:30 108 A320 open ? - 16:40-17:30 +0 N504JB - -\nf431 1354 DCA-BOS 16:40-18:24 90 E190 open ? - 16:40-18:24 +0 N266JB - -\nf432 1538 JFK-MVY 16:40-17:59 59 E190 open ? - 16:40-17:59 +0 N328JB - -\nf433 2052 MCO-BOS 16:40-19:52 132 A320 open ? - 16:40-19:52 +0 N516JB - -\nf434 1151 ACK-BOS 16:45-17:43 57 E190 open ? - 16:45-17:43 +0 N281JB - -\nf435 1746 CLT-BOS 16:45-19:10 83 E190 open ? - 16:45-19:10 +0 N279JB - -\nf436 2073 EWR-LAX 16:45-22:47 141 A321P open ? - 16:45-22:47 +0 N943JT - -\nf437 680 MKE-JFK 16:50-19:18 114 A220 open ? - 17:04-19:32 +14 N3121J - -\nf438 471 LGA-FLL 16:55-20:08 143 A320 open ? - 16:55-20:08 +0 N621JB - -\nf439 769 ALB-MCO 16:58-20:05 139 A320 open ? - 16:58-20:05 +0 N784JB - -\nf440 359 JFK-BUR 16:59-23:03 126 A220 open ? - 17:46-23:50 +47 N3185J - -\nf441 1694 MCO-HPN 16:59-19:55 135 A320 open ? - 16:59-19:55 +0 N806JB - -\nf442 1918 FLL-JAX 17:00-18:20 83 A320 open ? - 17:00-18:20 +0 N507JT - -\nf443 2901 BUF-JFK 17:00-18:33 115 A220 open ? - 18:10-19:43 +70 N3115J - -\nf444 424 LAX-JFK 17:05-22:49 149 A321P open ? - 17:05-22:49 +0 N937JB - -\nf445 1501 JFK-FLL 17:05-20:25 140 A320 open ? - 17:05-20:25 +0 N779JB - -\nf446 915 BOS-SMF 17:10-23:45 124 A320 open ? - 17:31-00:06+1 +21 N605JB - -\nf447 2810 TPA-LGA 17:10-20:03 150 A320 open ? - 17:10-20:03 +0 N586JB - -\nf448 2055 BOS-DCA 17:11-18:59 88 E190 open ? - 17:11-18:59 +0 N258JB - -\nf449 1348 SJU-DCA 17:13-21:15 170 A321 open ? - 17:13-21:15 +0 N972JT - -\nf450 2814 LGA-ATL 17:13-19:42 126 A220 open ? - 17:13-19:42 +0 N3152J - -\nf451 501 RDU-MCO 17:15-19:13 121 A320 open ? - 17:15-19:13 +0 N537JT - -\nf452 148 LAS-JFK 17:18-22:30 143 A321P open ? - 17:18-22:30 +0 N961JT - -\nf453 1453 FLL-SJU 17:18-20:00 150 A320 open ? - 17:18-20:00 +0 N534JB - -\nf454 739 JFK-BQN 17:19-21:22 147 A320 open ? - 17:19-21:22 +0 N590JB - -\nf455 1136 DTW-BOS 17:20-19:20 120 A220 open ? - 17:20-19:20 +0 N3125J - -\nf456 1281 BOS-RIC 17:20-19:11 91 E190 open ? - 17:20-19:11 +0 N274JB - -\nf457 2565 MVY-LGA 17:20-18:30 41 E190 open ? - 17:20-18:30 +0 N324JB - -\nf458 430 MCO-BQN 17:21-20:17 150 A320 open ? - 17:21-20:17 +0 N523JB - -\nf459 276 SJU-BDL 17:29-21:35 146 A320 open ? - 17:29-21:35 +0 N658JB - -\nf460 1473 JFK-BNA 17:29-20:18 135 A320 open ? - 17:29-20:18 +0 N531JL - -\nf461 308 JFK-PWM 17:30-18:59 117 A220 open ? - 18:51-20:20 +81 N3085J - -\nf462 1132 LGA-BOS 17:30-18:53 79 E190 open ? - 17:30-18:53 +0 N247JB - -\nf463 1167 HPN-PBI 17:30-20:24 124 A320 open ? - 17:30-20:24 +0 N807JB - -\nf464 2513 ATL-LGA 17:30-19:50 130 A220 open ? - 17:30-19:50 +0 N3123J - -\nf465 2754 DCA-BOS 17:30-19:15 90 E190 open ? - 17:30-19:15 +0 N273JB - -\nf466 992 SJU-FLL 17:35-20:25 143 A320 open ? - 17:35-20:25 +0 N623JB - -\nf467 1289 EWR-SJU 17:35-21:38 148 A320 open ? - 17:35-21:38 +0 N657JB - -\nf468 2534 PBI-DCA 17:35-20:03 132 A320 open ? - 17:35-20:03 +0 N637JB - -\nf469 798 MCO-LGA 17:40-20:29 138 A320 open ? - 17:40-20:29 +0 N558JB - -\nf470 131 MCO-LAX 17:42-22:59 147 A320 open ? - 17:42-22:59 +0 N775JB - -\nf471 192 ACK-JFK 17:45-18:59 55 E190 open ? - 17:45-18:59 +0 N334JB - -\nf472 623 JFK-LAX 17:45-00:00+1 141 A321P open ? - 17:45-00:00+1 +0 N969JT - -\nf473 206 BNA-BOS 17:48-20:30 120 A220 open ? - 17:48-20:30 +0 N3062J - -\nf474 811 BOS-ORD 17:50-20:47 82 E190 open ? - 17:50-20:47 +0 N265JB - -\nf475 694 AUS-JFK 17:55-21:52 148 A320 open ? - 17:55-21:52 +0 N517JB - -\nf476 2102 FLL-JFK 17:55-21:00 148 A320 open ? - 17:55-21:00 +0 N564JB - -\nf477 95 BOS-PDX 18:00-00:18+1 129 A320 open ? - 18:00-00:18+1 +0 N526JL - -\nf478 247 BOS-SLC 18:00-23:29 121 A220 open ? - 20:05-01:34+1 +125 N3125J - -\nf479 616 SFO-JFK 18:00-23:42 152 A321P open ? - 18:00-23:42 +0 N923JB - -\nf480 734 SFO-BOS 18:00-23:41 149 A321P open ? - 18:00-23:41 +0 N981JT - -\nf481 767 MCO-PSE 18:00-21:00 150 A320 open ? - 18:00-21:00 +0 N805JB - -\nf482 1284 MCO-JFK 18:00-21:02 148 A320 open ? - 18:00-21:02 +0 N661JB - -\nf483 1331 BOS-LGA 18:00-19:23 79 E190 open ? - 18:00-19:23 +0 N284JB - -\nf484 1964 SYR-JFK 18:00-19:22 95 A320 open ? - 18:00-19:22 +0 N640JB - -\nf485 250 SAV-BOS 18:03-20:32 132 A220 open ? - 18:03-20:32 +0 N3139J - -\nf486 472 FLL-LGA 18:03-21:00 150 A320 open ? - 18:03-21:00 +0 N638JB - -\nf487 2255 BOS-DCA 18:05-19:55 88 E190 open ? - 18:05-19:55 +0 N339JB - -\nf488 1154 PBI-JFK 18:08-21:01 148 A320 open ? - 18:08-21:01 +0 N656JB - -\nf489 2186 PIT-BOS 18:08-19:49 77 E190 open ? - 18:08-19:49 +0 N283JB - -\nf490 491 BUF-LAX 18:10-23:25 134 A320 open ? - 18:10-23:25 +0 N768JB - -\nf491 1524 LAX-JFK 18:10-23:47 148 A321P open ? - 18:10-23:47 +0 N929JB - -\nf492 1678 JAX-JFK 18:10-20:41 131 A220 open ? - 20:09-22:40 +119 N3102J - -\nf493 2122 ACK-HPN 18:10-19:18 50 E190 open ? - 18:10-19:18 +0 N249JB - -\nf494 451 BOS-MCO 18:15-21:37 133 A320 open ? - 18:15-21:37 +0 N633JB - -\nf495 777 BOS-LAS 18:15-00:10+1 143 A321P open ? - 18:15-00:10+1 +0 N978JB - -\nf496 822 RSW-JFK 18:15-21:13 130 A220 open ? - 18:15-21:13 +0 N3156J - -\nf497 305 EWR-FLL 18:18-21:30 149 A320 open ? - 18:18-21:30 +0 N592JB - -\nf498 391 BOS-TPA 18:20-21:41 147 A320 open ? - 18:20-21:41 +0 N529JB - -\nf499 640 CLE-BOS 18:20-20:08 87 E190 open ? - 18:20-20:08 +0 N354JB - -\nf500 88 FLL-ALB 18:25-21:31 149 A320 open ? - 18:25-21:31 +0 N703JB - -\nf501 263 JFK-SEA 18:29-00:59+1 142 A321P open ? - 18:29-00:59+1 +0 N968JT - -\nf502 548 TPA-HPN 18:29-21:29 149 A320 open ? - 18:29-21:29 +0 N708JB - -\nf503 24 MCO-DCA 18:30-20:57 136 A320 open ? - 18:30-20:57 +0 N627JB - -\nf504 483 JFK-MCO 18:30-21:39 147 A320 open ? - 18:30-21:39 +0 N632JB - -\nf505 2783 BOS-RDU 18:30-20:39 85 E190 open ? - 18:30-20:39 +0 N267JB - -\nf506 1118 JFK-BOS 18:35-20:07 105 A220 open ? - 19:22-20:54 +47 N3132J - -\nf507 29 FLL-SAN 18:36-23:49 148 A320 open ? - 18:36-23:49 +0 N630JB - -\nf508 2892 MIA-JFK 18:38-21:48 125 A220 open ? - 19:31-22:41 +53 N3112J - -\nf509 161 JFK-SMF 18:45-01:00+1 179 A321 open ? - 18:45-01:00+1 +0 N948JB - -\nf510 1152 MCO-BOS 18:45-21:57 123 A220 open ? - 18:45-21:57 +0 N3169J - -\nf511 2460 PHL-BOS 18:45-20:10 72 E190 open ? - 18:45-20:10 +0 N323JB - -\nf512 1539 MVY-JFK 18:53-20:00 43 E190 open ? - 18:53-20:00 +0 N328JB - -\nf513 803 JFK-SJU 18:55-23:00 181 A321 open ? - 18:55-23:00 +0 N954JB - -\nf514 1633 MCO-SJU 18:55-21:55 150 A320 open ? - 18:55-21:55 +0 N760JB - -\nf515 67 BDL-LAX 18:56-01:00+1 124 A320 open ? - 18:56-01:00+1 +0 N607JB - -\nf516 187 BOS-LAX 18:58-01:25+1 146 A321P open ? - 18:58-01:25+1 +0 N983JT - -\nf517 2 JFK-BUF 18:59-20:40 125 A220 open ? - 19:31-21:12 +32 N3104J - -\nf518 71 JFK-SLC 18:59-00:22+1 139 A320 open ? - 18:59-00:22+1 +0 N821JB - -\nf519 1979 DCA-FLL 18:59-21:40 146 A320 open ? - 18:59-21:40 +0 N568JB - -\nf520 384 MCO-JFK 19:00-21:59 182 A321 open ? - 19:00-21:59 +0 N970JB - -\nf521 1827 EWR-MCO 19:04-22:00 150 A320 open ? - 19:04-22:00 +0 N595JB - -\nf522 1262 PBI-LGA 19:05-21:52 150 A320 open ? - 19:05-21:52 +0 N588JB - -\nf523 1332 LGA-BOS 19:05-20:29 79 E190 open ? - 19:05-20:29 +0 N324JB - -\nf524 1917 JAX-FLL 19:05-20:20 90 A320 open ? - 19:05-20:20 +0 N507JT - -\nf525 1252 PBI-HPN 19:08-21:59 125 A320 open ? - 19:08-21:59 +0 N796JB - -\nf526 2826 TPA-JFK 19:08-21:59 150 A320 open ? - 19:08-21:59 +0 N508JL - -\nf527 524 LAX-JFK 19:10-00:48+1 148 A321P open ? - 19:10-00:48+1 +0 N992JB - -\nf528 914 FLL-HPN 19:10-22:13 128 A320 open ? - 19:10-22:13 +0 N521JB - -\nf529 1355 BOS-DCA 19:10-20:58 88 E190 open ? - 19:10-20:58 +0 N281JB - -\nf530 1431 BOS-LGA 19:10-20:33 79 E190 open ? - 19:10-20:33 +0 N337JB - -\nf531 135 JFK-PHX 19:17-00:44+1 121 A220 open ? - 20:17-01:44+1 +60 N3121J - -\nf532 592 TPA-BOS 19:19-22:35 128 A220 open ? - 19:19-22:35 +0 N3149J - -\nf533 1134 SJU-MCO 19:20-22:30 149 A320 open ? - 19:20-22:30 +0 N598JB - -\nf534 1732 LAX-SLC 19:20-21:09 129 A320 open ? - 19:20-21:09 +0 N615JB - -\nf535 322 PBI-BOS 19:25-22:30 149 A320 open ? - 19:25-22:30 +0 N746JB - -\nf536 918 JFK-BOS 19:25-20:59 105 A220 open ? - 20:28-22:02 +63 N3115J - -\nf537 1944 PBI-EWR 19:25-22:15 147 A320 open ? - 19:25-22:15 +0 N809JB - -\nf538 2613 ATL-LGA 19:30-21:47 130 A220 open ? - 19:30-21:47 +0 N3194J - -\nf539 1728 MCO-EWR 19:35-22:24 139 A320 open ? - 19:35-22:24 +0 N603JB - -\nf540 1206 ORD-JFK 19:38-22:03 112 A220 open ? - 21:08-23:33 +90 N3162J - -\nf541 355 JFK-ONT 19:40-01:38+1 177 A321 open ? - 19:40-01:38+1 +0 N958JB - -\nf542 1196 FLL-PVD 19:40-22:44 136 A320 open ? - 19:40-22:44 +0 N535JB - -\nf543 1761 LGA-PBI 19:40-22:39 149 A320 open ? - 19:40-22:39 +0 N705JB - -\nf544 2468 CHS-BOS 19:40-22:00 80 E190 open ? - 19:40-22:00 +0 N306JB - -\nf545 2017 BOS-JFK 19:45-21:10 80 E190 open ? - 19:45-21:10 +0 N266JB - -\nf546 2354 DCA-BOS 19:45-21:24 90 E190 open ? - 19:45-21:24 +0 N258JB - -\nf547 2023 JFK-LAX 19:49-02:02+1 141 A321P open ? - 19:49-02:02+1 +0 N982JB - -\nf548 81 JFK-RNO 19:50-01:56+1 129 A320 open ? - 19:50-01:56+1 +0 N593JB - -\nf549 1990 SJU-EWR 19:53-23:59 146 A320 open ? - 19:53-23:59 +0 N827JB - -\nf550 307 PWM-JFK 19:54-21:14 95 A220 open ? - 21:05-22:25 +71 N3085J - -\nf551 561 BOS-SJU 19:54-23:59 167 A321 open ? - 19:54-23:59 +0 N995JL - -\nf552 1282 RIC-BOS 19:56-21:34 90 E190 open ? - 19:56-21:34 +0 N274JB - -\nf553 572 FLL-LGA 20:00-22:56 150 A320 open ? - 20:00-22:56 +0 N563JB - -\nf554 613 HPN-FLL 20:00-23:03 121 A320 open ? - 20:00-23:03 +0 N562JB - -\nf555 711 JFK-LAS 20:00-01:46+1 136 A321P open ? - 20:00-01:46+1 +0 N989JT - -\nf556 1146 FLL-RIC 20:00-22:19 120 A320 open ? - 20:00-22:19 +0 N536JB - -\nf557 2385 BOS-PIT 20:00-21:53 76 E190 open ? - 20:00-21:53 +0 N247JB - -\nf558 2501 FLL-LAX 20:00-01:36+1 148 A321P open ? - 20:00-01:36+1 +0 N980JT - -\nf559 2523 DCA-MCO 20:00-22:25 144 A320 open ? - 20:00-22:25 +0 N608JB - -\nf560 153 JFK-PBI 20:05-23:08 139 A320 open ? - 20:05-23:08 +0 N554JB - -\nf561 283 JFK-MCO 20:05-23:10 181 A321 open ? - 20:05-23:10 +0 N999JQ - -\nf562 836 MSP-BOS 20:05-22:51 81 E190 open ? - 20:05-22:51 +0 N307JB - -\nf563 873 EWR-TPA 20:10-23:11 148 A320 open ? - 20:10-23:11 +0 N659JB - -\nf564 1294 MCO-HPN 20:10-22:59 135 A320 open ? - 20:10-22:59 +0 N715JB - -\nf565 65 JFK-ABQ 20:12-00:55+1 124 A220 open ? - 21:58-02:41+1 +106 N3156J - -\nf566 2752 SJU-TPA 20:13-23:19 179 A321 open ? - 20:13-23:19 +0 N959JB - -\nf567 607 FLL-LAS 20:15-01:25+1 147 A320 open ? - 20:15-01:25+1 +0 N552JB - -\nf568 1432 LGA-BOS 20:15-21:35 79 E190 open ? - 20:15-21:35 +0 N284JB - -\nf569 783 BOS-PHX 20:22-02:04+1 115 A220 open ? - 20:22-02:04+1 +0 N3044J - -\nf570 993 BOS-DEN 20:23-00:53+1 126 A220 open ? - 20:23-00:53+1 +0 N3138J - -\nf571 170 FLL-BOS 20:25-23:41 142 A320 open ? - 20:25-23:41 +0 N763JB - -\nf572 745 JFK-PSE 20:25-00:41+1 140 A320 open ? - 20:25-00:41+1 +0 N636JB - -\nf573 815 JFK-SFO 20:25-02:59+1 147 A321P open ? - 20:25-02:59+1 +0 N964JT - -\nf574 97 JFK-DEN 20:27-01:04+1 147 A320 open ? - 20:27-01:04+1 +0 N640JB - -\nf575 541 BOS-CLE 20:30-22:38 87 E190 open ? - 20:30-22:38 +0 N279JB - -\nf576 715 BOS-BUF 20:34-22:09 90 E190 open ? - 20:34-22:09 +0 N273JB - -\nf577 460 FLL-BDL 20:35-23:38 147 A320 open ? - 20:35-23:38 +0 N634JB - -\nf578 998 MCO-LGA 20:35-23:15 129 A220 open ? - 20:35-23:15 +0 N3142J - -\nf579 996 ATL-BOS 20:37-23:21 128 A220 open ? - 20:37-23:21 +0 N3152J - -\nf580 656 MCO-SYR 20:40-23:32 118 A320 open ? - 20:40-23:32 +0 N629JB - -\nf581 1468 PBI-HPN 20:40-23:26 125 A320 open ? - 20:40-23:26 +0 N794JB - -\nf582 1952 MCO-BOS 20:40-23:51 142 A320 open ? - 20:40-23:51 +0 N537JT - -\nf583 2066 RSW-BOS 20:40-23:52 147 A320 open ? - 20:40-23:52 +0 N766JB - -\nf584 2854 DCA-BOS 20:40-22:15 90 E190 open ? - 20:40-22:15 +0 N339JB - -\nf585 277 FLL-SFO 20:45-02:40+1 142 A321P open ? - 20:45-02:40+1 +0 N2169J - -\nf586 369 BOS-FLL 20:45-23:59 138 A320 open ? - 20:45-23:59 +0 N641JB - -\nf587 721 BOS-PBI 20:45-23:59 135 A320 open ? - 20:45-23:59 +0 N516JB - -\nf588 1387 BOS-LAX 20:45-03:02+1 146 A321P open ? - 20:45-03:02+1 +0 N2142J - -\nf589 2134 SJU-MCO 20:45-23:49 149 A320 open ? - 20:45-23:49 +0 N570JB - -\nf590 2514 LGA-ATL 20:45-23:15 126 A220 open ? - 20:45-23:15 +0 N3123J - -\nf591 223 JFK-LAX 20:49-02:59+1 141 A321P open ? - 20:49-02:59+1 +0 N2151J - -\nf592 571 LGA-FLL 20:50-23:56 143 A320 open ? - 20:50-23:56 +0 N586JB - -\nf593 1451 BOS-MCO 20:50-23:58 133 A320 open ? - 21:20-00:28+1 +30 N828JB - -\nf594 1567 HPN-PBI 20:50-23:46 124 A320 open ? - 20:50-23:46 +0 N806JB - -\nf595 1117 BOS-JFK 20:55-22:18 80 E190 open ? - 20:55-22:18 +0 N283JB - -\nf596 2054 SJU-FLL 20:55-23:40 143 A320 open ? - 20:55-23:40 +0 N651JB - -\nf597 2459 BOS-PHL 20:55-22:26 78 E190 open ? - 20:55-22:26 +0 N354JB - -\nf598 2626 FLL-RDU 20:55-23:02 128 A320 open ? - 20:55-23:02 +0 N662JB - -\nf599 1873 EWR-LAX 20:57-02:59+1 141 A321P open ? - 20:57-02:59+1 +0 N935JB - -\nf600 318 JFK-BOS 20:59-22:27 75 E190 open ? - 20:59-22:27 +0 N334JB - -\nf601 706 FLL-EWR 20:59-23:58 150 A320 open ? - 20:59-23:58 +0 N621JB - -\nf602 1586 MCO-BUF 20:59-23:41 141 A320 open ? - 20:59-23:41 +0 N612JB - -\nf603 729 BQN-MCO 21:02-23:51 150 A320 open ? - 21:02-23:51 +0 N523JB - -\nf604 1474 BNA-JFK 21:13-23:32 133 A320 open ? - 21:13-23:32 +0 N531JL - -\nf605 333 BOS-SFO 21:15-03:45+1 143 A321P open ? - 21:15-03:45+1 +0 N987JT - -\nf606 845 BOS-SYR 21:15-22:30 75 E190 open ? - 21:15-22:30 +0 N323JB - -\nf607 1004 SJU-JFK 21:15-01:13+1 167 A321 open ? - 21:15-01:13+1 +0 N2084J - -\nf608 2202 FLL-JFK 21:20-00:13+1 148 A320 open ? - 21:20-00:13+1 +0 N507JT - -\nf609 499 LGA-MCO 21:25-00:16+1 142 A320 open ? - 21:25-00:16+1 +0 N558JB - -\nf610 1484 RDU-BOS 21:25-23:25 86 E190 open ? - 21:25-23:25 +0 N267JB - -\nf611 102 JFK-BUF 21:29-23:13 125 A220 open ? - 23:10-00:54+1 +101 N3085J - -\nf612 2583 JFK-MCO 21:29-00:27+1 147 A320 open ? - 21:29-00:27+1 +0 N649JB - -\nf613 2101 JFK-FLL 21:30-00:37+1 140 A320 open ? - 21:45-00:52+1 +15 N564JB - -\nf614 2128 MCO-EWR 21:30-00:17+1 150 A320 open ? - 21:30-00:17+1 +0 N784JB - -\nf615 1012 ORD-BOS 21:33-23:59 81 E190 open ? - 21:33-23:59 +0 N265JB - -\nf616 403 JFK-SJU 21:50-01:57+1 147 A320 open ? - 21:50-01:57+1 +0 N656JB - -\nf617 768 PSE-MCO 21:55-00:58+1 150 A320 open ? - 21:55-00:58+1 +0 N805JB - -\nf618 1186 JFK-ROC 21:59-23:34 118 A220 open ? - 23:25-01:00+1 +86 N3102J - -\nf619 1731 SLC-LAX 22:00-00:02+1 110 A320 open ? - 22:00-00:02+1 +0 N615JB - -\nf620 738 BQN-JFK 22:07-01:59+1 137 A320 open ? - 22:07-01:59+1 +0 N590JB - -\nf621 1823 JFK-LAX 22:10-04:22+1 141 A321P open ? - 22:10-04:22+1 +0 N946JL - -\nf622 2133 MCO-SJU 22:25-01:26+1 150 A320 open ? - 22:25-01:26+1 +0 N633JB - -\nf623 275 BDL-SJU 22:30-02:26+1 150 A320 open ? - 22:30-02:26+1 +0 N658JB - -\nf624 362 SJU-BOS 22:35-02:35+1 129 A320 open ? - 22:35-02:35+1 +0 N534JB - -\nf625 1318 JFK-BOS 22:59-00:18+1 75 E190 open ? - 22:59-00:18+1 +0 N328JB - -\nf626 2403 JFK-BQN 22:59-02:50+1 147 A320 open ? - 22:59-02:50+1 +0 N661JB - -\nf627 2903 JFK-SJU 22:59-02:57+1 181 A321 open ? - 22:59-02:57+1 +0 N905JB - -\nf628 2120 SAN-BOS 23:28-05:00+1 151 A321P open ? - 23:28-05:00+1 +0 N945JT - -\nf629 972 SJC-BOS 23:30-05:12+1 130 A220 open ? - 00:55+1-06:37+1 +85 N3023J - -\nf630 1114 LAX-JFK 23:35-05:01+1 149 A321P open ? - 23:35-05:01+1 +0 N2157J - -\nf631 2416 SFO-JFK 23:35-05:04+1 152 A321P open ? - 23:35-05:04+1 +0 N990JL - -\nf632 1190 SAN-JFK 23:40-05:02+1 150 A321P open ? - 23:40-05:02+1 +0 N976JT - -\nf633 198 SEA-BOS 23:50-05:10+1 140 A321P open ? - 23:50-05:10+1 +0 N988JT - -\nf634 358 BUR-JFK 00:00+1-05:29+1 122 A220 open ? - 00:35+1-06:04+1 +35 N3185J - -\nf635 1574 LAX-EWR 00:00+1-05:23+1 148 A321P open ? - 00:00+1-05:23+1 +0 N977JE - -\nf636 2348 LAS-JFK 00:05+1-05:04+1 146 A320 open ? - 00:05+1-05:04+1 +0 N645JB - -\nf637 700 LAX-FLL 00:20+1-05:23+1 153 A321P open ? - 00:20+1-05:23+1 +0 N943JT - -\nf638 132 LAX-MCO 00:25+1-05:18+1 150 A320 open ? - 00:25+1-05:18+1 +0 N775JB - -\nf639 248 SLC-BOS 00:29+1-05:01+1 118 A220 open ? - 02:19+1-06:51+1 +110 N3125J - -\nf640 916 SMF-BOS 00:35+1-06:06+1 135 A320 open ? - 00:51+1-06:22+1 +16 N605JB - -\nf641 30 SAN-FLL 00:39+1-05:45+1 143 A320 open ? - 00:39+1-05:45+1 +0 N630JB - -\nf642 2234 SFO-BOS 00:43+1-06:19+1 149 A321P open ? - 00:43+1-06:19+1 +0 N979JT - -\nf643 278 SFO-FLL 00:44+1-06:21+1 148 A321P open ? - 00:44+1-06:21+1 +0 N942JB - -\nf644 1268 LAX-BDL 00:55+1-06:20+1 138 A320 open ? - 00:55+1-06:20+1 +0 N768JB - -\nf645 372 SLC-JFK 01:12+1-05:39+1 138 A320 open ? - 01:12+1-05:39+1 +0 N821JB - -\nf646 96 PDX-BOS 01:18+1-06:32+1 143 A320 open ? - 01:18+1-06:32+1 +0 N526JL - -\nf647 778 LAS-BOS 01:20+1-06:27+1 145 A321P open ? - 01:20+1-06:27+1 +0 N978JB - -\nf648 988 LAX-BOS 01:25+1-07:01+1 149 A321P open ? - 01:25+1-07:01+1 +0 N969JT - -\nf649 136 PHX-JFK 01:40+1-06:30+1 128 A220 open ? - 02:29+1-07:19+1 +49 N3121J - -\nf650 994 DEN-BOS 01:48+1-05:40+1 124 A220 open ? - 01:48+1-05:40+1 +0 N3138J - -\nf651 66 ABQ-JFK 01:50+1-05:59+1 121 A220 open ? - 03:26+1-07:35+1 +96 N3156J - -\nf652 98 DEN-JFK 01:59+1-05:45+1 134 A320 open ? - 01:59+1-05:45+1 +0 N640JB - -\nf653 608 LAS-FLL 02:15+1-06:54+1 150 A320 open ? - 02:15+1-06:54+1 +0 N552JB - -\nf654 162 SMF-JFK 02:25+1-07:50+1 187 A321 open ? - 02:25+1-07:50+1 +0 N948JB - -\nf655 264 SEA-JFK 02:38+1-07:59+1 138 A321P open ? - 02:38+1-07:59+1 +0 N968JT - -\nf656 80 RNO-JFK 02:46+1-07:59+1 102 A320 open ? - 02:46+1-07:59+1 +0 N593JB - -\nf657 1316 LAX-JFK 02:46+1-08:20+1 148 A321P open ? - 02:46+1-08:20+1 +0 N983JT - -\nf658 492 LAX-BUF 02:50+1-07:37+1 150 A320 open ? - 02:50+1-07:37+1 +0 N615JB - -\nf659 948 LAS-JFK 02:59+1-08:05+1 143 A321P open ? - 02:59+1-08:05+1 +0 N989JT - -\nf660 984 PHX-BOS 02:59+1-07:55+1 129 A220 open ? - 02:59+1-07:55+1 +0 N3044J - -\nf661 2154 ONT-JFK 02:59+1-08:22+1 180 A321 open ? - 02:59+1-08:22+1 +0 N958JB - -\n\n## Aircraft now, as your plan has them (@ = ready at)\nBOS: N2142J N2169J N247JB@06:25 N267JB N274JB N279JB N284JB N3023J@06:18 N3044J@09:07 N307JB N3115J N3125J N3132J N3138J N3139J N3149J N3157J@05:45 N3169J@06:27 N3194J@06:38 N323JB N324JB N334JB N337JB N339JB@05:25 N526JL N588JB N598JB@07:15 N605JB@07:10 N627JB N634JB@15:25 N638JB N641JB N784JB N828JB@09:27 N929JB@06:49 N934JB N945JT@15:14 N946JL@05:04 N959JB N962JT N964JT N981JT@06:04 N988JT@08:33 N990JL@07:55 N995JL@18:59\nJFK: N2027J@05:35 N2044J@04:45 N2084J N2151J N2157J@14:04 N249JB@08:25 N3062J N3085J N3102J N3104J@09:40 N3121J N3145J@06:49 N3156J N3185J@13:31 N328JB N531JL@16:34 N554JB@08:31 N583JB N591JB@08:55 N592JB N594JB N612JB N623JB@07:39 N632JB@17:45 N645JB@13:14 N649JB@06:45 N652JB N656JB@10:15 N779JB@15:14 N827JB N907JB N923JB@08:04 N937JB@08:35 N942JB@06:16 N944JT@07:40 N948JB N949JT N958JB@18:00 N961JT@08:59 N972JT@07:30 N975JT@05:05 N982JB N986JB N987JT@05:42 N992JB@11:21 N993JE@06:17\nALB: N729JB\nATL: N3152J\nBDL: N563JB@06:55 N651JB@07:52 N715JB\nBQN: N593JB@04:17\nBUF: N258JB N3162J N3189J N535JB@11:01 N661JB\nCLE: N354JB\nDCA: N266JB N558JB N806JB N834JB N999JQ\nEWR: N521JB N595JB@18:19 N630JB N633JB N657JB N658JB@04:27 N947JB@07:17\nFLL: N536JB N561JB N571JB N590JB N603JB@06:24 N608JB N621JB N635JB N640JB@04:15 N662JB N665JB N703JB@07:20 N705JB N746JB@07:49 N763JB@19:50 N807JB N935JB@06:31 N980JT N985JT@07:01\nHPN: N283JB@08:24 N534JB N537JT N708JB N766JB N794JB@04:21\nLAX: N615JB@18:35 N943JT@04:47 N968JT@08:47 N969JT@05:29 N977JE@04:44 N979JT N983JT@09:24\nLGA: N281JB N3123J N3142J N552JB N789JB N796JB\nMCO: N504JB N516JB N517JB N523JB N586JB N606JB N618JB N637JB N659JB N768JB N775JB@06:30 N821JB@11:53 N905JB\nPBI: N507JT@04:59 N508JL N529JB N562JB@04:55 N607JB\nPHL: N306JB\nPIT: N273JB\nPSE: N636JB@04:25\nPVD: N527JL\nRDU: N613JB\nRIC: N585JB\nROC: N3112J\nSFO: N976JT N978JB@04:35 N989JT@06:10\nSJU: N2047J N559JB N564JB@11:34 N568JB N570JB@04:54 N760JB@04:07 N952JB N970JB@06:26\nSYR: N265JB N629JB\nTPA: N805JB@06:43 N809JB N954JB\nairborne: none\n\n## News so far\n[12:50-1] BOS other 14:30-1-19:30-1 [advisory adv-20240622-048, signed 12:50-1]\n[12:55-1] JFK ground stop 12:50-1-14:00-1, average delay 32 min, max 51, probability of extension medium [advisory adv-20240622-051, signed 12:55-1]\n[13:02-1] BOS ground stop 13:00-1-14:15-1, average delay 42 min, max 76, probability of extension medium [advisory adv-20240622-054, signed 13:02-1]\n[13:11-1] BOS proposed ground delay program 14:00-1-21:59-1, rate 38/38/34/34/34/34/34/34 arrivals/h (all carriers), average delay 67 min, max 198 [advisory adv-20240622-055, signed 13:11-1]\n[13:41-1] BOS ground delay program 13:39-1-22:59-1, rate 38/38/38/34/34/34/34/34/34/34 arrivals/h (all carriers), average delay 72 min, max 217 [advisory adv-20240622-061, signed 13:41-1]\n[13:47-1] BOS other 13:45-1-00:00 [advisory adv-20240622-064, signed 13:47-1]\n[13:52-1] JFK ground stop cancelled 13:50-1-15:12-1 [advisory adv-20240622-068, signed 13:52-1]\n[13:59-1] JFK ground delay program 15:00-1-23:59-1, rate 54/32/32/32/32/32/32/40/40 arrivals/h (all carriers), average delay 150 min, max 234 [advisory adv-20240622-071, signed 13:59-1]\n[14:58-1] BOS ground stop 14:41-1-16:00-1, average delay 94 min, max 157, probability of extension medium [advisory adv-20240622-082, signed 14:58-1]\n[15:11-1] BOS ground stop cancelled 14:41-1-15:12-1 [advisory adv-20240622-085, signed 15:11-1]\n[20:02-1] BOS GDP cancelled 19:58-1-04:09 [advisory adv-20240623-001, signed 20:02-1]\n[21:57-1] JFK GDP cancelled 21:54-1-11:04 [advisory adv-20240623-014, signed 21:57-1]\n[22:39-1] TAF AMD KJFK 230239Z 2303/2406 15010KT P6SM SCT050 BKN250 FM230400 20008KT P6SM FEW007 SCT050 BKN250 FM231300 20012KT P6SM SCT050 OVC250 FM231700 20017G27KT P6SM SCT050 OVC150 PROB30 2320/2402 3SM TSRA BKN040CB FM240200 21017G25KT P6SM BKN050=\n[01:37] TAF KJFK 230537Z 2306/2412 17007KT P6SM BKN090 BKN250 FM231300 19012KT P6SM FEW050 SCT100 BKN250 FM231700 20023G30KT P6SM SCT050 BKN100 PROB30 2320/2402 3SM TSRA BKN025CB FM240200 21017G25KT P6SM BKN050 FM240800 26016G21KT P6SM SCT050=\n[01:40] TAF KBOS 230540Z 2306/2412 07004KT P6SM OVC007 TEMPO 2306/2308 -SHRA FM231000 12004KT 2SM BR OVC005 FM231500 20007KT 6SM BR BKN008 FM231900 20013G25KT P6SM SCT130 WS020/22045KT PROB30 2322/2401 2SM -TSRA BKN020CB FM240100 21013G23KT 6SM BR VCSH OVC010 FM241000 22010KT 4SM BR BKN008=\n[02:51] KJFK 230651Z 15003KT 10SM BKN075 BKN090 BKN120 BKN250 22/20 A2989 RMK AO2 LTG DSNT NW SLP121 T02170200 $\n[02:54] KBOS 230654Z 06003KT 8SM BKN007 OVC013 17/16 A2995 RMK AO2 SLP143 T01670161\n[03:00] KBOS 230700Z 07003KT 8SM SCT007 OVC013 17/16 A2995 RMK AO2 CIG 005 E T01670161\n[03:35] KBOS 230735Z 35003KT 2 1/2SM R04R/4500VP6000FT -RA BR BKN003 OVC007 17/16 A2995 RMK AO2 VIS 1 E RAB34 P0000 T01670161\n[03:48] KBOS 230748Z 03003KT 6SM R04R/5000VP6000FT -RA BR OVC003 17/17 A2994 RMK AO2 RAB34 P0000\n[03:51] KJFK 230751Z 14003KT 10SM BKN060 BKN120 BKN250 22/20 A2987 RMK AO2 SLP114 T02170200 $\n[03:54] KBOS 230754Z 06005KT 6SM BR OVC003 17/16 A2993 RMK AO2 LTG DSNT S RAB34E52 SLP135 P0000 T01670161\n\nIt is the first watch, 04:00. Nothing is frozen yet: set the day up with confirm_changes, then call advance.", + "max_turns": 234, + "model_params": { + "max_tokens": 32000 + }, + "timeout_seconds": 7200 + }, + { + "id": "end-day", + "type": "apply_server_config", + "env_id": "airops-v3-day", + "directives": [ + { + "service": "airops-v3-day", + "uri": "urn:airops:v3-end-day/v1", + "args": {} + } + ] + }, + { + "id": "grade", + "type": "env_outcome_verifier", + "env_id": "airops-v3-day", + "file_artifact_id": "airops-verifier", + "verifier_id": "airops", + "score_aggregator": "weighted_average" + } +] diff --git a/src/agentenv_airops/bundles/airops-v3/tasks/b6-20240630-0400.json b/src/agentenv_airops/bundles/airops-v3/tasks/b6-20240630-0400.json new file mode 100644 index 0000000..45b80f1 --- /dev/null +++ b/src/agentenv_airops/bundles/airops-v3/tasks/b6-20240630-0400.json @@ -0,0 +1,71 @@ +[ + { + "id": "deploy", + "type": "deploy_env", + "env_id": "airops-v3-day" + }, + { + "id": "load-task", + "type": "apply_server_config", + "env_id": "airops-v3-day", + "directives": [ + { + "service": "airops-v3-day", + "uri": "urn:airops:v3-live-load/v1", + "args": { + "task_id": "b6-20240630-0400", + "anchor": 7187790, + "follower": 7902708 + } + } + ] + }, + { + "id": "deploy-agent", + "type": "deploy_agent", + "a2a_agent_id": "airops-llm", + "env_ids": [ + "airops-v3-day" + ] + }, + { + "id": "clock", + "type": "sync_env_clock", + "env_id": "airops-v3-day", + "virtual_time": "2024-06-30T08:00:00Z", + "virtual_seconds_per_real_second": 0, + "tolerate_missing_sync_time": false + }, + { + "id": "play", + "type": "prompt_agent", + "prompt_id": "b6-20240630-0400", + "system_prompt": "You run the JetBlue operations desk on a storm day at JFK and BOS: thunderstorms, snow or wind, and the FAA ground stops and ground delay programs (GDPs) that follow, cut how many JetBlue flights can land and take off. Your job is to decide which flights to cancel and which to hold, watch by watch, so that passengers and the airline lose as little as possible over the day.\n\nHow the day runs:\n- The day is played in watches starting at watch 0: one an hour, and one more when an advisory or a SPECI reaches the desk or a ramp closure begins or ends, so watches are 15 to 60 minutes apart. The first message gives the day as the desk knows it at watch 0. Every tool call takes 1 minute of the watch; when the watch's time runs out, the next watch opens by itself, and advance opens it at once.\n- What the desk knows: a flight's own departure delay (weather, air traffic control: anything but waiting for its aircraft or a slot) becomes known 2 hours before its scheduled departure; until then it is assumed on time. FAA Command Center advisories and the hubs' METARs, SPECIs and TAFs arrive as messages at the first watch after they reach the desk: an advisory 0 minutes after it is signed, a METAR 5 and a SPECI 5 minutes after its observation, a TAF 10 minutes after its issue, and the programs table shows the programs as issued, proposed GDPs included; a program may end earlier or later than issued.\n- Ground delay programs: a GDP meters arrivals at a hub over its period. A flight into the hub from an origin in its scope, scheduled to land in the period, needs one of JetBlue's arrival slots in the program: it takes the earliest free slot at or after the time it could land and leaves at its EDCT, the slot less its scheduled block. A cancelled or late flight leaves its slot to the flights behind it. Arrivals outside a program fit under the hub's hourly rate.\n- Ground stops: a flight to a stopped hub from an origin the stop covers waits on the ground until the stop ends; flights already airborne fly on.\n- Departure caps: an airport may take only so many JetBlue departures in an hour (the departure caps table, known 4 hours ahead); a flight with no room in its hour tries again at the next hour's start.\n- Outstation arrival caps: an outstation may take only so many JetBlue arrivals in an hour (the outstation arrival caps table, known 4 hours ahead); a flight with no room in its arrival hour leaves so as to land in the next one.\n- Ramp closures: lightning at the field cuts a hub's ramp rate without stopping it. During a closure only so many JetBlue flights may leave the hub and only so many arrive there; a departure with no room leaves at the closure's end, an arrival with none leaves so as to land at it. A closure is known once it begins; until its end comes it is expected to last 30 minutes more, with caps for that long, and the closures table says which ends are reported and which expected.\n- The env flies your plan on the day as it happens: each flight leaves at the earliest time its delay, its hold, a slot, a stop, a cap and an aircraft allow. It takes the first aircraft of its type ready at its origin (aircraft of one type at one airport are interchangeable; an aircraft needs its turn time on the ground between flights). A flight that can't leave by its deadline is cancelled automatically there. At the end of the day the env ferries each aircraft to the airport it is needed at tomorrow.\n- Your decisions: cancel a flight (its aircraft stays on the ground, free for other flights, and its slot goes to the flights behind), restore a cancelled flight, or hold a flight until a time (not_before) so that its slot or aircraft goes to another flight first. A flight you don't touch leaves as early as it can.\n- The freeze: at watch 0 nothing is frozen. From watch 1 on, flights your plan has leaving before the freeze line, 60 minutes after the watch opens, are frozen: they can't be changed, and stay frozen. A cancellation is final. The env holds any other flight your plan would have leaving before the freeze line to it, and refuses a change that would move a frozen flight or one that has already gone.\n\nTools:\n- get_situation(): the time, the freeze line, the programs as issued with JetBlue's slots, the departure caps known so far, the outstation arrival caps known so far, the ramp closures under way or over, the latest METAR or SPECI and TAF per hub, every flight (its status, its known delay, your plan, where your plan has it leave and land on the day as known, how late it lands, its aircraft, its slot and its crew), where the aircraft are, and the news so far.\n- check_plan(changes): your changes over your plan, run on the day as known now: the plan's cost, the flights whose plan or times change, the automatic cancellations, the flights the env would hold to the freeze line, and the changes confirm_changes would refuse. It confirms nothing.\n- confirm_changes(changes): commits the changes; flights you leave out keep their plan.\n- advance(): ends the watch; its result has the new watch's news. After the last watch it returns \"done\": the day is graded on your plan.\nA change is {\"flight\": \"f12\", \"action\": \"cancel\" | \"restore\" | \"hold\" | \"call_reserve\" | \"release_reserve\", \"not_before\": \"HH:MM\" | null}: cancel takes not_before null; restore and hold fly the flight, held until not_before (local time, \"00:30+1\" after midnight), or as early as it can with null. Where a crew base has a reserve pool (the situation's Reserve crews), a flight leaving it past its crew's deadline flies only on a reserve: call_reserve gives it one while the pool lasts, release_reserve hands it back before that deadline.\n\nThe cost, in passenger-minutes: every passenger's minutes of arrival delay; 523 for each passenger on a cancelled flight, plus one for every minute the cancellation is decided later than 2 hours before its scheduled departure (an automatic cancellation is decided at its deadline, so it costs more than an early one); the airline's own aircraft minutes (a late departure costs crew and fixed costs, a long block fuel too, and a cancellation saves its fuel and maintenance); and the end-of-day ferries. A cancellation frees an aircraft and a slot; it pays when it saves the others more than it costs its own passengers. The day is graded once, on your final plan flown on the day as it really happened: the closer its cost to the best plan possible in hindsight, the higher the score. If you stop before the last watch, the rest of the day runs on your plan.", + "prompt": "# JetBlue operations desk, JFK/BOS, Sunday 2024-06-30; times are local (America/New_York).\n\nNow 04:00 (watch 0, opened 04:00). First watch: nothing is frozen; changes take effect at once.\n\nYour plan on the day as known costs 908,993 (delay 708,236, cancellations 0, notice 0, ferries 0): 0 cancelled, 0 cancelled automatically, 0 on slots.\n\n## Programs as issued (FAA Command Center)\n- JFK ground delay program adv-20240629-083: arrivals 16:00-1-00:59, governs departures 13:34-1-18:08-1; JetBlue's slots none\n- JFK ground stop adv-20240629-081: 13:00-1-13:53-1\n\n## Departure caps: JetBlue departures per hour, known 240 min ahead\nBOS: 07h 8\nJFK: 08h 6\n\n## Outstation arrival caps: JetBlue arrivals per hour, known 240 min ahead\nCLT: 08h 1\nDCA: 07h 1\nEWR: 08h 1\nORD: 08h 1\nPBI: 08h 2\nRDU: 08h 2\n\n## Ramp closures (lightning at the field; known once begun)\nNone.\n\n## Latest weather (METAR or SPECI, and TAF)\n[03:54] KBOS 300754Z 20011KT 10SM OVC017 24/21 A2992 RMK AO2 SLP130 T02390211\n[01:48] TAF KBOS 300548Z 3006/0112 20014G23KT P6SM SCT008 OVC012 TEMPO 3009/3012 5SM -SHRA OVC008 FM301500 22015G22KT P6SM VCSH BKN030 FM301700 22014G21KT P6SM BKN040 PROB30 3019/3023 3SM TSRA SCT007 OVC015CB FM010000 24010KT P6SM VCSH OVC030 FM010300 28008KT P6SM BKN050=\n[03:51] KJFK 300751Z 18007KT 8SM SCT100 BKN180 22/21 A2995 RMK AO2 RAE39 SLP143 P0000 T02170211 $\n[01:41] TAF KJFK 300541Z 3006/0112 19009KT 5SM -SHRA BKN004 FM301000 20007KT 5SM BR BKN004 FM301600 19011KT P6SM SCT045 BKN100 FM301800 19014KT P6SM SCT045 SCT100 PROB30 3018/3020 4SM -TSRA BKN040CB FM302300 19016KT 4SM -SHRA BKN045 PROB30 3023/0103 2SM TSRA BR BKN030CB FM010300 32010KT P6SM BKN050 FM010500 32010KT P6SM SCT100 SCT250=\n\n## Flights (sched = scheduled dep-arr; delay = known delay, ? not yet; plan = cancel or hold@HH:MM; proj = where your plan has it leave and land on the day as known; late = arrival delay; slot = its GDP slot; crew = crew deadline/rest end, +R on a reserve crew)\nid flight route sched pax type status delay plan proj late tail slot crew\nf0 1233 MCO-SJU 05:01-07:57 150 A320 open -4 - 04:57-07:50 -7 N504JB - -\nf1 2304 SJU-JFK 05:01-08:59 136 A320 open -10 - 04:51-08:44 -15 N536JB - -\nf2 1603 JFK-SJU 05:05-08:53 181 A321 open 5 - 05:10-08:48 -5 N2029J - -\nf3 2404 BQN-JFK 05:05-08:54 137 A320 open 2 - 05:07-09:00 +6 N827JB - -\nf4 562 SJU-BOS 05:10-09:14 160 A321 open -1 - 05:09-09:02 -12 N958JB - -\nf5 917 BOS-JFK 05:14-06:30 112 A220 open -1 - 05:13-06:29 -1 N3123J - -\nf6 123 JFK-LAX 05:20-11:16 141 A321P open -3 - 05:17-11:25 +9 N2151J - -\nf7 201 BUF-JFK 05:33-07:00 115 A220 open -2 - 05:31-06:58 -2 N3169J - -\nf8 601 JFK-FLL 05:40-08:35 140 A320 open 1 - 05:41-08:29 -6 N568JB - -\nf9 37 BDL-MCO 06:00-08:54 147 A320 open -6 - 05:54-08:23 -31 N804JB - -\nf10 85 BUF-MCO 06:00-08:35 141 A320 open 14 - 06:14-08:48 +13 N583JB - -\nf11 281 JFK-IAH 06:00-09:38 128 A320 open 3 - 06:03-09:31 -7 N606JB - -\nf12 299 LGA-MCO 06:00-08:40 150 A320 open -7 - 05:53-08:42 +2 N564JB - -\nf13 306 FLL-EWR 06:00-08:58 150 A320 open -2 - 05:58-08:54 -4 N547JB - -\nf14 311 BOS-ORD 06:00-08:54 82 E190 open -4 - 05:56-09:04 +10 N265JB - -\nf15 371 LGA-FLL 06:00-08:55 143 A320 open 6 - 06:06-09:03 +8 N613JB - -\nf16 374 SYR-BOS 06:00-07:12 68 E190 open 0 - 06:00-06:59 -13 N334JB - -\nf17 387 BOS-LAX 06:00-12:15 146 A321P open -3 - 05:57-12:25 +10 N2180J - -\nf18 405 EWR-FLL 06:00-09:00 149 A320 open -1 - 05:59-09:12 +12 N715JB - -\nf19 540 CLE-BOS 06:00-07:45 87 E190 open -7 - 05:53-07:26 -19 N337JB - -\nf20 551 BOS-MCO 06:00-09:10 144 A320 open -5 - 05:55-09:23 +13 N585JB - -\nf21 555 BOS-DCA 06:00-07:44 88 E190 open -11 - 05:49-07:16 -28 N258JB - -\nf22 560 PHL-BOS 06:00-07:26 72 E190 open 50 - 06:50-08:09 +43 N324JB - -\nf23 569 BOS-FLL 06:00-09:23 138 A320 open -2 - 05:58-09:09 -14 N712JB - -\nf24 690 FLL-BOS 06:00-09:17 142 A320 open -5 - 05:55-09:26 +9 N508JL - -\nf25 884 MCO-JFK 06:00-08:40 148 A320 open 1 - 06:01-08:46 +6 N516JB - -\nf26 953 JFK-PBI 06:00-08:47 120 A220 open 0 - 06:00-08:42 -5 N3118J - -\nf27 954 SJU-FLL 06:00-08:46 143 A320 open -13 - 05:47-08:19 -27 N598JB - -\nf28 1073 JFK-BNA 06:00-08:20 167 A321 open 25 - 06:25-09:10 +50 N970JB - -\nf29 1245 BOS-CLT 06:00-08:24 72 E190 open 39 - 06:39-08:45 +21 N281JB - -\nf30 1285 ROC-JFK 06:00-07:22 114 A220 open 49 - 06:49-08:14 +52 N3112J - -\nf31 1434 SJU-MCO 06:00-09:08 149 A320 open 6 - 06:06-09:05 -3 N768JB - -\nf32 1833 BOS-SFO 06:00-12:28 143 A321P open -3 - 05:57-12:28 +0 N934JB - -\nf33 1902 FLL-JFK 06:00-08:53 148 A320 open -3 - 05:57-09:03 +10 N526JL - -\nf34 2024 MCO-DCA 06:00-08:18 126 A320 open -6 - 05:54-08:12 -6 N505JB - -\nf35 519 JFK-ATL 06:03-08:23 125 A220 open ? - 06:03-08:23 +0 N3139J - -\nf36 1197 PVD-FLL 06:04-09:15 137 A320 open ? - 06:04-09:15 +0 N763JB - -\nf37 515 BOS-BUF 06:05-07:40 125 A220 open ? - 06:05-07:40 +0 N3125J - -\nf38 959 BDL-FLL 06:10-09:24 150 A320 open ? - 06:10-09:24 +0 N607JB - -\nf39 2431 BOS-LGA 06:10-07:27 79 E190 open ? - 06:10-07:27 +0 N279JB - -\nf40 1883 BOS-RDU 06:14-08:17 119 A220 open ? - 06:14-08:17 +0 N3132J - -\nf41 18 FLL-JAX 06:15-07:32 83 A320 open ? - 06:15-07:32 +0 N565JB - -\nf42 722 PBI-BOS 06:15-09:23 149 A320 open ? - 06:15-09:23 +0 N784JB - -\nf43 891 BOS-TPA 06:15-09:34 182 A321 open ? - 06:15-09:34 +0 N903JB - -\nf44 1280 FLL-DCA 06:15-08:45 134 A320 open ? - 06:15-08:45 +0 N571JB - -\nf45 87 ALB-FLL 06:19-09:30 135 A320 open ? - 06:19-09:30 +0 N760JB - -\nf46 598 MCO-LGA 06:20-09:00 149 A320 open ? - 06:20-09:00 +0 N746JB - -\nf47 2433 DCA-PBI 06:20-08:47 119 A320 open ? - 06:20-08:47 +0 N651JB - -\nf48 2713 ATL-LGA 06:20-08:30 130 A220 open ? - 06:20-08:30 +0 N3142J - -\nf49 1145 RIC-FLL 06:29-08:50 128 A320 open ? - 06:29-08:50 +0 N706JB - -\nf50 321 BOS-PBI 06:30-09:43 117 A220 open ? - 06:30-09:43 +0 N3138J - -\nf51 813 HPN-FLL 06:30-09:23 121 A320 open ? - 06:30-09:23 +0 N587JB - -\nf52 1529 JFK-RSW 06:30-09:34 140 A320 open ? - 06:30-09:34 +0 N615JB - -\nf53 1903 JFK-SJU 06:30-10:24 147 A320 open ? - 06:30-10:24 +0 N623JB - -\nf54 2285 JFK-RDU 06:30-08:10 116 A220 open ? - 06:30-08:10 +0 N3023J - -\nf55 2293 JFK-MIA 06:30-09:35 167 A321 open ? - 06:30-09:35 +0 N974JT - -\nf56 2725 JFK-TPA 06:30-09:20 148 A320 open ? - 06:30-09:20 +0 N766JB - -\nf57 301 FLL-LAX 06:31-11:57 148 A321P open ? - 06:31-11:57 +0 N923JB - -\nf58 401 BOS-MSY 06:32-10:02 124 A321P open ? - 06:32-10:02 +0 N981JT - -\nf59 143 EWR-PBI 06:35-09:20 132 A320 open ? - 06:35-09:20 +0 N805JB - -\nf60 265 BOS-RSW 06:40-10:10 139 A320 open ? - 06:40-10:10 +0 N807JB - -\nf61 1187 BOS-JFK 06:44-07:59 112 A220 open ? - 06:44-07:59 +0 N3149J - -\nf62 927 EWR-MCO 06:45-09:30 150 A320 open ? - 06:45-09:30 +0 N705JB - -\nf63 1368 PBI-HPN 06:45-09:33 125 A320 open ? - 06:45-09:33 +0 N809JB - -\nf64 1486 PIT-BOS 06:45-08:23 77 E190 open ? - 06:45-08:23 +0 N267JB - -\nf65 189 JFK-SAN 06:54-12:40 136 A321P open ? - 06:54-12:40 +0 N2105J - -\nf66 163 JFK-SRQ 06:59-09:59 121 A220 open ? - 06:59-09:59 +0 N3189J - -\nf67 261 BOS-SJU 07:00-11:05 135 A320 open ? - 07:00-11:05 +0 N625JB - -\nf68 397 BOS-SEA 07:00-13:13 140 A321P open ? - 07:00-13:13 +0 N935JB - -\nf69 455 BOS-DCA 07:00-08:45 88 E190 open ? - 07:00-08:45 +0 N283JB - -\nf70 1033 MCO-SJU 07:00-09:57 142 A320 open ? - 07:00-09:57 +0 N519JB - -\nf71 1097 BOS-ATL 07:00-09:46 128 A220 open ? - 07:00-09:46 +0 N3156J - -\nf72 1159 BOS-PHL 07:00-08:31 78 E190 open ? - 07:00-08:31 +0 N328JB - -\nf73 1177 BOS-LAS 07:00-12:45 143 A321P open ? - 07:00-12:45 +0 N986JB - -\nf74 1319 BOS-SAN 07:00-13:08 141 A321P open ? - 07:00-13:08 +0 N2169J - -\nf75 1807 BOS-BNA 07:00-09:50 119 A220 open ? - 07:00-09:50 +0 N3102J - -\nf76 1854 DCA-BOS 07:00-08:39 90 E190 open ? - 07:00-08:39 +0 N307JB - -\nf77 2015 JFK-SFO 07:00-13:16 147 A321P open ? - 07:00-13:16 +0 N988JT - -\nf78 2028 MCO-EWR 07:00-09:47 139 A320 open ? - 07:00-09:47 +0 N637JB - -\nf79 2204 SJU-JFK 07:00-11:02 167 A321 open ? - 07:00-11:02 +0 N972JT - -\nf80 2423 DCA-MCO 07:00-09:24 144 A320 open ? - 07:00-09:24 +0 N645JB - -\nf81 2625 RDU-FLL 07:00-09:05 138 A320 open ? - 07:00-09:05 +0 N589JB - -\nf82 172 FLL-LGA 07:09-10:00 150 A320 open ? - 07:09-10:00 +0 N592JB - -\nf83 154 PBI-JFK 07:10-09:55 148 A320 open ? - 07:10-09:55 +0 N584JB - -\nf84 1184 MCO-JFK 07:10-09:54 182 A321 open ? - 07:10-09:54 +0 N956JT - -\nf85 655 SYR-MCO 07:15-10:04 125 A320 open ? - 07:15-10:04 +0 N638JB - -\nf86 2001 BUF-JFK 07:15-08:42 115 A220 open ? - 08:25-09:52 +70 N3125J - -\nf87 2751 TPA-SJU 07:15-10:15 184 A321 open ? - 07:15-10:15 +0 N998JE - -\nf88 716 BUF-BOS 07:20-08:46 87 E190 open ? - 07:20-08:46 +0 N273JB - -\nf89 1333 BOS-SFO 07:20-13:53 143 A321P open ? - 08:00-14:33 +40 N964JT - -\nf90 1565 BOS-SAT 07:20-11:48 94 A220 open ? - 08:00-12:28 +40 N3121J - -\nf91 253 FLL-SJU 07:25-10:03 150 A320 open ? - 07:25-10:03 +0 N599JB - -\nf92 814 FLL-HPN 07:25-10:27 128 A320 open ? - 07:25-10:27 +0 N608JB - -\nf93 2229 BOS-MKE 07:25-10:00 112 A220 open ? - 08:00-10:35 +35 N3062J - -\nf94 1247 LGA-TPA 07:29-10:21 150 A320 open ? - 07:29-10:21 +0 N641JB - -\nf95 341 JFK-SAV 07:30-09:46 135 A320 open ? - 07:30-09:46 +0 N629JB - -\nf96 411 JFK-LAS 07:30-13:03 136 A321P open ? - 07:30-13:03 +0 N990JL - -\nf97 508 JFK-PWM 07:30-08:49 83 E190 open ? - 07:30-08:49 +0 N306JB - -\nf98 677 JFK-JAX 07:30-10:01 131 A220 open ? - 07:30-10:01 +0 N3104J - -\nf99 1130 FLL-CHS 07:30-09:08 113 A320 open ? - 07:30-09:08 +0 N634JB - -\nf100 1480 FLL-DCA 07:30-10:00 134 A320 open ? - 07:30-10:00 +0 N658JB - -\nf101 101 FLL-LAX 07:41-13:08 148 A321P open ? - 07:41-13:08 +0 N992JB - -\nf102 392 TPA-BOS 07:45-10:56 148 A320 open ? - 07:45-10:56 +0 N523JB - -\nf103 1447 HPN-TPA 07:45-10:32 143 A320 open ? - 07:45-10:32 +0 N627JB - -\nf104 1585 BOS-PIT 07:47-09:34 76 E190 open ? - 08:00-09:47 +13 N329JB - -\nf105 2714 LGA-ATL 07:47-10:09 126 A220 open ? - 07:47-10:09 +0 N3152J - -\nf106 75 JFK-MSY 08:00-11:13 105 A220 open ? - 08:00-11:13 +0 N3123J - -\nf107 533 BDL-TPA 08:00-10:58 142 A320 open ? - 08:00-10:58 +0 N529JB - -\nf108 723 JFK-LAX 08:00-13:58 141 A321P open ? - 08:00-13:58 +0 N946JL - -\nf109 1083 JFK-MCO 08:00-10:49 147 A320 open ? - 08:00-10:49 +0 N652JB - -\nf110 1142 PBI-BDL 08:00-10:53 146 A320 open ? - 08:00-10:53 +0 N537JT - -\nf111 1551 HPN-RSW 08:00-10:54 141 A320 open ? - 08:00-10:54 +0 N640JB - -\nf112 2033 BOS-IAH 08:00-12:04 135 A320 open ? - 08:00-12:04 +0 N561JB - -\nf113 2041 BOS-CLE 08:00-10:08 87 E190 open ? - 08:00-10:08 +0 N323JB - -\nf114 2473 JFK-CHS 08:00-10:18 105 A220 open ? - 08:00-10:18 +0 N3169J - -\nf115 2718 JFK-BOS 08:00-09:19 105 A220 open ? - 08:19-09:38 +19 N3185J - -\nf116 2930 SJU-RDU 08:00-11:45 139 A320 open ? - 08:00-11:45 +0 N644JB - -\nf117 404 SJU-JFK 08:05-12:00 167 A321 open ? - 08:05-12:00 +0 N957JB - -\nf118 1105 JFK-ORD 08:07-10:50 113 A220 open ? - 09:00-11:43 +53 N3149J - -\nf119 1081 BOS-RIC 08:08-10:01 91 E190 open ? - 08:08-10:01 +0 N339JB - -\nf120 393 BOS-DEN 08:12-12:52 145 A320 open ? - 08:12-12:52 +0 N649JB - -\nf121 1573 EWR-LAX 08:13-14:10 141 A321P open ? - 08:13-14:10 +0 N993JE - -\nf122 1347 DCA-SJU 08:15-12:07 184 A321 open ? - 08:15-12:07 +0 N965JT - -\nf123 17 JAX-FLL 08:20-09:38 90 A320 open ? - 08:20-09:38 +0 N565JB - -\nf124 1519 BOS-MIA 08:20-11:52 128 A320 open ? - 08:20-11:52 +0 N552JB - -\nf125 516 BUF-BOS 08:25-09:49 122 A220 open ? - 11:15-12:39 +170 N3112J - -\nf126 874 TPA-EWR 08:25-11:10 138 A320 open ? - 08:25-11:10 +0 N603JB - -\nf127 1137 BOS-DTW 08:25-10:40 85 E190 open ? - 08:25-10:40 +0 N274JB - -\nf128 1601 JFK-FLL 08:25-11:27 173 A321 open ? - 08:25-11:27 +0 N952JB - -\nf129 2396 FLL-TLH 08:25-09:48 86 A320 open ? - 08:25-09:48 +0 N821JB - -\nf130 195 HPN-MCO 08:30-11:09 137 A320 open ? - 08:30-11:09 +0 N630JB - -\nf131 1954 DCA-BOS 08:30-10:18 90 E190 open ? - 08:30-10:18 +0 N258JB - -\nf132 602 FLL-JFK 08:35-11:32 148 A320 open ? - 08:35-11:32 +0 N834JB - -\nf133 2334 PBI-DCA 08:40-11:04 132 A320 open ? - 08:40-11:04 +0 N828JB - -\nf134 2786 RDU-JFK 08:55-10:35 125 A220 open ? - 08:55-10:35 +0 N3065J - -\nf135 2824 LAX-JFK 08:55-14:29 148 A321P open ? - 08:55-14:29 +0 N982JB - -\nf136 2465 BUF-FLL 08:57-11:51 139 A320 open ? - 09:36-12:30 +39 N794JB - -\nf137 1246 CLT-BOS 08:59-11:09 83 E190 open ? - 09:20-11:30 +21 N281JB - -\nf138 2121 HPN-ACK 08:59-10:00 60 E190 open ? - 08:59-10:00 +0 N317JB - -\nf139 288 LAX-BOS 09:00-14:40 149 A321P open ? - 09:00-14:40 +0 N980JT - -\nf140 323 JFK-LAX 09:00-14:58 141 A321P open ? - 09:00-14:58 +0 N943JT - -\nf141 577 FLL-SFO 09:00-14:57 142 A321P open ? - 09:00-14:57 +0 N961JT - -\nf142 947 JFK-BZN 09:00-13:55 139 A320 open ? - 09:00-13:55 +0 N527JL - -\nf143 1067 HPN-PBI 09:00-11:44 124 A320 open ? - 09:00-11:44 +0 N779JB - -\nf144 1216 SFO-JFK 09:00-14:37 152 A321P open ? - 09:00-14:37 +0 N937JB - -\nf145 1455 BOS-DCA 09:00-10:43 88 E190 open ? - 09:00-10:43 +0 N334JB - -\nf146 1602 JFK-BUF 09:00-10:30 125 A220 open ? - 09:00-10:30 +0 N3112J - -\nf147 2091 JFK-ACK 09:00-10:20 66 E190 open ? - 09:00-10:20 +0 N354JB - -\nf148 484 RDU-BOS 09:02-10:59 121 A220 open ? - 09:02-10:59 +0 N3023J - -\nf149 1074 BNA-JFK 09:05-11:28 164 A321 open ? - 10:03-12:26 +58 N970JB - -\nf150 1160 PHL-BOS 09:06-10:35 72 E190 open ? - 09:06-10:35 +0 N328JB - -\nf151 520 ATL-JFK 09:09-11:30 129 A220 open ? - 09:09-11:30 +0 N3139J - -\nf152 725 JFK-SAT 09:10-13:21 110 A220 open ? - 11:20-15:31 +130 N3065J - -\nf153 1923 DCA-MCO 09:10-11:35 134 A320 open ? - 09:10-11:35 +0 N505JB - -\nf154 267 BOS-CHS 09:15-11:39 78 E190 open ? - 09:15-11:39 +0 N337JB - -\nf155 461 LGA-PBI 09:15-12:09 128 A220 open ? - 09:15-12:09 +0 N3157J - -\nf156 183 JFK-MCO 09:20-12:12 181 A321 open ? - 09:20-12:12 +0 N995JL - -\nf157 1 JFK-FLL 09:25-12:26 140 A320 open ? - 09:25-12:26 +0 N593JB - -\nf158 488 MCO-ORH 09:25-12:20 129 A320 open ? - 09:25-12:20 +0 N793JB - -\nf159 2277 BOS-AVL 09:25-11:50 101 A220 open ? - 09:25-11:50 +0 N3162J - -\nf160 312 ORD-BOS 09:29-11:55 81 E190 open ? - 09:35-12:01 +6 N265JB - -\nf161 379 DCA-FLL 09:30-12:05 146 A320 open ? - 09:30-12:05 +0 N571JB - -\nf162 599 LGA-MCO 09:30-12:20 151 A321P open ? - 09:30-12:20 +0 N947JB - -\nf163 733 BOS-SFO 09:30-16:01 143 A321P open ? - 09:30-16:01 +0 N991JT - -\nf164 2432 LGA-BOS 09:30-10:48 79 E190 open ? - 09:30-10:48 +0 N284JB - -\nf165 1054 PBI-JFK 09:32-12:19 128 A220 open ? - 09:32-12:19 +0 N3118J - -\nf166 115 JFK-SFO 09:40-16:00 147 A321P open ? - 09:40-16:00 +0 N977JE - -\nf167 42 PBI-LGA 09:42-12:33 150 A320 open ? - 09:42-12:33 +0 N651JB - -\nf168 407 PWM-JFK 09:45-11:00 68 E190 open ? - 09:45-11:00 +0 N306JB - -\nf169 531 BOS-LGA 09:45-10:59 79 E190 open ? - 09:45-10:59 +0 N324JB - -\nf170 2324 MCO-DCA 09:45-12:03 136 A320 open ? - 09:45-12:03 +0 N521JB - -\nf171 2511 EWR-RSW 09:45-12:46 149 A320 open ? - 09:45-12:46 +0 N612JB - -\nf172 1002 FLL-JFK 09:50-12:47 148 A320 open ? - 09:50-12:47 +0 N621JB - -\nf173 1497 JFK-DEN 09:50-14:13 147 A320 open ? - 09:50-14:13 +0 N534JB - -\nf174 1131 CHS-FLL 09:53-11:29 124 A320 open ? - 09:53-11:29 +0 N634JB - -\nf175 698 MCO-LGA 09:55-12:34 149 A320 open ? - 09:55-12:34 +0 N789JB - -\nf176 1584 MCO-JFK 09:55-12:38 148 A320 open ? - 09:55-12:38 +0 N663JB - -\nf177 1655 BOS-DCA 09:55-11:35 88 E190 open ? - 09:55-11:35 +0 N267JB - -\nf178 1039 BOS-AUS 10:00-14:17 116 A220 open ? - 10:00-14:17 +0 N3145J - -\nf179 1076 MCO-PVD 10:00-12:50 130 A320 open ? - 10:00-12:50 +0 N639JB - -\nf180 1553 FLL-SJU 10:00-12:42 150 A320 open ? - 10:00-12:42 +0 N662JB - -\nf181 1774 LAX-EWR 10:00-15:30 148 A321P open ? - 10:00-15:30 +0 N985JT - -\nf182 2123 JFK-LAX 10:00-15:55 142 A321P open ? - 10:00-15:55 +0 N942JB - -\nf183 2051 BOS-MCO 10:02-13:15 144 A320 open ? - 10:02-13:15 +0 N605JB - -\nf184 126 TPA-JFK 10:05-12:53 150 A320 open ? - 10:05-12:53 +0 N766JB - -\nf185 2417 BOS-JFK 10:05-11:22 112 A220 open ? - 10:23-11:40 +18 N3185J - -\nf186 272 FLL-LGA 10:08-13:00 150 A320 open ? - 10:08-13:00 +0 N618JB - -\nf187 62 SJU-BOS 10:10-14:15 160 A321 open ? - 10:10-14:15 +0 N2029J - -\nf188 144 PBI-EWR 10:10-13:03 136 A320 open ? - 10:10-13:03 +0 N805JB - -\nf189 1352 BOS-ACK 10:10-11:05 73 E190 open ? - 10:10-11:05 +0 N307JB - -\nf190 731 BOS-SJU 10:12-14:14 135 A320 open ? - 10:12-14:14 +0 N624JB - -\nf191 1530 RSW-JFK 10:19-13:08 150 A320 open ? - 10:19-13:08 +0 N615JB - -\nf192 554 DCA-BOS 10:20-12:00 90 E190 open ? - 10:20-12:00 +0 N283JB - -\nf193 724 LAX-JFK 10:20-16:01 148 A321P open ? - 10:20-16:01 +0 N968JT - -\nf194 1286 PIT-BOS 10:20-12:00 77 E190 open ? - 10:22-12:02 +2 N329JB - -\nf195 1460 FLL-EWR 10:20-13:19 150 A320 open ? - 10:20-13:19 +0 N568JB - -\nf196 1680 FLL-DCA 10:25-13:00 134 A320 open ? - 10:25-13:00 +0 N633JB - -\nf197 2071 FLL-BQN 10:25-12:55 145 A320 open ? - 10:25-12:55 +0 N613JB - -\nf198 222 PBI-BOS 10:28-13:30 129 A220 open ? - 10:28-13:30 +0 N3138J - -\nf199 94 MCO-HPN 10:30-13:19 135 A320 open ? - 10:30-13:19 +0 N659JB - -\nf200 595 HPN-MCO 10:30-13:09 137 A320 open ? - 10:30-13:09 +0 N809JB - -\nf201 687 BOS-LAX 10:30-16:43 146 A321P open ? - 10:30-16:43 +0 N989JT - -\nf202 1371 LGA-FLL 10:30-13:32 143 A320 open ? - 10:30-13:32 +0 N746JB - -\nf203 1613 JFK-LAS 10:30-16:01 136 A321P open ? - 10:30-16:01 +0 N978JB - -\nf204 1889 EWR-SJU 10:30-14:30 148 A320 open ? - 10:30-14:30 +0 N665JB - -\nf205 2503 JFK-SJU 10:30-14:25 181 A321 open ? - 10:30-14:25 +0 N2086J - -\nf206 82 IAH-JFK 10:34-14:14 150 A320 open ? - 10:34-14:14 +0 N606JB - -\nf207 215 BOS-DFW 10:34-14:39 122 A220 open ? - 11:44-15:49 +70 N3023J - -\nf208 892 TPA-BOS 10:34-13:46 183 A321 open ? - 10:34-13:46 +0 N903JB - -\nf209 896 ATL-BOS 10:34-13:14 128 A220 open ? - 10:34-13:14 +0 N3156J - -\nf210 342 SAV-JFK 10:35-12:44 140 A320 open ? - 10:35-12:44 +0 N629JB - -\nf211 1806 BNA-BOS 10:35-13:13 120 A220 open ? - 10:35-13:13 +0 N3102J - -\nf212 2592 MIA-JFK 10:35-13:44 179 A321 open ? - 10:35-13:44 +0 N974JT - -\nf213 2397 TLH-FLL 10:38-12:02 90 A320 open ? - 10:38-12:02 +0 N821JB - -\nf214 127 EWR-MCO 10:40-13:25 141 A320 open ? - 10:40-13:25 +0 N554JB - -\nf215 1133 MCO-SJU 10:40-13:40 150 A320 open ? - 10:40-13:40 +0 N804JB - -\nf216 1182 RIC-BOS 10:41-12:19 90 E190 open ? - 10:41-12:19 +0 N339JB - -\nf217 164 SRQ-JFK 10:45-13:35 131 A220 open ? - 10:45-13:35 +0 N3189J - -\nf218 1079 DCA-FLL 10:45-13:20 146 A320 open ? - 10:45-13:20 +0 N658JB - -\nf219 2493 ACK-DCA 10:45-12:20 66 E190 open ? - 10:45-12:20 +0 N317JB - -\nf220 400 MSY-BOS 10:47-14:04 130 A321P open ? - 10:58-14:15 +11 N981JT - -\nf221 1036 SJU-STT 10:48-11:27 107 A320 open ? - 10:48-11:27 +0 N656JB - -\nf222 1334 SJU-MCO 10:49-13:59 138 A320 open ? - 10:49-13:59 +0 N519JB - -\nf223 2040 CLE-BOS 10:49-12:32 87 E190 open ? - 10:49-12:32 +0 N323JB - -\nf224 109 BOS-JAX 10:50-13:42 145 A320 open ? - 10:50-13:42 +0 N535JB - -\nf225 2230 MKE-BOS 10:55-13:15 114 A220 open ? - 11:20-13:40 +25 N3062J - -\nf226 678 JAX-JFK 10:56-13:19 131 A220 open ? - 10:56-13:19 +0 N3104J - -\nf227 83 JFK-MCO 11:00-13:45 147 A320 open ? - 11:00-13:45 +0 N507JT - -\nf228 434 SFO-BOS 11:00-16:46 149 A321P open ? - 11:00-16:46 +0 N983JT - -\nf229 523 JFK-LAX 11:00-16:57 142 A321P open ? - 11:00-16:57 +0 N984JB - -\nf230 1401 JFK-FLL 11:00-13:57 140 A320 open ? - 11:00-13:57 +0 N703JB - -\nf231 1755 BOS-DCA 11:00-12:42 88 E190 open ? - 11:00-12:42 +0 N273JB - -\nf232 1274 CHS-JFK 11:03-12:59 115 A220 open ? - 11:03-12:59 +0 N3115J - -\nf233 2813 ATL-LGA 11:04-13:17 130 A220 open ? - 11:04-13:17 +0 N3152J - -\nf234 92 ACK-JFK 11:05-12:13 55 E190 open ? - 11:05-12:13 +0 N354JB - -\nf235 1552 RSW-HPN 11:05-13:55 150 A320 open ? - 11:05-13:55 +0 N807JB - -\nf236 2283 BOS-RDU 11:10-13:12 85 E190 open ? - 11:10-13:12 +0 N258JB - -\nf237 1901 BUF-JFK 11:15-12:43 115 A220 open ? - 14:15-15:43 +180 N3194J - -\nf238 1248 TPA-LGA 11:18-14:01 150 A320 open ? - 11:18-14:01 +0 N627JB - -\nf239 1904 SJU-JFK 11:19-15:15 136 A320 open ? - 11:19-15:15 +0 N599JB - -\nf240 624 LAX-JFK 11:25-17:00 148 A321P open ? - 11:25-17:00 +0 N929JB - -\nf241 1485 BOS-PIT 11:25-13:09 76 E190 open ? - 11:25-13:09 +0 N328JB - -\nf242 2036 DTW-BOS 11:25-13:22 86 E190 open ? - 11:25-13:22 +0 N274JB - -\nf243 718 JFK-BOS 11:29-12:49 105 A220 open ? - 12:15-13:35 +46 N3139J - -\nf244 2310 LGA-ACK 11:30-12:44 68 E190 open ? - 11:30-12:44 +0 N279JB - -\nf245 2454 DCA-BOS 11:30-13:06 90 E190 open ? - 11:30-13:06 +0 N334JB - -\nf246 2648 HPN-CHS 11:30-13:29 94 A320 open ? - 11:30-13:29 +0 N608JB - -\nf247 906 ORD-JFK 11:35-13:55 112 A220 open ? - 12:28-14:48 +53 N3149J - -\nf248 1338 JFK-MVY 11:35-12:44 59 E190 open ? - 11:35-12:44 +0 N306JB - -\nf249 266 RSW-BOS 11:40-14:58 147 A320 open ? - 11:40-14:58 +0 N640JB - -\nf250 217 BOS-JFK 11:44-12:59 112 A220 open ? - 13:24-14:39 +100 N3112J - -\nf251 1141 BDL-PBI 11:50-14:48 138 A320 open ? - 11:50-14:48 +0 N537JT - -\nf252 1351 ACK-BOS 11:50-12:42 57 E190 open ? - 11:50-12:42 +0 N307JB - -\nf253 1752 SJU-TPA 11:52-15:00 145 A320 open ? - 11:52-15:00 +0 N623JB - -\nf254 1534 TPA-BDL 11:53-14:44 142 A320 open ? - 11:53-14:44 +0 N529JB - -\nf255 176 MSY-JFK 11:58-15:05 116 A220 open ? - 11:58-15:05 +0 N3123J - -\nf256 23 DCA-MCO 12:00-14:21 144 A320 open ? - 12:00-14:21 +0 N828JB - -\nf257 70 FLL-BOS 12:00-15:15 142 A320 open ? - 12:00-15:15 +0 N712JB - -\nf258 446 MCO-BDL 12:00-14:49 148 A320 open ? - 12:00-14:49 +0 N531JL - -\nf259 755 BOS-DCA 12:00-13:39 88 E190 open ? - 12:00-13:39 +0 N284JB - -\nf260 503 JFK-SJU 12:02-16:03 181 A321 open ? - 12:02-16:03 +0 N950JT - -\nf261 119 MCO-RIC 12:04-14:10 137 A320 open ? - 12:04-14:10 +0 N564JB - -\nf262 1388 LAX-BOS 12:05-17:47 149 A321P open ? - 12:05-17:47 +0 N987JT - -\nf263 1135 STT-SJU 12:12-13:05 108 A320 open ? - 12:12-13:05 +0 N656JB - -\nf264 285 JFK-RDU 12:15-14:03 124 A320 open ? - 12:15-14:03 +0 N516JB - -\nf265 2719 JFK-ATL 12:16-14:40 125 A220 open ? - 12:25-14:49 +9 N3185J - -\nf266 1414 DCA-MVY 12:23-13:49 75 E190 open ? - 12:23-13:49 +0 N267JB - -\nf267 2020 FLL-ORH 12:24-15:31 132 A320 open ? - 12:24-15:31 +0 N715JB - -\nf268 68 CHS-BOS 12:25-14:49 80 E190 open ? - 12:25-14:49 +0 N337JB - -\nf269 1273 JFK-CHS 12:30-14:44 105 A220 open ? - 13:04-15:18 +34 N3118J - -\nf270 1604 SJU-JFK 12:30-16:32 167 A321 open ? - 12:30-16:32 +0 N998JE - -\nf271 2352 BOS-ACK 12:30-13:22 73 E190 open ? - 12:30-13:22 +0 N281JB - -\nf272 2732 LGA-BOS 12:30-13:48 79 E190 open ? - 12:30-13:48 +0 N324JB - -\nf273 324 LAX-JFK 12:35-18:12 148 A321P open ? - 12:35-18:12 +0 N2151J - -\nf274 2278 AVL-BOS 12:35-14:50 91 A220 open ? - 12:35-14:50 +0 N3162J - -\nf275 1220 MIA-BOS 12:40-16:09 119 A320 open ? - 12:40-16:09 +0 N552JB - -\nf276 1288 PBI-PVD 12:40-15:40 150 A320 open ? - 12:40-15:40 +0 N779JB - -\nf277 1753 EWR-TPA 12:40-15:29 137 A320 open ? - 12:40-15:29 +0 N520JB - -\nf278 1802 FLL-JFK 12:42-15:46 182 A321 open ? - 12:42-15:46 +0 N952JB - -\nf279 1566 SAT-BOS 12:43-17:00 123 A220 open ? - 13:13-17:30 +30 N3121J - -\nf280 2929 RDU-SJU 12:44-16:28 149 A320 open ? - 12:44-16:28 +0 N644JB - -\nf281 1080 FLL-DCA 12:51-15:25 134 A320 open ? - 12:51-15:25 +0 N763JB - -\nf282 416 SFO-JFK 12:54-18:30 152 A321P open ? - 12:54-18:30 +0 N969JT - -\nf283 932 IAH-BOS 12:54-16:48 147 A320 open ? - 12:54-16:48 +0 N561JB - -\nf284 295 JFK-AUS 12:55-16:56 144 A320 open ? - 12:55-16:56 +0 N558JB - -\nf285 579 DCA-FLL 13:00-15:34 146 A320 open ? - 13:00-15:34 +0 N521JB - -\nf286 1515 JFK-SFO 13:00-19:09 147 A321P open ? - 13:00-19:09 +0 N944JT - -\nf287 1955 BOS-DCA 13:00-14:45 88 E190 open ? - 13:00-14:45 +0 N283JB - -\nf288 770 MCO-ALB 13:01-15:55 149 A320 open ? - 13:01-15:55 +0 N583JB - -\nf289 186 JFK-ROC 13:04-14:22 118 A220 open ? - 13:44-15:02 +40 N3115J - -\nf290 683 BOS-RDU 13:04-15:06 85 E190 open ? - 13:04-15:06 +0 N265JB - -\nf291 1962 PBI-LGA 13:04-15:52 131 A220 open ? - 13:04-15:52 +0 N3157J - -\nf292 987 ORH-MCO 13:05-16:14 142 A320 open ? - 13:05-16:14 +0 N793JB - -\nf293 2254 DCA-BOS 13:05-14:44 90 E190 open ? - 13:05-14:44 +0 N317JB - -\nf294 2516 JFK-HYA 13:05-14:14 59 E190 open ? - 13:05-14:14 +0 N354JB - -\nf295 1700 LAX-FLL 13:07-18:21 153 A321P open ? - 13:07-18:21 +0 N923JB - -\nf296 1031 BOS-LGA 13:15-14:34 79 E190 open ? - 13:15-14:34 +0 N329JB - -\nf297 1372 FLL-LGA 13:15-16:09 150 A320 open ? - 13:15-16:09 +0 N607JB - -\nf298 2215 BOS-BUF 13:17-14:50 90 E190 open ? - 13:17-14:50 +0 N339JB - -\nf299 46 LGA-TPA 13:20-16:17 150 A320 open ? - 13:20-16:17 +0 N651JB - -\nf300 188 LAX-BOS 13:25-19:05 149 A321P open ? - 13:25-19:05 +0 N2180J - -\nf301 679 JFK-MKE 13:29-15:55 117 A220 open ? - 14:04-16:30 +35 N3104J - -\nf302 1339 MVY-JFK 13:29-14:34 43 E190 open ? - 13:29-14:34 +0 N306JB - -\nf303 399 LGA-MCO 13:30-16:26 150 A320 open ? - 13:30-16:26 +0 N789JB - -\nf304 1098 MCO-LGA 13:30-16:13 146 A321P open ? - 13:30-16:13 +0 N947JB - -\nf305 1745 BOS-CLT 13:30-15:57 72 E190 open ? - 13:30-15:57 +0 N323JB - -\nf306 1454 SJU-FLL 13:33-16:25 143 A320 open ? - 13:33-16:25 +0 N625JB - -\nf307 1075 PVD-MCO 13:35-16:38 124 A320 open ? - 13:35-16:38 +0 N639JB - -\nf308 410 ACK-LGA 13:40-15:00 55 E190 open ? - 13:40-15:00 +0 N279JB - -\nf309 2072 BQN-FLL 13:40-16:14 131 A320 open ? - 13:40-16:14 +0 N613JB - -\nf310 2512 RSW-EWR 13:41-16:42 150 A320 open ? - 13:41-16:42 +0 N612JB - -\nf311 218 JFK-BOS 13:44-15:01 105 A220 open ? - 14:20-15:37 +36 N3189J - -\nf312 184 MCO-JFK 13:45-16:30 182 A321 open ? - 13:45-16:30 +0 N995JL - -\nf313 578 SFO-FLL 13:45-19:27 148 A321P open ? - 13:45-19:27 +0 N934JB - -\nf314 190 SAN-JFK 13:50-19:32 150 A321P open ? - 13:50-19:32 +0 N2105J - -\nf315 934 SJU-MCO 13:50-17:05 149 A320 open ? - 13:50-17:05 +0 N662JB - -\nf316 394 DEN-BOS 13:52-17:56 144 A320 open ? - 13:52-17:56 +0 N649JB - -\nf317 207 BOS-BNA 13:53-16:43 119 A220 open ? - 13:58-16:48 +5 N3102J - -\nf318 271 LGA-FLL 13:55-17:00 143 A320 open ? - 13:55-17:00 +0 N618JB - -\nf319 448 LAS-JFK 13:55-19:04 143 A321P open ? - 13:55-19:04 +0 N986JB - -\nf320 1727 EWR-MCO 13:55-16:46 141 A320 open ? - 13:55-16:46 +0 N547JB - -\nf321 1733 DCA-PBI 13:55-16:27 119 A320 open ? - 13:55-16:27 +0 N633JB - -\nf322 2286 PIT-BOS 13:55-15:35 77 E190 open ? - 13:55-15:35 +0 N328JB - -\nf323 2184 RDU-BOS 13:57-16:05 86 E190 open ? - 13:57-16:05 +0 N258JB - -\nf324 53 JFK-PBI 13:59-16:59 139 A320 open ? - 13:59-16:59 +0 N584JB - -\nf325 1855 BOS-DCA 14:00-15:46 88 E190 open ? - 14:00-15:46 +0 N307JB - -\nf326 2554 DCA-BOS 14:00-15:42 90 E190 open ? - 14:00-15:42 +0 N273JB - -\nf327 991 FLL-SJU 14:05-16:49 150 A320 open ? - 14:05-16:49 +0 N565JB - -\nf328 1122 ACK-HPN 14:07-15:10 50 E190 open ? - 14:07-15:10 +0 N281JB - -\nf329 552 MCO-BOS 14:10-17:20 132 A320 open ? - 14:10-17:20 +0 N768JB - -\nf330 821 JFK-RSW 14:10-17:20 121 A220 open ? - 15:24-18:34 +74 N3112J - -\nf331 1037 BOS-DTW 14:10-16:23 119 A220 open ? - 14:10-16:23 +0 N3156J - -\nf332 2614 LGA-ATL 14:12-16:35 126 A220 open ? - 14:12-16:35 +0 N3152J - -\nf333 1178 LAS-BOS 14:13-19:32 145 A321P open ? - 14:13-19:32 +0 N990JL - -\nf334 495 HPN-MCO 14:15-17:02 137 A320 open ? - 14:15-17:02 +0 N659JB - -\nf335 1459 EWR-FLL 14:15-17:18 149 A320 open ? - 14:15-17:18 +0 N637JB - -\nf336 2647 CHS-HPN 14:15-16:15 85 A320 open ? - 14:15-16:15 +0 N608JB - -\nf337 1324 BOS-MVY 14:17-15:03 43 E190 open ? - 14:17-15:03 +0 N334JB - -\nf338 1874 LAX-EWR 14:18-19:47 148 A321P open ? - 14:18-19:47 +0 N992JB - -\nf339 726 SAT-JFK 14:19-18:29 114 A220 open ? - 16:16-20:26 +117 N3065J - -\nf340 1320 SAN-BOS 14:20-20:02 151 A321P open ? - 14:20-20:02 +0 N2169J - -\nf341 2466 FLL-BUF 14:20-17:17 150 A320 open ? - 14:20-17:17 +0 N821JB - -\nf342 349 BOS-SAV 14:25-17:08 130 A220 open ? - 14:25-17:08 +0 N3139J - -\nf343 904 SJU-JFK 14:25-18:29 167 A321 open ? - 14:25-18:29 +0 N965JT - -\nf344 2251 BOS-MCO 14:25-17:41 124 A220 open ? - 14:25-17:41 +0 N3062J - -\nf345 2494 DCA-ACK 14:25-15:59 75 E190 open ? - 14:25-15:59 +0 N284JB - -\nf346 784 MCO-JFK 14:26-17:14 148 A320 open ? - 14:26-17:14 +0 N585JB - -\nf347 2993 JFK-MIA 14:29-17:42 117 A220 open ? - 15:33-18:46 +64 N3149J - -\nf348 398 SEA-BOS 14:30-19:58 140 A321P open ? - 14:30-19:58 +0 N935JB - -\nf349 500 MCO-RDU 14:30-16:20 114 A320 open ? - 14:30-16:20 +0 N705JB - -\nf350 1310 JAX-BOS 14:30-17:23 147 A320 open ? - 14:30-17:23 +0 N535JB - -\nf351 2902 JFK-BUF 14:30-16:05 125 A220 open ? - 15:50-17:25 +80 N3123J - -\nf352 1413 MVY-DCA 14:34-16:10 61 E190 open ? - 14:34-16:10 +0 N267JB - -\nf353 591 BOS-TPA 14:35-18:00 147 A320 open ? - 14:35-18:00 +0 N508JL - -\nf354 317 BOS-JFK 14:40-16:01 112 A220 open ? - 15:35-16:56 +55 N3162J - -\nf355 1677 JFK-JAX 14:40-17:15 131 A220 open ? - 16:28-19:03 +108 N3194J - -\nf356 128 MCO-EWR 14:44-17:33 150 A320 open ? - 14:44-17:33 +0 N652JB - -\nf357 1634 SJU-MCO 14:45-18:01 149 A320 open ? - 14:45-18:01 +0 N656JB - -\nf358 61 BOS-SJU 14:46-18:51 167 A321 open ? - 14:46-18:51 +0 N959JB - -\nf359 383 JFK-MCO 14:50-17:50 181 A321 open ? - 14:50-17:50 +0 N966JT - -\nf360 1251 HPN-PBI 14:50-17:39 124 A320 open ? - 14:50-17:39 +0 N807JB - -\nf361 120 RIC-MCO 14:55-17:06 140 A320 open ? - 14:55-17:06 +0 N564JB - -\nf362 944 BZN-JFK 14:55-19:29 139 A320 open ? - 14:55-19:29 +0 N527JL - -\nf363 86 RDU-JFK 14:59-16:45 134 A320 open ? - 14:59-16:45 +0 N516JB - -\nf364 125 JFK-TPA 14:59-18:06 148 A320 open ? - 14:59-18:06 +0 N517JB - -\nf365 1961 LGA-PBI 14:59-18:00 149 A320 open ? - 14:59-18:00 +0 N627JB - -\nf366 936 SJU-STT 15:00-15:44 107 A320 open ? - 15:00-15:44 +0 N804JB - -\nf367 2223 JFK-LAX 15:00-21:06 141 A321P open ? - 15:00-21:06 +0 N976JT - -\nf368 415 HYA-JFK 15:02-16:05 49 E190 open ? - 15:02-16:05 +0 N354JB - -\nf369 1498 DEN-JFK 15:03-18:59 134 A320 open ? - 15:03-18:59 +0 N534JB - -\nf370 438 MCO-BDL 15:06-17:56 148 A320 open ? - 15:06-17:56 +0 N630JB - -\nf371 231 BOS-LGA 15:10-16:30 79 E190 open ? - 15:10-16:30 +0 N274JB - -\nf372 2421 BOS-PBI 15:10-18:30 117 A220 open ? - 16:22-19:42 +72 N3189J - -\nf373 1138 AUS-BOS 15:12-19:27 130 A220 open ? - 15:12-19:27 +0 N3145J - -\nf374 534 SFO-BOS 15:15-20:59 150 A321P open ? - 15:15-20:59 +0 N988JT - -\nf375 1116 SFO-JFK 15:15-21:00 152 A321P open ? - 15:29-21:14 +14 N964JT - -\nf376 1433 MCO-SJU 15:15-18:19 142 A320 open ? - 15:15-18:19 +0 N809JB - -\nf377 485 ROC-JFK 15:17-16:44 114 A220 open ? - 15:47-17:14 +30 N3115J - -\nf378 300 LAX-FLL 15:20-20:24 153 A321P open ? - 15:20-20:24 +0 N946JL - -\nf379 2566 LGA-MVY 15:20-16:30 61 E190 open ? - 15:20-16:30 +0 N329JB - -\nf380 1124 LAX-JFK 15:22-21:00 148 A321P open ? - 15:22-21:00 +0 N993JE - -\nf381 1890 SJU-EWR 15:25-19:45 146 A320 open ? - 15:25-19:45 +0 N624JB - -\nf382 2233 BOS-SFO 15:25-21:58 143 A321P open ? - 15:25-21:58 +0 N979JT - -\nf383 641 BOS-CLE 15:29-17:35 87 E190 open ? - 15:29-17:35 +0 N324JB - -\nf384 1243 EWR-PBI 15:30-18:29 143 A320 open ? - 15:30-18:29 +0 N603JB - -\nf385 1254 DCA-BOS 15:30-17:18 90 E190 open ? - 15:30-17:18 +0 N283JB - -\nf386 1214 DFW-BOS 15:34-19:27 117 A220 open ? - 16:34-20:27 +60 N3023J - -\nf387 462 SJU-BOS 15:35-19:45 160 A321 open ? - 15:35-19:45 +0 N2086J - -\nf388 2016 BUF-BOS 15:35-17:04 87 E190 open ? - 15:35-17:04 +0 N339JB - -\nf389 2185 BOS-PIT 15:35-17:23 76 E190 open ? - 15:35-17:23 +0 N317JB - -\nf390 720 ATL-JFK 15:36-18:06 129 A220 open ? - 15:36-18:06 +0 N3185J - -\nf391 2474 CHS-JFK 15:39-17:49 115 A220 open ? - 15:39-17:49 +0 N3169J - -\nf392 1032 LGA-BOS 15:40-17:03 79 E190 open ? - 15:40-17:03 +0 N279JB - -\nf393 1475 BDL-SJU 15:40-19:44 150 A320 open ? - 15:40-19:44 +0 N529JB - -\nf394 447 BDL-MCO 15:45-18:54 147 A320 open ? - 15:45-18:54 +0 N531JL - -\nf395 697 BOS-ATL 15:45-18:35 128 A220 open ? - 18:15-21:05 +150 N3121J - -\nf396 2291 JFK-ACK 15:45-17:09 66 E190 open ? - 15:45-17:09 +0 N306JB - -\nf397 2424 MCO-DCA 15:45-18:09 136 A320 open ? - 15:45-18:09 +0 N605JB - -\nf398 1225 MVY-BOS 15:48-16:35 38 E190 open ? - 15:48-16:35 +0 N334JB - -\nf399 1205 JFK-ORD 15:50-18:43 113 A220 open ? - 17:41-20:34 +111 N3162J - -\nf400 1963 JFK-SYR 15:50-17:14 96 A320 open ? - 15:50-17:14 +0 N663JB - -\nf401 684 RDU-BOS 15:51-17:55 86 E190 open ? - 15:51-17:55 +0 N265JB - -\nf402 1751 TPA-SJU 15:51-18:55 149 A320 open ? - 15:51-18:55 +0 N623JB - -\nf403 1121 HPN-ACK 15:55-17:00 60 E190 open ? - 15:55-17:00 +0 N281JB - -\nf404 835 BOS-MSP 15:56-19:11 108 A220 open ? - 19:00-22:15 +184 N3085J - -\nf405 615 JFK-SFO 15:59-22:26 147 A321P open ? - 15:59-22:26 +0 N982JB - -\nf406 1211 JFK-LAS 15:59-21:40 136 A321P open ? - 15:59-21:40 +0 N937JB - -\nf407 197 BOS-SEA 16:00-22:20 140 A321P open ? - 16:00-22:20 +0 N981JT - -\nf408 861 BOS-SJU 16:00-20:05 167 A321 open ? - 16:00-20:05 +0 N903JB - -\nf409 971 BOS-SJC 16:00-22:25 111 A220 open ? - 20:05-02:30+1 +245 N3156J - -\nf410 1168 PBI-HPN 16:00-18:55 125 A320 open ? - 16:00-18:55 +0 N537JT - -\nf411 2469 BOS-FLL 16:00-19:29 138 A320 open ? - 16:00-19:29 +0 N523JB - -\nf412 19 BOS-SAN 16:10-22:18 141 A321P open ? - 16:10-22:18 +0 N980JT - -\nf413 1579 DCA-FLL 16:10-18:56 146 A320 open ? - 16:10-18:56 +0 N763JB - -\nf414 2065 BOS-RSW 16:10-19:44 139 A320 open ? - 16:10-19:44 +0 N640JB - -\nf415 2467 BOS-CHS 16:20-18:50 78 E190 open ? - 16:20-18:50 +0 N337JB - -\nf416 1880 FLL-DCA 16:22-18:59 134 A320 open ? - 16:22-18:59 +0 N593JB - -\nf417 732 SJU-BOS 16:25-20:35 129 A320 open ? - 16:25-20:35 +0 N665JB - -\nf418 1084 MCO-JFK 16:25-19:20 148 A320 open ? - 16:25-19:20 +0 N554JB - -\nf419 1734 SFO-BOS 16:25-22:07 149 A321P open ? - 16:25-22:07 +0 N961JT - -\nf420 2274 TPA-EWR 16:25-19:17 138 A320 open ? - 16:25-19:17 +0 N520JB - -\nf421 2119 ORH-FLL 16:26-19:40 123 A320 open ? - 16:26-19:40 +0 N715JB - -\nf422 2259 BOS-PHL 16:28-18:00 78 E190 open ? - 16:28-18:00 +0 N328JB - -\nf423 888 LAX-BOS 16:29-22:00 149 A321P open ? - 16:29-22:00 +0 N943JT - -\nf424 287 BOS-LAX 16:30-22:43 146 A321P open ? - 17:19-23:32 +49 N962JT - -\nf425 883 JFK-MCO 16:30-19:38 147 A320 open ? - 16:30-19:38 +0 N766JB - -\nf426 1189 JFK-SAN 16:30-22:30 136 A321P open ? - 16:57-22:57 +27 N968JT - -\nf427 1287 PVD-PBI 16:35-19:45 122 A320 open ? - 16:35-19:45 +0 N779JB - -\nf428 699 LGA-MCO 16:37-19:40 133 A220 open ? - 16:37-19:40 +0 N3142J - -\nf429 435 STT-SJU 16:40-17:30 108 A320 open ? - 16:40-17:30 +0 N804JB - -\nf430 1354 DCA-BOS 16:40-18:24 90 E190 open ? - 16:40-18:24 +0 N307JB - -\nf431 1538 JFK-MVY 16:40-17:59 59 E190 open ? - 16:40-17:59 +0 N354JB - -\nf432 2052 MCO-BOS 16:40-19:52 132 A320 open ? - 16:40-19:52 +0 N507JT - -\nf433 1151 ACK-BOS 16:45-17:43 57 E190 open ? - 16:45-17:43 +0 N284JB - -\nf434 1746 CLT-BOS 16:45-19:10 83 E190 open ? - 16:45-19:10 +0 N323JB - -\nf435 2073 EWR-LAX 16:45-22:47 141 A321P open ? - 16:45-22:47 +0 N985JT - -\nf436 680 MKE-JFK 16:50-19:18 114 A220 open ? - 17:15-19:43 +25 N3104J - -\nf437 471 LGA-FLL 16:55-20:08 143 A320 open ? - 16:55-20:08 +0 N607JB - -\nf438 769 ALB-MCO 16:58-20:05 139 A320 open ? - 16:58-20:05 +0 N583JB - -\nf439 359 JFK-BUR 16:59-23:03 126 A220 open ? - 17:59-00:03+1 +60 N3115J - -\nf440 1694 MCO-HPN 16:59-19:55 135 A320 open ? - 16:59-19:55 +0 N519JB - -\nf441 1918 FLL-JAX 17:00-18:20 83 A320 open ? - 17:00-18:20 +0 N658JB - -\nf442 2901 BUF-JFK 17:00-18:33 115 A220 open ? - 18:10-19:43 +70 N3123J - -\nf443 424 LAX-JFK 17:05-22:49 149 A321P open ? - 17:05-22:49 +0 N942JB - -\nf444 1501 JFK-FLL 17:05-20:25 140 A320 open ? - 17:05-20:25 +0 N606JB - -\nf445 915 BOS-SMF 17:10-23:45 124 A320 open ? - 17:10-23:45 +0 N712JB - -\nf446 2810 TPA-LGA 17:10-20:03 150 A320 open ? - 17:10-20:03 +0 N651JB - -\nf447 2055 BOS-DCA 17:11-18:59 88 E190 open ? - 17:11-18:59 +0 N273JB - -\nf448 1348 SJU-DCA 17:13-21:15 170 A321 open ? - 17:13-21:15 +0 N950JT - -\nf449 2814 LGA-ATL 17:13-19:42 126 A220 open ? - 17:13-19:42 +0 N3157J - -\nf450 501 RDU-MCO 17:15-19:13 121 A320 open ? - 17:15-19:13 +0 N705JB - -\nf451 148 LAS-JFK 17:18-22:30 143 A321P open ? - 17:18-22:30 +0 N978JB - -\nf452 1453 FLL-SJU 17:18-20:00 150 A320 open ? - 17:18-20:00 +0 N746JB - -\nf453 739 JFK-BQN 17:19-21:22 147 A320 open ? - 17:19-21:22 +0 N599JB - -\nf454 1136 DTW-BOS 17:20-19:20 120 A220 open ? - 17:20-19:20 +0 N3156J - -\nf455 1281 BOS-RIC 17:20-19:11 91 E190 open ? - 17:20-19:11 +0 N258JB - -\nf456 2565 MVY-LGA 17:20-18:30 41 E190 open ? - 17:20-18:30 +0 N329JB - -\nf457 430 MCO-BQN 17:21-20:17 150 A320 open ? - 17:21-20:17 +0 N828JB - -\nf458 276 SJU-BDL 17:29-21:35 146 A320 open ? - 17:29-21:35 +0 N644JB - -\nf459 1473 JFK-BNA 17:29-20:18 117 A220 open ? - 18:34-21:23 +65 N3169J - -\nf460 308 JFK-PWM 17:30-18:59 135 A320 open ? - 17:30-18:59 +0 N516JB - -\nf461 1132 LGA-BOS 17:30-18:53 79 E190 open ? - 17:30-18:53 +0 N274JB - -\nf462 1167 HPN-PBI 17:30-20:24 124 A320 open ? - 17:30-20:24 +0 N608JB - -\nf463 2513 ATL-LGA 17:30-19:50 130 A220 open ? - 17:30-19:50 +0 N3152J - -\nf464 2754 DCA-BOS 17:30-19:15 90 E190 open ? - 17:30-19:15 +0 N267JB - -\nf465 992 SJU-FLL 17:35-20:25 143 A320 open ? - 17:35-20:25 +0 N565JB - -\nf466 1289 EWR-SJU 17:35-21:38 148 A320 open ? - 17:35-21:38 +0 N805JB - -\nf467 2534 PBI-DCA 17:35-20:03 132 A320 open ? - 17:35-20:03 +0 N633JB - -\nf468 798 MCO-LGA 17:40-20:29 138 A320 open ? - 17:40-20:29 +0 N793JB - -\nf469 131 MCO-LAX 17:42-22:59 147 A320 open ? - 17:42-22:59 +0 N789JB - -\nf470 192 ACK-JFK 17:45-18:59 55 E190 open ? - 17:45-18:59 +0 N281JB - -\nf471 623 JFK-LAX 17:45-00:00+1 141 A321P open ? - 17:45-00:00+1 +0 N945JT - -\nf472 206 BNA-BOS 17:48-20:30 120 A220 open ? - 17:48-20:30 +0 N3102J - -\nf473 811 BOS-ORD 17:50-20:47 82 E190 open ? - 17:50-20:47 +0 N334JB - -\nf474 694 AUS-JFK 17:55-21:52 148 A320 open ? - 17:55-21:52 +0 N558JB - -\nf475 2102 FLL-JFK 17:55-21:00 148 A320 open ? - 17:55-21:00 +0 N521JB - -\nf476 483 JFK-MCO 17:59-21:06 147 A320 open ? - 17:59-21:06 +0 N585JB - -\nf477 95 BOS-PDX 18:00-00:18+1 129 A320 open ? - 18:00-00:18+1 +0 N552JB - -\nf478 247 BOS-SLC 18:00-23:29 121 A220 open ? - 20:12-01:41+1 +132 N3145J - -\nf479 616 SFO-JFK 18:00-23:42 152 A321P open ? - 18:00-23:42 +0 N977JE - -\nf480 734 SFO-BOS 18:00-23:41 149 A321P open ? - 18:00-23:41 +0 N991JT - -\nf481 767 MCO-PSE 18:00-21:00 150 A320 open ? - 18:00-21:00 +0 N639JB - -\nf482 1284 MCO-JFK 18:00-21:02 148 A320 open ? - 18:00-21:02 +0 N547JB - -\nf483 1331 BOS-LGA 18:00-19:23 79 E190 open ? - 18:00-19:23 +0 N279JB - -\nf484 1964 SYR-JFK 18:00-19:22 95 A320 open ? - 18:00-19:22 +0 N663JB - -\nf485 250 SAV-BOS 18:03-20:32 132 A220 open ? - 18:03-20:32 +0 N3139J - -\nf486 472 FLL-LGA 18:03-21:00 150 A320 open ? - 18:03-21:00 +0 N613JB - -\nf487 2255 BOS-DCA 18:05-19:55 88 E190 open ? - 18:05-19:55 +0 N339JB - -\nf488 1154 PBI-JFK 18:08-21:01 148 A320 open ? - 18:08-21:01 +0 N584JB - -\nf489 2186 PIT-BOS 18:08-19:49 77 E190 open ? - 18:08-19:49 +0 N317JB - -\nf490 491 BUF-LAX 18:10-23:25 134 A320 open ? - 18:10-23:25 +0 N821JB - -\nf491 1524 LAX-JFK 18:10-23:47 149 A321P open ? - 18:10-23:47 +0 N989JT - -\nf492 1678 JAX-JFK 18:10-20:41 131 A220 open ? - 19:48-22:19 +98 N3194J - -\nf493 2122 ACK-HPN 18:10-19:18 50 E190 open ? - 18:10-19:18 +0 N306JB - -\nf494 451 BOS-MCO 18:15-21:37 133 A320 open ? - 18:15-21:37 +0 N570JB - -\nf495 777 BOS-LAS 18:15-00:10+1 143 A321P open ? - 18:15-00:10+1 +0 N983JT - -\nf496 822 RSW-JFK 18:15-21:13 130 A220 open ? - 19:19-22:17 +64 N3112J - -\nf497 305 EWR-FLL 18:18-21:30 149 A320 open ? - 18:18-21:30 +0 N568JB - -\nf498 391 BOS-TPA 18:20-21:41 147 A320 open ? - 18:20-21:41 +0 N561JB - -\nf499 640 CLE-BOS 18:20-20:08 87 E190 open ? - 18:20-20:08 +0 N324JB - -\nf500 88 FLL-ALB 18:25-21:31 149 A320 open ? - 18:25-21:31 +0 N625JB - -\nf501 263 JFK-SEA 18:29-00:59+1 142 A321P open ? - 18:29-00:59+1 +0 N929JB - -\nf502 548 TPA-HPN 18:29-21:29 149 A320 open ? - 18:29-21:29 +0 N641JB - -\nf503 24 MCO-DCA 18:30-20:57 136 A320 open ? - 18:30-20:57 +0 N645JB - -\nf504 71 JFK-SLC 18:30-23:54 139 A320 open ? - 19:44-01:08+1 +74 N534JB - -\nf505 2783 BOS-RDU 18:30-20:39 85 E190 open ? - 18:30-20:39 +0 N283JB - -\nf506 1118 JFK-BOS 18:35-20:07 105 A220 open ? - 18:51-20:23 +16 N3185J - -\nf507 29 FLL-SAN 18:36-23:49 148 A320 open ? - 18:36-23:49 +0 N587JB - -\nf508 2892 MIA-JFK 18:38-21:48 125 A220 open ? - 19:31-22:41 +53 N3149J - -\nf509 161 JFK-SMF 18:45-01:00+1 179 A321 open ? - 18:45-01:00+1 +0 N972JT - -\nf510 592 TPA-BOS 18:45-22:01 148 A320 open ? - 18:45-22:01 +0 N508JL - -\nf511 1152 MCO-BOS 18:45-21:57 123 A220 open ? - 18:45-21:57 +0 N3062J - -\nf512 2460 PHL-BOS 18:45-20:10 72 E190 open ? - 18:45-20:10 +0 N328JB - -\nf513 1539 MVY-JFK 18:53-20:00 43 E190 open ? - 18:53-20:00 +0 N354JB - -\nf514 803 JFK-SJU 18:55-23:00 181 A321 open ? - 18:55-23:00 +0 N952JB - -\nf515 1633 MCO-SJU 18:55-21:55 150 A320 open ? - 18:55-21:55 +0 N659JB - -\nf516 67 BDL-LAX 18:56-01:00+1 124 A320 open ? - 18:56-01:00+1 +0 N630JB - -\nf517 187 BOS-LAX 18:58-01:25+1 146 A321P open ? - 18:58-01:25+1 +0 N987JT - -\nf518 2 JFK-BUF 18:59-20:40 125 A220 open ? - 20:28-22:09 +89 N3104J - -\nf519 1979 DCA-FLL 18:59-21:40 146 A320 open ? - 18:59-21:40 +0 N605JB - -\nf520 384 MCO-JFK 19:00-21:59 182 A321 open ? - 19:00-21:59 +0 N966JT - -\nf521 1827 EWR-MCO 19:04-22:00 150 A320 open ? - 19:04-22:00 +0 N612JB - -\nf522 1262 PBI-LGA 19:05-21:52 150 A320 open ? - 19:05-21:52 +0 N807JB - -\nf523 1332 LGA-BOS 19:05-20:29 79 E190 open ? - 19:05-20:29 +0 N329JB - -\nf524 1917 JAX-FLL 19:05-20:20 90 A320 open ? - 19:05-20:20 +0 N658JB - -\nf525 1252 PBI-HPN 19:08-21:59 125 A320 open ? - 19:08-21:59 +0 N627JB - -\nf526 2826 TPA-JFK 19:08-21:59 150 A320 open ? - 19:08-21:59 +0 N517JB - -\nf527 524 LAX-JFK 19:10-00:48+1 148 A321P open ? - 19:10-00:48+1 +0 N984JB - -\nf528 914 FLL-HPN 19:10-22:13 128 A320 open ? - 19:10-22:13 +0 N618JB - -\nf529 1355 BOS-DCA 19:10-20:58 88 E190 open ? - 19:10-20:58 +0 N284JB - -\nf530 1431 BOS-LGA 19:10-20:33 79 E190 open ? - 19:10-20:33 +0 N265JB - -\nf531 135 JFK-PHX 19:17-00:44+1 121 A220 open ? - 20:28-01:55+1 +71 N3123J - -\nf532 1134 SJU-MCO 19:20-22:30 138 A320 open ? - 19:20-22:30 +0 N809JB - -\nf533 1732 LAX-SLC 19:20-21:09 129 A320 open ? - 19:20-21:09 +0 N590JB - -\nf534 322 PBI-BOS 19:25-22:30 129 A220 open ? - 20:27-23:32 +62 N3189J - -\nf535 918 JFK-BOS 19:25-20:59 105 A220 open ? - 21:11-22:45 +106 N3065J - -\nf536 1944 PBI-EWR 19:25-22:15 147 A320 open ? - 19:25-22:15 +0 N603JB - -\nf537 81 JFK-RNO 19:30-01:36+1 129 A320 open ? - 20:05-02:11+1 +35 N554JB - -\nf538 2613 ATL-LGA 19:30-21:47 130 A220 open ? - 20:27-22:44 +57 N3157J - -\nf539 1728 MCO-EWR 19:35-22:24 139 A320 open ? - 19:35-22:24 +0 N662JB - -\nf540 1206 ORD-JFK 19:38-22:03 112 A220 open ? - 21:19-23:44 +101 N3162J - -\nf541 355 JFK-ONT 19:40-01:38+1 177 A321 open ? - 19:40-01:38+1 +0 N995JL - -\nf542 1196 FLL-PVD 19:40-22:44 136 A320 open ? - 19:40-22:44 +0 N637JB - -\nf543 1761 LGA-PBI 19:40-22:39 149 A320 open ? - 19:40-22:39 +0 N592JB - -\nf544 2468 CHS-BOS 19:40-22:00 80 E190 open ? - 19:40-22:00 +0 N337JB - -\nf545 2017 BOS-JFK 19:45-21:10 80 E190 open ? - 19:45-21:10 +0 N307JB - -\nf546 2354 DCA-BOS 19:45-21:24 90 E190 open ? - 19:45-21:24 +0 N273JB - -\nf547 2023 JFK-LAX 19:49-02:02+1 141 A321P open ? - 19:49-02:02+1 +0 N2151J - -\nf548 1990 SJU-EWR 19:53-23:59 146 A320 open ? - 19:53-23:59 +0 N623JB - -\nf549 307 PWM-JFK 19:54-21:14 110 A320 open ? - 19:54-21:14 +0 N516JB - -\nf550 561 BOS-SJU 19:54-23:59 167 A321 open ? - 19:54-23:59 +0 N2029J - -\nf551 1282 RIC-BOS 19:56-21:34 90 E190 open ? - 19:56-21:34 +0 N258JB - -\nf552 170 FLL-BOS 20:00-23:16 142 A320 open ? - 20:00-23:16 +0 N760JB - -\nf553 572 FLL-LGA 20:00-22:56 150 A320 open ? - 20:00-22:56 +0 N794JB - -\nf554 613 HPN-FLL 20:00-23:03 121 A320 open ? - 20:00-23:03 +0 N537JT - -\nf555 711 JFK-LAS 20:00-01:46+1 136 A321P open ? - 20:00-01:46+1 +0 N969JT - -\nf556 1146 FLL-RIC 20:00-22:19 120 A320 open ? - 20:00-22:19 +0 N763JB - -\nf557 2385 BOS-PIT 20:00-21:53 76 E190 open ? - 20:00-21:53 +0 N274JB - -\nf558 2501 FLL-LAX 20:00-01:36+1 148 A321P open ? - 20:00-01:36+1 +0 N923JB - -\nf559 2523 DCA-MCO 20:00-22:25 144 A320 open ? - 20:00-22:25 +0 N593JB - -\nf560 153 JFK-PBI 20:05-23:08 139 A320 open ? - 20:07-23:10 +2 N663JB - -\nf561 283 JFK-MCO 20:05-23:10 181 A321 open ? - 20:05-23:10 +0 N998JE - -\nf562 836 MSP-BOS 20:06-22:52 113 A220 open ? - 23:00-01:46+1 +174 N3085J - -\nf563 873 EWR-TPA 20:10-23:11 137 A320 open ? - 20:10-23:11 +0 N652JB - -\nf564 1294 MCO-HPN 20:10-22:59 135 A320 open ? - 20:10-22:59 +0 N564JB - -\nf565 65 JFK-ABQ 20:12-00:55+1 124 A220 open ? - 23:02-03:45+1 +170 N3112J - -\nf566 2752 SJU-TPA 20:13-23:19 179 A321 open ? - 20:13-23:19 +0 N959JB - -\nf567 607 FLL-LAS 20:15-01:25+1 147 A320 open ? - 20:15-01:25+1 +0 N598JB - -\nf568 1432 LGA-BOS 20:15-21:35 79 E190 open ? - 20:15-21:35 +0 N279JB - -\nf569 783 BOS-PHX 20:22-02:04+1 115 A220 open ? - 21:08-02:50+1 +46 N3185J - -\nf570 993 BOS-DEN 20:23-00:53+1 126 A220 open ? - 21:12-01:42+1 +49 N3023J - -\nf571 745 JFK-PSE 20:25-00:41+1 140 A320 open ? - 20:25-00:41+1 +0 N527JL - -\nf572 815 JFK-SFO 20:25-02:59+1 147 A321P open ? - 20:25-02:59+1 +0 N986JB - -\nf573 97 JFK-DEN 20:27-01:04+1 147 A320 open ? - 20:27-01:04+1 +0 N827JB - -\nf574 541 BOS-CLE 20:30-22:38 87 E190 open ? - 20:30-22:38 +0 N323JB - -\nf575 715 BOS-BUF 20:34-22:09 90 E190 open ? - 20:34-22:09 +0 N267JB - -\nf576 460 FLL-BDL 20:35-23:38 147 A320 open ? - 20:35-23:38 +0 N706JB - -\nf577 998 MCO-LGA 20:35-23:15 129 A220 open ? - 20:35-23:15 +0 N3142J - -\nf578 996 ATL-BOS 20:37-23:21 128 A220 open ? - 21:50-00:34+1 +73 N3121J - -\nf579 656 MCO-SYR 20:40-23:32 118 A320 open ? - 20:40-23:32 +0 N656JB - -\nf580 1468 PBI-HPN 20:40-23:26 125 A320 open ? - 20:40-23:26 +0 N779JB - -\nf581 1952 MCO-BOS 20:40-23:51 142 A320 open ? - 20:40-23:51 +0 N531JL - -\nf582 2066 RSW-BOS 20:40-23:52 147 A320 open ? - 20:40-23:52 +0 N640JB - -\nf583 2854 DCA-BOS 20:40-22:15 90 E190 open ? - 20:40-22:15 +0 N339JB - -\nf584 277 FLL-SFO 20:45-02:40+1 142 A321P open ? - 20:45-02:40+1 +0 N934JB - -\nf585 369 BOS-FLL 20:45-23:59 138 A320 open ? - 20:45-23:59 +0 N768JB - -\nf586 721 BOS-PBI 20:45-23:59 135 A320 open ? - 20:45-23:59 +0 N535JB - -\nf587 1387 BOS-LAX 20:45-03:02+1 146 A321P open ? - 20:45-03:02+1 +0 N2180J - -\nf588 2134 SJU-MCO 20:45-23:49 149 A320 open ? - 20:45-23:49 +0 N529JB - -\nf589 2514 LGA-ATL 20:45-23:15 126 A220 open ? - 20:45-23:15 +0 N3152J - -\nf590 223 JFK-LAX 20:49-02:59+1 141 A321P open ? - 20:49-02:59+1 +0 N2105J - -\nf591 571 LGA-FLL 20:50-23:56 143 A320 open ? - 20:50-23:56 +0 N651JB - -\nf592 1451 BOS-MCO 20:50-23:58 133 A320 open ? - 20:50-23:58 +0 N649JB - -\nf593 1567 HPN-PBI 20:50-23:46 124 A320 open ? - 20:50-23:46 +0 N519JB - -\nf594 1117 BOS-JFK 20:55-22:18 80 E190 open ? - 20:55-22:18 +0 N317JB - -\nf595 2054 SJU-FLL 20:55-23:40 143 A320 open ? - 20:55-23:40 +0 N746JB - -\nf596 2459 BOS-PHL 20:55-22:26 78 E190 open ? - 20:55-22:26 +0 N324JB - -\nf597 2626 FLL-RDU 20:55-23:02 128 A320 open ? - 20:55-23:02 +0 N523JB - -\nf598 1873 EWR-LAX 20:57-02:59+1 141 A321P open ? - 20:57-02:59+1 +0 N992JB - -\nf599 706 FLL-EWR 20:59-23:58 150 A320 open ? - 20:59-23:58 +0 N715JB - -\nf600 1586 MCO-BUF 20:59-23:41 141 A320 open ? - 20:59-23:41 +0 N638JB - -\nf601 2101 JFK-FLL 20:59-00:10+1 140 A320 open ? - 21:45-00:56+1 +46 N521JB - -\nf602 729 BQN-MCO 21:02-23:51 150 A320 open ? - 21:02-23:51 +0 N828JB - -\nf603 2583 JFK-MCO 21:09-00:08+1 147 A320 open ? - 21:46-00:45+1 +37 N584JB - -\nf604 1474 BNA-JFK 21:13-23:32 115 A220 open ? - 22:08-00:27+1 +55 N3169J - -\nf605 333 BOS-SFO 21:15-03:45+1 143 A321P open ? - 21:15-03:45+1 +0 N990JL - -\nf606 845 BOS-SYR 21:15-22:30 75 E190 open ? - 21:15-22:30 +0 N328JB - -\nf607 1004 SJU-JFK 21:15-01:13+1 167 A321 open ? - 21:15-01:13+1 +0 N903JB - -\nf608 2202 FLL-JFK 21:20-00:13+1 148 A320 open ? - 21:20-00:13+1 +0 N607JB - -\nf609 499 LGA-MCO 21:25-00:16+1 142 A320 open ? - 21:25-00:16+1 +0 N793JB - -\nf610 1484 RDU-BOS 21:25-23:25 86 E190 open ? - 21:25-23:25 +0 N283JB - -\nf611 102 JFK-BUF 21:29-23:13 125 A220 open ? - 23:04-00:48+1 +95 N3194J - -\nf612 2128 MCO-EWR 21:30-00:17+1 150 A320 open ? - 21:30-00:17+1 +0 N705JB - -\nf613 1012 ORD-BOS 21:33-23:59 81 E190 open ? - 21:33-23:59 +0 N334JB - -\nf614 403 JFK-SJU 21:50-01:57+1 147 A320 open ? - 21:50-01:57+1 +0 N547JB - -\nf615 318 JFK-BOS 21:55-23:23 75 E190 open ? - 21:55-23:23 +0 N281JB - -\nf616 768 PSE-MCO 21:55-00:58+1 150 A320 open ? - 21:55-00:58+1 +0 N639JB - -\nf617 1186 JFK-ROC 21:59-23:34 118 A220 open ? - 23:26-01:01+1 +87 N3149J - -\nf618 1731 SLC-LAX 22:00-00:02+1 110 A320 open ? - 22:00-00:02+1 +0 N590JB - -\nf619 738 BQN-JFK 22:07-01:59+1 137 A320 open ? - 22:07-01:59+1 +0 N599JB - -\nf620 1823 JFK-LAX 22:10-04:22+1 141 A321P open ? - 22:10-04:22+1 +0 N993JE - -\nf621 2133 MCO-SJU 22:25-01:26+1 150 A320 open ? - 22:25-01:26+1 +0 N766JB - -\nf622 275 BDL-SJU 22:30-02:26+1 150 A320 open ? - 22:30-02:26+1 +0 N644JB - -\nf623 362 SJU-BOS 22:35-02:35+1 129 A320 open ? - 22:35-02:35+1 +0 N504JB - -\nf624 1318 JFK-BOS 22:59-00:18+1 75 E190 open ? - 22:59-00:18+1 +0 N354JB - -\nf625 2403 JFK-BQN 22:59-02:50+1 147 A320 open ? - 22:59-02:50+1 +0 N516JB - -\nf626 2903 JFK-SJU 22:59-02:57+1 181 A321 open ? - 22:59-02:57+1 +0 N965JT - -\nf627 847 BOS-JFK 23:15-00:35+1 112 A220 open ? - 23:15-00:35+1 +0 N3102J - -\nf628 2120 SAN-BOS 23:28-05:00+1 151 A321P open ? - 23:28-05:00+1 +0 N980JT - -\nf629 972 SJC-BOS 23:30-05:12+1 130 A220 open ? - 03:15+1-08:57+1 +225 N3156J - -\nf630 1114 LAX-JFK 23:35-05:01+1 148 A321P open ? - 23:35-05:01+1 +0 N976JT - -\nf631 2416 SFO-JFK 23:35-05:04+1 152 A321P open ? - 23:35-05:04+1 +0 N944JT - -\nf632 1190 SAN-JFK 23:40-05:02+1 150 A321P open ? - 23:45-05:07+1 +5 N968JT - -\nf633 198 SEA-BOS 23:50-05:10+1 140 A321P open ? - 23:50-05:10+1 +0 N981JT - -\nf634 358 BUR-JFK 00:00+1-05:29+1 122 A220 open ? - 00:48+1-06:17+1 +48 N3115J - -\nf635 1574 LAX-EWR 00:00+1-05:23+1 148 A321P open ? - 00:00+1-05:23+1 +0 N985JT - -\nf636 2348 LAS-JFK 00:05+1-05:04+1 143 A321P open ? - 00:05+1-05:04+1 +0 N937JB - -\nf637 700 LAX-FLL 00:20+1-05:23+1 153 A321P open ? - 00:28+1-05:31+1 +8 N962JT - -\nf638 132 LAX-MCO 00:25+1-05:18+1 150 A320 open ? - 00:25+1-05:18+1 +0 N789JB - -\nf639 248 SLC-BOS 00:29+1-05:01+1 118 A220 open ? - 02:26+1-06:58+1 +117 N3145J - -\nf640 916 SMF-BOS 00:35+1-06:06+1 135 A320 open ? - 00:35+1-06:06+1 +0 N712JB - -\nf641 30 SAN-FLL 00:39+1-05:45+1 143 A320 open ? - 00:39+1-05:45+1 +0 N587JB - -\nf642 2234 SFO-BOS 00:43+1-06:19+1 149 A321P open ? - 00:43+1-06:19+1 +0 N979JT - -\nf643 278 SFO-FLL 00:44+1-06:21+1 148 A321P open ? - 00:44+1-06:21+1 +0 N982JB - -\nf644 372 SLC-JFK 00:55+1-05:22+1 138 A320 open ? - 01:53+1-06:20+1 +58 N534JB - -\nf645 1268 LAX-BDL 00:55+1-06:20+1 138 A320 open ? - 00:55+1-06:20+1 +0 N821JB - -\nf646 96 PDX-BOS 01:18+1-06:32+1 143 A320 open ? - 01:18+1-06:32+1 +0 N552JB - -\nf647 778 LAS-BOS 01:20+1-06:27+1 145 A321P open ? - 01:20+1-06:27+1 +0 N983JT - -\nf648 988 LAX-BOS 01:25+1-07:01+1 149 A321P open ? - 01:25+1-07:01+1 +0 N945JT - -\nf649 136 PHX-JFK 01:40+1-06:30+1 128 A220 open ? - 02:40+1-07:30+1 +60 N3123J - -\nf650 994 DEN-BOS 01:48+1-05:40+1 124 A220 open ? - 02:27+1-06:19+1 +39 N3023J - -\nf651 66 ABQ-JFK 01:50+1-05:59+1 121 A220 open ? - 04:30+1-08:39+1 +160 N3112J - -\nf652 98 DEN-JFK 01:59+1-05:45+1 134 A320 open ? - 01:59+1-05:45+1 +0 N827JB - -\nf653 608 LAS-FLL 02:15+1-06:54+1 150 A320 open ? - 02:15+1-06:54+1 +0 N598JB - -\nf654 162 SMF-JFK 02:25+1-07:50+1 187 A321 open ? - 02:25+1-07:50+1 +0 N972JT - -\nf655 264 SEA-JFK 02:38+1-07:59+1 138 A321P open ? - 02:38+1-07:59+1 +0 N929JB - -\nf656 80 RNO-JFK 02:46+1-07:59+1 102 A320 open ? - 02:56+1-08:09+1 +10 N554JB - -\nf657 1316 LAX-JFK 02:46+1-08:20+1 148 A321P open ? - 02:46+1-08:20+1 +0 N987JT - -\nf658 492 LAX-BUF 02:50+1-07:37+1 150 A320 open ? - 02:50+1-07:37+1 +0 N590JB - -\nf659 948 LAS-JFK 02:59+1-08:05+1 143 A321P open ? - 02:59+1-08:05+1 +0 N969JT - -\nf660 984 PHX-BOS 02:59+1-07:55+1 129 A220 open ? - 03:30+1-08:26+1 +31 N3185J - -\nf661 2154 ONT-JFK 02:59+1-08:22+1 180 A321 open ? - 02:59+1-08:22+1 +0 N995JL - -\n\n## Aircraft now, as your plan has them (@ = ready at)\nBOS: N2169J@06:24 N2180J N258JB N265JB N274JB N279JB N281JB N283JB N3062J@05:32 N3085J@19:00 N3102J N3121J N3123J N3125J N3132J N3138J N3145J@09:29 N3149J N3156J N3162J@08:28 N323JB N328JB N329JB N339JB N535JB@09:27 N552JB@04:26 N561JB N570JB@17:15 N585JB N605JB@06:15 N624JB@07:27 N625JB N649JB N712JB N807JB N903JB N934JB N935JB@05:36 N959JB@07:24 N962JT@17:19 N964JT@07:15 N979JT@14:43 N981JT N986JB@05:38 N989JT@09:12 N991JT@08:34\nJFK: N2029J N2086J@05:35 N2105J N2151J N3023J N3044J@06:02+1 N306JB N3104J@06:10 N3118J N3139J N3185J@08:19 N3189J N354JB N507JT@05:46 N517JB@11:30 N527JL N534JB@05:45 N558JB@10:15 N568JB N593JB@05:15 N606JB N615JB N623JB N629JB N652JB N703JB@08:15 N766JB N942JB@06:10 N943JT@05:35 N944JT@08:49 N945JT@17:15 N946JL@04:24 N950JT@08:25 N952JB N966JT@08:56 N970JB N974JT N976JT@12:04 N977JE@05:43 N978JB@07:35 N984JB@08:48 N988JT N990JL N995JL\nALB: N760JB\nATL: N3142J\nBDL: N529JB@07:47 N607JB@05:40 N804JB\nBQN: N827JB@04:10\nBUF: N273JB N3169J N3194J@14:15 N583JB N794JB@09:36\nCHS: N3115J\nCLE: N337JB\nDCA: N307JB N645JB@06:15 N651JB N965JT\nEWR: N520JB@05:50 N554JB@05:15 N612JB N665JB N705JB N715JB N805JB N993JE@07:17\nFLL: N508JL N526JL N547JB N565JB N571JB N592JB N599JB N608JB N618JB@06:31 N621JB N633JB@09:15 N634JB N658JB N662JB N821JB N834JB N923JB N961JT@07:01 N992JB@06:52\nHPN: N317JB N587JB N627JB N630JB N640JB N779JB\nLAX: N590JB@04:03 N929JB@07:09 N968JT@05:11 N980JT@04:03 N982JB N985JT@04:39 N987JT@09:24\nLGA: N284JB N3152J N3157J N564JB N613JB N641JB N947JB@08:34\nMCO: N504JB N505JB N516JB N519JB N521JB N531JL@09:15 N637JB N639JB@05:23 N659JB@06:28 N663JB N746JB N789JB N793JB N956JT\nPBI: N537JT N584JB N784JB N809JB N828JB\nPHL: N324JB\nPIT: N267JB\nPVD: N763JB\nRDU: N3065J N589JB\nRIC: N706JB\nROC: N3112J\nSFO: N937JB N969JT@06:58 N983JT@05:15\nSJU: N536JB N598JB N644JB N656JB@04:52 N768JB N957JB@04:09 N958JB N972JT\nSYR: N334JB N638JB\nTPA: N523JB N603JB N998JE\nairborne: none\n\n## News so far\n[13:02-1] JFK proposed ground delay program 16:00-1-00:59, rate 36/32/32/32/32/32/32/32/32 arrivals/h (all carriers), average delay 181 min, max 238 [advisory adv-20240629-076, signed 13:02-1]\n[13:16-1] JFK ground stop 13:00-1-14:00-1, average delay 22 min, max 41, probability of extension medium [advisory adv-20240629-081, signed 13:16-1]\n[13:34-1] JFK ground delay program 16:00-1-00:59, rate 36/32/32/32/32/32/32/32/32 arrivals/h (all carriers), average delay 198 min, max 265 [advisory adv-20240629-083, signed 13:34-1]\n[13:53-1] JFK ground stop 13:39-1-14:30-1, average delay 44 min, max 71, probability of extension low [advisory adv-20240629-086, signed 13:53-1]\n[14:12-1] JFK ground stop cancelled 13:00-1-14:10-1 [advisory adv-20240629-089, signed 14:12-1]\n[18:12-1] JFK GDP cancelled 18:08-1-02:28 [advisory adv-20240629-115, signed 18:12-1]\n[22:43-1] TAF AMD KJFK 300243Z 3003/0106 19012KT 1SM RA BR OVC003 FM300500 20010KT 2SM -SHRA BR OVC003 FM300900 20009KT 1SM BR OVC003 FM301300 20012KT P6SM BKN015 FM301500 20014KT P6SM BKN040 PROB30 3021/0102 2SM TSRA BKN040CB FM010200 32011KT P6SM SCT040 SCT100=\n[01:41] TAF KJFK 300541Z 3006/0112 19009KT 5SM -SHRA BKN004 FM301000 20007KT 5SM BR BKN004 FM301600 19011KT P6SM SCT045 BKN100 FM301800 19014KT P6SM SCT045 SCT100 PROB30 3018/3020 4SM -TSRA BKN040CB FM302300 19016KT 4SM -SHRA BKN045 PROB30 3023/0103 2SM TSRA BR BKN030CB FM010300 32010KT P6SM BKN050 FM010500 32010KT P6SM SCT100 SCT250=\n[01:48] TAF KBOS 300548Z 3006/0112 20014G23KT P6SM SCT008 OVC012 TEMPO 3009/3012 5SM -SHRA OVC008 FM301500 22015G22KT P6SM VCSH BKN030 FM301700 22014G21KT P6SM BKN040 PROB30 3019/3023 3SM TSRA SCT007 OVC015CB FM010000 24010KT P6SM VCSH OVC030 FM010300 28008KT P6SM BKN050=\n[02:51] KJFK 300651Z 19006KT 10SM -RA FEW010 SCT120 BKN180 21/21 A2997 RMK AO2 SLP149 P0001 T02110211 $\n[02:54] KBOS 300654Z 21010KT 10SM OVC020 24/21 A2994 RMK AO2 SLP137 T02390211\n[03:51] KJFK 300751Z 18007KT 8SM SCT100 BKN180 22/21 A2995 RMK AO2 RAE39 SLP143 P0000 T02170211 $\n[03:54] KBOS 300754Z 20011KT 10SM OVC017 24/21 A2992 RMK AO2 SLP130 T02390211\n\nIt is the first watch, 04:00. Nothing is frozen yet: set the day up with confirm_changes, then call advance.", + "max_turns": 364, + "model_params": { + "max_tokens": 32000 + }, + "timeout_seconds": 7200 + }, + { + "id": "end-day", + "type": "apply_server_config", + "env_id": "airops-v3-day", + "directives": [ + { + "service": "airops-v3-day", + "uri": "urn:airops:v3-end-day/v1", + "args": {} + } + ] + }, + { + "id": "grade", + "type": "env_outcome_verifier", + "env_id": "airops-v3-day", + "file_artifact_id": "airops-verifier", + "verifier_id": "airops", + "score_aggregator": "weighted_average" + } +] diff --git a/src/agentenv_airops/bundles/airops-v3/tasks/b6-20240731-0400.json b/src/agentenv_airops/bundles/airops-v3/tasks/b6-20240731-0400.json new file mode 100644 index 0000000..0418737 --- /dev/null +++ b/src/agentenv_airops/bundles/airops-v3/tasks/b6-20240731-0400.json @@ -0,0 +1,71 @@ +[ + { + "id": "deploy", + "type": "deploy_env", + "env_id": "airops-v3-day" + }, + { + "id": "load-task", + "type": "apply_server_config", + "env_id": "airops-v3-day", + "directives": [ + { + "service": "airops-v3-day", + "uri": "urn:airops:v3-live-load/v1", + "args": { + "task_id": "b6-20240731-0400", + "anchor": 2414833, + "follower": 2498055 + } + } + ] + }, + { + "id": "deploy-agent", + "type": "deploy_agent", + "a2a_agent_id": "airops-llm", + "env_ids": [ + "airops-v3-day" + ] + }, + { + "id": "clock", + "type": "sync_env_clock", + "env_id": "airops-v3-day", + "virtual_time": "2024-07-31T08:00:00Z", + "virtual_seconds_per_real_second": 0, + "tolerate_missing_sync_time": false + }, + { + "id": "play", + "type": "prompt_agent", + "prompt_id": "b6-20240731-0400", + "system_prompt": "You run the JetBlue operations desk on a storm day at JFK and BOS: thunderstorms, snow or wind, and the FAA ground stops and ground delay programs (GDPs) that follow, cut how many JetBlue flights can land and take off. Your job is to decide which flights to cancel and which to hold, watch by watch, so that passengers and the airline lose as little as possible over the day.\n\nHow the day runs:\n- The day is played in watches starting at watch 0: one an hour, and one more when an advisory or a SPECI reaches the desk or a ramp closure begins or ends, so watches are 15 to 60 minutes apart. The first message gives the day as the desk knows it at watch 0. Every tool call takes 1 minute of the watch; when the watch's time runs out, the next watch opens by itself, and advance opens it at once.\n- What the desk knows: a flight's own departure delay (weather, air traffic control: anything but waiting for its aircraft or a slot) becomes known 2 hours before its scheduled departure; until then it is assumed on time. FAA Command Center advisories and the hubs' METARs, SPECIs and TAFs arrive as messages at the first watch after they reach the desk: an advisory 0 minutes after it is signed, a METAR 5 and a SPECI 5 minutes after its observation, a TAF 10 minutes after its issue, and the programs table shows the programs as issued, proposed GDPs included; a program may end earlier or later than issued.\n- Ground delay programs: a GDP meters arrivals at a hub over its period. A flight into the hub from an origin in its scope, scheduled to land in the period, needs one of JetBlue's arrival slots in the program: it takes the earliest free slot at or after the time it could land and leaves at its EDCT, the slot less its scheduled block. A cancelled or late flight leaves its slot to the flights behind it. Arrivals outside a program fit under the hub's hourly rate.\n- Ground stops: a flight to a stopped hub from an origin the stop covers waits on the ground until the stop ends; flights already airborne fly on.\n- Departure caps: an airport may take only so many JetBlue departures in an hour (the departure caps table, known 4 hours ahead); a flight with no room in its hour tries again at the next hour's start.\n- Outstation arrival caps: an outstation may take only so many JetBlue arrivals in an hour (the outstation arrival caps table, known 4 hours ahead); a flight with no room in its arrival hour leaves so as to land in the next one.\n- Ramp closures: lightning at the field cuts a hub's ramp rate without stopping it. During a closure only so many JetBlue flights may leave the hub and only so many arrive there; a departure with no room leaves at the closure's end, an arrival with none leaves so as to land at it. A closure is known once it begins; until its end comes it is expected to last 30 minutes more, with caps for that long, and the closures table says which ends are reported and which expected.\n- The env flies your plan on the day as it happens: each flight leaves at the earliest time its delay, its hold, a slot, a stop, a cap and an aircraft allow. It takes the first aircraft of its type ready at its origin (aircraft of one type at one airport are interchangeable; an aircraft needs its turn time on the ground between flights). A flight that can't leave by its deadline is cancelled automatically there. At the end of the day the env ferries each aircraft to the airport it is needed at tomorrow.\n- Your decisions: cancel a flight (its aircraft stays on the ground, free for other flights, and its slot goes to the flights behind), restore a cancelled flight, or hold a flight until a time (not_before) so that its slot or aircraft goes to another flight first. A flight you don't touch leaves as early as it can.\n- The freeze: at watch 0 nothing is frozen. From watch 1 on, flights your plan has leaving before the freeze line, 60 minutes after the watch opens, are frozen: they can't be changed, and stay frozen. A cancellation is final. The env holds any other flight your plan would have leaving before the freeze line to it, and refuses a change that would move a frozen flight or one that has already gone.\n\nTools:\n- get_situation(): the time, the freeze line, the programs as issued with JetBlue's slots, the departure caps known so far, the outstation arrival caps known so far, the ramp closures under way or over, the latest METAR or SPECI and TAF per hub, every flight (its status, its known delay, your plan, where your plan has it leave and land on the day as known, how late it lands, its aircraft, its slot and its crew), where the aircraft are, and the news so far.\n- check_plan(changes): your changes over your plan, run on the day as known now: the plan's cost, the flights whose plan or times change, the automatic cancellations, the flights the env would hold to the freeze line, and the changes confirm_changes would refuse. It confirms nothing.\n- confirm_changes(changes): commits the changes; flights you leave out keep their plan.\n- advance(): ends the watch; its result has the new watch's news. After the last watch it returns \"done\": the day is graded on your plan.\nA change is {\"flight\": \"f12\", \"action\": \"cancel\" | \"restore\" | \"hold\" | \"call_reserve\" | \"release_reserve\", \"not_before\": \"HH:MM\" | null}: cancel takes not_before null; restore and hold fly the flight, held until not_before (local time, \"00:30+1\" after midnight), or as early as it can with null. Where a crew base has a reserve pool (the situation's Reserve crews), a flight leaving it past its crew's deadline flies only on a reserve: call_reserve gives it one while the pool lasts, release_reserve hands it back before that deadline.\n\nThe cost, in passenger-minutes: every passenger's minutes of arrival delay; 523 for each passenger on a cancelled flight, plus one for every minute the cancellation is decided later than 2 hours before its scheduled departure (an automatic cancellation is decided at its deadline, so it costs more than an early one); the airline's own aircraft minutes (a late departure costs crew and fixed costs, a long block fuel too, and a cancellation saves its fuel and maintenance); and the end-of-day ferries. A cancellation frees an aircraft and a slot; it pays when it saves the others more than it costs its own passengers. The day is graded once, on your final plan flown on the day as it really happened: the closer its cost to the best plan possible in hindsight, the higher the score. If you stop before the last watch, the rest of the day runs on your plan.", + "prompt": "# JetBlue operations desk, JFK/BOS, Wednesday 2024-07-31; times are local (America/New_York).\n\nNow 04:00 (watch 0, opened 04:00). First watch: nothing is frozen; changes take effect at once.\n\nYour plan on the day as known costs 95,559 (delay 70,026, cancellations 0, notice 0, ferries 0): 0 cancelled, 0 cancelled automatically, 0 on slots.\n\n## Programs as issued (FAA Command Center)\n- JFK ground delay program adv-20240730-091: arrivals 17:00-1-23:59-1, governs departures 15:09-1-22:09-1; JetBlue's slots none\n\n## Departure caps: JetBlue departures per hour, known 240 min ahead\nBOS: 07h 9 08h 7\n\n## Outstation arrival caps: JetBlue arrivals per hour, known 240 min ahead\nBNA: 08h 1\nCLT: 08h 1\nLGA: 07h 1\nMCO: 08h 5\nPHL: 07h 1\n\n## Ramp closures (lightning at the field; known once begun)\nNone.\n\n## Latest weather (METAR or SPECI, and TAF)\n[03:54] KBOS 310754Z 15003KT 10SM FEW044 BKN075 21/20 A2997 RMK AO2 SLP148 T02110200\n[01:21] TAF KBOS 310521Z 3106/0112 19008KT P6SM SCT012 BKN035 FM310900 18009KT P6SM SCT009 BKN012 FM311400 17010G17KT P6SM VCSH OVC020 FM312100 19012G20KT P6SM VCSH BKN045 FM010000 19011KT P6SM BKN020 FM010800 22006KT P6SM BKN045=\n[03:51] KJFK 310751Z 18013KT 10SM BKN012 OVC060 24/23 A2990 RMK AO2 SLP126 T02440233\n[01:21] TAF KJFK 310521Z 3106/0112 19009KT P6SM SCT010 BKN040 TEMPO 3106/3110 5SM -SHRA OVC010 FM311500 19012KT P6SM SCT015 BKN025 FM311800 19012KT P6SM -SHRA BKN045 PROB30 3118/3124 4SM -TSRA BKN025CB FM010200 24007KT P6SM BKN080 FM010900 27006KT P6SM SCT080 SCT250=\n\n## Flights (sched = scheduled dep-arr; delay = known delay, ? not yet; plan = cancel or hold@HH:MM; proj = where your plan has it leave and land on the day as known; late = arrival delay; slot = its GDP slot; crew = crew deadline/rest end, +R on a reserve crew)\nid flight route sched pax type status delay plan proj late tail slot crew\nf0 1233 MCO-SJU 05:01-07:58 148 A320 open -5 - 04:56-07:48 -10 N505JB - -\nf1 1603 JFK-SJU 05:01-08:49 186 A321 open -7 - 04:54-08:42 -7 N2038J - -\nf2 2304 SJU-JFK 05:01-08:59 143 A320 open -7 - 04:54-08:43 -16 N507JT - -\nf3 614 BQN-JFK 05:05-08:54 148 A320 open -10 - 04:55-08:55 +1 N612JB - -\nf4 562 SJU-BOS 05:10-09:14 179 A321 open -3 - 05:07-09:07 -7 N954JB - -\nf5 917 BOS-JFK 05:14-06:30 109 A220 open -2 - 05:12-06:15 -15 N3077J - -\nf6 123 JFK-LAX 05:20-11:13 146 A321P open -5 - 05:15-10:47 -26 N2156J - -\nf7 201 BUF-JFK 05:33-07:00 120 A220 open -6 - 05:27-07:02 +2 N3139J - -\nf8 601 JFK-FLL 05:45-08:40 188 A321 open 5 - 05:50-08:36 -4 N2039J - -\nf9 1285 ROC-JFK 05:45-07:08 117 A220 open 14 - 05:59-07:19 +11 N3123J - -\nf10 405 EWR-FLL 05:49-08:48 150 A320 open -7 - 05:42-08:30 -18 N524JB - -\nf11 37 BDL-MCO 06:00-08:54 150 A320 open -3 - 05:57-08:43 -11 N789JB - -\nf12 87 ALB-FLL 06:00-09:10 148 A320 open -4 - 05:56-08:57 -13 N562JB - -\nf13 281 JFK-IAH 06:00-09:38 143 A320 open -6 - 05:54-09:24 -14 N590JB - -\nf14 299 LGA-MCO 06:00-08:40 150 A320 open -5 - 05:55-08:42 +2 N632JB - -\nf15 311 BOS-ORD 06:00-08:54 89 E190 open -1 - 05:59-08:46 -8 N279JB - -\nf16 371 LGA-FLL 06:00-08:55 150 A320 open -1 - 05:59-08:43 -12 N652JB - -\nf17 374 SYR-BOS 06:00-07:12 86 E190 open -4 - 05:56-07:06 -6 N306JB - -\nf18 387 BOS-LAX 06:00-12:15 151 A321P open -9 - 05:51-11:49 -26 N2105J - -\nf19 551 BOS-MCO 06:00-09:10 150 A320 open -2 - 05:58-09:10 +0 N554JB - -\nf20 560 PHL-BOS 06:00-07:26 61 E190 open -15 - 05:45-07:14 -12 N334JB - -\nf21 569 BOS-FLL 06:00-09:23 150 A320 open 2 - 06:02-09:14 -9 N592JB - -\nf22 884 MCO-JFK 06:00-08:40 127 A220 open -1 - 05:59-08:43 +3 N3185J - -\nf23 907 BOS-STT 06:00-09:55 143 A320 open -8 - 05:52-09:42 -13 N523JB - -\nf24 927 EWR-MCO 06:00-08:47 150 A320 open -10 - 05:50-08:20 -27 N655JB - -\nf25 953 JFK-PBI 06:00-08:47 130 A220 open -1 - 05:59-08:54 +7 N3194J - -\nf26 954 SJU-FLL 06:00-08:44 147 A320 open -7 - 05:53-08:32 -12 N794JB - -\nf27 959 BDL-FLL 06:00-09:14 150 A320 open 2 - 06:02-09:09 -5 N646JB - -\nf28 1073 JFK-BNA 06:00-08:20 120 A220 open -6 - 05:54-08:14 -6 N3065J - -\nf29 1159 BOS-PHL 06:00-07:35 94 A220 open -10 - 05:50-07:16 -19 N3104J - -\nf30 1197 PVD-FLL 06:00-09:10 148 A320 open -6 - 05:54-09:03 -7 N635JB - -\nf31 1245 BOS-CLT 06:00-08:24 82 E190 open -9 - 05:51-08:09 -15 N265JB - -\nf32 1280 FLL-DCA 06:00-08:30 140 A320 open 5 - 06:05-08:32 +2 N563JB - -\nf33 1434 SJU-MCO 06:00-09:05 150 A320 open 0 - 06:00-08:56 -9 N640JB - -\nf34 1652 MCO-BOS 06:00-09:02 145 A320 open -12 - 05:48-08:44 -18 N520JB - -\nf35 1883 BOS-RDU 06:00-08:03 87 E190 open -5 - 05:55-07:51 -12 N273JB - -\nf36 1902 FLL-JFK 06:00-08:53 182 A321 open 49 - 06:49-09:57 +64 N950JT - -\nf37 2431 BOS-LGA 06:00-07:15 72 E190 open 123 - 08:03-09:17 +122 N258JB - -\nf38 519 JFK-ATL 06:03-08:24 127 A220 open ? - 06:03-08:24 +0 N3058J - -\nf39 85 BUF-MCO 06:05-08:42 150 A320 open ? - 06:05-08:42 +0 N588JB - -\nf40 1833 BOS-SFO 06:05-12:34 144 A321P open ? - 06:05-12:34 +0 N2188J - -\nf41 690 FLL-BOS 06:10-09:27 150 A320 open ? - 06:10-09:27 +0 N583JB - -\nf42 18 FLL-JAX 06:15-07:32 90 A320 open ? - 06:15-07:32 +0 N585JB - -\nf43 306 FLL-EWR 06:15-09:13 150 A320 open ? - 06:15-09:13 +0 N608JB - -\nf44 891 BOS-TPA 06:15-09:34 193 A321 open ? - 06:15-09:34 +0 N905JB - -\nf45 598 MCO-LGA 06:20-09:00 149 A320 open ? - 06:20-09:00 +0 N565JB - -\nf46 2713 ATL-LGA 06:20-08:30 127 A220 open ? - 06:20-08:30 +0 N3145J - -\nf47 1145 RIC-FLL 06:29-08:50 134 A320 open ? - 06:29-08:50 +0 N633JB - -\nf48 321 BOS-PBI 06:30-09:43 127 A220 open ? - 06:30-09:43 +0 N3118J - -\nf49 813 HPN-FLL 06:30-09:24 141 A320 open ? - 06:30-09:24 +0 N587JB - -\nf50 1529 JFK-RSW 06:30-09:34 131 A220 open ? - 06:30-09:34 +0 N3044J - -\nf51 2285 JFK-RDU 06:30-08:10 124 A220 open ? - 06:30-08:10 +0 N3152J - -\nf52 2293 JFK-MIA 06:30-09:35 150 A320 open ? - 06:30-09:35 +0 N595JB - -\nf53 2725 JFK-TPA 06:30-09:20 150 A320 open ? - 06:30-09:20 +0 N621JB - -\nf54 401 BOS-MSY 06:32-10:02 122 A220 open ? - 06:32-10:02 +0 N3149J - -\nf55 143 EWR-PBI 06:35-09:20 139 A320 open ? - 06:35-09:20 +0 N636JB - -\nf56 301 FLL-LAX 06:35-11:57 150 A320 open ? - 06:35-11:57 +0 N637JB - -\nf57 1187 BOS-JFK 06:37-07:52 109 A220 open ? - 06:37-07:52 +0 N3195J - -\nf58 265 BOS-RSW 06:40-10:10 150 A320 open ? - 06:40-10:10 +0 N766JB - -\nf59 1368 PBI-HPN 06:45-09:33 137 A320 open ? - 06:45-09:33 +0 N568JB - -\nf60 1486 PIT-BOS 06:45-08:23 81 E190 open ? - 06:45-08:23 +0 N354JB - -\nf61 2433 DCA-PBI 06:45-09:12 125 A320 open ? - 06:45-09:12 +0 N827JB - -\nf62 2625 RDU-FLL 06:45-08:48 137 A320 open ? - 06:45-08:48 +0 N662JB - -\nf63 189 JFK-SAN 06:55-12:39 143 A321P open ? - 06:55-12:39 +0 N946JL - -\nf64 2832 LGA-BOS 06:55-08:12 74 E190 open ? - 06:55-08:12 +0 N283JB - -\nf65 163 JFK-SRQ 06:59-09:59 128 A220 open ? - 07:00-10:00 +1 N3077J - -\nf66 411 JFK-LAS 06:59-12:33 145 A321P open ? - 06:59-12:33 +0 N2157J - -\nf67 261 BOS-SJU 07:00-11:05 137 A320 open ? - 07:00-11:05 +0 N561JB - -\nf68 455 BOS-DCA 07:00-08:45 87 E190 open ? - 07:00-08:45 +0 N318JB - -\nf69 540 CLE-BOS 07:00-08:47 88 E190 open ? - 07:00-08:47 +0 N337JB - -\nf70 716 BUF-BOS 07:00-08:25 93 E190 open ? - 07:00-08:25 +0 N266JB - -\nf71 1033 MCO-SJU 07:00-09:58 148 A320 open ? - 07:00-09:58 +0 N594JB - -\nf72 1097 BOS-ATL 07:00-09:47 150 A320 open ? - 07:00-09:47 +0 N705JB - -\nf73 1177 BOS-LAS 07:00-12:48 145 A321P open ? - 07:00-12:48 +0 N982JB - -\nf74 1319 BOS-SAN 07:00-13:08 146 A321P open ? - 07:00-13:08 +0 N985JT - -\nf75 1395 HPN-MCO 07:00-09:40 150 A320 open ? - 07:00-09:40 +0 N603JB - -\nf76 2028 MCO-EWR 07:00-09:47 140 A320 open ? - 07:00-09:47 +0 N629JB - -\nf77 2204 SJU-JFK 07:00-11:02 177 A321 open ? - 07:00-11:02 +0 N965JT - -\nf78 2383 JFK-MCO 07:00-09:48 150 A320 open ? - 07:00-09:48 +0 N627JB - -\nf79 2423 DCA-MCO 07:00-09:24 150 A320 open ? - 07:00-09:24 +0 N834JB - -\nf80 397 BOS-SEA 07:05-13:18 145 A321P open ? - 07:05-13:18 +0 N989JT - -\nf81 1184 MCO-JFK 07:05-09:49 181 A321 open ? - 07:05-09:49 +0 N948JB - -\nf82 172 FLL-LGA 07:09-10:00 148 A320 open ? - 07:09-10:00 +0 N656JB - -\nf83 154 PBI-JFK 07:10-09:55 148 A320 open ? - 07:10-09:55 +0 N639JB - -\nf84 1333 BOS-SFO 07:10-13:43 145 A321P open ? - 07:10-13:43 +0 N961JT - -\nf85 1807 BOS-BNA 07:10-10:00 130 A220 open ? - 07:10-10:00 +0 N3062J - -\nf86 253 FLL-SJU 07:15-09:54 150 A320 open ? - 07:15-09:54 +0 N768JB - -\nf87 655 SYR-MCO 07:15-10:04 150 A320 open ? - 07:15-10:04 +0 N653JB - -\nf88 677 JFK-JAX 07:15-09:46 130 A220 open ? - 07:15-09:46 +0 N3157J - -\nf89 1565 BOS-SAT 07:20-11:48 115 A220 open ? - 07:20-11:48 +0 N3112J - -\nf90 1573 EWR-LAX 07:20-13:06 148 A321P open ? - 07:20-13:06 +0 N992JB - -\nf91 1247 LGA-TPA 07:25-10:19 150 A320 open ? - 07:25-10:19 +0 N806JB - -\nf92 341 JFK-SAV 07:30-09:45 143 A320 open ? - 07:30-09:45 +0 N638JB - -\nf93 508 JFK-PWM 07:30-08:49 86 E190 open ? - 07:30-08:49 +0 N284JB - -\nf94 814 FLL-HPN 07:30-10:29 130 A320 open ? - 07:30-10:29 +0 N828JB - -\nf95 1130 FLL-CHS 07:30-09:08 119 A320 open ? - 07:30-09:08 +0 N625JB - -\nf96 1480 FLL-DCA 07:30-10:00 140 A320 open ? - 07:30-10:00 +0 N661JB - -\nf97 2001 BUF-JFK 07:30-08:57 120 A220 open ? - 07:30-08:57 +0 N3156J - -\nf98 2015 JFK-SFO 07:30-13:44 146 A321P open ? - 07:30-13:44 +0 N979JT - -\nf99 2751 TPA-SJU 07:30-10:33 184 A321 open ? - 07:30-10:33 +0 N903JB - -\nf100 2229 BOS-MKE 07:35-10:10 110 A220 open ? - 08:00-10:35 +25 N3102J - -\nf101 392 TPA-BOS 07:45-10:55 150 A320 open ? - 07:45-10:55 +0 N510JB - -\nf102 515 BOS-BUF 07:45-09:22 91 E190 open ? - 08:00-09:37 +15 N323JB - -\nf103 1447 HPN-TPA 07:45-10:32 150 A320 open ? - 07:45-10:32 +0 N630JB - -\nf104 2714 LGA-ATL 07:45-10:07 134 A220 open ? - 07:45-10:07 +0 N3115J - -\nf105 2718 JFK-BOS 07:55-09:14 114 A220 open ? - 07:55-09:14 +0 N3162J - -\nf106 75 JFK-MSY 08:00-11:13 126 A220 open ? - 08:00-11:13 +0 N3139J - -\nf107 331 BOS-LGA 08:00-09:19 72 E190 open ? - 08:00-09:19 +0 N324JB - -\nf108 723 JFK-LAX 08:00-13:55 146 A321P open ? - 08:00-13:55 +0 N935JB - -\nf109 1081 BOS-RIC 08:00-09:53 95 E190 open ? - 08:00-09:53 +0 N328JB - -\nf110 1083 JFK-MCO 08:00-10:49 150 A320 open ? - 08:00-10:49 +0 N559JB - -\nf111 1105 JFK-ORD 08:00-10:43 143 A321P open ? - 08:00-10:43 +0 N923JB - -\nf112 1142 PBI-BDL 08:00-10:53 150 A320 open ? - 08:00-10:53 +0 N709JB - -\nf113 1551 HPN-RSW 08:00-10:54 150 A320 open ? - 08:00-10:54 +0 N537JT - -\nf114 2033 BOS-IAH 08:00-12:04 150 A320 open ? - 08:00-12:04 +0 N564JB - -\nf115 2473 JFK-CHS 08:00-10:18 123 A220 open ? - 08:04-10:22 +4 N3123J - -\nf116 404 SJU-JFK 08:05-12:00 177 A321 open ? - 08:05-12:00 +0 N952JB - -\nf117 393 BOS-DEN 08:10-12:50 150 A320 open ? - 08:10-12:50 +0 N571JB - -\nf118 874 TPA-EWR 08:15-11:00 139 A320 open ? - 08:15-11:00 +0 N517JB - -\nf119 1137 BOS-DTW 08:15-10:30 89 E190 open ? - 09:00-11:15 +45 N339JB - -\nf120 1347 DCA-SJU 08:15-12:07 185 A321 open ? - 08:15-12:07 +0 N966JT - -\nf121 1519 BOS-MIA 08:15-11:47 150 A320 open ? - 09:00-12:32 +45 N613JB - -\nf122 17 JAX-FLL 08:20-09:38 95 A320 open ? - 08:20-09:38 +0 N585JB - -\nf123 503 JFK-SJU 08:20-12:21 148 A321P open ? - 08:20-12:21 +0 N981JT - -\nf124 1160 PHL-BOS 08:20-09:49 86 A220 open ? - 08:20-09:49 +0 N3104J - -\nf125 1585 BOS-PIT 08:20-10:09 80 E190 open ? - 09:00-10:49 +40 N329JB - -\nf126 195 HPN-MCO 08:30-11:09 150 A320 open ? - 08:30-11:09 +0 N535JB - -\nf127 1601 JFK-FLL 08:30-11:32 188 A321 open ? - 08:30-11:32 +0 N996JL - -\nf128 1954 DCA-BOS 08:30-10:06 86 E190 open ? - 08:30-10:06 +0 N281JB - -\nf129 2396 FLL-TLH 08:30-09:53 89 A320 open ? - 08:30-09:53 +0 N569JB - -\nf130 602 FLL-JFK 08:36-11:33 147 A320 open ? - 08:36-11:33 +0 N643JB - -\nf131 533 BDL-TPA 08:40-11:38 150 A320 open ? - 08:40-11:38 +0 N598JB - -\nf132 2334 PBI-DCA 08:45-11:09 138 A320 open ? - 08:45-11:09 +0 N645JB - -\nf133 2930 SJU-RDU 08:45-12:30 150 A320 open ? - 08:45-12:30 +0 N807JB - -\nf134 484 RDU-BOS 08:48-10:45 83 E190 open ? - 08:48-10:45 +0 N273JB - -\nf135 101 FLL-LAX 08:50-14:11 149 A321P open ? - 08:50-14:11 +0 N993JE - -\nf136 2041 BOS-CLE 08:50-10:50 91 E190 open ? - 09:00-11:00 +10 N306JB - -\nf137 2824 LAX-JFK 08:50-14:25 139 A321P open ? - 08:50-14:25 +0 N943JT - -\nf138 2786 RDU-JFK 08:55-10:35 124 A220 open ? - 08:55-10:35 +0 N3152J - -\nf139 2121 HPN-ACK 08:59-10:00 66 E190 open ? - 08:59-10:00 +0 N307JB - -\nf140 323 JFK-LAX 09:00-14:55 147 A321P open ? - 09:00-14:55 +0 N969JT - -\nf141 577 FLL-SFO 09:00-14:54 146 A321P open ? - 09:00-14:54 +0 N934JB - -\nf142 1067 HPN-PBI 09:00-11:45 143 A320 open ? - 09:00-11:45 +0 N804JB - -\nf143 1216 SFO-JFK 09:00-14:37 144 A321P open ? - 09:00-14:37 +0 N945JT - -\nf144 1246 CLT-BOS 09:00-11:17 87 E190 open ? - 09:00-11:17 +0 N265JB - -\nf145 1455 BOS-DCA 09:00-10:43 87 E190 open ? - 09:00-10:43 +0 N334JB - -\nf146 1602 JFK-BUF 09:00-10:30 128 A220 open ? - 09:00-10:30 +0 N3195J - -\nf147 2091 JFK-ACK 09:00-10:20 64 E190 open ? - 09:00-10:20 +0 N317JB - -\nf148 1074 BNA-JFK 09:05-11:28 107 A220 open ? - 09:05-11:28 +0 N3065J - -\nf149 520 ATL-JFK 09:09-11:30 126 A220 open ? - 09:09-11:30 +0 N3058J - -\nf150 183 JFK-MCO 09:13-12:05 189 A321 open ? - 09:13-12:05 +0 N999JQ - -\nf151 599 LGA-MCO 09:15-12:04 133 A220 open ? - 09:15-12:04 +0 N3196J - -\nf152 2465 BUF-FLL 09:19-12:15 150 A320 open ? - 09:19-12:15 +0 N527JL - -\nf153 257 BOS-BZN 09:20-14:17 138 A320 open ? - 09:20-14:17 +0 N531JL - -\nf154 379 DCA-FLL 09:25-12:00 147 A320 open ? - 09:25-12:00 +0 N563JB - -\nf155 488 MCO-ORH 09:25-12:20 145 A320 open ? - 09:25-12:20 +0 N566JB - -\nf156 725 JFK-SAT 09:25-13:35 125 A220 open ? - 09:28-13:38 +3 N3185J - -\nf157 446 MCO-BDL 09:30-12:15 150 A320 open ? - 09:30-12:15 +0 N607JB - -\nf158 461 LGA-PBI 09:30-12:25 131 A220 open ? - 09:30-12:25 +0 N3145J - -\nf159 2432 LGA-BOS 09:30-10:48 74 E190 open ? - 09:46-11:04 +16 N258JB - -\nf160 1054 PBI-JFK 09:32-12:19 128 A220 open ? - 09:39-12:26 +7 N3194J - -\nf161 2277 BOS-AVL 09:35-12:00 111 A220 open ? - 09:35-12:00 +0 N3203J - -\nf162 1 JFK-FLL 09:38-12:38 150 A320 open ? - 09:38-12:38 +0 N599JB - -\nf163 2252 MCO-BOS 09:39-12:40 145 A320 open ? - 09:39-12:40 +0 N521JB - -\nf164 115 JFK-SFO 09:40-16:00 146 A321P open ? - 09:40-16:00 +0 N947JB - -\nf165 312 ORD-BOS 09:40-12:06 85 E190 open ? - 09:40-12:06 +0 N279JB - -\nf166 1002 FLL-JFK 09:40-12:37 182 A321 open ? - 09:40-12:37 +0 N2039J - -\nf167 407 PWM-JFK 09:45-11:00 75 E190 open ? - 09:45-11:00 +0 N284JB - -\nf168 531 BOS-LGA 09:45-10:59 72 E190 open ? - 09:45-10:59 +0 N283JB - -\nf169 733 BOS-SFO 09:45-16:14 144 A321P open ? - 09:45-16:14 +0 N968JT - -\nf170 1584 MCO-JFK 09:45-12:30 147 A320 open ? - 09:45-12:30 +0 N526JL - -\nf171 2511 EWR-RSW 09:45-12:46 150 A320 open ? - 09:45-12:46 +0 N775JB - -\nf172 2051 BOS-MCO 09:47-13:00 150 A320 open ? - 09:47-13:00 +0 N606JB - -\nf173 1497 JFK-DEN 09:50-14:13 147 A320 open ? - 09:50-14:13 +0 N796JB - -\nf174 1553 FLL-SJU 09:50-12:33 150 A320 open ? - 09:50-12:33 +0 N665JB - -\nf175 2324 MCO-DCA 09:50-12:08 146 A320 open ? - 09:50-12:08 +0 N649JB - -\nf176 1131 CHS-FLL 09:53-11:29 123 A320 open ? - 09:53-11:29 +0 N625JB - -\nf177 698 MCO-LGA 09:55-12:34 149 A320 open ? - 09:55-12:34 +0 N655JB - -\nf178 267 BOS-CHS 10:00-12:24 126 A220 open ? - 10:00-12:24 +0 N3142J - -\nf179 516 BUF-BOS 10:00-11:25 93 E190 open ? - 10:12-11:37 +12 N323JB - -\nf180 554 DCA-BOS 10:00-11:41 86 E190 open ? - 10:00-11:41 +0 N318JB - -\nf181 724 LAX-JFK 10:00-15:41 139 A321P open ? - 10:00-15:41 +0 N967JT - -\nf182 1039 BOS-AUS 10:00-14:15 150 A320 open ? - 10:00-14:15 +0 N584JB - -\nf183 1655 BOS-DCA 10:00-11:40 87 E190 open ? - 10:00-11:40 +0 N354JB - -\nf184 1774 LAX-EWR 10:00-15:30 147 A321P open ? - 10:00-15:30 +0 N983JT - -\nf185 2123 JFK-LAX 10:00-15:55 147 A321P open ? - 10:00-15:55 +0 N929JB - -\nf186 2417 BOS-JFK 10:05-11:22 109 A220 open ? - 10:05-11:22 +0 N3023J - -\nf187 42 PBI-LGA 10:09-12:59 150 A320 open ? - 10:09-12:59 +0 N827JB - -\nf188 126 TPA-JFK 10:10-12:59 150 A320 open ? - 10:10-12:59 +0 N621JB - -\nf189 144 PBI-EWR 10:10-13:03 135 A320 open ? - 10:10-13:03 +0 N636JB - -\nf190 731 BOS-SJU 10:10-14:12 137 A320 open ? - 10:10-14:12 +0 N529JB - -\nf191 1889 EWR-SJU 10:10-14:10 150 A320 open ? - 10:10-14:10 +0 N784JB - -\nf192 62 SJU-BOS 10:15-14:20 179 A321 open ? - 10:15-14:20 +0 N2038J - -\nf193 2071 FLL-BQN 10:15-12:44 149 A320 open ? - 10:15-12:44 +0 N644JB - -\nf194 272 FLL-LGA 10:20-13:10 148 A320 open ? - 10:20-13:10 +0 N793JB - -\nf195 1460 FLL-EWR 10:20-13:19 150 A320 open ? - 10:20-13:19 +0 N652JB - -\nf196 1530 RSW-JFK 10:20-13:11 133 A220 open ? - 10:20-13:11 +0 N3044J - -\nf197 1613 JFK-LAS 10:20-15:53 145 A321P open ? - 10:20-15:53 +0 N978JB - -\nf198 1680 FLL-DCA 10:29-13:04 140 A320 open ? - 10:29-13:04 +0 N633JB - -\nf199 94 MCO-HPN 10:30-13:19 139 A320 open ? - 10:30-13:19 +0 N588JB - -\nf200 222 PBI-BOS 10:30-13:33 128 A220 open ? - 10:30-13:33 +0 N3118J - -\nf201 595 HPN-MCO 10:30-13:09 150 A320 open ? - 10:30-13:09 +0 N568JB - -\nf202 687 BOS-LAX 10:30-16:43 150 A321P open ? - 10:30-16:43 +0 N991JT - -\nf203 1371 LGA-FLL 10:30-13:32 150 A320 open ? - 10:30-13:32 +0 N565JB - -\nf204 82 IAH-JFK 10:33-14:13 146 A320 open ? - 10:33-14:13 +0 N590JB - -\nf205 215 BOS-DFW 10:34-14:39 127 A220 open ? - 10:34-14:39 +0 N3162J - -\nf206 892 TPA-BOS 10:34-13:46 188 A321 open ? - 10:34-13:46 +0 N905JB - -\nf207 896 ATL-BOS 10:35-13:15 145 A320 open ? - 10:35-13:15 +0 N705JB - -\nf208 2592 MIA-JFK 10:35-13:44 145 A320 open ? - 10:35-13:44 +0 N595JB - -\nf209 1182 RIC-BOS 10:37-12:15 91 E190 open ? - 10:37-12:15 +0 N328JB - -\nf210 127 EWR-MCO 10:40-13:25 144 A320 open ? - 10:40-13:25 +0 N608JB - -\nf211 342 SAV-JFK 10:40-12:49 141 A320 open ? - 10:40-12:49 +0 N638JB - -\nf212 1036 SJU-STT 10:40-11:20 101 A320 open ? - 10:40-11:20 +0 N715JB - -\nf213 1133 MCO-SJU 10:40-13:41 148 A320 open ? - 10:40-13:41 +0 N632JB - -\nf214 2397 TLH-FLL 10:40-12:04 91 A320 open ? - 10:40-12:04 +0 N569JB - -\nf215 164 SRQ-JFK 10:45-13:35 131 A220 open ? - 10:45-13:35 +0 N3077J - -\nf216 678 JAX-JFK 10:45-13:08 128 A220 open ? - 10:45-13:08 +0 N3157J - -\nf217 1079 DCA-FLL 10:45-13:20 147 A320 open ? - 10:45-13:20 +0 N661JB - -\nf218 1334 SJU-MCO 10:45-13:53 150 A320 open ? - 10:45-13:53 +0 N505JB - -\nf219 2493 ACK-DCA 10:45-12:20 68 E190 open ? - 10:45-12:20 +0 N307JB - -\nf220 400 MSY-BOS 10:47-14:07 130 A220 open ? - 10:47-14:07 +0 N3149J - -\nf221 83 JFK-MCO 10:50-13:35 150 A320 open ? - 10:50-13:35 +0 N558JB - -\nf222 109 BOS-JAX 10:50-13:42 150 A320 open ? - 10:50-13:42 +0 N597JB - -\nf223 808 STT-SJU 10:50-11:42 113 A320 open ? - 10:50-11:42 +0 N523JB - -\nf224 1286 PIT-BOS 10:55-12:34 81 E190 open ? - 11:24-13:03 +29 N329JB - -\nf225 1806 BNA-BOS 10:55-13:31 131 A220 open ? - 10:55-13:31 +0 N3062J - -\nf226 2230 MKE-BOS 10:55-13:15 120 A220 open ? - 11:20-13:40 +25 N3102J - -\nf227 1401 JFK-FLL 10:59-13:56 150 A320 open ? - 10:59-13:56 +0 N624JB - -\nf228 434 SFO-BOS 11:00-16:46 145 A321P open ? - 11:00-16:46 +0 N962JT - -\nf229 523 JFK-LAX 11:00-16:54 147 A321P open ? - 11:00-16:54 +0 N977JE - -\nf230 624 LAX-JFK 11:00-16:34 139 A321P open ? - 11:00-16:34 +0 N986JB - -\nf231 1388 LAX-BOS 11:00-16:39 149 A321P open ? - 11:00-16:39 +0 N942JB - -\nf232 2813 ATL-LGA 11:00-13:13 127 A220 open ? - 11:00-13:13 +0 N3115J - -\nf233 1274 CHS-JFK 11:03-12:59 119 A220 open ? - 11:07-13:03 +4 N3123J - -\nf234 92 ACK-JFK 11:05-12:13 64 E190 open ? - 11:05-12:13 +0 N317JB - -\nf235 1552 RSW-HPN 11:05-13:57 150 A320 open ? - 11:05-13:57 +0 N766JB - -\nf236 117 BOS-JFK 11:15-12:32 78 E190 open ? - 11:15-12:32 +0 N266JB - -\nf237 1901 BUF-JFK 11:15-12:43 120 A220 open ? - 11:15-12:43 +0 N3195J - -\nf238 2036 DTW-BOS 11:15-13:12 91 E190 open ? - 11:50-13:47 +35 N339JB - -\nf239 1248 TPA-LGA 11:18-14:01 150 A320 open ? - 11:18-14:01 +0 N806JB - -\nf240 718 JFK-BOS 11:30-12:51 114 A220 open ? - 11:30-12:51 +0 N3152J - -\nf241 906 ORD-JFK 11:30-13:50 130 A321P open ? - 11:38-13:58 +8 N923JB - -\nf242 2310 LGA-ACK 11:30-12:44 78 E190 open ? - 11:30-12:44 +0 N324JB - -\nf243 1076 MCO-PVD 11:34-14:25 150 A320 open ? - 11:34-14:25 +0 N789JB - -\nf244 1338 JFK-MVY 11:35-12:46 67 E190 open ? - 11:35-12:46 +0 N284JB - -\nf245 2040 CLE-BOS 11:35-13:19 88 E190 open ? - 11:35-13:19 +0 N306JB - -\nf246 2648 HPN-CHS 11:35-13:37 105 A320 open ? - 11:35-13:37 +0 N828JB - -\nf247 266 RSW-BOS 11:50-15:08 147 A320 open ? - 11:50-15:08 +0 N537JT - -\nf248 1141 BDL-PBI 11:50-14:48 150 A320 open ? - 11:50-14:48 +0 N709JB - -\nf249 1752 SJU-TPA 11:52-14:56 150 A320 open ? - 11:52-14:56 +0 N768JB - -\nf250 1753 EWR-TPA 11:55-14:44 143 A320 open ? - 11:55-14:44 +0 N629JB - -\nf251 2283 BOS-RDU 11:55-13:56 87 E190 open ? - 11:55-13:56 +0 N337JB - -\nf252 176 MSY-JFK 11:59-15:05 127 A220 open ? - 11:59-15:05 +0 N3139J - -\nf253 23 DCA-MCO 12:00-14:23 150 A320 open ? - 12:00-14:23 +0 N645JB - -\nf254 755 BOS-DCA 12:00-13:39 87 E190 open ? - 12:00-13:39 +0 N281JB - -\nf255 2503 JFK-SJU 12:02-16:03 186 A321 open ? - 12:02-16:03 +0 N965JT - -\nf256 119 MCO-RIC 12:05-14:10 145 A320 open ? - 12:05-14:10 +0 N640JB - -\nf257 1135 STT-SJU 12:05-12:58 113 A320 open ? - 12:05-12:58 +0 N715JB - -\nf258 70 FLL-BOS 12:10-15:25 150 A320 open ? - 12:10-15:25 +0 N562JB - -\nf259 2719 JFK-ATL 12:15-14:40 127 A220 open ? - 12:15-14:40 +0 N3023J - -\nf260 1604 SJU-JFK 12:25-16:30 177 A321 open ? - 12:25-16:30 +0 N903JB - -\nf261 1273 JFK-CHS 12:29-14:45 123 A220 open ? - 12:29-14:45 +0 N3065J - -\nf262 285 JFK-RDU 12:30-14:18 124 A220 open ? - 12:30-14:18 +0 N3058J - -\nf263 1414 DCA-MVY 12:30-13:56 68 E190 open ? - 12:30-13:56 +0 N334JB - -\nf264 2732 LGA-BOS 12:30-13:48 74 E190 open ? - 12:30-13:48 +0 N283JB - -\nf265 808 SJU-BOS 12:32-16:40 145 A320 open ? - 12:32-16:40 +0 N523JB - -\nf266 1220 MIA-BOS 12:32-16:01 146 A320 open ? - 13:11-16:40 +39 N613JB - -\nf267 1534 TPA-BDL 12:33-15:22 150 A320 open ? - 12:33-15:22 +0 N598JB - -\nf268 2352 BOS-ACK 12:33-13:25 75 E190 open ? - 12:33-13:25 +0 N273JB - -\nf269 324 LAX-JFK 12:35-18:12 139 A321P open ? - 12:35-18:12 +0 N980JT - -\nf270 1288 PBI-PVD 12:40-15:40 150 A320 open ? - 12:40-15:40 +0 N804JB - -\nf271 1802 FLL-JFK 12:40-15:44 182 A321 open ? - 12:40-15:44 +0 N996JL - -\nf272 1566 SAT-BOS 12:43-17:00 124 A220 open ? - 12:43-17:00 +0 N3112J - -\nf273 416 SFO-JFK 12:54-18:30 144 A321P open ? - 12:54-18:30 +0 N987JT - -\nf274 932 IAH-BOS 12:55-16:48 147 A320 open ? - 12:55-16:48 +0 N564JB - -\nf275 1080 FLL-DCA 12:55-15:29 140 A320 open ? - 12:55-15:29 +0 N646JB - -\nf276 447 BDL-MCO 13:00-15:58 150 A320 open ? - 13:00-15:58 +0 N607JB - -\nf277 579 DCA-FLL 13:00-15:34 147 A320 open ? - 13:00-15:34 +0 N649JB - -\nf278 1098 MCO-LGA 13:00-15:44 129 A220 open ? - 13:00-15:44 +0 N3196J - -\nf279 1515 JFK-SFO 13:00-19:09 146 A321P open ? - 13:00-19:09 +0 N2165J - -\nf280 1955 BOS-DCA 13:00-14:45 87 E190 open ? - 13:00-14:45 +0 N258JB - -\nf281 2278 AVL-BOS 13:00-15:16 110 A220 open ? - 13:00-15:16 +0 N3203J - -\nf282 295 JFK-AUS 13:05-17:05 130 A220 open ? - 13:11-17:11 +6 N3194J - -\nf283 770 MCO-ALB 13:05-15:58 150 A320 open ? - 13:05-15:58 +0 N554JB - -\nf284 987 ORH-MCO 13:05-16:14 147 A320 open ? - 13:05-16:14 +0 N566JB - -\nf285 2254 DCA-BOS 13:05-14:44 86 E190 open ? - 13:05-14:44 +0 N354JB - -\nf286 2516 JFK-HYA 13:05-14:14 72 E190 open ? - 13:05-14:14 +0 N317JB - -\nf287 1700 LAX-FLL 13:07-18:26 150 A320 open ? - 13:07-18:26 +0 N663JB - -\nf288 186 JFK-ROC 13:10-14:28 87 E190 open ? - 13:10-14:28 +0 N266JB - -\nf289 1372 FLL-LGA 13:10-16:04 148 A320 open ? - 13:10-16:04 +0 N592JB - -\nf290 2929 RDU-SJU 13:15-16:57 147 A320 open ? - 13:15-16:57 +0 N807JB - -\nf291 46 LGA-TPA 13:20-16:17 150 A320 open ? - 13:20-16:17 +0 N655JB - -\nf292 68 CHS-BOS 13:20-15:43 122 A220 open ? - 13:20-15:43 +0 N3142J - -\nf293 934 SJU-MCO 13:20-16:32 150 A320 open ? - 13:20-16:32 +0 N594JB - -\nf294 1031 BOS-LGA 13:21-14:40 72 E190 open ? - 13:21-14:40 +0 N265JB - -\nf295 188 LAX-BOS 13:25-19:05 150 A321P open ? - 13:25-19:05 +0 N2156J - -\nf296 679 JFK-MKE 13:30-15:55 147 A320 open ? - 13:30-15:55 +0 N605JB - -\nf297 1962 PBI-LGA 13:30-16:17 130 A220 open ? - 13:30-16:17 +0 N3145J - -\nf298 2404 SJU-JFK 13:32-17:36 141 A321P open ? - 13:32-17:36 +0 N981JT - -\nf299 1339 MVY-JFK 13:34-14:40 56 E190 open ? - 13:34-14:40 +0 N284JB - -\nf300 951 BOS-MCO 13:35-16:51 150 A320 open ? - 13:35-16:51 +0 N583JB - -\nf301 2185 BOS-PIT 13:35-15:22 80 E190 open ? - 13:35-15:22 +0 N323JB - -\nf302 410 ACK-LGA 13:40-15:00 69 E190 open ? - 13:40-15:00 +0 N324JB - -\nf303 2072 BQN-FLL 13:40-16:14 148 A320 open ? - 13:40-16:14 +0 N644JB - -\nf304 2215 BOS-BUF 13:40-15:14 91 E190 open ? - 13:40-15:14 +0 N318JB - -\nf305 2512 RSW-EWR 13:41-16:42 150 A320 open ? - 13:41-16:42 +0 N775JB - -\nf306 184 MCO-JFK 13:45-16:30 181 A321 open ? - 13:45-16:30 +0 N999JQ - -\nf307 578 SFO-FLL 13:45-19:28 149 A321P open ? - 13:45-19:28 +0 N2188J - -\nf308 190 SAN-JFK 13:50-19:32 144 A321P open ? - 13:50-19:32 +0 N946JL - -\nf309 394 DEN-BOS 13:50-17:56 150 A320 open ? - 13:50-17:56 +0 N571JB - -\nf310 1454 SJU-FLL 13:50-16:40 147 A320 open ? - 13:50-16:40 +0 N561JB - -\nf311 2020 FLL-ORH 13:50-16:54 138 A320 open ? - 13:50-16:54 +0 N587JB - -\nf312 207 BOS-BNA 13:53-16:43 130 A220 open ? - 13:53-16:43 +0 N3104J - -\nf313 399 LGA-MCO 13:55-16:51 150 A320 open ? - 13:55-16:51 +0 N827JB - -\nf314 462 SJU-BOS 13:55-18:04 179 A321 open ? - 13:55-18:04 +0 N966JT - -\nf315 448 LAS-JFK 13:58-19:07 133 A321P open ? - 13:58-19:07 +0 N2157J - -\nf316 53 JFK-PBI 13:59-16:59 130 A220 open ? - 13:59-16:59 +0 N3123J - -\nf317 2614 LGA-ATL 13:59-16:21 134 A220 open ? - 13:59-16:21 +0 N3115J - -\nf318 3 JFK-SJU 14:00-18:01 150 A320 open ? - 14:00-18:01 +0 N547JB - -\nf319 821 JFK-RSW 14:00-17:10 131 A220 open ? - 14:00-17:10 +0 N3157J - -\nf320 1727 EWR-MCO 14:00-16:51 144 A320 open ? - 14:00-16:51 +0 N517JB - -\nf321 1855 BOS-DCA 14:00-15:45 87 E190 open ? - 14:00-15:45 +0 N328JB - -\nf322 2554 DCA-BOS 14:00-15:42 86 E190 open ? - 14:00-15:42 +0 N307JB - -\nf323 991 FLL-SJU 14:05-16:50 150 A320 open ? - 14:05-16:50 +0 N563JB - -\nf324 271 LGA-FLL 14:10-17:15 150 A320 open ? - 14:10-17:15 +0 N793JB - -\nf325 552 MCO-BOS 14:10-17:20 134 A320 open ? - 14:10-17:20 +0 N834JB - -\nf326 1037 BOS-DTW 14:10-16:23 124 A220 open ? - 14:10-16:23 +0 N3152J - -\nf327 1122 ACK-HPN 14:11-15:14 62 E190 open ? - 14:11-15:14 +0 N273JB - -\nf328 1178 LAS-BOS 14:13-19:33 145 A321P open ? - 14:13-19:33 +0 N982JB - -\nf329 495 HPN-MCO 14:15-17:02 150 A320 open ? - 14:15-17:02 +0 N588JB - -\nf330 1459 EWR-FLL 14:15-17:18 150 A320 open ? - 14:15-17:18 +0 N636JB - -\nf331 1874 LAX-EWR 14:17-19:47 147 A321P open ? - 14:17-19:47 +0 N2105J - -\nf332 1320 SAN-BOS 14:20-20:02 150 A321P open ? - 14:20-20:02 +0 N985JT - -\nf333 2466 FLL-BUF 14:23-17:20 150 A320 open ? - 14:23-17:20 +0 N569JB - -\nf334 2494 DCA-ACK 14:25-15:59 70 E190 open ? - 14:25-15:59 +0 N281JB - -\nf335 2647 CHS-HPN 14:25-16:26 99 A320 open ? - 14:25-16:26 +0 N828JB - -\nf336 349 BOS-SAV 14:28-17:11 130 A220 open ? - 14:28-17:11 +0 N3062J - -\nf337 2902 JFK-BUF 14:29-16:04 128 A220 open ? - 14:29-16:04 +0 N3044J - -\nf338 398 SEA-BOS 14:30-19:58 146 A321P open ? - 14:30-19:58 +0 N989JT - -\nf339 500 MCO-RDU 14:30-16:22 117 A320 open ? - 14:30-16:22 +0 N627JB - -\nf340 726 SAT-JFK 14:30-18:40 119 A220 open ? - 14:30-18:40 +0 N3185J - -\nf341 1310 JAX-BOS 14:30-17:23 150 A320 open ? - 14:30-17:23 +0 N597JB - -\nf342 1634 SJU-MCO 14:30-17:42 150 A320 open ? - 14:30-17:42 +0 N665JB - -\nf343 1324 BOS-MVY 14:35-15:20 49 E190 open ? - 14:35-15:20 +0 N329JB - -\nf344 1677 JFK-JAX 14:35-17:10 185 A321 open ? - 14:35-17:10 +0 N2047J - -\nf345 317 BOS-JFK 14:39-16:00 109 A220 open ? - 14:39-16:00 +0 N3118J - -\nf346 784 MCO-JFK 14:40-17:28 147 A320 open ? - 14:40-17:28 +0 N559JB - -\nf347 2184 RDU-BOS 14:45-16:50 83 E190 open ? - 14:45-16:50 +0 N337JB - -\nf348 2993 JFK-MIA 14:45-17:58 129 A220 open ? - 14:45-17:58 +0 N3077J - -\nf349 383 JFK-MCO 14:50-17:50 189 A321 open ? - 14:50-17:50 +0 N971JT - -\nf350 120 RIC-MCO 14:55-17:06 150 A320 open ? - 14:55-17:06 +0 N640JB - -\nf351 438 MCO-BDL 14:55-17:45 150 A320 open ? - 14:55-17:45 +0 N535JB - -\nf352 1251 HPN-PBI 14:55-17:44 143 A320 open ? - 14:55-17:44 +0 N766JB - -\nf353 1413 MVY-DCA 14:55-16:34 60 E190 open ? - 14:55-16:34 +0 N334JB - -\nf354 61 BOS-SJU 14:56-19:01 170 A321 open ? - 14:56-19:01 +0 N905JB - -\nf355 125 JFK-TPA 14:59-18:06 150 A320 open ? - 14:59-18:06 +0 N651JB - -\nf356 534 SFO-BOS 14:59-20:44 146 A321P open ? - 14:59-20:44 +0 N961JT - -\nf357 1961 LGA-PBI 14:59-18:00 150 A320 open ? - 14:59-18:00 +0 N806JB - -\nf358 415 HYA-JFK 15:00-16:03 63 E190 open ? - 15:00-16:03 +0 N317JB - -\nf359 936 SJU-STT 15:00-15:44 101 A320 open ? - 15:00-15:44 +0 N715JB - -\nf360 2223 JFK-LAX 15:00-21:03 146 A321P open ? - 15:00-21:03 +0 N964JT - -\nf361 1498 DEN-JFK 15:03-18:59 131 A320 open ? - 15:03-18:59 +0 N796JB - -\nf362 591 BOS-TPA 15:05-18:30 150 A320 open ? - 15:05-18:30 +0 N521JB - -\nf363 128 MCO-EWR 15:10-17:59 150 A320 open ? - 15:10-17:59 +0 N606JB - -\nf364 1075 PVD-MCO 15:10-18:14 148 A320 open ? - 15:10-18:14 +0 N789JB - -\nf365 1138 AUS-BOS 15:10-19:25 150 A320 open ? - 15:10-19:25 +0 N584JB - -\nf366 2259 BOS-PHL 15:10-16:43 67 E190 open ? - 15:10-16:43 +0 N306JB - -\nf367 86 RDU-JFK 15:13-16:59 124 A220 open ? - 15:13-16:59 +0 N3058J - -\nf368 485 ROC-JFK 15:17-16:44 83 E190 open ? - 15:17-16:44 +0 N266JB - -\nf369 256 BZN-BOS 15:20-19:47 120 A320 open ? - 15:20-19:47 +0 N531JL - -\nf370 1116 SFO-JFK 15:20-21:05 144 A321P open ? - 15:20-21:05 +0 N979JT - -\nf371 1124 LAX-JFK 15:21-21:00 139 A321P open ? - 15:21-21:00 +0 N992JB - -\nf372 300 LAX-FLL 15:23-20:35 151 A321P open ? - 15:23-20:35 +0 N935JB - -\nf373 1243 EWR-PBI 15:25-18:23 150 A320 open ? - 15:25-18:23 +0 N652JB - -\nf374 1890 SJU-EWR 15:25-19:45 150 A320 open ? - 15:25-19:45 +0 N632JB - -\nf375 2566 LGA-MVY 15:25-16:35 63 E190 open ? - 15:25-16:35 +0 N265JB - -\nf376 1254 DCA-BOS 15:30-17:18 86 E190 open ? - 15:30-17:18 +0 N258JB - -\nf377 2421 BOS-PBI 15:30-18:50 127 A220 open ? - 15:30-18:50 +0 N3102J - -\nf378 2852 MCO-BOS 15:30-18:43 145 A320 open ? - 15:30-18:43 +0 N568JB - -\nf379 1214 DFW-BOS 15:34-19:28 126 A220 open ? - 15:34-19:28 +0 N3162J - -\nf380 231 BOS-LGA 15:35-16:55 72 E190 open ? - 15:35-16:55 +0 N339JB - -\nf381 720 ATL-JFK 15:35-18:04 126 A220 open ? - 15:35-18:04 +0 N3023J - -\nf382 1032 LGA-BOS 15:35-16:58 74 E190 open ? - 15:35-16:58 +0 N324JB - -\nf383 697 BOS-ATL 15:40-18:30 131 A220 open ? - 15:40-18:30 +0 N3149J - -\nf384 2424 MCO-DCA 15:40-18:04 146 A320 open ? - 15:40-18:04 +0 N608JB - -\nf385 2291 JFK-ACK 15:45-17:09 64 E190 open ? - 15:45-17:09 +0 N284JB - -\nf386 1963 JFK-SYR 15:49-17:13 138 A320 open ? - 15:49-17:13 +0 N639JB - -\nf387 732 SJU-BOS 15:50-20:00 145 A320 open ? - 15:50-20:00 +0 N784JB - -\nf388 1205 JFK-ORD 15:50-18:43 126 A220 open ? - 15:50-18:43 +0 N3139J - -\nf389 2469 BOS-FLL 15:50-19:12 150 A320 open ? - 15:50-19:12 +0 N705JB - -\nf390 2474 CHS-JFK 15:50-18:00 119 A220 open ? - 15:50-18:00 +0 N3065J - -\nf391 1751 TPA-SJU 15:51-18:58 149 A320 open ? - 15:51-18:58 +0 N629JB - -\nf392 835 BOS-MSP 15:55-19:10 126 A220 open ? - 16:01-19:16 +6 N3203J - -\nf393 615 JFK-SFO 15:59-22:26 146 A321P open ? - 15:59-22:26 +0 N923JB - -\nf394 1121 HPN-ACK 15:59-17:04 66 E190 open ? - 15:59-17:04 +0 N273JB - -\nf395 1211 JFK-LAS 15:59-21:40 145 A321P open ? - 15:59-21:40 +0 N943JT - -\nf396 2016 BUF-BOS 15:59-17:29 93 E190 open ? - 15:59-17:29 +0 N318JB - -\nf397 197 BOS-SEA 16:00-22:20 145 A321P open ? - 16:00-22:20 +0 N988JT - -\nf398 1168 PBI-HPN 16:00-18:55 137 A320 open ? - 16:00-18:55 +0 N709JB - -\nf399 2251 BOS-MCO 16:00-19:21 150 A320 open ? - 16:00-19:21 +0 N537JT - -\nf400 2274 TPA-EWR 16:00-18:49 139 A320 open ? - 16:00-18:49 +0 N768JB - -\nf401 1225 MVY-BOS 16:05-16:54 55 E190 open ? - 16:05-16:54 +0 N329JB - -\nf402 2186 PIT-BOS 16:09-17:52 81 E190 open ? - 16:09-17:52 +0 N323JB - -\nf403 19 BOS-SAN 16:10-22:18 146 A321P open ? - 16:10-22:18 +0 N984JB - -\nf404 1475 BDL-SJU 16:10-20:12 147 A320 open ? - 16:10-20:12 +0 N598JB - -\nf405 971 BOS-SJC 16:14-22:40 115 A220 open ? - 16:25-22:51 +11 N3169J - -\nf406 2233 BOS-SFO 16:20-22:59 144 A321P open ? - 16:20-22:59 +0 N976JT - -\nf407 1880 FLL-DCA 16:22-18:59 140 A320 open ? - 16:22-18:59 +0 N527JL - -\nf408 641 BOS-CLE 16:24-18:25 91 E190 open ? - 16:24-18:25 +0 N283JB - -\nf409 1084 MCO-JFK 16:24-19:20 147 A320 open ? - 16:24-19:20 +0 N558JB - -\nf410 1579 DCA-FLL 16:25-19:10 147 A320 open ? - 16:25-19:10 +0 N633JB - -\nf411 1734 SFO-BOS 16:25-22:07 145 A321P open ? - 16:25-22:07 +0 N934JB - -\nf412 888 LAX-BOS 16:30-22:00 150 A321P open ? - 16:30-22:00 +0 N993JE - -\nf413 1189 JFK-SAN 16:30-22:30 143 A321P open ? - 16:30-22:30 +0 N945JT - -\nf414 1354 DCA-BOS 16:30-18:14 86 E190 open ? - 16:30-18:14 +0 N328JB - -\nf415 2065 BOS-RSW 16:30-20:04 150 A320 open ? - 16:30-20:04 +0 N562JB - -\nf416 883 JFK-MCO 16:35-19:43 150 A320 open ? - 16:35-19:43 +0 N641JB - -\nf417 1287 PVD-PBI 16:35-19:45 146 A320 open ? - 16:35-19:45 +0 N804JB - -\nf418 435 STT-SJU 16:40-17:30 113 A320 open ? - 16:40-17:30 +0 N715JB - -\nf419 1538 JFK-MVY 16:40-17:59 67 E190 open ? - 16:40-17:59 +0 N317JB - -\nf420 2052 MCO-BOS 16:40-19:52 134 A320 open ? - 16:40-19:52 +0 N505JB - -\nf421 861 BOS-SJU 16:45-20:49 170 A321 open ? - 16:45-20:49 +0 N2038J - -\nf422 1151 ACK-BOS 16:45-17:43 65 E190 open ? - 16:45-17:43 +0 N281JB - -\nf423 1473 JFK-BNA 16:45-19:31 120 A220 open ? - 16:45-19:31 +0 N3156J - -\nf424 2073 EWR-LAX 16:45-22:45 148 A321P open ? - 16:45-22:45 +0 N983JT - -\nf425 430 MCO-BQN 16:50-19:43 150 A320 open ? - 16:50-19:43 +0 N645JB - -\nf426 739 JFK-BQN 16:50-20:53 150 A320 open ? - 16:50-20:53 +0 N526JL - -\nf427 769 ALB-MCO 16:57-20:04 150 A320 open ? - 16:57-20:04 +0 N554JB - -\nf428 471 LGA-FLL 16:59-20:12 150 A320 open ? - 16:59-20:12 +0 N592JB - -\nf429 1694 MCO-HPN 16:59-19:55 139 A320 open ? - 16:59-19:55 +0 N603JB - -\nf430 359 JFK-BUR 17:00-23:04 131 A220 open ? - 17:00-23:04 +0 N3118J - -\nf431 680 MKE-JFK 17:00-19:21 128 A320 open ? - 17:00-19:21 +0 N605JB - -\nf432 1501 JFK-FLL 17:00-20:22 150 A320 open ? - 17:00-20:22 +0 N621JB - -\nf433 2055 BOS-DCA 17:00-18:46 87 E190 open ? - 17:00-18:46 +0 N354JB - -\nf434 2901 BUF-JFK 17:00-18:33 120 A220 open ? - 17:00-18:33 +0 N3044J - -\nf435 915 BOS-SMF 17:01-23:32 131 A320 open ? - 17:25-23:56 +24 N523JB - -\nf436 148 LAS-JFK 17:03-22:17 133 A321P open ? - 17:03-22:17 +0 N978JB - -\nf437 1918 FLL-JAX 17:05-18:25 90 A320 open ? - 17:05-18:25 +0 N661JB - -\nf438 424 LAX-JFK 17:10-22:54 139 A321P open ? - 17:10-22:54 +0 N969JT - -\nf439 2810 TPA-LGA 17:10-20:03 150 A320 open ? - 17:10-20:03 +0 N655JB - -\nf440 1348 SJU-DCA 17:13-21:15 184 A321 open ? - 17:13-21:15 +0 N965JT - -\nf441 501 RDU-MCO 17:20-19:17 93 A320 open ? - 17:20-19:17 +0 N627JB - -\nf442 2565 MVY-LGA 17:20-18:32 64 E190 open ? - 17:20-18:32 +0 N265JB - -\nf443 996 ATL-BOS 17:30-20:13 125 A220 open ? - 17:30-20:13 +0 N3115J - -\nf444 1136 DTW-BOS 17:30-19:30 127 A220 open ? - 17:30-19:30 +0 N3152J - -\nf445 1167 HPN-PBI 17:30-20:24 143 A320 open ? - 17:30-20:24 +0 N828JB - -\nf446 1453 FLL-SJU 17:30-20:12 150 A320 open ? - 17:30-20:12 +0 N565JB - -\nf447 2754 DCA-BOS 17:30-19:14 86 E190 open ? - 17:30-19:14 +0 N334JB - -\nf448 276 SJU-BDL 17:35-21:42 149 A320 open ? - 17:35-21:42 +0 N529JB - -\nf449 1132 LGA-BOS 17:35-18:58 74 E190 open ? - 17:35-18:58 +0 N339JB - -\nf450 1289 EWR-SJU 17:35-21:38 150 A320 open ? - 17:35-21:38 +0 N775JB - -\nf451 131 MCO-LAX 17:40-22:55 150 A320 open ? - 17:40-22:55 +0 N607JB - -\nf452 798 MCO-LGA 17:40-20:29 149 A320 open ? - 17:40-20:29 +0 N566JB - -\nf453 1281 BOS-RIC 17:40-19:35 95 E190 open ? - 17:40-19:35 +0 N329JB - -\nf454 2460 PHL-BOS 17:40-19:06 61 E190 open ? - 17:40-19:06 +0 N306JB - -\nf455 992 SJU-FLL 17:42-20:30 147 A320 open ? - 17:42-20:30 +0 N563JB - -\nf456 2119 ORH-FLL 17:42-20:54 129 A320 open ? - 17:42-20:54 +0 N587JB - -\nf457 308 JFK-PWM 17:45-19:14 86 E190 open ? - 17:45-19:14 +0 N266JB - -\nf458 616 SFO-JFK 17:45-23:28 144 A321P open ? - 17:45-23:28 +0 N947JB - -\nf459 623 JFK-LAX 17:45-23:57 146 A321P open ? - 17:45-23:57 +0 N967JT - -\nf460 206 BNA-BOS 17:48-20:30 131 A220 open ? - 17:48-20:30 +0 N3104J - -\nf461 187 BOS-LAX 17:50-00:16+1 150 A321P open ? - 17:50-00:16+1 +0 N942JB - -\nf462 811 BOS-ORD 17:50-20:47 89 E190 open ? - 17:50-20:47 +0 N279JB - -\nf463 192 ACK-JFK 17:55-19:11 64 E190 open ? - 17:55-19:11 +0 N273JB - -\nf464 2102 FLL-JFK 17:55-21:00 147 A320 open ? - 17:55-21:00 +0 N649JB - -\nf465 95 BOS-PDX 17:58-00:16+1 132 A320 open ? - 17:58-00:16+1 +0 N613JB - -\nf466 1118 JFK-BOS 17:59-19:32 114 A220 open ? - 17:59-19:32 +0 N3058J - -\nf467 483 JFK-MCO 18:00-21:07 150 A320 open ? - 18:00-21:07 +0 N595JB - -\nf468 694 AUS-JFK 18:00-21:57 116 A220 open ? - 18:00-21:57 +0 N3194J - -\nf469 734 SFO-BOS 18:00-23:41 145 A321P open ? - 18:00-23:41 +0 N968JT - -\nf470 767 MCO-PSE 18:00-21:00 150 A320 open ? - 18:00-21:00 +0 N594JB - -\nf471 1284 MCO-JFK 18:00-21:02 147 A320 open ? - 18:00-21:02 +0 N583JB - -\nf472 247 BOS-SLC 18:05-23:34 127 A220 open ? - 18:05-23:34 +0 N3142J - -\nf473 1331 BOS-LGA 18:05-19:27 72 E190 open ? - 18:05-19:27 +0 N307JB - -\nf474 1678 JAX-JFK 18:05-20:36 183 A321 open ? - 18:05-20:36 +0 N2047J - -\nf475 250 SAV-BOS 18:06-20:35 120 A220 open ? - 18:06-20:35 +0 N3062J - -\nf476 777 BOS-LAS 18:06-00:00+1 145 A321P open ? - 18:06-00:00+1 +0 N962JT - -\nf477 1154 PBI-JFK 18:08-21:01 128 A220 open ? - 18:08-21:01 +0 N3123J - -\nf478 1964 SYR-JFK 18:08-19:30 119 A320 open ? - 18:08-19:30 +0 N639JB - -\nf479 491 BUF-LAX 18:10-23:25 150 A320 open ? - 18:10-23:25 +0 N569JB - -\nf480 1524 LAX-JFK 18:10-23:47 139 A321P open ? - 18:10-23:47 +0 N929JB - -\nf481 2122 ACK-HPN 18:10-19:18 62 E190 open ? - 18:10-19:18 +0 N284JB - -\nf482 2255 BOS-DCA 18:10-19:59 87 E190 open ? - 18:10-19:59 +0 N337JB - -\nf483 451 BOS-MCO 18:15-21:37 141 A320 open ? - 18:15-21:37 +0 N834JB - -\nf484 472 FLL-LGA 18:15-21:13 148 A320 open ? - 18:15-21:13 +0 N644JB - -\nf485 822 RSW-JFK 18:15-21:13 133 A220 open ? - 18:15-21:13 +0 N3157J - -\nf486 391 BOS-TPA 18:20-21:40 150 A320 open ? - 18:20-21:40 +0 N597JB - -\nf487 88 FLL-ALB 18:25-21:31 150 A320 open ? - 18:25-21:31 +0 N570JB - -\nf488 548 TPA-HPN 18:29-21:29 150 A320 open ? - 18:29-21:29 +0 N630JB - -\nf489 2783 BOS-RDU 18:30-20:39 87 E190 open ? - 18:30-20:39 +0 N324JB - -\nf490 24 MCO-DCA 18:32-20:59 146 A320 open ? - 18:32-20:59 +0 N827JB - -\nf491 29 FLL-SAN 18:35-23:48 150 A320 open ? - 18:35-23:48 +0 N561JB - -\nf492 67 BDL-LAX 18:46-00:50+1 140 A320 open ? - 18:46-00:50+1 +0 N535JB - -\nf493 161 JFK-SMF 18:47-01:02+1 187 A321 open ? - 18:47-01:02+1 +0 N903JB - -\nf494 263 JFK-SEA 18:49-01:18+1 148 A321P open ? - 18:49-01:18+1 +0 N986JB - -\nf495 4 SJU-JFK 18:52-22:59 143 A320 open ? - 18:52-22:59 +0 N807JB - -\nf496 1539 MVY-JFK 18:53-20:00 56 E190 open ? - 18:53-20:00 +0 N317JB - -\nf497 803 JFK-SJU 18:55-23:00 186 A321 open ? - 18:55-23:00 +0 N2084J - -\nf498 1252 PBI-HPN 18:55-21:47 137 A320 open ? - 18:55-21:47 +0 N766JB - -\nf499 2892 MIA-JFK 18:55-22:06 125 A220 open ? - 18:55-22:06 +0 N3077J - -\nf500 71 JFK-SLC 18:59-00:22+1 144 A320 open ? - 18:59-00:22+1 +0 N779JB - -\nf501 305 EWR-FLL 18:59-22:11 150 A320 open ? - 18:59-22:11 +0 N606JB - -\nf502 918 JFK-BOS 18:59-20:31 114 A220 open ? - 18:59-20:31 +0 N3065J - -\nf503 1979 DCA-FLL 18:59-21:40 147 A320 open ? - 18:59-21:40 +0 N646JB - -\nf504 1983 JFK-MCO 18:59-22:08 150 A320 open ? - 18:59-22:08 +0 N618JB - -\nf505 384 MCO-JFK 19:00-21:59 181 A321 open ? - 19:00-21:59 +0 N971JT - -\nf506 1494 MCO-HPN 19:00-22:00 139 A320 open ? - 19:00-22:00 +0 N588JB - -\nf507 1262 PBI-LGA 19:05-21:52 150 A320 open ? - 19:05-21:52 +0 N806JB - -\nf508 2826 TPA-JFK 19:05-21:57 150 A320 open ? - 19:05-21:57 +0 N651JB - -\nf509 524 LAX-JFK 19:10-00:48+1 139 A321P open ? - 19:10-00:48+1 +0 N991JT - -\nf510 1332 LGA-BOS 19:10-20:34 74 E190 open ? - 19:10-20:34 +0 N265JB - -\nf511 1355 BOS-DCA 19:10-20:58 87 E190 open ? - 19:10-20:58 +0 N258JB - -\nf512 1917 JAX-FLL 19:10-20:25 95 A320 open ? - 19:10-20:25 +0 N661JB - -\nf513 640 CLE-BOS 19:11-21:00 88 E190 open ? - 19:11-21:00 +0 N283JB - -\nf514 135 JFK-PHX 19:15-00:42+1 129 A220 open ? - 19:15-00:42+1 +0 N3023J - -\nf515 592 TPA-BOS 19:15-22:31 150 A320 open ? - 19:15-22:31 +0 N521JB - -\nf516 1728 MCO-EWR 19:15-22:05 140 A320 open ? - 19:15-22:05 +0 N640JB - -\nf517 1732 LAX-SLC 19:20-21:09 132 A320 open ? - 19:20-21:09 +0 N637JB - -\nf518 2613 ATL-LGA 19:25-21:42 127 A220 open ? - 19:25-21:42 +0 N3149J - -\nf519 2 JFK-BUF 19:29-21:11 128 A220 open ? - 19:29-21:11 +0 N3044J - -\nf520 81 JFK-RNO 19:30-01:36+1 143 A320 open ? - 19:30-01:36+1 +0 N634JB - -\nf521 561 BOS-SJU 19:30-23:36 170 A321 open ? - 19:30-23:36 +0 N966JT - -\nf522 1431 BOS-LGA 19:30-20:51 72 E190 open ? - 19:30-20:51 +0 N318JB - -\nf523 355 JFK-ONT 19:34-01:32+1 182 A321 open ? - 19:34-01:32+1 +0 N997JL - -\nf524 2354 DCA-BOS 19:35-21:14 86 E190 open ? - 19:35-21:14 +0 N354JB - -\nf525 1206 ORD-JFK 19:38-22:03 115 A220 open ? - 19:38-22:03 +0 N3139J - -\nf526 1633 MCO-SJU 19:40-22:43 148 A320 open ? - 19:40-22:43 +0 N665JB - -\nf527 1761 LGA-PBI 19:40-22:39 150 A320 open ? - 19:40-22:39 +0 N656JB - -\nf528 1944 PBI-EWR 19:40-22:30 146 A320 open ? - 19:40-22:30 +0 N652JB - -\nf529 322 PBI-BOS 19:45-22:49 128 A220 open ? - 19:45-22:49 +0 N3102J - -\nf530 873 EWR-TPA 19:45-22:46 143 A320 open ? - 19:45-22:46 +0 N768JB - -\nf531 1196 FLL-PVD 19:45-22:49 146 A320 open ? - 19:45-22:49 +0 N585JB - -\nf532 2017 BOS-JFK 19:45-21:10 78 E190 open ? - 19:45-21:10 +0 N281JB - -\nf533 2023 JFK-LAX 19:49-01:59+1 146 A321P open ? - 19:49-01:59+1 +0 N981JT - -\nf534 1990 SJU-EWR 19:50-23:56 150 A320 open ? - 19:50-23:56 +0 N547JB - -\nf535 369 BOS-FLL 19:55-23:19 150 A320 open ? - 19:55-23:19 +0 N571JB - -\nf536 2385 BOS-PIT 19:55-21:48 80 E190 open ? - 19:55-21:48 +0 N323JB - -\nf537 715 BOS-BUF 19:59-21:33 91 E190 open ? - 19:59-21:33 +0 N328JB - -\nf538 2459 BOS-PHL 19:59-21:32 67 E190 open ? - 19:59-21:32 +0 N339JB - -\nf539 613 HPN-FLL 20:00-23:03 141 A320 open ? - 20:00-23:03 +0 N709JB - -\nf540 711 JFK-LAS 20:00-01:46+1 145 A321P open ? - 20:00-01:46+1 +0 N987JT - -\nf541 2501 FLL-LAX 20:00-01:32+1 149 A321P open ? - 20:00-01:32+1 +0 N944JT - -\nf542 2523 DCA-MCO 20:00-22:25 150 A320 open ? - 20:00-22:25 +0 N608JB - -\nf543 153 JFK-PBI 20:05-23:08 150 A320 open ? - 20:05-23:08 +0 N559JB - -\nf544 460 FLL-BDL 20:05-23:08 149 A320 open ? - 20:05-23:08 +0 N793JB - -\nf545 836 MSP-BOS 20:05-22:51 113 A220 open ? - 20:05-22:51 +0 N3203J - -\nf546 283 JFK-MCO 20:06-23:12 189 A321 open ? - 20:06-23:12 +0 N949JT - -\nf547 307 PWM-JFK 20:09-21:29 75 E190 open ? - 20:09-21:29 +0 N266JB - -\nf548 170 FLL-BOS 20:10-23:27 150 A320 open ? - 20:10-23:27 +0 N636JB - -\nf549 572 FLL-LGA 20:10-23:06 148 A320 open ? - 20:10-23:06 +0 N663JB - -\nf550 607 FLL-LAS 20:10-01:17+1 150 A320 open ? - 20:10-01:17+1 +0 N625JB - -\nf551 1294 MCO-HPN 20:10-22:59 139 A320 open ? - 20:10-22:59 +0 N789JB - -\nf552 65 JFK-ABQ 20:12-00:55+1 130 A220 open ? - 20:12-00:55+1 +0 N3185J - -\nf553 1152 MCO-BOS 20:15-23:26 145 A320 open ? - 20:15-23:26 +0 N627JB - -\nf554 1432 LGA-BOS 20:15-21:35 74 E190 open ? - 20:15-21:35 +0 N307JB - -\nf555 97 JFK-DEN 20:20-00:57+1 147 A320 open ? - 20:20-00:57+1 +0 N796JB - -\nf556 993 BOS-DEN 20:20-00:50+1 130 A220 open ? - 20:20-00:50+1 +0 N3112J - -\nf557 1282 RIC-BOS 20:20-21:57 91 E190 open ? - 20:20-21:57 +0 N329JB - -\nf558 783 BOS-PHX 20:25-02:04+1 126 A220 open ? - 20:25-02:04+1 +0 N3162J - -\nf559 815 JFK-SFO 20:25-02:59+1 146 A321P open ? - 20:25-02:59+1 +0 N2157J - -\nf560 2752 SJU-TPA 20:25-23:27 192 A321 open ? - 20:25-23:27 +0 N905JB - -\nf561 1474 BNA-JFK 20:26-22:56 107 A220 open ? - 20:26-22:56 +0 N3156J - -\nf562 2101 JFK-FLL 20:29-23:42 150 A320 open ? - 20:29-23:42 +0 N558JB - -\nf563 2514 LGA-ATL 20:30-23:00 134 A220 open ? - 20:30-23:00 +0 N3196J - -\nf564 729 BQN-MCO 20:33-23:24 150 A320 open ? - 20:33-23:24 +0 N645JB - -\nf565 706 FLL-EWR 20:40-23:40 150 A320 open ? - 20:40-23:40 +0 N703JB - -\nf566 914 FLL-HPN 20:40-23:39 130 A320 open ? - 20:40-23:39 +0 N599JB - -\nf567 1468 PBI-HPN 20:40-23:26 137 A320 open ? - 20:40-23:26 +0 N804JB - -\nf568 1387 BOS-LAX 20:43-02:59+1 150 A321P open ? - 20:43-02:59+1 +0 N2156J - -\nf569 277 FLL-SFO 20:45-02:37+1 146 A321P open ? - 20:45-02:37+1 +0 N2188J - -\nf570 2854 DCA-BOS 20:45-22:21 86 E190 open ? - 20:45-22:21 +0 N337JB - -\nf571 223 JFK-LAX 20:49-02:58+1 146 A321P open ? - 20:49-02:58+1 +0 N946JL - -\nf572 571 LGA-FLL 20:50-23:56 150 A320 open ? - 20:50-23:56 +0 N655JB - -\nf573 1451 BOS-MCO 20:50-23:58 141 A320 open ? - 20:50-23:58 +0 N568JB - -\nf574 1567 HPN-PBI 20:50-23:46 143 A320 open ? - 20:50-23:46 +0 N603JB - -\nf575 2066 RSW-BOS 20:50-23:59 147 A320 open ? - 20:50-23:59 +0 N562JB - -\nf576 656 MCO-SYR 20:55-23:47 149 A320 open ? - 20:55-23:47 +0 N537JT - -\nf577 1146 FLL-RIC 20:59-23:18 129 A320 open ? - 20:59-23:18 +0 N633JB - -\nf578 1586 MCO-BUF 20:59-23:41 145 A320 open ? - 20:59-23:41 +0 N653JB - -\nf579 2054 SJU-FLL 20:59-23:42 147 A320 open ? - 20:59-23:42 +0 N629JB - -\nf580 2583 JFK-MCO 20:59-23:59 132 A220 open ? - 20:59-23:59 +0 N3195J - -\nf581 1873 EWR-LAX 21:07-02:59+1 148 A321P open ? - 21:07-02:59+1 +0 N2105J - -\nf582 745 JFK-PSE 21:10-01:26+1 149 A320 open ? - 21:10-01:26+1 +0 N605JB - -\nf583 2134 SJU-MCO 21:10-00:11+1 150 A320 open ? - 21:10-00:11+1 +0 N565JB - -\nf584 333 BOS-SFO 21:15-03:45+1 144 A321P open ? - 21:15-03:45+1 +0 N982JB - -\nf585 1952 MCO-BOS 21:15-00:27+1 145 A320 open ? - 21:15-00:27+1 +0 N641JB - -\nf586 2626 FLL-RDU 21:15-23:22 140 A320 open ? - 21:15-23:22 +0 N592JB - -\nf587 2202 FLL-JFK 21:20-00:13+1 147 A320 open ? - 21:20-00:13+1 +0 N705JB - -\nf588 499 LGA-MCO 21:25-00:16+1 150 A320 open ? - 21:25-00:16+1 +0 N566JB - -\nf589 845 BOS-SYR 21:25-22:41 84 E190 open ? - 21:25-22:41 +0 N306JB - -\nf590 1484 RDU-BOS 21:25-23:25 83 E190 open ? - 21:25-23:25 +0 N324JB - -\nf591 102 JFK-BUF 21:29-23:13 128 A220 open ? - 21:29-23:13 +0 N3121J - -\nf592 1012 ORD-BOS 21:33-23:59 85 E190 open ? - 21:33-23:59 +0 N279JB - -\nf593 403 JFK-SJU 21:50-01:57+1 150 A320 open ? - 21:50-01:57+1 +0 N639JB - -\nf594 738 BQN-JFK 21:50-01:42+1 148 A320 open ? - 21:50-01:42+1 +0 N526JL - -\nf595 318 JFK-BOS 21:55-23:23 81 E190 open ? - 21:55-23:23 +0 N273JB - -\nf596 768 PSE-MCO 21:55-00:58+1 150 A320 open ? - 21:55-00:58+1 +0 N594JB - -\nf597 1004 SJU-JFK 21:59-01:56+1 177 A321 open ? - 21:59-01:56+1 +0 N2038J - -\nf598 1186 JFK-ROC 21:59-23:34 121 A220 open ? - 21:59-23:34 +0 N3123J - -\nf599 1731 SLC-LAX 22:05-00:05+1 130 A320 open ? - 22:05-00:05+1 +0 N637JB - -\nf600 1823 JFK-LAX 22:15-04:24+1 146 A321P open ? - 22:15-04:24+1 +0 N992JB - -\nf601 2133 MCO-SJU 22:25-01:27+1 148 A320 open ? - 22:25-01:27+1 +0 N554JB - -\nf602 275 BDL-SJU 22:30-02:26+1 147 A320 open ? - 22:30-02:26+1 +0 N529JB - -\nf603 362 SJU-BOS 22:35-02:35+1 145 A320 open ? - 22:35-02:35+1 +0 N598JB - -\nf604 1318 JFK-BOS 22:59-00:18+1 81 E190 open ? - 22:59-00:18+1 +0 N317JB - -\nf605 2403 JFK-BQN 22:59-02:50+1 150 A320 open ? - 22:59-02:50+1 +0 N536JB - -\nf606 2903 JFK-SJU 22:59-02:57+1 186 A321 open ? - 22:59-02:57+1 +0 N2047J - -\nf607 2120 SAN-BOS 23:28-04:50+1 150 A321P open ? - 23:28-04:50+1 +0 N984JB - -\nf608 1114 LAX-JFK 23:35-05:01+1 139 A321P open ? - 23:35-05:01+1 +0 N977JE - -\nf609 2416 SFO-JFK 23:35-05:04+1 144 A321P open ? - 23:35-05:04+1 +0 N2165J - -\nf610 972 SJC-BOS 23:40-05:22+1 128 A220 open ? - 23:40-05:22+1 +0 N3169J - -\nf611 1190 SAN-JFK 23:40-05:04+1 144 A321P open ? - 23:40-05:04+1 +0 N945JT - -\nf612 198 SEA-BOS 23:50-05:10+1 146 A321P open ? - 23:50-05:10+1 +0 N988JT - -\nf613 1574 LAX-EWR 23:55-05:18+1 147 A321P open ? - 23:55-05:18+1 +0 N964JT - -\nf614 358 BUR-JFK 00:00+1-05:29+1 121 A220 open ? - 00:00+1-05:29+1 +0 N3118J - -\nf615 2348 LAS-JFK 00:05+1-05:04+1 133 A321P open ? - 00:05+1-05:04+1 +0 N943JT - -\nf616 132 LAX-MCO 00:15+1-05:09+1 150 A320 open ? - 00:15+1-05:09+1 +0 N607JB - -\nf617 2234 SFO-BOS 00:23+1-06:00+1 145 A321P open ? - 00:23+1-06:00+1 +0 N923JB - -\nf618 248 SLC-BOS 00:29+1-05:00+1 126 A220 open ? - 00:29+1-05:00+1 +0 N3142J - -\nf619 916 SMF-BOS 00:32+1-06:03+1 132 A320 open ? - 00:41+1-06:12+1 +9 N523JB - -\nf620 30 SAN-FLL 00:40+1-05:45+1 136 A320 open ? - 00:40+1-05:45+1 +0 N561JB - -\nf621 278 SFO-FLL 00:44+1-06:22+1 149 A321P open ? - 00:44+1-06:22+1 +0 N976JT - -\nf622 1268 LAX-BDL 00:55+1-06:20+1 145 A320 open ? - 00:55+1-06:20+1 +0 N569JB - -\nf623 372 SLC-JFK 01:12+1-05:37+1 133 A320 open ? - 01:12+1-05:37+1 +0 N779JB - -\nf624 96 PDX-BOS 01:16+1-06:30+1 144 A320 open ? - 01:16+1-06:30+1 +0 N613JB - -\nf625 778 LAS-BOS 01:20+1-06:27+1 145 A321P open ? - 01:20+1-06:27+1 +0 N962JT - -\nf626 988 LAX-BOS 01:25+1-07:01+1 149 A321P open ? - 01:25+1-07:01+1 +0 N983JT - -\nf627 700 LAX-FLL 01:35+1-06:45+1 151 A321P open ? - 01:35+1-06:45+1 +0 N967JT - -\nf628 136 PHX-JFK 01:40+1-06:30+1 113 A220 open ? - 01:40+1-06:30+1 +0 N3023J - -\nf629 994 DEN-BOS 01:46+1-05:40+1 129 A220 open ? - 01:46+1-05:40+1 +0 N3112J - -\nf630 66 ABQ-JFK 01:50+1-05:59+1 119 A220 open ? - 01:50+1-05:59+1 +0 N3185J - -\nf631 98 DEN-JFK 01:59+1-05:45+1 131 A320 open ? - 01:59+1-05:45+1 +0 N796JB - -\nf632 608 LAS-FLL 02:15+1-06:56+1 150 A320 open ? - 02:15+1-06:56+1 +0 N625JB - -\nf633 162 SMF-JFK 02:17+1-07:40+1 179 A321 open ? - 02:17+1-07:40+1 +0 N903JB - -\nf634 492 LAX-BUF 02:36+1-07:25+1 150 A320 open ? - 02:36+1-07:25+1 +0 N637JB - -\nf635 264 SEA-JFK 02:38+1-07:59+1 146 A321P open ? - 02:38+1-07:59+1 +0 N986JB - -\nf636 80 RNO-JFK 02:46+1-07:59+1 113 A320 open ? - 02:46+1-07:59+1 +0 N634JB - -\nf637 2154 ONT-JFK 02:47+1-08:10+1 177 A321 open ? - 02:47+1-08:10+1 +0 N997JL - -\nf638 1316 LAX-JFK 02:50+1-08:24+1 139 A321P open ? - 02:50+1-08:24+1 +0 N942JB - -\nf639 948 LAS-JFK 02:59+1-08:06+1 133 A321P open ? - 02:59+1-08:06+1 +0 N987JT - -\nf640 984 PHX-BOS 02:59+1-07:54+1 121 A220 open ? - 02:59+1-07:54+1 +0 N3162J - -\n\n## Aircraft now, as your plan has them (@ = ready at)\nBOS: N2105J N2188J N258JB N265JB N273JB N279JB N3023J@09:04 N3062J N3077J N3102J@05:28 N3104J N3112J N3118J N3142J@06:07 N3149J N3169J@16:25 N318JB N3195J N3203J@05:57 N323JB N324JB N328JB N329JB N339JB N523JB N529JB@09:02 N531JL@06:16 N554JB N561JB N564JB N571JB N584JB@07:15 N592JB N597JB@09:15 N606JB@07:13 N613JB N705JB N766JB N905JB@05:28 N961JT N968JT@05:35 N976JT@15:15 N982JB N984JB@09:35 N985JT N988JT@08:31 N989JT N991JT@05:41\nJFK: N2038J N2039J@04:14 N2047J@13:48 N2084J@18:08 N2156J N2157J N2165J@10:05 N284JB N3044J N3058J N3065J N3121J@20:44 N3152J@04:11 N3157J@07:05 N3162J@07:32 N317JB N3194J N536JB@21:05 N547JB@08:21 N558JB@05:59 N559JB N590JB N595JB N599JB N605JB@06:45 N618JB@16:15 N621JB N624JB@06:15 N627JB N634JB@17:15 N638JB N641JB@13:06 N651JB@10:14 N779JB@15:50 N796JB@05:45 N923JB N929JB@07:25 N935JB N946JL N947JB@07:05 N949JT@19:19 N964JT@12:05 N969JT@06:07 N971JT@14:03 N977JE@09:04 N978JB@08:59 N979JT N981JT@05:48 N996JL@04:34 N997JL@18:47 N999JQ@07:43\nALB: N562JB\nATL: N3145J\nBDL: N598JB@07:00 N646JB@05:24 N789JB\nBQN: N612JB\nBUF: N266JB N3139J N3156J N527JL@08:01 N588JB\nCLE: N337JB\nDCA: N281JB N827JB N834JB N966JT\nEWR: N524JB N636JB N655JB N775JB N784JB@05:04 N992JB@05:38\nFLL: N563JB N569JB N570JB@17:10 N583JB N585JB N608JB N625JB N637JB N643JB N644JB@06:08 N656JB N661JB N665JB N703JB@19:25 N768JB N793JB@07:27 N828JB N934JB@07:02 N944JT@07:47 N950JT@05:13 N993JE\nHPN: N307JB N535JB N537JT N587JB N603JB N630JB N804JB\nLAX: N663JB N942JB@06:25 N943JT N967JT N980JT@07:17 N983JT@04:31 N986JB@05:22\nLGA: N283JB N3115J N3196J N632JB N652JB N806JB@05:15\nMCO: N3185J N505JB N520JB N521JB N526JL N565JB N566JB N594JB N607JB N629JB N649JB@06:45 N948JB\nPBI: N568JB N639JB N645JB N709JB\nPHL: N334JB\nPIT: N354JB\nPVD: N635JB\nRDU: N662JB\nRIC: N633JB\nROC: N3123J@05:00\nSFO: N945JT N962JT@04:51 N987JT@07:12\nSJU: N507JT N640JB N715JB N794JB N807JB N952JB N954JB N965JT\nSYR: N306JB N653JB\nTPA: N510JB N517JB N903JB\nairborne: none\n\n## News so far\n[14:53-1] JFK proposed ground delay program 17:00-1-23:59-1, rate 38/32/32/32/32/32/44 arrivals/h (all carriers), average delay 124 min, max 229 [advisory adv-20240730-090, signed 14:53-1]\n[15:09-1] JFK ground delay program 17:00-1-23:59-1, rate 38/32/32/32/32/36/44 arrivals/h (all carriers), average delay 123 min, max 219 [advisory adv-20240730-091, signed 15:09-1]\n[22:13-1] JFK GDP cancelled 22:09-1-02:41 [advisory adv-20240731-023, signed 22:13-1]\n[22:38-1] TAF AMD KJFK 310238Z 3103/0106 18015KT P6SM SCT025 BKN050 FM310600 19009KT P6SM VCSH OVC015 TEMPO 3107/3111 5SM -SHRA OVC008 FM311500 19012KT P6SM -SHRA BKN025 FM311800 19012KT P6SM -SHRA BKN035 PROB30 3118/3124 4SM -TSRA BKN025CB FM010200 24007KT P6SM BKN080=\n[23:41-1] TAF AMD KJFK 310341Z 3104/0106 18015KT P6SM BKN015 FM310600 19009KT P6SM VCSH OVC010 TEMPO 3107/3111 5SM -SHRA OVC008 FM311500 19012KT P6SM -SHRA BKN025 FM311800 19012KT P6SM -SHRA BKN035 PROB30 3118/3124 4SM -TSRA BKN025CB FM010200 24007KT P6SM BKN080=\n[01:21] TAF KBOS 310521Z 3106/0112 19008KT P6SM SCT012 BKN035 FM310900 18009KT P6SM SCT009 BKN012 FM311400 17010G17KT P6SM VCSH OVC020 FM312100 19012G20KT P6SM VCSH BKN045 FM010000 19011KT P6SM BKN020 FM010800 22006KT P6SM BKN045=\n[01:21] TAF KJFK 310521Z 3106/0112 19009KT P6SM SCT010 BKN040 TEMPO 3106/3110 5SM -SHRA OVC010 FM311500 19012KT P6SM SCT015 BKN025 FM311800 19012KT P6SM -SHRA BKN045 PROB30 3118/3124 4SM -TSRA BKN025CB FM010200 24007KT P6SM BKN080 FM010900 27006KT P6SM SCT080 SCT250=\n[02:51] KJFK 310651Z 17015G25KT 10SM BKN013 BKN055 BKN230 25/23 A2991 RMK AO2 SLP128 T02500233\n[02:54] KBOS 310654Z 19006KT 10SM SCT014 BKN049 22/21 A2998 RMK AO2 SLP150 T02220211\n[03:51] KJFK 310751Z 18013KT 10SM BKN012 OVC060 24/23 A2990 RMK AO2 SLP126 T02440233\n[03:54] KBOS 310754Z 15003KT 10SM FEW044 BKN075 21/20 A2997 RMK AO2 SLP148 T02110200\n\nIt is the first watch, 04:00. Nothing is frozen yet: set the day up with confirm_changes, then call advance.", + "max_turns": 239, + "model_params": { + "max_tokens": 32000 + }, + "timeout_seconds": 7200 + }, + { + "id": "end-day", + "type": "apply_server_config", + "env_id": "airops-v3-day", + "directives": [ + { + "service": "airops-v3-day", + "uri": "urn:airops:v3-end-day/v1", + "args": {} + } + ] + }, + { + "id": "grade", + "type": "env_outcome_verifier", + "env_id": "airops-v3-day", + "file_artifact_id": "airops-verifier", + "verifier_id": "airops", + "score_aggregator": "weighted_average" + } +] diff --git a/src/agentenv_airops/bundles/airops-v3/tasks/b6-20250206-0400.json b/src/agentenv_airops/bundles/airops-v3/tasks/b6-20250206-0400.json new file mode 100644 index 0000000..3158aff --- /dev/null +++ b/src/agentenv_airops/bundles/airops-v3/tasks/b6-20250206-0400.json @@ -0,0 +1,71 @@ +[ + { + "id": "deploy", + "type": "deploy_env", + "env_id": "airops-v3-day" + }, + { + "id": "load-task", + "type": "apply_server_config", + "env_id": "airops-v3-day", + "directives": [ + { + "service": "airops-v3-day", + "uri": "urn:airops:v3-live-load/v1", + "args": { + "task_id": "b6-20250206-0400", + "anchor": 3913797, + "follower": 4001930 + } + } + ] + }, + { + "id": "deploy-agent", + "type": "deploy_agent", + "a2a_agent_id": "airops-llm", + "env_ids": [ + "airops-v3-day" + ] + }, + { + "id": "clock", + "type": "sync_env_clock", + "env_id": "airops-v3-day", + "virtual_time": "2025-02-06T09:00:00Z", + "virtual_seconds_per_real_second": 0, + "tolerate_missing_sync_time": false + }, + { + "id": "play", + "type": "prompt_agent", + "prompt_id": "b6-20250206-0400", + "system_prompt": "You run the JetBlue operations desk on a storm day at JFK and BOS: thunderstorms, snow or wind, and the FAA ground stops and ground delay programs (GDPs) that follow, cut how many JetBlue flights can land and take off. Your job is to decide which flights to cancel and which to hold, watch by watch, so that passengers and the airline lose as little as possible over the day.\n\nHow the day runs:\n- The day is played in watches starting at watch 0: one an hour, and one more when an advisory or a SPECI reaches the desk or a ramp closure begins or ends, so watches are 15 to 60 minutes apart. The first message gives the day as the desk knows it at watch 0. Every tool call takes 1 minute of the watch; when the watch's time runs out, the next watch opens by itself, and advance opens it at once.\n- What the desk knows: a flight's own departure delay (weather, air traffic control: anything but waiting for its aircraft or a slot) becomes known 2 hours before its scheduled departure; until then it is assumed on time. FAA Command Center advisories and the hubs' METARs, SPECIs and TAFs arrive as messages at the first watch after they reach the desk: an advisory 0 minutes after it is signed, a METAR 5 and a SPECI 5 minutes after its observation, a TAF 10 minutes after its issue, and the programs table shows the programs as issued, proposed GDPs included; a program may end earlier or later than issued.\n- Ground delay programs: a GDP meters arrivals at a hub over its period. A flight into the hub from an origin in its scope, scheduled to land in the period, needs one of JetBlue's arrival slots in the program: it takes the earliest free slot at or after the time it could land and leaves at its EDCT, the slot less its scheduled block. A cancelled or late flight leaves its slot to the flights behind it. Arrivals outside a program fit under the hub's hourly rate.\n- Ground stops: a flight to a stopped hub from an origin the stop covers waits on the ground until the stop ends; flights already airborne fly on.\n- Departure caps: an airport may take only so many JetBlue departures in an hour (the departure caps table, known 4 hours ahead); a flight with no room in its hour tries again at the next hour's start.\n- Outstation arrival caps: an outstation may take only so many JetBlue arrivals in an hour (the outstation arrival caps table, known 4 hours ahead); a flight with no room in its arrival hour leaves so as to land in the next one.\n- Ramp closures: lightning at the field cuts a hub's ramp rate without stopping it. During a closure only so many JetBlue flights may leave the hub and only so many arrive there; a departure with no room leaves at the closure's end, an arrival with none leaves so as to land at it. A closure is known once it begins; until its end comes it is expected to last 30 minutes more, with caps for that long, and the closures table says which ends are reported and which expected.\n- The env flies your plan on the day as it happens: each flight leaves at the earliest time its delay, its hold, a slot, a stop, a cap and an aircraft allow. It takes the first aircraft of its type ready at its origin (aircraft of one type at one airport are interchangeable; an aircraft needs its turn time on the ground between flights). A flight that can't leave by its deadline is cancelled automatically there. At the end of the day the env ferries each aircraft to the airport it is needed at tomorrow.\n- Your decisions: cancel a flight (its aircraft stays on the ground, free for other flights, and its slot goes to the flights behind), restore a cancelled flight, or hold a flight until a time (not_before) so that its slot or aircraft goes to another flight first. A flight you don't touch leaves as early as it can.\n- The freeze: at watch 0 nothing is frozen. From watch 1 on, flights your plan has leaving before the freeze line, 60 minutes after the watch opens, are frozen: they can't be changed, and stay frozen. A cancellation is final. The env holds any other flight your plan would have leaving before the freeze line to it, and refuses a change that would move a frozen flight or one that has already gone.\n\nTools:\n- get_situation(): the time, the freeze line, the programs as issued with JetBlue's slots, the departure caps known so far, the outstation arrival caps known so far, the ramp closures under way or over, the latest METAR or SPECI and TAF per hub, every flight (its status, its known delay, your plan, where your plan has it leave and land on the day as known, how late it lands, its aircraft, its slot and its crew), where the aircraft are, and the news so far.\n- check_plan(changes): your changes over your plan, run on the day as known now: the plan's cost, the flights whose plan or times change, the automatic cancellations, the flights the env would hold to the freeze line, and the changes confirm_changes would refuse. It confirms nothing.\n- confirm_changes(changes): commits the changes; flights you leave out keep their plan.\n- advance(): ends the watch; its result has the new watch's news. After the last watch it returns \"done\": the day is graded on your plan.\nA change is {\"flight\": \"f12\", \"action\": \"cancel\" | \"restore\" | \"hold\" | \"call_reserve\" | \"release_reserve\", \"not_before\": \"HH:MM\" | null}: cancel takes not_before null; restore and hold fly the flight, held until not_before (local time, \"00:30+1\" after midnight), or as early as it can with null. Where a crew base has a reserve pool (the situation's Reserve crews), a flight leaving it past its crew's deadline flies only on a reserve: call_reserve gives it one while the pool lasts, release_reserve hands it back before that deadline.\n\nThe cost, in passenger-minutes: every passenger's minutes of arrival delay; 523 for each passenger on a cancelled flight, plus one for every minute the cancellation is decided later than 2 hours before its scheduled departure (an automatic cancellation is decided at its deadline, so it costs more than an early one); the airline's own aircraft minutes (a late departure costs crew and fixed costs, a long block fuel too, and a cancellation saves its fuel and maintenance); and the end-of-day ferries. A cancellation frees an aircraft and a slot; it pays when it saves the others more than it costs its own passengers. The day is graded once, on your final plan flown on the day as it really happened: the closer its cost to the best plan possible in hindsight, the higher the score. If you stop before the last watch, the rest of the day runs on your plan.", + "prompt": "# JetBlue operations desk, JFK/BOS, Thursday 2025-02-06; times are local (America/New_York).\n\nNow 04:00 (watch 0, opened 04:00). First watch: nothing is frozen; changes take effect at once.\n\nYour plan on the day as known costs 1,157,054 (delay 758,909, cancellations 57,530, notice 112,200, ferries 4,961): 0 cancelled, 1 cancelled automatically, 0 on slots.\n\n## Programs as issued (FAA Command Center)\nNone.\n\n## Departure caps: JetBlue departures per hour, known 240 min ahead\nBOS: 06h 4 07h 10 08h 10\nJFK: 06h 6 08h 5\n\n## Outstation arrival caps: JetBlue arrivals per hour, known 240 min ahead\nLGA: 07h 1\n\n## Ramp closures (lightning at the field; known once begun)\nNone.\n\n## Latest weather (METAR or SPECI, and TAF)\n[03:54] KBOS 060854Z 20004KT 10SM BKN220 M07/M13 A3036 RMK AO2 SLP279 T10721128 58016 $\n[00:33] TAF KBOS 060533Z 0606/0712 00000KT P6SM SCT250 FM060900 19004KT P6SM BKN200 FM061400 15007KT 1SM -SN OVC015 FM061900 12009KT 1SM -FZRASN OVC008 PROB30 0619/0620 3/4SM -PLSN FM062000 11009KT P6SM OVC003 PROB30 0620/0622 4SM -FZRASN FM070000 29004KT P6SM OVC003 FM070300 24007KT P6SM BKN008 WS020/26035KT FM070900 25010G21KT P6SM BKN060=\n[03:51] KJFK 060851Z 14010KT 7SM -SN FEW015 BKN026 OVC060 01/M03 A3027 RMK AO2 SNB22 SLP251 P0000 60000 T00061028 58031\n[03:30] TAF AMD KJFK 060830Z 0609/0712 13010KT 5SM -SN BR SCT020 BKN040 FM061000 15012KT 2SM -SN BR BKN020 FM061200 12011KT 3SM -SNPL OVC009 PROB30 0612/0614 -FZRA FM061400 12009KT 2SM -RAPL OVC006 FM061500 09006KT 1 1/2SM -RA OVC005 FM061800 VRB05KT 2SM -DZ BR OVC003 FM062200 24007KT 2SM BR BKN004 FM070300 24011KT P6SM BKN025 FM070600 25011KT P6SM SCT050=\n\n## Flights (sched = scheduled dep-arr; delay = known delay, ? not yet; plan = cancel or hold@HH:MM; proj = where your plan has it leave and land on the day as known; late = arrival delay; slot = its GDP slot; crew = crew deadline/rest end, +R on a reserve crew)\nid flight route sched pax type status delay plan proj late tail slot crew\nf0 954 SJU-FLL 05:01-07:55 130 A320 open -6 - 04:55-07:50 -5 N534JB - -\nf1 1434 SJU-MCO 05:01-08:21 145 A320 open -4 - 04:57-08:16 -5 N703JB - -\nf2 1476 SJU-BDL 05:01-09:05 132 A320 open -5 - 04:56-09:19 +14 N559JB - -\nf3 229 BQN-MCO 05:03-08:10 131 A320 open -10 - 04:53-07:59 -11 N715JB - -\nf4 217 BOS-JFK 05:05-06:30 130 A321 open -1 - 05:04-06:11 -19 N995JL - -\nf5 2130 SJU-JFK 05:05-09:15 165 A321 open -9 - 04:56-08:53 -22 N903JB - -\nf6 1233 MCO-SJU 05:35-08:26 140 A320 open -7 - 05:28-08:17 -9 N505JB - -\nf7 207 PQI-BOS 05:45-07:28 56 E190 open -8 - 05:37-07:03 -25 N284JB - -\nf8 92 TPA-BOS 06:00-09:00 129 A320 open -13 - 05:47-08:41 -19 N547JB - -\nf9 133 BOS-SFO 06:00-12:55 138 A321P open -13 - 05:47-13:18 +23 N2142J - -\nf10 141 BUF-JFK 06:00-07:38 105 A320 open -2 - 05:58-08:48 +70 N809JB - -\nf11 322 PBI-BOS 06:00-09:04 132 A320 open -14 - 05:46-08:47 -17 N612JB - -\nf12 386 RDU-JFK 06:00-07:46 98 A220 open -8 - 05:52-07:15 -31 N3215J - -\nf13 472 FLL-LGA 06:00-08:55 127 A320 open -15 - 05:45-09:27 +32 N508JL - -\nf14 577 FLL-SFO 06:00-12:30 127 A321P open -9 - 05:51-12:19 -11 N977JE - -\nf15 601 JFK-FLL 06:00-09:04 127 A320 open 2 - 06:02-09:23 +19 N637JB - -\nf16 865 BUF-FLL 06:00-09:20 128 A220 open -6 - 05:54-10:47 +87 N3255J - -\nf17 959 BDL-FLL 06:00-09:19 137 A320 open 2 - 06:02-09:03 -16 N527JL - -\nf18 1471 LGA-FLL 06:00-09:05 130 A320 open -2 - 05:58-09:23 +18 N588JB - -\nf19 1505 EWR-FLL 06:00-09:04 137 A320 open -6 - 05:54-09:21 +17 N504JB - -\nf20 1529 JFK-RSW 06:00-09:20 129 A320 open 1 - 06:01-09:21 +1 N627JB - -\nf21 1687 PVD-PBI 06:00-09:15 121 A320 open -2 - 05:58-08:51 -24 N516JB - -\nf22 2065 BOS-RSW 06:00-09:43 144 A320 open -4 - 05:56-09:24 -19 N507JT - -\nf23 2202 FLL-JFK 06:00-08:50 152 A321 open -10 - 05:50-08:27 -23 N907JB - -\nf24 2484 RDU-BOS 06:00-08:04 97 A220 open -12 - 05:48-08:12 +8 N3157J - -\nf25 2577 BOS-LAS 06:00-12:04 127 A321P open -6 - 05:54-12:17 +13 N945JT - -\nf26 2596 FLL-PVD 06:00-09:00 118 A320 open -11 - 05:49-08:58 -2 N593JB - -\nf27 2920 ALB-MCO 06:00-09:17 140 A320 open 3 - 06:03-09:07 -10 N585JB - -\nf28 287 BOS-LAX 06:04-12:40 131 A321P open ? - 06:04-12:40 +0 N961JT - -\nf29 1530 RSW-JFK 06:04-08:55 118 A320 open ? - 06:04-08:55 +0 N579JB - -\nf30 185 ROC-JFK 06:05-07:35 95 A220 open ? - 06:05-07:35 +0 N3132J - -\nf31 1379 DCA-FLL 06:05-08:44 116 A320 open ? - 09:44-12:23 +219 N517JB - -\nf32 670 FLL-BOS 06:09-09:20 159 A321 open ? - 06:09-09:20 +0 N913JB - -\nf33 231 BOS-LGA 06:10-07:29 46 E190 open ? - 06:10-07:29 +0 N267JB - -\nf34 1368 PBI-HPN 06:10-09:02 119 A320 open ? - 06:10-09:02 +0 N633JB - -\nf35 737 BDL-MCO 06:15-09:23 164 A321 open ? - 06:15-09:23 +0 N999JQ - -\nf36 952 MCO-BOS 06:15-09:15 111 A220 open ? - 06:15-09:15 +0 N3149J - -\nf37 2466 FLL-BUF 06:15-09:16 128 A320 open ? - 06:15-09:16 +0 N625JB - -\nf38 1184 MCO-JFK 06:20-08:59 121 A320 open ? - 06:20-08:59 +0 N506JB - -\nf39 1604 SJU-JFK 06:20-10:29 165 A321 open ? - 06:20-10:29 +0 N949JT - -\nf40 163 JFK-SRQ 06:30-09:39 93 A220 open ? - 06:30-09:39 +0 N3058J - -\nf41 299 LGA-MCO 06:30-09:25 126 A320 open ? - 06:30-09:25 +0 N618JB - -\nf42 1062 JFK-BUF 06:30-08:00 96 A220 open ? - 06:30-08:00 +0 N3152J - -\nf43 2875 PVD-MCO 06:30-09:43 131 A320 open ? - 06:30-09:43 +0 N584JB - -\nf44 202 MIA-JFK 06:32-09:30 128 A320 open ? - 06:32-09:30 +0 N566JB - -\nf45 2317 BOS-JFK 06:35-07:58 65 E190 open ? - 06:35-07:58 +0 N273JB - -\nf46 106 FLL-EWR 06:40-09:38 129 A320 open ? - 06:40-09:38 +0 N630JB - -\nf47 714 FLL-HPN 06:40-09:38 134 A320 open ? - 06:40-09:38 +0 N638JB - -\nf48 2024 MCO-DCA 06:40-08:59 108 A320 open ? - 06:40-08:59 +0 N517JB - -\nf49 374 SYR-BOS 06:45-08:06 73 A220 open ? - 06:45-08:06 +0 N3118J - -\nf50 583 JFK-MCO 06:45-09:45 125 A320 open ? - 06:45-09:45 +0 N639JB - -\nf51 1320 ATL-JFK 06:45-08:59 107 A220 open ? - 06:45-08:59 +0 N3169J - -\nf52 1678 JAX-JFK 06:55-09:14 110 A220 open ? - 06:55-09:14 +0 N3062J - -\nf53 319 JFK-ATL 06:59-09:38 110 A220 open ? - 06:59-09:38 +0 N3229J - -\nf54 1067 HPN-PBI 06:59-09:59 122 A320 open ? - 06:59-09:59 +0 N536JB - -\nf55 143 EWR-PBI 07:00-10:04 123 A320 open ? - 07:00-10:04 +0 N558JB - -\nf56 226 TPA-JFK 07:00-09:41 112 A220 open ? - 07:00-09:41 +0 N3196J - -\nf57 233 MCO-SJU 07:00-09:50 140 A320 open ? - 07:00-09:50 +0 N526JL - -\nf58 266 RSW-BOS 07:00-10:06 114 A220 open ? - 07:00-10:06 +0 N3123J - -\nf59 289 JFK-SAN 07:00-13:11 122 A321P open ? - 07:00-13:11 +0 N2105J - -\nf60 340 SRQ-BOS 07:00-10:06 118 A220 open ? - 07:00-10:06 +0 N3104J - -\nf61 470 MCO-RIC 07:00-09:00 136 A320 open ? - 07:00-09:00 +0 N529JB - -\nf62 523 JFK-LAX 07:00-13:21 127 A321P open ? - 07:00-13:21 +0 N2151J - -\nf63 701 BOS-MSY 07:00-10:55 106 A220 open ? - 07:00-10:55 +0 N3138J - -\nf64 861 BOS-SJU 07:00-11:00 173 A321 open ? - 07:00-11:00 +0 N996JL - -\nf65 862 SJU-BOS 07:00-11:14 128 A320 open ? - 07:00-11:14 +0 N729JB - -\nf66 1144 MCO-MHT 07:00-09:55 91 A320 open ? - 07:00-09:55 +0 N535JB - -\nf67 1389 EWR-SJU 07:00-10:53 144 A320 open ? - 07:00-10:53 +0 N636JB - -\nf68 1554 DCA-BOS 07:00-08:35 74 E190 open ? - 09:36-11:11 +156 N279JB - -\nf69 2732 LGA-BOS 07:00-08:15 40 E190 open ? - 07:00-08:15 +0 N317JB - -\nf70 2801 FLL-LAX 07:00-12:58 138 A321P open ? - 07:00-12:58 +0 N979JT - -\nf71 2902 FLL-JFK 07:00-09:50 123 A320 open ? - 07:00-09:50 +0 N643JB - -\nf72 2930 SJU-RDU 07:00-10:46 122 A320 open ? - 07:00-10:46 +0 N807JB - -\nf73 769 BOS-FLL 07:04-10:35 136 A320 open ? - 07:04-10:35 +0 N608JB - -\nf74 1586 MCO-BUF 07:05-09:51 148 A321 open ? - 07:05-09:51 +0 N948JB - -\nf75 1689 PVD-TPA 07:05-10:25 127 A320 open ? - 07:05-10:25 +0 N603JB - -\nf76 1087 ALB-FLL 07:10-10:39 144 A320 open ? - 07:10-10:39 +0 N595JB - -\nf77 397 BOS-ATL 07:14-10:20 113 A220 open ? - 07:14-10:20 +0 N3145J - -\nf78 153 FLL-SJU 07:15-09:47 139 A320 open ? - 07:15-09:47 +0 N661JB - -\nf79 1155 BOS-DCA 07:15-09:00 75 E190 open ? - 07:15-09:00 +0 N279JB - -\nf80 2625 RDU-FLL 07:15-09:30 125 A320 open ? - 07:15-09:30 +0 N665JB - -\nf81 251 HPN-RSW 07:19-10:35 130 A320 open ? - 07:19-10:35 +0 N563JB - -\nf82 2321 BOS-PBI 07:20-10:43 141 A320 open ? - 07:20-10:43 +0 N652JB - -\nf83 533 BDL-TPA 07:25-10:44 130 A320 open ? - 07:25-10:44 +0 N624JB - -\nf84 546 MCO-ISP 07:25-10:05 124 A320 open ? - 07:25-10:05 +0 N552JB - -\nf85 1517 BOS-JFK 07:27-08:49 91 A220 open ? - 07:27-08:49 +0 N3185J - -\nf86 35 JFK-PHX 07:30-13:15 129 A321P open ? - 07:30-13:15 +0 N2157J - -\nf87 65 BOS-RSW 07:30-11:10 124 A220 open ? - 07:30-11:10 +0 N3203J - -\nf88 218 JFK-BOS 07:30-08:47 90 A320 open ? - 07:30-08:47 +0 N648JB - -\nf89 461 LGA-PBI 07:30-10:33 139 A320 open ? - 07:30-10:33 +0 N655JB - -\nf90 913 HPN-FLL 07:30-10:35 138 A320 open ? - 07:30-10:35 +0 N649JB - -\nf91 1673 JFK-BNA 07:30-10:20 99 A220 open ? - 07:30-10:20 +0 N3247J - -\nf92 1922 PBI-BOS 07:30-10:34 114 A220 open ? - 07:30-10:34 +0 N3077J - -\nf93 2251 BOS-MCO 07:30-10:52 118 A220 open ? - 07:30-10:52 +0 N3232J - -\nf94 2286 PIT-BOS 07:30-09:13 94 A220 open ? - 07:30-09:13 +0 N3221J - -\nf95 2725 JFK-TPA 07:30-10:39 117 A220 open ? - 07:30-10:39 +0 N3102J - -\nf96 927 EWR-MCO 07:45-10:44 130 A320 open ? - 07:45-10:44 +0 N712JB - -\nf97 2854 DCA-BOS 07:59-09:34 74 E190 open ? - 10:36-12:11 +157 N306JB - -\nf98 1 JFK-FLL 08:00-11:10 156 A321 open ? - 11:29-14:39 +209 N973JT - -\nf99 91 BOS-TPA 08:00-11:33 121 A220 open ? - 08:00-11:33 +0 N3240J - -\nf100 281 JFK-IAH 08:00-12:10 104 A220 open ? - 08:00-12:10 +0 N3242J - -\nf101 312 ORD-BOS 08:00-10:15 77 A220 open ? - 08:00-10:15 +0 N3189J - -\nf102 395 HPN-MCO 08:00-10:55 120 A320 open ? - 08:00-10:55 +0 N658JB - -\nf103 503 JFK-SJU 08:00-11:50 131 A321P open ? - 08:00-11:50 +0 N967JT - -\nf104 703 BDL-RSW 08:00-11:25 128 A320 open ? - 08:00-11:25 +0 N634JB - -\nf105 907 BOS-STT 08:00-12:05 150 A320 open ? - 08:00-12:05 +0 N709JB - -\nf106 1303 BOS-PHX 08:00-13:58 135 A321P open ? - 08:00-13:58 +0 N989JT - -\nf107 1347 DCA-SJU 08:00-11:40 184 A321 open ? - 22:16-01:56+1 +856 N972JT - -\nf108 1515 JFK-SFO 08:00-14:40 127 A321P open ? - 08:00-14:40 +0 N984JB - -\nf109 1519 BOS-MIA 08:00-11:38 88 E190 open ? - 08:00-11:38 +0 N283JB - -\nf110 1707 FLL-LAS 08:00-13:30 133 A321P open ? - 08:15-13:45 +15 N923JB - -\nf111 1783 SYR-MCO 08:00-11:09 136 A320 open ? - 08:00-11:09 +0 N589JB - -\nf112 2627 BOS-HDN 08:00-13:03 125 A320 open ? - 08:00-13:03 +0 N804JB - -\nf113 525 PVD-SJU 08:10-11:57 126 A320 open ? - 08:10-11:57 +0 N794JB - -\nf114 154 SJU-FLL 08:14-11:07 130 A320 open ? - 08:14-11:07 +0 N645JB - -\nf115 387 BOS-LAX 08:15-14:48 131 A321P open ? - 08:15-14:48 +0 N942JB - -\nf116 677 JFK-JAX 08:15-10:57 134 A320 open ? - 08:15-10:57 +0 N779JB - -\nf117 1555 BOS-DCA 08:15-10:00 75 E190 open ? - 08:15-10:00 +0 N306JB - -\nf118 2185 BOS-PIT 08:15-10:15 99 A220 open ? - 08:15-10:15 +0 N3241J - -\nf119 623 JFK-LAX 08:20-14:42 127 A321P open ? - 08:20-14:42 +0 N987JT - -\nf120 656 MCO-JFK 08:20-11:00 121 A320 open ? - 08:20-11:00 +0 N591JB - -\nf121 1141 BDL-PBI 08:25-11:35 125 A320 open ? - 08:25-11:35 +0 N663JB - -\nf122 619 BOS-SAN 08:30-15:00 138 A321P open ? - 08:30-15:00 +0 N968JT - -\nf123 841 JFK-SAV 08:30-11:00 104 A220 open ? - 09:00-11:30 +30 N3215J - -\nf124 967 HPN-PBI 08:30-11:32 122 A320 open ? - 08:30-11:32 +0 N510JB - -\nf125 2285 JFK-RDU 08:32-10:25 98 A220 open ? - 09:34-11:27 +62 N3185J - -\nf126 781 BOS-RIC 08:35-10:30 97 A220 open ? - 08:35-10:30 +0 N3044J - -\nf127 854 PBI-JFK 08:45-11:30 113 A220 open ? - 08:45-11:30 +0 N3194J - -\nf128 252 RSW-HPN 08:50-11:44 116 A320 open ? - 08:50-11:44 +0 N613JB - -\nf129 2063 BOS-EYW 08:50-12:41 130 A220 open ? - 09:00-12:51 +10 N3023J - -\nf130 2431 BOS-LGA 08:50-10:09 46 E190 open ? - 09:00-10:19 +10 N318JB - -\nf131 716 BUF-BOS 08:55-10:25 97 A220 open ? - 08:55-10:25 +0 N3152J - -\nf132 2601 HPN-SJU 08:55-12:41 114 A220 open ? - 08:55-12:41 +0 N3162J - -\nf133 315 SYR-JFK 09:00-10:23 93 A220 open ? - 09:00-10:23 +0 N3195J - -\nf134 367 BOS-CHS 09:00-11:40 81 E190 open ? - 09:00-11:40 +0 N334JB - -\nf135 541 BOS-PHL 09:00-10:34 73 E190 open ? - 09:00-10:34 +0 N281JB - -\nf136 722 PBI-BOS 09:00-12:04 114 A220 open ? - 09:00-12:04 +0 N3244J - -\nf137 1137 BOS-DTW 09:00-11:20 71 E190 open ? - 09:00-11:20 +0 N284JB - -\nf138 1780 FLL-DCA 09:00-11:33 120 A320 open ? - 09:00-11:33 +0 N705JB - -\nf139 2201 JFK-FLL 09:00-12:08 127 A320 open ? - 09:00-12:08 +0 N651JB - -\nf140 352 MCO-BOS 09:05-12:04 129 A320 open ? - 09:05-12:04 +0 N640JB - -\nf141 2028 MCO-EWR 09:10-11:51 132 A320 open ? - 09:10-11:51 +0 N570JB - -\nf142 1455 BOS-DCA 09:15-11:00 75 E190 open ? - 09:15-11:00 +0 N337JB - -\nf143 1333 DCA-PBI 09:19-11:59 124 A320 open ? - 12:18-14:58 +179 N705JB - -\nf144 1802 FLL-JFK 09:20-12:15 123 A320 open ? - 09:20-12:15 +0 N766JB - -\nf145 360 CLE-BOS 09:27-11:15 89 A220 open ? - 09:27-11:15 +0 N3125J - -\nf146 775 JFK-MSY 09:29-13:07 113 A320 open ? - 09:29-13:07 +0 N590JB - -\nf147 118 JFK-BOS 09:30-10:45 55 E190 open ? - 09:30-10:45 +0 N323JB - -\nf148 323 JFK-LAX 09:30-15:50 127 A321P open ? - 09:30-15:50 +0 N2169J - -\nf149 2432 LGA-BOS 09:30-10:45 40 E190 open ? - 09:30-10:45 +0 N267JB - -\nf150 21 BOS-PBI 09:40-13:10 141 A320 open ? - 09:40-13:10 +0 N828JB - -\nf151 857 FLL-PHX 09:40-14:55 138 A321P open ? - 09:40-14:55 +0 N985JT - -\nf152 2462 PBI-LGA 09:40-12:30 136 A320 open ? - 09:40-12:30 +0 N656JB - -\nf153 488 MCO-ORH 09:44-12:34 120 A320 open ? - 09:44-12:34 +0 N629JB - -\nf154 169 RIC-MCO 09:45-12:04 140 A320 open ? - 09:45-12:04 +0 N529JB - -\nf155 1154 DCA-BOS 09:45-11:18 74 E190 open ? - 11:36-13:09 +111 N337JB - -\nf156 2597 PVD-FLL 09:45-13:05 125 A320 open ? - 09:45-13:05 +0 N593JB - -\nf157 2051 BOS-MCO 09:49-13:12 169 A321 open ? - 09:49-13:12 +0 N994JL - -\nf158 507 BOS-BNA 09:50-12:53 123 A220 open ? - 09:50-12:53 +0 N3118J - -\nf159 2293 JFK-MIA 09:50-13:03 135 A320 open ? - 09:50-13:03 +0 N506JB - -\nf160 2475 BDL-SJU 09:50-13:40 140 A320 open ? - 10:00-13:50 +10 N559JB - -\nf161 271 LGA-FLL 09:55-13:05 130 A320 open ? - 09:55-13:05 +0 N789JB - -\nf162 511 JFK-LAS 09:59-15:49 128 A321P open ? - 09:59-15:49 +0 N982JB - -\nf163 1297 JFK-DEN 09:59-14:42 111 A220 open ? - 09:59-14:42 +0 N3169J - -\nf164 1883 BOS-RDU 09:59-12:10 113 A220 open ? - 09:59-12:10 +0 N3157J - -\nf165 2101 JFK-SYR 09:59-11:18 91 A220 open ? - 09:59-11:18 +0 N3062J - -\nf166 148 LAS-JFK 10:00-14:56 126 A321P open ? - 10:00-14:56 +0 N929JB - -\nf167 349 BOS-SAV 10:00-12:45 124 A220 open ? - 10:00-12:45 +0 N3149J - -\nf168 1075 FLL-BQN 10:00-12:25 119 A320 open ? - 10:00-12:25 +0 N805JB - -\nf169 1447 HPN-TPA 10:00-13:05 119 A320 open ? - 10:00-13:05 +0 N633JB - -\nf170 1553 FLL-SJU 10:00-12:34 139 A320 open ? - 10:00-12:34 +0 N821JB - -\nf171 2423 DCA-MCO 10:00-12:33 110 A320 open ? - 15:44-18:17 +344 N652JB - -\nf172 2465 BUF-FLL 10:03-13:15 148 A320 open ? - 10:03-13:15 +0 N625JB - -\nf173 224 LAX-JFK 10:05-15:30 127 A321P open ? - 10:05-15:30 +0 N2180J - -\nf174 317 BOS-JFK 10:05-11:24 130 A321 open ? - 10:05-11:24 +0 N2044J - -\nf175 70 FLL-BOS 10:10-13:24 111 A220 open ? - 11:32-14:46 +82 N3255J - -\nf176 598 MCO-LGA 10:10-12:50 131 A320 open ? - 10:10-12:50 +0 N715JB - -\nf177 1584 MCO-JFK 10:10-12:51 149 A321 open ? - 10:10-12:51 +0 N954JB - -\nf178 544 PBI-ISP 10:13-13:00 130 A320 open ? - 10:13-13:00 +0 N583JB - -\nf179 2876 MCO-PVD 10:15-13:00 123 A320 open ? - 10:15-13:00 +0 N585JB - -\nf180 320 ATL-JFK 10:25-12:42 107 A220 open ? - 10:25-12:42 +0 N3229J - -\nf181 53 JFK-PBI 10:30-13:35 116 A220 open ? - 10:30-13:35 +0 N3196J - -\nf182 115 JFK-SFO 10:30-17:10 127 A321P open ? - 10:30-17:10 +0 N981JT - -\nf183 813 HPN-FLL 10:30-13:39 138 A320 open ? - 10:30-13:39 +0 N638JB - -\nf184 1655 BOS-DCA 10:30-12:15 75 E190 open ? - 10:30-12:15 +0 N317JB - -\nf185 2233 BOS-SFO 10:30-17:19 137 A321P open ? - 10:30-17:19 +0 N935JB - -\nf186 164 SRQ-JFK 10:35-13:27 90 A220 open ? - 10:35-13:27 +0 N3058J - -\nf187 366 RSW-BOS 10:40-13:53 132 A320 open ? - 10:40-13:53 +0 N662JB - -\nf188 1752 SJU-TPA 10:40-13:55 140 A320 open ? - 10:40-13:55 +0 N661JB - -\nf189 2273 EWR-TPA 10:40-13:41 135 A320 open ? - 10:40-13:41 +0 N760JB - -\nf190 94 MCO-HPN 10:45-13:34 125 A320 open ? - 10:45-13:34 +0 N618JB - -\nf191 304 SJU-JFK 10:45-15:00 134 A320 open ? - 10:45-15:00 +0 N526JL - -\nf192 497 BOS-SEA 10:45-17:10 125 A321P open ? - 10:45-17:10 +0 N990JL - -\nf193 654 DCA-BOS 10:45-12:18 74 E190 open ? - 12:51-14:24 +126 N317JB - -\nf194 1349 MHT-RSW 10:46-14:20 143 A320 open ? - 10:46-14:20 +0 N535JB - -\nf195 2834 RSW-ORH 10:50-13:49 121 A320 open ? - 10:50-13:49 +0 N627JB - -\nf196 85 BUF-MCO 10:55-13:49 166 A321 open ? - 10:55-13:49 +0 N948JB - -\nf197 109 BOS-JAX 10:55-13:58 122 A220 open ? - 10:55-13:58 +0 N3104J - -\nf198 369 BOS-FLL 10:55-14:27 168 A321 open ? - 10:55-14:27 +0 N950JT - -\nf199 632 LGA-BOS 10:55-12:08 40 E190 open ? - 10:55-12:08 +0 N318JB - -\nf200 1941 BOS-SRQ 10:55-14:29 126 A220 open ? - 10:55-14:29 +0 N3123J - -\nf201 52 MCO-BOS 11:00-14:05 159 A321 open ? - 11:00-14:05 +0 N957JB - -\nf202 144 PBI-EWR 11:00-14:00 126 A320 open ? - 11:00-14:00 +0 N509JB - -\nf203 201 FLL-LAX 11:00-17:00 178 A321 open ? - 11:00-17:00 +0 N952JB - -\nf204 265 BOS-RSW 11:00-14:37 124 A220 open ? - 11:00-14:37 +0 N3189J - -\nf205 434 SFO-BOS 11:00-16:34 138 A321P open ? - 11:00-16:34 +0 N992JB - -\nf206 547 ISP-MCO 11:00-14:01 145 A320 open ? - 11:00-14:01 +0 N552JB - -\nf207 655 JFK-MCO 11:00-14:00 108 A220 open ? - 11:08-14:08 +8 N3195J - -\nf208 687 BOS-LAX 11:00-17:30 131 A321P open ? - 11:00-17:30 +0 N969JT - -\nf209 816 SFO-JFK 11:00-16:25 126 A321P open ? - 11:00-16:25 +0 N962JT - -\nf210 2010 LAX-PBI 11:00-15:55 119 A321P open ? - 11:00-15:55 +0 N4062J - -\nf211 2186 PIT-BOS 11:00-12:35 94 A220 open ? - 11:00-12:35 +0 N3241J - -\nf212 396 ATL-BOS 11:05-13:42 112 A220 open ? - 11:05-13:42 +0 N3145J - -\nf213 1316 LAX-JFK 11:05-16:29 126 A321P open ? - 11:05-16:29 +0 N4074J - -\nf214 1674 BNA-JFK 11:06-13:24 109 A220 open ? - 11:06-13:24 +0 N3247J - -\nf215 138 MCO-BDL 11:07-13:58 130 A320 open ? - 11:07-13:58 +0 N584JB - -\nf216 540 PHL-BOS 11:10-12:30 61 E190 open ? - 11:10-12:30 +0 N281JB - -\nf217 1690 TPA-PVD 11:10-13:55 114 A320 open ? - 11:10-13:55 +0 N561JB - -\nf218 2786 RDU-JFK 11:12-12:49 98 A220 open ? - 12:12-13:49 +60 N3185J - -\nf219 1288 PBI-PVD 11:14-14:15 122 A320 open ? - 11:14-14:15 +0 N516JB - -\nf220 128 MCO-EWR 11:15-14:02 122 A320 open ? - 11:15-14:02 +0 N524JB - -\nf221 782 RIC-BOS 11:15-12:57 95 A220 open ? - 11:15-12:57 +0 N3044J - -\nf222 126 TPA-JFK 11:25-14:11 112 A220 open ? - 11:25-14:11 +0 N3102J - -\nf223 617 BOS-JFK 11:25-12:45 65 E190 open ? - 11:25-12:45 +0 N267JB - -\nf224 125 JFK-TPA 11:28-14:35 117 A220 open ? - 12:15-15:22 +47 N3194J - -\nf225 1054 PBI-JFK 11:28-14:19 131 A320 open ? - 11:28-14:19 +0 N655JB - -\nf226 223 JFK-LAX 11:29-17:46 127 A321P open ? - 11:29-17:46 +0 N983JT - -\nf227 160 FLL-BDL 11:30-14:32 135 A320 open ? - 11:30-14:32 +0 N608JB - -\nf228 602 FLL-JFK 11:30-14:27 152 A321 open ? - 11:30-14:27 +0 N959JB - -\nf229 914 FLL-HPN 11:30-14:30 134 A320 open ? - 11:30-14:30 +0 N565JB - -\nf230 1812 RSW-EWR 11:30-14:30 138 A320 open ? - 11:30-14:30 +0 N507JT - -\nf231 2929 RDU-SJU 11:38-15:05 135 A320 open ? - 11:38-15:05 +0 N807JB - -\nf232 678 JAX-JFK 11:43-13:57 127 A320 open ? - 11:43-13:57 +0 N779JB - -\nf233 1390 SJU-EWR 11:44-16:04 144 A320 open ? - 11:44-16:04 +0 N636JB - -\nf234 177 BOS-LAS 11:45-17:39 127 A321P open ? - 11:45-17:39 +0 N988JT - -\nf235 321 BOS-PBI 11:45-15:10 122 A220 open ? - 11:45-15:10 +0 N3152J - -\nf236 500 MSY-BOS 11:45-14:57 92 A220 open ? - 11:45-14:57 +0 N3138J - -\nf237 784 MCO-SYR 11:45-14:33 143 A320 open ? - 11:45-14:33 +0 N639JB - -\nf238 1954 DCA-BOS 11:45-13:15 74 E190 open ? - 14:34-16:04 +169 N323JB - -\nf239 578 SFO-FLL 11:50-17:19 138 A321P open ? - 11:50-17:19 +0 N980JT - -\nf240 842 SAV-JFK 11:50-13:50 99 A220 open ? - 12:07-14:07 +17 N3215J - -\nf241 288 LAX-BOS 11:55-17:22 113 A321P open ? - 11:55-17:22 +0 N993JE - -\nf242 803 JFK-SJU 11:55-15:44 134 A320 open ? - 11:55-15:44 +0 N591JB - -\nf243 1700 LAX-FLL 11:55-16:54 138 A321P open ? - 11:55-16:54 +0 N978JB - -\nf244 2020 FLL-ORH 11:57-15:05 126 A320 open ? - 11:57-15:05 +0 N592JB - -\nf245 215 BOS-DFW 12:00-16:33 116 A220 open ? - 12:00-16:33 +0 N3077J - -\nf246 815 JFK-SFO 12:00-18:37 126 A321P open ? - 12:00-18:37 +0 N2188J - -\nf247 1291 BOS-TPA 12:00-15:30 121 A220 open ? - 12:00-15:30 +0 N3125J - -\nf248 2066 RSW-BOS 12:00-15:12 114 A220 open ? - 12:00-15:12 +0 N3203J - -\nf249 2036 DTW-BOS 12:05-13:57 79 E190 open ? - 12:05-13:57 +0 N284JB - -\nf250 1334 SJU-MCO 12:10-15:32 179 A321 open ? - 12:10-15:32 +0 N998JE - -\nf251 2802 SYR-JFK 12:14-13:30 93 A220 open ? - 12:14-13:30 +0 N3062J - -\nf252 704 RSW-BDL 12:15-15:14 121 A320 open ? - 12:15-15:14 +0 N634JB - -\nf253 1755 BOS-DCA 12:15-13:58 75 E190 open ? - 12:15-13:58 +0 N323JB - -\nf254 2784 MCO-JFK 12:15-14:55 105 A220 open ? - 12:15-14:55 +0 N3232J - -\nf255 592 TPA-BOS 12:18-15:23 112 A220 open ? - 12:18-15:23 +0 N3240J - -\nf256 579 DCA-FLL 12:23-15:05 116 A320 open ? - 16:30-19:12 +247 N658JB - -\nf257 368 CHS-BOS 12:25-14:42 77 E190 open ? - 12:25-14:42 +0 N334JB - -\nf258 1220 MIA-BOS 12:25-15:50 81 E190 open ? - 12:25-15:50 +0 N283JB - -\nf259 145 JFK-MSY 12:29-16:05 140 A321 open ? - 13:51-17:27 +82 N954JB - -\nf260 922 PBI-BOS 12:30-15:42 132 A320 open ? - 12:30-15:42 +0 N558JB - -\nf261 2234 PBI-DCA 12:30-14:59 123 A320 open ? - 12:30-14:59 +0 N652JB - -\nf262 1068 PBI-HPN 12:33-15:30 119 A320 open ? - 12:33-15:30 +0 N510JB - -\nf263 1454 SJU-FLL 12:50-15:44 160 A321 open ? - 12:50-15:44 +0 N996JL - -\nf264 1142 PBI-BDL 12:52-15:50 120 A320 open ? - 12:52-15:50 +0 N663JB - -\nf265 2404 SJU-JFK 12:52-16:59 131 A321P open ? - 12:52-16:59 +0 N967JT - -\nf266 631 BOS-LGA 12:55-14:12 46 E190 open ? - 12:55-14:12 +0 N279JB - -\nf267 1439 BOS-AUS 12:55-17:41 146 A320 open ? - 12:55-17:41 +0 N612JB - -\nf268 2873 JFK-CHS 12:55-15:13 99 A220 open ? - 13:27-15:45 +32 N3229J - -\nf269 82 IAH-JFK 12:57-16:29 110 A220 open ? - 12:57-16:29 +0 N3242J - -\nf270 261 BOS-SJU 12:59-16:56 121 A220 open ? - 12:59-16:56 +0 N3244J - -\nf271 451 BOS-MCO 12:59-16:17 137 A320 open ? - 12:59-16:17 +0 N648JB - -\nf272 253 FLL-SJU 13:00-15:34 172 A321 open ? - 13:00-15:34 +0 N972JT - -\nf273 372 FLL-LGA 13:00-15:57 127 A320 open ? - 13:00-15:57 +0 N504JB - -\nf274 667 HPN-PBI 13:00-16:05 122 A320 open ? - 13:00-16:05 +0 N613JB - -\nf275 808 STT-SJU 13:00-13:50 108 A320 open ? - 13:00-13:50 +0 N709JB - -\nf276 2052 MCO-BOS 13:00-16:00 79 E190 open ? - 13:00-16:00 +0 N329JB - -\nf277 2254 DCA-BOS 13:00-14:30 74 E190 open ? - 16:36-18:06 +216 N306JB - -\nf278 484 RDU-BOS 13:05-15:04 97 A220 open ? - 13:05-15:04 +0 N3157J - -\nf279 1919 MCO-ALB 13:05-15:53 134 A320 open ? - 13:05-15:53 +0 N712JB - -\nf280 17 BOS-JFK 13:10-14:28 65 E190 open ? - 13:10-14:28 +0 N324JB - -\nf281 178 LAS-BOS 13:14-18:20 125 A321P open ? - 13:16-18:22 +2 N945JT - -\nf282 1201 JFK-FLL 13:15-16:25 127 A320 open ? - 13:15-16:25 +0 N766JB - -\nf283 1076 BQN-FLL 13:20-16:00 106 A320 open ? - 13:20-16:00 +0 N793JB - -\nf284 2940 SJU-STX 13:24-14:10 98 A320 open ? - 13:24-14:10 +0 N794JB - -\nf285 761 LGA-PBI 13:25-16:29 139 A320 open ? - 13:25-16:29 +0 N656JB - -\nf286 987 ORH-MCO 13:29-16:42 130 A320 open ? - 13:29-16:42 +0 N629JB - -\nf287 715 BOS-BUF 13:30-15:08 98 A220 open ? - 13:30-15:08 +0 N3241J - -\nf288 1036 SJU-STT 13:30-14:11 110 A320 open ? - 13:30-14:11 +0 N821JB - -\nf289 1418 JFK-BOS 13:30-14:45 55 E190 open ? - 13:30-14:45 +0 N273JB - -\nf290 2224 MCO-DCA 13:30-15:45 117 A320 open ? - 13:30-15:45 +0 N658JB - -\nf291 250 SAV-BOS 13:40-16:03 113 A220 open ? - 13:40-16:03 +0 N3149J - -\nf292 1371 LGA-FLL 13:40-16:47 130 A320 open ? - 13:40-16:47 +0 N715JB - -\nf293 2116 SFO-JFK 13:40-19:15 126 A321P open ? - 13:40-19:15 +0 N977JE - -\nf294 2064 EYW-BOS 13:46-17:17 95 A220 open ? - 13:46-17:17 +0 N3023J - -\nf295 1205 JFK-ORD 13:50-16:43 91 A220 open ? - 14:09-17:02 +19 N3247J - -\nf296 1875 PVD-MCO 13:55-17:09 131 A320 open ? - 13:55-17:09 +0 N585JB - -\nf297 2592 MIA-JFK 13:58-16:59 128 A320 open ? - 13:58-16:59 +0 N594JB - -\nf298 83 JFK-MCO 13:59-16:59 155 A321 open ? - 14:55-17:55 +56 N970JB - -\nf299 506 BNA-BOS 13:59-16:29 117 A220 open ? - 13:59-16:29 +0 N3118J - -\nf300 524 LAX-JFK 13:59-19:28 126 A321P open ? - 13:59-19:28 +0 N961JT - -\nf301 723 JFK-LAX 14:00-20:19 127 A321P open ? - 14:00-20:19 +0 N943JT - -\nf302 1534 TPA-BDL 14:00-16:47 124 A320 open ? - 14:00-16:47 +0 N633JB - -\nf303 1811 EWR-RSW 14:00-17:14 139 A320 open ? - 14:00-17:14 +0 N763JB - -\nf304 1853 JFK-PBI 14:00-17:09 116 A220 open ? - 14:12-17:21 +12 N3058J - -\nf305 62 PBI-LGA 14:05-16:59 136 A320 open ? - 14:05-16:59 +0 N828JB - -\nf306 545 ISP-PBI 14:05-17:00 128 A320 open ? - 14:05-17:00 +0 N583JB - -\nf307 721 BOS-PBI 14:05-17:30 122 A220 open ? - 14:05-17:30 +0 N3044J - -\nf308 1734 SFO-BOS 14:05-19:43 138 A321P open ? - 14:28-20:06 +23 N2142J - -\nf309 1902 FLL-JFK 14:05-16:58 123 A320 open ? - 14:05-16:58 +0 N637JB - -\nf310 2270 FLL-BOS 14:05-17:20 129 A320 open ? - 14:05-17:20 +0 N595JB - -\nf311 100 LAX-FLL 14:08-19:10 138 A321P open ? - 14:08-19:10 +0 N979JT - -\nf312 2476 SJU-BDL 14:08-18:18 132 A320 open ? - 14:08-18:18 +0 N505JB - -\nf313 731 BOS-LGA 14:10-15:28 46 E190 open ? - 14:10-15:28 +0 N318JB - -\nf314 1055 BOS-DCA 14:15-16:00 75 E190 open ? - 14:15-16:00 +0 N306JB - -\nf315 2485 JFK-RDU 14:20-16:09 98 A220 open ? - 14:20-16:09 +0 N3062J - -\nf316 290 SAN-JFK 14:21-19:45 126 A321P open ? - 14:21-19:45 +0 N2105J - -\nf317 2628 HDN-BOS 14:22-18:27 117 A320 open ? - 14:22-18:27 +0 N804JB - -\nf318 36 PHX-JFK 14:25-19:05 129 A321P open ? - 14:25-19:05 +0 N2157J - -\nf319 595 HPN-MCO 14:29-17:30 120 A320 open ? - 14:29-17:30 +0 N618JB - -\nf320 454 PBI-JFK 14:30-17:19 113 A220 open ? - 14:30-17:19 +0 N3196J - -\nf321 776 MSY-JFK 14:30-17:30 114 A320 open ? - 14:30-17:30 +0 N590JB - -\nf322 1186 JFK-ROC 14:30-15:57 94 A220 open ? - 14:34-16:01 +4 N3185J - -\nf323 88 FLL-ALB 14:35-17:40 139 A320 open ? - 14:35-17:40 +0 N651JB - -\nf324 2033 BOS-IAH 14:37-19:10 127 A220 open ? - 14:37-19:10 +0 N3142J - -\nf325 519 JFK-ATL 14:40-17:18 110 A220 open ? - 14:52-17:30 +12 N3215J - -\nf326 808 SJU-BOS 14:40-18:59 128 A320 open ? - 14:40-18:59 +0 N559JB - -\nf327 834 SJU-MCO 14:40-18:00 145 A320 open ? - 14:40-18:00 +0 N709JB - -\nf328 1708 LAS-FLL 14:40-19:15 136 A321P open ? - 14:53-19:28 +13 N923JB - -\nf329 2274 TPA-EWR 14:40-17:23 128 A320 open ? - 14:40-17:23 +0 N603JB - -\nf330 2833 ORH-RSW 14:44-18:04 127 A320 open ? - 14:44-18:04 +0 N627JB - -\nf331 127 EWR-MCO 14:50-17:46 120 A320 open ? - 14:50-17:46 +0 N630JB - -\nf332 1751 TPA-SJU 14:50-17:44 136 A320 open ? - 14:50-17:44 +0 N624JB - -\nf333 37 BDL-MCO 14:53-18:00 133 A320 open ? - 14:53-18:00 +0 N584JB - -\nf334 543 EWR-PBI 14:54-17:55 123 A320 open ? - 14:54-17:55 +0 N570JB - -\nf335 832 LGA-BOS 14:55-16:08 40 E190 open ? - 14:55-16:08 +0 N279JB - -\nf336 1410 JAX-BOS 14:55-17:32 115 A220 open ? - 14:55-17:32 +0 N3104J - -\nf337 1891 PVD-RSW 14:55-18:20 125 A320 open ? - 14:55-18:20 +0 N561JB - -\nf338 270 MCO-RIC 14:58-17:05 136 A320 open ? - 14:58-17:05 +0 N589JB - -\nf339 1133 MCO-SJU 14:59-17:56 173 A321 open ? - 14:59-17:56 +0 N994JL - -\nf340 1903 JFK-SJU 14:59-18:49 134 A320 open ? - 14:59-18:49 +0 N779JB - -\nf341 561 BOS-SJU 15:00-18:56 141 A320 open ? - 15:00-18:56 +0 N729JB - -\nf342 767 MCO-PSE 15:00-18:00 131 A320 open ? - 15:00-18:00 +0 N529JB - -\nf343 1993 JFK-MIA 15:00-18:15 135 A320 open ? - 15:04-18:19 +4 N655JB - -\nf344 2454 DCA-BOS 15:00-16:34 74 E190 open ? - 17:36-19:10 +156 N281JB - -\nf345 2941 STX-SJU 15:05-15:57 99 A320 open ? - 15:05-15:57 +0 N794JB - -\nf346 1135 STT-SJU 15:06-15:57 108 A320 open ? - 15:06-15:57 +0 N821JB - -\nf347 753 JFK-PBI 15:09-18:15 134 A320 open ? - 15:45-18:51 +36 N526JL - -\nf348 1694 MCO-HPN 15:09-17:59 108 A220 open ? - 15:09-17:59 +0 N3195J - -\nf349 1191 BOS-TPA 15:10-18:40 172 A321 open ? - 15:10-18:40 +0 N957JB - -\nf350 1287 PVD-PBI 15:10-18:25 131 A320 open ? - 15:10-18:25 +0 N516JB - -\nf351 1302 PHX-BOS 15:10-19:58 121 A321P open ? - 15:10-19:58 +0 N986JB - -\nf352 1880 FLL-DCA 15:10-17:40 120 A320 open ? - 15:10-17:40 +0 N517JB - -\nf353 1955 BOS-DCA 15:15-17:00 75 E190 open ? - 15:15-17:00 +0 N281JB - -\nf354 630 MCO-BQN 15:25-18:14 160 A321 open ? - 15:25-18:14 +0 N948JB - -\nf355 1567 HPN-PBI 15:25-18:30 122 A320 open ? - 15:25-18:30 +0 N565JB - -\nf356 933 BDL-TPA 15:27-18:43 130 A320 open ? - 15:27-18:43 +0 N608JB - -\nf357 883 SYR-MCO 15:29-18:30 136 A320 open ? - 15:29-18:30 +0 N639JB - -\nf358 424 LAX-JFK 15:30-21:00 127 A321P open ? - 15:30-21:00 +0 N2151J - -\nf359 683 BOS-RDU 15:30-17:43 81 E190 open ? - 15:30-17:43 +0 N337JB - -\nf360 1350 RSW-MHT 15:30-18:42 124 A320 open ? - 15:30-18:42 +0 N535JB - -\nf361 1252 RSW-HPN 15:34-18:34 101 A220 open ? - 15:34-18:34 +0 N3189J - -\nf362 1940 SRQ-BOS 15:40-18:51 118 A220 open ? - 15:40-18:51 +0 N3123J - -\nf363 1298 DEN-JFK 15:43-19:25 108 A220 open ? - 15:43-19:25 +0 N3156J - -\nf364 19 BOS-SAN 15:45-22:18 138 A321P open ? - 15:45-22:18 +0 N964JT - -\nf365 2826 TPA-JFK 15:45-18:30 112 A220 open ? - 16:07-18:52 +22 N3194J - -\nf366 392 JFK-BUF 15:50-17:22 112 A320 open ? - 17:43-19:15 +113 N637JB - -\nf367 1483 JFK-MCO 15:50-18:52 108 A220 open ? - 15:50-18:52 +0 N3102J - -\nf368 311 BOS-ORD 15:52-18:55 103 A220 open ? - 15:52-18:55 +0 N3145J - -\nf369 1196 FLL-PVD 15:55-18:52 118 A320 open ? - 15:55-18:52 +0 N531JL - -\nf370 1216 SFO-JFK 15:55-21:29 127 A321P open ? - 15:55-21:29 +0 N984JB - -\nf371 1501 JFK-FLL 15:55-19:07 156 A321 open ? - 18:30-21:42 +155 N959JB - -\nf372 1618 JFK-BOS 15:55-17:12 78 A220 open ? - 15:55-17:12 +0 N3232J - -\nf373 388 LAX-BOS 15:58-21:23 130 A321P open ? - 15:58-21:23 +0 N987JT - -\nf374 499 LGA-MCO 15:59-19:00 126 A320 open ? - 15:59-19:00 +0 N508JL - -\nf375 838 JFK-BQN 15:59-19:49 124 A320 open ? - 17:44-21:34 +105 N594JB - -\nf376 1097 BOS-ATL 16:00-19:07 81 E190 open ? - 16:00-19:07 +0 N284JB - -\nf377 1269 BOS-FLL 16:00-19:32 117 A220 open ? - 16:00-19:32 +0 N3255J - -\nf378 1579 DCA-FLL 16:00-18:43 116 A320 open ? - 18:25-21:08 +145 N517JB - -\nf379 2119 ORH-FLL 16:00-19:21 128 A320 open ? - 16:00-19:21 +0 N592JB - -\nf380 2619 BOS-MIA 16:00-19:35 123 A220 open ? - 16:00-19:35 +0 N3138J - -\nf381 391 BUF-JFK 16:03-17:30 91 A220 open ? - 16:03-17:30 +0 N3241J - -\nf382 1103 BDL-RSW 16:11-19:35 128 A320 open ? - 16:11-19:35 +0 N634JB - -\nf383 620 SAN-BOS 16:15-21:40 135 A321P open ? - 16:15-21:40 +0 N968JT - -\nf384 858 PHX-FLL 16:15-20:26 138 A321P open ? - 16:15-20:26 +0 N989JT - -\nf385 1355 BOS-DCA 16:15-18:00 75 E190 open ? - 16:15-18:00 +0 N317JB - -\nf386 2365 BOS-RSW 16:18-19:58 124 A220 open ? - 16:18-19:58 +0 N3157J - -\nf387 22 PBI-BOS 16:20-19:30 114 A220 open ? - 16:20-19:30 +0 N3152J - -\nf388 381 BOS-RIC 16:25-18:20 69 E190 open ? - 16:25-18:20 +0 N334JB - -\nf389 613 HPN-FLL 16:25-19:34 138 A320 open ? - 16:25-19:34 +0 N510JB - -\nf390 2874 CHS-JFK 16:29-18:30 102 A220 open ? - 16:30-18:31 +1 N3229J - -\nf391 692 TPA-BOS 16:30-19:35 112 A220 open ? - 16:30-19:35 +0 N3125J - -\nf392 724 LAX-JFK 16:30-21:59 127 A321P open ? - 16:30-21:59 +0 N942JB - -\nf393 1189 JFK-SAN 16:30-22:44 122 A321P open ? - 16:30-22:44 +0 N2165J - -\nf394 117 BOS-JFK 16:40-18:02 91 A220 open ? - 16:40-18:02 +0 N3203J - -\nf395 221 BOS-PBI 16:40-20:02 141 A320 open ? - 16:40-20:02 +0 N640JB - -\nf396 2023 DCA-MCO 16:40-19:13 119 A320 open ? - 20:35-23:08 +235 N536JB - -\nf397 2134 SJU-MCO 16:40-20:04 145 A320 open ? - 16:40-20:04 +0 N807JB - -\nf398 353 FLL-SJU 16:45-19:18 139 A320 open ? - 16:45-19:18 +0 N789JB - -\nf399 1038 MCO-BDL 16:45-19:33 161 A321 open ? - 16:45-19:33 +0 N998JE - -\nf400 1241 BDL-PBI 16:45-20:00 125 A320 open ? - 16:45-20:00 +0 N663JB - -\nf401 1754 SJU-FLL 16:45-19:44 130 A320 open ? - 16:45-19:44 +0 N568JB - -\nf402 2715 JFK-LAX 16:45-23:08 127 A321P open ? - 16:45-23:08 +0 N2193J - -\nf403 770 FLL-BOS 16:50-20:05 159 A321 open ? - 16:50-20:05 +0 N950JT - -\nf404 1920 ALB-MCO 16:50-20:00 140 A320 open ? - 16:50-20:00 +0 N712JB - -\nf405 1285 ROC-JFK 16:52-18:20 95 A220 open ? - 16:52-18:20 +0 N3185J - -\nf406 371 LGA-FLL 16:55-20:08 130 A320 open ? - 16:55-20:08 +0 N504JB - -\nf407 405 EWR-FLL 16:55-20:04 137 A320 open ? - 16:55-20:04 +0 N523JB - -\nf408 606 FLL-EWR 16:55-20:00 129 A320 open ? - 16:55-20:00 +0 N625JB - -\nf409 2390 SJU-EWR 16:55-21:16 144 A320 open ? - 16:55-21:16 +0 N591JB - -\nf410 615 JFK-SFO 16:59-23:38 126 A321P open ? - 16:59-23:38 +0 N929JB - -\nf411 494 MCO-EWR 17:00-19:51 122 A320 open ? - 17:00-19:51 +0 N552JB - -\nf412 651 BOS-MCO 17:00-20:25 118 A220 open ? - 17:00-20:25 +0 N3240J - -\nf413 1254 DCA-BOS 17:00-18:30 74 E190 open ? - 18:36-20:06 +96 N317JB - -\nf414 303 BOS-PHX 17:05-23:04 135 A321P open ? - 17:05-23:04 +0 N991JT - -\nf415 968 PBI-HPN 17:05-20:00 119 A320 open ? - 17:05-20:00 +0 N705JB - -\nf416 2009 PBI-LAX 17:05-23:04 115 A321P open ? - 17:05-23:04 +0 N4062J - -\nf417 2486 RDU-JFK 17:05-18:47 98 A220 open ? - 17:05-18:47 +0 N3062J - -\nf418 1348 SJU-DCA 17:10-21:16 172 A321 open ? - 17:10-21:16 +0 N972JT - -\nf419 348 LAS-JFK 17:15-22:13 126 A321P open ? - 17:15-22:13 +0 N982JB - -\nf420 652 MCO-BOS 17:15-20:21 129 A320 open ? - 17:15-20:21 +0 N834JB - -\nf421 904 SJU-JFK 17:15-21:30 134 A320 open ? - 17:15-21:30 +0 N794JB - -\nf422 1098 MCO-LGA 17:15-20:05 131 A320 open ? - 17:15-20:05 +0 N648JB - -\nf423 2255 BOS-DCA 17:15-18:59 75 E190 open ? - 17:15-18:59 +0 N273JB - -\nf424 2124 LAX-JFK 17:20-22:48 127 A321P open ? - 17:20-22:48 +0 N2169J - -\nf425 415 BOS-BUF 17:24-19:04 98 A220 open ? - 17:24-19:04 +0 N3149J - -\nf426 2334 PBI-DCA 17:24-19:50 123 A320 open ? - 17:24-19:50 +0 N536JB - -\nf427 102 JFK-BUF 17:25-18:57 96 A220 open ? - 17:25-18:57 +0 N3242J - -\nf428 759 BOS-PHL 17:27-19:07 73 E190 open ? - 17:27-19:07 +0 N283JB - -\nf429 931 BOS-LGA 17:30-18:51 46 E190 open ? - 17:30-18:51 +0 N329JB - -\nf430 1032 LGA-BOS 17:30-18:47 40 E190 open ? - 17:30-18:47 +0 N318JB - -\nf431 2618 FLL-JAX 17:30-18:50 114 A320 open ? - 17:30-18:50 +0 N588JB - -\nf432 711 JFK-LAS 17:35-23:25 128 A321P open ? - 17:35-23:25 +0 N2180J - -\nf433 272 FLL-LGA 17:39-20:39 127 A320 open ? - 17:39-20:39 +0 N644JB - -\nf434 1214 DFW-BOS 17:40-21:18 110 A220 open ? - 17:40-21:18 +0 N3077J - -\nf435 1527 EWR-MCO 17:40-20:42 130 A320 open ? - 17:40-20:42 +0 N509JB - -\nf436 2324 MCO-DCA 17:40-19:58 108 A320 open ? - 17:40-19:58 +0 N703JB - -\nf437 2825 JFK-TPA 17:45-20:54 117 A220 open ? - 18:04-21:13 +19 N3196J - -\nf438 1729 JFK-RSW 17:50-21:10 129 A320 open ? - 18:15-21:35 +25 N590JB - -\nf439 333 BOS-SFO 17:55-00:43+1 137 A321P open ? - 17:55-00:43+1 +0 N992JB - -\nf440 1044 PBI-EWR 17:55-20:53 126 A320 open ? - 17:55-20:53 +0 N613JB - -\nf441 814 FLL-HPN 17:59-21:00 134 A320 open ? - 17:59-21:00 +0 N793JB - -\nf442 150 MSY-JFK 18:00-21:00 141 A321 open ? - 18:13-21:13 +13 N954JB - -\nf443 365 BOS-RSW 18:00-21:43 144 A320 open ? - 18:00-21:43 +0 N662JB - -\nf444 969 RIC-MCO 18:00-20:16 140 A320 open ? - 18:00-20:16 +0 N589JB - -\nf445 1354 DCA-BOS 18:00-19:33 74 E190 open ? - 19:35-21:08 +95 N273JB - -\nf446 101 FLL-LAX 18:04-00:00+1 138 A321P open ? - 18:04-00:00+1 +0 N978JB - -\nf447 1876 MCO-PVD 18:04-20:54 123 A320 open ? - 18:04-20:54 +0 N629JB - -\nf448 54 PBI-JFK 18:05-21:00 113 A220 open ? - 18:06-21:01 +1 N3058J - -\nf449 259 BDL-FLL 18:05-21:20 137 A320 open ? - 18:05-21:20 +0 N633JB - -\nf450 1206 ORD-JFK 18:05-20:30 82 A220 open ? - 18:05-20:30 +0 N3247J - -\nf451 641 BOS-CLE 18:07-20:22 87 A220 open ? - 18:07-20:22 +0 N3118J - -\nf452 66 RSW-BOS 18:10-21:19 132 A320 open ? - 18:10-21:19 +0 N563JB - -\nf453 700 LAX-FLL 18:10-23:05 178 A321 open ? - 18:10-23:05 +0 N952JB - -\nf454 817 BOS-JFK 18:15-19:42 65 E190 open ? - 18:15-19:42 +0 N323JB - -\nf455 2516 JFK-SYR 18:15-19:37 91 A220 open ? - 18:15-19:37 +0 N3241J - -\nf456 2586 MCO-BUF 18:15-21:00 120 A320 open ? - 18:15-21:00 +0 N585JB - -\nf457 498 SEA-BOS 18:20-23:30 108 A321P open ? - 18:20-23:30 +0 N990JL - -\nf458 616 SFO-JFK 18:20-23:48 127 A321P open ? - 18:20-23:48 +0 N981JT - -\nf459 2102 FLL-JFK 18:20-21:20 123 A320 open ? - 18:20-21:20 +0 N638JB - -\nf460 2085 BUF-MCO 18:25-21:18 134 A320 open ? - 20:00-22:53 +95 N637JB - -\nf461 2884 MCO-JFK 18:26-21:14 121 A320 open ? - 18:26-21:14 +0 N597JB - -\nf462 1784 MCO-SYR 18:29-21:22 143 A320 open ? - 18:29-21:22 +0 N618JB - -\nf463 71 JFK-SLC 18:30-23:55 155 A321 open ? - 19:45-01:10+1 +75 N956JT - -\nf464 283 JFK-MCO 18:30-21:33 125 A320 open ? - 19:45-22:48 +75 N579JB - -\nf465 341 BOS-SRQ 18:30-22:09 126 A220 open ? - 18:30-22:09 +0 N3232J - -\nf466 735 JFK-PHX 18:30-00:13+1 129 A321P open ? - 18:30-00:13+1 +0 N962JT - -\nf467 823 JFK-LAX 18:30-00:49+1 126 A321P open ? - 18:30-00:49+1 +0 N967JT - -\nf468 1677 JFK-JAX 18:30-21:11 116 A220 open ? - 18:47-21:28 +17 N3203J - -\nf469 87 ALB-FLL 18:35-21:50 144 A320 open ? - 18:35-21:50 +0 N651JB - -\nf470 234 SJU-MCO 18:35-21:54 145 A320 open ? - 18:35-21:54 +0 N821JB - -\nf471 1733 DCA-PBI 18:35-21:14 124 A320 open ? - 20:43-23:22 +128 N703JB - -\nf472 438 MCO-BDL 18:40-21:30 161 A321 open ? - 18:55-21:45 +15 N970JB - -\nf473 520 ATL-JFK 18:40-21:02 107 A220 open ? - 18:40-21:02 +0 N3215J - -\nf474 591 BOS-TPA 18:40-22:16 139 A320 open ? - 18:40-22:16 +0 N558JB - -\nf475 684 RDU-BOS 18:40-20:42 70 E190 open ? - 18:40-20:42 +0 N337JB - -\nf476 688 LAX-BOS 18:45-00:10+1 130 A321P open ? - 18:45-00:10+1 +0 N969JT - -\nf477 1238 AUS-BOS 18:45-22:39 137 A320 open ? - 18:45-22:39 +0 N612JB - -\nf478 2389 EWR-SJU 18:45-22:44 144 A320 open ? - 18:45-22:44 +0 N524JB - -\nf479 526 SJU-PVD 18:50-22:56 118 A320 open ? - 18:50-22:56 +0 N624JB - -\nf480 1688 PBI-PVD 18:50-21:46 113 A320 open ? - 18:50-21:46 +0 N570JB - -\nf481 2178 LAS-BOS 18:50-23:50 125 A321P open ? - 18:50-23:50 +0 N988JT - -\nf482 2602 SJU-HPN 18:50-23:02 100 A220 open ? - 18:50-23:02 +0 N3244J - -\nf483 187 BOS-LAX 18:55-01:31+1 114 A321P open ? - 18:55-01:31+1 +0 N4064J - -\nf484 1294 MCO-HPN 18:55-21:44 125 A320 open ? - 18:55-21:44 +0 N630JB - -\nf485 2385 BOS-PIT 18:55-20:54 99 A220 open ? - 18:55-20:54 +0 N3023J - -\nf486 562 SJU-BOS 18:59-23:15 111 A220 open ? - 18:59-23:15 +0 N3162J - -\nf487 833 MCO-SJU 18:59-21:51 140 A320 open ? - 18:59-21:51 +0 N584JB - -\nf488 2354 DCA-BOS 18:59-20:30 74 E190 open ? - 21:35-23:06 +156 N279JB - -\nf489 97 JFK-DEN 19:00-23:38 111 A220 open ? - 19:05-23:43 +5 N3185J - -\nf490 983 BOS-RDU 19:10-21:25 113 A220 open ? - 19:10-21:25 +0 N3104J - -\nf491 1962 PBI-LGA 19:10-21:59 136 A320 open ? - 19:10-21:59 +0 N656JB - -\nf492 1475 BDL-SJU 19:13-22:59 140 A320 open ? - 19:13-22:59 +0 N505JB - -\nf493 382 RIC-BOS 19:15-20:52 68 E190 open ? - 19:15-20:52 +0 N334JB - -\nf494 1892 RSW-PVD 19:15-22:08 105 A320 open ? - 19:15-22:08 +0 N763JB - -\nf495 2292 MIA-JFK 19:15-22:27 128 A320 open ? - 19:15-22:27 +0 N506JB - -\nf496 2355 BOS-DCA 19:15-20:59 75 E190 open ? - 19:15-20:59 +0 N279JB - -\nf497 1451 BOS-MCO 19:20-22:42 169 A321 open ? - 19:20-22:42 +0 N913JB - -\nf498 668 PBI-HPN 19:22-22:12 119 A320 open ? - 19:22-22:12 +0 N583JB - -\nf499 629 BQN-MCO 19:25-22:30 162 A321 open ? - 19:25-22:30 +0 N948JB - -\nf500 998 MCO-LGA 19:25-22:08 131 A320 open ? - 19:25-22:08 +0 N709JB - -\nf501 1251 HPN-RSW 19:29-22:40 112 A220 open ? - 19:29-22:40 +0 N3195J - -\nf502 195 HPN-MCO 19:30-22:21 104 A220 open ? - 19:30-22:21 +0 N3189J - -\nf503 572 FLL-LGA 19:30-22:30 127 A320 open ? - 19:30-22:30 +0 N766JB - -\nf504 934 TPA-BDL 19:30-22:21 124 A320 open ? - 19:30-22:21 +0 N760JB - -\nf505 1761 LGA-PBI 19:30-22:34 139 A320 open ? - 19:30-22:34 +0 N828JB - -\nf506 1801 JFK-FLL 19:30-22:42 156 A321 open ? - 20:50-00:02+1 +80 N907JB - -\nf507 2330 RSW-JFK 19:30-22:21 118 A320 open ? - 19:30-22:21 +0 N627JB - -\nf508 777 BOS-LAS 19:31-01:33+1 127 A321P open ? - 19:31-01:33+1 +0 N993JE - -\nf509 1088 FLL-ALB 19:35-22:40 139 A320 open ? - 19:35-22:40 +0 N649JB - -\nf510 1431 BOS-LGA 19:40-21:00 46 E190 open ? - 19:40-21:00 +0 N306JB - -\nf511 548 TPA-HPN 19:45-22:30 108 A320 open ? - 19:45-22:30 +0 N661JB - -\nf512 1017 JAX-FLL 19:45-21:05 94 A320 open ? - 19:45-21:05 +0 N588JB - -\nf513 1143 MHT-MCO 19:45-23:11 109 A320 open ? - 19:45-23:11 +0 N535JB - -\nf514 2322 PBI-BOS 19:45-22:51 132 A320 open ? - 19:45-22:51 +0 N516JB - -\nf515 460 FLL-BDL 19:50-22:49 135 A320 open ? - 19:50-22:49 +0 N715JB - -\nf516 605 EWR-FLL 19:50-22:58 137 A320 open ? - 19:50-22:58 +0 N507JT - -\nf517 1197 PVD-FLL 19:50-23:08 125 A320 open ? - 19:50-23:08 +0 N531JL - -\nf518 760 PHL-BOS 19:53-21:14 61 E190 open ? - 19:53-21:14 +0 N283JB - -\nf519 1192 TPA-BOS 19:54-22:59 160 A321 open ? - 19:54-22:59 +0 N957JB - -\nf520 599 BOS-FLL 19:55-23:24 168 A321 open ? - 19:55-23:24 +0 N997JL - -\nf521 896 ATL-BOS 19:55-22:35 80 E190 open ? - 19:55-22:35 +0 N284JB - -\nf522 2001 BUF-JFK 19:55-21:28 91 A220 open ? - 19:55-21:28 +0 N3242J - -\nf523 2752 SJU-TPA 19:55-23:12 140 A320 open ? - 19:55-23:12 +0 N779JB - -\nf524 216 BUF-BOS 19:59-21:25 97 A220 open ? - 19:59-21:25 +0 N3149J - -\nf525 1053 JFK-PBI 20:00-23:06 116 A220 open ? - 20:00-23:06 +0 N3229J - -\nf526 932 IAH-BOS 20:05-23:44 120 A220 open ? - 20:05-23:44 +0 N3142J - -\nf527 430 MCO-BQN 20:10-22:55 130 A320 open ? - 20:10-22:55 +0 N652JB - -\nf528 393 BOS-DEN 20:15-00:59+1 132 A320 open ? - 20:15-00:59+1 +0 N595JB - -\nf529 607 FLL-LAS 20:15-01:45+1 133 A321P open ? - 20:15-01:45+1 +0 N980JT - -\nf530 1502 FLL-JFK 20:20-23:19 152 A321 open ? - 20:20-23:19 +0 N973JT - -\nf531 2501 FLL-LAX 20:20-02:20+1 138 A321P open ? - 20:20-02:20+1 +0 N979JT - -\nf532 277 FLL-SFO 20:25-02:58+1 127 A321P open ? - 20:38-03:11+1 +13 N923JB - -\nf533 866 FLL-BUF 20:25-23:27 111 A220 open ? - 20:25-23:27 +0 N3255J - -\nf534 2626 FLL-RDU 20:25-22:35 132 A320 open ? - 20:25-22:35 +0 N665JB - -\nf535 2080 FLL-DCA 20:29-22:59 120 A320 open ? - 20:29-22:59 +0 N527JL - -\nf536 918 JFK-BOS 20:30-21:54 55 E190 open ? - 20:30-21:54 +0 N267JB - -\nf537 1132 LGA-BOS 20:30-21:48 40 E190 open ? - 20:30-21:48 +0 N329JB - -\nf538 1185 JFK-RDU 20:30-22:25 98 A220 open ? - 20:30-22:25 +0 N3062J - -\nf539 2004 RSW-BDL 20:30-23:27 121 A320 open ? - 20:30-23:27 +0 N561JB - -\nf540 2193 JFK-MIA 20:30-23:48 135 A320 open ? - 21:59-01:17+1 +89 N597JB - -\nf541 2615 JFK-SFO 20:30-03:14+1 126 A321P open ? - 20:30-03:14+1 +0 N2157J - -\nf542 2620 MIA-BOS 20:30-23:55 114 A220 open ? - 20:30-23:55 +0 N3138J - -\nf543 351 BOS-MCO 20:40-23:58 137 A320 open ? - 20:40-23:58 +0 N804JB - -\nf544 921 BOS-PBI 20:40-23:59 122 A220 open ? - 20:40-23:59 +0 N3123J - -\nf545 1152 MCO-BOS 20:44-23:44 159 A321 open ? - 20:44-23:44 +0 N999JQ - -\nf546 206 BOS-PQI 20:45-22:12 53 E190 open ? - 20:45-22:12 +0 N318JB - -\nf547 403 JFK-SJU 20:45-00:42+1 165 A321 open ? - 21:59-01:56+1 +74 N2047J - -\nf548 839 BQN-JFK 20:45-00:46+1 122 A320 open ? - 20:45-00:46+1 +0 N805JB - -\nf549 1979 DCA-FLL 20:45-23:24 116 A320 open ? - 23:44-02:23+1 +179 N527JL - -\nf550 1827 EWR-MCO 20:46-23:40 120 A320 open ? - 20:46-23:40 +0 N641JB - -\nf551 1037 BDL-MCO 20:48-23:57 164 A321 open ? - 20:48-23:57 +0 N998JE - -\nf552 2919 MCO-ALB 20:50-23:40 134 A320 open ? - 20:50-23:40 +0 N639JB - -\nf553 2366 RSW-BOS 20:53-23:59 114 A220 open ? - 20:53-23:59 +0 N3157J - -\nf554 828 MCO-EWR 20:55-23:37 132 A320 open ? - 20:55-23:37 +0 N712JB - -\nf555 1242 PBI-BDL 20:55-23:50 120 A320 open ? - 20:55-23:50 +0 N663JB - -\nf556 1267 HPN-PBI 20:55-23:47 122 A320 open ? - 20:55-23:47 +0 N705JB - -\nf557 2523 DCA-MCO 20:55-23:26 110 A320 auto-cancel ? - - - - - -\nf558 111 JFK-LAS 20:59-03:04+1 128 A321P open ? - 20:59-03:04+1 +0 N977JE - -\nf559 706 FLL-EWR 20:59-23:57 129 A320 open ? - 20:59-23:57 +0 N534JB - -\nf560 1146 FLL-RIC 20:59-23:15 110 A320 open ? - 20:59-23:15 +0 N658JB - -\nf561 1468 PBI-HPN 20:59-23:50 119 A320 open ? - 20:59-23:50 +0 N640JB - -\nf562 1199 LGA-MCO 21:29-00:26+1 126 A320 open ? - 21:29-00:26+1 +0 N648JB - -\nf563 1319 JFK-ATL 21:30-00:10+1 110 A220 open ? - 21:30-00:10+1 +0 N3194J - -\nf564 2623 JFK-LAX 21:30-03:55+1 126 A321P open ? - 21:30-03:55+1 +0 N961JT - -\nf565 1033 MCO-SJU 21:45-00:34+1 140 A320 open ? - 21:45-00:34+1 +0 N508JL - -\nf566 2839 JFK-BQN 21:50-01:42+1 154 A321 open ? - 22:13-02:05+1 +23 N954JB - -\nf567 486 JFK-ROC 21:55-23:26 94 A220 open ? - 21:55-23:26 +0 N3215J - -\nf568 845 BOS-SYR 22:30-23:52 76 A220 open ? - 22:30-23:52 +0 N3152J - -\nf569 1518 JFK-BOS 22:59-00:18+1 90 A320 open ? - 22:59-00:18+1 +0 N638JB - -\nf570 1803 JFK-SJU 22:59-02:50+1 165 A321 open ? - 00:19+1-04:10+1 +80 N973JT - -\nf571 2120 SAN-BOS 23:30-04:43+1 135 A321P open ? - 23:30-04:43+1 +0 N964JT - -\nf572 1190 SAN-JFK 00:00+1-05:08+1 126 A321P open ? - 00:00+1-05:08+1 +0 N2165J - -\nf573 736 PHX-JFK 00:25+1-05:04+1 129 A321P open ? - 00:25+1-05:04+1 +0 N991JT - -\nf574 948 LAS-JFK 00:35+1-05:25+1 126 A321P open ? - 00:35+1-05:25+1 +0 N2180J - -\nf575 98 DEN-JFK 00:39+1-04:21+1 108 A220 open ? - 00:39+1-04:21+1 +0 N3169J - -\nf576 378 SFO-FLL 00:44+1-06:03+1 138 A321P open ? - 00:44+1-06:03+1 +0 N935JB - -\nf577 72 SLC-JFK 00:59+1-05:19+1 116 A320 open ? - 00:59+1-05:19+1 +0 N554JB - -\nf578 988 LAX-BOS 01:10+1-06:32+1 130 A321P open ? - 01:10+1-06:32+1 +0 N983JT - -\nf579 1524 LAX-JFK 01:10+1-06:30+1 127 A321P open ? - 01:10+1-06:30+1 +0 N4062J - -\nf580 2416 SFO-JFK 01:35+1-07:03+1 126 A321P open ? - 01:35+1-07:03+1 +0 N2188J - -\nf581 394 DEN-BOS 01:55+1-05:35+1 114 A320 open ? - 01:55+1-05:35+1 +0 N595JB - -\nf582 502 PHX-BOS 01:55+1-06:40+1 121 A321P open ? - 01:55+1-06:40+1 +0 N985JT - -\nf583 734 SFO-BOS 02:10+1-07:47+1 138 A321P open ? - 02:10+1-07:47+1 +0 N992JB - -\nf584 2924 LAX-JFK 02:40+1-08:05+1 127 A321P open ? - 02:40+1-08:05+1 +0 N2193J - -\nf585 778 LAS-BOS 02:43+1-07:42+1 125 A321P open ? - 02:43+1-07:42+1 +0 N993JE - -\nf586 608 LAS-FLL 02:55+1-07:30+1 136 A321P open ? - 02:55+1-07:30+1 +0 N980JT - -\nf587 200 LAX-FLL 02:59+1-07:50+1 138 A321P open ? - 02:59+1-07:50+1 +0 N978JB - -\n\n## Aircraft now, as your plan has them (@ = ready at)\nBOS: N2044J@04:20 N2142J N267JB N273JB N279JB N281JB@05:59 N283JB N3023J@07:30 N3044J@06:42 N306JB N3138J N3142J@13:52 N3145J N3185J N318JB N3203J N3232J N3240J N3241J N324JB@12:19 N334JB N337JB@08:24 N4064J@17:45 N507JT N608JB N652JB N709JB N804JB N828JB N935JB@05:46 N942JB N945JT N950JT@09:05 N958JB@18:00+1 N961JT N964JT@14:35 N968JT N969JT@08:31 N988JT@08:36 N989JT N990JL@07:09 N991JT@15:55 N994JL N995JL N996JL N997JL@18:55\nJFK: N2047J@21:59 N2105J N2151J N2157J N2165J@08:40 N2169J N2188J@06:47 N2193J@12:50 N3058J N3102J@06:45 N3152J N3229J N323JB N3242J@06:45 N3247J@05:45 N590JB@08:15 N627JB N637JB N639JB N648JB N651JB@06:45 N746JB@22:14 N779JB@06:00 N943JT@07:37 N956JT@19:45 N967JT N970JB@14:55 N973JT@11:29 N981JT@05:40 N982JB@05:37 N983JT@05:50 N984JB N987JT\nALB: N585JB N595JB\nATL: N3169J\nBDL: N527JL N624JB N634JB N663JB N999JQ\nBQN: N715JB N793JB\nBUF: N3255J N809JB\nCLE: N3125J\nDEN: N3156J\nEWR: N504JB N523JB@14:05 N558JB N636JB N641JB@16:10 N712JB N760JB N763JB\nFLL: N508JL N531JL@13:50 N565JB@05:15 N592JB@08:35 N593JB N625JB N630JB N638JB N643JB N644JB@16:00 N661JB N705JB N766JB N805JB N821JB N907JB N913JB N923JB@08:15 N952JB N959JB N972JT@10:00 N977JE N979JT N985JT@08:41\nHPN: N3162J N510JB N536JB N563JB N649JB N658JB\nJAX: N3062J\nLAS: N929JB@04:16\nLAX: N2180J N4062J N4074J N978JB@05:46 N993JE\nLGA: N317JB N588JB N618JB N655JB N789JB\nMCO: N3149J N329JB N505JB N506JB N517JB N524JB@10:30 N526JL N529JB N535JB N552JB N570JB@05:35 N591JB N597JB@17:41 N629JB@06:15 N640JB N834JB@16:30 N948JB N954JB N957JB\nMIA: N566JB N594JB\nORD: N3189J\nPBI: N3077J N3194J N3244J N509JB@08:55 N583JB N612JB N633JB N656JB\nPHX: N986JB@15:05\nPIT: N3221J\nPQI: N284JB\nPVD: N516JB N584JB N603JB N794JB\nRDU: N3157J N3215J N665JB\nROC: N3132J\nRSW: N3123J N579JB N613JB N662JB\nSFO: N962JT@04:38 N980JT@04:38 N992JB\nSJU: N534JB N559JB N568JB@15:55 N645JB N703JB N729JB N807JB N903JB N949JT N998JE\nSLC: N554JB\nSRQ: N3104J\nSYR: N3118J N3195J N589JB\nTPA: N3196J N547JB N561JB\nairborne: none\n\n## News so far\n[00:24] TAF KJFK 060524Z 0606/0712 11005KT P6SM OVC100 FM060900 12009KT 2SM -SN OVC020 FM061200 12011KT 3/4SM -SNPL OVC009 PROB30 0612/0614 -FZRA FM061400 12009KT 1SM -RAPL OVC006 FM061500 09006KT 1 1/2SM -RA OVC005 FM061800 VRB05KT 2SM -DZ BR OVC003 FM062200 24007KT 1/2SM FG BKN004 FM070300 24010KT P6SM BKN025 FM070600 25011KT P6SM SCT050=\n[00:33] TAF KBOS 060533Z 0606/0712 00000KT P6SM SCT250 FM060900 19004KT P6SM BKN200 FM061400 15007KT 1SM -SN OVC015 FM061900 12009KT 1SM -FZRASN OVC008 PROB30 0619/0620 3/4SM -PLSN FM062000 11009KT P6SM OVC003 PROB30 0620/0622 4SM -FZRASN FM070000 29004KT P6SM OVC003 FM070300 24007KT P6SM BKN008 WS020/26035KT FM070900 25010G21KT P6SM BKN060=\n[02:51] KJFK 060751Z 15013G18KT 10SM BKN070 OVC090 02/M07 A3032 RMK AO2 SLP268 T00171067\n[02:54] KBOS 060754Z 19005KT 10SM BKN230 M07/M13 A3039 RMK AO2 SLP288 T10721128 $\n[03:23] KJFK 060823Z 16009KT 10SM -SN FEW028 OVC060 01/M05 A3030 RMK AO2 SNB22 P0000 T00111050\n[03:30] TAF AMD KJFK 060830Z 0609/0712 13010KT 5SM -SN BR SCT020 BKN040 FM061000 15012KT 2SM -SN BR BKN020 FM061200 12011KT 3SM -SNPL OVC009 PROB30 0612/0614 -FZRA FM061400 12009KT 2SM -RAPL OVC006 FM061500 09006KT 1 1/2SM -RA OVC005 FM061800 VRB05KT 2SM -DZ BR OVC003 FM062200 24007KT 2SM BR BKN004 FM070300 24011KT P6SM BKN025 FM070600 25011KT P6SM SCT050=\n[03:51] KJFK 060851Z 14010KT 7SM -SN FEW015 BKN026 OVC060 01/M03 A3027 RMK AO2 SNB22 SLP251 P0000 60000 T00061028 58031\n[03:54] KBOS 060854Z 20004KT 10SM BKN220 M07/M13 A3036 RMK AO2 SLP279 T10721128 58016 $\n\nIt is the first watch, 04:00. Nothing is frozen yet: set the day up with confirm_changes, then call advance.", + "max_turns": 354, + "model_params": { + "max_tokens": 32000 + }, + "timeout_seconds": 7200 + }, + { + "id": "end-day", + "type": "apply_server_config", + "env_id": "airops-v3-day", + "directives": [ + { + "service": "airops-v3-day", + "uri": "urn:airops:v3-end-day/v1", + "args": {} + } + ] + }, + { + "id": "grade", + "type": "env_outcome_verifier", + "env_id": "airops-v3-day", + "file_artifact_id": "airops-verifier", + "verifier_id": "airops", + "score_aggregator": "weighted_average" + } +] diff --git a/src/agentenv_airops/bundles/airops-v3/tasks/b6-20250716-0400.json b/src/agentenv_airops/bundles/airops-v3/tasks/b6-20250716-0400.json new file mode 100644 index 0000000..0fe00f4 --- /dev/null +++ b/src/agentenv_airops/bundles/airops-v3/tasks/b6-20250716-0400.json @@ -0,0 +1,71 @@ +[ + { + "id": "deploy", + "type": "deploy_env", + "env_id": "airops-v3-day" + }, + { + "id": "load-task", + "type": "apply_server_config", + "env_id": "airops-v3-day", + "directives": [ + { + "service": "airops-v3-day", + "uri": "urn:airops:v3-live-load/v1", + "args": { + "task_id": "b6-20250716-0400", + "anchor": 3965567, + "follower": 4126176 + } + } + ] + }, + { + "id": "deploy-agent", + "type": "deploy_agent", + "a2a_agent_id": "airops-llm", + "env_ids": [ + "airops-v3-day" + ] + }, + { + "id": "clock", + "type": "sync_env_clock", + "env_id": "airops-v3-day", + "virtual_time": "2025-07-16T08:00:00Z", + "virtual_seconds_per_real_second": 0, + "tolerate_missing_sync_time": false + }, + { + "id": "play", + "type": "prompt_agent", + "prompt_id": "b6-20250716-0400", + "system_prompt": "You run the JetBlue operations desk on a storm day at JFK and BOS: thunderstorms, snow or wind, and the FAA ground stops and ground delay programs (GDPs) that follow, cut how many JetBlue flights can land and take off. Your job is to decide which flights to cancel and which to hold, watch by watch, so that passengers and the airline lose as little as possible over the day.\n\nHow the day runs:\n- The day is played in watches starting at watch 0: one an hour, and one more when an advisory or a SPECI reaches the desk or a ramp closure begins or ends, so watches are 15 to 60 minutes apart. The first message gives the day as the desk knows it at watch 0. Every tool call takes 1 minute of the watch; when the watch's time runs out, the next watch opens by itself, and advance opens it at once.\n- What the desk knows: a flight's own departure delay (weather, air traffic control: anything but waiting for its aircraft or a slot) becomes known 2 hours before its scheduled departure; until then it is assumed on time. FAA Command Center advisories and the hubs' METARs, SPECIs and TAFs arrive as messages at the first watch after they reach the desk: an advisory 0 minutes after it is signed, a METAR 5 and a SPECI 5 minutes after its observation, a TAF 10 minutes after its issue, and the programs table shows the programs as issued, proposed GDPs included; a program may end earlier or later than issued.\n- Ground delay programs: a GDP meters arrivals at a hub over its period. A flight into the hub from an origin in its scope, scheduled to land in the period, needs one of JetBlue's arrival slots in the program: it takes the earliest free slot at or after the time it could land and leaves at its EDCT, the slot less its scheduled block. A cancelled or late flight leaves its slot to the flights behind it. Arrivals outside a program fit under the hub's hourly rate.\n- Ground stops: a flight to a stopped hub from an origin the stop covers waits on the ground until the stop ends; flights already airborne fly on.\n- Departure caps: an airport may take only so many JetBlue departures in an hour (the departure caps table, known 4 hours ahead); a flight with no room in its hour tries again at the next hour's start.\n- Outstation arrival caps: an outstation may take only so many JetBlue arrivals in an hour (the outstation arrival caps table, known 4 hours ahead); a flight with no room in its arrival hour leaves so as to land in the next one.\n- Ramp closures: lightning at the field cuts a hub's ramp rate without stopping it. During a closure only so many JetBlue flights may leave the hub and only so many arrive there; a departure with no room leaves at the closure's end, an arrival with none leaves so as to land at it. A closure is known once it begins; until its end comes it is expected to last 30 minutes more, with caps for that long, and the closures table says which ends are reported and which expected.\n- The env flies your plan on the day as it happens: each flight leaves at the earliest time its delay, its hold, a slot, a stop, a cap and an aircraft allow. It takes the first aircraft of its type ready at its origin (aircraft of one type at one airport are interchangeable; an aircraft needs its turn time on the ground between flights). A flight that can't leave by its deadline is cancelled automatically there. At the end of the day the env ferries each aircraft to the airport it is needed at tomorrow.\n- Your decisions: cancel a flight (its aircraft stays on the ground, free for other flights, and its slot goes to the flights behind), restore a cancelled flight, or hold a flight until a time (not_before) so that its slot or aircraft goes to another flight first. A flight you don't touch leaves as early as it can.\n- The freeze: at watch 0 nothing is frozen. From watch 1 on, flights your plan has leaving before the freeze line, 60 minutes after the watch opens, are frozen: they can't be changed, and stay frozen. A cancellation is final. The env holds any other flight your plan would have leaving before the freeze line to it, and refuses a change that would move a frozen flight or one that has already gone.\n\nTools:\n- get_situation(): the time, the freeze line, the programs as issued with JetBlue's slots, the departure caps known so far, the outstation arrival caps known so far, the ramp closures under way or over, the latest METAR or SPECI and TAF per hub, every flight (its status, its known delay, your plan, where your plan has it leave and land on the day as known, how late it lands, its aircraft, its slot and its crew), where the aircraft are, and the news so far.\n- check_plan(changes): your changes over your plan, run on the day as known now: the plan's cost, the flights whose plan or times change, the automatic cancellations, the flights the env would hold to the freeze line, and the changes confirm_changes would refuse. It confirms nothing.\n- confirm_changes(changes): commits the changes; flights you leave out keep their plan.\n- advance(): ends the watch; its result has the new watch's news. After the last watch it returns \"done\": the day is graded on your plan.\nA change is {\"flight\": \"f12\", \"action\": \"cancel\" | \"restore\" | \"hold\" | \"call_reserve\" | \"release_reserve\", \"not_before\": \"HH:MM\" | null}: cancel takes not_before null; restore and hold fly the flight, held until not_before (local time, \"00:30+1\" after midnight), or as early as it can with null. Where a crew base has a reserve pool (the situation's Reserve crews), a flight leaving it past its crew's deadline flies only on a reserve: call_reserve gives it one while the pool lasts, release_reserve hands it back before that deadline.\n\nThe cost, in passenger-minutes: every passenger's minutes of arrival delay; 523 for each passenger on a cancelled flight, plus one for every minute the cancellation is decided later than 2 hours before its scheduled departure (an automatic cancellation is decided at its deadline, so it costs more than an early one); the airline's own aircraft minutes (a late departure costs crew and fixed costs, a long block fuel too, and a cancellation saves its fuel and maintenance); and the end-of-day ferries. A cancellation frees an aircraft and a slot; it pays when it saves the others more than it costs its own passengers. The day is graded once, on your final plan flown on the day as it really happened: the closer its cost to the best plan possible in hindsight, the higher the score. If you stop before the last watch, the rest of the day runs on your plan.", + "prompt": "# JetBlue operations desk, JFK/BOS, Wednesday 2025-07-16; times are local (America/New_York).\n\nNow 04:00 (watch 0, opened 04:00). First watch: nothing is frozen; changes take effect at once.\n\nYour plan on the day as known costs 865,095 (delay 545,872, cancellations 101,985, notice 82,095, ferries 21,872): 0 cancelled, 1 cancelled automatically, 0 on slots.\n\n## Programs as issued (FAA Command Center)\n- JFK ground delay program adv-20250715-085: arrivals 17:00-1-22:59-1, governs departures 14:06-1-21:05-1; JetBlue's slots none\n\n## Departure caps: JetBlue departures per hour, known 240 min ahead\nBOS: 08h 9\nJFK: 06h 7 07h 4\n\n## Outstation arrival caps: JetBlue arrivals per hour, known 240 min ahead\nRDU: 08h 2\n\n## Ramp closures (lightning at the field; known once begun)\nNone.\n\n## Latest weather (METAR or SPECI, and TAF)\n[03:54] KBOS 160754Z 19004KT 10SM CLR 23/22 A3003 RMK AO2 SLP168 T02280217\n[01:21] TAF KBOS 160521Z 1606/1712 23007KT P6SM SKC FM161500 13008KT P6SM SCT250 FM161800 19012KT P6SM BKN250 FM170600 21007KT P6SM BKN025=\n[03:51] KJFK 160751Z 23005KT 10SM FEW250 25/24 A3005 RMK AO2 SLP176 T02500244 $\n[01:40] TAF KJFK 160540Z 1606/1712 23006KT P6SM FEW250 TEMPO 1609/1611 5SM BR FM161200 20006KT P6SM FEW015 SCT250 FM161500 18010KT P6SM SCT100 SCT250 FM161900 18013KT P6SM FEW045 SCT100 SCT250 FM170100 19010KT P6SM SCT150 SCT250 FM170300 21008KT P6SM SCT045 BKN100 PROB30 1704/1707 -SHRA=\n\n## Flights (sched = scheduled dep-arr; delay = known delay, ? not yet; plan = cancel or hold@HH:MM; proj = where your plan has it leave and land on the day as known; late = arrival delay; slot = its GDP slot; crew = crew deadline/rest end, +R on a reserve crew)\nid flight route sched pax type status delay plan proj late tail slot crew\nf0 746 PSE-JFK 01:59-05:59 118 A320 open 21 - 04:00-07:39 +100 N643JB - -\nf1 504 SJU-JFK 03:05-07:02 190 A321 open 355 - 09:00-12:46 +344 N905JB - -\nf2 729 BQN-MCO 05:01-07:52 145 A320 open 5 - 05:06-07:52 +0 N665JB - -\nf3 1233 MCO-SJU 05:01-08:01 148 A320 open 4 - 05:05-07:57 -4 N592JB - -\nf4 2539 JFK-BQN 05:01-08:49 147 A320 open 0 - 05:01-08:56 +7 N520JB - -\nf5 767 MCO-PSE 05:05-08:02 144 A320 open -7 - 04:58-07:55 -7 N523JB - -\nf6 917 BOS-JFK 05:15-06:30 105 A320 open -9 - 05:06-06:12 -18 N526JL - -\nf7 403 JFK-SJU 05:25-09:15 150 A320 open 0 - 05:25-09:12 -3 N564JB - -\nf8 1889 EWR-SJU 05:35-09:30 195 A321 open 8 - 05:43-09:53 +23 N956JT - -\nf9 2001 BUF-JFK 05:35-07:00 121 A220 open 12 - 05:47-07:10 +10 N3077J - -\nf10 207 PQI-BOS 05:45-07:09 68 E190 open -12 - 05:33-06:36 -33 N323JB - -\nf11 87 ALB-FLL 06:00-09:15 146 A320 open -9 - 05:51-08:45 -30 N806JB - -\nf12 123 JFK-LAX 06:00-11:55 136 A321P open -4 - 05:56-11:38 -17 N2142J - -\nf13 130 RSW-JFK 06:00-08:48 141 A320 open -5 - 05:55-08:43 -5 N624JB - -\nf14 166 RSW-BOS 06:00-09:10 124 A220 open -2 - 05:58-09:12 +2 N3258J - -\nf15 306 FLL-EWR 06:00-08:55 143 A320 open -3 - 05:57-08:41 -14 N536JB - -\nf16 311 BOS-ORD 06:00-08:55 122 A220 open -3 - 05:57-08:40 -15 N3115J - -\nf17 322 PBI-BOS 06:00-09:10 125 A220 open -3 - 05:57-09:07 -3 N3085J - -\nf18 382 RIC-BOS 06:00-07:40 120 A220 open 94 - 07:34-09:15 +95 N3251J - -\nf19 525 PVD-SJU 06:00-09:48 146 A320 open -2 - 05:58-09:42 -6 N618JB - -\nf20 562 SJU-BOS 06:00-10:07 145 A320 open -2 - 05:58-09:55 -12 N709JB - -\nf21 696 ATL-BOS 06:00-08:33 135 A320 open 12 - 06:12-08:33 +0 N646JB - -\nf22 737 BDL-MCO 06:00-08:53 143 A320 open -4 - 05:56-08:40 -13 N535JB - -\nf23 927 EWR-MCO 06:00-08:42 150 A320 open 0 - 06:00-08:29 -13 N589JB - -\nf24 1062 PBI-LGA 06:00-08:43 138 A320 open -1 - 05:59-08:42 -1 N558JB - -\nf25 1076 PVD-MCO 06:00-08:54 128 A320 open -10 - 05:50-08:27 -27 N504JB - -\nf26 1192 TPA-BOS 06:00-09:05 140 A320 open -7 - 05:53-08:58 -7 N554JB - -\nf27 1201 FLL-LAX 06:00-11:18 138 A321P open -12 - 05:48-10:51 -27 N990JL - -\nf28 1419 DTW-JFK 06:00-07:45 105 A220 open 10 - 06:10-07:45 +0 N3229J - -\nf29 1515 SYR-JFK 06:00-07:13 110 A320 open 161 - 08:41-09:44 +151 N605JB - -\nf30 1883 BOS-RDU 06:00-08:05 124 A220 open -7 - 05:53-07:37 -28 N3023J - -\nf31 1911 EWR-RSW 06:00-08:58 138 A320 open -4 - 05:56-08:40 -18 N586JB - -\nf32 2133 MCO-SJU 06:00-09:00 148 A320 open -3 - 05:57-08:46 -14 N599JB - -\nf33 2904 SJU-JFK 06:00-09:59 190 A321 open 97 - 07:37-11:32 +93 N972JT - -\nf34 234 SJU-MCO 06:01-09:03 147 A320 open ? - 06:01-09:03 +0 N568JB - -\nf35 302 FLL-JFK 06:03-08:59 144 A320 open ? - 06:03-08:59 +0 N547JB - -\nf36 307 PWM-JFK 06:05-07:24 90 A220 open ? - 06:05-07:24 +0 N3138J - -\nf37 538 BQN-JFK 06:05-09:57 139 A320 open ? - 06:05-09:57 +0 N746JB - -\nf38 1333 BOS-SFO 06:05-12:44 126 A321P open ? - 06:05-12:44 +0 N2193J - -\nf39 493 BOS-DEN 06:06-10:34 148 A320 open ? - 06:06-10:34 +0 N534JB - -\nf40 1368 PBI-HPN 06:06-09:00 148 A320 open ? - 06:06-09:00 +0 N579JB - -\nf41 115 JFK-SFO 06:15-12:45 182 A321 open ? - 06:15-12:45 +0 N950JT - -\nf42 1285 ROC-JFK 06:15-07:39 105 A220 open ? - 06:15-07:39 +0 N3145J - -\nf43 540 CLE-BOS 06:19-08:05 76 E190 open ? - 06:19-08:05 +0 N284JB - -\nf44 109 BOS-JAX 06:20-09:07 123 A220 open ? - 06:20-09:07 +0 N3125J - -\nf45 1678 JAX-JFK 06:20-08:40 126 A220 open ? - 06:20-08:40 +0 N3203J - -\nf46 287 BOS-LAX 06:25-12:40 138 A321P open ? - 06:25-12:40 +0 N4080J - -\nf47 2255 BOS-DCA 06:25-08:05 87 E190 open ? - 06:25-08:05 +0 N281JB - -\nf48 254 DCA-JFK 06:30-07:43 90 A220 open ? - 06:30-07:43 +0 N3152J - -\nf49 411 JFK-LAS 06:30-12:00 138 A321P open ? - 06:30-12:00 +0 N943JT - -\nf50 599 LGA-MCO 06:30-09:12 150 A320 open ? - 06:30-09:12 +0 N591JB - -\nf51 1083 JFK-MCO 06:30-09:14 140 A320 open ? - 06:30-09:14 +0 N613JB - -\nf52 2718 JFK-BOS 06:30-07:44 100 A220 open ? - 06:30-07:44 +0 N3112J - -\nf53 569 BOS-FLL 06:35-10:00 125 A220 open ? - 06:35-10:00 +0 N3139J - -\nf54 670 MCO-RIC 06:40-08:39 121 A320 open ? - 06:40-08:39 +0 N607JB - -\nf55 21 BOS-PBI 06:45-09:59 126 A220 open ? - 06:45-09:59 +0 N3157J - -\nf56 126 TPA-JFK 06:45-09:29 142 A320 open ? - 06:45-09:29 +0 N559JB - -\nf57 959 BDL-FLL 06:45-09:58 148 A320 open ? - 06:45-09:58 +0 N563JB - -\nf58 2285 JFK-RDU 06:45-08:24 147 A320 open ? - 06:45-08:24 +0 N630JB - -\nf59 2625 RDU-FLL 06:45-08:55 132 A320 open ? - 06:45-08:55 +0 N805JB - -\nf60 1184 MCO-JFK 06:46-09:29 177 A321 open ? - 06:46-09:29 +0 N975JT - -\nf61 286 RDU-JFK 06:47-08:30 136 A320 open ? - 06:47-08:30 +0 N556JB - -\nf62 741 JFK-SAV 06:50-09:01 136 A320 open ? - 06:50-09:01 +0 N657JB - -\nf63 1480 FLL-DCA 06:50-09:20 120 A220 open ? - 06:50-09:20 +0 N3149J - -\nf64 1601 JFK-FLL 06:54-09:59 187 A321 open ? - 06:54-09:59 +0 N913JB - -\nf65 223 JFK-LAX 06:55-12:52 135 A321P open ? - 07:00-12:57 +5 N947JB - -\nf66 205 EWR-FLL 06:59-09:54 149 A320 open ? - 06:59-09:54 +0 N789JB - -\nf67 1067 HPN-PBI 06:59-09:46 150 A320 open ? - 06:59-09:46 +0 N531JL - -\nf68 165 BOS-RSW 07:00-10:28 124 A220 open ? - 07:00-10:28 +0 N3215J - -\nf69 379 DCA-FLL 07:00-09:35 124 A220 open ? - 07:00-09:35 +0 N3241J - -\nf70 619 BOS-SAN 07:00-13:04 138 A321P open ? - 07:00-13:04 +0 N967JT - -\nf71 690 FLL-BOS 07:00-10:14 127 A220 open ? - 07:00-10:14 +0 N3257J - -\nf72 814 FLL-HPN 07:00-10:00 139 A320 open ? - 07:00-10:00 +0 N565JB - -\nf73 971 MHT-JFK 07:00-08:14 46 A320 open ? - 07:00-08:14 +0 N712JB - -\nf74 1074 BNA-JFK 07:00-09:27 113 A220 open ? - 07:00-09:27 +0 N3058J - -\nf75 1145 RIC-FLL 07:00-09:23 136 A320 open ? - 07:00-09:23 +0 N587JB - -\nf76 1198 PIT-JFK 07:00-08:30 69 A220 open ? - 07:00-08:30 +0 N3156J - -\nf77 1246 SJU-FLL 07:00-09:41 130 A220 open ? - 07:00-09:41 +0 N3062J - -\nf78 1471 LGA-FLL 07:00-10:00 150 A320 open ? - 07:00-10:00 +0 N834JB - -\nf79 1476 SJU-BDL 07:00-10:53 149 A320 open ? - 07:00-10:53 +0 N561JB - -\nf80 1551 HPN-RSW 07:00-09:56 122 A320 open ? - 07:00-09:56 +0 N652JB - -\nf81 2020 FLL-ORH 07:00-09:58 112 A320 open ? - 07:00-09:58 +0 N621JB - -\nf82 2274 TPA-EWR 07:00-09:49 140 A320 open ? - 07:00-09:49 +0 N768JB - -\nf83 1130 FLL-CHS 07:05-08:45 85 A220 open ? - 07:05-08:45 +0 N3044J - -\nf84 320 ATL-JFK 07:06-09:29 139 A320 open ? - 07:06-09:29 +0 N629JB - -\nf85 1129 PVD-JFK 07:07-08:09 55 A320 open ? - 07:07-08:09 +0 N583JB - -\nf86 417 BOS-JFK 07:10-08:30 105 A320 open ? - 07:10-08:30 +0 N552JB - -\nf87 1585 BOS-PIT 07:10-09:03 100 A220 open ? - 07:10-09:03 +0 N3221J - -\nf88 676 BDL-JFK 07:12-08:14 72 A320 open ? - 07:12-08:14 +0 N763JB - -\nf89 2144 PBI-EWR 07:12-10:00 140 A320 open ? - 07:12-10:00 +0 N584JB - -\nf90 397 BOS-SEA 07:15-13:33 187 A321 open ? - 07:15-13:33 +0 N907JB - -\nf91 656 MCO-SYR 07:15-10:02 131 A320 open ? - 07:15-10:02 +0 N705JB - -\nf92 1219 BOS-MIA 07:15-10:44 124 A220 open ? - 07:15-10:44 +0 N3232J - -\nf93 2751 TPA-SJU 07:15-10:20 189 A321 open ? - 07:15-10:20 +0 N903JB - -\nf94 406 ORD-JFK 07:16-09:29 136 A320 open ? - 07:16-09:29 +0 N603JB - -\nf95 598 MCO-LGA 07:19-10:00 150 A320 open ? - 07:19-10:00 +0 N775JB - -\nf96 891 BOS-TPA 07:20-10:35 180 A321 open ? - 07:20-10:35 +0 N994JL - -\nf97 2465 BUF-FLL 07:20-10:20 150 A320 open ? - 07:20-10:20 +0 N529JB - -\nf98 716 BUF-BOS 07:22-08:42 83 E190 open ? - 07:22-08:42 +0 N306JB - -\nf99 189 JFK-SAN 07:30-13:29 138 A321P open ? - 07:30-13:29 +0 N968JT - -\nf100 953 JFK-PBI 07:30-10:29 150 A320 open ? - 07:30-10:29 +0 N828JB - -\nf101 1447 HPN-TPA 07:30-10:18 150 A320 open ? - 07:30-10:18 +0 N760JB - -\nf102 1602 JFK-BUF 07:30-09:00 127 A220 open ? - 07:30-09:00 +0 N3244J - -\nf103 257 BOS-BZN 07:40-12:37 140 A320 open ? - 07:40-12:37 +0 N562JB - -\nf104 991 FLL-SJU 07:40-10:19 150 A320 open ? - 07:40-10:19 +0 N651JB - -\nf105 1177 BOS-LAS 07:41-13:30 138 A321P open ? - 07:41-13:30 +0 N989JT - -\nf106 163 JFK-SRQ 07:45-10:43 129 A220 open ? - 08:00-10:58 +15 N3077J - -\nf107 374 SYR-BOS 07:45-08:54 82 E190 open ? - 07:45-08:54 +0 N317JB - -\nf108 377 FLL-SFO 07:45-13:35 138 A321P open ? - 07:45-13:35 +0 N992JB - -\nf109 1573 EWR-LAX 07:45-13:32 133 A321P open ? - 17:25-23:12 +580 N937JB - -\nf110 2423 DCA-MCO 07:45-10:05 132 A320 open ? - 07:45-10:05 +0 N517JB - -\nf111 1247 LGA-TPA 07:59-10:49 147 A320 open ? - 07:59-10:49 +0 N580JB - -\nf112 455 BOS-DCA 08:00-09:41 87 E190 open ? - 08:00-09:41 +0 N283JB - -\nf113 633 BOS-IAH 08:00-12:12 125 A220 open ? - 08:00-12:12 +0 N3142J - -\nf114 651 BOS-MCO 08:00-11:11 124 A220 open ? - 08:00-11:11 +0 N3102J - -\nf115 687 BOS-LAX 08:00-14:12 138 A321P open ? - 08:00-14:12 +0 N986JB - -\nf116 861 BOS-SJU 08:00-12:06 150 A320 open ? - 08:00-12:06 +0 N636JB - -\nf117 1033 MCO-SJU 08:00-11:00 137 A320 open ? - 08:00-11:00 +0 N804JB - -\nf118 1273 JFK-CHS 08:00-10:15 140 A320 open ? - 08:00-10:15 +0 N597JB - -\nf119 1293 BOS-ILM 08:00-10:03 102 A220 open ? - 08:00-10:03 +0 N3113J - -\nf120 1347 DCA-SJU 08:00-11:59 185 A321 open ? - 08:00-11:59 +0 N973JT - -\nf121 1475 BDL-SJU 08:00-11:50 130 A320 open ? - 08:00-11:50 +0 N648JB - -\nf122 2016 FLL-PHL 08:00-10:52 127 A320 open ? - 08:00-10:52 +0 N659JB - -\nf123 2601 HPN-SJU 08:00-11:45 150 A320 open ? - 08:00-11:45 +0 N663JB - -\nf124 2686 MCO-BUF 08:00-10:39 150 A320 open ? - 08:00-10:39 +0 N827JB - -\nf125 323 JFK-LAX 08:01-14:01 135 A321P open ? - 08:01-14:01 +0 N979JT - -\nf126 1159 BOS-PHL 08:05-09:38 84 E190 open ? - 08:05-09:38 +0 N318JB - -\nf127 1334 SJU-MCO 08:05-11:07 147 A320 open ? - 08:05-11:07 +0 N641JB - -\nf128 519 JFK-ATL 08:10-10:36 128 A220 open ? - 08:10-10:36 +0 N3196J - -\nf129 806 BNA-BOS 08:10-10:44 118 A320 open ? - 08:10-10:44 +0 N521JB - -\nf130 1497 JFK-DEN 08:10-12:25 146 A320 open ? - 08:10-12:25 +0 N590JB - -\nf131 1 JFK-FLL 08:15-11:31 187 A321 open ? - 08:15-11:31 +0 N965JT - -\nf132 854 PBI-JFK 08:15-11:00 126 A220 open ? - 08:15-11:00 +0 N3195J - -\nf133 215 JFK-SFO 08:20-14:57 138 A321P open ? - 08:20-14:57 +0 N987JT - -\nf134 1707 FLL-LAS 08:20-13:17 133 A321P open ? - 08:20-13:17 +0 N977JE - -\nf135 837 BOS-DTW 08:25-10:37 118 A220 open ? - 08:25-10:37 +0 N3260J - -\nf136 183 JFK-MCO 08:29-11:21 131 A220 open ? - 08:29-11:21 +0 N3138J - -\nf137 85 BUF-MCO 08:30-11:05 150 A320 open ? - 08:30-11:05 +0 N595JB - -\nf138 813 HPN-FLL 08:30-11:25 139 A320 open ? - 08:30-11:25 +0 N729JB - -\nf139 1018 JFK-BOS 08:30-09:51 100 A220 open ? - 08:30-09:51 +0 N3145J - -\nf140 1241 BDL-PBI 08:35-11:35 138 A320 open ? - 08:35-11:35 +0 N588JB - -\nf141 1295 BOS-BUF 08:35-10:09 81 E190 open ? - 08:35-10:09 +0 N329JB - -\nf142 1117 BOS-JFK 08:40-09:59 91 A220 open ? - 09:00-10:19 +20 N3112J - -\nf143 1854 DCA-BOS 08:40-10:16 89 E190 open ? - 08:40-10:16 +0 N281JB - -\nf144 1324 BOS-MVY 08:45-09:31 38 E190 open ? - 09:00-09:46 +15 N323JB - -\nf145 2024 MCO-DCA 08:45-11:00 136 A320 open ? - 08:45-11:00 +0 N606JB - -\nf146 514 FLL-ISP 08:50-11:41 150 A320 open ? - 08:50-11:41 +0 N566JB - -\nf147 768 PSE-MCO 08:50-11:53 146 A320 open ? - 08:50-11:53 +0 N523JB - -\nf148 1603 JFK-SJU 08:50-12:50 138 A321P open ? - 08:50-12:50 +0 N929JB - -\nf149 94 MCO-HPN 08:54-11:42 137 A320 open ? - 08:54-11:42 +0 N633JB - -\nf150 2121 HPN-ACK 08:56-10:00 70 E190 open ? - 08:56-10:00 +0 N324JB - -\nf151 1529 JFK-RSW 08:59-12:06 150 A320 open ? - 08:59-12:06 +0 N509JB - -\nf152 75 JFK-MSY 09:00-12:16 128 A220 open ? - 09:00-12:16 +0 N3152J - -\nf153 116 SFO-JFK 09:00-14:40 138 A321P open ? - 09:00-14:40 +0 N923JB - -\nf154 119 MCO-ALB 09:00-11:48 150 A320 open ? - 09:00-11:48 +0 N519JB - -\nf155 484 RDU-BOS 09:00-10:59 121 A220 open ? - 09:00-10:59 +0 N3023J - -\nf156 523 JFK-LAX 09:00-14:59 135 A321P open ? - 09:00-14:59 +0 N2151J - -\nf157 552 MCO-BOS 09:00-12:07 172 A321 open ? - 09:00-12:07 +0 N948JB - -\nf158 888 LAX-BOS 09:00-14:47 138 A321P open ? - 09:00-14:47 +0 N976JT - -\nf159 1454 SJU-FLL 09:00-11:41 150 A320 open ? - 09:00-11:41 +0 N592JB - -\nf160 2433 DCA-PBI 09:00-11:30 122 A220 open ? - 09:00-11:30 +0 N3189J - -\nf161 219 BOS-SAN 09:04-15:10 138 A321P open ? - 09:04-15:10 +0 N2157J - -\nf162 434 SFO-BOS 09:05-14:50 138 A321P open ? - 09:05-14:50 +0 N935JB - -\nf163 1097 BOS-ATL 09:05-11:53 147 A320 open ? - 09:05-11:53 +0 N639JB - -\nf164 2041 BOS-CLE 09:10-11:12 106 A220 open ? - 09:52-11:54 +42 N3085J - -\nf165 791 BOS-TPA 09:14-12:29 145 A320 open ? - 09:14-12:29 +0 N649JB - -\nf166 1807 BOS-BNA 09:15-12:03 123 A320 open ? - 09:15-12:03 +0 N623JB - -\nf167 2786 RDU-JFK 09:19-10:58 136 A320 open ? - 09:19-10:58 +0 N630JB - -\nf168 2355 BOS-DCA 09:22-10:59 87 E190 open ? - 09:22-10:59 +0 N284JB - -\nf169 1338 JFK-MVY 09:25-10:38 86 A220 open ? - 09:25-10:38 +0 N3229J - -\nf170 905 JFK-ORD 09:29-12:18 129 A220 open ? - 09:29-12:18 +0 N3267J - -\nf171 969 RIC-MCO 09:29-11:35 125 A320 open ? - 09:29-11:35 +0 N607JB - -\nf172 511 JFK-LAS 09:30-15:07 138 A321P open ? - 09:30-15:07 +0 N942JB - -\nf173 1131 CHS-FLL 09:30-11:09 104 A220 open ? - 09:30-11:09 +0 N3044J - -\nf174 2352 BOS-ACK 09:35-10:29 68 E190 open ? - 09:35-10:29 +0 N306JB - -\nf175 312 ORD-BOS 09:40-12:04 125 A220 open ? - 09:40-12:04 +0 N3115J - -\nf176 2638 BQN-JFK 09:40-13:34 139 A320 open ? - 09:41-13:35 +1 N520JB - -\nf177 1686 TPA-JFK 09:43-12:31 142 A320 open ? - 09:43-12:31 +0 N570JB - -\nf178 127 EWR-MCO 09:45-12:35 150 A320 open ? - 09:45-12:35 +0 N510JB - -\nf179 172 FLL-LGA 09:45-12:37 148 A320 open ? - 09:45-12:37 +0 N640JB - -\nf180 488 MCO-ORH 09:45-12:39 116 A320 open ? - 09:45-12:39 +0 N665JB - -\nf181 1461 LGA-PBI 09:45-12:39 143 A320 open ? - 09:45-12:39 +0 N638JB - -\nf182 1901 BUF-JFK 09:45-11:09 121 A220 open ? - 09:45-11:09 +0 N3244J - -\nf183 2695 HPN-MCO 09:45-12:28 145 A320 open ? - 09:45-12:28 +0 N579JB - -\nf184 1912 RSW-EWR 09:48-12:39 147 A320 open ? - 09:48-12:39 +0 N586JB - -\nf185 142 SAV-JFK 09:55-12:00 129 A320 open ? - 09:55-12:00 +0 N657JB - -\nf186 267 BOS-CHS 09:55-12:24 130 A220 open ? - 09:57-12:26 +2 N3258J - -\nf187 1310 JAX-BOS 09:55-12:35 111 A220 open ? - 09:55-12:35 +0 N3125J - -\nf188 186 JFK-ROC 09:59-11:24 115 A220 open ? - 09:59-11:24 +0 N3169J - -\nf189 393 BOS-DEN 10:00-14:38 148 A320 open ? - 10:00-14:38 +0 N809JB - -\nf190 1277 FLL-SFO 10:00-15:49 138 A321P open ? - 10:00-15:49 +0 N962JT - -\nf191 1286 PIT-BOS 10:00-11:39 107 A220 open ? - 10:00-11:39 +0 N3221J - -\nf192 815 BOS-DFW 10:04-14:10 147 A320 open ? - 10:04-14:10 +0 N766JB - -\nf193 249 BOS-SAV 10:05-12:40 116 A220 open ? - 10:05-12:40 +0 N3251J - -\nf194 1142 PBI-BDL 10:05-12:59 147 A320 open ? - 10:31-13:25 +26 N531JL - -\nf195 2801 FLL-LAX 10:05-15:26 138 A321P open ? - 10:05-15:26 +0 N934JB - -\nf196 2584 MCO-JFK 10:09-12:49 133 A320 open ? - 10:09-12:49 +0 N504JB - -\nf197 124 LAX-JFK 10:10-15:49 124 A321P open ? - 10:10-15:49 +0 N969JT - -\nf198 579 DCA-FLL 10:10-12:48 124 A220 open ? - 10:10-12:48 +0 N3149J - -\nf199 385 BOS-PIT 10:11-11:58 100 A220 open ? - 10:36-12:23 +25 N3145J - -\nf200 1123 JFK-LAX 10:14-16:10 135 A321P open ? - 10:14-16:10 +0 N2188J - -\nf201 546 MCO-ISP 10:15-12:56 144 A320 open ? - 10:15-12:56 +0 N516JB - -\nf202 1160 PHL-BOS 10:15-11:40 81 E190 open ? - 10:15-11:40 +0 N318JB - -\nf203 1225 MVY-BOS 10:16-11:05 46 E190 open ? - 10:23-11:12 +7 N323JB - -\nf204 2902 JFK-BUF 10:25-11:56 127 A220 open ? - 10:25-11:56 +0 N3156J - -\nf205 554 DCA-BOS 10:30-12:05 89 E190 open ? - 10:30-12:05 +0 N283JB - -\nf206 1833 BOS-SFO 10:30-17:05 138 A321P open ? - 10:30-17:05 +0 N964JT - -\nf207 904 SJU-JFK 10:35-14:30 190 A321 open ? - 10:35-14:30 +0 N2086J - -\nf208 2091 JFK-ACK 10:35-11:53 85 A220 open ? - 10:35-11:53 +0 N3058J - -\nf209 2273 EWR-TPA 10:39-13:29 150 A320 open ? - 10:39-13:29 +0 N594JB - -\nf210 316 SFO-JFK 10:40-16:16 138 A321P open ? - 10:40-16:16 +0 N988JT - -\nf211 404 SJU-RDU 10:40-14:20 145 A320 open ? - 10:40-14:20 +0 N618JB - -\nf212 2493 ACK-DCA 10:40-12:18 64 E190 open ? - 10:40-12:18 +0 N324JB - -\nf213 22 PBI-BOS 10:45-13:55 125 A220 open ? - 10:45-13:55 +0 N3157J - -\nf214 225 JFK-TPA 10:45-13:41 150 A320 open ? - 10:45-13:41 +0 N526JL - -\nf215 2119 ORH-FLL 10:45-14:00 122 A320 open ? - 10:45-14:00 +0 N621JB - -\nf216 1552 RSW-HPN 10:46-13:44 126 A320 open ? - 10:46-13:44 +0 N652JB - -\nf217 1290 ILM-BOS 10:48-12:45 106 A220 open ? - 10:48-12:45 +0 N3113J - -\nf218 133 MCO-SJU 10:50-13:51 148 A320 open ? - 10:50-13:51 +0 N535JB - -\nf219 499 LGA-MCO 10:50-13:40 150 A320 open ? - 10:50-13:40 +0 N558JB - -\nf220 1487 BOS-LAX 10:50-17:04 138 A321P open ? - 10:50-17:04 +0 N980JT - -\nf221 1296 BUF-BOS 10:54-12:20 83 E190 open ? - 10:54-12:20 +0 N329JB - -\nf222 1167 HPN-PBI 10:55-13:46 150 A320 open ? - 10:55-13:46 +0 N565JB - -\nf223 418 JFK-BOS 10:59-12:15 115 A320 open ? - 10:59-12:15 +0 N632JB - -\nf224 678 JFK-JAX 10:59-13:28 129 A220 open ? - 11:04-13:33 +5 N3112J - -\nf225 655 SYR-MCO 11:00-13:56 136 A320 open ? - 11:00-13:56 +0 N705JB - -\nf226 1700 LAX-FLL 11:00-16:23 138 A321P open ? - 11:00-16:23 +0 N993JE - -\nf227 2143 EWR-PBI 11:00-13:55 148 A320 open ? - 11:00-13:55 +0 N656JB - -\nf228 2474 CHS-JFK 11:00-12:59 130 A320 open ? - 11:00-12:59 +0 N597JB - -\nf229 401 BOS-MSY 11:02-14:39 142 A320 open ? - 11:02-14:39 +0 N598JB - -\nf230 1288 PBI-PVD 11:04-13:57 150 A320 open ? - 11:14-14:07 +10 N828JB - -\nf231 1902 FLL-JFK 11:04-14:00 178 A321 open ? - 11:04-14:00 +0 N913JB - -\nf232 2074 LAX-EWR 11:10-16:40 133 A321P open ? - 11:10-16:40 +0 N937JB - -\nf233 272 FLL-LGA 11:12-14:07 148 A320 open ? - 11:12-14:07 +0 N655JB - -\nf234 266 RSW-BOS 11:13-14:23 124 A220 open ? - 11:13-14:23 +0 N3215J - -\nf235 1054 PBI-JFK 11:14-13:59 146 A320 open ? - 12:20-15:05 +66 N588JB - -\nf236 503 JFK-SJU 11:15-15:12 150 A320 open ? - 11:15-15:12 +0 N821JB - -\nf237 831 ACK-LGA 11:15-12:30 69 E190 open ? - 11:15-12:30 +0 N306JB - -\nf238 1017 BOS-JFK 11:15-12:32 91 A220 open ? - 11:15-12:32 +0 N3257J - -\nf239 1055 BOS-DCA 11:15-12:54 87 E190 open ? - 11:15-12:54 +0 N317JB - -\nf240 138 MCO-BDL 11:20-14:10 145 A320 open ? - 11:20-14:10 +0 N591JB - -\nf241 730 MCO-BQN 11:20-14:09 135 A320 open ? - 11:20-14:09 +0 N645JB - -\nf242 1339 MVY-JFK 11:23-12:29 80 A220 open ? - 11:23-12:29 +0 N3229J - -\nf243 494 DEN-BOS 11:24-15:29 144 A320 open ? - 11:24-15:29 +0 N534JB - -\nf244 2685 BUF-MCO 11:24-14:01 150 A320 open ? - 11:24-14:01 +0 N827JB - -\nf245 1336 DTW-BOS 11:25-13:14 113 A220 open ? - 11:25-13:14 +0 N3260J - -\nf246 1734 SFO-BOS 11:25-17:14 138 A321P open ? - 11:25-17:14 +0 N985JT - -\nf247 1890 SJU-EWR 11:25-15:34 188 A321 open ? - 11:25-15:34 +0 N956JT - -\nf248 288 LAX-BOS 11:30-17:20 138 A321P open ? - 11:30-17:20 +0 N978JB - -\nf249 1215 BOS-BUF 11:30-13:03 81 E190 open ? - 11:30-13:03 +0 N281JB - -\nf250 164 SRQ-JFK 11:35-14:30 125 A220 open ? - 11:43-14:38 +8 N3077J - -\nf251 892 TPA-BOS 11:35-14:43 173 A321 open ? - 11:40-14:48 +5 N994JL - -\nf252 1520 ATL-JFK 11:36-13:58 120 A220 open ? - 11:36-13:58 +0 N3196J - -\nf253 194 MCO-HPN 11:40-14:29 137 A320 open ? - 11:40-14:29 +0 N517JB - -\nf254 2051 BOS-MCO 11:40-14:51 133 A320 open ? - 11:40-14:51 +0 N524JB - -\nf255 429 PHL-FLL 11:42-14:33 127 A320 open ? - 11:42-14:33 +0 N659JB - -\nf256 1220 MIA-BOS 11:43-15:12 114 A220 open ? - 11:43-15:12 +0 N3232J - -\nf257 1923 DCA-MCO 11:45-14:04 142 A320 open ? - 11:45-14:04 +0 N606JB - -\nf258 2454 DCA-BOS 11:45-13:15 89 E190 open ? - 11:45-13:15 +0 N284JB - -\nf259 1281 BOS-RIC 11:49-13:37 116 A220 open ? - 11:49-13:37 +0 N3023J - -\nf260 641 BOS-CLE 11:50-13:49 75 E190 open ? - 11:50-13:49 +0 N323JB - -\nf261 934 SJU-MCO 11:50-14:55 137 A320 open ? - 11:50-14:55 +0 N804JB - -\nf262 1103 BDL-RSW 11:50-15:04 132 A320 open ? - 11:50-15:04 +0 N561JB - -\nf263 2028 MCO-EWR 11:55-14:40 149 A320 open ? - 11:55-14:40 +0 N715JB - -\nf264 83 JFK-MCO 12:00-14:52 150 A320 open ? - 12:00-14:52 +0 N559JB - -\nf265 261 BOS-SJU 12:00-16:04 134 A220 open ? - 12:24-16:28 +24 N3221J - -\nf266 352 MCO-BOS 12:00-15:05 120 A220 open ? - 12:00-15:05 +0 N3102J - -\nf267 415 JFK-SFO 12:00-18:20 138 A321P open ? - 12:00-18:20 +0 N944JT - -\nf268 508 JFK-PWM 12:00-13:23 99 A220 open ? - 12:00-13:23 +0 N3195J - -\nf269 1144 MCO-MHT 12:00-15:00 146 A320 open ? - 12:00-15:00 +0 N595JB - -\nf270 2040 CLE-BOS 12:07-13:54 106 A220 open ? - 12:39-14:26 +32 N3085J - -\nf271 184 MCO-JFK 12:09-14:59 124 A220 open ? - 12:09-14:59 +0 N3138J - -\nf272 423 JFK-LAX 12:10-18:10 117 A321P open ? - 12:10-18:10 +0 N981JT - -\nf273 1553 FLL-SJU 12:15-14:57 150 A320 open ? - 12:15-14:57 +0 N658JB - -\nf274 698 MCO-LGA 12:25-15:05 150 A320 open ? - 12:25-15:05 +0 N641JB - -\nf275 2334 PBI-DCA 12:25-14:48 118 A220 open ? - 12:25-14:48 +0 N3189J - -\nf276 2469 BOS-FLL 12:25-15:49 125 A220 open ? - 12:49-16:13 +24 N3115J - -\nf277 485 ROC-JFK 12:30-13:49 105 A220 open ? - 12:30-13:49 +0 N3169J - -\nf278 544 PBI-ISP 12:30-15:13 150 A320 open ? - 13:24-16:07 +54 N638JB - -\nf279 1352 BOS-ACK 12:32-13:25 68 E190 open ? - 12:32-13:25 +0 N318JB - -\nf280 120 ALB-MCO 12:33-15:39 150 A320 open ? - 12:33-15:39 +0 N519JB - -\nf281 513 ISP-FLL 12:35-15:31 150 A320 open ? - 12:35-15:31 +0 N566JB - -\nf282 524 LAX-JFK 12:40-18:23 124 A321P open ? - 12:40-18:23 +0 N982JB - -\nf283 386 PIT-BOS 12:43-14:22 107 A220 open ? - 13:02-14:41 +19 N3145J - -\nf284 2901 BUF-JFK 12:43-14:14 121 A220 open ? - 12:43-14:14 +0 N3156J - -\nf285 70 FLL-BOS 12:45-16:04 146 A320 open ? - 12:45-16:04 +0 N805JB - -\nf286 2940 SJU-STX 12:46-13:26 122 A320 open ? - 12:46-13:26 +0 N625JB - -\nf287 896 ATL-BOS 12:48-15:24 135 A320 open ? - 12:48-15:24 +0 N639JB - -\nf288 1806 BNA-BOS 12:48-15:25 118 A320 open ? - 12:48-15:25 +0 N623JB - -\nf289 2033 BOS-IAH 12:48-17:02 145 A320 open ? - 12:48-17:02 +0 N554JB - -\nf290 92 ACK-JFK 12:50-14:00 83 A220 open ? - 12:50-14:00 +0 N3058J - -\nf291 936 SJU-STT 12:50-13:28 133 A320 open ? - 12:50-13:28 +0 N648JB - -\nf292 48 TPA-LGA 12:52-15:30 144 A320 open ? - 12:52-15:30 +0 N580JB - -\nf293 862 SJU-BOS 12:55-17:03 125 A220 open ? - 12:55-17:03 +0 N3255J - -\nf294 632 IAH-BOS 12:58-16:56 121 A220 open ? - 12:58-16:56 +0 N3142J - -\nf295 1039 BOS-AUS 12:59-17:14 132 A220 open ? - 13:20-17:35 +21 N3125J - -\nf296 1251 HPN-RSW 13:00-15:59 122 A320 open ? - 13:00-15:59 +0 N633JB - -\nf297 1414 DCA-MVY 13:05-14:28 65 E190 open ? - 13:05-14:28 +0 N324JB - -\nf298 906 ORD-JFK 13:06-15:30 118 A220 open ? - 13:06-15:30 +0 N3267J - -\nf299 1530 RSW-JFK 13:08-16:00 141 A320 open ? - 13:08-16:00 +0 N509JB - -\nf300 448 LAS-JFK 13:10-18:29 132 A321P open ? - 13:10-18:29 +0 N943JT - -\nf301 2432 LGA-ACK 13:10-14:23 60 E190 open ? - 13:10-14:23 +0 N306JB - -\nf302 176 MSY-JFK 13:18-16:30 122 A220 open ? - 13:18-16:30 +0 N3152J - -\nf303 68 CHS-BOS 13:19-15:41 122 A220 open ? - 13:19-15:41 +0 N3258J - -\nf304 855 BOS-DCA 13:20-15:03 87 E190 open ? - 13:20-15:03 +0 N283JB - -\nf305 592 TPA-BOS 13:24-16:34 140 A320 open ? - 13:24-16:34 +0 N649JB - -\nf306 1498 DEN-JFK 13:25-17:24 131 A320 open ? - 13:25-17:24 +0 N590JB - -\nf307 105 EWR-FLL 13:29-16:25 149 A320 open ? - 13:29-16:25 +0 N536JB - -\nf308 128 MCO-EWR 13:30-16:17 149 A320 open ? - 13:30-16:17 +0 N607JB - -\nf309 256 BZN-BOS 13:30-17:55 139 A320 open ? - 13:30-17:55 +0 N562JB - -\nf310 424 LAX-JFK 13:30-19:15 125 A321P open ? - 13:30-19:15 +0 N990JL - -\nf311 1173 JFK-BNA 13:30-15:57 128 A220 open ? - 13:30-15:57 +0 N3162J - -\nf312 1371 LGA-FLL 13:30-16:36 150 A320 open ? - 13:30-16:36 +0 N775JB - -\nf313 487 ORH-MCO 13:34-16:40 119 A320 open ? - 13:34-16:40 +0 N665JB - -\nf314 150 SAV-BOS 13:35-15:59 115 A220 open ? - 13:35-15:59 +0 N3251J - -\nf315 553 FLL-SJU 13:35-16:18 188 A321 open ? - 13:35-16:18 +0 N965JT - -\nf316 1680 FLL-DCA 13:40-16:12 120 A220 open ? - 13:40-16:12 +0 N3123J - -\nf317 2229 BOS-MKE 13:40-16:08 120 A220 open ? - 13:40-16:08 +0 N3113J - -\nf318 1254 DCA-BOS 13:44-15:20 89 E190 open ? - 13:44-15:20 +0 N317JB - -\nf319 419 JFK-ATL 13:50-16:29 148 A320 open ? - 13:50-16:29 +0 N603JB - -\nf320 1084 MCO-JFK 13:50-16:39 143 A320 open ? - 13:50-16:39 +0 N571JB - -\nf321 1604 SJU-JFK 13:50-17:49 138 A321P open ? - 13:50-17:49 +0 N929JB - -\nf322 1874 LAX-EWR 13:50-19:20 133 A321P open ? - 13:50-19:20 +0 N2142J - -\nf323 2251 BOS-MCO 13:50-17:10 143 A320 open ? - 13:50-17:10 +0 N709JB - -\nf324 547 ISP-MCO 13:51-16:34 150 A320 open ? - 13:51-16:34 +0 N516JB - -\nf325 1075 MCO-PVD 13:53-16:46 137 A320 open ? - 13:53-16:46 +0 N579JB - -\nf326 533 BDL-TPA 13:55-17:00 150 A320 open ? - 14:10-17:15 +15 N531JL - -\nf327 1216 BUF-BOS 13:55-15:25 83 E190 open ? - 13:55-15:25 +0 N281JB - -\nf328 834 SFO-BOS 13:56-19:45 124 A321P open ? - 13:56-19:45 +0 N2193J - -\nf329 817 BOS-JFK 13:59-15:15 91 A220 open ? - 13:59-15:15 +0 N3260J - -\nf330 2291 JFK-ACK 14:00-15:23 85 A220 open ? - 14:00-15:23 +0 N3257J - -\nf331 100 LAX-FLL 14:03-19:26 138 A321P open ? - 14:03-19:26 +0 N4080J - -\nf332 2321 BOS-PBI 14:10-17:29 126 A220 open ? - 14:40-17:59 +30 N3157J - -\nf333 2665 ACK-HPN 14:10-15:14 65 E190 open ? - 14:10-15:14 +0 N318JB - -\nf334 216 SFO-JFK 14:14-20:00 176 A321 open ? - 14:14-20:00 +0 N950JT - -\nf335 620 SAN-BOS 14:14-20:09 138 A321P open ? - 14:14-20:09 +0 N967JT - -\nf336 1685 JFK-TPA 14:15-17:25 150 A320 open ? - 14:15-17:25 +0 N746JB - -\nf337 407 PWM-JFK 14:19-15:45 90 A220 open ? - 14:19-15:45 +0 N3195J - -\nf338 1754 SJU-FLL 14:20-17:01 186 A321 open ? - 14:20-17:01 +0 N903JB - -\nf339 435 STT-SJU 14:23-15:10 133 A320 open ? - 14:23-15:10 +0 N648JB - -\nf340 2941 STX-SJU 14:23-15:10 141 A320 open ? - 14:23-15:10 +0 N625JB - -\nf341 677 JAX-JFK 14:24-16:44 126 A220 open ? - 14:24-16:44 +0 N3112J - -\nf342 1690 TPA-PVD 14:24-17:21 128 A320 open ? - 14:24-17:21 +0 N634JB - -\nf343 1708 LAS-FLL 14:27-19:35 137 A321P open ? - 14:27-19:35 +0 N977JE - -\nf344 1501 JFK-FLL 14:29-17:46 150 A320 open ? - 14:29-17:46 +0 N630JB - -\nf345 1282 RIC-BOS 14:32-16:10 120 A220 open ? - 14:32-16:10 +0 N3023J - -\nf346 2283 BOS-RDU 14:35-16:40 89 E190 open ? - 14:35-16:40 +0 N329JB - -\nf347 2324 MCO-DCA 14:35-16:55 136 A320 open ? - 14:35-16:55 +0 N510JB - -\nf348 190 SAN-JFK 14:39-20:36 134 A321P open ? - 14:39-20:36 +0 N968JT - -\nf349 226 TPA-JFK 14:39-17:29 142 A320 open ? - 14:39-17:29 +0 N594JB - -\nf350 595 HPN-MCO 14:40-17:30 145 A320 open ? - 14:40-17:30 +0 N652JB - -\nf351 640 CLE-BOS 14:41-16:28 76 E190 open ? - 14:41-16:28 +0 N323JB - -\nf352 398 SEA-BOS 14:43-20:15 178 A321 open ? - 14:43-20:15 +0 N907JB - -\nf353 1388 LAX-BOS 14:44-20:26 138 A321P open ? - 14:44-20:26 +0 N947JB - -\nf354 318 JFK-BOS 14:45-16:13 100 A220 open ? - 14:45-16:13 +0 N3169J - -\nf355 378 SFO-FLL 14:45-20:28 135 A321P open ? - 14:45-20:28 +0 N992JB - -\nf356 387 BOS-LAX 14:45-20:51 138 A321P open ? - 14:45-20:51 +0 N945JT - -\nf357 1178 LAS-BOS 14:45-20:00 137 A321P open ? - 14:45-20:00 +0 N989JT - -\nf358 1538 JFK-MVY 14:45-16:01 86 A220 open ? - 14:45-16:01 +0 N3196J - -\nf359 349 BOS-SAV 14:50-17:30 116 A220 open ? - 15:08-17:48 +18 N3215J - -\nf360 1168 PBI-HPN 14:50-17:49 148 A320 open ? - 14:50-17:49 +0 N656JB - -\nf361 1964 JFK-HYA 14:50-16:10 87 A220 open ? - 14:50-16:10 +0 N3058J - -\nf362 285 JFK-RDU 14:55-16:48 147 A320 open ? - 14:55-16:48 +0 N585JB - -\nf363 1004 SJU-JFK 14:55-18:55 150 A320 open ? - 14:55-18:55 +0 N535JB - -\nf364 2065 BOS-RSW 14:55-18:27 124 A220 open ? - 15:11-18:43 +16 N3085J - -\nf365 399 LGA-MCO 14:57-17:58 150 A320 open ? - 14:57-17:58 +0 N640JB - -\nf366 883 JFK-MCO 14:59-18:05 131 A220 open ? - 14:59-18:05 +0 N3156J - -\nf367 1586 MCO-BUF 14:59-17:42 150 A320 open ? - 14:59-17:42 +0 N558JB - -\nf368 1133 MCO-SJU 15:00-18:00 148 A320 open ? - 15:00-18:00 +0 N705JB - -\nf369 1287 PVD-PBI 15:02-18:11 147 A320 open ? - 15:02-18:11 +0 N828JB - -\nf370 1214 DFW-BOS 15:05-19:00 140 A320 open ? - 15:05-19:00 +0 N766JB - -\nf371 1151 ACK-BOS 15:08-16:05 63 E190 open ? - 15:08-16:05 +0 N306JB - -\nf372 2459 BOS-PHL 15:10-16:45 84 E190 open ? - 15:10-16:45 +0 N284JB - -\nf373 391 BOS-TPA 15:14-18:44 180 A321 open ? - 15:14-18:44 +0 N995JL - -\nf374 53 JFK-PBI 15:15-18:21 130 A220 open ? - 15:23-18:29 +8 N3077J - -\nf375 229 BQN-MCO 15:15-18:09 135 A320 open ? - 15:15-18:09 +0 N645JB - -\nf376 1903 RDU-SJU 15:15-18:55 147 A320 open ? - 15:15-18:55 +0 N618JB - -\nf377 1785 BOS-PIT 15:17-17:09 100 A220 open ? - 15:26-17:18 +9 N3145J - -\nf378 1813 BOS-ORF 15:18-17:02 110 A220 open ? - 15:51-17:35 +33 N3203J - -\nf379 37 BDL-MCO 15:20-18:25 143 A320 open ? - 15:20-18:25 +0 N591JB - -\nf380 324 LAX-JFK 15:21-21:00 124 A321P open ? - 15:21-21:00 +0 N979JT - -\nf381 1413 MVY-DCA 15:26-17:00 61 E190 open ? - 15:26-17:00 +0 N324JB - -\nf382 803 JFK-SJU 15:30-19:35 195 A321 open ? - 15:30-19:35 +0 N966JT - -\nf383 1211 JFK-LAS 15:30-21:14 176 A321 open ? - 15:30-21:14 +0 N913JB - -\nf384 394 DEN-BOS 15:33-19:40 144 A320 open ? - 15:33-19:40 +0 N809JB - -\nf385 400 MSY-BOS 15:35-19:05 137 A320 open ? - 15:35-19:05 +0 N598JB - -\nf386 2473 JFK-CHS 15:44-18:04 121 A220 open ? - 15:44-18:04 +0 N3138J - -\nf387 1354 DCA-BOS 15:45-17:20 124 A220 open ? - 15:45-17:20 +0 N3189J - -\nf388 1196 FLL-PVD 15:47-18:52 150 A320 open ? - 15:47-18:52 +0 N834JB - -\nf389 276 SJU-BDL 15:55-19:50 149 A320 open ? - 15:55-19:50 +0 N658JB - -\nf390 471 LGA-FLL 15:55-19:07 150 A320 open ? - 15:55-19:07 +0 N655JB - -\nf391 2052 MCO-BOS 15:55-19:05 129 A320 open ? - 15:55-19:05 +0 N606JB - -\nf392 233 BOS-SFO 15:59-22:43 138 A321P open ? - 15:59-22:43 +0 N976JT - -\nf393 873 EWR-TPA 15:59-19:01 150 A320 open ? - 15:59-19:01 +0 N768JB - -\nf394 1098 MCO-LGA 15:59-18:48 150 A320 open ? - 15:59-18:48 +0 N524JB - -\nf395 1189 JFK-SAN 15:59-21:55 138 A321P open ? - 15:59-21:55 +0 N983JT - -\nf396 2666 HPN-ACK 15:59-17:07 70 E190 open ? - 15:59-17:07 +0 N318JB - -\nf397 1023 JFK-LAX 16:00-22:11 136 A321P open ? - 16:00-22:11 +0 N4073J - -\nf398 2004 RSW-BDL 16:00-18:53 134 A320 open ? - 16:00-18:53 +0 N561JB - -\nf399 2494 DCA-ACK 16:00-17:26 66 E190 open ? - 16:00-17:26 +0 N283JB - -\nf400 495 HPN-MCO 16:05-18:59 145 A320 open ? - 16:05-18:59 +0 N517JB - -\nf401 1115 BOS-BUF 16:05-17:44 81 E190 open ? - 16:05-17:44 +0 N317JB - -\nf402 1143 MHT-MCO 16:05-19:23 139 A320 open ? - 16:05-19:23 +0 N595JB - -\nf403 188 LAX-BOS 16:10-21:53 138 A321P open ? - 16:10-21:53 +0 N986JB - -\nf404 224 LAX-JFK 16:10-21:56 124 A321P open ? - 16:10-21:56 +0 N2151J - -\nf405 416 SFO-JFK 16:10-21:58 138 A321P open ? - 16:10-21:58 +0 N987JT - -\nf406 1355 BOS-DCA 16:15-18:05 87 E190 open ? - 16:15-18:05 +0 N281JB - -\nf407 348 LAS-JFK 16:17-21:29 133 A321P open ? - 16:17-21:29 +0 N942JB - -\nf408 192 ACK-JFK 16:18-17:29 83 A220 open ? - 16:18-17:29 +0 N3257J - -\nf409 507 BOS-BNA 16:19-19:22 133 A320 open ? - 16:19-19:22 +0 N521JB - -\nf410 451 BOS-MCO 16:20-19:49 133 A320 open ? - 16:20-19:49 +0 N794JB - -\nf411 545 ISP-PBI 16:20-19:10 147 A320 open ? - 16:52-19:42 +32 N638JB - -\nf412 2022 FLL-PHL 16:28-19:25 127 A320 open ? - 16:28-19:25 +0 N729JB - -\nf413 220 SAN-BOS 16:30-22:20 138 A321P open ? - 16:30-22:20 +0 N2157J - -\nf414 263 JFK-SEA 16:30-22:58 180 A321 open ? - 17:20-23:48 +50 N970JB - -\nf415 319 BOS-SAN 16:30-22:49 138 A321P open ? - 16:30-22:49 +0 N935JB - -\nf416 618 JFK-BOS 16:30-17:59 100 A220 open ? - 16:30-17:59 +0 N3260J - -\nf417 699 LGA-MCO 16:30-19:37 150 A320 open ? - 16:30-19:37 +0 N641JB - -\nf418 1694 MCO-HPN 16:34-19:29 137 A320 open ? - 16:34-19:29 +0 N559JB - -\nf419 915 BOS-SMF 16:36-23:09 130 A320 open ? - 16:36-23:09 +0 N639JB - -\nf420 1237 BOS-DTW 16:36-18:52 118 A220 open ? - 16:36-18:52 +0 N3258J - -\nf421 1200 LAX-FLL 16:38-22:00 138 A321P open ? - 16:38-22:00 +0 N934JB - -\nf422 1752 SJU-TPA 16:43-19:44 150 A320 open ? - 16:43-19:44 +0 N625JB - -\nf423 1289 EWR-SJU 16:45-20:46 195 A321 open ? - 16:45-20:46 +0 N956JT - -\nf424 2134 SJU-MCO 16:45-19:50 147 A320 open ? - 16:45-19:50 +0 N648JB - -\nf425 509 BOS-JAX 16:50-19:52 142 A320 open ? - 16:50-19:52 +0 N623JB - -\nf426 1174 BNA-JFK 16:52-19:15 113 A220 open ? - 16:52-19:15 +0 N3162J - -\nf427 106 FLL-EWR 16:56-20:00 143 A320 open ? - 16:56-20:00 +0 N659JB - -\nf428 1317 BOS-ATL 16:56-20:00 127 A220 open ? - 16:56-20:00 +0 N3023J - -\nf429 1539 MVY-JFK 16:57-18:05 80 A220 open ? - 16:57-18:05 +0 N3196J - -\nf430 315 JFK-SFO 16:59-23:48 138 A321P open ? - 16:59-23:48 +0 N2169J - -\nf431 358 JFK-BUR 16:59-23:17 130 A220 open ? - 16:59-23:17 +0 N3267J - -\nf432 1278 SFO-FLL 16:59-22:40 135 A321P open ? - 16:59-22:40 +0 N962JT - -\nf433 1523 JFK-LAX 16:59-23:18 135 A321P open ? - 16:59-23:18 +0 N923JB - -\nf434 2129 JFK-RSW 16:59-20:21 150 A320 open ? - 16:59-20:21 +0 N597JB - -\nf435 1252 RSW-HPN 17:00-20:01 126 A320 open ? - 17:00-20:01 +0 N633JB - -\nf436 2230 MKE-BOS 17:03-19:15 118 A220 open ? - 17:03-19:15 +0 N3113J - -\nf437 1417 BOS-JFK 17:05-18:30 91 A220 open ? - 17:05-18:30 +0 N3169J - -\nf438 1727 EWR-MCO 17:07-20:04 150 A320 open ? - 17:07-20:04 +0 N584JB - -\nf439 1579 DCA-FLL 17:10-19:52 124 A220 open ? - 17:10-19:52 +0 N3123J - -\nf440 1348 SJU-DCA 17:12-21:06 186 A321 open ? - 17:12-21:06 +0 N973JT - -\nf441 845 BOS-SYR 17:14-18:38 83 E190 open ? - 17:14-18:38 +0 N306JB - -\nf442 472 FLL-LGA 17:15-20:09 148 A320 open ? - 17:15-20:09 +0 N529JB - -\nf443 1202 JFK-BUF 17:15-19:00 127 A220 open ? - 17:15-19:00 +0 N3195J - -\nf444 1963 HYA-JFK 17:15-18:30 75 A220 open ? - 17:15-18:30 +0 N3058J - -\nf445 624 LAX-JFK 17:20-22:59 124 A321P open ? - 17:20-22:59 +0 N2188J - -\nf446 777 BOS-LAS 17:20-23:11 142 A320 open ? - 17:20-23:11 +0 N534JB - -\nf447 170 FLL-BOS 17:26-20:46 146 A320 open ? - 17:26-20:46 +0 N566JB - -\nf448 1802 FLL-JFK 17:28-20:30 125 A220 open ? - 17:28-20:30 +0 N3139J - -\nf449 69 BOS-FLL 17:29-21:00 145 A320 open ? - 17:29-21:00 +0 N632JB - -\nf450 483 JFK-MCO 17:29-20:40 150 A320 open ? - 17:29-20:40 +0 N520JB - -\nf451 462 SJU-BOS 17:30-21:35 179 A321 open ? - 17:30-21:35 +0 N965JT - -\nf452 520 ATL-JFK 17:30-20:00 139 A320 open ? - 17:30-20:00 +0 N603JB - -\nf453 1152 MCO-BOS 17:30-20:44 139 A320 open ? - 17:30-20:44 +0 N519JB - -\nf454 770 MCO-RIC 17:35-19:40 112 A320 open ? - 17:35-19:40 +0 N568JB - -\nf455 2184 RDU-BOS 17:35-19:40 86 E190 open ? - 17:35-19:40 +0 N329JB - -\nf456 2602 SJU-HPN 17:38-21:30 124 A220 open ? - 17:38-21:30 +0 N3221J - -\nf457 560 PHL-BOS 17:40-19:14 81 E190 open ? - 17:40-19:14 +0 N284JB - -\nf458 433 MCO-SJU 17:44-20:50 148 A320 open ? - 17:44-20:50 +0 N516JB - -\nf459 86 RDU-JFK 17:45-19:30 136 A320 open ? - 17:45-19:30 +0 N585JB - -\nf460 101 FLL-LAX 17:45-23:10 138 A321P open ? - 17:45-23:10 +0 N993JE - -\nf461 1689 PVD-TPA 17:46-20:55 122 A320 open ? - 17:46-20:55 +0 N579JB - -\nf462 1962 PBI-LGA 17:46-20:30 138 A320 open ? - 17:46-20:30 +0 N565JB - -\nf463 135 JFK-PHX 17:47-23:19 138 A320 open ? - 17:47-23:19 +0 N588JB - -\nf464 1873 EWR-LAX 17:50-23:55 133 A321P open ? - 20:05-02:10+1 +135 N2142J - -\nf465 1351 ACK-BOS 17:55-18:51 63 E190 open ? - 17:55-18:51 +0 N318JB - -\nf466 1453 FLL-SJU 17:55-20:34 131 A220 open ? - 17:55-20:34 +0 N3149J - -\nf467 932 IAH-BOS 17:57-21:50 140 A320 open ? - 17:57-21:50 +0 N554JB - -\nf468 1814 ORF-BOS 17:57-19:37 114 A220 open ? - 18:20-20:00 +23 N3203J - -\nf469 1677 JFK-JAX 17:59-20:51 129 A220 open ? - 17:59-20:51 +0 N3152J - -\nf470 2954 DCA-BOS 18:00-19:41 89 E190 open ? - 18:00-19:41 +0 N324JB - -\nf471 1786 PIT-BOS 18:04-19:48 107 A220 open ? - 18:04-19:48 +0 N3145J - -\nf472 304 SJU-JFK 18:05-22:05 150 A320 open ? - 18:05-22:05 +0 N821JB - -\nf473 534 TPA-BDL 18:05-20:58 150 A320 open ? - 18:05-20:58 +0 N526JL - -\nf474 1284 MCO-JFK 18:05-21:01 143 A320 open ? - 18:05-21:01 +0 N709JB - -\nf475 247 BOS-SLC 18:09-23:44 128 A220 open ? - 18:09-23:44 +0 N3142J - -\nf476 1138 AUS-BOS 18:10-22:20 129 A220 open ? - 18:20-22:30 +10 N3125J - -\nf477 2201 JFK-FLL 18:10-21:34 150 A320 open ? - 18:10-21:34 +0 N509JB - -\nf478 734 SFO-BOS 18:15-23:56 138 A321P open ? - 18:15-23:56 +0 N964JT - -\nf479 1955 BOS-DCA 18:15-20:03 122 A220 open ? - 18:15-20:03 +0 N3255J - -\nf480 2876 PVD-MCO 18:16-21:17 138 A320 open ? - 18:16-21:17 +0 N634JB - -\nf481 924 LAX-JFK 18:18-23:59 124 A321P open ? - 18:18-23:59 +0 N980JT - -\nf482 161 JFK-SMF 18:25-00:53+1 183 A321 open ? - 20:35-03:03+1 +130 N974JT - -\nf483 250 SAV-BOS 18:25-21:00 115 A220 open ? - 18:33-21:08 +8 N3215J - -\nf484 697 BOS-ATL 18:25-21:28 147 A320 open ? - 18:25-21:28 +0 N649JB - -\nf485 2080 FLL-DCA 18:25-20:59 120 A220 open ? - 18:25-20:59 +0 N3241J - -\nf486 2122 ACK-HPN 18:26-19:30 65 E190 open ? - 18:26-19:30 +0 N283JB - -\nf487 197 BOS-SEA 18:29-01:04+1 187 A321 open ? - 18:29-01:04+1 +0 N958JB - -\nf488 265 BOS-RSW 18:30-21:58 124 A220 open ? - 18:30-21:58 +0 N3189J - -\nf489 283 JFK-MCO 18:30-21:42 150 A320 open ? - 18:30-21:42 +0 N571JB - -\nf490 516 BUF-BOS 18:30-20:00 83 E190 open ? - 18:30-20:00 +0 N317JB - -\nf491 733 BOS-SFO 18:30-01:15+1 138 A321P open ? - 18:30-01:15+1 +0 N985JT - -\nf492 187 BOS-LAX 18:33-00:59+1 138 A321P open ? - 18:33-00:59+1 +0 N978JB - -\nf493 81 JFK-RNO 18:35-00:46+1 125 A220 open ? - 18:35-00:46+1 +0 N3112J - -\nf494 993 BOS-DEN 18:40-23:24 128 A220 open ? - 18:44-23:28 +4 N3260J - -\nf495 2322 PBI-BOS 18:40-21:49 125 A220 open ? - 18:44-21:53 +4 N3157J - -\nf496 1248 TPA-LGA 18:41-21:33 144 A320 open ? - 18:41-21:33 +0 N760JB - -\nf497 491 BUF-LAX 18:42-23:56 149 A320 open ? - 18:42-23:56 +0 N558JB - -\nf498 65 JFK-ABQ 18:45-23:34 145 A320 open ? - 18:45-23:34 +0 N807JB - -\nf499 355 JFK-ONT 18:50-00:59+1 176 A321 open ? - 20:54-03:03+1 +124 N975JT - -\nf500 1053 JFK-PBI 18:50-21:56 130 A220 open ? - 18:50-21:56 +0 N3257J - -\nf501 2725 JFK-TPA 18:50-22:05 150 A320 open ? - 18:50-22:05 +0 N599JB - -\nf502 95 BOS-PDX 18:55-01:15+1 180 A321 open ? - 18:55-01:15+1 +0 N948JB - -\nf503 798 MCO-LGA 18:55-21:46 150 A320 open ? - 18:55-21:46 +0 N652JB - -\nf504 992 SJU-FLL 18:55-21:34 150 A320 open ? - 18:55-21:34 +0 N663JB - -\nf505 1567 HPN-PBI 18:55-21:49 150 A320 open ? - 18:55-21:49 +0 N656JB - -\nf506 874 TPA-EWR 18:59-22:00 140 A320 open ? - 18:59-22:00 +0 N531JL - -\nf507 1274 CHS-JFK 18:59-21:05 112 A220 open ? - 18:59-21:05 +0 N3138J - -\nf508 2754 DCA-BOS 18:59-20:37 89 E190 open ? - 18:59-20:37 +0 N281JB - -\nf509 823 JFK-LAX 19:00-01:20+1 135 A321P open ? - 19:00-01:20+1 +0 N969JT - -\nf510 2071 FLL-BQN 19:00-21:33 129 A320 open ? - 19:00-21:33 +0 N536JB - -\nf511 2984 MCO-JFK 19:00-21:54 124 A220 open ? - 19:00-21:54 +0 N3156J - -\nf512 1468 PBI-HPN 19:10-22:03 148 A320 open ? - 19:10-22:03 +0 N828JB - -\nf513 824 LAX-JFK 19:20-00:55+1 108 A321P open ? - 19:20-00:55+1 +0 N981JT - -\nf514 2875 MCO-PVD 19:20-22:19 127 A320 open ? - 19:20-22:19 +0 N640JB - -\nf515 2903 JFK-SJU 19:20-23:41 195 A321 open ? - 21:05-01:26+1 +105 N950JT - -\nf516 71 JFK-SLC 19:23-00:59+1 146 A320 open ? - 19:23-00:59+1 +0 N590JB - -\nf517 2466 FLL-BUF 19:27-22:30 147 A320 open ? - 19:27-22:30 +0 N775JB - -\nf518 438 MCO-BDL 19:29-22:25 145 A320 open ? - 19:29-22:25 +0 N645JB - -\nf519 818 JFK-BOS 19:30-21:04 100 A220 open ? - 19:30-21:04 +0 N3196J - -\nf520 1154 PBI-JFK 19:30-22:24 126 A220 open ? - 19:30-22:24 +0 N3077J - -\nf521 1952 MCO-BOS 19:30-22:39 139 A320 open ? - 19:30-22:39 +0 N591JB - -\nf522 2066 RSW-BOS 19:35-22:50 124 A220 open ? - 19:35-22:50 +0 N3085J - -\nf523 715 BOS-BUF 19:39-21:14 81 E190 open ? - 19:39-21:14 +0 N318JB - -\nf524 317 BOS-JFK 19:40-21:04 91 A220 open ? - 19:40-21:04 +0 N3102J - -\nf525 1136 DTW-BOS 19:47-21:41 113 A220 open ? - 19:47-21:41 +0 N3258J - -\nf526 1197 PVD-FLL 19:47-22:59 149 A320 open ? - 19:47-22:59 +0 N834JB - -\nf527 571 LGA-FLL 19:49-22:59 150 A320 open ? - 19:49-22:59 +0 N580JB - -\nf528 1134 SJU-MCO 19:50-22:53 147 A320 open ? - 19:50-22:53 +0 N705JB - -\nf529 711 JFK-LAS 19:54-01:49+1 138 A321P open ? - 19:54-01:49+1 +0 N929JB - -\nf530 201 BUF-JFK 19:55-21:29 121 A220 open ? - 19:55-21:29 +0 N3195J - -\nf531 392 TPA-BOS 19:55-23:05 173 A321 open ? - 19:55-23:05 +0 N995JL - -\nf532 591 BOS-TPA 19:55-23:18 145 A320 open ? - 19:55-23:18 +0 N562JB - -\nf533 548 TPA-HPN 19:56-22:53 139 A320 open ? - 19:56-22:53 +0 N746JB - -\nf534 526 SJU-PVD 19:59-23:51 137 A320 open ? - 19:59-23:51 +0 N563JB - -\nf535 541 BOS-CLE 19:59-22:05 75 E190 open ? - 19:59-22:05 +0 N323JB - -\nf536 914 FLL-HPN 19:59-23:00 139 A320 open ? - 19:59-23:00 +0 N630JB - -\nf537 143 EWR-PBI 20:00-23:05 148 A320 open ? - 20:00-23:05 +0 N586JB - -\nf538 275 BDL-SJU 20:00-23:55 130 A320 open ? - 20:00-23:55 +0 N561JB - -\nf539 473 JFK-BNA 20:00-22:47 128 A220 open ? - 20:00-22:47 +0 N3058J - -\nf540 615 JFK-SFO 20:00-02:44+1 138 A321P open ? - 20:00-02:44+1 +0 N982JB - -\nf541 706 FLL-EWR 20:00-23:00 143 A320 open ? - 20:00-23:00 +0 N796JB - -\nf542 144 PBI-EWR 20:05-22:59 140 A320 open ? - 20:27-23:21 +22 N638JB - -\nf543 745 JFK-PSE 20:06-00:19+1 135 A320 open ? - 20:06-00:19+1 +0 N594JB - -\nf544 884 MCO-JFK 20:08-23:02 143 A320 open ? - 20:08-23:02 +0 N517JB - -\nf545 460 FLL-BDL 20:10-23:15 143 A320 open ? - 20:10-23:15 +0 N789JB - -\nf546 470 FLL-BOS 20:10-23:29 127 A220 open ? - 20:10-23:29 +0 N3062J - -\nf547 2421 BOS-PBI 20:10-23:23 126 A220 open ? - 20:10-23:23 +0 N3113J - -\nf548 506 BNA-BOS 20:17-22:54 127 A320 open ? - 20:17-22:54 +0 N521JB - -\nf549 97 JFK-DEN 20:18-00:59+1 146 A320 open ? - 20:18-00:59+1 +0 N784JB - -\nf550 572 FLL-LGA 20:18-23:14 148 A320 open ? - 20:18-23:14 +0 N564JB - -\nf551 217 PHL-FLL 20:20-23:17 127 A320 open ? - 20:20-23:17 +0 N729JB - -\nf552 954 SJU-FLL 20:20-22:59 150 A320 open ? - 20:20-22:59 +0 N618JB - -\nf553 185 JFK-RDU 20:29-22:28 147 A320 open ? - 20:29-22:28 +0 N547JB - -\nf554 88 FLL-ALB 20:30-23:37 146 A320 open ? - 20:30-23:37 +0 N592JB - -\nf555 613 HPN-FLL 20:30-23:29 139 A320 open ? - 20:30-23:29 +0 N559JB - -\nf556 1245 FLL-SJU 20:30-23:12 150 A320 open ? - 20:30-23:12 +0 N655JB - -\nf557 2073 EWR-LAX 20:30-02:33+1 133 A321P open ? - 06:27+1-12:30+1 +597 N993JE - -\nf558 405 JFK-ORD 20:35-23:33 129 A220 open ? - 20:35-23:33 +0 N3169J - -\nf559 769 RIC-MCO 20:35-22:40 116 A320 open ? - 20:35-22:40 +0 N568JB - -\nf560 607 FLL-LAS 20:36-01:39+1 133 A321P open ? - 20:36-01:39+1 +0 N4080J - -\nf561 369 BOS-FLL 20:40-00:08+1 145 A320 open ? - 20:40-00:08+1 +0 N766JB - -\nf562 903 JFK-SJU 20:40-00:54+1 150 A320 open ? - 20:40-00:54+1 +0 N535JB - -\nf563 2583 JFK-MCO 20:40-23:49 150 A320 open ? - 20:40-23:49 +0 N629JB - -\nf564 277 FLL-SFO 20:45-02:39+1 138 A321P open ? - 20:45-02:39+1 +0 N977JE - -\nf565 561 BOS-SJU 20:45-00:49+1 192 A321 open ? - 20:45-00:49+1 +0 N994JL - -\nf566 810 JAX-BOS 20:49-23:30 128 A320 open ? - 20:49-23:30 +0 N623JB - -\nf567 1751 TPA-SJU 20:50-23:54 150 A320 open ? - 20:50-23:54 +0 N768JB - -\nf568 2102 FLL-JFK 20:50-23:46 178 A321 open ? - 20:50-23:46 +0 N903JB - -\nf569 381 BOS-RIC 20:55-22:47 116 A220 open ? - 20:55-22:47 +0 N3145J - -\nf570 430 MCO-BQN 20:55-23:49 146 A320 open ? - 20:55-23:49 +0 N595JB - -\nf571 719 JFK-ATL 20:55-23:40 148 A320 open ? - 20:55-23:40 +0 N585JB - -\nf572 1146 FLL-RIC 20:55-23:16 129 A320 open ? - 21:45-00:06+1 +50 N632JB - -\nf573 1308 ATL-BOS 20:55-23:38 117 A220 open ? - 20:55-23:38 +0 N3023J - -\nf574 2752 SJU-TPA 20:55-23:55 186 A321 open ? - 20:55-23:55 +0 N966JT - -\nf575 206 BOS-PQI 20:59-22:24 63 E190 open ? - 20:59-22:24 +0 N284JB - -\nf576 907 BOS-BNA 20:59-23:51 123 A320 open ? - 20:59-23:51 +0 N598JB - -\nf577 1761 LGA-PBI 20:59-23:59 143 A320 open ? - 20:59-23:59 +0 N524JB - -\nf578 2128 MCO-EWR 20:59-23:48 149 A320 open ? - 20:59-23:48 +0 N806JB - -\nf579 305 EWR-FLL 21:00-00:10+1 149 A320 open ? - 21:00-00:10+1 +0 N715JB - -\nf580 384 MCO-JFK 21:05-23:59 143 A320 open ? - 21:05-23:59 +0 N641JB - -\nf581 1223 JFK-LAX 21:10-03:29+1 135 A321P open ? - 21:10-03:29+1 +0 N943JT - -\nf582 333 BOS-SFO 21:19-03:59+1 138 A321P open ? - 21:19-03:59+1 +0 N2193J - -\nf583 47 LGA-TPA 21:20-00:10+1 147 A320 open ? - 21:20-00:10+1 +0 N529JB - -\nf584 251 BOS-MCO 21:25-00:35+1 177 A321 open ? - 21:25-00:35+1 +0 N907JB - -\nf585 955 JFK-DCA 21:29-22:58 86 A220 open ? - 21:29-22:58 +0 N3244J - -\nf586 383 JFK-MCO 21:40-00:46+1 186 A321 open ? - 00:51+1-03:57+1 +191 N903JB - -\nf587 1387 BOS-LAX 21:40-04:00+1 138 A321P open ? - 21:40-04:00+1 +0 N989JT - -\nf588 2101 JFK-FLL 21:40-00:59+1 131 A220 open ? - 21:40-00:59+1 +0 N3162J - -\nf589 2501 FLL-LAX 21:40-02:57+1 138 A321P open ? - 21:40-02:57+1 +0 N992JB - -\nf590 704 SJU-JFK 21:45-01:39+1 150 A320 open ? - 21:45-01:39+1 +0 N636JB - -\nf591 820 JFK-DTW 21:45-23:59 109 A220 open ? - 21:45-23:59 +0 N3139J - -\nf592 334 SJU-MCO 21:50-00:47+1 147 A320 open ? - 21:50-00:47+1 +0 N516JB - -\nf593 1186 JFK-ROC 21:50-23:30 115 A220 open ? - 21:50-23:30 +0 N3102J - -\nf594 2626 FLL-RDU 21:50-23:59 122 A320 open ? - 22:19-00:28+1 +29 N509JB - -\nf595 303 JFK-SJU 21:59-02:20+1 195 A321 auto-cancel ? - - - - - -\nf596 972 JFK-MHT 21:59-23:27 45 A320 open ? - 21:59-23:27 +0 N603JB - -\nf597 1195 JFK-PIT 21:59-23:51 85 A220 open ? - 21:59-23:51 +0 N3138J - -\nf598 1990 SJU-EWR 21:59-01:58+1 188 A321 open ? - 21:59-01:58+1 +0 N956JT - -\nf599 923 JFK-LAX 22:10-04:24+1 135 A321P open ? - 22:10-04:24+1 +0 N990JL - -\nf600 102 JFK-BUF 22:15-23:59 127 A220 open ? - 22:15-23:59 +0 N3195J - -\nf601 1433 MCO-SJU 22:15-01:15+1 148 A320 open ? - 22:15-01:15+1 +0 N794JB - -\nf602 2072 BQN-FLL 22:28-00:59+1 121 A320 open ? - 22:28-00:59+1 +0 N536JB - -\nf603 1128 JFK-PVD 22:29-23:49 46 A320 open ? - 22:29-23:49 +0 N657JB - -\nf604 675 JFK-BDL 22:30-23:46 51 A320 open ? - 22:30-23:46 +0 N583JB - -\nf605 1516 JFK-SYR 22:30-23:59 112 A320 open ? - 22:30-23:59 +0 N712JB - -\nf606 308 JFK-PWM 22:45-00:17+1 99 A220 open ? - 22:45-00:17+1 +0 N3156J - -\nf607 539 JFK-BQN 22:55-02:59+1 147 A320 open ? - 22:55-02:59+1 +0 N709JB - -\nf608 1318 JFK-BOS 22:59-00:27+1 115 A320 open ? - 22:59-00:27+1 +0 N703JB - -\nf609 1488 LAX-BOS 23:25-05:00+1 138 A321P open ? - 23:25-05:00+1 +0 N945JT - -\nf610 1190 SAN-JFK 23:30-05:09+1 134 A321P open ? - 23:30-05:09+1 +0 N983JT - -\nf611 1024 LAX-JFK 23:36-05:07+1 125 A321P open ? - 23:36-05:07+1 +0 N4073J - -\nf612 2120 SAN-BOS 00:00+1-05:47+1 138 A321P open ? - 00:00+1-05:47+1 +0 N935JB - -\nf613 916 SMF-BOS 00:04+1-05:30+1 119 A320 open ? - 00:04+1-05:30+1 +0 N639JB - -\nf614 2348 LAS-JFK 00:05+1-05:05+1 166 A321 open ? - 00:05+1-05:05+1 +0 N913JB - -\nf615 198 SEA-BOS 00:13+1-05:25+1 178 A321 open ? - 00:53+1-06:05+1 +40 N970JB - -\nf616 278 SFO-FLL 00:14+1-05:54+1 135 A321P open ? - 00:14+1-05:54+1 +0 N944JT - -\nf617 1574 LAX-EWR 00:20+1-05:42+1 133 A321P open ? - 00:20+1-05:42+1 +0 N993JE - -\nf618 359 BUR-JFK 00:22+1-05:50+1 103 A220 open ? - 00:22+1-05:50+1 +0 N3267J - -\nf619 778 LAS-BOS 00:25+1-05:36+1 139 A320 open ? - 00:25+1-05:36+1 +0 N534JB - -\nf620 136 PHX-JFK 00:37+1-05:35+1 117 A320 open ? - 00:37+1-05:35+1 +0 N588JB - -\nf621 248 SLC-BOS 00:39+1-05:12+1 120 A220 open ? - 00:39+1-05:12+1 +0 N3142J - -\nf622 994 DEN-BOS 00:39+1-04:35+1 124 A220 open ? - 00:39+1-04:35+1 +0 N3260J - -\nf623 492 LAX-BUF 00:46+1-05:38+1 141 A320 open ? - 00:46+1-05:38+1 +0 N558JB - -\nf624 66 ABQ-JFK 00:59+1-05:10+1 124 A320 open ? - 00:59+1-05:10+1 +0 N807JB - -\nf625 700 LAX-FLL 01:15+1-06:30+1 138 A321P open ? - 01:15+1-06:30+1 +0 N937JB - -\nf626 1524 LAX-JFK 01:27+1-07:01+1 124 A321P open ? - 01:27+1-07:01+1 +0 N923JB - -\nf627 816 SFO-JFK 01:30+1-07:03+1 138 A321P open ? - 01:30+1-07:03+1 +0 N976JT - -\nf628 98 DEN-JFK 01:54+1-05:40+1 131 A320 open ? - 01:54+1-05:40+1 +0 N784JB - -\nf629 372 SLC-JFK 01:54+1-06:20+1 142 A320 open ? - 01:54+1-06:20+1 +0 N590JB - -\nf630 162 SMF-JFK 02:08+1-07:29+1 172 A321 open ? - 04:08+1-09:29+1 +120 N974JT - -\nf631 988 LAX-BOS 02:15+1-07:53+1 138 A321P open ? - 02:15+1-07:53+1 +0 N978JB - -\nf632 80 RNO-JFK 02:18+1-07:30+1 106 A220 open ? - 02:18+1-07:30+1 +0 N3112J - -\nf633 264 SEA-JFK 02:20+1-07:38+1 181 A321 open ? - 02:20+1-07:38+1 +0 N958JB - -\nf634 134 SFO-BOS 02:25+1-08:03+1 138 A321P open ? - 02:25+1-08:03+1 +0 N2169J - -\nf635 96 PDX-BOS 02:40+1-08:00+1 177 A321 open ? - 02:40+1-08:00+1 +0 N948JB - -\nf636 1224 LAX-JFK 02:54+1-08:31+1 124 A321P open ? - 02:54+1-08:31+1 +0 N969JT - -\nf637 608 LAS-FLL 02:58+1-07:49+1 137 A321P open ? - 02:58+1-07:49+1 +0 N4080J - -\nf638 454 ONT-JFK 02:59+1-08:30+1 163 A321 open ? - 04:08+1-09:39+1 +69 N975JT - -\nf639 948 LAS-JFK 02:59+1-08:02+1 132 A321P open ? - 02:59+1-08:02+1 +0 N929JB - -\n\n## Aircraft now, as your plan has them (@ = ready at)\nBOS: N2157J@05:56 N2193J N281JB N283JB N3023J N3102J N3113J@05:42 N3115J N3125J N3139J N3142J N3157J N318JB N3215J N3221J N3232J N3260J@06:38 N329JB N4080J N524JB@08:30 N526JL N534JB N552JB N562JB N598JB@06:08 N623JB N636JB N639JB N649JB N766JB N794JB@15:34 N809JB N907JB N945JT@09:35 N958JB@08:19 N964JT@06:12 N967JT N980JT@08:21 N986JB@05:30 N989JT N994JL N995JL\nJFK: N2142J N2151J N2169J@15:15 N2188J@05:30 N3112J N3162J@13:15 N3169J@09:14 N3196J@06:45 N3244J N3267J@08:54 N4073J@11:25 N509JB@06:05 N520JB N564JB N585JB@13:30 N590JB@05:52 N597JB@05:33 N613JB N630JB N632JB@07:31 N657JB N703JB@22:10 N784JB@18:38 N807JB@17:25 N821JB@08:07 N828JB N913JB N929JB N942JB N943JT N944JT@08:05 N947JB N950JT N965JT@05:10 N966JT@07:10 N968JT N970JB@17:20 N974JT@20:35 N979JT N981JT@08:44 N983JT@09:03 N987JT\nALB: N806JB\nATL: N629JB@04:48 N646JB\nBDL: N535JB N563JB N588JB N648JB N763JB\nBNA: N3058J N521JB@07:25\nBQN: N665JB N746JB@05:11\nBUF: N306JB N3077J N529JB N595JB@06:33\nCLE: N284JB\nDCA: N3152J N3189J N3241J N517JB N973JT\nDTW: N3229J\nEWR: N510JB N586JB N589JB N594JB N656JB@06:14 N789JB N956JT\nFLL: N3044J N3123J@06:15 N3149J N3257J N536JB N547JB N565JB N566JB N621JB N640JB N651JB N655JB N658JB@06:15 N659JB N796JB@18:42 N934JB@09:20 N962JT@08:15 N977JE@07:09 N990JL N992JB@06:52\nHPN: N324JB@08:19 N531JL N652JB N663JB N729JB@05:16 N760JB\nJAX: N3203J\nLAX: N937JB@04:33 N969JT N976JT N978JB@04:34 N982JB@05:31 N993JE@04:16\nLGA: N580JB N591JB N638JB@09:00 N834JB\nMCO: N516JB@09:24 N519JB@07:15 N523JB N571JB@13:05 N592JB N599JB N606JB N607JB N633JB@04:20 N645JB@10:35 N705JB N715JB@10:55 N775JB N804JB N827JB N948JB N975JT\nMHT: N712JB\nORD: N603JB\nPBI: N3085J N3195J N558JB N579JB N584JB\nPIT: N3156J\nPQI: N323JB\nPSE: N643JB\nPVD: N504JB N583JB N618JB\nPWM: N3138J\nRDU: N556JB N805JB\nRIC: N3251J N587JB\nROC: N3145J\nRSW: N3258J N624JB\nSFO: N923JB N935JB N985JT@04:31 N988JT\nSJU: N2086J@05:39 N3062J N3255J N561JB N568JB N625JB@12:05 N641JB N709JB N905JB N972JT\nSYR: N317JB N605JB\nTPA: N554JB N559JB N570JB N634JB@13:39 N768JB N903JB\nairborne: none\n\n## News so far\n[13:43-1] JFK proposed ground delay program 17:00-1-23:59-1, rate 36/36/36/36/36/42/42 arrivals/h (all carriers), average delay 109 min, max 170 [advisory adv-20250715-078, signed 13:43-1]\n[14:06-1] JFK ground delay program 17:00-1-22:59-1, rate 40/40/40/40/40/42 arrivals/h (all carriers), average delay 73 min, max 117 [advisory adv-20250715-085, signed 14:06-1]\n[19:41-1] JFK other 19:40-1-23:00-1 [advisory adv-20250715-146, signed 19:41-1]\n[21:10-1] JFK GDP cancelled 21:05-1-16:37 [advisory adv-20250716-011, signed 21:10-1]\n[22:30-1] TAF AMD KJFK 160230Z 1603/1706 20008KT P6SM FEW040 FM160500 21005KT P6SM FEW040 FM160800 VRB03KT P6SM FEW015 FEW040 TEMPO 1608/1612 5SM BR FM161200 18007KT P6SM FEW025 FEW040 FM161800 18012KT P6SM SCT050 PROB30 1622/1701 3SM -TSRA BKN050CB FM170100 20008KT P6SM BKN050=\n[01:21] TAF KBOS 160521Z 1606/1712 23007KT P6SM SKC FM161500 13008KT P6SM SCT250 FM161800 19012KT P6SM BKN250 FM170600 21007KT P6SM BKN025=\n[01:40] TAF KJFK 160540Z 1606/1712 23006KT P6SM FEW250 TEMPO 1609/1611 5SM BR FM161200 20006KT P6SM FEW015 SCT250 FM161500 18010KT P6SM SCT100 SCT250 FM161900 18013KT P6SM FEW045 SCT100 SCT250 FM170100 19010KT P6SM SCT150 SCT250 FM170300 21008KT P6SM SCT045 BKN100 PROB30 1704/1707 -SHRA=\n[02:51] KJFK 160651Z 25005KT 10SM FEW250 26/24 A3006 RMK AO2 SLP178 T02610244 $\n[02:54] KBOS 160654Z 22004KT 10SM CLR 24/22 A3003 RMK AO2 SLP169 T02390222\n[03:51] KJFK 160751Z 23005KT 10SM FEW250 25/24 A3005 RMK AO2 SLP176 T02500244 $\n[03:54] KBOS 160754Z 19004KT 10SM CLR 23/22 A3003 RMK AO2 SLP168 T02280217\n\nIt is the first watch, 04:00. Nothing is frozen yet: set the day up with confirm_changes, then call advance.", + "max_turns": 279, + "model_params": { + "max_tokens": 32000 + }, + "timeout_seconds": 7200 + }, + { + "id": "end-day", + "type": "apply_server_config", + "env_id": "airops-v3-day", + "directives": [ + { + "service": "airops-v3-day", + "uri": "urn:airops:v3-end-day/v1", + "args": {} + } + ] + }, + { + "id": "grade", + "type": "env_outcome_verifier", + "env_id": "airops-v3-day", + "file_artifact_id": "airops-verifier", + "verifier_id": "airops", + "score_aggregator": "weighted_average" + } +] diff --git a/src/agentenv_airops/bundles/airops-v3/tasks/b6-20250725-0400.json b/src/agentenv_airops/bundles/airops-v3/tasks/b6-20250725-0400.json new file mode 100644 index 0000000..a9ba2d3 --- /dev/null +++ b/src/agentenv_airops/bundles/airops-v3/tasks/b6-20250725-0400.json @@ -0,0 +1,71 @@ +[ + { + "id": "deploy", + "type": "deploy_env", + "env_id": "airops-v3-day" + }, + { + "id": "load-task", + "type": "apply_server_config", + "env_id": "airops-v3-day", + "directives": [ + { + "service": "airops-v3-day", + "uri": "urn:airops:v3-live-load/v1", + "args": { + "task_id": "b6-20250725-0400", + "anchor": 3682239, + "follower": 3870409 + } + } + ] + }, + { + "id": "deploy-agent", + "type": "deploy_agent", + "a2a_agent_id": "airops-llm", + "env_ids": [ + "airops-v3-day" + ] + }, + { + "id": "clock", + "type": "sync_env_clock", + "env_id": "airops-v3-day", + "virtual_time": "2025-07-25T08:00:00Z", + "virtual_seconds_per_real_second": 0, + "tolerate_missing_sync_time": false + }, + { + "id": "play", + "type": "prompt_agent", + "prompt_id": "b6-20250725-0400", + "system_prompt": "You run the JetBlue operations desk on a storm day at JFK and BOS: thunderstorms, snow or wind, and the FAA ground stops and ground delay programs (GDPs) that follow, cut how many JetBlue flights can land and take off. Your job is to decide which flights to cancel and which to hold, watch by watch, so that passengers and the airline lose as little as possible over the day.\n\nHow the day runs:\n- The day is played in watches starting at watch 0: one an hour, and one more when an advisory or a SPECI reaches the desk or a ramp closure begins or ends, so watches are 15 to 60 minutes apart. The first message gives the day as the desk knows it at watch 0. Every tool call takes 1 minute of the watch; when the watch's time runs out, the next watch opens by itself, and advance opens it at once.\n- What the desk knows: a flight's own departure delay (weather, air traffic control: anything but waiting for its aircraft or a slot) becomes known 2 hours before its scheduled departure; until then it is assumed on time. FAA Command Center advisories and the hubs' METARs, SPECIs and TAFs arrive as messages at the first watch after they reach the desk: an advisory 0 minutes after it is signed, a METAR 5 and a SPECI 5 minutes after its observation, a TAF 10 minutes after its issue, and the programs table shows the programs as issued, proposed GDPs included; a program may end earlier or later than issued.\n- Ground delay programs: a GDP meters arrivals at a hub over its period. A flight into the hub from an origin in its scope, scheduled to land in the period, needs one of JetBlue's arrival slots in the program: it takes the earliest free slot at or after the time it could land and leaves at its EDCT, the slot less its scheduled block. A cancelled or late flight leaves its slot to the flights behind it. Arrivals outside a program fit under the hub's hourly rate.\n- Ground stops: a flight to a stopped hub from an origin the stop covers waits on the ground until the stop ends; flights already airborne fly on.\n- Departure caps: an airport may take only so many JetBlue departures in an hour (the departure caps table, known 4 hours ahead); a flight with no room in its hour tries again at the next hour's start.\n- Outstation arrival caps: an outstation may take only so many JetBlue arrivals in an hour (the outstation arrival caps table, known 4 hours ahead); a flight with no room in its arrival hour leaves so as to land in the next one.\n- Ramp closures: lightning at the field cuts a hub's ramp rate without stopping it. During a closure only so many JetBlue flights may leave the hub and only so many arrive there; a departure with no room leaves at the closure's end, an arrival with none leaves so as to land at it. A closure is known once it begins; until its end comes it is expected to last 30 minutes more, with caps for that long, and the closures table says which ends are reported and which expected.\n- The env flies your plan on the day as it happens: each flight leaves at the earliest time its delay, its hold, a slot, a stop, a cap and an aircraft allow. It takes the first aircraft of its type ready at its origin (aircraft of one type at one airport are interchangeable; an aircraft needs its turn time on the ground between flights). A flight that can't leave by its deadline is cancelled automatically there. At the end of the day the env ferries each aircraft to the airport it is needed at tomorrow.\n- Your decisions: cancel a flight (its aircraft stays on the ground, free for other flights, and its slot goes to the flights behind), restore a cancelled flight, or hold a flight until a time (not_before) so that its slot or aircraft goes to another flight first. A flight you don't touch leaves as early as it can.\n- The freeze: at watch 0 nothing is frozen. From watch 1 on, flights your plan has leaving before the freeze line, 60 minutes after the watch opens, are frozen: they can't be changed, and stay frozen. A cancellation is final. The env holds any other flight your plan would have leaving before the freeze line to it, and refuses a change that would move a frozen flight or one that has already gone.\n\nTools:\n- get_situation(): the time, the freeze line, the programs as issued with JetBlue's slots, the departure caps known so far, the outstation arrival caps known so far, the ramp closures under way or over, the latest METAR or SPECI and TAF per hub, every flight (its status, its known delay, your plan, where your plan has it leave and land on the day as known, how late it lands, its aircraft, its slot and its crew), where the aircraft are, and the news so far.\n- check_plan(changes): your changes over your plan, run on the day as known now: the plan's cost, the flights whose plan or times change, the automatic cancellations, the flights the env would hold to the freeze line, and the changes confirm_changes would refuse. It confirms nothing.\n- confirm_changes(changes): commits the changes; flights you leave out keep their plan.\n- advance(): ends the watch; its result has the new watch's news. After the last watch it returns \"done\": the day is graded on your plan.\nA change is {\"flight\": \"f12\", \"action\": \"cancel\" | \"restore\" | \"hold\" | \"call_reserve\" | \"release_reserve\", \"not_before\": \"HH:MM\" | null}: cancel takes not_before null; restore and hold fly the flight, held until not_before (local time, \"00:30+1\" after midnight), or as early as it can with null. Where a crew base has a reserve pool (the situation's Reserve crews), a flight leaving it past its crew's deadline flies only on a reserve: call_reserve gives it one while the pool lasts, release_reserve hands it back before that deadline.\n\nThe cost, in passenger-minutes: every passenger's minutes of arrival delay; 523 for each passenger on a cancelled flight, plus one for every minute the cancellation is decided later than 2 hours before its scheduled departure (an automatic cancellation is decided at its deadline, so it costs more than an early one); the airline's own aircraft minutes (a late departure costs crew and fixed costs, a long block fuel too, and a cancellation saves its fuel and maintenance); and the end-of-day ferries. A cancellation frees an aircraft and a slot; it pays when it saves the others more than it costs its own passengers. The day is graded once, on your final plan flown on the day as it really happened: the closer its cost to the best plan possible in hindsight, the higher the score. If you stop before the last watch, the rest of the day runs on your plan.", + "prompt": "# JetBlue operations desk, JFK/BOS, Friday 2025-07-25; times are local (America/New_York).\n\nNow 04:00 (watch 0, opened 04:00). First watch: nothing is frozen; changes take effect at once.\n\nYour plan on the day as known costs 187,880 (delay 150,930, cancellations 0, notice 0, ferries 0): 0 cancelled, 0 cancelled automatically, 0 on slots.\n\n## Programs as issued (FAA Command Center)\nNone.\n\n## Departure caps: JetBlue departures per hour, known 240 min ahead\nBOS: 08h 10\n\n## Outstation arrival caps: JetBlue arrivals per hour, known 240 min ahead\nLGA: 08h 1\nORD: 08h 1\nRDU: 08h 2\n\n## Ramp closures (lightning at the field; known once begun)\nNone.\n\n## Latest weather (METAR or SPECI, and TAF)\n[03:54] KBOS 250754Z 21006KT 10SM FEW250 22/19 A2992 RMK AO2 SLP131 T02220194 $\n[01:39] TAF KBOS 250539Z 2506/2612 22013KT P6SM SCT250 FM251500 22010G18KT P6SM BKN090 PROB30 2519/2523 4SM -TSRA OVC030CB FM252300 30007KT P6SM BKN070 FM260200 34007KT P6SM FEW080 FEW250 FM261000 01007KT P6SM FEW250=\n[03:51] KJFK 250751Z 24011KT 10SM FEW075 SCT250 24/20 A3000 RMK AO2 SLP159 T02440200 $\n[01:21] TAF KJFK 250521Z 2506/2612 21010KT P6SM FEW250 FM250700 22010KT P6SM SCT250 FM251800 21012KT P6SM SCT050 SCT250 TEMPO 2520/2524 4SM TSRA BR BKN050CB FM260000 32009KT P6SM FEW050 BKN250 FM260700 35010KT P6SM SCT250=\n\n## Flights (sched = scheduled dep-arr; delay = known delay, ? not yet; plan = cancel or hold@HH:MM; proj = where your plan has it leave and land on the day as known; late = arrival delay; slot = its GDP slot; crew = crew deadline/rest end, +R on a reserve crew)\nid flight route sched pax type status delay plan proj late tail slot crew\nf0 729 BQN-MCO 05:01-07:52 145 A320 open -12 - 04:49-07:25 -27 N593JB - -\nf1 1233 MCO-SJU 05:01-08:01 148 A320 open 0 - 05:01-07:48 -13 N579JB - -\nf2 1434 SJU-MCO 05:01-08:02 147 A320 open -6 - 04:55-07:50 -12 N653JB - -\nf3 2539 JFK-BQN 05:01-08:49 147 A320 open -4 - 04:57-08:33 -16 N506JB - -\nf4 767 MCO-PSE 05:05-08:02 144 A320 open -7 - 04:58-07:43 -19 N517JB - -\nf5 917 BOS-JFK 05:15-06:30 105 A320 open -6 - 05:09-06:14 -16 N552JB - -\nf6 403 JFK-SJU 05:25-09:15 150 A320 open -1 - 05:24-09:00 -15 N588JB - -\nf7 1889 EWR-SJU 05:35-09:30 195 A321 open 5 - 05:40-09:28 -2 N955JB - -\nf8 2001 BUF-JFK 05:35-07:00 121 A220 open -6 - 05:29-06:50 -10 N3077J - -\nf9 207 PQI-BOS 05:45-07:09 68 E190 open -4 - 05:41-06:49 -20 N323JB - -\nf10 87 ALB-FLL 06:00-09:15 146 A320 open -7 - 05:53-08:59 -16 N641JB - -\nf11 123 JFK-LAX 06:00-11:55 136 A321P open -5 - 05:55-11:32 -23 N2105J - -\nf12 130 RSW-JFK 06:00-08:48 141 A320 open -8 - 05:52-08:39 -9 N510JB - -\nf13 166 RSW-BOS 06:00-09:10 124 A220 open -4 - 05:56-09:20 +10 N3139J - -\nf14 306 FLL-EWR 06:00-08:55 143 A320 open -6 - 05:54-08:40 -15 N584JB - -\nf15 311 BOS-ORD 06:00-08:55 122 A220 open -1 - 05:59-08:40 -15 N3185J - -\nf16 322 PBI-BOS 06:00-09:10 125 A220 open -3 - 05:57-09:06 -4 N3221J - -\nf17 382 RIC-BOS 06:00-07:40 120 A220 open -1 - 05:59-07:36 -4 N3240J - -\nf18 525 PVD-SJU 06:00-09:48 146 A320 open -4 - 05:56-09:39 -9 N516JB - -\nf19 562 SJU-BOS 06:00-10:07 145 A320 open 164 - 08:44-12:37 +150 N589JB - -\nf20 696 ATL-BOS 06:00-08:33 135 A320 open -3 - 05:57-08:29 -4 N565JB - -\nf21 737 BDL-MCO 06:00-08:53 143 A320 open -5 - 05:55-08:37 -16 N554JB - -\nf22 891 BOS-TPA 06:00-09:15 126 A220 open -12 - 05:48-08:49 -26 N3023J - -\nf23 927 EWR-MCO 06:00-08:42 150 A320 open 5 - 06:05-08:53 +11 N633JB - -\nf24 1062 PBI-LGA 06:00-08:43 138 A320 open 37 - 06:37-09:07 +24 N583JB - -\nf25 1076 PVD-MCO 06:00-08:54 128 A320 open 12 - 06:12-08:59 +5 N821JB - -\nf26 1192 TPA-BOS 06:00-09:05 140 A320 open -2 - 05:58-08:59 -6 N570JB - -\nf27 1201 FLL-LAX 06:00-11:18 138 A321P open 2 - 06:02-11:18 +0 N985JT - -\nf28 1419 DTW-JFK 06:00-07:45 105 A220 open -4 - 05:56-07:40 -5 N3194J - -\nf29 1515 SYR-JFK 06:00-07:13 110 A320 open -7 - 05:53-06:54 -19 N640JB - -\nf30 1652 MCO-BOS 06:00-09:04 172 A321 open -6 - 05:54-09:00 -4 N957JB - -\nf31 1883 BOS-RDU 06:00-08:05 124 A220 open -7 - 05:53-07:42 -23 N3085J - -\nf32 1911 EWR-RSW 06:00-08:58 138 A320 open -4 - 05:56-08:49 -9 N568JB - -\nf33 2133 MCO-SJU 06:00-09:00 148 A320 open -3 - 05:57-08:53 -7 N587JB - -\nf34 2904 SJU-JFK 06:00-09:59 190 A321 open 25 - 06:25-10:08 +9 N995JL - -\nf35 234 SJU-MCO 06:01-09:03 147 A320 open ? - 06:01-09:03 +0 N746JB - -\nf36 302 FLL-JFK 06:03-08:59 144 A320 open ? - 06:03-08:59 +0 N586JB - -\nf37 307 PWM-JFK 06:05-07:24 90 A220 open ? - 06:05-07:24 +0 N3229J - -\nf38 538 BQN-JFK 06:05-09:57 139 A320 open ? - 06:05-09:57 +0 N638JB - -\nf39 1333 BOS-SFO 06:05-12:44 126 A321P open ? - 06:05-12:44 +0 N2157J - -\nf40 493 BOS-DEN 06:06-10:34 148 A320 open ? - 06:06-10:34 +0 N559JB - -\nf41 1368 PBI-HPN 06:06-09:00 148 A320 open ? - 06:06-09:00 +0 N566JB - -\nf42 115 JFK-SFO 06:15-12:45 138 A321P open ? - 06:15-12:45 +0 N2165J - -\nf43 351 BOS-MCO 06:15-09:22 143 A320 open ? - 06:15-09:22 +0 N591JB - -\nf44 1285 ROC-JFK 06:15-07:39 105 A220 open ? - 06:15-07:39 +0 N3203J - -\nf45 540 CLE-BOS 06:19-08:05 76 E190 open ? - 06:19-08:05 +0 N284JB - -\nf46 109 BOS-JAX 06:20-09:07 123 A220 open ? - 06:20-09:07 +0 N3215J - -\nf47 1678 JAX-JFK 06:20-08:40 126 A220 open ? - 06:20-08:40 +0 N3258J - -\nf48 1950 FLL-BDL 06:20-09:15 143 A320 open ? - 06:20-09:15 +0 N590JB - -\nf49 287 BOS-LAX 06:25-12:40 138 A321P open ? - 06:25-12:40 +0 N4077J - -\nf50 2255 BOS-DCA 06:25-08:05 87 E190 open ? - 06:25-08:05 +0 N281JB - -\nf51 254 DCA-JFK 06:30-07:43 90 A220 open ? - 06:30-07:43 +0 N3044J - -\nf52 411 JFK-LAS 06:30-12:00 138 A321P open ? - 06:30-12:00 +0 N929JB - -\nf53 599 LGA-MCO 06:30-09:12 150 A320 open ? - 06:30-09:12 +0 N703JB - -\nf54 1083 JFK-MCO 06:30-09:14 140 A320 open ? - 06:30-09:14 +0 N655JB - -\nf55 2718 JFK-BOS 06:30-07:44 100 A220 open ? - 06:30-07:44 +0 N3113J - -\nf56 569 BOS-FLL 06:35-10:00 125 A220 open ? - 06:35-10:00 +0 N3242J - -\nf57 126 TPA-JFK 06:45-09:29 142 A320 open ? - 06:45-09:29 +0 N657JB - -\nf58 959 BDL-FLL 06:45-09:58 148 A320 open ? - 06:45-09:58 +0 N562JB - -\nf59 2285 JFK-RDU 06:45-08:24 147 A320 open ? - 06:45-08:24 +0 N712JB - -\nf60 2625 RDU-FLL 06:45-08:55 132 A320 open ? - 06:45-08:55 +0 N635JB - -\nf61 1184 MCO-JFK 06:46-09:29 177 A321 open ? - 06:46-09:29 +0 N913JB - -\nf62 286 RDU-JFK 06:47-08:30 136 A320 open ? - 06:47-08:30 +0 N612JB - -\nf63 741 JFK-SAV 06:50-09:01 118 A220 open ? - 06:50-09:01 +0 N3115J - -\nf64 1480 FLL-DCA 06:50-09:20 120 A220 open ? - 06:50-09:20 +0 N3065J - -\nf65 1601 JFK-FLL 06:54-09:59 187 A321 open ? - 06:54-09:59 +0 N997JL - -\nf66 223 JFK-LAX 06:55-12:52 135 A321P open ? - 06:55-12:52 +0 N942JB - -\nf67 205 EWR-FLL 06:59-09:54 149 A320 open ? - 06:59-09:54 +0 N706JB - -\nf68 1067 HPN-PBI 06:59-09:46 150 A320 open ? - 06:59-09:46 +0 N558JB - -\nf69 165 BOS-RSW 07:00-10:28 124 A220 open ? - 07:00-10:28 +0 N3255J - -\nf70 379 DCA-FLL 07:00-09:35 124 A220 open ? - 07:00-09:35 +0 N3142J - -\nf71 619 BOS-SAN 07:00-13:04 138 A321P open ? - 07:00-13:04 +0 N969JT - -\nf72 690 FLL-BOS 07:00-10:14 127 A220 open ? - 07:00-10:14 +0 N3138J - -\nf73 814 FLL-HPN 07:00-10:00 139 A320 open ? - 07:00-10:00 +0 N639JB - -\nf74 971 MHT-JFK 07:00-08:14 46 A320 open ? - 07:00-08:14 +0 N526JL - -\nf75 1074 BNA-JFK 07:00-09:27 113 A220 open ? - 07:00-09:27 +0 N3118J - -\nf76 1145 RIC-FLL 07:00-09:23 136 A320 open ? - 07:00-09:23 +0 N665JB - -\nf77 1198 PIT-JFK 07:00-08:30 69 A220 open ? - 07:00-08:30 +0 N3156J - -\nf78 1246 SJU-FLL 07:00-09:41 130 A220 open ? - 07:00-09:41 +0 N3169J - -\nf79 1471 LGA-FLL 07:00-10:00 150 A320 open ? - 07:00-10:00 +0 N828JB - -\nf80 1476 SJU-BDL 07:00-10:53 149 A320 open ? - 07:00-10:53 +0 N805JB - -\nf81 1551 HPN-RSW 07:00-09:56 122 A320 open ? - 07:00-09:56 +0 N629JB - -\nf82 2020 FLL-ORH 07:00-09:58 97 A220 open ? - 07:00-09:58 +0 N3260J - -\nf83 2274 TPA-EWR 07:00-09:49 140 A320 open ? - 07:00-09:49 +0 N806JB - -\nf84 1130 FLL-CHS 07:05-08:45 85 A220 open ? - 07:05-08:45 +0 N3132J - -\nf85 320 ATL-JFK 07:06-09:29 172 A321 open ? - 09:21-11:44 +135 N970JB - -\nf86 1129 PVD-JFK 07:07-08:09 55 A320 open ? - 07:07-08:09 +0 N598JB - -\nf87 417 BOS-JFK 07:10-08:30 105 A320 open ? - 07:10-08:30 +0 N708JB - -\nf88 1585 BOS-PIT 07:10-09:03 100 A220 open ? - 07:10-09:03 +0 N3125J - -\nf89 676 BDL-JFK 07:12-08:14 72 A320 open ? - 07:12-08:14 +0 N613JB - -\nf90 2144 PBI-EWR 07:12-10:00 140 A320 open ? - 07:12-10:00 +0 N634JB - -\nf91 397 BOS-SEA 07:15-13:33 187 A321 open ? - 07:15-13:33 +0 N949JT - -\nf92 656 MCO-SYR 07:15-10:02 131 A320 open ? - 07:15-10:02 +0 N623JB - -\nf93 1219 BOS-MIA 07:15-10:44 124 A220 open ? - 07:15-10:44 +0 N3189J - -\nf94 2751 TPA-SJU 07:15-10:20 189 A321 open ? - 07:15-10:20 +0 N903JB - -\nf95 406 ORD-JFK 07:16-09:29 118 A220 open ? - 07:16-09:29 +0 N3257J - -\nf96 598 MCO-LGA 07:19-10:00 150 A320 open ? - 07:19-10:00 +0 N651JB - -\nf97 2465 BUF-FLL 07:20-10:20 150 A320 open ? - 07:20-10:20 +0 N621JB - -\nf98 716 BUF-BOS 07:22-08:42 83 E190 open ? - 07:22-08:42 +0 N329JB - -\nf99 189 JFK-SAN 07:30-13:30 138 A321P open ? - 07:30-13:30 +0 N945JT - -\nf100 953 JFK-PBI 07:30-10:29 150 A320 open ? - 07:30-10:29 +0 N789JB - -\nf101 1236 DTW-BOS 07:30-09:26 113 A220 open ? - 07:30-09:26 +0 N3102J - -\nf102 1447 HPN-TPA 07:30-10:18 150 A320 open ? - 07:30-10:18 +0 N630JB - -\nf103 1602 JFK-BUF 07:30-09:00 127 A220 open ? - 07:30-09:00 +0 N3157J - -\nf104 257 BOS-BZN 07:40-12:37 140 A320 open ? - 07:40-12:37 +0 N804JB - -\nf105 991 FLL-SJU 07:40-10:19 150 A320 open ? - 07:40-10:19 +0 N784JB - -\nf106 1177 BOS-LAS 07:41-13:30 138 A321P open ? - 07:41-13:30 +0 N984JB - -\nf107 163 JFK-SRQ 07:45-10:43 129 A220 open ? - 07:45-10:43 +0 N3267J - -\nf108 374 SYR-BOS 07:45-08:54 82 E190 open ? - 07:45-08:54 +0 N283JB - -\nf109 377 FLL-SFO 07:45-13:35 138 A321P open ? - 07:45-13:35 +0 N988JT - -\nf110 1573 EWR-LAX 07:45-13:32 133 A321P open ? - 07:45-13:32 +0 N978JB - -\nf111 2423 DCA-MCO 07:45-10:05 132 A320 open ? - 07:45-10:05 +0 N524JB - -\nf112 1247 LGA-TPA 07:59-10:49 147 A320 open ? - 07:59-10:49 +0 N827JB - -\nf113 455 BOS-DCA 08:00-09:41 87 E190 open ? - 08:00-09:41 +0 N306JB - -\nf114 514 FLL-ISP 08:00-10:51 150 A320 open ? - 08:00-10:51 +0 N793JB - -\nf115 633 BOS-IAH 08:00-12:12 125 A220 open ? - 08:00-12:12 +0 N3104J - -\nf116 651 BOS-MCO 08:00-11:11 124 A220 open ? - 08:00-11:11 +0 N3162J - -\nf117 687 BOS-LAX 08:00-14:12 138 A321P open ? - 08:00-14:12 +0 N923JB - -\nf118 861 BOS-SJU 08:00-12:06 150 A320 open ? - 08:00-12:06 +0 N809JB - -\nf119 1033 MCO-SJU 08:00-11:00 137 A320 open ? - 08:00-11:00 +0 N775JB - -\nf120 1273 JFK-CHS 08:00-10:15 140 A320 open ? - 08:00-10:15 +0 N531JL - -\nf121 1293 BOS-ILM 08:00-10:03 102 A220 open ? - 08:00-10:03 +0 N3152J - -\nf122 1347 DCA-SJU 08:00-11:59 185 A321 open ? - 08:00-11:59 +0 N994JL - -\nf123 1475 BDL-SJU 08:00-11:50 130 A320 open ? - 08:00-11:50 +0 N794JB - -\nf124 2016 FLL-PHL 08:00-10:52 127 A320 open ? - 08:00-10:52 +0 N715JB - -\nf125 2601 HPN-SJU 08:00-11:45 132 A220 open ? - 08:00-11:45 +0 N3195J - -\nf126 2926 FLL-RDU 08:00-10:03 122 A320 open ? - 08:00-10:03 +0 N563JB - -\nf127 323 JFK-LAX 08:01-14:01 135 A321P open ? - 08:01-14:01 +0 N990JL - -\nf128 1159 BOS-PHL 08:05-09:38 84 E190 open ? - 08:05-09:38 +0 N317JB - -\nf129 1334 SJU-MCO 08:05-11:07 147 A320 open ? - 08:05-11:07 +0 N618JB - -\nf130 519 JFK-ATL 08:10-10:36 128 A220 open ? - 08:10-10:36 +0 N3275J - -\nf131 806 BNA-BOS 08:10-10:44 118 A320 open ? - 08:10-10:44 +0 N521JB - -\nf132 1497 JFK-DEN 08:10-12:25 146 A320 open ? - 08:10-12:25 +0 N644JB - -\nf133 1 JFK-FLL 08:15-11:31 187 A321 open ? - 08:15-11:31 +0 N954JB - -\nf134 854 PBI-JFK 08:15-11:00 126 A220 open ? - 08:15-11:00 +0 N3247J - -\nf135 215 JFK-SFO 08:20-14:57 138 A321P open ? - 08:20-14:57 +0 N962JT - -\nf136 1707 FLL-LAS 08:20-13:17 133 A321P open ? - 08:20-13:17 +0 N947JB - -\nf137 762 SJU-BOS 08:25-12:35 179 A321 open ? - 08:25-12:35 +0 N950JT - -\nf138 837 BOS-DTW 08:25-10:37 118 A220 open ? - 08:25-10:37 +0 N3149J - -\nf139 183 JFK-MCO 08:29-11:21 131 A220 open ? - 08:29-11:21 +0 N3077J - -\nf140 85 BUF-MCO 08:30-11:05 150 A320 open ? - 11:05-13:40 +155 N569JB - -\nf141 813 HPN-FLL 08:30-11:25 139 A320 open ? - 08:30-11:25 +0 N599JB - -\nf142 1018 JFK-BOS 08:30-09:51 100 A220 open ? - 08:30-09:51 +0 N3229J - -\nf143 2277 BOS-AVL 08:30-10:54 103 A220 open ? - 08:30-10:54 +0 N3145J - -\nf144 1241 BDL-PBI 08:35-11:35 138 A320 open ? - 08:35-11:35 +0 N632JB - -\nf145 1295 BOS-BUF 08:35-10:09 128 A321P open ? - 08:35-10:09 +0 N2156J - -\nf146 1117 BOS-JFK 08:40-09:59 91 A220 open ? - 09:00-10:19 +20 N3232J - -\nf147 1854 DCA-BOS 08:40-10:16 89 E190 open ? - 08:42-10:18 +2 N281JB - -\nf148 1324 BOS-MVY 08:45-09:31 38 E190 open ? - 09:00-09:46 +15 N323JB - -\nf149 2024 MCO-DCA 08:45-11:00 136 A320 open ? - 08:45-11:00 +0 N796JB - -\nf150 768 PSE-MCO 08:50-11:53 146 A320 open ? - 08:50-11:53 +0 N517JB - -\nf151 1603 JFK-SJU 08:50-12:50 138 A321P open ? - 08:50-12:50 +0 N937JB - -\nf152 94 MCO-HPN 08:54-11:42 137 A320 open ? - 08:54-11:42 +0 N529JB - -\nf153 2121 HPN-ACK 08:56-10:00 70 E190 open ? - 08:56-10:00 +0 N324JB - -\nf154 75 JFK-MSY 09:00-12:16 128 A220 open ? - 09:00-12:16 +0 N3203J - -\nf155 116 SFO-JFK 09:00-14:40 138 A321P open ? - 09:00-14:40 +0 N993JE - -\nf156 484 RDU-BOS 09:00-10:59 121 A220 open ? - 09:00-10:59 +0 N3085J - -\nf157 523 JFK-LAX 09:00-14:59 135 A321P open ? - 09:00-14:59 +0 N979JT - -\nf158 552 MCO-BOS 09:00-11:58 139 A320 open ? - 09:00-11:58 +0 N523JB - -\nf159 888 LAX-BOS 09:00-14:47 138 A321P open ? - 09:00-14:47 +0 N992JB - -\nf160 1454 SJU-FLL 09:00-11:41 150 A320 open ? - 09:00-11:41 +0 N579JB - -\nf161 2433 DCA-PBI 09:00-11:30 122 A220 open ? - 09:00-11:30 +0 N3196J - -\nf162 219 BOS-SAN 09:04-15:10 138 A321P open ? - 09:04-15:10 +0 N946JL - -\nf163 434 SFO-BOS 09:05-14:50 138 A321P open ? - 09:05-14:50 +0 N934JB - -\nf164 1097 BOS-ATL 09:05-11:53 138 A321P open ? - 09:05-11:53 +0 N981JT - -\nf165 1529 JFK-RSW 09:05-12:12 150 A320 open ? - 09:05-12:12 +0 N556JB - -\nf166 2041 BOS-CLE 09:10-11:12 106 A220 open ? - 09:10-11:12 +0 N3251J - -\nf167 791 BOS-TPA 09:14-12:29 145 A320 open ? - 09:14-12:29 +0 N594JB - -\nf168 1807 BOS-BNA 09:15-12:03 123 A320 open ? - 09:15-12:03 +0 N534JB - -\nf169 2786 RDU-JFK 09:19-10:58 136 A320 open ? - 09:19-10:58 +0 N712JB - -\nf170 21 BOS-PBI 09:20-12:32 180 A321 open ? - 09:20-12:32 +0 N972JT - -\nf171 546 MCO-ISP 09:20-12:00 144 A320 open ? - 09:20-12:00 +0 N656JB - -\nf172 2355 BOS-DCA 09:22-10:59 87 E190 open ? - 09:22-10:59 +0 N284JB - -\nf173 1338 JFK-MVY 09:25-10:38 86 A220 open ? - 09:25-10:38 +0 N3194J - -\nf174 511 JFK-LAS 09:30-15:07 138 A321P open ? - 09:30-15:07 +0 N944JT - -\nf175 905 JFK-ORD 09:30-12:19 129 A220 open ? - 09:30-12:19 +0 N3044J - -\nf176 1131 CHS-FLL 09:30-11:09 104 A220 open ? - 09:30-11:09 +0 N3132J - -\nf177 2352 BOS-ACK 09:35-10:29 68 E190 open ? - 09:35-10:29 +0 N329JB - -\nf178 312 ORD-BOS 09:40-12:04 125 A220 open ? - 09:40-12:04 +0 N3185J - -\nf179 2638 BQN-JFK 09:40-13:34 139 A320 open ? - 09:40-13:34 +0 N506JB - -\nf180 1686 TPA-JFK 09:43-12:31 142 A320 open ? - 09:43-12:31 +0 N649JB - -\nf181 127 EWR-MCO 09:45-12:35 150 A320 open ? - 09:45-12:35 +0 N661JB - -\nf182 172 FLL-LGA 09:45-12:37 148 A320 open ? - 09:45-12:37 +0 N592JB - -\nf183 488 MCO-ORH 09:45-12:39 116 A320 open ? - 09:45-12:39 +0 N585JB - -\nf184 1461 LGA-PBI 09:45-12:39 143 A320 open ? - 09:52-12:46 +7 N583JB - -\nf185 1901 BUF-JFK 09:45-11:09 121 A220 open ? - 09:45-11:09 +0 N3157J - -\nf186 2695 HPN-MCO 09:45-12:28 145 A320 open ? - 09:45-12:28 +0 N566JB - -\nf187 1912 RSW-EWR 09:48-12:39 147 A320 open ? - 09:48-12:39 +0 N568JB - -\nf188 142 SAV-JFK 09:55-12:00 112 A220 open ? - 09:55-12:00 +0 N3115J - -\nf189 267 BOS-CHS 09:55-12:24 130 A220 open ? - 09:55-12:24 +0 N3240J - -\nf190 670 MCO-RIC 09:55-12:00 121 A320 open ? - 09:55-12:00 +0 N658JB - -\nf191 1310 JAX-BOS 09:55-12:35 111 A220 open ? - 09:55-12:35 +0 N3215J - -\nf192 186 JFK-ROC 09:59-11:24 115 A220 open ? - 09:59-11:24 +0 N3156J - -\nf193 393 BOS-DEN 10:00-14:38 148 A320 open ? - 10:00-14:38 +0 N607JB - -\nf194 892 TPA-BOS 10:00-13:04 121 A220 open ? - 10:00-13:04 +0 N3023J - -\nf195 1277 FLL-SFO 10:00-15:49 138 A321P open ? - 10:00-15:49 +0 N977JE - -\nf196 1286 PIT-BOS 10:00-11:39 107 A220 open ? - 10:00-11:39 +0 N3125J - -\nf197 1921 BDL-FLL 10:00-13:03 148 A320 open ? - 10:00-13:03 +0 N590JB - -\nf198 249 BOS-SAV 10:05-12:40 116 A220 open ? - 10:05-12:40 +0 N3113J - -\nf199 1142 PBI-BDL 10:05-12:59 147 A320 open ? - 10:05-12:59 +0 N603JB - -\nf200 2801 FLL-LAX 10:05-15:26 138 A321P open ? - 10:05-15:26 +0 N983JT - -\nf201 2686 MCO-BUF 10:07-12:48 150 A320 open ? - 10:07-12:48 +0 N504JB - -\nf202 2584 MCO-JFK 10:09-12:49 133 A320 open ? - 10:09-12:49 +0 N593JB - -\nf203 124 LAX-JFK 10:10-15:49 124 A321P open ? - 10:10-15:49 +0 N991JT - -\nf204 579 DCA-FLL 10:10-12:48 124 A220 open ? - 10:10-12:48 +0 N3065J - -\nf205 1235 BOS-SJU 10:10-14:15 192 A321 open ? - 10:10-14:15 +0 N959JB - -\nf206 385 BOS-PIT 10:11-11:58 100 A220 open ? - 10:11-11:58 +0 N3221J - -\nf207 1123 JFK-LAX 10:14-16:10 135 A321P open ? - 10:14-16:10 +0 N968JT - -\nf208 1160 PHL-BOS 10:15-11:40 81 E190 open ? - 10:15-11:40 +0 N317JB - -\nf209 1225 MVY-BOS 10:16-11:05 46 E190 open ? - 10:23-11:12 +7 N323JB - -\nf210 815 BOS-DFW 10:23-14:27 127 A220 open ? - 10:23-14:27 +0 N3139J - -\nf211 2902 JFK-BUF 10:25-11:56 127 A220 open ? - 10:25-11:56 +0 N3258J - -\nf212 554 DCA-BOS 10:30-12:05 89 E190 open ? - 10:30-12:05 +0 N306JB - -\nf213 1833 BOS-SFO 10:30-17:05 138 A321P open ? - 10:30-17:05 +0 N986JB - -\nf214 904 SJU-JFK 10:35-14:30 190 A321 open ? - 10:35-14:30 +0 N955JB - -\nf215 2091 JFK-ACK 10:35-11:53 85 A220 open ? - 10:35-11:53 +0 N3118J - -\nf216 2273 EWR-TPA 10:39-13:29 150 A320 open ? - 10:39-13:29 +0 N625JB - -\nf217 316 SFO-JFK 10:40-16:16 138 A321P open ? - 10:40-16:16 +0 N989JT - -\nf218 404 SJU-RDU 10:40-14:20 145 A320 open ? - 10:40-14:20 +0 N516JB - -\nf219 2493 ACK-DCA 10:40-12:18 64 E190 open ? - 10:40-12:18 +0 N324JB - -\nf220 225 JFK-TPA 10:45-13:41 150 A320 open ? - 10:45-13:41 +0 N537JT - -\nf221 2119 ORH-FLL 10:45-14:00 106 A220 open ? - 10:45-14:00 +0 N3260J - -\nf222 1552 RSW-HPN 10:46-13:44 126 A320 open ? - 10:46-13:44 +0 N629JB - -\nf223 1290 ILM-BOS 10:48-12:45 106 A220 open ? - 10:48-12:45 +0 N3152J - -\nf224 133 MCO-SJU 10:50-13:51 148 A320 open ? - 10:50-13:51 +0 N653JB - -\nf225 499 LGA-MCO 10:50-13:40 150 A320 open ? - 10:50-13:40 +0 N651JB - -\nf226 1487 BOS-LAX 10:50-17:04 138 A321P open ? - 10:50-17:04 +0 N967JT - -\nf227 1296 BUF-BOS 10:54-12:20 132 A321P open ? - 10:54-12:20 +0 N2156J - -\nf228 401 BOS-MSY 10:55-14:32 142 A320 open ? - 10:55-14:32 +0 N768JB - -\nf229 1167 HPN-PBI 10:55-13:46 150 A320 open ? - 10:55-13:46 +0 N639JB - -\nf230 418 JFK-BOS 10:59-12:15 115 A320 open ? - 10:59-12:15 +0 N597JB - -\nf231 655 SYR-MCO 11:00-13:56 136 A320 open ? - 11:00-13:56 +0 N623JB - -\nf232 678 JFK-JAX 11:00-13:29 129 A220 open ? - 11:00-13:29 +0 N3257J - -\nf233 1700 LAX-FLL 11:00-16:23 138 A321P open ? - 11:00-16:23 +0 N961JT - -\nf234 2143 EWR-PBI 11:00-13:55 148 A320 open ? - 11:00-13:55 +0 N584JB - -\nf235 2474 CHS-JFK 11:00-12:59 130 A320 open ? - 11:00-12:59 +0 N531JL - -\nf236 2825 RDU-FLL 11:03-13:05 132 A320 open ? - 11:03-13:05 +0 N563JB - -\nf237 1288 PBI-PVD 11:04-13:57 150 A320 open ? - 11:04-13:57 +0 N558JB - -\nf238 1902 FLL-JFK 11:04-14:00 178 A321 open ? - 11:04-14:00 +0 N997JL - -\nf239 2074 LAX-EWR 11:10-16:40 133 A321P open ? - 11:10-16:40 +0 N935JB - -\nf240 272 FLL-LGA 11:12-14:07 148 A320 open ? - 11:12-14:07 +0 N595JB - -\nf241 266 RSW-BOS 11:13-14:23 124 A220 open ? - 11:13-14:23 +0 N3255J - -\nf242 1054 PBI-JFK 11:14-13:59 146 A320 open ? - 11:14-13:59 +0 N789JB - -\nf243 503 JFK-SJU 11:15-15:12 150 A320 open ? - 11:15-15:12 +0 N652JB - -\nf244 831 ACK-LGA 11:15-12:30 69 E190 open ? - 11:15-12:30 +0 N329JB - -\nf245 1017 BOS-JFK 11:15-12:32 91 A220 open ? - 11:15-12:32 +0 N3102J - -\nf246 1055 BOS-DCA 11:15-12:54 87 E190 open ? - 11:15-12:54 +0 N283JB - -\nf247 138 MCO-BDL 11:20-14:10 145 A320 open ? - 11:20-14:10 +0 N554JB - -\nf248 730 MCO-BQN 11:20-14:09 135 A320 open ? - 11:20-14:09 +0 N821JB - -\nf249 1339 MVY-JFK 11:23-12:29 80 A220 open ? - 11:23-12:29 +0 N3194J - -\nf250 494 DEN-BOS 11:24-15:29 144 A320 open ? - 11:24-15:29 +0 N559JB - -\nf251 1336 DTW-BOS 11:25-13:14 113 A220 open ? - 11:25-13:14 +0 N3149J - -\nf252 1734 SFO-BOS 11:25-17:14 138 A321P open ? - 11:25-17:14 +0 N987JT - -\nf253 1890 SJU-EWR 11:25-15:34 188 A321 open ? - 11:25-15:34 +0 N903JB - -\nf254 288 LAX-BOS 11:30-17:20 138 A321P open ? - 11:30-17:20 +0 N982JB - -\nf255 1215 BOS-BUF 11:30-13:03 81 E190 open ? - 11:30-13:03 +0 N281JB - -\nf256 164 SRQ-JFK 11:35-14:30 125 A220 open ? - 11:35-14:30 +0 N3267J - -\nf257 1520 ATL-JFK 11:36-13:58 120 A220 open ? - 11:36-13:58 +0 N3275J - -\nf258 2278 AVL-BOS 11:39-13:55 116 A220 open ? - 11:39-13:55 +0 N3145J - -\nf259 194 MCO-HPN 11:40-14:29 137 A320 open ? - 11:40-14:29 +0 N746JB - -\nf260 513 ISP-FLL 11:40-14:37 150 A320 open ? - 11:40-14:37 +0 N793JB - -\nf261 2051 BOS-MCO 11:40-14:51 133 A320 open ? - 11:40-14:51 +0 N519JB - -\nf262 429 PHL-FLL 11:42-14:33 127 A320 open ? - 11:42-14:33 +0 N715JB - -\nf263 1220 MIA-BOS 11:43-15:12 114 A220 open ? - 11:43-15:12 +0 N3189J - -\nf264 1923 DCA-MCO 11:45-14:04 142 A320 open ? - 11:45-14:04 +0 N796JB - -\nf265 2454 DCA-BOS 11:45-13:15 89 E190 open ? - 11:45-13:15 +0 N284JB - -\nf266 1281 BOS-RIC 11:49-13:37 116 A220 open ? - 11:49-13:37 +0 N3229J - -\nf267 641 BOS-CLE 11:50-13:49 75 E190 open ? - 11:50-13:49 +0 N323JB - -\nf268 934 SJU-MCO 11:50-14:55 137 A320 open ? - 11:50-14:55 +0 N775JB - -\nf269 1103 BDL-RSW 11:50-15:04 132 A320 open ? - 11:50-15:04 +0 N805JB - -\nf270 2028 MCO-EWR 11:55-14:40 149 A320 open ? - 11:55-14:40 +0 N703JB - -\nf271 83 JFK-MCO 12:00-14:52 150 A320 open ? - 12:00-14:52 +0 N552JB - -\nf272 261 BOS-SJU 12:00-16:04 134 A220 open ? - 12:00-16:04 +0 N3138J - -\nf273 352 MCO-BOS 12:00-15:05 120 A220 open ? - 12:00-15:05 +0 N3162J - -\nf274 415 JFK-SFO 12:00-18:20 138 A321P open ? - 12:00-18:20 +0 N976JT - -\nf275 508 JFK-PWM 12:00-13:23 99 A220 open ? - 12:00-13:23 +0 N3232J - -\nf276 1144 MCO-MHT 12:00-15:00 146 A320 open ? - 12:00-15:00 +0 N655JB - -\nf277 1026 FLL-BUF 12:05-14:58 127 A220 open ? - 12:05-14:58 +0 N3132J - -\nf278 2040 CLE-BOS 12:07-13:54 106 A220 open ? - 12:07-13:54 +0 N3251J - -\nf279 184 MCO-JFK 12:09-14:59 124 A220 open ? - 12:09-14:59 +0 N3077J - -\nf280 423 JFK-LAX 12:10-18:10 135 A321P open ? - 12:10-18:10 +0 N2169J - -\nf281 1553 FLL-SJU 12:15-14:57 150 A320 open ? - 12:15-14:57 +0 N636JB - -\nf282 698 MCO-LGA 12:25-15:05 150 A320 open ? - 12:25-15:05 +0 N624JB - -\nf283 2334 PBI-DCA 12:25-14:48 118 A220 open ? - 12:25-14:48 +0 N3196J - -\nf284 2469 BOS-FLL 12:25-15:49 125 A220 open ? - 12:25-15:49 +0 N3085J - -\nf285 485 ROC-JFK 12:30-13:49 105 A220 open ? - 12:30-13:49 +0 N3156J - -\nf286 501 JFK-FLL 12:30-15:33 150 A320 open ? - 12:30-15:33 +0 N564JB - -\nf287 544 PBI-ISP 12:30-15:13 150 A320 open ? - 12:30-15:13 +0 N632JB - -\nf288 1075 MCO-PVD 12:30-15:21 137 A320 open ? - 12:30-15:21 +0 N524JB - -\nf289 1352 BOS-ACK 12:32-13:25 68 E190 open ? - 12:32-13:25 +0 N317JB - -\nf290 524 LAX-JFK 12:40-18:23 124 A321P open ? - 12:40-18:23 +0 N985JT - -\nf291 386 PIT-BOS 12:43-14:22 107 A220 open ? - 12:43-14:22 +0 N3221J - -\nf292 2901 BUF-JFK 12:43-14:14 121 A220 open ? - 12:43-14:14 +0 N3258J - -\nf293 70 FLL-BOS 12:45-16:04 146 A320 open ? - 12:45-16:04 +0 N615JB - -\nf294 2940 SJU-STX 12:46-13:26 122 A320 open ? - 12:46-13:26 +0 N637JB - -\nf295 896 ATL-BOS 12:48-15:24 133 A321P open ? - 12:48-15:24 +0 N981JT - -\nf296 1806 BNA-BOS 12:48-15:25 118 A320 open ? - 12:48-15:25 +0 N534JB - -\nf297 2033 BOS-IAH 12:48-17:02 145 A320 open ? - 12:48-17:02 +0 N605JB - -\nf298 92 ACK-JFK 12:50-14:00 83 A220 open ? - 12:50-14:00 +0 N3118J - -\nf299 936 SJU-STT 12:50-13:28 133 A320 open ? - 12:50-13:28 +0 N794JB - -\nf300 48 TPA-LGA 12:52-15:30 144 A320 open ? - 12:52-15:30 +0 N827JB - -\nf301 547 ISP-MCO 12:55-15:39 150 A320 open ? - 12:55-15:39 +0 N656JB - -\nf302 862 SJU-BOS 12:55-17:03 125 A220 open ? - 12:55-17:03 +0 N3195J - -\nf303 969 RIC-MCO 12:55-15:00 125 A320 open ? - 12:55-15:00 +0 N658JB - -\nf304 632 IAH-BOS 12:58-16:56 121 A220 open ? - 12:58-16:56 +0 N3104J - -\nf305 1039 BOS-AUS 12:59-17:14 132 A220 open ? - 12:59-17:14 +0 N3125J - -\nf306 1251 HPN-RSW 13:00-15:59 122 A320 open ? - 13:00-15:59 +0 N529JB - -\nf307 1414 DCA-MVY 13:05-14:28 65 E190 open ? - 13:05-14:28 +0 N324JB - -\nf308 906 ORD-JFK 13:06-15:30 118 A220 open ? - 13:06-15:30 +0 N3044J - -\nf309 1530 RSW-JFK 13:08-16:00 141 A320 open ? - 13:08-16:00 +0 N556JB - -\nf310 448 LAS-JFK 13:10-18:35 132 A321P open ? - 13:10-18:35 +0 N929JB - -\nf311 2432 LGA-ACK 13:10-14:23 60 E190 open ? - 13:10-14:23 +0 N329JB - -\nf312 176 MSY-JFK 13:18-16:30 122 A220 open ? - 13:18-16:30 +0 N3203J - -\nf313 68 CHS-BOS 13:19-15:41 122 A220 open ? - 13:19-15:41 +0 N3240J - -\nf314 855 BOS-DCA 13:20-15:03 87 E190 open ? - 13:20-15:03 +0 N306JB - -\nf315 592 TPA-BOS 13:24-16:34 140 A320 open ? - 13:24-16:34 +0 N594JB - -\nf316 1498 DEN-JFK 13:25-17:24 131 A320 open ? - 13:25-17:24 +0 N644JB - -\nf317 105 EWR-FLL 13:29-16:25 149 A320 open ? - 13:29-16:25 +0 N806JB - -\nf318 128 MCO-EWR 13:30-16:17 149 A320 open ? - 13:30-16:17 +0 N834JB - -\nf319 256 BZN-BOS 13:30-17:55 139 A320 open ? - 13:30-17:55 +0 N804JB - -\nf320 424 LAX-JFK 13:30-19:15 125 A321P open ? - 13:30-19:15 +0 N2105J - -\nf321 1173 JFK-BNA 13:30-15:57 128 A220 open ? - 13:30-15:57 +0 N3157J - -\nf322 1371 LGA-FLL 13:30-16:36 150 A320 open ? - 13:30-16:36 +0 N592JB - -\nf323 2291 JFK-ACK 13:30-14:53 85 A220 open ? - 13:30-14:53 +0 N3102J - -\nf324 487 ORH-MCO 13:34-16:40 119 A320 open ? - 13:34-16:40 +0 N585JB - -\nf325 150 SAV-BOS 13:35-15:59 115 A220 open ? - 13:35-15:59 +0 N3113J - -\nf326 761 BOS-SJU 13:40-17:44 192 A321 open ? - 13:40-17:44 +0 N998JE - -\nf327 811 BOS-ORD 13:40-16:32 122 A220 open ? - 13:40-16:32 +0 N3185J - -\nf328 1680 FLL-DCA 13:40-16:12 120 A220 open ? - 13:40-16:12 +0 N3065J - -\nf329 2229 BOS-MKE 13:40-16:08 120 A220 open ? - 13:40-16:08 +0 N3215J - -\nf330 22 PBI-BOS 13:42-17:00 179 A321 open ? - 13:42-17:00 +0 N972JT - -\nf331 2685 BUF-MCO 13:43-16:25 150 A320 open ? - 13:43-16:25 +0 N504JB - -\nf332 1254 DCA-BOS 13:44-15:20 89 E190 open ? - 13:44-15:20 +0 N283JB - -\nf333 419 JFK-ATL 13:50-16:29 148 A320 open ? - 13:50-16:29 +0 N640JB - -\nf334 1084 MCO-JFK 13:50-16:39 143 A320 open ? - 13:50-16:39 +0 N618JB - -\nf335 1604 SJU-JFK 13:50-17:49 138 A321P open ? - 13:50-17:49 +0 N937JB - -\nf336 1874 LAX-EWR 13:50-19:20 133 A321P open ? - 13:50-19:20 +0 N4077J - -\nf337 2251 BOS-MCO 13:50-17:10 143 A320 open ? - 13:50-17:10 +0 N521JB - -\nf338 119 MCO-ALB 13:52-16:49 150 A320 open ? - 13:52-16:49 +0 N566JB - -\nf339 533 BDL-TPA 13:55-17:00 150 A320 open ? - 13:55-17:00 +0 N603JB - -\nf340 1216 BUF-BOS 13:55-15:25 83 E190 open ? - 13:55-15:25 +0 N281JB - -\nf341 834 SFO-BOS 13:56-19:45 124 A321P open ? - 13:56-19:45 +0 N2157J - -\nf342 817 BOS-JFK 13:59-15:15 91 A220 open ? - 13:59-15:15 +0 N3152J - -\nf343 1002 FLL-JFK 13:59-16:57 144 A320 open ? - 13:59-16:57 +0 N706JB - -\nf344 553 FLL-SJU 14:00-16:43 188 A321 open ? - 14:00-16:43 +0 N954JB - -\nf345 100 LAX-FLL 14:03-19:26 138 A321P open ? - 14:03-19:26 +0 N942JB - -\nf346 2321 BOS-PBI 14:10-17:29 126 A220 open ? - 14:10-17:29 +0 N3023J - -\nf347 2656 MCO-SYR 14:10-17:00 131 A320 open ? - 14:10-17:00 +0 N661JB - -\nf348 2665 ACK-HPN 14:10-15:14 65 E190 open ? - 14:10-15:14 +0 N317JB - -\nf349 216 SFO-JFK 14:14-20:00 138 A321P open ? - 14:14-20:00 +0 N2165J - -\nf350 620 SAN-BOS 14:14-20:09 138 A321P open ? - 14:14-20:09 +0 N969JT - -\nf351 1685 JFK-TPA 14:15-17:25 150 A320 open ? - 14:15-17:25 +0 N613JB - -\nf352 407 PWM-JFK 14:19-15:45 90 A220 open ? - 14:19-15:45 +0 N3232J - -\nf353 1754 SJU-FLL 14:20-17:01 186 A321 open ? - 14:20-17:01 +0 N994JL - -\nf354 435 STT-SJU 14:23-15:10 133 A320 open ? - 14:23-15:10 +0 N794JB - -\nf355 2941 STX-SJU 14:23-15:10 141 A320 open ? - 14:23-15:10 +0 N637JB - -\nf356 677 JAX-JFK 14:24-16:44 126 A220 open ? - 14:24-16:44 +0 N3257J - -\nf357 1690 TPA-PVD 14:24-17:21 128 A320 open ? - 14:24-17:21 +0 N625JB - -\nf358 1708 LAS-FLL 14:27-19:35 137 A321P open ? - 14:27-19:35 +0 N947JB - -\nf359 1501 JFK-FLL 14:29-17:46 150 A320 open ? - 14:29-17:46 +0 N657JB - -\nf360 1282 RIC-BOS 14:32-16:10 120 A220 open ? - 14:32-16:10 +0 N3229J - -\nf361 1992 FLL-RIC 14:32-16:48 129 A320 open ? - 14:32-16:48 +0 N599JB - -\nf362 2283 BOS-RDU 14:35-16:40 89 E190 open ? - 14:35-16:40 +0 N284JB - -\nf363 2324 MCO-DCA 14:35-16:55 136 A320 open ? - 14:35-16:55 +0 N569JB - -\nf364 226 TPA-JFK 14:39-17:29 142 A320 open ? - 14:39-17:29 +0 N537JT - -\nf365 595 HPN-MCO 14:40-17:30 145 A320 open ? - 14:40-17:30 +0 N629JB - -\nf366 640 CLE-BOS 14:41-16:28 76 E190 open ? - 14:41-16:28 +0 N323JB - -\nf367 398 SEA-BOS 14:43-20:15 178 A321 open ? - 14:43-20:15 +0 N949JT - -\nf368 1388 LAX-BOS 14:44-20:26 138 A321P open ? - 14:44-20:26 +0 N978JB - -\nf369 318 JFK-BOS 14:45-16:13 100 A220 open ? - 14:45-16:13 +0 N3156J - -\nf370 378 SFO-FLL 14:45-20:28 135 A321P open ? - 14:45-20:28 +0 N988JT - -\nf371 387 BOS-LAX 14:45-20:51 138 A321P open ? - 14:45-20:51 +0 N2156J - -\nf372 1178 LAS-BOS 14:45-20:00 137 A321P open ? - 14:45-20:00 +0 N984JB - -\nf373 1538 JFK-MVY 14:45-16:01 86 A220 open ? - 14:45-16:01 +0 N3275J - -\nf374 349 BOS-SAV 14:50-17:30 116 A220 open ? - 14:50-17:30 +0 N3149J - -\nf375 1168 PBI-HPN 14:50-17:49 148 A320 open ? - 14:50-17:49 +0 N639JB - -\nf376 1964 JFK-HYA 14:50-16:10 87 A220 open ? - 14:50-16:10 +0 N3118J - -\nf377 285 JFK-RDU 14:55-16:48 147 A320 open ? - 14:55-16:48 +0 N547JB - -\nf378 2065 BOS-RSW 14:55-18:27 124 A220 open ? - 14:55-18:27 +0 N3251J - -\nf379 399 LGA-MCO 14:57-17:58 150 A320 open ? - 14:57-17:58 +0 N595JB - -\nf380 883 JFK-MCO 14:59-18:05 131 A220 open ? - 14:59-18:05 +0 N3258J - -\nf381 1586 MCO-BUF 14:59-17:42 150 A320 open ? - 14:59-17:42 +0 N651JB - -\nf382 1004 SJU-JFK 15:00-19:00 150 A320 open ? - 15:00-19:00 +0 N653JB - -\nf383 1133 MCO-SJU 15:00-18:00 148 A320 open ? - 15:00-18:00 +0 N623JB - -\nf384 738 MCO-BDL 15:02-17:54 134 A320 open ? - 15:02-17:54 +0 N796JB - -\nf385 1287 PVD-PBI 15:02-18:11 147 A320 open ? - 15:02-18:11 +0 N558JB - -\nf386 37 BDL-MCO 15:05-18:10 143 A320 open ? - 15:05-18:10 +0 N554JB - -\nf387 190 SAN-JFK 15:07-21:00 134 A321P open ? - 15:07-21:00 +0 N945JT - -\nf388 1151 ACK-BOS 15:08-16:05 63 E190 open ? - 15:08-16:05 +0 N329JB - -\nf389 2459 BOS-PHL 15:10-16:45 136 A320 open ? - 15:10-16:45 +0 N523JB - -\nf390 53 JFK-PBI 15:15-18:21 130 A220 open ? - 15:15-18:21 +0 N3267J - -\nf391 229 BQN-MCO 15:15-18:09 135 A320 open ? - 15:15-18:09 +0 N821JB - -\nf392 1903 RDU-SJU 15:15-18:55 147 A320 open ? - 15:15-18:55 +0 N516JB - -\nf393 1785 BOS-PIT 15:17-17:09 100 A220 open ? - 15:17-17:09 +0 N3145J - -\nf394 1813 BOS-ORF 15:18-17:02 110 A220 open ? - 15:18-17:02 +0 N3221J - -\nf395 324 LAX-JFK 15:21-21:00 124 A321P open ? - 15:21-21:00 +0 N990JL - -\nf396 1226 SJU-BOS 15:25-19:35 179 A321 open ? - 15:25-19:35 +0 N959JB - -\nf397 1413 MVY-DCA 15:26-17:00 61 E190 open ? - 15:26-17:00 +0 N324JB - -\nf398 400 MSY-BOS 15:28-19:00 137 A320 open ? - 15:28-19:00 +0 N768JB - -\nf399 24 PBI-DCA 15:30-18:00 137 A320 open ? - 15:30-18:00 +0 N584JB - -\nf400 803 JFK-SJU 15:30-19:35 195 A321 open ? - 15:30-19:35 +0 N952JB - -\nf401 1211 JFK-LAS 15:30-21:14 138 A321P open ? - 15:30-21:14 +0 N964JT - -\nf402 1214 DFW-BOS 15:32-19:26 121 A220 open ? - 15:32-19:26 +0 N3139J - -\nf403 394 DEN-BOS 15:33-19:40 144 A320 open ? - 15:33-19:40 +0 N607JB - -\nf404 873 EWR-TPA 15:38-18:40 150 A320 open ? - 15:38-18:40 +0 N634JB - -\nf405 2473 JFK-CHS 15:44-18:04 121 A220 open ? - 15:44-18:04 +0 N3077J - -\nf406 1354 DCA-BOS 15:45-17:20 124 A220 open ? - 15:45-17:20 +0 N3196J - -\nf407 1196 FLL-PVD 15:47-18:52 150 A320 open ? - 15:47-18:52 +0 N579JB - -\nf408 276 SJU-BDL 15:55-19:50 149 A320 open ? - 15:55-19:50 +0 N636JB - -\nf409 471 LGA-FLL 15:55-19:07 150 A320 open ? - 15:55-19:07 +0 N624JB - -\nf410 1027 BUF-FLL 15:55-18:57 131 A220 open ? - 15:55-18:57 +0 N3132J - -\nf411 2052 MCO-BOS 15:55-19:05 129 A320 open ? - 15:55-19:05 +0 N519JB - -\nf412 233 BOS-SFO 15:59-22:43 138 A321P open ? - 15:59-22:43 +0 N992JB - -\nf413 1098 MCO-LGA 15:59-18:48 150 A320 open ? - 15:59-18:48 +0 N775JB - -\nf414 1189 JFK-SAN 15:59-21:55 138 A321P open ? - 15:59-21:55 +0 N980JT - -\nf415 2666 HPN-ACK 15:59-17:07 70 E190 open ? - 15:59-17:07 +0 N317JB - -\nf416 391 BOS-TPA 16:00-19:34 126 A220 open ? - 16:00-19:34 +0 N3162J - -\nf417 1023 JFK-LAX 16:00-22:11 136 A321P open ? - 16:00-22:11 +0 N2151J - -\nf418 2004 RSW-BDL 16:00-18:53 134 A320 open ? - 16:00-18:53 +0 N805JB - -\nf419 2494 DCA-ACK 16:00-17:26 66 E190 open ? - 16:00-17:26 +0 N306JB - -\nf420 495 HPN-MCO 16:05-18:59 145 A320 open ? - 16:05-18:59 +0 N746JB - -\nf421 1115 BOS-BUF 16:05-17:44 81 E190 open ? - 16:05-17:44 +0 N283JB - -\nf422 1143 MHT-MCO 16:05-19:23 139 A320 open ? - 16:05-19:23 +0 N655JB - -\nf423 2619 BOS-MIA 16:07-19:44 124 A220 open ? - 16:07-19:44 +0 N3189J - -\nf424 188 LAX-BOS 16:10-21:53 138 A321P open ? - 16:10-21:53 +0 N923JB - -\nf425 224 LAX-JFK 16:10-21:56 124 A321P open ? - 16:10-21:56 +0 N979JT - -\nf426 416 SFO-JFK 16:10-21:58 138 A321P open ? - 16:10-21:58 +0 N962JT - -\nf427 1355 BOS-DCA 16:15-18:05 87 E190 open ? - 16:15-18:05 +0 N281JB - -\nf428 348 LAS-JFK 16:17-21:29 133 A321P open ? - 16:17-21:29 +0 N944JT - -\nf429 192 ACK-JFK 16:19-17:30 83 A220 open ? - 16:19-17:30 +0 N3102J - -\nf430 507 BOS-BNA 16:19-19:22 133 A320 open ? - 16:19-19:22 +0 N597JB - -\nf431 451 BOS-MCO 16:20-19:49 133 A320 open ? - 16:20-19:49 +0 N580JB - -\nf432 545 ISP-PBI 16:20-19:10 147 A320 open ? - 16:20-19:10 +0 N632JB - -\nf433 2022 FLL-PHL 16:28-19:25 127 A320 open ? - 16:28-19:25 +0 N563JB - -\nf434 220 SAN-BOS 16:30-22:20 138 A321P open ? - 16:30-22:20 +0 N946JL - -\nf435 263 JFK-SEA 16:30-22:58 180 A321 open ? - 16:30-22:58 +0 N970JB - -\nf436 319 BOS-SAN 16:30-22:49 138 A321P open ? - 16:30-22:49 +0 N934JB - -\nf437 618 JFK-BOS 16:30-17:59 100 A220 open ? - 16:30-17:59 +0 N3194J - -\nf438 699 LGA-MCO 16:30-19:37 150 A320 open ? - 16:30-19:37 +0 N827JB - -\nf439 341 JFK-SAV 16:31-19:02 118 A220 open ? - 16:31-19:02 +0 N3152J - -\nf440 1694 MCO-HPN 16:34-19:29 137 A320 open ? - 16:34-19:29 +0 N658JB - -\nf441 915 BOS-SMF 16:36-23:09 130 A320 open ? - 16:36-23:09 +0 N534JB - -\nf442 1237 BOS-DTW 16:36-18:52 118 A220 open ? - 16:36-18:52 +0 N3240J - -\nf443 1200 LAX-FLL 16:38-22:00 138 A321P open ? - 16:38-22:00 +0 N983JT - -\nf444 1752 SJU-TPA 16:43-19:44 150 A320 open ? - 16:43-19:44 +0 N637JB - -\nf445 1289 EWR-SJU 16:45-20:46 195 A321 open ? - 16:45-20:46 +0 N903JB - -\nf446 1689 PVD-TPA 16:45-19:56 122 A320 open ? - 16:45-19:56 +0 N524JB - -\nf447 1880 FLL-DCA 16:45-19:17 120 A220 open ? - 16:45-19:17 +0 N3085J - -\nf448 2134 SJU-MCO 16:45-19:50 147 A320 open ? - 16:45-19:50 +0 N794JB - -\nf449 509 BOS-JAX 16:50-19:52 142 A320 open ? - 16:50-19:52 +0 N559JB - -\nf450 2185 BOS-PIT 16:50-18:49 71 E190 open ? - 16:50-18:49 +0 N329JB - -\nf451 1174 BNA-JFK 16:52-19:15 113 A220 open ? - 16:52-19:15 +0 N3157J - -\nf452 1317 BOS-ATL 16:56-20:00 127 A220 open ? - 16:56-20:00 +0 N3113J - -\nf453 1539 MVY-JFK 16:57-18:05 80 A220 open ? - 16:57-18:05 +0 N3275J - -\nf454 358 JFK-BUR 16:59-23:17 130 A220 open ? - 16:59-23:17 +0 N3044J - -\nf455 1278 SFO-FLL 16:59-22:40 135 A321P open ? - 16:59-22:40 +0 N977JE - -\nf456 1523 JFK-LAX 16:59-23:18 135 A321P open ? - 16:59-23:18 +0 N993JE - -\nf457 2129 JFK-RSW 16:59-20:21 150 A320 open ? - 16:59-20:21 +0 N638JB - -\nf458 2783 BOS-RDU 16:59-19:10 144 A320 open ? - 16:59-19:10 +0 N615JB - -\nf459 1252 RSW-HPN 17:00-20:01 126 A320 open ? - 17:00-20:01 +0 N529JB - -\nf460 1728 MCO-EWR 17:02-20:00 138 A320 open ? - 17:02-20:00 +0 N656JB - -\nf461 2230 MKE-BOS 17:03-19:15 118 A220 open ? - 17:03-19:15 +0 N3215J - -\nf462 315 JFK-SFO 17:05-23:54 138 A321P open ? - 17:05-23:54 +0 N991JT - -\nf463 1417 BOS-JFK 17:05-18:30 91 A220 open ? - 17:05-18:30 +0 N3229J - -\nf464 1727 EWR-MCO 17:07-20:04 150 A320 open ? - 17:07-20:04 +0 N568JB - -\nf465 1579 DCA-FLL 17:10-19:52 124 A220 open ? - 17:10-19:52 +0 N3065J - -\nf466 845 BOS-SYR 17:14-18:38 83 E190 open ? - 17:14-18:38 +0 N323JB - -\nf467 472 FLL-LGA 17:15-20:09 148 A320 open ? - 17:15-20:09 +0 N715JB - -\nf468 1202 JFK-BUF 17:15-19:00 127 A220 open ? - 17:15-19:00 +0 N3232J - -\nf469 1963 HYA-JFK 17:15-18:30 75 A220 open ? - 17:15-18:30 +0 N3118J - -\nf470 2467 BOS-CHS 17:15-19:50 130 A220 open ? - 17:15-19:50 +0 N3156J - -\nf471 624 LAX-JFK 17:20-22:59 124 A321P open ? - 17:20-22:59 +0 N968JT - -\nf472 777 BOS-LAS 17:20-23:11 138 A321P open ? - 17:20-23:11 +0 N981JT - -\nf473 1152 MCO-BOS 17:20-20:34 139 A320 open ? - 17:20-20:34 +0 N504JB - -\nf474 170 FLL-BOS 17:26-20:46 146 A320 open ? - 17:26-20:46 +0 N793JB - -\nf475 1012 ORD-BOS 17:27-20:00 125 A220 open ? - 17:27-20:00 +0 N3185J - -\nf476 1802 FLL-JFK 17:28-20:30 125 A220 open ? - 17:28-20:30 +0 N3242J - -\nf477 69 BOS-FLL 17:29-21:00 145 A320 open ? - 17:29-21:00 +0 N594JB - -\nf478 483 JFK-MCO 17:29-20:40 150 A320 open ? - 17:29-20:40 +0 N712JB - -\nf479 520 ATL-JFK 17:30-20:00 139 A320 open ? - 17:30-20:00 +0 N536JB - -\nf480 770 MCO-RIC 17:35-19:40 112 A320 open ? - 17:35-19:40 +0 N633JB - -\nf481 2184 RDU-BOS 17:35-19:40 86 E190 open ? - 17:35-19:40 +0 N284JB - -\nf482 2602 SJU-HPN 17:38-21:30 124 A220 open ? - 17:38-21:30 +0 N3138J - -\nf483 560 PHL-BOS 17:40-19:14 131 A320 open ? - 17:40-19:14 +0 N523JB - -\nf484 1991 RIC-FLL 17:43-20:00 136 A320 open ? - 17:43-20:00 +0 N599JB - -\nf485 433 MCO-SJU 17:44-20:50 148 A320 open ? - 17:44-20:50 +0 N585JB - -\nf486 86 RDU-JFK 17:45-19:30 136 A320 open ? - 17:45-19:30 +0 N547JB - -\nf487 101 FLL-LAX 17:45-23:10 138 A321P open ? - 20:11-01:36+1 +146 N942JB - -\nf488 2954 DCA-BOS 17:45-19:26 89 E190 open ? - 17:45-19:26 +0 N324JB - -\nf489 1962 PBI-LGA 17:46-20:30 138 A320 open ? - 17:46-20:30 +0 N583JB - -\nf490 135 JFK-PHX 17:47-23:19 138 A320 open ? - 17:47-23:19 +0 N531JL - -\nf491 1873 EWR-LAX 17:50-23:55 133 A321P open ? - 17:50-23:55 +0 N935JB - -\nf492 120 ALB-MCO 17:52-20:57 150 A320 open ? - 17:52-20:57 +0 N566JB - -\nf493 1351 ACK-BOS 17:55-18:51 63 E190 open ? - 17:55-18:51 +0 N317JB - -\nf494 1453 FLL-SJU 17:55-20:34 131 A220 open ? - 17:55-20:34 +0 N3169J - -\nf495 106 FLL-EWR 17:56-21:00 143 A320 open ? - 17:56-21:00 +0 N564JB - -\nf496 932 IAH-BOS 17:57-21:50 140 A320 open ? - 17:57-21:50 +0 N605JB - -\nf497 1814 ORF-BOS 17:57-19:37 114 A220 open ? - 17:57-19:37 +0 N3221J - -\nf498 1677 JFK-JAX 17:59-20:51 129 A220 open ? - 17:59-20:51 +0 N3203J - -\nf499 23 DCA-PBI 18:00-20:38 142 A320 open ? - 18:00-20:38 +0 N569JB - -\nf500 1786 PIT-BOS 18:04-19:48 107 A220 open ? - 18:04-19:48 +0 N3145J - -\nf501 304 SJU-JFK 18:05-22:05 150 A320 open ? - 18:05-22:05 +0 N652JB - -\nf502 534 TPA-BDL 18:05-20:58 150 A320 open ? - 18:05-20:58 +0 N603JB - -\nf503 1284 MCO-JFK 18:05-21:01 143 A320 open ? - 18:05-21:01 +0 N521JB - -\nf504 1348 SJU-DCA 18:05-21:59 186 A321 open ? - 18:05-21:59 +0 N954JB - -\nf505 2655 SYR-MCO 18:05-21:01 136 A320 open ? - 18:05-21:01 +0 N661JB - -\nf506 247 BOS-SLC 18:09-23:44 128 A220 open ? - 18:09-23:44 +0 N3104J - -\nf507 1138 AUS-BOS 18:10-22:20 129 A220 open ? - 18:10-22:20 +0 N3125J - -\nf508 2201 JFK-FLL 18:10-21:34 150 A320 open ? - 18:10-21:34 +0 N506JB - -\nf509 734 SFO-BOS 18:15-23:56 138 A321P open ? - 18:15-23:56 +0 N986JB - -\nf510 1955 BOS-DCA 18:15-20:03 122 A220 open ? - 18:15-20:03 +0 N3195J - -\nf511 2876 PVD-MCO 18:16-21:17 138 A320 open ? - 18:16-21:17 +0 N625JB - -\nf512 924 LAX-JFK 18:18-23:59 124 A321P open ? - 18:18-23:59 +0 N967JT - -\nf513 161 JFK-SMF 18:25-00:53+1 183 A321 open ? - 18:25-00:53+1 +0 N997JL - -\nf514 187 BOS-LAX 18:25-00:52+1 138 A321P open ? - 18:25-00:52+1 +0 N987JT - -\nf515 250 SAV-BOS 18:25-21:00 115 A220 open ? - 18:25-21:00 +0 N3149J - -\nf516 697 BOS-ATL 18:25-21:28 147 A320 open ? - 18:40-21:43 +15 N804JB - -\nf517 2080 FLL-DCA 18:25-20:59 120 A220 open ? - 18:25-20:59 +0 N3142J - -\nf518 2122 ACK-HPN 18:26-19:30 65 E190 open ? - 18:26-19:30 +0 N306JB - -\nf519 197 BOS-SEA 18:29-01:04+1 187 A321 open ? - 18:29-01:04+1 +0 N957JB - -\nf520 283 JFK-MCO 18:30-21:42 150 A320 open ? - 18:30-21:42 +0 N789JB - -\nf521 516 BUF-BOS 18:30-20:00 83 E190 open ? - 18:30-20:00 +0 N283JB - -\nf522 733 BOS-SFO 18:30-01:15+1 138 A321P open ? - 18:30-01:15+1 +0 N982JB - -\nf523 81 JFK-RNO 18:35-00:46+1 125 A220 open ? - 18:35-00:46+1 +0 N3257J - -\nf524 2424 MCO-DCA 18:38-20:59 136 A320 open ? - 18:38-20:59 +0 N517JB - -\nf525 2322 PBI-BOS 18:40-21:49 125 A220 open ? - 18:40-21:49 +0 N3023J - -\nf526 1248 TPA-LGA 18:41-21:33 144 A320 open ? - 18:41-21:33 +0 N630JB - -\nf527 491 BUF-LAX 18:42-23:56 149 A320 open ? - 18:42-23:56 +0 N651JB - -\nf528 65 JFK-ABQ 18:45-23:34 145 A320 open ? - 18:45-23:34 +0 N556JB - -\nf529 355 JFK-ONT 18:50-00:59+1 176 A321 open ? - 18:50-00:59+1 +0 N907JB - -\nf530 1053 JFK-PBI 18:50-21:56 130 A220 open ? - 18:50-21:56 +0 N3112J - -\nf531 2725 JFK-TPA 18:50-22:05 150 A320 open ? - 18:50-22:05 +0 N606JB - -\nf532 2754 DCA-BOS 18:50-20:28 89 E190 open ? - 18:50-20:28 +0 N281JB - -\nf533 462 SJU-BOS 18:54-22:59 179 A321 open ? - 18:54-22:59 +0 N998JE - -\nf534 95 BOS-PDX 18:55-01:15+1 180 A321 open ? - 18:55-01:15+1 +0 N950JT - -\nf535 798 MCO-LGA 18:55-21:46 150 A320 open ? - 18:55-21:46 +0 N629JB - -\nf536 992 SJU-FLL 18:55-21:34 150 A320 open ? - 18:55-21:34 +0 N623JB - -\nf537 1567 HPN-PBI 18:55-21:49 150 A320 open ? - 18:55-21:49 +0 N639JB - -\nf538 2523 DCA-MCO 18:55-21:19 142 A320 open ? - 18:55-21:19 +0 N584JB - -\nf539 602 FLL-JFK 18:59-21:59 144 A320 open ? - 18:59-21:59 +0 N806JB - -\nf540 823 JFK-LAX 18:59-01:19+1 135 A321P open ? - 18:59-01:19+1 +0 N989JT - -\nf541 874 TPA-EWR 18:59-22:00 140 A320 open ? - 18:59-22:00 +0 N613JB - -\nf542 993 BOS-DEN 18:59-23:44 128 A220 open ? - 18:59-23:44 +0 N3196J - -\nf543 1037 BDL-MCO 18:59-21:57 132 A320 open ? - 18:59-21:57 +0 N796JB - -\nf544 1274 CHS-JFK 18:59-21:05 112 A220 open ? - 18:59-21:05 +0 N3077J - -\nf545 2071 FLL-BQN 19:00-21:33 129 A320 open ? - 19:00-21:33 +0 N592JB - -\nf546 2984 MCO-JFK 19:00-21:54 124 A220 open ? - 19:00-21:54 +0 N3258J - -\nf547 1468 PBI-HPN 19:10-22:03 148 A320 open ? - 19:10-22:03 +0 N558JB - -\nf548 824 LAX-JFK 19:20-00:55+1 124 A321P open ? - 19:20-00:55+1 +0 N2169J - -\nf549 2875 MCO-PVD 19:20-22:19 127 A320 open ? - 19:20-22:19 +0 N595JB - -\nf550 2903 JFK-SJU 19:20-23:41 195 A321 open ? - 19:20-23:41 +0 N996JL - -\nf551 71 JFK-SLC 19:23-00:59+1 146 A320 open ? - 19:23-00:59+1 +0 N618JB - -\nf552 818 JFK-BOS 19:25-20:59 100 A220 open ? - 19:25-20:59 +0 N3102J - -\nf553 2466 FLL-BUF 19:27-22:30 147 A320 open ? - 19:27-22:30 +0 N828JB - -\nf554 438 MCO-BDL 19:30-22:26 145 A320 open ? - 19:30-22:26 +0 N821JB - -\nf555 616 SFO-JFK 19:30-00:59+1 138 A321P open ? - 19:30-00:59+1 +0 N976JT - -\nf556 548 TPA-HPN 19:35-22:32 139 A320 open ? - 19:35-22:32 +0 N634JB - -\nf557 2066 RSW-BOS 19:35-22:50 124 A220 open ? - 19:35-22:50 +0 N3251J - -\nf558 715 BOS-BUF 19:39-21:14 81 E190 open ? - 19:39-21:14 +0 N317JB - -\nf559 317 BOS-JFK 19:40-21:04 91 A220 open ? - 19:40-21:04 +0 N3194J - -\nf560 1154 PBI-JFK 19:40-22:34 126 A220 open ? - 19:40-22:34 +0 N3267J - -\nf561 2186 PIT-BOS 19:45-21:28 76 E190 open ? - 19:45-21:28 +0 N329JB - -\nf562 1136 DTW-BOS 19:47-21:41 113 A220 open ? - 19:47-21:41 +0 N3240J - -\nf563 1197 PVD-FLL 19:47-22:59 149 A320 open ? - 19:47-22:59 +0 N579JB - -\nf564 571 LGA-FLL 19:49-22:59 150 A320 open ? - 19:49-22:59 +0 N775JB - -\nf565 1134 SJU-MCO 19:50-22:53 147 A320 open ? - 19:50-22:53 +0 N587JB - -\nf566 711 JFK-LAS 19:54-01:49+1 138 A321P open ? - 19:54-01:49+1 +0 N985JT - -\nf567 201 BUF-JFK 19:55-21:29 121 A220 open ? - 19:55-21:29 +0 N3232J - -\nf568 591 BOS-TPA 19:55-23:18 145 A320 open ? - 19:55-23:18 +0 N768JB - -\nf569 342 SAV-JFK 19:59-22:09 112 A220 open ? - 19:59-22:09 +0 N3152J - -\nf570 526 SJU-PVD 19:59-23:51 137 A320 open ? - 19:59-23:51 +0 N562JB - -\nf571 541 BOS-CLE 19:59-22:05 75 E190 open ? - 20:03-22:09 +4 N324JB - -\nf572 615 JFK-SFO 19:59-02:43+1 138 A321P open ? - 19:59-02:43+1 +0 N929JB - -\nf573 914 FLL-HPN 19:59-23:00 139 A320 open ? - 19:59-23:00 +0 N657JB - -\nf574 143 EWR-PBI 20:00-23:05 148 A320 open ? - 20:00-23:05 +0 N703JB - -\nf575 275 BDL-SJU 20:00-23:55 130 A320 open ? - 20:00-23:55 +0 N805JB - -\nf576 473 JFK-BNA 20:00-22:47 128 A220 open ? - 20:00-22:47 +0 N3275J - -\nf577 706 FLL-EWR 20:00-23:00 143 A320 open ? - 20:00-23:00 +0 N665JB - -\nf578 1484 RDU-BOS 20:05-22:08 140 A320 open ? - 20:05-22:08 +0 N615JB - -\nf579 144 PBI-EWR 20:06-23:00 140 A320 open ? - 20:06-23:00 +0 N632JB - -\nf580 745 JFK-PSE 20:06-00:19+1 135 A320 open ? - 20:06-00:19+1 +0 N706JB - -\nf581 884 MCO-JFK 20:08-23:02 143 A320 open ? - 20:08-23:02 +0 N554JB - -\nf582 460 FLL-BDL 20:10-23:15 143 A320 open ? - 20:10-23:15 +0 N621JB - -\nf583 470 FLL-BOS 20:10-23:29 127 A220 open ? - 20:10-23:29 +0 N3132J - -\nf584 2421 BOS-PBI 20:10-23:23 126 A220 open ? - 20:10-23:23 +0 N3215J - -\nf585 1979 DCA-FLL 20:12-22:49 124 A220 open ? - 20:12-22:49 +0 N3085J - -\nf586 506 BNA-BOS 20:17-22:54 127 A320 open ? - 20:17-22:54 +0 N597JB - -\nf587 97 JFK-DEN 20:18-00:59+1 146 A320 open ? - 20:18-00:59+1 +0 N586JB - -\nf588 572 FLL-LGA 20:18-23:14 148 A320 open ? - 20:18-23:14 +0 N590JB - -\nf589 217 PHL-FLL 20:20-23:17 127 A320 open ? - 20:20-23:17 +0 N563JB - -\nf590 954 SJU-FLL 20:20-22:59 150 A320 open ? - 20:20-22:59 +0 N516JB - -\nf591 185 JFK-RDU 20:29-22:28 147 A320 open ? - 20:29-22:28 +0 N807JB - -\nf592 392 TPA-BOS 20:29-23:39 121 A220 open ? - 20:29-23:39 +0 N3162J - -\nf593 88 FLL-ALB 20:30-23:37 146 A320 open ? - 20:30-23:37 +0 N588JB - -\nf594 405 JFK-ORD 20:30-23:28 129 A220 open ? - 20:30-23:28 +0 N3118J - -\nf595 1245 FLL-SJU 20:30-23:12 150 A320 open ? - 20:30-23:12 +0 N662JB - -\nf596 2073 EWR-LAX 20:30-02:33+1 133 A321P open ? - 20:30-02:33+1 +0 N4077J - -\nf597 195 HPN-MCO 20:35-23:18 145 A320 open ? - 20:35-23:18 +0 N658JB - -\nf598 265 BOS-RSW 20:35-23:59 124 A220 open ? - 20:35-23:59 +0 N3139J - -\nf599 769 RIC-MCO 20:35-22:40 116 A320 open ? - 20:35-22:40 +0 N633JB - -\nf600 607 FLL-LAS 20:36-01:39+1 133 A321P open ? - 20:36-01:39+1 +0 N947JB - -\nf601 2620 MIA-BOS 20:39-23:56 114 A220 open ? - 20:39-23:56 +0 N3189J - -\nf602 251 BOS-MCO 20:40-23:58 177 A321 open ? - 20:40-23:58 +0 N972JT - -\nf603 369 BOS-FLL 20:40-00:08+1 145 A320 open ? - 20:40-00:08+1 +0 N519JB - -\nf604 903 JFK-SJU 20:40-00:54+1 150 A320 open ? - 20:40-00:54+1 +0 N644JB - -\nf605 2583 JFK-MCO 20:40-23:49 150 A320 open ? - 20:40-23:49 +0 N537JT - -\nf606 1337 BOS-DTW 20:43-22:57 118 A220 open ? - 20:43-22:57 +0 N3221J - -\nf607 277 FLL-SFO 20:45-02:39+1 138 A321P open ? - 21:13-03:07+1 +28 N988JT - -\nf608 561 BOS-SJU 20:45-00:49+1 192 A321 open ? - 20:45-00:49+1 +0 N959JB - -\nf609 1294 MCO-HPN 20:45-23:42 137 A320 open ? - 20:45-23:42 +0 N746JB - -\nf610 1952 MCO-BOS 20:45-23:55 139 A320 open ? - 20:45-23:55 +0 N655JB - -\nf611 810 JAX-BOS 20:49-23:30 128 A320 open ? - 20:49-23:30 +0 N559JB - -\nf612 1751 TPA-SJU 20:50-23:54 150 A320 open ? - 20:50-23:54 +0 N637JB - -\nf613 2102 FLL-JFK 20:50-23:46 178 A321 open ? - 20:50-23:46 +0 N994JL - -\nf614 381 BOS-RIC 20:55-22:47 116 A220 open ? - 20:55-22:47 +0 N3185J - -\nf615 719 JFK-ATL 20:55-23:40 148 A320 open ? - 20:55-23:40 +0 N571JB - -\nf616 1146 FLL-RIC 20:55-23:16 129 A320 open ? - 20:55-23:16 +0 N624JB - -\nf617 1308 ATL-BOS 20:55-23:38 117 A220 open ? - 20:55-23:38 +0 N3113J - -\nf618 2468 CHS-BOS 20:55-23:18 122 A220 open ? - 20:55-23:18 +0 N3156J - -\nf619 2752 SJU-TPA 20:55-23:55 186 A321 open ? - 20:55-23:55 +0 N952JB - -\nf620 206 BOS-PQI 20:59-22:24 63 E190 open ? - 20:59-22:24 +0 N284JB - -\nf621 907 BOS-BNA 20:59-23:51 123 A320 open ? - 20:59-23:51 +0 N646JB - -\nf622 1761 LGA-PBI 20:59-23:59 143 A320 open ? - 20:59-23:59 +0 N715JB - -\nf623 2128 MCO-EWR 20:59-23:48 149 A320 open ? - 20:59-23:48 +0 N760JB - -\nf624 613 HPN-FLL 21:00-23:59 139 A320 open ? - 21:00-23:59 +0 N529JB - -\nf625 1827 EWR-MCO 21:00-23:57 140 A320 open ? - 21:00-23:57 +0 N834JB - -\nf626 384 MCO-JFK 21:05-23:59 143 A320 open ? - 21:05-23:59 +0 N827JB - -\nf627 430 MCO-BQN 21:05-23:59 146 A320 open ? - 21:05-23:59 +0 N580JB - -\nf628 1223 JFK-LAX 21:10-03:29+1 135 A321P open ? - 21:10-03:29+1 +0 N2105J - -\nf629 333 BOS-SFO 21:19-03:59+1 138 A321P open ? - 21:19-03:59+1 +0 N2157J - -\nf630 47 LGA-TPA 21:20-00:10+1 147 A320 open ? - 21:20-00:10+1 +0 N583JB - -\nf631 955 JFK-DCA 21:30-22:59 86 A220 open ? - 21:30-22:59 +0 N3229J - -\nf632 383 JFK-MCO 21:40-00:46+1 186 A321 open ? - 21:40-00:46+1 +0 N948JB - -\nf633 1387 BOS-LAX 21:40-04:00+1 138 A321P open ? - 21:40-04:00+1 +0 N984JB - -\nf634 2101 JFK-FLL 21:40-00:59+1 131 A220 open ? - 21:40-00:59+1 +0 N3157J - -\nf635 2501 FLL-LAX 21:40-02:57+1 138 A321P open ? - 22:45-04:02+1 +65 N983JT - -\nf636 704 SJU-JFK 21:45-01:39+1 150 A320 open ? - 21:45-01:39+1 +0 N784JB - -\nf637 820 JFK-DTW 21:45-23:59 109 A220 open ? - 21:45-23:59 +0 N3242J - -\nf638 334 SJU-MCO 21:50-00:47+1 147 A320 open ? - 21:50-00:47+1 +0 N585JB - -\nf639 1186 JFK-ROC 21:50-23:30 115 A220 open ? - 21:50-23:30 +0 N3194J - -\nf640 2626 FLL-RDU 21:50-23:59 122 A320 open ? - 21:50-23:59 +0 N599JB - -\nf641 303 JFK-SJU 21:59-02:20+1 195 A321 open ? - 00:51+1-05:12+1 +172 N994JL - -\nf642 972 JFK-MHT 21:59-23:27 45 A320 open ? - 21:59-23:27 +0 N653JB - -\nf643 1195 JFK-PIT 21:59-23:51 85 A220 open ? - 21:59-23:51 +0 N3077J - -\nf644 1990 SJU-EWR 21:59-01:58+1 188 A321 open ? - 21:59-01:58+1 +0 N903JB - -\nf645 305 EWR-FLL 22:00-01:10+1 149 A320 open ? - 22:00-01:10+1 +0 N656JB - -\nf646 515 JFK-SFO 22:10-04:54+1 138 A321P open ? - 22:10-04:54+1 +0 N2165J - -\nf647 923 JFK-LAX 22:10-04:24+1 135 A321P open ? - 22:10-04:24+1 +0 N945JT - -\nf648 102 JFK-BUF 22:15-23:59 127 A220 open ? - 22:15-23:59 +0 N3115J - -\nf649 1433 MCO-SJU 22:15-01:15+1 148 A320 open ? - 22:15-01:15+1 +0 N794JB - -\nf650 2072 BQN-FLL 22:28-00:59+1 121 A320 open ? - 22:28-00:59+1 +0 N592JB - -\nf651 1128 JFK-PVD 22:29-23:49 46 A320 open ? - 22:29-23:49 +0 N510JB - -\nf652 675 JFK-BDL 22:30-23:46 51 A320 open ? - 22:30-23:46 +0 N547JB - -\nf653 1516 JFK-SYR 22:30-23:59 112 A320 open ? - 22:30-23:59 +0 N536JB - -\nf654 308 JFK-PWM 22:45-00:17+1 99 A220 open ? - 22:45-00:17+1 +0 N3232J - -\nf655 539 JFK-BQN 22:55-02:59+1 147 A320 open ? - 22:55-02:59+1 +0 N521JB - -\nf656 1318 JFK-BOS 22:59-00:27+1 115 A320 open ? - 22:59-00:27+1 +0 N663JB - -\nf657 1488 LAX-BOS 23:25-05:00+1 138 A321P open ? - 23:25-05:00+1 +0 N2156J - -\nf658 1190 SAN-JFK 23:30-05:09+1 134 A321P open ? - 23:30-05:09+1 +0 N980JT - -\nf659 1024 LAX-JFK 23:36-05:07+1 125 A321P open ? - 23:36-05:07+1 +0 N2151J - -\nf660 2120 SAN-BOS 00:00+1-05:47+1 138 A321P open ? - 00:00+1-05:47+1 +0 N934JB - -\nf661 916 SMF-BOS 00:04+1-05:30+1 119 A320 open ? - 00:04+1-05:30+1 +0 N534JB - -\nf662 2348 LAS-JFK 00:05+1-05:05+1 132 A321P open ? - 00:05+1-05:05+1 +0 N964JT - -\nf663 198 SEA-BOS 00:13+1-05:25+1 178 A321 open ? - 00:13+1-05:25+1 +0 N970JB - -\nf664 278 SFO-FLL 00:14+1-05:54+1 135 A321P open ? - 00:14+1-05:54+1 +0 N992JB - -\nf665 1574 LAX-EWR 00:20+1-05:42+1 133 A321P open ? - 00:20+1-05:42+1 +0 N993JE - -\nf666 359 BUR-JFK 00:22+1-05:50+1 103 A220 open ? - 00:22+1-05:50+1 +0 N3044J - -\nf667 778 LAS-BOS 00:25+1-05:36+1 136 A321P open ? - 00:25+1-05:36+1 +0 N981JT - -\nf668 248 SLC-BOS 00:39+1-05:12+1 120 A220 open ? - 00:39+1-05:12+1 +0 N3104J - -\nf669 994 DEN-BOS 00:39+1-04:35+1 124 A220 open ? - 00:39+1-04:35+1 +0 N3196J - -\nf670 136 PHX-JFK 00:44+1-05:42+1 117 A320 open ? - 00:44+1-05:42+1 +0 N531JL - -\nf671 492 LAX-BUF 00:46+1-05:38+1 141 A320 open ? - 00:46+1-05:38+1 +0 N651JB - -\nf672 66 ABQ-JFK 00:59+1-05:10+1 124 A320 open ? - 00:59+1-05:10+1 +0 N556JB - -\nf673 700 LAX-FLL 01:15+1-06:30+1 138 A321P open ? - 01:15+1-06:30+1 +0 N935JB - -\nf674 1524 LAX-JFK 01:27+1-07:01+1 124 A321P open ? - 01:37+1-07:11+1 +10 N987JT - -\nf675 816 SFO-JFK 01:30+1-07:03+1 138 A321P open ? - 01:30+1-07:03+1 +0 N991JT - -\nf676 98 DEN-JFK 01:54+1-05:40+1 131 A320 open ? - 01:54+1-05:40+1 +0 N586JB - -\nf677 372 SLC-JFK 01:54+1-06:20+1 142 A320 open ? - 01:54+1-06:20+1 +0 N618JB - -\nf678 988 LAX-BOS 02:05+1-07:40+1 138 A321P open ? - 02:05+1-07:40+1 +0 N989JT - -\nf679 162 SMF-JFK 02:08+1-07:29+1 172 A321 open ? - 02:08+1-07:29+1 +0 N997JL - -\nf680 80 RNO-JFK 02:18+1-07:30+1 106 A220 open ? - 02:18+1-07:30+1 +0 N3257J - -\nf681 264 SEA-JFK 02:20+1-07:38+1 181 A321 open ? - 02:20+1-07:38+1 +0 N957JB - -\nf682 96 PDX-BOS 02:40+1-08:00+1 177 A321 open ? - 02:40+1-08:00+1 +0 N950JT - -\nf683 134 SFO-BOS 02:44+1-08:23+1 138 A321P open ? - 02:44+1-08:23+1 +0 N982JB - -\nf684 1224 LAX-JFK 02:54+1-08:31+1 124 A321P open ? - 02:54+1-08:31+1 +0 N942JB - -\nf685 608 LAS-FLL 02:58+1-07:49+1 137 A321P open ? - 02:58+1-07:49+1 +0 N947JB - -\nf686 454 ONT-JFK 02:59+1-08:30+1 163 A321 open ? - 02:59+1-08:30+1 +0 N907JB - -\nf687 948 LAS-JFK 02:59+1-08:02+1 132 A321P open ? - 02:59+1-08:02+1 +0 N985JT - -\n\n## Aircraft now, as your plan has them (@ = ready at)\nBOS: N2156J@06:15 N2157J N281JB N3023J N306JB N3085J N3104J N3125J N3145J@06:04 N3149J@05:09 N3152J N3162J N317JB N3185J N3189J N3215J N3232J@06:30 N3242J N3251J@07:55 N3255J N4077J N519JB@08:30 N534JB@04:14 N552JB N559JB N580JB@15:38 N591JB N594JB N605JB@10:10 N607JB@05:49 N646JB@19:55 N708JB N768JB@06:25 N804JB N809JB N923JB N946JL@06:15 N949JT N959JB N967JT@08:48 N969JT N972JT N981JT@06:17 N984JB N986JB@08:34 N998JE@06:07\nJFK: N2044J@18:00+1 N2105J N2151J@15:15 N2165J N2169J@07:57 N3112J@17:50 N3113J N3115J N3157J N3267J N3275J@06:47 N506JB N531JL N537JT@04:40 N547JB@10:34 N556JB N564JB@07:15 N571JB@19:21 N588JB N597JB@06:00 N606JB@17:02 N644JB N652JB@06:22 N655JB N663JB@22:10 N712JB N789JB N807JB@18:00 N907JB@15:25 N929JB N937JB N942JB N944JT@05:40 N945JT N948JB@20:35 N952JB@07:10 N954JB@05:49 N962JT N964JT@08:36 N968JT@06:30 N976JT@07:50 N979JT@04:58 N980JT@09:27 N990JL N996JL@17:20 N997JL\nALB: N641JB\nATL: N536JB N565JB N970JB@09:21\nBDL: N554JB N562JB N613JB N632JB N794JB\nBNA: N3118J N521JB\nBQN: N593JB N638JB\nBUF: N3077J N329JB N569JB@11:05 N621JB\nCLE: N284JB\nDCA: N3044J N3142J N3196J N524JB N994JL\nDTW: N3102J N3194J\nEWR: N568JB N625JB@06:14 N633JB N661JB@05:15 N706JB N955JB N978JB@06:29\nFLL: N3065J N3132J N3138J N3260J N563JB N584JB N586JB N590JB N592JB N595JB N615JB@05:35 N636JB N639JB N662JB@19:45 N715JB N784JB N793JB N947JB@06:52 N977JE@07:08 N983JT@08:13 N985JT N988JT\nHPN: N3195J N324JB N558JB N599JB N629JB N630JB\nJAX: N3258J\nLAX: N935JB@05:09 N961JT@04:48 N982JB@05:15 N991JT@04:28 N992JB\nLGA: N703JB N827JB N828JB\nMCO: N504JB@07:15 N517JB N523JB N529JB N579JB N585JB N587JB N623JB N624JB@10:35 N651JB N656JB N658JB@06:34 N760JB@20:20 N775JB N796JB N834JB@11:10 N913JB N957JB\nMHT: N526JL\nORD: N3257J\nPBI: N3221J N3247J N566JB N583JB N603JB N634JB\nPIT: N3156J\nPQI: N323JB\nPVD: N516JB N598JB@04:42 N821JB\nPWM: N3229J\nRDU: N612JB N635JB\nRIC: N3240J N665JB\nROC: N3203J\nRSW: N3139J N510JB\nSFO: N934JB N987JT@05:39 N989JT@04:29 N993JE\nSJU: N3169J@06:15 N589JB N618JB N637JB@12:01 N653JB N746JB N805JB N950JT N995JL\nSYR: N283JB N640JB\nTPA: N570JB N649JB N657JB N806JB N903JB\nairborne: none\n\n## News so far\n[22:41-1] TAF AMD KJFK 250241Z 2503/2606 22015KT P6SM FEW250 FM250700 22010KT P6SM SCT250 FM251800 21012KT P6SM SCT050 SCT250 PROB30 2520/2524 4SM TSRA BR BKN050CB FM260000 32009KT P6SM FEW050 BKN250=\n[23:02-1] TAF AMD KBOS 250302Z 2503/2606 22013KT P6SM SCT250 FM251500 22010G18KT P6SM BKN090 PROB30 2519/2523 4SM -TSRA OVC030CB FM252300 28007KT P6SM SCT070 FM260200 31007KT P6SM FEW080=\n[01:21] TAF KJFK 250521Z 2506/2612 21010KT P6SM FEW250 FM250700 22010KT P6SM SCT250 FM251800 21012KT P6SM SCT050 SCT250 TEMPO 2520/2524 4SM TSRA BR BKN050CB FM260000 32009KT P6SM FEW050 BKN250 FM260700 35010KT P6SM SCT250=\n[01:39] TAF KBOS 250539Z 2506/2612 22013KT P6SM SCT250 FM251500 22010G18KT P6SM BKN090 PROB30 2519/2523 4SM -TSRA OVC030CB FM252300 30007KT P6SM BKN070 FM260200 34007KT P6SM FEW080 FEW250 FM261000 01007KT P6SM FEW250=\n[02:51] KJFK 250651Z 22008KT 10SM SCT085 SCT250 24/20 A3001 RMK AO2 SLP162 T02390200 $\n[02:54] KBOS 250654Z 22011KT 10SM FEW250 22/19 A2993 RMK AO2 SLP133 T02220189 $\n[03:51] KJFK 250751Z 24011KT 10SM FEW075 SCT250 24/20 A3000 RMK AO2 SLP159 T02440200 $\n[03:54] KBOS 250754Z 21006KT 10SM FEW250 22/19 A2992 RMK AO2 SLP131 T02220194 $\n\nIt is the first watch, 04:00. Nothing is frozen yet: set the day up with confirm_changes, then call advance.", + "max_turns": 209, + "model_params": { + "max_tokens": 32000 + }, + "timeout_seconds": 7200 + }, + { + "id": "end-day", + "type": "apply_server_config", + "env_id": "airops-v3-day", + "directives": [ + { + "service": "airops-v3-day", + "uri": "urn:airops:v3-end-day/v1", + "args": {} + } + ] + }, + { + "id": "grade", + "type": "env_outcome_verifier", + "env_id": "airops-v3-day", + "file_artifact_id": "airops-verifier", + "verifier_id": "airops", + "score_aggregator": "weighted_average" + } +] diff --git a/src/agentenv_airops/bundles/airops-v3/tasks/b6-20250731-0400.json b/src/agentenv_airops/bundles/airops-v3/tasks/b6-20250731-0400.json new file mode 100644 index 0000000..c37bea8 --- /dev/null +++ b/src/agentenv_airops/bundles/airops-v3/tasks/b6-20250731-0400.json @@ -0,0 +1,71 @@ +[ + { + "id": "deploy", + "type": "deploy_env", + "env_id": "airops-v3-day" + }, + { + "id": "load-task", + "type": "apply_server_config", + "env_id": "airops-v3-day", + "directives": [ + { + "service": "airops-v3-day", + "uri": "urn:airops:v3-live-load/v1", + "args": { + "task_id": "b6-20250731-0400", + "anchor": 5292238, + "follower": 5828762 + } + } + ] + }, + { + "id": "deploy-agent", + "type": "deploy_agent", + "a2a_agent_id": "airops-llm", + "env_ids": [ + "airops-v3-day" + ] + }, + { + "id": "clock", + "type": "sync_env_clock", + "env_id": "airops-v3-day", + "virtual_time": "2025-07-31T08:00:00Z", + "virtual_seconds_per_real_second": 0, + "tolerate_missing_sync_time": false + }, + { + "id": "play", + "type": "prompt_agent", + "prompt_id": "b6-20250731-0400", + "system_prompt": "You run the JetBlue operations desk on a storm day at JFK and BOS: thunderstorms, snow or wind, and the FAA ground stops and ground delay programs (GDPs) that follow, cut how many JetBlue flights can land and take off. Your job is to decide which flights to cancel and which to hold, watch by watch, so that passengers and the airline lose as little as possible over the day.\n\nHow the day runs:\n- The day is played in watches starting at watch 0: one an hour, and one more when an advisory or a SPECI reaches the desk or a ramp closure begins or ends, so watches are 15 to 60 minutes apart. The first message gives the day as the desk knows it at watch 0. Every tool call takes 1 minute of the watch; when the watch's time runs out, the next watch opens by itself, and advance opens it at once.\n- What the desk knows: a flight's own departure delay (weather, air traffic control: anything but waiting for its aircraft or a slot) becomes known 2 hours before its scheduled departure; until then it is assumed on time. FAA Command Center advisories and the hubs' METARs, SPECIs and TAFs arrive as messages at the first watch after they reach the desk: an advisory 0 minutes after it is signed, a METAR 5 and a SPECI 5 minutes after its observation, a TAF 10 minutes after its issue, and the programs table shows the programs as issued, proposed GDPs included; a program may end earlier or later than issued.\n- Ground delay programs: a GDP meters arrivals at a hub over its period. A flight into the hub from an origin in its scope, scheduled to land in the period, needs one of JetBlue's arrival slots in the program: it takes the earliest free slot at or after the time it could land and leaves at its EDCT, the slot less its scheduled block. A cancelled or late flight leaves its slot to the flights behind it. Arrivals outside a program fit under the hub's hourly rate.\n- Ground stops: a flight to a stopped hub from an origin the stop covers waits on the ground until the stop ends; flights already airborne fly on.\n- Departure caps: an airport may take only so many JetBlue departures in an hour (the departure caps table, known 4 hours ahead); a flight with no room in its hour tries again at the next hour's start.\n- Outstation arrival caps: an outstation may take only so many JetBlue arrivals in an hour (the outstation arrival caps table, known 4 hours ahead); a flight with no room in its arrival hour leaves so as to land in the next one.\n- Ramp closures: lightning at the field cuts a hub's ramp rate without stopping it. During a closure only so many JetBlue flights may leave the hub and only so many arrive there; a departure with no room leaves at the closure's end, an arrival with none leaves so as to land at it. A closure is known once it begins; until its end comes it is expected to last 30 minutes more, with caps for that long, and the closures table says which ends are reported and which expected.\n- The env flies your plan on the day as it happens: each flight leaves at the earliest time its delay, its hold, a slot, a stop, a cap and an aircraft allow. It takes the first aircraft of its type ready at its origin (aircraft of one type at one airport are interchangeable; an aircraft needs its turn time on the ground between flights). A flight that can't leave by its deadline is cancelled automatically there. At the end of the day the env ferries each aircraft to the airport it is needed at tomorrow.\n- Your decisions: cancel a flight (its aircraft stays on the ground, free for other flights, and its slot goes to the flights behind), restore a cancelled flight, or hold a flight until a time (not_before) so that its slot or aircraft goes to another flight first. A flight you don't touch leaves as early as it can.\n- The freeze: at watch 0 nothing is frozen. From watch 1 on, flights your plan has leaving before the freeze line, 60 minutes after the watch opens, are frozen: they can't be changed, and stay frozen. A cancellation is final. The env holds any other flight your plan would have leaving before the freeze line to it, and refuses a change that would move a frozen flight or one that has already gone.\n\nTools:\n- get_situation(): the time, the freeze line, the programs as issued with JetBlue's slots, the departure caps known so far, the outstation arrival caps known so far, the ramp closures under way or over, the latest METAR or SPECI and TAF per hub, every flight (its status, its known delay, your plan, where your plan has it leave and land on the day as known, how late it lands, its aircraft, its slot and its crew), where the aircraft are, and the news so far.\n- check_plan(changes): your changes over your plan, run on the day as known now: the plan's cost, the flights whose plan or times change, the automatic cancellations, the flights the env would hold to the freeze line, and the changes confirm_changes would refuse. It confirms nothing.\n- confirm_changes(changes): commits the changes; flights you leave out keep their plan.\n- advance(): ends the watch; its result has the new watch's news. After the last watch it returns \"done\": the day is graded on your plan.\nA change is {\"flight\": \"f12\", \"action\": \"cancel\" | \"restore\" | \"hold\" | \"call_reserve\" | \"release_reserve\", \"not_before\": \"HH:MM\" | null}: cancel takes not_before null; restore and hold fly the flight, held until not_before (local time, \"00:30+1\" after midnight), or as early as it can with null. Where a crew base has a reserve pool (the situation's Reserve crews), a flight leaving it past its crew's deadline flies only on a reserve: call_reserve gives it one while the pool lasts, release_reserve hands it back before that deadline.\n\nThe cost, in passenger-minutes: every passenger's minutes of arrival delay; 523 for each passenger on a cancelled flight, plus one for every minute the cancellation is decided later than 2 hours before its scheduled departure (an automatic cancellation is decided at its deadline, so it costs more than an early one); the airline's own aircraft minutes (a late departure costs crew and fixed costs, a long block fuel too, and a cancellation saves its fuel and maintenance); and the end-of-day ferries. A cancellation frees an aircraft and a slot; it pays when it saves the others more than it costs its own passengers. The day is graded once, on your final plan flown on the day as it really happened: the closer its cost to the best plan possible in hindsight, the higher the score. If you stop before the last watch, the rest of the day runs on your plan.", + "prompt": "# JetBlue operations desk, JFK/BOS, Thursday 2025-07-31; times are local (America/New_York).\n\nNow 04:00 (watch 0, opened 04:00). First watch: nothing is frozen; changes take effect at once.\n\nYour plan on the day as known costs 217,249 (delay 61,860, cancellations 46,547, notice 90,780, ferries 0): 0 cancelled, 1 cancelled automatically, 0 on slots.\n\n## Programs as issued (FAA Command Center)\n- JFK ground delay program adv-20250730-081: arrivals 13:43-1-23:59-1, governs departures 14:23-1-22:14-1; JetBlue's slots none\n- JFK ground stop adv-20250730-068: 13:16-1-14:45-1\n- JFK ground stop adv-20250731-003: 20:13-1-21:25-1\n- JFK ground stop adv-20250731-003: 21:25-1-22:15-1\n\n## Departure caps: JetBlue departures per hour, known 240 min ahead\nBOS: 06h 9\nJFK: 06h 6\n\n## Outstation arrival caps: JetBlue arrivals per hour, known 240 min ahead\nORD: 08h 1\n\n## Ramp closures (lightning at the field; known once begun)\nNone.\n\n## Latest weather (METAR or SPECI, and TAF)\n[03:54] KBOS 310754Z 01006KT 10SM FEW065 BKN085 OVC250 26/19 A2996 RMK AO2 SLP145 T02560189 $\n[01:36] TAF KBOS 310536Z 3106/0112 29007KT P6SM SCT070 SCT250 FM311400 05009KT P6SM SCT045 BKN050 FM311600 06010G17KT P6SM SCT025 OVC030 FM311900 06010G18KT 5SM -SHRA BR SCT015 OVC020 PROB30 3119/3123 2SM TSRA BR BKN008CB FM312300 05009KT 4SM -SHRA BR OVC008 FM010900 05011G22KT 6SM -SHRA OVC008=\n[03:51] KJFK 310751Z 23007KT 10SM SCT160 BKN250 27/22 A2996 RMK AO2 SLP144 T02670222 $\n[01:37] TAF KJFK 310537Z 3106/0112 24005KT P6SM SCT050 SCT200 FM311200 03006KT P6SM SCT035 BKN100 PROB30 3115/3119 5SM -SHRA BR BKN050 FM312000 08011KT 4SM SHRA BR BKN025 OVC100 PROB30 3120/3124 2SM -TSRA BR BKN025CB FM010000 05009KT 2SM RA BR OVC007 PROB30 0100/0104 -TSRA BR BKN020CB FM010400 03014G22KT 4SM -RA BR OVC007 FM010800 02014G22KT 5SM -RA BR OVC015=\n\n## Flights (sched = scheduled dep-arr; delay = known delay, ? not yet; plan = cancel or hold@HH:MM; proj = where your plan has it leave and land on the day as known; late = arrival delay; slot = its GDP slot; crew = crew deadline/rest end, +R on a reserve crew)\nid flight route sched pax type status delay plan proj late tail slot crew\nf0 729 BQN-MCO 05:01-07:52 145 A320 open 0 - 05:01-07:52 +0 N579JB - -\nf1 1233 MCO-SJU 05:01-08:01 148 A320 open -2 - 04:59-07:49 -12 N509JB - -\nf2 1434 SJU-MCO 05:01-08:02 147 A320 open -4 - 04:57-07:43 -19 N536JB - -\nf3 2539 JFK-BQN 05:01-08:49 147 A320 open -10 - 04:51-08:25 -24 N523JB - -\nf4 767 MCO-PSE 05:05-08:02 144 A320 open 1 - 05:06-07:43 -19 N516JB - -\nf5 917 BOS-JFK 05:15-06:30 105 A320 open -10 - 05:05-06:19 -11 N571JB - -\nf6 403 JFK-SJU 05:25-09:15 150 A320 open 4 - 05:29-09:04 -11 N526JL - -\nf7 1889 EWR-SJU 05:35-09:30 195 A321 open 0 - 05:35-09:09 -21 N955JB - -\nf8 2001 BUF-JFK 05:35-07:00 121 A220 open -4 - 05:31-06:44 -16 N3189J - -\nf9 207 PQI-BOS 05:45-07:09 68 E190 open -4 - 05:41-06:52 -17 N284JB - -\nf10 87 ALB-FLL 06:00-09:15 146 A320 open -8 - 05:52-08:42 -33 N641JB - -\nf11 123 JFK-LAX 06:00-11:55 136 A321P open -7 - 05:53-11:31 -24 N2142J - -\nf12 130 RSW-JFK 06:00-08:48 141 A320 open -1 - 05:59-08:41 -7 N531JL - -\nf13 166 RSW-BOS 06:00-09:10 124 A220 open -5 - 05:55-09:18 +8 N3062J - -\nf14 306 FLL-EWR 06:00-08:55 143 A320 open -1 - 05:59-08:37 -18 N593JB - -\nf15 311 BOS-ORD 06:00-08:55 122 A220 open 1 - 06:01-09:08 +13 N3077J - -\nf16 322 PBI-BOS 06:00-09:10 125 A220 open -5 - 05:55-09:02 -8 N3258J - -\nf17 382 RIC-BOS 06:00-07:40 120 A220 open -3 - 05:57-07:28 -12 N3240J - -\nf18 525 PVD-SJU 06:00-09:48 146 A320 open -1 - 05:59-09:36 -12 N636JB - -\nf19 562 SJU-BOS 06:00-10:07 145 A320 open -7 - 05:53-09:49 -18 N646JB - -\nf20 696 ATL-BOS 06:00-08:33 135 A320 open -6 - 05:54-08:13 -20 N708JB - -\nf21 737 BDL-MCO 06:00-08:53 143 A320 open -9 - 05:51-08:35 -18 N568JB - -\nf22 891 BOS-TPA 06:00-09:15 126 A220 open 37 - 06:37-09:41 +26 N3118J - -\nf23 927 EWR-MCO 06:00-08:42 150 A320 open -3 - 05:57-08:41 -1 N535JB - -\nf24 1062 PBI-LGA 06:00-08:43 138 A320 open -15 - 05:45-08:13 -30 N661JB - -\nf25 1076 PVD-MCO 06:00-08:54 128 A320 open -6 - 05:54-08:46 -8 N504JB - -\nf26 1192 TPA-BOS 06:00-09:05 140 A320 open -3 - 05:57-08:48 -17 N585JB - -\nf27 1201 FLL-LAX 06:00-11:18 138 A321P open -3 - 05:57-11:12 -6 N967JT - -\nf28 1419 DTW-JFK 06:00-07:45 105 A220 open 3 - 06:03-07:40 -5 N3260J - -\nf29 1515 SYR-JFK 06:00-07:13 110 A320 open -10 - 05:50-07:03 -10 N709JB - -\nf30 1652 MCO-BOS 06:00-09:04 172 A321 open -5 - 05:55-08:50 -14 N972JT - -\nf31 1883 BOS-RDU 06:00-08:05 138 A321P open -1 - 05:59-07:55 -10 N2157J - -\nf32 1911 EWR-RSW 06:00-08:58 138 A320 open -3 - 05:57-08:51 -7 N775JB - -\nf33 2133 MCO-SJU 06:00-09:00 148 A320 open -5 - 05:55-08:55 -5 N520JB - -\nf34 2904 SJU-JFK 06:00-09:59 190 A321 open -2 - 05:58-09:45 -14 N997JL - -\nf35 234 SJU-MCO 06:01-09:03 147 A320 open ? - 06:01-09:03 +0 N587JB - -\nf36 302 FLL-JFK 06:03-08:59 144 A320 open ? - 06:03-08:59 +0 N630JB - -\nf37 307 PWM-JFK 06:05-07:24 90 A220 open ? - 06:05-07:24 +0 N3251J - -\nf38 538 BQN-JFK 06:05-09:57 139 A320 open ? - 06:11-10:03 +6 N559JB - -\nf39 1333 BOS-SFO 06:05-12:44 126 A321P open ? - 06:05-12:44 +0 N4077J - -\nf40 493 BOS-DEN 06:06-10:34 148 A320 open ? - 06:06-10:34 +0 N584JB - -\nf41 1368 PBI-HPN 06:06-09:00 148 A320 open ? - 06:06-09:00 +0 N763JB - -\nf42 115 JFK-SFO 06:15-12:45 138 A321P open ? - 06:15-12:45 +0 N2165J - -\nf43 351 BOS-MCO 06:15-09:24 143 A320 open ? - 06:15-09:24 +0 N625JB - -\nf44 1285 ROC-JFK 06:15-07:39 105 A220 open ? - 06:15-07:39 +0 N3142J - -\nf45 540 CLE-BOS 06:19-08:05 76 E190 open ? - 06:19-08:05 +0 N306JB - -\nf46 109 BOS-JAX 06:20-09:07 123 A220 open ? - 06:20-09:07 +0 N3102J - -\nf47 1678 JAX-JFK 06:20-08:40 126 A220 open ? - 06:20-08:40 +0 N3221J - -\nf48 1950 FLL-BDL 06:20-09:15 143 A320 open ? - 06:20-09:15 +0 N644JB - -\nf49 287 BOS-LAX 06:25-12:40 138 A321P open ? - 06:25-12:40 +0 N944JT - -\nf50 2255 BOS-DCA 06:25-08:05 87 E190 open ? - 06:25-08:05 +0 N323JB - -\nf51 254 DCA-JFK 06:30-07:43 90 A220 open ? - 06:30-07:43 +0 N3065J - -\nf52 411 JFK-LAS 06:30-12:00 138 A321P open ? - 06:30-12:00 +0 N937JB - -\nf53 1083 JFK-MCO 06:30-09:14 140 A320 open ? - 06:30-09:14 +0 N606JB - -\nf54 2718 JFK-BOS 06:30-07:44 100 A220 open ? - 06:30-07:44 +0 N3194J - -\nf55 569 BOS-FLL 06:35-10:00 125 A220 open ? - 06:35-10:00 +0 N3104J - -\nf56 599 LGA-MCO 06:40-09:22 150 A320 open ? - 06:40-09:22 +0 N537JT - -\nf57 126 TPA-JFK 06:45-09:29 142 A320 open ? - 06:45-09:29 +0 N623JB - -\nf58 959 BDL-FLL 06:45-09:58 148 A320 open ? - 06:45-09:58 +0 N603JB - -\nf59 2285 JFK-RDU 06:45-08:24 147 A320 open ? - 06:45-08:24 +0 N640JB - -\nf60 2625 RDU-FLL 06:45-08:55 132 A320 open ? - 06:45-08:55 +0 N784JB - -\nf61 1184 MCO-JFK 06:46-09:29 177 A321 open ? - 06:46-09:29 +0 N973JT - -\nf62 286 RDU-JFK 06:47-08:30 136 A320 open ? - 06:47-08:30 +0 N564JB - -\nf63 1480 FLL-DCA 06:50-09:20 120 A220 open ? - 06:50-09:20 +0 N3138J - -\nf64 1601 JFK-FLL 06:54-09:59 187 A321 open ? - 06:54-09:59 +0 N958JB - -\nf65 223 JFK-LAX 06:55-12:52 135 A321P open ? - 07:00-12:57 +5 N945JT - -\nf66 205 EWR-FLL 06:59-09:54 149 A320 open ? - 06:59-09:54 +0 N554JB - -\nf67 1067 HPN-PBI 06:59-09:46 150 A320 open ? - 06:59-09:46 +0 N586JB - -\nf68 165 BOS-RSW 07:00-10:28 178 A321 open ? - 07:00-10:28 +0 N966JT - -\nf69 379 DCA-FLL 07:00-09:35 124 A220 open ? - 07:00-09:35 +0 N3215J - -\nf70 619 BOS-SAN 07:00-13:04 138 A321P open ? - 07:00-13:04 +0 N993JE - -\nf71 690 FLL-BOS 07:00-10:14 127 A220 open ? - 07:00-10:14 +0 N3145J - -\nf72 814 FLL-HPN 07:00-10:00 139 A320 open ? - 07:00-10:00 +0 N715JB - -\nf73 971 MHT-JFK 07:00-08:14 46 A320 open ? - 07:00-08:14 +0 N729JB - -\nf74 1074 BNA-JFK 07:00-09:27 113 A220 open ? - 07:00-09:27 +0 N3023J - -\nf75 1145 RIC-FLL 07:00-09:23 136 A320 open ? - 07:00-09:23 +0 N705JB - -\nf76 1198 PIT-JFK 07:00-08:30 69 A220 open ? - 07:00-08:30 +0 N3115J - -\nf77 1246 SJU-FLL 07:00-09:41 130 A220 open ? - 07:00-09:41 +0 N3058J - -\nf78 1471 LGA-FLL 07:00-10:00 150 A320 open ? - 07:00-10:00 +0 N562JB - -\nf79 1476 SJU-BDL 07:00-10:53 149 A320 open ? - 07:00-10:53 +0 N746JB - -\nf80 1551 HPN-RSW 07:00-09:56 122 A320 open ? - 07:00-09:56 +0 N592JB - -\nf81 1956 FLL-ALB 07:00-10:03 126 A220 open ? - 07:00-10:03 +0 N3195J - -\nf82 2274 TPA-EWR 07:00-09:49 140 A320 open ? - 07:00-09:49 +0 N570JB - -\nf83 1130 FLL-CHS 07:05-08:45 85 A220 open ? - 07:05-08:45 +0 N3169J - -\nf84 320 ATL-JFK 07:06-09:29 139 A320 open ? - 07:06-09:29 +0 N547JB - -\nf85 1129 PVD-JFK 07:07-08:09 55 A320 open ? - 07:07-08:09 +0 N556JB - -\nf86 417 BOS-JFK 07:10-08:30 105 A320 open ? - 07:10-08:30 +0 N637JB - -\nf87 1585 BOS-PIT 07:10-09:03 100 A220 open ? - 07:10-09:03 +0 N3162J - -\nf88 676 BDL-JFK 07:12-08:14 72 A320 open ? - 07:12-08:14 +0 N638JB - -\nf89 2144 PBI-EWR 07:12-10:00 140 A320 open ? - 07:12-10:00 +0 N794JB - -\nf90 397 BOS-SEA 07:15-13:33 187 A321 open ? - 07:15-13:33 +0 N970JB - -\nf91 656 MCO-SYR 07:15-10:02 131 A320 open ? - 07:15-10:02 +0 N521JB - -\nf92 1219 BOS-MIA 07:15-10:44 124 A220 open ? - 07:15-10:44 +0 N3196J - -\nf93 2751 TPA-SJU 07:15-10:20 189 A321 open ? - 07:15-10:20 +0 N903JB - -\nf94 406 ORD-JFK 07:16-09:29 118 A220 open ? - 07:16-09:29 +0 N3157J - -\nf95 598 MCO-LGA 07:19-10:00 150 A320 open ? - 07:19-10:00 +0 N561JB - -\nf96 2465 BUF-FLL 07:20-10:20 150 A320 open ? - 07:20-10:20 +0 N580JB - -\nf97 716 BUF-BOS 07:22-08:42 83 E190 open ? - 07:22-08:42 +0 N283JB - -\nf98 189 JFK-SAN 07:30-13:29 138 A321P open ? - 07:30-13:29 +0 N968JT - -\nf99 741 JFK-SAV 07:30-09:44 118 A220 open ? - 07:30-09:44 +0 N3242J - -\nf100 953 JFK-PBI 07:30-10:29 150 A320 open ? - 07:30-10:29 +0 N558JB - -\nf101 1447 HPN-TPA 07:30-10:18 150 A320 open ? - 07:30-10:18 +0 N597JB - -\nf102 1602 JFK-BUF 07:30-09:00 127 A220 open ? - 07:30-09:00 +0 N3257J - -\nf103 257 BOS-BZN 07:40-12:37 140 A320 open ? - 07:40-12:37 +0 N645JB - -\nf104 991 FLL-SJU 07:40-10:19 150 A320 open ? - 07:40-10:19 +0 N796JB - -\nf105 1177 BOS-LAS 07:41-13:30 138 A321P open ? - 07:41-13:30 +0 N991JT - -\nf106 163 JFK-SRQ 07:45-10:43 129 A220 open ? - 07:45-10:43 +0 N3149J - -\nf107 374 SYR-BOS 07:45-08:54 82 E190 open ? - 07:45-08:54 +0 N318JB - -\nf108 377 FLL-SFO 07:45-13:35 138 A321P open ? - 07:45-13:35 +0 N985JT - -\nf109 1573 EWR-LAX 07:45-13:32 133 A321P open ? - 07:45-13:32 +0 N988JT - -\nf110 2423 DCA-MCO 07:45-10:05 142 A320 open ? - 07:45-10:05 +0 N659JB - -\nf111 1247 LGA-TPA 07:59-10:49 147 A320 open ? - 07:59-10:49 +0 N706JB - -\nf112 455 BOS-DCA 08:00-09:41 87 E190 open ? - 08:00-09:41 +0 N324JB - -\nf113 514 FLL-ISP 08:00-10:51 150 A320 open ? - 08:00-10:51 +0 N827JB - -\nf114 633 BOS-IAH 08:00-12:12 125 A220 open ? - 08:00-12:12 +0 N3125J - -\nf115 651 BOS-MCO 08:00-11:11 124 A220 open ? - 08:00-11:11 +0 N3275J - -\nf116 687 BOS-LAX 08:00-14:12 138 A321P open ? - 08:00-14:12 +0 N2156J - -\nf117 861 BOS-SJU 08:00-12:06 150 A320 open ? - 08:00-12:06 +0 N760JB - -\nf118 1033 MCO-SJU 08:00-11:00 137 A320 open ? - 08:00-11:00 +0 N588JB - -\nf119 1273 JFK-CHS 08:00-10:15 140 A320 open ? - 08:00-10:15 +0 N789JB - -\nf120 1293 BOS-ILM 08:00-10:03 102 A220 open ? - 08:00-10:03 +0 N3044J - -\nf121 1347 DCA-SJU 08:00-11:59 185 A321 open ? - 08:00-11:59 +0 N994JL - -\nf122 1475 BDL-SJU 08:00-11:50 130 A320 open ? - 08:00-11:50 +0 N534JB - -\nf123 2016 FLL-PHL 08:00-10:52 127 A320 open ? - 08:00-10:52 +0 N566JB - -\nf124 2601 HPN-SJU 08:00-11:45 132 A220 open ? - 08:00-11:45 +0 N3255J - -\nf125 323 JFK-LAX 08:01-14:01 135 A321P open ? - 08:01-14:01 +0 N990JL - -\nf126 596 FLL-PVD 08:05-11:03 150 A320 open ? - 08:05-11:03 +0 N806JB - -\nf127 1159 BOS-PHL 08:05-09:38 84 E190 open ? - 08:05-09:38 +0 N329JB - -\nf128 183 JFK-MCO 08:10-11:00 131 A220 open ? - 08:10-11:00 +0 N3232J - -\nf129 519 JFK-ATL 08:10-10:36 148 A320 open ? - 08:10-10:36 +0 N510JB - -\nf130 806 BNA-BOS 08:10-10:44 118 A320 open ? - 08:10-10:44 +0 N524JB - -\nf131 1497 JFK-DEN 08:10-12:25 146 A320 open ? - 08:10-12:25 +0 N508JL - -\nf132 1 JFK-FLL 08:15-11:31 187 A321 open ? - 08:15-11:31 +0 N965JT - -\nf133 854 PBI-JFK 08:15-11:00 126 A220 open ? - 08:15-11:00 +0 N3267J - -\nf134 1334 SJU-MCO 08:15-11:17 147 A320 open ? - 08:15-11:17 +0 N653JB - -\nf135 215 JFK-SFO 08:20-14:57 138 A321P open ? - 08:20-14:57 +0 N984JB - -\nf136 1707 FLL-LAS 08:20-13:17 133 A321P open ? - 08:20-13:17 +0 N978JB - -\nf137 837 BOS-DTW 08:25-10:37 118 A220 open ? - 08:25-10:37 +0 N3132J - -\nf138 85 BUF-MCO 08:30-11:05 150 A320 open ? - 08:30-11:05 +0 N599JB - -\nf139 813 HPN-FLL 08:30-11:25 139 A320 open ? - 08:30-11:25 +0 N613JB - -\nf140 1018 JFK-BOS 08:30-09:51 100 A220 open ? - 08:30-09:51 +0 N3189J - -\nf141 1263 BOS-TVC 08:30-10:51 89 A220 open ? - 08:30-10:51 +0 N3229J - -\nf142 1241 BDL-PBI 08:35-11:35 138 A320 open ? - 08:35-11:35 +0 N834JB - -\nf143 1295 BOS-BUF 08:35-10:09 81 E190 open ? - 08:35-10:09 +0 N284JB - -\nf144 1324 BOS-MVY 08:35-09:21 38 E190 open ? - 08:42-09:28 +7 N306JB - -\nf145 1117 BOS-JFK 08:40-09:59 91 A220 open ? - 08:40-09:59 +0 N3240J - -\nf146 1854 DCA-BOS 08:40-10:16 89 E190 open ? - 08:40-10:16 +0 N323JB - -\nf147 2024 MCO-DCA 08:45-11:00 136 A320 open ? - 08:45-11:00 +0 N635JB - -\nf148 762 SJU-BOS 08:50-13:00 179 A321 open ? - 08:50-13:00 +0 N995JL - -\nf149 768 PSE-MCO 08:50-11:53 146 A320 open ? - 08:50-11:53 +0 N516JB - -\nf150 1603 JFK-SJU 08:50-12:50 138 A321P open ? - 08:50-12:50 +0 N986JB - -\nf151 2121 HPN-ACK 08:56-10:00 70 E190 open ? - 08:56-10:00 +0 N317JB - -\nf152 75 JFK-MSY 09:00-12:16 128 A220 open ? - 09:00-12:16 +0 N3152J - -\nf153 116 SFO-JFK 09:00-14:40 138 A321P open ? - 09:00-14:40 +0 N964JT - -\nf154 484 RDU-BOS 09:00-10:59 138 A321P open ? - 09:00-10:59 +0 N2157J - -\nf155 523 JFK-LAX 09:00-14:59 135 A321P open ? - 09:00-14:59 +0 N947JB - -\nf156 888 LAX-BOS 09:00-14:47 138 A321P open ? - 09:00-14:47 +0 N979JT - -\nf157 1454 SJU-FLL 09:00-11:41 150 A320 open ? - 09:00-11:41 +0 N621JB - -\nf158 2433 DCA-PBI 09:00-11:30 122 A220 open ? - 09:00-11:30 +0 N3112J - -\nf159 2828 MCO-ALB 09:00-11:48 150 A320 open ? - 09:00-11:48 +0 N768JB - -\nf160 219 BOS-SAN 09:04-15:10 138 A321P open ? - 09:04-15:10 +0 N976JT - -\nf161 434 SFO-BOS 09:05-14:50 138 A321P open ? - 09:05-14:50 +0 N969JT - -\nf162 1097 BOS-ATL 09:05-11:53 147 A320 open ? - 09:05-11:53 +0 N793JB - -\nf163 1529 JFK-RSW 09:05-12:12 150 A320 open ? - 09:05-12:12 +0 N648JB - -\nf164 94 MCO-HPN 09:10-11:57 137 A320 open ? - 09:10-11:57 +0 N507JT - -\nf165 2041 BOS-CLE 09:10-11:12 106 A220 open ? - 09:10-11:12 +0 N3194J - -\nf166 791 BOS-TPA 09:14-12:29 145 A320 open ? - 09:14-12:29 +0 N809JB - -\nf167 1807 BOS-BNA 09:15-12:03 123 A320 open ? - 09:15-12:03 +0 N639JB - -\nf168 1338 JFK-MVY 09:16-10:29 86 A220 open ? - 09:16-10:29 +0 N3251J - -\nf169 2786 RDU-JFK 09:19-10:58 136 A320 open ? - 09:19-10:58 +0 N640JB - -\nf170 21 BOS-PBI 09:20-12:32 180 A321 open ? - 09:20-12:32 +0 N905JB - -\nf171 2355 BOS-DCA 09:22-10:59 87 E190 open ? - 09:22-10:59 +0 N283JB - -\nf172 124 LAX-JFK 09:25-14:59 124 A321P open ? - 09:25-14:59 +0 N983JT - -\nf173 511 JFK-LAS 09:30-15:07 138 A321P open ? - 09:30-15:07 +0 N2151J - -\nf174 905 JFK-ORD 09:30-12:19 129 A220 open ? - 09:30-12:19 +0 N3142J - -\nf175 1131 CHS-FLL 09:30-11:09 104 A220 open ? - 09:30-11:09 +0 N3169J - -\nf176 2352 BOS-ACK 09:35-10:29 68 E190 open ? - 09:35-10:29 +0 N318JB - -\nf177 2638 BQN-JFK 09:35-13:29 139 A320 open ? - 09:35-13:29 +0 N523JB - -\nf178 312 ORD-BOS 09:40-12:04 125 A220 open ? - 09:53-12:17 +13 N3077J - -\nf179 1686 TPA-JFK 09:43-12:31 142 A320 open ? - 09:43-12:31 +0 N658JB - -\nf180 127 EWR-MCO 09:45-12:35 150 A320 open ? - 09:45-12:35 +0 N563JB - -\nf181 172 FLL-LGA 09:45-12:37 148 A320 open ? - 09:45-12:37 +0 N589JB - -\nf182 488 MCO-ORH 09:45-12:39 116 A320 open ? - 09:45-12:39 +0 N590JB - -\nf183 1461 LGA-PBI 09:45-12:39 143 A320 open ? - 09:45-12:39 +0 N661JB - -\nf184 1901 BUF-JFK 09:45-11:09 121 A220 open ? - 09:45-11:09 +0 N3257J - -\nf185 2695 HPN-MCO 09:45-12:28 145 A320 open ? - 09:45-12:28 +0 N763JB - -\nf186 1912 RSW-EWR 09:48-12:39 147 A320 open ? - 09:48-12:39 +0 N775JB - -\nf187 267 BOS-CHS 09:55-12:24 130 A220 open ? - 09:55-12:24 +0 N3062J - -\nf188 670 MCO-RIC 09:55-12:00 121 A320 open ? - 09:55-12:00 +0 N583JB - -\nf189 1310 JAX-BOS 09:55-12:35 111 A220 open ? - 09:55-12:35 +0 N3102J - -\nf190 186 JFK-ROC 09:59-11:24 115 A220 open ? - 09:59-11:24 +0 N3260J - -\nf191 393 BOS-DEN 10:00-14:38 148 A320 open ? - 10:00-14:38 +0 N569JB - -\nf192 892 TPA-BOS 10:00-13:04 121 A220 open ? - 10:21-13:25 +21 N3118J - -\nf193 1277 FLL-SFO 10:00-15:49 138 A321P open ? - 10:00-15:49 +0 N962JT - -\nf194 1286 PIT-BOS 10:00-11:39 107 A220 open ? - 10:00-11:39 +0 N3162J - -\nf195 249 BOS-SAV 10:05-12:40 116 A220 open ? - 10:05-12:40 +0 N3113J - -\nf196 1142 PBI-BDL 10:05-12:59 147 A320 open ? - 10:05-12:59 +0 N615JB - -\nf197 1921 BDL-FLL 10:05-13:09 148 A320 open ? - 10:05-13:09 +0 N644JB - -\nf198 2801 FLL-LAX 10:05-15:26 138 A321P open ? - 10:05-15:26 +0 N980JT - -\nf199 1225 MVY-BOS 10:06-10:55 46 E190 open ? - 10:06-10:55 +0 N306JB - -\nf200 2584 MCO-JFK 10:09-12:49 133 A320 open ? - 10:09-12:49 +0 N657JB - -\nf201 579 DCA-FLL 10:10-12:48 124 A220 open ? - 10:10-12:48 +0 N3138J - -\nf202 1235 BOS-SJU 10:10-14:15 192 A321 open ? - 10:10-14:15 +0 N999JQ - -\nf203 385 BOS-PIT 10:11-11:58 100 A220 open ? - 10:11-11:58 +0 N3185J - -\nf204 1123 JFK-LAX 10:14-16:10 135 A321P open ? - 10:14-16:10 +0 N946JL - -\nf205 546 MCO-ISP 10:15-12:56 134 A320 open ? - 10:15-12:56 +0 N536JB - -\nf206 552 MCO-BOS 10:15-13:14 139 A320 open ? - 10:15-13:14 +0 N579JB - -\nf207 1160 PHL-BOS 10:15-11:40 81 E190 open ? - 10:15-11:40 +0 N329JB - -\nf208 815 BOS-DFW 10:23-14:27 147 A320 open ? - 10:23-14:27 +0 N633JB - -\nf209 2902 JFK-BUF 10:25-11:56 127 A220 open ? - 10:25-11:56 +0 N3115J - -\nf210 142 SAV-JFK 10:29-12:29 112 A220 open ? - 10:29-12:29 +0 N3242J - -\nf211 554 DCA-BOS 10:30-12:05 89 E190 open ? - 10:30-12:05 +0 N324JB - -\nf212 1833 BOS-SFO 10:30-17:05 138 A321P open ? - 10:30-17:05 +0 N981JT - -\nf213 904 SJU-JFK 10:35-14:30 190 A321 open ? - 10:35-14:30 +0 N955JB - -\nf214 2091 JFK-ACK 10:35-11:53 85 A220 open ? - 10:35-11:53 +0 N3221J - -\nf215 2273 EWR-TPA 10:39-13:29 150 A320 open ? - 10:39-13:29 +0 N593JB - -\nf216 316 SFO-JFK 10:40-16:16 138 A321P open ? - 10:40-16:16 +0 N934JB - -\nf217 404 SJU-RDU 10:40-14:20 145 A320 open ? - 10:40-14:20 +0 N509JB - -\nf218 418 JFK-BOS 10:40-11:58 115 A320 open ? - 10:40-11:58 +0 N571JB - -\nf219 2493 ACK-DCA 10:40-12:18 64 E190 open ? - 10:40-12:18 +0 N317JB - -\nf220 225 JFK-TPA 10:45-13:41 150 A320 open ? - 10:45-13:41 +0 N828JB - -\nf221 1552 RSW-HPN 10:46-13:44 126 A320 open ? - 10:46-13:44 +0 N592JB - -\nf222 1290 ILM-BOS 10:48-12:45 106 A220 open ? - 10:48-12:45 +0 N3044J - -\nf223 1925 ALB-FLL 10:48-13:59 126 A220 open ? - 10:48-13:59 +0 N3195J - -\nf224 133 MCO-SJU 10:50-13:51 148 A320 open ? - 10:50-13:51 +0 N535JB - -\nf225 499 LGA-MCO 10:50-13:40 150 A320 open ? - 10:50-13:40 +0 N561JB - -\nf226 1487 BOS-LAX 10:50-17:04 138 A321P open ? - 10:50-17:04 +0 N977JE - -\nf227 1296 BUF-BOS 10:54-12:20 83 E190 open ? - 10:54-12:20 +0 N284JB - -\nf228 401 BOS-MSY 10:55-14:32 142 A320 open ? - 10:55-14:32 +0 N662JB - -\nf229 1167 HPN-PBI 10:55-13:46 150 A320 open ? - 10:55-13:46 +0 N715JB - -\nf230 655 SYR-MCO 11:00-13:56 136 A320 open ? - 11:00-13:56 +0 N521JB - -\nf231 678 JFK-JAX 11:00-13:29 129 A220 open ? - 11:00-13:29 +0 N3023J - -\nf232 947 JFK-BZN 11:00-15:56 140 A320 open ? - 11:00-15:56 +0 N709JB - -\nf233 1700 LAX-FLL 11:00-16:23 138 A321P open ? - 11:00-16:23 +0 N992JB - -\nf234 2143 EWR-PBI 11:00-13:55 148 A320 open ? - 11:00-13:55 +0 N570JB - -\nf235 2474 CHS-JFK 11:00-12:59 130 A320 open ? - 11:00-12:59 +0 N789JB - -\nf236 1288 PBI-PVD 11:04-13:57 150 A320 open ? - 11:04-13:57 +0 N586JB - -\nf237 1902 FLL-JFK 11:04-14:00 178 A321 open ? - 11:04-14:00 +0 N958JB - -\nf238 2074 LAX-EWR 11:10-16:40 133 A321P open ? - 11:10-16:40 +0 N989JT - -\nf239 272 FLL-LGA 11:12-14:07 148 A320 open ? - 11:12-14:07 +0 N804JB - -\nf240 266 RSW-BOS 11:13-14:23 178 A321 open ? - 11:30-14:40 +17 N966JT - -\nf241 1054 PBI-JFK 11:14-13:59 146 A320 open ? - 11:14-13:59 +0 N558JB - -\nf242 1339 MVY-JFK 11:14-12:20 80 A220 open ? - 11:14-12:20 +0 N3251J - -\nf243 503 JFK-SJU 11:15-15:12 150 A320 open ? - 11:15-15:12 +0 N638JB - -\nf244 831 ACK-LGA 11:15-12:30 69 E190 open ? - 11:15-12:30 +0 N318JB - -\nf245 1017 BOS-JFK 11:15-12:32 91 A220 open ? - 11:15-12:32 +0 N3189J - -\nf246 1055 BOS-DCA 11:15-12:54 87 E190 open ? - 11:15-12:54 +0 N323JB - -\nf247 730 MCO-BQN 11:20-14:09 146 A320 open ? - 11:20-14:09 +0 N519JB - -\nf248 1144 MCO-MHT 11:20-14:18 146 A320 open ? - 11:20-14:18 +0 N504JB - -\nf249 494 DEN-BOS 11:24-15:29 144 A320 open ? - 11:24-15:29 +0 N584JB - -\nf250 1336 DTW-BOS 11:25-13:14 113 A220 open ? - 11:25-13:14 +0 N3132J - -\nf251 1734 SFO-BOS 11:25-17:14 138 A321P open ? - 11:25-17:14 +0 N935JB - -\nf252 1890 SJU-EWR 11:25-15:34 188 A321 open ? - 11:25-15:34 +0 N903JB - -\nf253 288 LAX-BOS 11:30-17:20 138 A321P open ? - 11:30-17:20 +0 N942JB - -\nf254 1215 BOS-BUF 11:30-13:03 81 E190 open ? - 11:32-13:05 +2 N306JB - -\nf255 138 MCO-BDL 11:35-14:28 145 A320 open ? - 11:35-14:28 +0 N587JB - -\nf256 164 SRQ-JFK 11:35-14:30 125 A220 open ? - 11:35-14:30 +0 N3149J - -\nf257 1520 ATL-JFK 11:36-13:58 139 A320 open ? - 11:36-13:58 +0 N510JB - -\nf258 194 MCO-HPN 11:40-14:29 137 A320 open ? - 11:40-14:29 +0 N606JB - -\nf259 513 ISP-FLL 11:40-14:37 150 A320 open ? - 11:40-14:37 +0 N827JB - -\nf260 2051 BOS-MCO 11:40-14:51 133 A320 open ? - 11:40-14:51 +0 N505JB - -\nf261 429 PHL-FLL 11:42-14:33 127 A320 open ? - 11:42-14:33 +0 N566JB - -\nf262 1220 MIA-BOS 11:43-15:12 114 A220 open ? - 11:43-15:12 +0 N3196J - -\nf263 184 MCO-JFK 11:45-14:29 124 A220 open ? - 11:45-14:29 +0 N3232J - -\nf264 1923 DCA-MCO 11:45-14:04 142 A320 open ? - 11:45-14:04 +0 N635JB - -\nf265 2454 DCA-BOS 11:45-13:15 89 E190 open ? - 11:45-13:15 +0 N283JB - -\nf266 1264 TVC-BOS 11:46-13:48 93 A220 open ? - 11:46-13:48 +0 N3229J - -\nf267 1281 BOS-RIC 11:49-13:37 132 A321P open ? - 11:49-13:37 +0 N961JT - -\nf268 597 PVD-FLL 11:50-14:55 149 A320 open ? - 11:50-14:55 +0 N806JB - -\nf269 641 BOS-CLE 11:50-13:49 75 E190 open ? - 12:17-14:16 +27 N329JB - -\nf270 934 SJU-MCO 11:50-14:55 137 A320 open ? - 11:50-14:55 +0 N636JB - -\nf271 1103 BDL-RSW 11:50-15:04 132 A320 open ? - 11:50-15:04 +0 N746JB - -\nf272 2028 MCO-EWR 11:55-14:40 149 A320 open ? - 11:55-14:40 +0 N537JT - -\nf273 83 JFK-MCO 12:00-14:52 150 A320 open ? - 12:00-14:52 +0 N564JB - -\nf274 261 BOS-SJU 12:00-16:04 134 A220 open ? - 12:00-16:04 +0 N3145J - -\nf275 352 MCO-BOS 12:00-15:05 120 A220 open ? - 12:00-15:05 +0 N3275J - -\nf276 415 JFK-SFO 12:00-18:20 138 A321P open ? - 12:00-18:20 +0 N923JB - -\nf277 508 JFK-PWM 12:00-13:23 99 A220 open ? - 12:00-13:23 +0 N3157J - -\nf278 2020 FLL-ORH 12:05-15:03 97 A220 open ? - 12:05-15:03 +0 N3104J - -\nf279 2040 CLE-BOS 12:07-13:54 106 A220 open ? - 12:07-13:54 +0 N3194J - -\nf280 423 JFK-LAX 12:10-18:10 135 A321P open ? - 12:10-18:10 +0 N929JB - -\nf281 1075 MCO-PVD 12:15-15:06 137 A320 open ? - 12:15-15:06 +0 N625JB - -\nf282 1553 FLL-SJU 12:15-14:57 150 A320 open ? - 12:15-14:57 +0 N641JB - -\nf283 698 MCO-LGA 12:25-15:05 150 A320 open ? - 12:25-15:05 +0 N634JB - -\nf284 2334 PBI-DCA 12:25-14:48 118 A220 open ? - 12:25-14:48 +0 N3112J - -\nf285 2469 BOS-FLL 12:25-15:49 125 A220 open ? - 12:25-15:49 +0 N3162J - -\nf286 485 ROC-JFK 12:30-13:49 105 A220 open ? - 12:30-13:49 +0 N3260J - -\nf287 501 JFK-FLL 12:30-15:38 150 A320 open ? - 12:30-15:38 +0 N531JL - -\nf288 544 PBI-ISP 12:30-15:13 150 A320 open ? - 12:30-15:13 +0 N834JB - -\nf289 1352 BOS-ACK 12:32-13:25 68 E190 open ? - 12:42-13:35 +10 N324JB - -\nf290 2827 ALB-MCO 12:33-15:39 150 A320 open ? - 12:33-15:39 +0 N768JB - -\nf291 524 LAX-JFK 12:40-18:23 124 A321P open ? - 12:40-18:23 +0 N967JT - -\nf292 386 PIT-BOS 12:43-14:22 107 A220 open ? - 12:43-14:22 +0 N3185J - -\nf293 2901 BUF-JFK 12:43-14:14 121 A220 open ? - 12:43-14:14 +0 N3115J - -\nf294 70 FLL-BOS 12:45-16:04 146 A320 open ? - 12:45-16:04 +0 N705JB - -\nf295 896 ATL-BOS 12:48-15:24 135 A320 open ? - 12:48-15:24 +0 N793JB - -\nf296 1806 BNA-BOS 12:48-15:25 118 A320 open ? - 12:48-15:25 +0 N639JB - -\nf297 2033 BOS-IAH 12:48-17:02 145 A320 open ? - 12:48-17:02 +0 N585JB - -\nf298 92 ACK-JFK 12:49-13:59 83 A220 open ? - 12:49-13:59 +0 N3221J - -\nf299 936 SJU-STT 12:50-13:28 133 A320 open ? - 12:50-13:28 +0 N588JB - -\nf300 48 TPA-LGA 12:52-15:30 144 A320 open ? - 12:52-15:30 +0 N706JB - -\nf301 862 SJU-BOS 12:55-17:03 125 A220 open ? - 12:55-17:03 +0 N3255J - -\nf302 969 RIC-MCO 12:55-15:00 125 A320 open ? - 12:55-15:00 +0 N583JB - -\nf303 632 IAH-BOS 12:58-16:56 121 A220 open ? - 12:58-16:56 +0 N3125J - -\nf304 1039 BOS-AUS 12:59-17:14 132 A220 open ? - 13:02-17:17 +3 N3077J - -\nf305 1251 HPN-RSW 13:00-15:59 122 A320 open ? - 13:00-15:59 +0 N507JT - -\nf306 2940 SJU-STX 13:01-13:41 122 A320 open ? - 13:01-13:41 +0 N534JB - -\nf307 1414 DCA-MVY 13:05-14:28 65 E190 open ? - 13:05-14:28 +0 N317JB - -\nf308 906 ORD-JFK 13:06-15:30 118 A220 open ? - 13:06-15:30 +0 N3142J - -\nf309 1530 RSW-JFK 13:07-15:59 141 A320 open ? - 13:07-15:59 +0 N648JB - -\nf310 448 LAS-JFK 13:10-18:29 132 A321P open ? - 13:10-18:29 +0 N937JB - -\nf311 2432 LGA-ACK 13:10-14:23 60 E190 open ? - 13:10-14:23 +0 N318JB - -\nf312 176 MSY-JFK 13:18-16:30 122 A220 open ? - 13:18-16:30 +0 N3152J - -\nf313 68 CHS-BOS 13:19-15:41 122 A220 open ? - 13:19-15:41 +0 N3062J - -\nf314 855 BOS-DCA 13:20-15:03 87 E190 open ? - 13:20-15:03 +0 N284JB - -\nf315 1084 MCO-JFK 13:23-16:12 143 A320 open ? - 13:23-16:12 +0 N659JB - -\nf316 592 TPA-BOS 13:24-16:34 140 A320 open ? - 13:24-16:34 +0 N809JB - -\nf317 1498 DEN-JFK 13:25-17:24 131 A320 open ? - 13:25-17:24 +0 N508JL - -\nf318 105 EWR-FLL 13:29-16:25 149 A320 open ? - 13:29-16:25 +0 N794JB - -\nf319 128 MCO-EWR 13:30-16:17 149 A320 open ? - 13:30-16:17 +0 N599JB - -\nf320 256 BZN-BOS 13:30-17:55 139 A320 open ? - 13:30-17:55 +0 N645JB - -\nf321 424 LAX-JFK 13:30-19:15 125 A321P open ? - 13:30-19:15 +0 N2142J - -\nf322 1173 JFK-BNA 13:30-15:57 128 A220 open ? - 13:30-15:57 +0 N3240J - -\nf323 1371 LGA-FLL 13:30-16:36 150 A320 open ? - 13:30-16:36 +0 N589JB - -\nf324 2291 JFK-ACK 13:30-14:53 85 A220 open ? - 13:30-14:53 +0 N3257J - -\nf325 487 ORH-MCO 13:34-16:40 119 A320 open ? - 13:34-16:40 +0 N590JB - -\nf326 150 SAV-BOS 13:35-15:59 115 A220 open ? - 13:35-15:59 +0 N3113J - -\nf327 811 BOS-ORD 13:40-16:32 122 A220 open ? - 13:40-16:32 +0 N3102J - -\nf328 1680 FLL-DCA 13:40-16:12 120 A220 open ? - 13:40-16:12 +0 N3169J - -\nf329 2229 BOS-MKE 13:40-16:08 120 A220 open ? - 13:40-16:08 +0 N3044J - -\nf330 22 PBI-BOS 13:42-17:00 179 A321 open ? - 13:42-17:00 +0 N905JB - -\nf331 1254 DCA-BOS 13:44-15:20 89 E190 open ? - 15:40-17:16 +116 N284JB - -\nf332 419 JFK-ATL 13:50-16:29 148 A320 open ? - 13:50-16:29 +0 N547JB - -\nf333 1604 SJU-JFK 13:50-17:49 138 A321P open ? - 13:50-17:49 +0 N986JB - -\nf334 1874 LAX-EWR 13:50-19:20 133 A321P open ? - 13:50-19:20 +0 N944JT - -\nf335 547 ISP-MCO 13:51-16:34 141 A320 open ? - 13:51-16:34 +0 N536JB - -\nf336 119 MCO-ALB 13:52-16:49 150 A320 open ? - 13:52-16:49 +0 N653JB - -\nf337 533 BDL-TPA 13:55-17:00 150 A320 open ? - 13:55-17:00 +0 N615JB - -\nf338 1216 BUF-BOS 13:55-15:25 83 E190 open ? - 13:55-15:25 +0 N306JB - -\nf339 834 SFO-BOS 13:56-19:45 124 A321P open ? - 13:56-19:45 +0 N4077J - -\nf340 817 BOS-JFK 13:59-15:15 91 A220 open ? - 13:59-15:15 +0 N3132J - -\nf341 1002 FLL-JFK 13:59-16:57 144 A320 open ? - 13:59-16:57 +0 N613JB - -\nf342 553 FLL-SJU 14:00-16:43 188 A321 open ? - 14:00-16:43 +0 N965JT - -\nf343 100 LAX-FLL 14:03-19:26 138 A321P open ? - 14:03-19:26 +0 N945JT - -\nf344 761 BOS-SJU 14:05-18:10 192 A321 open ? - 14:05-18:10 +0 N954JB - -\nf345 2251 BOS-MCO 14:10-17:30 143 A320 open ? - 14:10-17:30 +0 N524JB - -\nf346 2321 BOS-PBI 14:10-17:29 126 A220 open ? - 14:10-17:29 +0 N3118J - -\nf347 2656 MCO-SYR 14:10-17:00 131 A320 open ? - 14:10-17:00 +0 N651JB - -\nf348 2665 ACK-HPN 14:10-15:14 65 E190 open ? - 14:12-15:16 +2 N324JB - -\nf349 216 SFO-JFK 14:14-20:00 138 A321P open ? - 14:14-20:00 +0 N2165J - -\nf350 620 SAN-BOS 14:14-20:09 138 A321P open ? - 14:14-20:09 +0 N993JE - -\nf351 1685 JFK-TPA 14:15-17:25 150 A320 open ? - 14:15-17:25 +0 N623JB - -\nf352 407 PWM-JFK 14:19-15:45 90 A220 open ? - 14:19-15:45 +0 N3157J - -\nf353 1754 SJU-FLL 14:20-17:01 186 A321 open ? - 14:20-17:01 +0 N994JL - -\nf354 435 STT-SJU 14:23-15:10 133 A320 open ? - 14:23-15:10 +0 N588JB - -\nf355 677 JAX-JFK 14:24-16:44 126 A220 open ? - 14:24-16:44 +0 N3023J - -\nf356 1690 TPA-PVD 14:24-17:21 128 A320 open ? - 14:24-17:21 +0 N593JB - -\nf357 1708 LAS-FLL 14:27-19:35 137 A321P open ? - 14:27-19:35 +0 N978JB - -\nf358 1501 JFK-FLL 14:29-17:46 150 A320 open ? - 14:29-17:46 +0 N632JB - -\nf359 1282 RIC-BOS 14:32-16:10 136 A321P open ? - 14:32-16:10 +0 N961JT - -\nf360 2283 BOS-RDU 14:35-16:40 89 E190 open ? - 14:35-16:40 +0 N283JB - -\nf361 2324 MCO-DCA 14:35-16:55 136 A320 open ? - 14:35-16:55 +0 N763JB - -\nf362 2941 STX-SJU 14:36-15:23 141 A320 open ? - 14:36-15:23 +0 N534JB - -\nf363 190 SAN-JFK 14:39-20:36 134 A321P open ? - 14:39-20:36 +0 N968JT - -\nf364 226 TPA-JFK 14:39-17:29 142 A320 open ? - 14:39-17:29 +0 N828JB - -\nf365 595 HPN-MCO 14:40-17:30 145 A320 open ? - 14:40-17:30 +0 N592JB - -\nf366 640 CLE-BOS 14:41-16:28 76 E190 open ? - 14:53-16:40 +12 N329JB - -\nf367 398 SEA-BOS 14:43-20:15 178 A321 open ? - 14:43-20:15 +0 N970JB - -\nf368 1388 LAX-BOS 14:44-20:26 138 A321P open ? - 14:44-20:26 +0 N988JT - -\nf369 318 JFK-BOS 14:45-16:13 100 A220 open ? - 14:45-16:13 +0 N3242J - -\nf370 378 SFO-FLL 14:45-20:28 135 A321P open ? - 14:45-20:28 +0 N985JT - -\nf371 387 BOS-LAX 14:45-20:51 138 A321P open ? - 14:45-20:51 +0 N2157J - -\nf372 1178 LAS-BOS 14:45-20:00 136 A321P open ? - 14:45-20:00 +0 N991JT - -\nf373 1538 JFK-MVY 14:45-16:01 86 A220 open ? - 14:45-16:01 +0 N3189J - -\nf374 349 BOS-SAV 14:50-17:30 116 A220 open ? - 14:50-17:30 +0 N3229J - -\nf375 1168 PBI-HPN 14:50-17:49 148 A320 open ? - 14:50-17:49 +0 N715JB - -\nf376 1964 JFK-HYA 14:50-16:10 87 A220 open ? - 14:50-16:10 +0 N3260J - -\nf377 285 JFK-RDU 14:55-16:48 147 A320 open ? - 14:55-16:48 +0 N559JB - -\nf378 1004 SJU-JFK 14:55-18:55 150 A320 open ? - 14:55-18:55 +0 N535JB - -\nf379 2065 BOS-RSW 14:55-18:27 124 A220 open ? - 14:55-18:27 +0 N3194J - -\nf380 399 LGA-MCO 14:57-17:58 150 A320 open ? - 14:57-17:58 +0 N804JB - -\nf381 883 JFK-MCO 14:59-18:05 131 A220 open ? - 14:59-18:05 +0 N3221J - -\nf382 1586 MCO-BUF 14:59-17:42 150 A320 open ? - 14:59-17:42 +0 N563JB - -\nf383 1133 MCO-SJU 15:00-18:00 148 A320 open ? - 15:00-18:00 +0 N561JB - -\nf384 738 MCO-BDL 15:02-17:54 134 A320 open ? - 15:02-17:54 +0 N521JB - -\nf385 1287 PVD-PBI 15:02-18:11 147 A320 open ? - 15:02-18:11 +0 N586JB - -\nf386 1151 ACK-BOS 15:08-16:05 63 E190 open ? - 15:08-16:05 +0 N318JB - -\nf387 2459 BOS-PHL 15:10-16:45 117 A220 open ? - 15:10-16:45 +0 N3185J - -\nf388 53 JFK-PBI 15:15-18:21 130 A220 open ? - 15:15-18:21 +0 N3115J - -\nf389 229 BQN-MCO 15:15-18:09 145 A320 open ? - 15:15-18:09 +0 N519JB - -\nf390 1143 MHT-MCO 15:15-18:32 139 A320 open ? - 15:15-18:32 +0 N504JB - -\nf391 1903 RDU-SJU 15:15-18:55 147 A320 open ? - 15:15-18:55 +0 N509JB - -\nf392 1785 BOS-PIT 15:17-17:09 100 A220 open ? - 15:22-17:14 +5 N3065J - -\nf393 1813 BOS-ORF 15:18-17:02 158 A321 open ? - 15:18-17:02 +0 N972JT - -\nf394 324 LAX-JFK 15:21-21:00 124 A321P open ? - 15:21-21:00 +0 N990JL - -\nf395 37 BDL-MCO 15:23-18:28 143 A320 open ? - 15:23-18:28 +0 N587JB - -\nf396 1226 SJU-BOS 15:25-19:35 179 A321 open ? - 15:25-19:35 +0 N999JQ - -\nf397 1413 MVY-DCA 15:26-17:00 61 E190 open ? - 15:26-17:00 +0 N317JB - -\nf398 400 MSY-BOS 15:28-19:00 137 A320 open ? - 15:28-19:00 +0 N662JB - -\nf399 24 PBI-DCA 15:30-18:00 137 A320 open ? - 15:30-18:00 +0 N570JB - -\nf400 803 JFK-SJU 15:30-19:35 195 A321 open ? - 15:30-19:35 +0 N956JT - -\nf401 1211 JFK-LAS 15:30-21:14 138 A321P open ? - 15:30-21:14 +0 N987JT - -\nf402 1214 DFW-BOS 15:32-19:26 140 A320 open ? - 15:32-19:26 +0 N633JB - -\nf403 394 DEN-BOS 15:33-19:40 144 A320 open ? - 15:33-19:40 +0 N569JB - -\nf404 873 EWR-TPA 15:38-18:40 150 A320 open ? - 15:38-18:40 +0 N775JB - -\nf405 2473 JFK-CHS 15:44-18:04 121 A220 open ? - 15:44-18:04 +0 N3232J - -\nf406 1354 DCA-BOS 15:45-17:20 124 A220 open ? - 15:45-17:20 +0 N3112J - -\nf407 1196 FLL-PVD 15:47-18:52 150 A320 open ? - 15:47-18:52 +0 N621JB - -\nf408 471 LGA-FLL 15:55-19:07 150 A320 open ? - 15:55-19:07 +0 N634JB - -\nf409 2052 MCO-BOS 15:55-19:05 129 A320 open ? - 15:55-19:05 +0 N635JB - -\nf410 233 BOS-SFO 15:59-22:43 138 A321P open ? - 15:59-22:43 +0 N979JT - -\nf411 1098 MCO-LGA 15:59-18:48 150 A320 open ? - 15:59-18:48 +0 N505JB - -\nf412 1189 JFK-SAN 15:59-21:55 138 A321P open ? - 15:59-21:55 +0 N982JB - -\nf413 2119 ORH-FLL 15:59-19:21 106 A220 open ? - 15:59-19:21 +0 N3104J - -\nf414 2666 HPN-ACK 15:59-17:07 70 E190 open ? - 15:59-17:07 +0 N324JB - -\nf415 391 BOS-TPA 16:00-19:34 126 A220 open ? - 16:00-19:34 +0 N3275J - -\nf416 1023 JFK-LAX 16:00-22:11 136 A321P open ? - 16:00-22:11 +0 N964JT - -\nf417 2004 RSW-BDL 16:00-18:53 134 A320 open ? - 16:00-18:53 +0 N746JB - -\nf418 2494 DCA-ACK 16:00-17:26 66 E190 open ? - 17:37-19:03 +97 N317JB - -\nf419 495 HPN-MCO 16:05-18:59 145 A320 open ? - 16:05-18:59 +0 N606JB - -\nf420 1115 BOS-BUF 16:05-17:44 113 A220 open ? - 16:05-17:44 +0 N3196J - -\nf421 2619 BOS-MIA 16:07-19:44 124 A220 open ? - 16:26-20:03 +19 N3062J - -\nf422 188 LAX-BOS 16:10-21:53 138 A321P open ? - 16:10-21:53 +0 N2156J - -\nf423 224 LAX-JFK 16:10-21:56 124 A321P open ? - 16:10-21:56 +0 N947JB - -\nf424 416 SFO-JFK 16:10-21:58 138 A321P open ? - 16:10-21:58 +0 N984JB - -\nf425 276 SJU-BDL 16:15-20:10 149 A320 open ? - 16:15-20:10 +0 N588JB - -\nf426 1355 BOS-DCA 16:15-18:05 87 E190 open ? - 16:15-18:05 +0 N306JB - -\nf427 348 LAS-JFK 16:17-21:29 133 A321P open ? - 16:17-21:29 +0 N2151J - -\nf428 192 ACK-JFK 16:18-17:29 83 A220 open ? - 16:18-17:29 +0 N3257J - -\nf429 507 BOS-BNA 16:19-19:22 133 A320 open ? - 16:19-19:22 +0 N571JB - -\nf430 451 BOS-MCO 16:20-19:49 133 A320 open ? - 16:20-19:49 +0 N579JB - -\nf431 545 ISP-PBI 16:20-19:10 147 A320 open ? - 16:20-19:10 +0 N834JB - -\nf432 2022 FLL-PHL 16:28-19:25 127 A320 open ? - 16:28-19:25 +0 N644JB - -\nf433 220 SAN-BOS 16:30-22:20 138 A321P open ? - 16:30-22:20 +0 N976JT - -\nf434 263 JFK-SEA 16:30-22:58 180 A321 open ? - 16:30-22:58 +0 N958JB - -\nf435 319 BOS-SAN 16:30-22:49 138 A321P open ? - 16:30-22:49 +0 N969JT - -\nf436 618 JFK-BOS 16:30-17:59 100 A220 open ? - 16:30-17:59 +0 N3149J - -\nf437 699 LGA-MCO 16:30-19:37 150 A320 open ? - 16:30-19:37 +0 N706JB - -\nf438 341 JFK-SAV 16:31-19:02 118 A220 open ? - 16:31-19:02 +0 N3132J - -\nf439 915 BOS-SMF 16:36-23:09 130 A320 open ? - 16:36-23:09 +0 N793JB - -\nf440 1237 BOS-DTW 16:36-18:52 118 A220 open ? - 16:44-19:00 +8 N3113J - -\nf441 1694 MCO-HPN 16:36-19:29 137 A320 open ? - 16:36-19:29 +0 N636JB - -\nf442 1200 LAX-FLL 16:38-22:00 138 A321P open ? - 16:38-22:00 +0 N980JT - -\nf443 1752 SJU-TPA 16:43-19:44 150 A320 open ? - 16:43-19:44 +0 N638JB - -\nf444 1289 EWR-SJU 16:45-20:46 195 A321 open ? - 16:45-20:46 +0 N903JB - -\nf445 1689 PVD-TPA 16:45-19:56 122 A320 open ? - 16:45-19:56 +0 N625JB - -\nf446 1880 FLL-DCA 16:45-19:17 120 A220 open ? - 16:45-19:17 +0 N3138J - -\nf447 2134 SJU-MCO 16:45-19:50 147 A320 open ? - 16:45-19:50 +0 N796JB - -\nf448 509 BOS-JAX 16:50-19:52 142 A320 open ? - 16:50-19:52 +0 N639JB - -\nf449 2185 BOS-PIT 16:50-18:49 71 E190 open ? - 16:50-18:49 +0 N318JB - -\nf450 944 BZN-JFK 16:51-21:17 125 A320 open ? - 16:51-21:17 +0 N709JB - -\nf451 1174 BNA-JFK 16:52-19:15 113 A220 open ? - 16:52-19:15 +0 N3240J - -\nf452 1317 BOS-ATL 16:56-20:00 127 A220 open ? - 16:58-20:02 +2 N3242J - -\nf453 1539 MVY-JFK 16:57-18:05 80 A220 open ? - 16:57-18:05 +0 N3189J - -\nf454 358 JFK-BUR 16:59-23:17 130 A220 open ? - 16:59-23:17 +0 N3142J - -\nf455 1278 SFO-FLL 16:59-22:40 135 A321P open ? - 16:59-22:40 +0 N962JT - -\nf456 1523 JFK-LAX 16:59-23:18 135 A321P open ? - 16:59-23:18 +0 N983JT - -\nf457 2129 JFK-RSW 16:59-20:21 150 A320 open ? - 16:59-20:21 +0 N640JB - -\nf458 2783 BOS-RDU 16:59-19:10 144 A320 open ? - 16:59-19:10 +0 N584JB - -\nf459 1252 RSW-HPN 17:00-20:01 126 A320 open ? - 17:00-20:01 +0 N507JT - -\nf460 1728 MCO-EWR 17:02-20:00 138 A320 open ? - 17:02-20:00 +0 N583JB - -\nf461 2230 MKE-BOS 17:03-19:15 118 A220 open ? - 17:03-19:15 +0 N3044J - -\nf462 315 JFK-SFO 17:05-23:54 138 A321P open ? - 17:05-23:54 +0 N2193J - -\nf463 1417 BOS-JFK 17:05-18:30 91 A220 open ? - 17:41-19:06 +36 N3125J - -\nf464 1727 EWR-MCO 17:07-20:04 150 A320 open ? - 17:07-20:04 +0 N537JT - -\nf465 1579 DCA-FLL 17:10-19:52 124 A220 open ? - 17:10-19:52 +0 N3169J - -\nf466 845 BOS-SYR 17:14-18:38 83 E190 open ? - 17:17-18:41 +3 N329JB - -\nf467 472 FLL-LGA 17:15-20:09 148 A320 open ? - 17:15-20:09 +0 N566JB - -\nf468 1202 JFK-BUF 17:15-19:00 127 A220 open ? - 17:15-19:00 +0 N3157J - -\nf469 1963 HYA-JFK 17:15-18:30 75 A220 open ? - 17:15-18:30 +0 N3260J - -\nf470 2467 BOS-CHS 17:15-19:50 150 A320 open ? - 17:15-19:50 +0 N705JB - -\nf471 624 LAX-JFK 17:20-22:59 124 A321P open ? - 17:20-22:59 +0 N946JL - -\nf472 777 BOS-LAS 17:20-23:11 138 A321P open ? - 17:20-23:11 +0 N961JT - -\nf473 170 FLL-BOS 17:26-20:46 146 A320 open ? - 17:26-20:46 +0 N806JB - -\nf474 1012 ORD-BOS 17:27-20:00 125 A220 open ? - 17:27-20:00 +0 N3102J - -\nf475 1802 FLL-JFK 17:28-20:30 125 A220 open ? - 17:28-20:30 +0 N3162J - -\nf476 69 BOS-FLL 17:29-21:00 145 A320 open ? - 17:29-21:00 +0 N809JB - -\nf477 483 JFK-MCO 17:29-20:40 150 A320 open ? - 17:29-20:40 +0 N789JB - -\nf478 520 ATL-JFK 17:30-20:00 139 A320 open ? - 17:30-20:00 +0 N547JB - -\nf479 770 MCO-RIC 17:35-19:40 112 A320 open ? - 17:35-19:40 +0 N768JB - -\nf480 2184 RDU-BOS 17:35-19:40 86 E190 open ? - 17:35-19:40 +0 N283JB - -\nf481 2602 SJU-HPN 17:38-21:30 124 A220 open ? - 17:38-21:30 +0 N3145J - -\nf482 560 PHL-BOS 17:40-19:14 113 A220 open ? - 17:40-19:14 +0 N3185J - -\nf483 433 MCO-SJU 17:44-20:50 148 A320 open ? - 17:44-20:50 +0 N624JB - -\nf484 86 RDU-JFK 17:45-19:30 136 A320 open ? - 17:45-19:30 +0 N559JB - -\nf485 101 FLL-LAX 17:45-23:10 138 A321P open ? - 17:45-23:10 +0 N992JB - -\nf486 2954 DCA-BOS 17:45-19:26 89 E190 open ? - 18:42-20:23 +57 N306JB - -\nf487 1962 PBI-LGA 17:46-20:30 138 A320 open ? - 17:46-20:30 +0 N661JB - -\nf488 135 JFK-PHX 17:47-23:19 138 A320 open ? - 17:47-23:19 +0 N523JB - -\nf489 1873 EWR-LAX 17:50-23:55 133 A321P open ? - 17:50-23:55 +0 N989JT - -\nf490 120 ALB-MCO 17:52-20:57 150 A320 open ? - 17:52-20:57 +0 N653JB - -\nf491 1351 ACK-BOS 17:55-18:51 63 E190 open ? - 17:55-18:51 +0 N324JB - -\nf492 1453 FLL-SJU 17:55-20:34 131 A220 open ? - 17:55-20:34 +0 N3215J - -\nf493 106 FLL-EWR 17:56-21:00 143 A320 open ? - 17:56-21:00 +0 N531JL - -\nf494 932 IAH-BOS 17:57-21:50 140 A320 open ? - 17:57-21:50 +0 N585JB - -\nf495 1814 ORF-BOS 17:57-19:37 162 A321 open ? - 18:07-19:47 +10 N972JT - -\nf496 1677 JFK-JAX 17:59-20:51 129 A220 open ? - 17:59-20:51 +0 N3152J - -\nf497 23 DCA-PBI 18:00-20:38 142 A320 open ? - 18:00-20:38 +0 N763JB - -\nf498 1786 PIT-BOS 18:04-19:48 107 A220 open ? - 18:04-19:48 +0 N3065J - -\nf499 534 TPA-BDL 18:05-20:58 150 A320 open ? - 18:05-20:58 +0 N615JB - -\nf500 1284 MCO-JFK 18:05-21:01 143 A320 open ? - 18:05-21:01 +0 N536JB - -\nf501 1348 SJU-DCA 18:05-21:59 186 A321 open ? - 18:05-21:59 +0 N965JT - -\nf502 2655 SYR-MCO 18:05-21:01 136 A320 open ? - 18:05-21:01 +0 N651JB - -\nf503 247 BOS-SLC 18:09-23:44 128 A220 open ? - 18:09-23:44 +0 N3255J - -\nf504 1138 AUS-BOS 18:10-22:20 129 A220 open ? - 18:10-22:20 +0 N3077J - -\nf505 2201 JFK-FLL 18:10-21:34 150 A320 open ? - 18:10-21:34 +0 N510JB - -\nf506 734 SFO-BOS 18:15-23:56 138 A321P open ? - 18:15-23:56 +0 N981JT - -\nf507 1955 BOS-DCA 18:15-20:03 122 A220 open ? - 18:15-20:03 +0 N3112J - -\nf508 304 SJU-JFK 18:16-22:16 150 A320 open ? - 18:16-22:16 +0 N534JB - -\nf509 2876 PVD-MCO 18:16-21:17 138 A320 open ? - 18:16-21:17 +0 N593JB - -\nf510 924 LAX-JFK 18:18-23:59 124 A321P open ? - 18:18-23:59 +0 N977JE - -\nf511 161 JFK-SMF 18:25-00:53+1 183 A321 open ? - 18:25-00:53+1 +0 N996JL - -\nf512 250 SAV-BOS 18:25-21:00 115 A220 open ? - 18:25-21:00 +0 N3229J - -\nf513 697 BOS-ATL 18:25-21:28 147 A320 open ? - 18:40-21:43 +15 N645JB - -\nf514 1152 MCO-BOS 18:25-21:38 139 A320 open ? - 18:25-21:38 +0 N590JB - -\nf515 2080 FLL-DCA 18:25-20:59 120 A220 open ? - 18:25-20:59 +0 N3058J - -\nf516 2122 ACK-HPN 18:26-19:30 65 E190 open ? - 19:35-20:39 +69 N317JB - -\nf517 197 BOS-SEA 18:29-01:04+1 187 A321 open ? - 18:29-01:04+1 +0 N995JL - -\nf518 283 JFK-MCO 18:30-21:42 150 A320 open ? - 18:30-21:42 +0 N558JB - -\nf519 516 BUF-BOS 18:30-20:00 116 A220 open ? - 18:30-20:00 +0 N3196J - -\nf520 733 BOS-SFO 18:30-01:15+1 138 A321P open ? - 18:30-01:15+1 +0 N935JB - -\nf521 187 BOS-LAX 18:33-00:59+1 138 A321P open ? - 18:33-00:59+1 +0 N942JB - -\nf522 81 JFK-RNO 18:35-00:46+1 125 A220 open ? - 18:35-00:46+1 +0 N3023J - -\nf523 2424 MCO-DCA 18:38-20:59 126 A320 open ? - 18:38-20:59 +0 N524JB - -\nf524 2322 PBI-BOS 18:40-21:49 125 A220 open ? - 18:40-21:49 +0 N3118J - -\nf525 1248 TPA-LGA 18:41-21:33 144 A320 open ? - 18:41-21:33 +0 N597JB - -\nf526 491 BUF-LAX 18:42-23:56 149 A320 open ? - 18:42-23:56 +0 N563JB - -\nf527 65 JFK-ABQ 18:45-23:34 145 A320 open ? - 18:45-23:34 +0 N648JB - -\nf528 355 JFK-ONT 18:50-00:59+1 176 A321 open ? - 18:50-00:59+1 +0 N952JB - -\nf529 1053 JFK-PBI 18:50-21:56 130 A220 open ? - 18:50-21:56 +0 N3257J - -\nf530 2725 JFK-TPA 18:50-22:05 150 A320 open ? - 18:50-22:05 +0 N659JB - -\nf531 2754 DCA-BOS 18:50-20:28 89 E190 auto-cancel ? - - - - - -\nf532 95 BOS-PDX 18:55-01:15+1 180 A321 open ? - 18:55-01:15+1 +0 N966JT - -\nf533 798 MCO-LGA 18:55-21:46 150 A320 open ? - 18:55-21:46 +0 N592JB - -\nf534 992 SJU-FLL 18:55-21:34 150 A320 open ? - 18:55-21:34 +0 N561JB - -\nf535 1567 HPN-PBI 18:55-21:49 150 A320 open ? - 18:55-21:49 +0 N715JB - -\nf536 2523 DCA-MCO 18:55-21:19 142 A320 open ? - 18:55-21:19 +0 N570JB - -\nf537 602 FLL-JFK 18:59-21:59 144 A320 open ? - 18:59-21:59 +0 N794JB - -\nf538 823 JFK-LAX 18:59-01:19+1 135 A321P open ? - 18:59-01:19+1 +0 N934JB - -\nf539 874 TPA-EWR 18:59-22:00 140 A320 open ? - 18:59-22:00 +0 N623JB - -\nf540 993 BOS-DEN 18:59-23:44 128 A220 open ? - 18:59-23:44 +0 N3149J - -\nf541 1037 BDL-MCO 18:59-21:57 132 A320 open ? - 18:59-21:57 +0 N521JB - -\nf542 1274 CHS-JFK 18:59-21:05 112 A220 open ? - 18:59-21:05 +0 N3232J - -\nf543 2071 FLL-BQN 19:00-21:33 129 A320 open ? - 19:00-21:33 +0 N589JB - -\nf544 2984 MCO-JFK 19:00-21:54 124 A220 open ? - 19:00-21:54 +0 N3221J - -\nf545 1468 PBI-HPN 19:10-22:03 148 A320 open ? - 19:10-22:03 +0 N586JB - -\nf546 462 SJU-BOS 19:20-23:23 179 A321 open ? - 19:20-23:23 +0 N954JB - -\nf547 824 LAX-JFK 19:20-00:55+1 124 A321P open ? - 19:20-00:55+1 +0 N929JB - -\nf548 2875 MCO-PVD 19:20-22:19 127 A320 open ? - 19:20-22:19 +0 N804JB - -\nf549 2903 JFK-SJU 19:20-23:41 195 A321 open ? - 19:20-23:41 +0 N998JE - -\nf550 71 JFK-SLC 19:23-00:59+1 146 A320 open ? - 19:23-00:59+1 +0 N766JB - -\nf551 818 JFK-BOS 19:25-20:59 100 A220 open ? - 19:25-20:59 +0 N3189J - -\nf552 2466 FLL-BUF 19:27-22:30 147 A320 open ? - 19:27-22:30 +0 N827JB - -\nf553 438 MCO-BDL 19:30-22:26 145 A320 open ? - 19:30-22:26 +0 N519JB - -\nf554 616 SFO-JFK 19:30-00:59+1 138 A321P open ? - 19:30-00:59+1 +0 N923JB - -\nf555 1154 PBI-JFK 19:30-22:24 126 A220 open ? - 19:30-22:24 +0 N3115J - -\nf556 548 TPA-HPN 19:35-22:32 139 A320 open ? - 19:35-22:32 +0 N775JB - -\nf557 2066 RSW-BOS 19:35-22:50 124 A220 open ? - 19:35-22:50 +0 N3194J - -\nf558 715 BOS-BUF 19:39-21:14 81 E190 open ? - 19:39-21:14 +0 N324JB - -\nf559 317 BOS-JFK 19:40-21:04 91 A220 open ? - 19:59-21:23 +19 N3185J - -\nf560 2186 PIT-BOS 19:45-21:28 76 E190 open ? - 19:45-21:28 +0 N318JB - -\nf561 1136 DTW-BOS 19:47-21:41 113 A220 open ? - 19:47-21:41 +0 N3113J - -\nf562 1197 PVD-FLL 19:47-22:59 149 A320 open ? - 19:47-22:59 +0 N621JB - -\nf563 571 LGA-FLL 19:49-22:59 150 A320 open ? - 19:49-22:59 +0 N505JB - -\nf564 1134 SJU-MCO 19:50-22:53 147 A320 open ? - 19:50-22:53 +0 N580JB - -\nf565 711 JFK-LAS 19:54-01:49+1 138 A321P open ? - 19:54-01:49+1 +0 N986JB - -\nf566 201 BUF-JFK 19:55-21:29 121 A220 open ? - 19:55-21:29 +0 N3157J - -\nf567 591 BOS-TPA 19:55-23:18 145 A320 open ? - 19:55-23:18 +0 N662JB - -\nf568 342 SAV-JFK 19:59-22:09 112 A220 open ? - 19:59-22:09 +0 N3132J - -\nf569 526 SJU-PVD 19:59-23:51 137 A320 open ? - 19:59-23:51 +0 N520JB - -\nf570 541 BOS-CLE 19:59-22:05 75 E190 open ? - 19:59-22:05 +0 N284JB - -\nf571 615 JFK-SFO 19:59-02:43+1 138 A321P open ? - 19:59-02:43+1 +0 N967JT - -\nf572 914 FLL-HPN 19:59-23:00 139 A320 open ? - 19:59-23:00 +0 N554JB - -\nf573 143 EWR-PBI 20:00-23:05 148 A320 open ? - 20:00-23:05 +0 N599JB - -\nf574 275 BDL-SJU 20:00-23:55 130 A320 open ? - 20:00-23:55 +0 N746JB - -\nf575 473 JFK-BNA 20:00-22:47 128 A220 open ? - 20:00-22:47 +0 N3260J - -\nf576 706 FLL-EWR 20:00-23:00 143 A320 open ? - 20:00-23:00 +0 N562JB - -\nf577 1484 RDU-BOS 20:05-22:08 140 A320 open ? - 20:05-22:08 +0 N584JB - -\nf578 144 PBI-EWR 20:06-23:00 140 A320 open ? - 20:06-23:00 +0 N834JB - -\nf579 745 JFK-PSE 20:06-00:19+1 135 A320 open ? - 20:06-00:19+1 +0 N613JB - -\nf580 884 MCO-JFK 20:08-23:02 143 A320 open ? - 20:08-23:02 +0 N587JB - -\nf581 460 FLL-BDL 20:10-23:15 143 A320 open ? - 20:10-23:15 +0 N598JB - -\nf582 470 FLL-BOS 20:10-23:29 127 A220 open ? - 20:10-23:29 +0 N3104J - -\nf583 2421 BOS-PBI 20:10-23:23 126 A220 open ? - 20:10-23:23 +0 N3044J - -\nf584 1979 DCA-FLL 20:12-22:49 124 A220 open ? - 20:12-22:49 +0 N3138J - -\nf585 506 BNA-BOS 20:17-22:54 127 A320 open ? - 20:17-22:54 +0 N571JB - -\nf586 97 JFK-DEN 20:18-00:59+1 146 A320 open ? - 20:18-00:59+1 +0 N508JL - -\nf587 572 FLL-LGA 20:18-23:14 148 A320 open ? - 20:18-23:14 +0 N526JL - -\nf588 217 PHL-FLL 20:20-23:17 127 A320 open ? - 20:20-23:17 +0 N644JB - -\nf589 954 SJU-FLL 20:20-22:59 150 A320 open ? - 20:20-22:59 +0 N509JB - -\nf590 185 JFK-RDU 20:29-22:28 147 A320 open ? - 20:29-22:28 +0 N828JB - -\nf591 392 TPA-BOS 20:29-23:39 121 A220 open ? - 20:29-23:39 +0 N3275J - -\nf592 88 FLL-ALB 20:30-23:37 146 A320 open ? - 20:30-23:37 +0 N607JB - -\nf593 405 JFK-ORD 20:30-23:28 129 A220 open ? - 20:30-23:28 +0 N3125J - -\nf594 1245 FLL-SJU 20:30-23:12 150 A320 open ? - 20:30-23:12 +0 N634JB - -\nf595 2073 EWR-LAX 20:30-02:33+1 133 A321P open ? - 20:30-02:33+1 +0 N944JT - -\nf596 195 HPN-MCO 20:35-23:18 145 A320 open ? - 20:35-23:18 +0 N636JB - -\nf597 265 BOS-RSW 20:35-23:59 124 A220 open ? - 20:35-23:59 +0 N3065J - -\nf598 769 RIC-MCO 20:35-22:40 116 A320 open ? - 20:35-22:40 +0 N768JB - -\nf599 607 FLL-LAS 20:36-01:39+1 133 A321P open ? - 20:36-01:39+1 +0 N945JT - -\nf600 2620 MIA-BOS 20:39-23:56 114 A220 open ? - 20:48-00:05+1 +9 N3062J - -\nf601 251 BOS-MCO 20:40-23:58 177 A321 open ? - 20:40-23:58 +0 N905JB - -\nf602 369 BOS-FLL 20:40-00:08+1 145 A320 open ? - 20:40-00:08+1 +0 N635JB - -\nf603 903 JFK-SJU 20:40-00:54+1 150 A320 open ? - 20:40-00:54+1 +0 N618JB - -\nf604 2583 JFK-MCO 20:40-23:49 150 A320 open ? - 20:40-23:49 +0 N729JB - -\nf605 1337 BOS-DTW 20:43-22:57 118 A220 open ? - 20:45-22:59 +2 N3102J - -\nf606 277 FLL-SFO 20:45-02:39+1 138 A321P open ? - 20:45-02:39+1 +0 N978JB - -\nf607 561 BOS-SJU 20:45-00:49+1 192 A321 open ? - 20:45-00:49+1 +0 N999JQ - -\nf608 1294 MCO-HPN 20:45-23:42 137 A320 open ? - 20:45-23:42 +0 N504JB - -\nf609 1952 MCO-BOS 20:45-23:55 139 A320 open ? - 20:45-23:55 +0 N606JB - -\nf610 810 JAX-BOS 20:49-23:30 128 A320 open ? - 20:49-23:30 +0 N639JB - -\nf611 1751 TPA-SJU 20:50-23:54 150 A320 open ? - 20:50-23:54 +0 N638JB - -\nf612 2102 FLL-JFK 20:50-23:46 178 A321 open ? - 20:50-23:46 +0 N994JL - -\nf613 381 BOS-RIC 20:55-22:47 116 A220 open ? - 20:55-22:47 +0 N3196J - -\nf614 719 JFK-ATL 20:55-23:40 148 A320 open ? - 20:55-23:40 +0 N535JB - -\nf615 1146 FLL-RIC 20:55-23:16 129 A320 open ? - 21:05-23:26 +10 N591JB - -\nf616 1308 ATL-BOS 20:55-23:38 117 A220 open ? - 20:55-23:38 +0 N3242J - -\nf617 2468 CHS-BOS 20:55-23:18 142 A320 open ? - 20:55-23:18 +0 N705JB - -\nf618 2752 SJU-TPA 20:55-23:55 186 A321 open ? - 20:55-23:55 +0 N956JT - -\nf619 206 BOS-PQI 20:59-22:24 63 E190 open ? - 20:59-22:24 +0 N283JB - -\nf620 907 BOS-BNA 20:59-23:51 123 A320 open ? - 20:59-23:51 +0 N633JB - -\nf621 1761 LGA-PBI 20:59-23:59 143 A320 open ? - 20:59-23:59 +0 N566JB - -\nf622 2128 MCO-EWR 20:59-23:48 149 A320 open ? - 20:59-23:48 +0 N516JB - -\nf623 613 HPN-FLL 21:00-23:59 139 A320 open ? - 21:00-23:59 +0 N507JT - -\nf624 1827 EWR-MCO 21:00-23:57 140 A320 open ? - 21:00-23:57 +0 N583JB - -\nf625 384 MCO-JFK 21:05-23:59 143 A320 open ? - 21:05-23:59 +0 N807JB - -\nf626 430 MCO-BQN 21:05-23:59 146 A320 open ? - 21:05-23:59 +0 N706JB - -\nf627 1223 JFK-LAX 21:10-03:29+1 135 A321P open ? - 21:10-03:29+1 +0 N937JB - -\nf628 333 BOS-SFO 21:19-03:59+1 138 A321P open ? - 21:19-03:59+1 +0 N4077J - -\nf629 47 LGA-TPA 21:20-00:10+1 147 A320 open ? - 21:20-00:10+1 +0 N661JB - -\nf630 955 JFK-DCA 21:30-22:59 86 A220 open ? - 21:30-22:59 +0 N3240J - -\nf631 383 JFK-MCO 21:40-00:46+1 186 A321 open ? - 21:40-00:46+1 +0 N907JB - -\nf632 1387 BOS-LAX 21:40-04:00+1 138 A321P open ? - 21:40-04:00+1 +0 N991JT - -\nf633 2101 JFK-FLL 21:40-00:59+1 131 A220 open ? - 21:40-00:59+1 +0 N3203J - -\nf634 2501 FLL-LAX 21:40-02:57+1 138 A321P open ? - 21:40-02:57+1 +0 N985JT - -\nf635 704 SJU-JFK 21:45-01:39+1 150 A320 open ? - 21:45-01:39+1 +0 N663JB - -\nf636 820 JFK-DTW 21:45-23:59 109 A220 open ? - 21:45-23:59 +0 N3162J - -\nf637 334 SJU-MCO 21:50-00:47+1 147 A320 open ? - 21:50-00:47+1 +0 N624JB - -\nf638 1186 JFK-ROC 21:50-23:30 115 A220 open ? - 21:50-23:30 +0 N3232J - -\nf639 2626 FLL-RDU 21:50-23:59 122 A320 open ? - 21:50-23:59 +0 N809JB - -\nf640 515 JFK-SFO 21:59-04:43+1 138 A321P open ? - 21:59-04:43+1 +0 N2142J - -\nf641 972 JFK-MHT 21:59-23:27 45 A320 open ? - 21:59-23:27 +0 N656JB - -\nf642 1195 JFK-PIT 21:59-23:51 85 A220 open ? - 22:08-00:00+1 +9 N3185J - -\nf643 1990 SJU-EWR 21:59-01:58+1 188 A321 open ? - 21:59-01:58+1 +0 N903JB - -\nf644 303 JFK-SJU 22:00-02:21+1 195 A321 open ? - 22:00-02:21+1 +0 N957JB - -\nf645 305 EWR-FLL 22:00-01:10+1 149 A320 open ? - 22:00-01:10+1 +0 N655JB - -\nf646 923 JFK-LAX 22:10-04:24+1 135 A321P open ? - 22:10-04:24+1 +0 N2165J - -\nf647 102 JFK-BUF 22:15-23:59 127 A220 open ? - 22:15-23:59 +0 N3157J - -\nf648 1433 MCO-SJU 22:15-01:15+1 148 A320 open ? - 22:15-01:15+1 +0 N579JB - -\nf649 2072 BQN-FLL 22:28-00:59+1 121 A320 open ? - 22:28-00:59+1 +0 N589JB - -\nf650 1128 JFK-PVD 22:29-23:49 46 A320 open ? - 22:29-23:49 +0 N559JB - -\nf651 675 JFK-BDL 22:30-23:46 51 A320 open ? - 22:30-23:46 +0 N547JB - -\nf652 1516 JFK-SYR 22:30-23:59 112 A320 open ? - 22:30-23:59 +0 N630JB - -\nf653 308 JFK-PWM 22:45-00:17+1 99 A220 open ? - 22:45-00:17+1 +0 N3221J - -\nf654 539 JFK-BQN 22:55-02:59+1 147 A320 open ? - 22:55-02:59+1 +0 N536JB - -\nf655 1318 JFK-BOS 22:59-00:27+1 115 A320 open ? - 22:59-00:27+1 +0 N709JB - -\nf656 1488 LAX-BOS 23:25-05:00+1 138 A321P open ? - 23:25-05:00+1 +0 N2157J - -\nf657 1190 SAN-JFK 23:30-05:09+1 134 A321P open ? - 23:30-05:09+1 +0 N982JB - -\nf658 1024 LAX-JFK 23:36-05:07+1 125 A321P open ? - 23:36-05:07+1 +0 N964JT - -\nf659 2120 SAN-BOS 00:00+1-05:47+1 138 A321P open ? - 00:00+1-05:47+1 +0 N969JT - -\nf660 916 SMF-BOS 00:04+1-05:30+1 119 A320 open ? - 00:04+1-05:30+1 +0 N793JB - -\nf661 2348 LAS-JFK 00:05+1-05:05+1 132 A321P open ? - 00:05+1-05:05+1 +0 N987JT - -\nf662 198 SEA-BOS 00:13+1-05:25+1 178 A321 open ? - 00:13+1-05:25+1 +0 N958JB - -\nf663 278 SFO-FLL 00:14+1-05:54+1 135 A321P open ? - 00:14+1-05:54+1 +0 N979JT - -\nf664 1574 LAX-EWR 00:20+1-05:42+1 133 A321P open ? - 00:20+1-05:42+1 +0 N992JB - -\nf665 359 BUR-JFK 00:22+1-05:50+1 103 A220 open ? - 00:22+1-05:50+1 +0 N3142J - -\nf666 778 LAS-BOS 00:25+1-05:36+1 136 A321P open ? - 00:25+1-05:36+1 +0 N961JT - -\nf667 248 SLC-BOS 00:39+1-05:12+1 120 A220 open ? - 00:39+1-05:12+1 +0 N3255J - -\nf668 994 DEN-BOS 00:39+1-04:35+1 124 A220 open ? - 00:39+1-04:35+1 +0 N3149J - -\nf669 136 PHX-JFK 00:44+1-05:42+1 117 A320 open ? - 00:44+1-05:42+1 +0 N523JB - -\nf670 492 LAX-BUF 00:46+1-05:38+1 141 A320 open ? - 00:46+1-05:38+1 +0 N563JB - -\nf671 66 ABQ-JFK 00:59+1-05:10+1 124 A320 open ? - 00:59+1-05:10+1 +0 N648JB - -\nf672 700 LAX-FLL 01:15+1-06:30+1 138 A321P open ? - 01:15+1-06:30+1 +0 N983JT - -\nf673 1524 LAX-JFK 01:27+1-07:01+1 124 A321P open ? - 01:27+1-07:01+1 +0 N989JT - -\nf674 816 SFO-JFK 01:30+1-07:03+1 138 A321P open ? - 01:30+1-07:03+1 +0 N2193J - -\nf675 98 DEN-JFK 01:54+1-05:40+1 131 A320 open ? - 01:54+1-05:40+1 +0 N508JL - -\nf676 372 SLC-JFK 01:54+1-06:20+1 142 A320 open ? - 01:54+1-06:20+1 +0 N766JB - -\nf677 162 SMF-JFK 02:08+1-07:29+1 172 A321 open ? - 02:08+1-07:29+1 +0 N996JL - -\nf678 988 LAX-BOS 02:15+1-07:53+1 138 A321P open ? - 02:15+1-07:53+1 +0 N942JB - -\nf679 80 RNO-JFK 02:18+1-07:30+1 106 A220 open ? - 02:18+1-07:30+1 +0 N3023J - -\nf680 264 SEA-JFK 02:20+1-07:38+1 181 A321 open ? - 02:20+1-07:38+1 +0 N995JL - -\nf681 134 SFO-BOS 02:25+1-08:03+1 138 A321P open ? - 02:25+1-08:03+1 +0 N935JB - -\nf682 96 PDX-BOS 02:40+1-08:00+1 177 A321 open ? - 02:40+1-08:00+1 +0 N966JT - -\nf683 1224 LAX-JFK 02:54+1-08:31+1 124 A321P open ? - 02:54+1-08:31+1 +0 N934JB - -\nf684 608 LAS-FLL 02:58+1-07:49+1 137 A321P open ? - 02:58+1-07:49+1 +0 N945JT - -\nf685 454 ONT-JFK 02:59+1-08:30+1 163 A321 open ? - 02:59+1-08:30+1 +0 N952JB - -\nf686 948 LAS-JFK 02:59+1-08:02+1 132 A321P open ? - 02:59+1-08:02+1 +0 N986JB - -\n\n## Aircraft now, as your plan has them (@ = ready at)\nBOS: N2156J@05:26 N2157J N3044J@05:15 N3077J N3102J N3104J N3113J@08:34 N3118J N3125J N3132J@05:15 N3162J N3185J@09:20 N3196J N3229J@07:27 N323JB N324JB N3275J N329JB N4077J N505JB@08:30 N569JB N571JB N584JB N625JB N633JB@07:35 N637JB N639JB N645JB N662JB@08:20 N760JB N793JB N809JB N905JB@05:55 N944JT N954JB@08:15 N961JT@08:28 N966JT N970JB N976JT@05:42 N977JE@08:00 N981JT@05:53 N991JT N993JE N999JQ@07:30\nJFK: N2027J@18:00+1 N2142J N2151J@04:59 N2165J N2193J@16:20 N3149J@06:45 N3152J@07:51 N3194J N3203J@20:55 N3232J@07:23 N3242J N3257J N508JL@05:35 N510JB@04:16 N523JB N526JL N558JB N565JB@22:14 N606JB N618JB@18:38 N632JB@10:30 N640JB N648JB@06:36 N649JB@18:00+1 N656JB@19:44 N766JB@17:02 N789JB N828JB@07:15 N907JB@20:35 N923JB@05:14 N929JB@08:07 N937JB N945JT N946JL@05:10 N947JB N952JB@17:45 N956JT@07:10 N957JB@20:55 N958JB N965JT N968JT N982JB@09:53 N984JB N986JB N987JT@08:21 N990JL N996JL@17:20 N998JE@18:15\nALB: N641JB\nATL: N547JB N708JB\nBDL: N534JB N568JB N603JB N638JB N834JB\nBNA: N3023J N524JB\nBQN: N559JB@06:11 N579JB\nBUF: N283JB N3189J N580JB N599JB@06:05\nCLE: N306JB\nDCA: N3065J N3112J N3215J N659JB N994JL\nDTW: N3260J\nEWR: N535JB N554JB N563JB N655JB@21:15 N775JB N955JB N988JT@06:27\nFLL: N3138J N3145J N3169J N3195J N566JB N589JB N591JB@21:05 N593JB N598JB@19:15 N607JB@19:45 N630JB N644JB N715JB N796JB N804JB N806JB N827JB N962JT@07:49 N967JT N978JB@06:23 N980JT@08:14 N985JT\nHPN: N317JB N3255J N586JB N592JB N597JB N613JB\nJAX: N3221J\nLAX: N942JB@06:57 N979JT N983JT@04:26 N989JT@06:47 N992JB@04:34\nLGA: N537JT N562JB N706JB\nMCO: N507JT N509JB N516JB N519JB@09:30 N520JB N521JB N561JB N583JB@06:34 N588JB N590JB N624JB@16:59 N634JB@10:50 N635JB N651JB@13:07 N657JB@08:00 N768JB N807JB@20:20 N972JT N973JT\nMHT: N729JB\nORD: N3157J\nPBI: N3258J N3267J N615JB N661JB N763JB N794JB\nPIT: N3115J\nPQI: N284JB\nPVD: N504JB N556JB N636JB\nPWM: N3251J\nRDU: N564JB N784JB\nRIC: N3240J N705JB\nROC: N3142J\nRSW: N3062J N531JL\nSFO: N934JB N935JB@04:30 N964JT N969JT\nSJU: N3058J N536JB N587JB N621JB N646JB N653JB N663JB@21:00 N746JB N995JL N997JL\nSYR: N318JB N709JB\nTPA: N570JB N585JB N623JB N658JB N903JB\nairborne: none\n\n## News so far\n[13:33-1] JFK ground stop 13:16-1-14:45-1, average delay 44 min, max 66, probability of extension medium [advisory adv-20250730-068, signed 13:33-1]\n[14:03-1] JFK proposed ground delay program 13:43-1-23:29-1, rate 48/48/38/32/32/36/36/36/40/40/40 arrivals/h (all carriers), average delay 139 min, max 255 [advisory adv-20250730-073, signed 14:03-1]\n[14:23-1] JFK ground delay program 13:43-1-23:59-1, rate 48/48/38/32/32/36/36/36/40/40/40 arrivals/h (all carriers), average delay 148 min, max 257 [advisory adv-20250730-081, signed 14:23-1]\n[20:33-1] JFK ground stop 20:13-1-21:30-1, average delay 114 min, max 190, probability of extension high [advisory adv-20250731-003, signed 20:33-1]\n[21:25-1] JFK ground stop 21:07-1-22:15-1, average delay 126 min, max 240, probability of extension medium [advisory adv-20250731-010, signed 21:25-1]\n[22:15-1] JFK GDP cancelled 22:14-1-01:53 [advisory adv-20250731-013, signed 22:15-1]\n[22:36-1] TAF AMD KJFK 310236Z 3103/0106 VRB04KT P6SM SCT050 BKN150 FM311200 03006KT P6SM SCT035 BKN100 PROB30 3115/3119 5SM -SHRA BR BKN050 FM311900 08011KT 4SM SHRA BR BKN025 OVC100 PROB30 3121/0103 2SM -TSRA BR BKN025CB=\n[01:36] TAF KBOS 310536Z 3106/0112 29007KT P6SM SCT070 SCT250 FM311400 05009KT P6SM SCT045 BKN050 FM311600 06010G17KT P6SM SCT025 OVC030 FM311900 06010G18KT 5SM -SHRA BR SCT015 OVC020 PROB30 3119/3123 2SM TSRA BR BKN008CB FM312300 05009KT 4SM -SHRA BR OVC008 FM010900 05011G22KT 6SM -SHRA OVC008=\n[01:37] TAF KJFK 310537Z 3106/0112 24005KT P6SM SCT050 SCT200 FM311200 03006KT P6SM SCT035 BKN100 PROB30 3115/3119 5SM -SHRA BR BKN050 FM312000 08011KT 4SM SHRA BR BKN025 OVC100 PROB30 3120/3124 2SM -TSRA BR BKN025CB FM010000 05009KT 2SM RA BR OVC007 PROB30 0100/0104 -TSRA BR BKN020CB FM010400 03014G22KT 4SM -RA BR OVC007 FM010800 02014G22KT 5SM -RA BR OVC015=\n[02:51] KJFK 310651Z 24007KT 10SM SCT170 BKN250 27/23 A2996 RMK AO2 SLP146 T02720228 $\n[02:54] KBOS 310654Z 34004KT 10SM FEW070 BKN090 BKN250 27/18 A2996 RMK AO2 SLP144 T02670178 $\n[03:51] KJFK 310751Z 23007KT 10SM SCT160 BKN250 27/22 A2996 RMK AO2 SLP144 T02670222 $\n[03:54] KBOS 310754Z 01006KT 10SM FEW065 BKN085 OVC250 26/19 A2996 RMK AO2 SLP145 T02560189 $\n\nIt is the first watch, 04:00. Nothing is frozen yet: set the day up with confirm_changes, then call advance.", + "max_turns": 314, + "model_params": { + "max_tokens": 32000 + }, + "timeout_seconds": 7200 + }, + { + "id": "end-day", + "type": "apply_server_config", + "env_id": "airops-v3-day", + "directives": [ + { + "service": "airops-v3-day", + "uri": "urn:airops:v3-end-day/v1", + "args": {} + } + ] + }, + { + "id": "grade", + "type": "env_outcome_verifier", + "env_id": "airops-v3-day", + "file_artifact_id": "airops-verifier", + "verifier_id": "airops", + "score_aggregator": "weighted_average" + } +] diff --git a/src/agentenv_airops/bundles/airops-v3/tasks/b6-20250809-0400.json b/src/agentenv_airops/bundles/airops-v3/tasks/b6-20250809-0400.json new file mode 100644 index 0000000..baf60fb --- /dev/null +++ b/src/agentenv_airops/bundles/airops-v3/tasks/b6-20250809-0400.json @@ -0,0 +1,71 @@ +[ + { + "id": "deploy", + "type": "deploy_env", + "env_id": "airops-v3-day" + }, + { + "id": "load-task", + "type": "apply_server_config", + "env_id": "airops-v3-day", + "directives": [ + { + "service": "airops-v3-day", + "uri": "urn:airops:v3-live-load/v1", + "args": { + "task_id": "b6-20250809-0400", + "anchor": 2003201, + "follower": 2045686 + } + } + ] + }, + { + "id": "deploy-agent", + "type": "deploy_agent", + "a2a_agent_id": "airops-llm", + "env_ids": [ + "airops-v3-day" + ] + }, + { + "id": "clock", + "type": "sync_env_clock", + "env_id": "airops-v3-day", + "virtual_time": "2025-08-09T08:00:00Z", + "virtual_seconds_per_real_second": 0, + "tolerate_missing_sync_time": false + }, + { + "id": "play", + "type": "prompt_agent", + "prompt_id": "b6-20250809-0400", + "system_prompt": "You run the JetBlue operations desk on a storm day at JFK and BOS: thunderstorms, snow or wind, and the FAA ground stops and ground delay programs (GDPs) that follow, cut how many JetBlue flights can land and take off. Your job is to decide which flights to cancel and which to hold, watch by watch, so that passengers and the airline lose as little as possible over the day.\n\nHow the day runs:\n- The day is played in watches starting at watch 0: one an hour, and one more when an advisory or a SPECI reaches the desk or a ramp closure begins or ends, so watches are 15 to 60 minutes apart. The first message gives the day as the desk knows it at watch 0. Every tool call takes 1 minute of the watch; when the watch's time runs out, the next watch opens by itself, and advance opens it at once.\n- What the desk knows: a flight's own departure delay (weather, air traffic control: anything but waiting for its aircraft or a slot) becomes known 2 hours before its scheduled departure; until then it is assumed on time. FAA Command Center advisories and the hubs' METARs, SPECIs and TAFs arrive as messages at the first watch after they reach the desk: an advisory 0 minutes after it is signed, a METAR 5 and a SPECI 5 minutes after its observation, a TAF 10 minutes after its issue, and the programs table shows the programs as issued, proposed GDPs included; a program may end earlier or later than issued.\n- Ground delay programs: a GDP meters arrivals at a hub over its period. A flight into the hub from an origin in its scope, scheduled to land in the period, needs one of JetBlue's arrival slots in the program: it takes the earliest free slot at or after the time it could land and leaves at its EDCT, the slot less its scheduled block. A cancelled or late flight leaves its slot to the flights behind it. Arrivals outside a program fit under the hub's hourly rate.\n- Ground stops: a flight to a stopped hub from an origin the stop covers waits on the ground until the stop ends; flights already airborne fly on.\n- Departure caps: an airport may take only so many JetBlue departures in an hour (the departure caps table, known 4 hours ahead); a flight with no room in its hour tries again at the next hour's start.\n- Outstation arrival caps: an outstation may take only so many JetBlue arrivals in an hour (the outstation arrival caps table, known 4 hours ahead); a flight with no room in its arrival hour leaves so as to land in the next one.\n- Ramp closures: lightning at the field cuts a hub's ramp rate without stopping it. During a closure only so many JetBlue flights may leave the hub and only so many arrive there; a departure with no room leaves at the closure's end, an arrival with none leaves so as to land at it. A closure is known once it begins; until its end comes it is expected to last 30 minutes more, with caps for that long, and the closures table says which ends are reported and which expected.\n- The env flies your plan on the day as it happens: each flight leaves at the earliest time its delay, its hold, a slot, a stop, a cap and an aircraft allow. It takes the first aircraft of its type ready at its origin (aircraft of one type at one airport are interchangeable; an aircraft needs its turn time on the ground between flights). A flight that can't leave by its deadline is cancelled automatically there. At the end of the day the env ferries each aircraft to the airport it is needed at tomorrow.\n- Your decisions: cancel a flight (its aircraft stays on the ground, free for other flights, and its slot goes to the flights behind), restore a cancelled flight, or hold a flight until a time (not_before) so that its slot or aircraft goes to another flight first. A flight you don't touch leaves as early as it can.\n- The freeze: at watch 0 nothing is frozen. From watch 1 on, flights your plan has leaving before the freeze line, 60 minutes after the watch opens, are frozen: they can't be changed, and stay frozen. A cancellation is final. The env holds any other flight your plan would have leaving before the freeze line to it, and refuses a change that would move a frozen flight or one that has already gone.\n\nTools:\n- get_situation(): the time, the freeze line, the programs as issued with JetBlue's slots, the departure caps known so far, the outstation arrival caps known so far, the ramp closures under way or over, the latest METAR or SPECI and TAF per hub, every flight (its status, its known delay, your plan, where your plan has it leave and land on the day as known, how late it lands, its aircraft, its slot and its crew), where the aircraft are, and the news so far.\n- check_plan(changes): your changes over your plan, run on the day as known now: the plan's cost, the flights whose plan or times change, the automatic cancellations, the flights the env would hold to the freeze line, and the changes confirm_changes would refuse. It confirms nothing.\n- confirm_changes(changes): commits the changes; flights you leave out keep their plan.\n- advance(): ends the watch; its result has the new watch's news. After the last watch it returns \"done\": the day is graded on your plan.\nA change is {\"flight\": \"f12\", \"action\": \"cancel\" | \"restore\" | \"hold\" | \"call_reserve\" | \"release_reserve\", \"not_before\": \"HH:MM\" | null}: cancel takes not_before null; restore and hold fly the flight, held until not_before (local time, \"00:30+1\" after midnight), or as early as it can with null. Where a crew base has a reserve pool (the situation's Reserve crews), a flight leaving it past its crew's deadline flies only on a reserve: call_reserve gives it one while the pool lasts, release_reserve hands it back before that deadline.\n\nThe cost, in passenger-minutes: every passenger's minutes of arrival delay; 523 for each passenger on a cancelled flight, plus one for every minute the cancellation is decided later than 2 hours before its scheduled departure (an automatic cancellation is decided at its deadline, so it costs more than an early one); the airline's own aircraft minutes (a late departure costs crew and fixed costs, a long block fuel too, and a cancellation saves its fuel and maintenance); and the end-of-day ferries. A cancellation frees an aircraft and a slot; it pays when it saves the others more than it costs its own passengers. The day is graded once, on your final plan flown on the day as it really happened: the closer its cost to the best plan possible in hindsight, the higher the score. If you stop before the last watch, the rest of the day runs on your plan.", + "prompt": "# JetBlue operations desk, BOS, Saturday 2025-08-09; times are local (America/New_York).\n\nNow 04:00 (watch 0, opened 04:00). First watch: nothing is frozen; changes take effect at once.\n\nYour plan on the day as known costs 267,144 (delay 205,403, cancellations 0, notice 0, ferries 0): 0 cancelled, 0 cancelled automatically, 0 on slots.\n\n## Programs as issued (FAA Command Center)\nNone.\n\n## Departure caps: JetBlue departures per hour, known 240 min ahead\nBOS: 06h 5 08h 6\nJFK: 07h 6 08h 8\n\n## Outstation arrival caps: JetBlue arrivals per hour, known 240 min ahead\nEWR: 08h 1\nFLL: 08h 1\nMCO: 08h 7\n\n## Ramp closures (lightning at the field; known once begun)\nNone.\n\n## Latest weather (METAR or SPECI, and TAF)\n[03:54] KBOS 090754Z 18005KT 10SM FEW140 17/12 A3024 RMK AO2 SLP240 T01670122\n[01:20] TAF KBOS 090520Z 0906/1012 19004KT P6SM SKC FM091300 13005KT P6SM SKC FM091500 10010KT P6SM SKC FM100100 15005KT P6SM SKC FM100400 21005KT P6SM FEW250=\n\n## Flights (sched = scheduled dep-arr; delay = known delay, ? not yet; plan = cancel or hold@HH:MM; proj = where your plan has it leave and land on the day as known; late = arrival delay; slot = its GDP slot; crew = crew deadline/rest end, +R on a reserve crew)\nid flight route sched pax type status delay plan proj late tail slot crew\nf0 729 BQN-MCO 05:01-07:52 148 A320 open -13 - 04:48-07:36 -16 N558JB - -\nf1 1233 MCO-SJU 05:01-08:01 141 A320 open 3 - 05:04-07:57 -4 N517JB - -\nf2 1434 SJU-MCO 05:01-08:02 149 A320 open -2 - 04:59-07:50 -12 N507JT - -\nf3 2539 JFK-BQN 05:01-08:49 135 A320 open -3 - 04:58-08:54 +5 N519JB - -\nf4 767 MCO-PSE 05:05-08:02 125 A320 open -7 - 04:58-07:50 -12 N505JB - -\nf5 917 BOS-JFK 05:14-06:29 100 A320 open -9 - 05:05-06:08 -21 N563JB - -\nf6 403 JFK-SJU 05:15-09:05 144 A320 open -2 - 05:13-08:58 -7 N529JB - -\nf7 1889 EWR-SJU 05:35-09:30 187 A321 open 0 - 05:35-09:18 -12 N955JB - -\nf8 2001 BUF-JFK 05:35-07:00 126 A220 open -7 - 05:28-06:40 -20 N3125J - -\nf9 562 SJU-BOS 05:40-09:47 148 A320 open -3 - 05:37-09:31 -16 N595JB - -\nf10 207 PQI-BOS 05:45-07:09 60 E190 open -9 - 05:36-06:42 -27 N317JB - -\nf11 87 ALB-FLL 06:00-09:15 143 A320 open 62 - 07:02-10:28 +73 N625JB - -\nf12 130 RSW-JFK 06:00-08:48 132 A320 open -13 - 05:47-08:54 +6 N589JB - -\nf13 166 RSW-BOS 06:00-09:11 123 A220 open -11 - 05:49-09:12 +1 N3185J - -\nf14 306 FLL-EWR 06:00-08:55 144 A320 open -3 - 05:57-09:08 +13 N568JB - -\nf15 322 PBI-BOS 06:00-09:10 125 A220 open -9 - 05:51-09:10 +0 N3267J - -\nf16 382 RIC-BOS 06:00-07:40 112 A220 open -6 - 05:54-07:42 +2 N3132J - -\nf17 525 PVD-SJU 06:00-09:48 134 A320 open -1 - 05:59-09:49 +1 N521JB - -\nf18 696 ATL-BOS 06:00-08:33 118 A220 open -8 - 05:52-08:32 -1 N3258J - -\nf19 737 BDL-MCO 06:00-08:54 141 A320 open 0 - 06:00-08:46 -8 N584JB - -\nf20 927 EWR-MCO 06:00-08:42 142 A320 open -3 - 05:57-08:44 +2 N606JB - -\nf21 1076 PVD-MCO 06:00-08:55 127 A320 open 9 - 06:09-08:54 -1 N527JL - -\nf22 1192 TPA-BOS 06:00-09:03 136 A320 open -10 - 05:50-09:03 +0 N510JB - -\nf23 1419 DTW-JFK 06:00-07:45 108 A220 open -8 - 05:52-07:44 -1 N3261J - -\nf24 1515 SYR-JFK 06:00-07:13 97 A320 open -8 - 05:52-07:01 -12 N805JB - -\nf25 1652 MCO-BOS 06:00-09:04 176 A321 open -14 - 05:46-08:49 -15 N998JE - -\nf26 1911 EWR-RSW 06:00-08:58 127 A320 open -1 - 05:59-08:59 +1 N766JB - -\nf27 2904 SJU-JFK 06:00-09:57 191 A321 open -2 - 05:58-09:35 -22 N965JT - -\nf28 234 SJU-MCO 06:01-09:03 149 A320 open ? - 06:01-09:03 +0 N638JB - -\nf29 2133 MCO-SJU 06:01-09:00 141 A320 open ? - 06:01-09:00 +0 N566JB - -\nf30 302 FLL-JFK 06:03-08:59 143 A320 open ? - 06:03-08:59 +0 N630JB - -\nf31 307 PWM-JFK 06:05-07:24 102 A220 open ? - 06:05-07:24 +0 N3115J - -\nf32 538 BQN-JFK 06:05-09:57 143 A320 open ? - 06:05-09:57 +0 N554JB - -\nf33 1333 BOS-SFO 06:05-12:43 120 A321P open ? - 06:05-12:43 +0 N2180J - -\nf34 1368 PBI-HPN 06:06-09:00 140 A320 open ? - 06:06-09:00 +0 N508JL - -\nf35 351 BOS-MCO 06:10-09:17 137 A320 open ? - 06:10-09:17 +0 N579JB - -\nf36 741 JFK-SAV 06:15-08:25 105 A220 open ? - 06:15-08:25 +0 N3112J - -\nf37 1184 MCO-JFK 06:15-08:56 178 A321 open ? - 06:15-08:56 +0 N2039J - -\nf38 1285 ROC-JFK 06:15-07:39 110 A220 open ? - 06:15-07:39 +0 N3113J - -\nf39 540 CLE-BOS 06:19-08:05 81 E190 open ? - 06:19-08:05 +0 N318JB - -\nf40 109 BOS-JAX 06:20-09:07 113 A220 open ? - 06:20-09:07 +0 N3058J - -\nf41 1678 JAX-JFK 06:20-08:40 119 A220 open ? - 06:20-08:40 +0 N3257J - -\nf42 287 BOS-LAX 06:25-12:40 138 A321P open ? - 06:25-12:40 +0 N968JT - -\nf43 569 BOS-FLL 06:25-09:50 123 A220 open ? - 06:25-09:50 +0 N3139J - -\nf44 165 BOS-RSW 06:30-09:59 129 A220 open ? - 07:00-10:29 +30 N3232J - -\nf45 254 DCA-JFK 06:30-07:43 73 A220 open ? - 06:30-07:43 +0 N3145J - -\nf46 599 LGA-MCO 06:30-09:12 147 A320 open ? - 06:30-09:12 +0 N662JB - -\nf47 690 FLL-BOS 06:30-09:46 129 A220 open ? - 06:30-09:46 +0 N3065J - -\nf48 1083 JFK-MCO 06:30-09:15 129 A320 open ? - 06:30-09:15 +0 N569JB - -\nf49 126 TPA-JFK 06:45-09:29 138 A320 open ? - 06:45-09:29 +0 N571JB - -\nf50 286 RDU-JFK 06:45-08:28 134 A320 open ? - 06:45-08:28 +0 N636JB - -\nf51 959 BDL-FLL 06:45-09:58 146 A320 open ? - 06:45-09:58 +0 N594JB - -\nf52 1067 HPN-PBI 06:45-09:29 144 A320 open ? - 06:45-09:29 +0 N653JB - -\nf53 1246 SJU-FLL 06:45-09:26 129 A220 open ? - 06:45-09:26 +0 N3149J - -\nf54 2285 JFK-RDU 06:45-08:24 133 A320 open ? - 06:45-08:24 +0 N570JB - -\nf55 2625 RDU-FLL 06:45-08:55 121 A320 open ? - 06:45-08:55 +0 N534JB - -\nf56 411 JFK-LAS 06:50-12:22 138 A321P open ? - 06:50-12:22 +0 N2105J - -\nf57 1480 FLL-DCA 06:50-09:20 120 A220 open ? - 06:50-09:20 +0 N3221J - -\nf58 1219 BOS-MIA 06:51-10:18 117 A220 open ? - 07:00-10:27 +9 N3240J - -\nf59 1601 JFK-FLL 06:54-09:59 173 A321 open ? - 06:54-09:59 +0 N913JB - -\nf60 223 JFK-LAX 06:55-12:54 127 A321P open ? - 06:55-12:54 +0 N2188J - -\nf61 518 JFK-BOS 06:55-08:13 130 A321 open ? - 06:55-08:13 +0 N994JL - -\nf62 861 BOS-SJU 06:55-10:54 133 A320 open ? - 07:00-10:59 +5 N640JB - -\nf63 205 EWR-FLL 06:59-09:55 144 A320 open ? - 06:59-09:55 +0 N535JB - -\nf64 311 BOS-ORD 07:00-09:55 122 A220 open ? - 07:00-09:55 +0 N3242J - -\nf65 379 DCA-FLL 07:00-09:35 118 A220 open ? - 07:00-09:35 +0 N3196J - -\nf66 397 BOS-SEA 07:00-13:20 181 A321 open ? - 07:00-13:20 +0 N954JB - -\nf67 971 MHT-JFK 07:00-08:14 43 A320 open ? - 07:00-08:14 +0 N760JB - -\nf68 1062 PBI-LGA 07:00-09:44 131 A320 open ? - 07:00-09:44 +0 N652JB - -\nf69 1074 BNA-JFK 07:00-09:27 112 A220 open ? - 07:00-09:27 +0 N3255J - -\nf70 1145 RIC-FLL 07:00-09:23 126 A320 open ? - 07:00-09:23 +0 N618JB - -\nf71 1198 PIT-JFK 07:00-08:30 59 A220 open ? - 07:00-08:30 +0 N3077J - -\nf72 1471 LGA-FLL 07:00-10:00 139 A320 open ? - 07:00-10:00 +0 N804JB - -\nf73 1476 SJU-BDL 07:00-10:53 150 A320 open ? - 07:00-10:53 +0 N603JB - -\nf74 1551 HPN-RSW 07:00-09:56 119 A320 open ? - 07:00-09:56 +0 N648JB - -\nf75 1585 BOS-PIT 07:00-08:50 107 A220 open ? - 07:00-08:50 +0 N3244J - -\nf76 2020 FLL-ORH 07:00-09:58 93 A220 open ? - 07:00-09:58 +0 N3251J - -\nf77 2274 TPA-EWR 07:00-09:47 139 A320 open ? - 07:00-09:47 +0 N828JB - -\nf78 814 FLL-HPN 07:05-10:07 136 A320 open ? - 07:05-10:07 +0 N651JB - -\nf79 1130 FLL-CHS 07:05-08:45 65 A220 open ? - 07:05-08:45 +0 N3215J - -\nf80 2144 PBI-EWR 07:05-09:53 138 A320 open ? - 07:05-09:53 +0 N552JB - -\nf81 320 ATL-JFK 07:07-09:28 144 A320 open ? - 07:07-09:28 +0 N663JB - -\nf82 1129 PVD-JFK 07:07-08:09 49 A320 open ? - 07:07-08:09 +0 N562JB - -\nf83 1117 BOS-JFK 07:10-08:30 86 A220 open ? - 07:10-08:30 +0 N3118J - -\nf84 676 BDL-JFK 07:12-08:14 44 A320 open ? - 07:12-08:14 +0 N597JB - -\nf85 406 ORD-JFK 07:15-09:27 119 A220 open ? - 07:15-09:27 +0 N3142J - -\nf86 854 PBI-JFK 07:15-09:59 123 A220 open ? - 07:15-09:59 +0 N3138J - -\nf87 2751 TPA-SJU 07:15-10:20 182 A321 open ? - 07:15-10:20 +0 N999JQ - -\nf88 598 MCO-LGA 07:20-10:00 150 A320 open ? - 07:20-10:00 +0 N583JB - -\nf89 991 FLL-SJU 07:20-09:58 145 A320 open ? - 07:20-09:58 +0 N661JB - -\nf90 2465 BUF-FLL 07:20-10:19 146 A320 open ? - 07:20-10:19 +0 N794JB - -\nf91 716 BUF-BOS 07:22-08:42 87 E190 open ? - 07:22-08:42 +0 N324JB - -\nf92 656 MCO-SYR 07:25-10:11 129 A320 open ? - 07:25-10:11 +0 N591JB - -\nf93 2255 BOS-DCA 07:25-09:04 83 E190 open ? - 07:25-09:04 +0 N281JB - -\nf94 189 JFK-SAN 07:30-13:25 133 A321P open ? - 07:30-13:25 +0 N961JT - -\nf95 519 JFK-ATL 07:30-09:55 144 A320 open ? - 07:30-09:55 +0 N637JB - -\nf96 953 JFK-PBI 07:30-10:29 145 A320 open ? - 07:30-10:29 +0 N649JB - -\nf97 1236 DTW-BOS 07:30-09:26 117 A220 open ? - 07:30-09:26 +0 N3102J - -\nf98 1295 BOS-BUF 07:30-09:04 85 E190 open ? - 07:30-09:04 +0 N283JB - -\nf99 1447 HPN-TPA 07:30-10:17 145 A320 open ? - 07:30-10:17 +0 N639JB - -\nf100 1602 JFK-BUF 07:30-09:00 126 A220 open ? - 07:30-09:00 +0 N3156J - -\nf101 2283 BOS-RDU 07:30-09:35 121 A220 open ? - 07:30-09:35 +0 N3062J - -\nf102 633 BOS-IAH 07:38-11:49 117 A220 open ? - 07:38-11:49 +0 N3275J - -\nf103 377 FLL-SFO 07:40-13:30 136 A321P open ? - 07:40-13:30 +0 N976JT - -\nf104 2423 DCA-MCO 07:40-10:02 126 A320 open ? - 07:40-10:02 +0 N605JB - -\nf105 374 SYR-BOS 07:45-08:54 83 E190 open ? - 07:45-08:54 +0 N306JB - -\nf106 641 BOS-CLE 07:45-09:48 80 E190 open ? - 07:45-09:48 +0 N323JB - -\nf107 514 FLL-ISP 08:00-10:51 147 A320 open ? - 08:00-10:51 +0 N580JB - -\nf108 651 BOS-MCO 08:00-11:13 118 A220 open ? - 08:00-11:13 +0 N3229J - -\nf109 1033 MCO-SJU 08:00-11:00 130 A320 open ? - 08:00-11:00 +0 N593JB - -\nf110 1273 JFK-CHS 08:00-10:15 128 A320 open ? - 08:00-10:15 +0 N789JB - -\nf111 1347 DCA-SJU 08:00-11:58 182 A321 open ? - 08:00-11:58 +0 N959JB - -\nf112 2601 HPN-SJU 08:00-11:45 122 A220 open ? - 08:00-11:45 +0 N3260J - -\nf113 1201 FLL-LAX 08:01-13:15 138 A321P open ? - 08:01-13:15 +0 N987JT - -\nf114 1159 BOS-PHL 08:05-09:40 82 E190 open ? - 08:05-09:40 +0 N317JB - -\nf115 1177 BOS-LAS 08:05-13:54 138 A321P open ? - 08:05-13:54 +0 N4073J - -\nf116 1334 SJU-MCO 08:05-11:07 149 A320 open ? - 08:05-11:07 +0 N763JB - -\nf117 1475 BDL-SJU 08:05-11:56 126 A320 open ? - 08:05-11:56 +0 N665JB - -\nf118 163 JFK-SRQ 08:10-11:15 118 A220 open ? - 08:10-11:15 +0 N3169J - -\nf119 806 BNA-BOS 08:10-10:44 117 A320 open ? - 08:10-10:44 +0 N524JB - -\nf120 1497 JFK-DEN 08:10-12:25 130 A320 open ? - 08:10-12:25 +0 N537JT - -\nf121 1 JFK-FLL 08:15-11:24 173 A321 open ? - 08:15-11:24 +0 N974JT - -\nf122 1018 JFK-BOS 08:15-09:36 91 A220 open ? - 08:15-09:36 +0 N3195J - -\nf123 2016 FLL-PHL 08:15-11:07 134 A320 open ? - 08:15-11:07 +0 N547JB - -\nf124 215 JFK-SFO 08:20-14:50 131 A321P open ? - 08:20-14:50 +0 N988JT - -\nf125 1247 LGA-TPA 08:20-11:10 130 A320 open ? - 10:29-13:19 +129 N652JB - -\nf126 1603 JFK-SJU 08:20-12:20 138 A321P open ? - 08:20-12:20 +0 N991JT - -\nf127 1707 FLL-LAS 08:20-13:17 134 A321P open ? - 08:20-13:17 +0 N923JB - -\nf128 762 SJU-BOS 08:25-12:34 183 A321 open ? - 08:25-12:34 +0 N971JT - -\nf129 1293 BOS-ILM 08:25-10:28 97 A220 open ? - 08:25-10:28 +0 N3152J - -\nf130 85 BUF-MCO 08:30-11:05 144 A320 open ? - 08:56-11:31 +26 N531JL - -\nf131 183 JFK-MCO 08:30-11:24 120 A220 open ? - 08:30-11:24 +0 N3104J - -\nf132 813 HPN-FLL 08:30-11:25 141 A320 open ? - 08:30-11:25 +0 N656JB - -\nf133 2433 DCA-PBI 08:30-10:58 103 A220 open ? - 08:30-10:58 +0 N3247J - -\nf134 257 BOS-BZN 08:35-13:31 142 A320 open ? - 08:35-13:31 +0 N657JB - -\nf135 807 BOS-STT 08:40-12:41 134 A321P open ? - 08:40-12:41 +0 N982JB - -\nf136 2277 BOS-AVL 08:40-11:04 106 A220 open ? - 09:00-11:24 +20 N3189J - -\nf137 1241 BDL-PBI 08:45-11:45 144 A320 open ? - 08:45-11:45 +0 N768JB - -\nf138 1324 BOS-MVY 08:45-09:31 55 E190 open ? - 09:00-09:46 +15 N318JB - -\nf139 2024 MCO-DCA 08:45-11:00 137 A320 open ? - 08:45-11:00 +0 N624JB - -\nf140 768 PSE-MCO 08:50-11:53 135 A320 open ? - 08:50-11:53 +0 N505JB - -\nf141 2121 HPN-ACK 08:56-10:00 73 E190 open ? - 08:56-10:00 +0 N284JB - -\nf142 1529 JFK-RSW 08:59-12:06 144 A320 open ? - 09:00-12:07 +1 N729JB - -\nf143 116 SFO-JFK 09:00-14:40 138 A321P open ? - 09:00-14:40 +0 N993JE - -\nf144 124 LAX-JFK 09:00-14:29 134 A321P open ? - 09:00-14:29 +0 N962JT - -\nf145 552 MCO-BOS 09:00-11:58 142 A320 open ? - 09:00-11:58 +0 N746JB - -\nf146 837 BOS-DTW 09:00-11:11 122 A220 open ? - 09:00-11:11 +0 N3162J - -\nf147 888 LAX-BOS 09:00-14:40 138 A321P open ? - 09:00-14:40 +0 N979JT - -\nf148 434 SFO-BOS 09:05-14:50 138 A321P open ? - 09:05-14:50 +0 N967JT - -\nf149 94 MCO-HPN 09:10-11:57 140 A320 open ? - 09:10-11:57 +0 N506JB - -\nf150 75 JFK-MSY 09:15-12:31 123 A220 open ? - 09:15-12:31 +0 N3125J - -\nf151 142 SAV-JFK 09:15-11:15 109 A220 open ? - 09:15-11:15 +0 N3112J - -\nf152 1807 BOS-BNA 09:15-12:03 124 A320 open ? - 09:15-12:03 +0 N705JB - -\nf153 2786 RDU-JFK 09:19-10:58 134 A320 open ? - 09:19-10:58 +0 N570JB - -\nf154 791 BOS-TPA 09:20-12:35 126 A220 open ? - 09:20-12:35 +0 N3132J - -\nf155 1338 JFK-MVY 09:23-10:36 106 A220 open ? - 09:23-10:36 +0 N3115J - -\nf156 127 EWR-MCO 09:25-12:15 142 A320 open ? - 09:25-12:15 +0 N590JB - -\nf157 905 JFK-ORD 09:29-12:18 121 A220 open ? - 09:29-12:18 +0 N3113J - -\nf158 219 BOS-SAN 09:30-15:34 136 A321P open ? - 09:30-15:34 +0 N984JB - -\nf159 1131 CHS-FLL 09:30-11:09 87 A220 open ? - 09:30-11:09 +0 N3215J - -\nf160 1286 PIT-BOS 09:35-11:15 107 A220 open ? - 09:35-11:15 +0 N3244J - -\nf161 2352 BOS-ACK 09:35-10:29 71 E190 open ? - 09:35-10:29 +0 N324JB - -\nf162 2638 BQN-JFK 09:35-13:29 143 A320 open ? - 09:35-13:29 +0 N519JB - -\nf163 1686 TPA-JFK 09:42-12:28 138 A320 open ? - 09:42-12:28 +0 N635JB - -\nf164 172 FLL-LGA 09:45-12:37 146 A320 open ? - 09:45-12:37 +0 N641JB - -\nf165 488 MCO-ORH 09:45-12:39 124 A320 open ? - 09:45-12:39 +0 N644JB - -\nf166 546 MCO-ISP 09:45-12:26 145 A320 open ? - 09:45-12:26 +0 N559JB - -\nf167 1901 BUF-JFK 09:45-11:09 126 A220 open ? - 09:45-11:09 +0 N3156J - -\nf168 2695 HPN-MCO 09:45-12:28 135 A320 open ? - 09:45-12:28 +0 N508JL - -\nf169 1912 RSW-EWR 09:48-12:39 148 A320 open ? - 09:48-12:39 +0 N766JB - -\nf170 1296 BUF-BOS 09:49-11:14 87 E190 open ? - 09:49-11:14 +0 N283JB - -\nf171 267 BOS-CHS 09:55-12:24 124 A220 open ? - 09:55-12:24 +0 N3267J - -\nf172 670 MCO-RIC 09:55-12:00 138 A320 open ? - 09:55-12:00 +0 N613JB - -\nf173 1310 JAX-BOS 09:55-12:35 113 A220 open ? - 09:55-12:35 +0 N3058J - -\nf174 1263 BOS-TVC 09:58-12:20 84 A220 open ? - 09:58-12:20 +0 N3185J - -\nf175 186 JFK-ROC 09:59-11:24 116 A220 open ? - 09:59-11:24 +0 N3145J - -\nf176 393 BOS-DEN 10:00-14:37 143 A320 open ? - 10:00-14:37 +0 N708JB - -\nf177 417 BOS-JFK 10:00-11:15 100 A320 open ? - 10:00-11:15 +0 N712JB - -\nf178 1454 SJU-FLL 10:00-12:41 149 A320 open ? - 10:00-12:41 +0 N529JB - -\nf179 1142 PBI-BDL 10:05-12:59 149 A320 open ? - 10:05-12:59 +0 N564JB - -\nf180 2801 FLL-LAX 10:05-15:24 138 A321P open ? - 10:05-15:24 +0 N990JL - -\nf181 2686 MCO-BUF 10:07-12:48 147 A320 open ? - 10:07-12:48 +0 N504JB - -\nf182 2584 MCO-JFK 10:09-12:49 134 A320 open ? - 10:09-12:49 +0 N809JB - -\nf183 21 BOS-PBI 10:10-13:22 179 A321 open ? - 10:10-13:22 +0 N975JT - -\nf184 579 DCA-FLL 10:10-12:48 118 A220 open ? - 10:10-12:48 +0 N3221J - -\nf185 1235 BOS-SJU 10:10-14:15 165 A321 open ? - 10:10-14:15 +0 N972JT - -\nf186 2902 JFK-BUF 10:10-11:42 126 A220 open ? - 10:10-11:42 +0 N3077J - -\nf187 1054 PBI-JFK 10:14-12:59 143 A320 open ? - 10:14-12:59 +0 N653JB - -\nf188 249 BOS-SAV 10:15-12:50 112 A220 open ? - 10:15-12:50 +0 N3102J - -\nf189 1160 PHL-BOS 10:15-11:40 85 E190 open ? - 10:15-11:40 +0 N317JB - -\nf190 1225 MVY-BOS 10:16-11:05 60 E190 open ? - 10:26-11:15 +10 N318JB - -\nf191 2184 RDU-BOS 10:20-12:17 118 A220 open ? - 10:20-12:17 +0 N3062J - -\nf192 225 JFK-TPA 10:29-13:27 143 A320 open ? - 10:29-13:27 +0 N793JB - -\nf193 554 DCA-BOS 10:30-12:05 84 E190 open ? - 10:30-12:05 +0 N281JB - -\nf194 640 CLE-BOS 10:30-12:14 81 E190 open ? - 10:30-12:14 +0 N323JB - -\nf195 2074 LAX-EWR 10:30-16:00 138 A321P open ? - 10:30-16:00 +0 N977JE - -\nf196 904 SJU-JFK 10:35-14:29 191 A321 open ? - 10:35-14:29 +0 N955JB - -\nf197 2091 JFK-ACK 10:35-11:53 95 A220 open ? - 10:35-11:53 +0 N3118J - -\nf198 404 SJU-RDU 10:39-14:19 142 A320 open ? - 10:39-14:19 +0 N566JB - -\nf199 312 ORD-BOS 10:40-13:09 127 A220 open ? - 10:40-13:09 +0 N3195J - -\nf200 316 SFO-JFK 10:40-16:16 138 A321P open ? - 10:40-16:16 +0 N983JT - -\nf201 1461 LGA-PBI 10:40-13:33 135 A320 open ? - 10:45-13:38 +5 N583JB - -\nf202 1520 ATL-JFK 10:40-12:59 144 A320 open ? - 10:40-12:59 +0 N637JB - -\nf203 2273 EWR-TPA 10:40-13:30 139 A320 open ? - 10:40-13:30 +0 N634JB - -\nf204 1317 BOS-ATL 10:45-13:34 144 A320 open ? - 10:45-13:34 +0 N587JB - -\nf205 2119 ORH-FLL 10:45-14:00 98 A220 open ? - 10:45-14:00 +0 N3251J - -\nf206 2493 ACK-DCA 10:45-12:20 78 E190 open ? - 10:45-12:20 +0 N284JB - -\nf207 1552 RSW-HPN 10:46-13:43 128 A320 open ? - 10:46-13:43 +0 N648JB - -\nf208 266 RSW-BOS 10:47-14:00 123 A220 open ? - 11:14-14:27 +27 N3232J - -\nf209 499 LGA-MCO 10:50-13:40 147 A320 open ? - 13:22-16:12 +152 N641JB - -\nf210 133 MCO-SJU 10:52-13:53 141 A320 open ? - 10:52-13:53 +0 N516JB - -\nf211 1487 BOS-LAX 10:55-17:09 138 A321P open ? - 10:55-17:09 +0 N2157J - -\nf212 678 JFK-JAX 10:59-13:28 122 A220 open ? - 10:59-13:28 +0 N3142J - -\nf213 947 JFK-BZN 10:59-15:55 140 A320 open ? - 10:59-15:55 +0 N585JB - -\nf214 1167 HPN-PBI 10:59-13:50 144 A320 open ? - 10:59-13:50 +0 N651JB - -\nf215 655 SYR-MCO 11:00-13:56 129 A320 open ? - 11:00-13:56 +0 N591JB - -\nf216 1553 FLL-SJU 11:00-13:40 145 A320 open ? - 11:00-13:40 +0 N598JB - -\nf217 1700 LAX-FLL 11:00-16:22 138 A321P open ? - 11:00-16:22 +0 N942JB - -\nf218 2474 CHS-JFK 11:00-12:59 132 A320 open ? - 11:00-12:59 +0 N789JB - -\nf219 1902 FLL-JFK 11:04-13:58 176 A321 open ? - 11:04-13:58 +0 N913JB - -\nf220 1220 MIA-BOS 11:05-14:34 124 A220 open ? - 11:12-14:41 +7 N3240J - -\nf221 272 FLL-LGA 11:09-14:04 146 A320 open ? - 11:09-14:04 +0 N796JB - -\nf222 1290 ILM-BOS 11:13-13:10 109 A220 open ? - 11:13-13:10 +0 N3152J - -\nf223 1288 PBI-PVD 11:14-14:07 143 A320 open ? - 11:14-14:07 +0 N649JB - -\nf224 503 JFK-SJU 11:15-15:12 144 A320 open ? - 11:15-15:12 +0 N629JB - -\nf225 831 ACK-LGA 11:15-12:30 79 E190 open ? - 11:15-12:30 +0 N324JB - -\nf226 1055 BOS-DCA 11:15-12:58 83 E190 open ? - 11:15-12:58 +0 N306JB - -\nf227 1215 BOS-BUF 11:15-12:49 85 E190 open ? - 11:54-13:28 +39 N283JB - -\nf228 138 MCO-BDL 11:20-14:09 150 A320 open ? - 11:20-14:09 +0 N703JB - -\nf229 730 MCO-BQN 11:20-14:10 134 A320 open ? - 11:20-14:10 +0 N507JT - -\nf230 2143 EWR-PBI 11:20-14:11 139 A320 open ? - 11:20-14:11 +0 N568JB - -\nf231 1339 MVY-JFK 11:21-12:28 110 A220 open ? - 11:21-12:28 +0 N3115J - -\nf232 1734 SFO-BOS 11:25-17:14 138 A321P open ? - 11:25-17:14 +0 N992JB - -\nf233 1890 SJU-EWR 11:25-15:34 190 A321 open ? - 11:25-15:34 +0 N999JQ - -\nf234 288 LAX-BOS 11:30-17:20 138 A321P open ? - 11:30-17:20 +0 N981JT - -\nf235 1281 BOS-RIC 11:30-13:18 116 A220 open ? - 11:30-13:18 +0 N3065J - -\nf236 194 MCO-HPN 11:40-14:29 140 A320 open ? - 11:40-14:29 +0 N527JL - -\nf237 513 ISP-FLL 11:40-14:37 150 A320 open ? - 11:40-14:37 +0 N580JB - -\nf238 2051 BOS-MCO 11:40-14:53 127 A320 open ? - 11:40-14:53 +0 N807JB - -\nf239 418 JFK-BOS 11:45-13:02 105 A320 open ? - 11:45-13:02 +0 N834JB - -\nf240 1923 DCA-MCO 11:45-14:05 126 A320 open ? - 11:45-14:05 +0 N624JB - -\nf241 2278 AVL-BOS 11:49-14:05 121 A220 open ? - 12:00-14:16 +11 N3189J - -\nf242 934 SJU-MCO 11:50-14:55 138 A320 open ? - 11:50-14:55 +0 N661JB - -\nf243 1103 BDL-RSW 11:50-15:04 130 A320 open ? - 11:50-15:04 +0 N603JB - -\nf244 48 TPA-LGA 11:55-14:32 140 A320 open ? - 14:04-16:41 +129 N652JB - -\nf245 2028 MCO-EWR 11:55-14:40 149 A320 open ? - 11:55-14:40 +0 N638JB - -\nf246 2334 PBI-DCA 11:55-14:18 108 A220 open ? - 11:55-14:18 +0 N3247J - -\nf247 429 PHL-FLL 11:56-14:47 126 A320 open ? - 11:56-14:47 +0 N547JB - -\nf248 1336 DTW-BOS 11:57-13:51 117 A220 open ? - 11:57-13:51 +0 N3162J - -\nf249 83 JFK-MCO 12:00-14:54 139 A320 open ? - 12:00-14:54 +0 N562JB - -\nf250 164 SRQ-JFK 12:00-14:57 126 A220 open ? - 12:00-14:57 +0 N3169J - -\nf251 261 BOS-SJU 12:00-16:04 115 A220 open ? - 12:00-16:04 +0 N3244J - -\nf252 352 MCO-BOS 12:00-15:05 123 A220 open ? - 12:00-15:05 +0 N3229J - -\nf253 508 JFK-PWM 12:00-13:23 93 A220 open ? - 12:00-13:23 +0 N3138J - -\nf254 1075 MCO-PVD 12:00-14:53 147 A320 open ? - 12:00-14:53 +0 N579JB - -\nf255 1144 MCO-MHT 12:00-15:00 140 A320 open ? - 12:00-15:00 +0 N605JB - -\nf256 1211 JFK-LAS 12:00-17:38 138 A321P open ? - 12:00-17:38 +0 N980JT - -\nf257 1026 FLL-BUF 12:05-14:58 124 A220 open ? - 12:05-14:58 +0 N3215J - -\nf258 184 MCO-JFK 12:10-14:58 125 A220 open ? - 12:10-14:58 +0 N3104J - -\nf259 423 JFK-LAX 12:10-18:10 128 A321P open ? - 12:10-18:10 +0 N934JB - -\nf260 698 MCO-LGA 12:25-15:05 150 A320 open ? - 12:25-15:05 +0 N775JB - -\nf261 2901 BUF-JFK 12:29-14:00 126 A220 open ? - 12:29-14:00 +0 N3077J - -\nf262 485 ROC-JFK 12:30-13:49 110 A220 open ? - 12:30-13:49 +0 N3145J - -\nf263 501 JFK-FLL 12:30-15:38 140 A320 open ? - 12:30-15:38 +0 N630JB - -\nf264 1017 BOS-JFK 12:30-13:50 62 E190 open ? - 12:30-13:50 +0 N318JB - -\nf265 1352 BOS-ACK 12:32-13:25 71 E190 open ? - 12:32-13:25 +0 N317JB - -\nf266 70 FLL-BOS 12:35-15:54 149 A320 open ? - 12:35-15:54 +0 N633JB - -\nf267 632 IAH-BOS 12:35-16:33 114 A220 open ? - 12:35-16:33 +0 N3275J - -\nf268 544 PBI-ISP 12:37-15:20 147 A320 open ? - 12:37-15:20 +0 N768JB - -\nf269 92 ACK-JFK 12:45-13:55 97 A220 open ? - 12:45-13:55 +0 N3118J - -\nf270 862 SJU-BOS 12:45-16:53 128 A220 open ? - 12:45-16:53 +0 N3260J - -\nf271 2940 SJU-STX 12:46-13:26 114 A320 open ? - 12:46-13:26 +0 N593JB - -\nf272 1806 BNA-BOS 12:48-15:25 117 A320 open ? - 12:48-15:25 +0 N705JB - -\nf273 2033 BOS-IAH 12:48-17:01 136 A320 open ? - 12:48-17:01 +0 N520JB - -\nf274 969 RIC-MCO 12:55-15:02 117 A320 open ? - 12:55-15:02 +0 N613JB - -\nf275 1251 HPN-RSW 13:00-16:00 119 A320 open ? - 13:00-16:00 +0 N506JB - -\nf276 1414 DCA-MVY 13:05-14:28 77 E190 open ? - 13:05-14:28 +0 N284JB - -\nf277 1530 RSW-JFK 13:07-15:59 132 A320 open ? - 13:07-15:59 +0 N729JB - -\nf278 2432 LGA-ACK 13:10-14:23 67 E190 open ? - 13:10-14:23 +0 N324JB - -\nf279 1264 TVC-BOS 13:15-15:21 111 A220 open ? - 13:15-15:21 +0 N3185J - -\nf280 176 MSY-JFK 13:16-16:28 117 A220 open ? - 13:16-16:28 +0 N3125J - -\nf281 2469 BOS-FLL 13:17-16:39 123 A220 open ? - 13:17-16:39 +0 N3062J - -\nf282 68 CHS-BOS 13:19-15:41 119 A220 open ? - 13:19-15:41 +0 N3267J - -\nf283 906 ORD-JFK 13:20-15:43 119 A220 open ? - 13:20-15:43 +0 N3242J - -\nf284 547 ISP-MCO 13:21-16:03 150 A320 open ? - 13:21-16:03 +0 N559JB - -\nf285 349 BOS-SAV 13:25-16:05 80 E190 open ? - 13:25-16:05 +0 N281JB - -\nf286 1498 DEN-JFK 13:25-17:24 132 A320 open ? - 13:25-17:24 +0 N537JT - -\nf287 105 EWR-FLL 13:29-16:25 144 A320 open ? - 13:29-16:25 +0 N552JB - -\nf288 592 TPA-BOS 13:30-16:38 118 A220 open ? - 13:30-16:38 +0 N3132J - -\nf289 1173 JFK-BNA 13:30-15:57 137 A320 open ? - 13:30-15:57 +0 N571JB - -\nf290 1371 LGA-FLL 13:30-16:36 139 A320 open ? - 14:49-17:55 +79 N796JB - -\nf291 448 LAS-JFK 13:33-18:49 138 A321P open ? - 13:33-18:49 +0 N2105J - -\nf292 487 ORH-MCO 13:34-16:40 118 A320 open ? - 13:34-16:40 +0 N644JB - -\nf293 1216 BUF-BOS 13:34-15:05 87 E190 open ? - 14:08-15:39 +34 N283JB - -\nf294 761 BOS-SJU 13:40-17:42 165 A321 open ? - 13:40-17:42 +0 N998JE - -\nf295 1680 FLL-DCA 13:40-16:12 120 A220 open ? - 13:40-16:12 +0 N3221J - -\nf296 2685 BUF-MCO 13:43-16:25 144 A320 open ? - 13:43-16:25 +0 N504JB - -\nf297 150 SAV-BOS 13:45-16:11 116 A220 open ? - 13:45-16:11 +0 N3102J - -\nf298 808 STT-SJU 13:45-14:36 138 A321P open ? - 13:45-14:36 +0 N982JB - -\nf299 419 JFK-ATL 13:50-16:29 144 A320 open ? - 13:50-16:29 +0 N554JB - -\nf300 1084 MCO-JFK 13:50-16:37 144 A320 open ? - 13:50-16:37 +0 N558JB - -\nf301 1604 SJU-JFK 13:50-17:49 138 A321P open ? - 13:50-17:49 +0 N991JT - -\nf302 119 MCO-ALB 13:53-16:50 141 A320 open ? - 13:53-16:50 +0 N763JB - -\nf303 533 BDL-TPA 13:55-17:00 146 A320 open ? - 13:55-17:00 +0 N564JB - -\nf304 834 SFO-BOS 13:56-19:45 129 A321P open ? - 13:56-19:45 +0 N2180J - -\nf305 815 BOS-DFW 13:57-18:12 145 A320 open ? - 13:57-18:12 +0 N510JB - -\nf306 1002 FLL-JFK 13:59-16:57 143 A320 open ? - 13:59-16:57 +0 N561JB - -\nf307 1039 BOS-AUS 13:59-18:13 129 A220 open ? - 13:59-18:13 +0 N3058J - -\nf308 100 LAX-FLL 14:00-19:22 138 A321P open ? - 14:00-19:22 +0 N968JT - -\nf309 2291 JFK-ACK 14:00-15:23 95 A220 open ? - 14:00-15:23 +0 N3156J - -\nf310 385 BOS-PIT 14:05-15:57 107 A220 open ? - 14:05-15:57 +0 N3195J - -\nf311 2665 ACK-HPN 14:10-15:14 78 E190 open ? - 14:10-15:14 +0 N317JB - -\nf312 2656 MCO-SYR 14:12-17:02 129 A320 open ? - 14:12-17:02 +0 N531JL - -\nf313 128 MCO-EWR 14:13-17:00 149 A320 open ? - 14:13-17:00 +0 N590JB - -\nf314 1282 RIC-BOS 14:13-15:55 112 A220 open ? - 14:13-15:55 +0 N3065J - -\nf315 401 BOS-MSY 14:15-17:55 121 A220 open ? - 14:15-17:55 +0 N3152J - -\nf316 553 FLL-SJU 14:15-16:55 179 A321 open ? - 14:15-16:55 +0 N974JT - -\nf317 1685 JFK-TPA 14:15-17:25 143 A320 open ? - 14:15-17:25 +0 N706JB - -\nf318 407 PWM-JFK 14:19-15:45 102 A220 open ? - 14:19-15:45 +0 N3138J - -\nf319 1754 SJU-FLL 14:20-17:01 184 A321 open ? - 14:20-17:01 +0 N959JB - -\nf320 1690 TPA-PVD 14:23-17:20 134 A320 open ? - 14:23-17:20 +0 N793JB - -\nf321 2941 STX-SJU 14:23-15:10 110 A320 open ? - 14:23-15:10 +0 N593JB - -\nf322 677 JAX-JFK 14:24-16:44 119 A220 open ? - 14:24-16:44 +0 N3142J - -\nf323 256 BZN-BOS 14:25-18:49 138 A320 open ? - 14:25-18:49 +0 N657JB - -\nf324 896 ATL-BOS 14:29-17:09 136 A320 open ? - 14:29-17:09 +0 N587JB - -\nf325 1501 JFK-FLL 14:29-17:46 140 A320 open ? - 14:29-17:46 +0 N712JB - -\nf326 1708 LAS-FLL 14:29-19:35 138 A321P open ? - 14:29-19:35 +0 N923JB - -\nf327 398 SEA-BOS 14:30-20:05 186 A321 open ? - 14:30-20:05 +0 N954JB - -\nf328 22 PBI-BOS 14:32-17:42 178 A321 open ? - 14:32-17:42 +0 N975JT - -\nf329 1992 FLL-RIC 14:32-16:48 125 A320 open ? - 14:32-16:48 +0 N594JB - -\nf330 936 SJU-STT 14:35-15:12 126 A320 open ? - 14:35-15:12 +0 N586JB - -\nf331 2324 MCO-DCA 14:35-16:56 137 A320 open ? - 14:35-16:56 +0 N508JL - -\nf332 190 SAN-JFK 14:39-20:30 137 A321P open ? - 14:39-20:30 +0 N961JT - -\nf333 226 TPA-JFK 14:40-17:28 138 A320 open ? - 14:40-17:28 +0 N634JB - -\nf334 378 SFO-FLL 14:40-20:23 138 A321P open ? - 14:40-20:23 +0 N976JT - -\nf335 595 HPN-MCO 14:40-17:30 135 A320 open ? - 14:40-17:30 +0 N648JB - -\nf336 817 BOS-JFK 14:40-15:59 62 E190 open ? - 14:40-15:59 +0 N323JB - -\nf337 1168 PBI-HPN 14:40-17:38 140 A320 open ? - 14:40-17:38 +0 N583JB - -\nf338 1388 LAX-BOS 14:44-20:25 138 A321P open ? - 14:44-20:25 +0 N2188J - -\nf339 1538 JFK-MVY 14:45-16:01 106 A220 open ? - 14:45-16:01 +0 N3112J - -\nf340 2321 BOS-PBI 14:46-18:03 125 A220 open ? - 14:46-18:03 +0 N3162J - -\nf341 399 LGA-MCO 14:54-17:55 147 A320 open ? - 15:50-18:51 +56 N775JB - -\nf342 285 JFK-RDU 14:55-16:48 133 A320 open ? - 14:55-16:48 +0 N621JB - -\nf343 1964 JFK-HYA 14:55-16:15 96 A220 open ? - 14:55-16:15 +0 N3023J - -\nf344 2065 BOS-RSW 14:55-18:27 129 A220 open ? - 15:01-18:33 +6 N3189J - -\nf345 883 JFK-MCO 14:57-18:05 120 A220 open ? - 14:57-18:05 +0 N3145J - -\nf346 53 JFK-PBI 14:59-18:05 125 A220 open ? - 14:59-18:05 +0 N3118J - -\nf347 738 MCO-BDL 14:59-17:50 139 A320 open ? - 14:59-17:50 +0 N584JB - -\nf348 1586 MCO-BUF 14:59-17:42 147 A320 open ? - 14:59-17:42 +0 N591JB - -\nf349 618 JFK-BOS 15:00-16:29 65 E190 open ? - 15:00-16:29 +0 N318JB - -\nf350 1133 MCO-SJU 15:00-18:00 141 A320 open ? - 15:00-18:00 +0 N624JB - -\nf351 1004 SJU-JFK 15:02-19:00 150 A320 open ? - 15:02-19:00 +0 N623JB - -\nf352 1287 PVD-PBI 15:02-18:11 145 A320 open ? - 15:02-18:11 +0 N649JB - -\nf353 1151 ACK-BOS 15:08-16:05 69 E190 open ? - 15:08-16:05 +0 N324JB - -\nf354 1178 LAS-BOS 15:10-20:34 138 A321P open ? - 15:10-20:34 +0 N4073J - -\nf355 1962 PBI-LGA 15:10-18:03 131 A320 open ? - 15:10-18:03 +0 N651JB - -\nf356 1903 RDU-SJU 15:14-18:55 127 A320 open ? - 15:14-18:55 +0 N566JB - -\nf357 229 BQN-MCO 15:16-18:10 137 A320 open ? - 15:16-18:10 +0 N507JT - -\nf358 1813 BOS-ORF 15:18-17:02 114 A220 open ? - 15:18-17:02 +0 N3232J - -\nf359 2459 BOS-PHL 15:20-16:55 82 E190 open ? - 15:20-16:55 +0 N329JB - -\nf360 37 BDL-MCO 15:21-18:27 141 A320 open ? - 15:21-18:27 +0 N703JB - -\nf361 324 LAX-JFK 15:21-21:00 134 A321P open ? - 15:21-21:00 +0 N987JT - -\nf362 471 LGA-FLL 15:22-18:33 139 A320 open ? - 18:48-21:59 +206 N651JB - -\nf363 1226 SJU-BOS 15:25-19:33 183 A321 open ? - 15:25-19:33 +0 N972JT - -\nf364 1413 MVY-DCA 15:25-16:59 80 E190 open ? - 15:25-16:59 +0 N284JB - -\nf365 808 SJU-BOS 15:26-19:34 138 A321P open ? - 15:26-19:34 +0 N982JB - -\nf366 2229 BOS-MKE 15:29-17:57 118 A220 open ? - 15:29-17:57 +0 N3261J - -\nf367 24 PBI-DCA 15:30-18:00 125 A320 open ? - 15:30-18:00 +0 N568JB - -\nf368 1715 JFK-LAX 15:30-21:41 127 A321P open ? - 15:30-21:41 +0 N985JT - -\nf369 394 DEN-BOS 15:33-19:40 145 A320 open ? - 15:33-19:40 +0 N708JB - -\nf370 1354 DCA-BOS 15:35-17:10 118 A220 open ? - 15:35-17:10 +0 N3247J - -\nf371 873 EWR-TPA 15:38-18:40 139 A320 open ? - 15:38-18:40 +0 N766JB - -\nf372 2494 DCA-ACK 15:40-17:09 65 E190 open ? - 15:40-17:09 +0 N306JB - -\nf373 2473 JFK-CHS 15:44-18:04 111 A220 open ? - 15:44-18:04 +0 N3077J - -\nf374 1196 FLL-PVD 15:47-18:52 150 A320 open ? - 15:47-18:52 +0 N804JB - -\nf375 233 BOS-SFO 15:50-22:33 138 A321P open ? - 15:50-22:33 +0 N978JB - -\nf376 1115 BOS-BUF 15:50-17:30 85 E190 open ? - 16:19-17:59 +29 N283JB - -\nf377 1027 BUF-FLL 15:55-18:57 126 A220 open ? - 15:55-18:57 +0 N3215J - -\nf378 2052 MCO-BOS 15:55-19:05 132 A320 open ? - 15:55-19:05 +0 N807JB - -\nf379 803 JFK-SJU 15:59-20:04 178 A321 open ? - 15:59-20:04 +0 N995JL - -\nf380 1098 MCO-LGA 15:59-18:47 150 A320 open ? - 15:59-18:47 +0 N562JB - -\nf381 1189 JFK-SAN 15:59-21:57 133 A321P open ? - 15:59-21:57 +0 N929JB - -\nf382 2583 JFK-MCO 15:59-19:10 139 A320 open ? - 15:59-19:10 +0 N646JB - -\nf383 2666 HPN-ACK 15:59-17:07 73 E190 open ? - 15:59-17:07 +0 N317JB - -\nf384 391 BOS-TPA 16:00-19:34 126 A220 open ? - 16:00-19:34 +0 N3240J - -\nf385 2004 RSW-BDL 16:00-18:53 133 A320 open ? - 16:00-18:53 +0 N603JB - -\nf386 1143 MHT-MCO 16:03-19:21 133 A320 open ? - 16:03-19:21 +0 N605JB - -\nf387 2022 FLL-PHL 16:04-19:01 134 A320 open ? - 16:04-19:01 +0 N625JB - -\nf388 495 HPN-MCO 16:05-18:59 135 A320 open ? - 16:05-18:59 +0 N527JL - -\nf389 416 SFO-JFK 16:10-21:58 138 A321P open ? - 16:10-21:58 +0 N988JT - -\nf390 435 STT-SJU 16:10-16:54 143 A320 open ? - 16:10-16:54 +0 N586JB - -\nf391 276 SJU-BDL 16:15-20:10 150 A320 open ? - 16:15-20:10 +0 N598JB - -\nf392 545 ISP-PBI 16:15-19:05 148 A320 open ? - 16:15-19:05 +0 N768JB - -\nf393 192 ACK-JFK 16:18-17:29 97 A220 open ? - 16:18-17:29 +0 N3156J - -\nf394 451 BOS-MCO 16:20-19:49 127 A320 open ? - 16:20-19:49 +0 N595JB - -\nf395 263 JFK-SEA 16:30-22:58 175 A321 open ? - 16:30-22:58 +0 N913JB - -\nf396 319 BOS-SAN 16:30-22:48 136 A321P open ? - 16:30-22:48 +0 N947JB - -\nf397 699 LGA-MCO 16:30-19:37 147 A320 open ? - 19:32-22:39 +182 N562JB - -\nf398 341 JFK-SAV 16:31-19:02 105 A220 open ? - 16:31-19:02 +0 N3169J - -\nf399 1694 MCO-HPN 16:34-19:29 140 A320 open ? - 16:34-19:29 +0 N661JB - -\nf400 1200 LAX-FLL 16:39-22:00 138 A321P open ? - 16:39-22:00 +0 N990JL - -\nf401 472 FLL-LGA 16:45-19:42 146 A320 open ? - 16:45-19:42 +0 N580JB - -\nf402 1289 EWR-SJU 16:45-20:46 187 A321 open ? - 16:45-20:46 +0 N999JQ - -\nf403 1689 PVD-TPA 16:45-19:56 129 A320 open ? - 16:45-19:56 +0 N579JB - -\nf404 1880 FLL-DCA 16:45-19:17 120 A220 open ? - 16:45-19:17 +0 N3139J - -\nf405 2134 SJU-MCO 16:45-19:50 149 A320 open ? - 16:45-19:50 +0 N516JB - -\nf406 220 SAN-BOS 16:46-22:29 138 A321P open ? - 16:46-22:29 +0 N984JB - -\nf407 507 BOS-BNA 16:49-19:55 133 A320 open ? - 16:49-19:55 +0 N524JB - -\nf408 944 BZN-JFK 16:51-21:17 138 A320 open ? - 16:51-21:17 +0 N585JB - -\nf409 1174 BNA-JFK 16:52-19:15 130 A320 open ? - 16:52-19:15 +0 N571JB - -\nf410 1752 SJU-TPA 16:52-19:53 149 A320 open ? - 16:52-19:53 +0 N593JB - -\nf411 386 PIT-BOS 16:55-18:35 107 A220 open ? - 16:55-18:35 +0 N3195J - -\nf412 1539 MVY-JFK 16:57-18:05 110 A220 open ? - 16:57-18:05 +0 N3112J - -\nf413 358 JFK-BUR 16:59-23:17 128 A220 open ? - 16:59-23:17 +0 N3104J - -\nf414 1202 JFK-BUF 16:59-18:45 126 A220 open ? - 16:59-18:45 +0 N3242J - -\nf415 1523 JFK-LAX 16:59-23:19 111 A321P open ? - 16:59-23:19 +0 N4076J - -\nf416 2129 JFK-RSW 16:59-20:21 144 A320 open ? - 16:59-20:21 +0 N653JB - -\nf417 1252 RSW-HPN 17:00-20:00 128 A320 open ? - 17:00-20:00 +0 N506JB - -\nf418 2185 BOS-PIT 17:00-19:00 76 E190 open ? - 17:00-19:00 +0 N324JB - -\nf419 250 SAV-BOS 17:05-19:39 83 E190 open ? - 17:05-19:39 +0 N281JB - -\nf420 315 JFK-SFO 17:05-23:47 132 A321P open ? - 17:05-23:47 +0 N993JE - -\nf421 770 MCO-RIC 17:05-19:10 127 A320 open ? - 17:05-19:10 +0 N613JB - -\nf422 915 BOS-SMF 17:05-23:38 121 A320 open ? - 17:05-23:38 +0 N746JB - -\nf423 1417 BOS-JFK 17:05-18:30 86 A220 open ? - 17:05-18:30 +0 N3185J - -\nf424 2783 BOS-RDU 17:09-19:20 121 A220 open ? - 17:09-19:20 +0 N3267J - -\nf425 1579 DCA-FLL 17:10-19:52 118 A220 open ? - 17:10-19:52 +0 N3221J - -\nf426 1873 EWR-LAX 17:10-23:07 129 A321P open ? - 17:10-23:07 +0 N977JE - -\nf427 845 BOS-SYR 17:14-18:38 87 E190 open ? - 17:14-18:38 +0 N318JB - -\nf428 1963 HYA-JFK 17:15-18:29 93 A220 open ? - 17:15-18:29 +0 N3023J - -\nf429 509 BOS-JAX 17:19-20:21 130 A320 open ? - 17:19-20:21 +0 N834JB - -\nf430 777 BOS-LAS 17:20-23:11 138 A321P open ? - 17:20-23:11 +0 N989JT - -\nf431 1152 MCO-BOS 17:20-20:34 142 A320 open ? - 17:20-20:34 +0 N559JB - -\nf432 170 FLL-BOS 17:24-20:43 129 A220 open ? - 17:24-20:43 +0 N3194J - -\nf433 1802 FLL-JFK 17:28-20:30 143 A320 open ? - 17:28-20:30 +0 N547JB - -\nf434 2467 BOS-CHS 17:28-20:03 124 A220 open ? - 17:28-20:03 +0 N3065J - -\nf435 69 BOS-FLL 17:29-21:00 142 A320 open ? - 17:29-21:00 +0 N705JB - -\nf436 318 JFK-BOS 17:29-19:04 91 A220 open ? - 17:29-19:04 +0 N3138J - -\nf437 483 JFK-MCO 17:29-20:40 139 A320 open ? - 17:29-20:40 +0 N789JB - -\nf438 1677 JFK-JAX 17:29-20:21 122 A220 open ? - 17:29-20:21 +0 N3125J - -\nf439 520 ATL-JFK 17:33-20:00 144 A320 open ? - 17:33-20:00 +0 N554JB - -\nf440 2602 SJU-HPN 17:38-21:30 123 A220 open ? - 17:38-21:30 +0 N3244J - -\nf441 101 FLL-LAX 17:40-23:04 138 A321P open ? - 17:40-23:04 +0 N942JB - -\nf442 560 PHL-BOS 17:40-19:14 85 E190 open ? - 17:40-19:14 +0 N329JB - -\nf443 1991 RIC-FLL 17:43-20:00 126 A320 open ? - 17:43-20:00 +0 N594JB - -\nf444 135 JFK-PHX 17:44-23:19 126 A320 open ? - 17:44-23:19 +0 N519JB - -\nf445 433 MCO-SJU 17:44-20:50 141 A320 open ? - 17:44-20:50 +0 N641JB - -\nf446 86 RDU-JFK 17:45-19:30 134 A320 open ? - 17:45-19:30 +0 N621JB - -\nf447 120 ALB-MCO 17:45-20:50 137 A320 open ? - 17:45-20:50 +0 N763JB - -\nf448 247 BOS-SLC 17:48-23:23 124 A220 open ? - 17:48-23:23 +0 N3102J - -\nf449 1727 EWR-MCO 17:53-20:50 142 A320 open ? - 17:53-20:50 +0 N638JB - -\nf450 1351 ACK-BOS 17:55-18:51 69 E190 open ? - 17:55-18:51 +0 N317JB - -\nf451 1453 FLL-SJU 17:55-20:34 126 A220 open ? - 17:55-20:34 +0 N3196J - -\nf452 932 IAH-BOS 17:57-21:50 132 A320 open ? - 17:57-21:50 +0 N520JB - -\nf453 1814 ORF-BOS 17:57-19:37 117 A220 open ? - 17:57-19:37 +0 N3232J - -\nf454 2201 JFK-FLL 17:59-21:23 140 A320 open ? - 17:59-21:23 +0 N729JB - -\nf455 2655 SYR-MCO 17:59-20:55 129 A320 open ? - 17:59-20:55 +0 N531JL - -\nf456 23 DCA-PBI 18:00-20:38 119 A320 open ? - 18:00-20:38 +0 N508JL - -\nf457 304 SJU-JFK 18:00-21:59 150 A320 open ? - 18:00-21:59 +0 N629JB - -\nf458 534 TPA-BDL 18:00-20:52 150 A320 open ? - 18:00-20:52 +0 N564JB - -\nf459 1728 MCO-EWR 18:03-21:00 138 A320 open ? - 18:03-21:00 +0 N504JB - -\nf460 591 BOS-TPA 18:05-21:32 146 A320 open ? - 18:05-21:32 +0 N588JB - -\nf461 1348 SJU-DCA 18:05-21:59 186 A321 open ? - 18:05-21:59 +0 N974JT - -\nf462 1284 MCO-JFK 18:06-21:00 144 A320 open ? - 18:06-21:00 +0 N606JB - -\nf463 516 BUF-BOS 18:15-19:50 87 E190 open ? - 18:39-20:14 +24 N283JB - -\nf464 1955 BOS-DCA 18:15-20:03 116 A220 open ? - 18:15-20:03 +0 N3275J - -\nf465 2754 DCA-BOS 18:15-19:53 84 E190 open ? - 18:15-19:53 +0 N284JB - -\nf466 2876 PVD-MCO 18:15-21:18 137 A320 open ? - 18:15-21:18 +0 N793JB - -\nf467 924 LAX-JFK 18:20-23:58 134 A321P open ? - 18:20-23:58 +0 N2157J - -\nf468 2080 FLL-DCA 18:25-20:59 120 A220 open ? - 18:25-20:59 +0 N3149J - -\nf469 2122 ACK-HPN 18:26-19:30 78 E190 open ? - 18:26-19:30 +0 N306JB - -\nf470 197 BOS-SEA 18:29-00:59+1 181 A321 open ? - 18:29-00:59+1 +0 N971JT - -\nf471 283 JFK-MCO 18:29-21:43 139 A320 open ? - 18:29-21:43 +0 N558JB - -\nf472 161 JFK-SMF 18:30-00:55+1 165 A321 open ? - 18:30-00:55+1 +0 N950JT - -\nf473 733 BOS-SFO 18:30-01:15+1 138 A321P open ? - 18:30-01:15+1 +0 N981JT - -\nf474 2251 BOS-MCO 18:30-21:55 137 A320 open ? - 18:30-21:55 +0 N587JB - -\nf475 187 BOS-LAX 18:32-00:58+1 138 A321P open ? - 18:32-00:58+1 +0 N979JT - -\nf476 438 MCO-BDL 18:34-21:29 150 A320 open ? - 18:34-21:29 +0 N644JB - -\nf477 81 JFK-RNO 18:35-00:46+1 127 A220 open ? - 18:35-00:46+1 +0 N3142J - -\nf478 2424 MCO-DCA 18:38-20:59 137 A320 open ? - 18:38-20:59 +0 N648JB - -\nf479 1248 TPA-LGA 18:41-21:32 140 A320 open ? - 18:41-21:32 +0 N639JB - -\nf480 491 BUF-LAX 18:42-23:56 142 A320 open ? - 18:42-23:56 +0 N591JB - -\nf481 65 JFK-ABQ 18:45-23:34 130 A320 open ? - 18:45-23:34 +0 N561JB - -\nf482 265 BOS-RSW 18:45-22:13 129 A220 open ? - 18:45-22:13 +0 N3132J - -\nf483 1037 BDL-MCO 18:45-21:45 131 A320 open ? - 18:45-21:45 +0 N584JB - -\nf484 1567 HPN-PBI 18:45-21:39 144 A320 open ? - 18:45-21:39 +0 N583JB - -\nf485 2348 LAS-JFK 18:48-23:59 138 A321P open ? - 18:48-23:59 +0 N980JT - -\nf486 1053 JFK-PBI 18:50-21:56 125 A220 open ? - 18:50-21:56 +0 N3156J - -\nf487 2725 JFK-TPA 18:50-22:05 143 A320 open ? - 18:50-22:05 +0 N805JB - -\nf488 400 MSY-BOS 18:51-22:20 114 A220 open ? - 18:51-22:20 +0 N3152J - -\nf489 462 SJU-BOS 18:54-22:59 183 A321 open ? - 18:54-22:59 +0 N998JE - -\nf490 95 BOS-PDX 18:55-01:15+1 176 A321 open ? - 18:55-01:15+1 +0 N994JL - -\nf491 992 SJU-FLL 18:55-21:34 149 A320 open ? - 18:55-21:34 +0 N586JB - -\nf492 2230 MKE-BOS 18:55-21:07 122 A220 open ? - 18:55-21:07 +0 N3261J - -\nf493 2523 DCA-MCO 18:55-21:20 126 A320 open ? - 18:55-21:20 +0 N568JB - -\nf494 106 FLL-EWR 18:57-22:00 144 A320 open ? - 18:57-22:00 +0 N630JB - -\nf495 88 FLL-ALB 18:59-22:05 139 A320 open ? - 18:59-22:05 +0 N552JB - -\nf496 602 FLL-JFK 18:59-21:59 143 A320 open ? - 18:59-21:59 +0 N526JL - -\nf497 818 JFK-BOS 18:59-20:36 65 E190 open ? - 18:59-20:36 +0 N323JB - -\nf498 823 JFK-LAX 18:59-01:21+1 127 A321P open ? - 18:59-01:21+1 +0 N983JT - -\nf499 993 BOS-DEN 18:59-23:43 124 A220 open ? - 18:59-23:43 +0 N3260J - -\nf500 1274 CHS-JFK 18:59-21:05 114 A220 open ? - 18:59-21:05 +0 N3077J - -\nf501 1761 LGA-PBI 18:59-21:56 135 A320 open ? - 19:55-22:52 +56 N652JB - -\nf502 355 JFK-ONT 19:00-01:10+1 161 A321 open ? - 19:00-01:10+1 +0 N955JB - -\nf503 2984 MCO-JFK 19:00-21:52 125 A220 open ? - 19:00-21:52 +0 N3145J - -\nf504 71 JFK-SLC 19:03-00:38+1 142 A320 open ? - 19:03-00:38+1 +0 N537JT - -\nf505 798 MCO-LGA 19:05-21:54 150 A320 open ? - 19:05-21:54 +0 N507JT - -\nf506 1214 DFW-BOS 19:10-22:57 139 A320 open ? - 19:10-22:57 +0 N510JB - -\nf507 1468 PBI-HPN 19:10-22:03 140 A320 open ? - 19:10-22:03 +0 N649JB - -\nf508 1138 AUS-BOS 19:15-23:25 123 A220 open ? - 19:15-23:25 +0 N3058J - -\nf509 824 LAX-JFK 19:20-00:55+1 135 A321P open ? - 19:20-00:55+1 +0 N934JB - -\nf510 874 TPA-EWR 19:20-22:21 139 A320 open ? - 19:20-22:21 +0 N706JB - -\nf511 2875 MCO-PVD 19:20-22:18 136 A320 open ? - 19:20-22:18 +0 N703JB - -\nf512 2903 JFK-SJU 19:20-23:34 178 A321 open ? - 19:20-23:34 +0 N907JB - -\nf513 2066 RSW-BOS 19:25-22:40 123 A220 open ? - 19:25-22:40 +0 N3189J - -\nf514 460 FLL-BDL 19:29-22:29 147 A320 open ? - 19:29-22:29 +0 N656JB - -\nf515 2071 FLL-BQN 19:29-22:04 117 A320 open ? - 19:29-22:04 +0 N796JB - -\nf516 548 TPA-HPN 19:35-22:31 142 A320 open ? - 19:35-22:31 +0 N766JB - -\nf517 2017 BOS-JFK 19:35-21:00 123 A321 open ? - 19:35-21:00 +0 N975JT - -\nf518 715 BOS-BUF 19:39-21:13 85 E190 open ? - 19:39-21:13 +0 N317JB - -\nf519 2186 PIT-BOS 19:45-21:28 77 E190 open ? - 19:45-21:28 +0 N324JB - -\nf520 1197 PVD-FLL 19:47-22:59 139 A320 open ? - 19:47-22:59 +0 N804JB - -\nf521 571 LGA-FLL 19:49-22:59 139 A320 open ? - 20:27-23:37 +38 N580JB - -\nf522 275 BDL-SJU 19:50-23:47 126 A320 open ? - 19:50-23:47 +0 N603JB - -\nf523 711 JFK-LAS 19:54-01:48+1 138 A321P open ? - 19:54-01:48+1 +0 N991JT - -\nf524 333 BOS-SFO 19:55-02:38+1 138 A321P open ? - 19:55-02:38+1 +0 N967JT - -\nf525 217 PHL-FLL 19:56-22:53 126 A320 open ? - 19:56-22:53 +0 N625JB - -\nf526 201 BUF-JFK 19:57-21:29 126 A220 open ? - 19:57-21:29 +0 N3242J - -\nf527 342 SAV-JFK 19:59-22:09 109 A220 open ? - 19:59-22:09 +0 N3169J - -\nf528 526 SJU-PVD 19:59-23:51 145 A320 open ? - 19:59-23:51 +0 N665JB - -\nf529 541 BOS-CLE 19:59-22:11 80 E190 open ? - 19:59-22:11 +0 N329JB - -\nf530 143 EWR-PBI 20:00-23:05 139 A320 open ? - 20:00-23:05 +0 N590JB - -\nf531 473 JFK-BNA 20:00-22:47 119 A220 open ? - 20:00-22:47 +0 N3112J - -\nf532 615 JFK-SFO 20:00-02:44+1 131 A321P open ? - 20:00-02:44+1 +0 N944JT - -\nf533 572 FLL-LGA 20:05-23:04 146 A320 open ? - 20:05-23:04 +0 N535JB - -\nf534 769 RIC-MCO 20:05-22:09 108 A320 open ? - 20:05-22:09 +0 N613JB - -\nf535 144 PBI-EWR 20:06-23:00 138 A320 open ? - 20:06-23:00 +0 N768JB - -\nf536 1154 PBI-JFK 20:06-23:00 123 A220 open ? - 20:06-23:00 +0 N3162J - -\nf537 470 FLL-BOS 20:10-23:29 129 A220 open ? - 20:10-23:29 +0 N3215J - -\nf538 884 MCO-JFK 20:10-23:02 144 A320 open ? - 20:10-23:02 +0 N775JB - -\nf539 914 FLL-HPN 20:10-23:11 136 A320 open ? - 20:10-23:11 +0 N618JB - -\nf540 97 JFK-DEN 20:14-00:59+1 130 A320 open ? - 20:14-00:59+1 +0 N634JB - -\nf541 1484 RDU-BOS 20:15-22:18 118 A220 open ? - 20:15-22:18 +0 N3267J - -\nf542 954 SJU-FLL 20:20-22:59 149 A320 open ? - 20:20-22:59 +0 N624JB - -\nf543 1337 BOS-DTW 20:20-22:34 122 A220 open ? - 20:20-22:34 +0 N3247J - -\nf544 1134 SJU-MCO 20:25-23:22 149 A320 open ? - 20:25-23:22 +0 N640JB - -\nf545 1245 FLL-SJU 20:25-23:07 145 A320 open ? - 20:25-23:07 +0 N521JB - -\nf546 2466 FLL-BUF 20:25-23:28 144 A320 open ? - 20:25-23:28 +0 N529JB - -\nf547 185 JFK-RDU 20:29-22:28 133 A320 open ? - 20:29-22:28 +0 N607JB - -\nf548 392 TPA-BOS 20:29-23:37 118 A220 open ? - 20:29-23:37 +0 N3240J - -\nf549 195 HPN-MCO 20:30-23:13 135 A320 open ? - 20:30-23:13 +0 N661JB - -\nf550 405 JFK-ORD 20:30-23:28 121 A220 open ? - 20:30-23:28 +0 N3023J - -\nf551 745 JFK-PSE 20:30-00:43+1 119 A320 open ? - 20:30-00:43+1 +0 N615JB - -\nf552 2128 MCO-EWR 20:30-23:19 149 A320 open ? - 20:30-23:19 +0 N527JL - -\nf553 305 EWR-FLL 20:34-23:44 144 A320 open ? - 20:34-23:44 +0 N828JB - -\nf554 706 FLL-EWR 20:35-23:34 144 A320 open ? - 20:45-23:44 +10 N594JB - -\nf555 1294 MCO-HPN 20:35-23:31 140 A320 open ? - 20:35-23:31 +0 N646JB - -\nf556 1387 BOS-LAX 20:35-02:57+1 138 A321P open ? - 20:35-02:57+1 +0 N964JT - -\nf557 607 FLL-LAS 20:36-01:38+1 134 A321P open ? - 20:36-01:38+1 +0 N968JT - -\nf558 251 BOS-MCO 20:39-23:59 169 A321 open ? - 20:39-23:59 +0 N952JB - -\nf559 47 LGA-TPA 20:40-23:35 130 A320 open ? - 22:17-01:12+1 +97 N639JB - -\nf560 675 JFK-BDL 20:40-21:59 41 A320 open ? - 20:40-21:59 +0 N623JB - -\nf561 903 JFK-SJU 20:40-00:54+1 144 A320 open ? - 20:40-00:54+1 +0 N636JB - -\nf562 561 BOS-SJU 20:45-00:49+1 165 A321 open ? - 20:45-00:49+1 +0 N972JT - -\nf563 1952 MCO-BOS 20:45-23:55 142 A320 open ? - 20:45-23:55 +0 N605JB - -\nf564 1751 TPA-SJU 20:48-23:52 147 A320 open ? - 20:48-23:52 +0 N593JB - -\nf565 506 BNA-BOS 20:50-23:24 126 A320 open ? - 20:50-23:24 +0 N524JB - -\nf566 2102 FLL-JFK 20:50-23:46 176 A321 open ? - 20:50-23:46 +0 N959JB - -\nf567 277 FLL-SFO 20:55-02:48+1 136 A321P open ? - 20:55-02:48+1 +0 N923JB - -\nf568 381 BOS-RIC 20:55-22:47 116 A220 open ? - 20:55-22:47 +0 N3195J - -\nf569 1146 FLL-RIC 20:55-23:16 125 A320 open ? - 21:05-23:26 +10 N712JB - -\nf570 1223 JFK-LAX 20:55-03:16+1 127 A321P open ? - 20:55-03:16+1 +0 N2105J - -\nf571 2468 CHS-BOS 20:58-23:20 119 A220 open ? - 20:58-23:20 +0 N3065J - -\nf572 206 BOS-PQI 20:59-22:25 60 E190 open ? - 20:59-22:25 +0 N283JB - -\nf573 613 HPN-FLL 21:00-23:59 141 A320 open ? - 21:00-23:59 +0 N506JB - -\nf574 719 JFK-ATL 21:00-23:44 144 A320 open ? - 21:00-23:44 +0 N597JB - -\nf575 430 MCO-BQN 21:04-23:59 145 A320 open ? - 21:04-23:59 +0 N505JB - -\nf576 384 MCO-JFK 21:05-23:59 144 A320 open ? - 21:05-23:59 +0 N595JB - -\nf577 810 JAX-BOS 21:16-23:57 131 A320 open ? - 21:16-23:57 +0 N834JB - -\nf578 2752 SJU-TPA 21:20-00:20+1 184 A321 open ? - 21:20-00:20+1 +0 N995JL - -\nf579 955 JFK-DCA 21:29-22:58 67 A220 open ? - 21:29-22:58 +0 N3185J - -\nf580 369 BOS-FLL 21:38-00:59+1 123 A220 open ? - 21:38-00:59+1 +0 N3138J - -\nf581 383 JFK-MCO 21:40-00:48+1 172 A321 open ? - 21:40-00:48+1 +0 N2060J - -\nf582 2101 JFK-FLL 21:40-00:59+1 140 A320 open ? - 21:40-00:59+1 +0 N571JB - -\nf583 2501 FLL-LAX 21:40-02:59+1 138 A321P open ? - 21:40-02:59+1 +0 N976JT - -\nf584 334 SJU-MCO 21:45-00:42+1 149 A320 open ? - 21:45-00:42+1 +0 N566JB - -\nf585 704 SJU-JFK 21:45-01:37+1 150 A320 open ? - 21:45-01:37+1 +0 N794JB - -\nf586 820 JFK-DTW 21:45-23:59 108 A220 open ? - 21:45-23:59 +0 N3255J - -\nf587 1186 JFK-ROC 21:50-23:30 116 A220 open ? - 21:50-23:30 +0 N3241J - -\nf588 1827 EWR-MCO 21:50-00:47+1 132 A320 open ? - 21:50-00:47+1 +0 N599JB - -\nf589 2626 FLL-RDU 21:50-23:59 119 A320 open ? - 21:50-23:59 +0 N705JB - -\nf590 1433 MCO-SJU 21:55-00:57+1 141 A320 open ? - 21:55-00:57+1 +0 N516JB - -\nf591 515 JFK-SFO 21:59-04:43+1 131 A321P open ? - 21:59-04:43+1 +0 N961JT - -\nf592 972 JFK-MHT 21:59-23:27 44 A320 open ? - 21:59-23:27 +0 N621JB - -\nf593 1195 JFK-PIT 21:59-23:51 69 A220 open ? - 21:59-23:51 +0 N3077J - -\nf594 1990 SJU-EWR 21:59-01:58+1 190 A321 open ? - 21:59-01:58+1 +0 N999JQ - -\nf595 303 JFK-SJU 22:00-02:14+1 178 A321 open ? - 22:00-02:14+1 +0 N996JL - -\nf596 2073 EWR-LAX 22:00-03:59+1 129 A321P open ? - 22:00-03:59+1 +0 N945JT - -\nf597 923 JFK-LAX 22:10-04:24+1 127 A321P open ? - 22:10-04:24+1 +0 N987JT - -\nf598 102 JFK-BUF 22:15-23:59 126 A220 open ? - 22:15-23:59 +0 N3242J - -\nf599 1128 JFK-PVD 22:29-23:49 35 A320 open ? - 22:29-23:49 +0 N554JB - -\nf600 1516 JFK-SYR 22:30-23:59 103 A320 open ? - 22:30-23:59 +0 N547JB - -\nf601 308 JFK-PWM 22:45-00:17+1 93 A220 open ? - 22:45-00:17+1 +0 N3145J - -\nf602 539 JFK-BQN 22:59-03:03+1 135 A320 open ? - 22:59-03:03+1 +0 N606JB - -\nf603 1318 JFK-BOS 22:59-00:27+1 105 A320 open ? - 22:59-00:27+1 +0 N645JB - -\nf604 2072 BQN-FLL 22:59-01:29+1 114 A320 open ? - 22:59-01:29+1 +0 N796JB - -\nf605 1190 SAN-JFK 23:30-05:00+1 137 A321P open ? - 23:30-05:00+1 +0 N929JB - -\nf606 1726 LAX-JFK 23:30-05:00+1 134 A321P open ? - 23:30-05:00+1 +0 N985JT - -\nf607 198 SEA-BOS 00:14+1-05:29+1 186 A321 open ? - 00:14+1-05:29+1 +0 N913JB - -\nf608 248 SLC-BOS 00:18+1-04:51+1 123 A220 open ? - 00:18+1-04:51+1 +0 N3102J - -\nf609 1574 LAX-EWR 00:20+1-05:41+1 138 A321P open ? - 00:20+1-05:41+1 +0 N942JB - -\nf610 359 BUR-JFK 00:22+1-05:50+1 112 A220 open ? - 00:22+1-05:50+1 +0 N3104J - -\nf611 278 SFO-FLL 00:25+1-06:02+1 138 A321P open ? - 00:25+1-06:02+1 +0 N978JB - -\nf612 778 LAS-BOS 00:25+1-05:33+1 138 A321P open ? - 00:25+1-05:33+1 +0 N989JT - -\nf613 916 SMF-BOS 00:33+1-05:59+1 120 A320 open ? - 00:33+1-05:59+1 +0 N746JB - -\nf614 2120 SAN-BOS 00:35+1-06:15+1 138 A321P open ? - 00:35+1-06:15+1 +0 N947JB - -\nf615 994 DEN-BOS 00:39+1-04:35+1 125 A220 open ? - 00:39+1-04:35+1 +0 N3260J - -\nf616 136 PHX-JFK 00:44+1-05:40+1 126 A320 open ? - 00:44+1-05:40+1 +0 N519JB - -\nf617 492 LAX-BUF 00:48+1-05:40+1 138 A320 open ? - 00:48+1-05:40+1 +0 N591JB - -\nf618 66 ABQ-JFK 00:59+1-05:10+1 123 A320 open ? - 00:59+1-05:10+1 +0 N561JB - -\nf619 700 LAX-FLL 01:15+1-06:29+1 138 A321P open ? - 01:15+1-06:29+1 +0 N977JE - -\nf620 1524 LAX-JFK 01:29+1-06:59+1 117 A321P open ? - 01:29+1-06:59+1 +0 N4076J - -\nf621 816 SFO-JFK 01:30+1-07:03+1 138 A321P open ? - 01:30+1-07:03+1 +0 N993JE - -\nf622 372 SLC-JFK 01:33+1-05:59+1 143 A320 open ? - 01:33+1-05:59+1 +0 N537JT - -\nf623 98 DEN-JFK 01:54+1-05:40+1 132 A320 open ? - 01:54+1-05:40+1 +0 N634JB - -\nf624 162 SMF-JFK 02:10+1-07:29+1 175 A321 open ? - 02:10+1-07:29+1 +0 N950JT - -\nf625 988 LAX-BOS 02:15+1-07:52+1 138 A321P open ? - 02:15+1-07:52+1 +0 N979JT - -\nf626 80 RNO-JFK 02:18+1-07:29+1 115 A220 open ? - 02:18+1-07:29+1 +0 N3142J - -\nf627 264 SEA-JFK 02:20+1-07:38+1 184 A321 open ? - 02:20+1-07:38+1 +0 N971JT - -\nf628 134 SFO-BOS 02:25+1-08:03+1 138 A321P open ? - 02:25+1-08:03+1 +0 N981JT - -\nf629 96 PDX-BOS 02:40+1-08:00+1 181 A321 open ? - 02:40+1-08:00+1 +0 N994JL - -\nf630 608 LAS-FLL 02:48+1-07:32+1 138 A321P open ? - 02:48+1-07:32+1 +0 N968JT - -\nf631 1224 LAX-JFK 02:57+1-08:30+1 134 A321P open ? - 02:57+1-08:30+1 +0 N983JT - -\nf632 454 ONT-JFK 02:59+1-08:30+1 165 A321 open ? - 02:59+1-08:30+1 +0 N955JB - -\nf633 948 LAS-JFK 02:59+1-07:59+1 138 A321P open ? - 02:59+1-07:59+1 +0 N991JT - -\n\n## Aircraft now, as your plan has them (@ = ready at)\nBOS: N2157J@06:48 N2180J N281JB N283JB N3058J N3062J N3118J N3139J N3152J@05:40 N3162J@07:23 N3189J@06:45 N3229J@05:29 N3232J N323JB N3240J N3242J N3244J N3275J N329JB@14:00 N4073J@04:55 N520JB@08:30 N563JB N579JB N587JB N588JB@16:44 N640JB N657JB N705JB N708JB N712JB N807JB@06:30 N947JB@09:32 N952JB@19:40 N954JB N964JT@17:22 N968JT N972JT@06:22 N975JT N978JB@08:50 N982JB@06:00 N984JB@06:38 N989JT@09:45\nALB: N625JB\nATL: N3258J N663JB\nBDL: N584JB N594JB N597JB N665JB N768JB\nBNA: N3255J N524JB\nBQN: N554JB N558JB\nBUF: N3125J N324JB N531JL@08:56 N794JB\nCLE: N318JB\nDCA: N3145J N3196J N3247J N605JB N959JB\nDTW: N3102J N3261J\nEWR: N535JB N590JB N599JB@19:49 N606JB N634JB@06:14 N766JB N945JT@06:57 N955JB\nFLL: N3065J N3194J@16:39 N3215J N3221J N3251J N526JL@18:12 N547JB N561JB@06:35 N568JB N580JB N598JB N630JB N633JB@05:06 N641JB N651JB N661JB N796JB N923JB@07:29 N976JT N987JT@07:05 N990JL@08:51\nHPN: N284JB N3260J N639JB N648JB N653JB N656JB\nJAX: N3257J\nJFK: N2060J@18:15 N2105J N2188J N3023J@14:00 N3104J@06:46 N3112J N3156J N3169J N3195J N3241J@21:00 N4076J@15:49 N519JB N529JB N537JT N569JB N570JB N585JB@06:22 N607JB@18:18 N615JB@19:29 N621JB@12:45 N629JB@06:45 N637JB N645JB@21:45 N646JB@13:30 N649JB N706JB@11:00 N729JB@06:04 N789JB N793JB@06:14 N834JB@06:45 N907JB@17:55 N913JB N929JB@14:20 N934JB@05:39 N944JT@19:45 N948JB@20:55 N950JT@15:25 N961JT N974JT@05:49 N980JT N985JT@05:53 N988JT N991JT N994JL N995JL@08:08 N996JL@20:35\nLAX: N942JB@05:05 N962JT N977JE@05:03 N979JT@04:39 N981JT@05:37\nLGA: N662JB N804JB\nMCO: N2039J N504JB N505JB N506JB N516JB@06:06 N517JB N559JB N566JB N583JB N591JB N593JB N613JB N624JB N644JB N703JB@08:25 N746JB N775JB@10:55 N809JB@05:18 N998JE\nMHT: N760JB\nORD: N3142J\nPBI: N3138J N3267J N508JL N552JB N564JB@05:21 N652JB\nPIT: N3077J\nPQI: N317JB\nPVD: N521JB N527JL N562JB\nPWM: N3115J\nRDU: N534JB N636JB\nRIC: N3132J N618JB\nROC: N3113J\nRSW: N3185J N589JB\nSFO: N967JT N983JT@05:47 N992JB@07:55 N993JE\nSJU: N3149J N507JT N586JB@12:01 N595JB N603JB N623JB@13:59 N638JB N763JB@04:08 N965JT N971JT\nSYR: N306JB N805JB\nTPA: N510JB N571JB N635JB N828JB N999JQ\nairborne: none\n\n## News so far\n[01:20] TAF KBOS 090520Z 0906/1012 19004KT P6SM SKC FM091300 13005KT P6SM SKC FM091500 10010KT P6SM SKC FM100100 15005KT P6SM SKC FM100400 21005KT P6SM FEW250=\n[02:54] KBOS 090654Z 19006KT 10SM CLR 17/13 A3024 RMK AO2 SLP240 T01720128\n[03:54] KBOS 090754Z 18005KT 10SM FEW140 17/12 A3024 RMK AO2 SLP240 T01670122\n\nIt is the first watch, 04:00. Nothing is frozen yet: set the day up with confirm_changes, then call advance.", + "max_turns": 139, + "model_params": { + "max_tokens": 32000 + }, + "timeout_seconds": 7200 + }, + { + "id": "end-day", + "type": "apply_server_config", + "env_id": "airops-v3-day", + "directives": [ + { + "service": "airops-v3-day", + "uri": "urn:airops:v3-end-day/v1", + "args": {} + } + ] + }, + { + "id": "grade", + "type": "env_outcome_verifier", + "env_id": "airops-v3-day", + "file_artifact_id": "airops-verifier", + "verifier_id": "airops", + "score_aggregator": "weighted_average" + } +] diff --git a/src/agentenv_airops/bundles/airops-v3/tasks/b6-20250813-0400.json b/src/agentenv_airops/bundles/airops-v3/tasks/b6-20250813-0400.json new file mode 100644 index 0000000..1b3aba0 --- /dev/null +++ b/src/agentenv_airops/bundles/airops-v3/tasks/b6-20250813-0400.json @@ -0,0 +1,71 @@ +[ + { + "id": "deploy", + "type": "deploy_env", + "env_id": "airops-v3-day" + }, + { + "id": "load-task", + "type": "apply_server_config", + "env_id": "airops-v3-day", + "directives": [ + { + "service": "airops-v3-day", + "uri": "urn:airops:v3-live-load/v1", + "args": { + "task_id": "b6-20250813-0400", + "anchor": 3733993, + "follower": 4100180 + } + } + ] + }, + { + "id": "deploy-agent", + "type": "deploy_agent", + "a2a_agent_id": "airops-llm", + "env_ids": [ + "airops-v3-day" + ] + }, + { + "id": "clock", + "type": "sync_env_clock", + "env_id": "airops-v3-day", + "virtual_time": "2025-08-13T08:00:00Z", + "virtual_seconds_per_real_second": 0, + "tolerate_missing_sync_time": false + }, + { + "id": "play", + "type": "prompt_agent", + "prompt_id": "b6-20250813-0400", + "system_prompt": "You run the JetBlue operations desk on a storm day at JFK and BOS: thunderstorms, snow or wind, and the FAA ground stops and ground delay programs (GDPs) that follow, cut how many JetBlue flights can land and take off. Your job is to decide which flights to cancel and which to hold, watch by watch, so that passengers and the airline lose as little as possible over the day.\n\nHow the day runs:\n- The day is played in watches starting at watch 0: one an hour, and one more when an advisory or a SPECI reaches the desk or a ramp closure begins or ends, so watches are 15 to 60 minutes apart. The first message gives the day as the desk knows it at watch 0. Every tool call takes 1 minute of the watch; when the watch's time runs out, the next watch opens by itself, and advance opens it at once.\n- What the desk knows: a flight's own departure delay (weather, air traffic control: anything but waiting for its aircraft or a slot) becomes known 2 hours before its scheduled departure; until then it is assumed on time. FAA Command Center advisories and the hubs' METARs, SPECIs and TAFs arrive as messages at the first watch after they reach the desk: an advisory 0 minutes after it is signed, a METAR 5 and a SPECI 5 minutes after its observation, a TAF 10 minutes after its issue, and the programs table shows the programs as issued, proposed GDPs included; a program may end earlier or later than issued.\n- Ground delay programs: a GDP meters arrivals at a hub over its period. A flight into the hub from an origin in its scope, scheduled to land in the period, needs one of JetBlue's arrival slots in the program: it takes the earliest free slot at or after the time it could land and leaves at its EDCT, the slot less its scheduled block. A cancelled or late flight leaves its slot to the flights behind it. Arrivals outside a program fit under the hub's hourly rate.\n- Ground stops: a flight to a stopped hub from an origin the stop covers waits on the ground until the stop ends; flights already airborne fly on.\n- Departure caps: an airport may take only so many JetBlue departures in an hour (the departure caps table, known 4 hours ahead); a flight with no room in its hour tries again at the next hour's start.\n- Outstation arrival caps: an outstation may take only so many JetBlue arrivals in an hour (the outstation arrival caps table, known 4 hours ahead); a flight with no room in its arrival hour leaves so as to land in the next one.\n- Ramp closures: lightning at the field cuts a hub's ramp rate without stopping it. During a closure only so many JetBlue flights may leave the hub and only so many arrive there; a departure with no room leaves at the closure's end, an arrival with none leaves so as to land at it. A closure is known once it begins; until its end comes it is expected to last 30 minutes more, with caps for that long, and the closures table says which ends are reported and which expected.\n- The env flies your plan on the day as it happens: each flight leaves at the earliest time its delay, its hold, a slot, a stop, a cap and an aircraft allow. It takes the first aircraft of its type ready at its origin (aircraft of one type at one airport are interchangeable; an aircraft needs its turn time on the ground between flights). A flight that can't leave by its deadline is cancelled automatically there. At the end of the day the env ferries each aircraft to the airport it is needed at tomorrow.\n- Your decisions: cancel a flight (its aircraft stays on the ground, free for other flights, and its slot goes to the flights behind), restore a cancelled flight, or hold a flight until a time (not_before) so that its slot or aircraft goes to another flight first. A flight you don't touch leaves as early as it can.\n- The freeze: at watch 0 nothing is frozen. From watch 1 on, flights your plan has leaving before the freeze line, 60 minutes after the watch opens, are frozen: they can't be changed, and stay frozen. A cancellation is final. The env holds any other flight your plan would have leaving before the freeze line to it, and refuses a change that would move a frozen flight or one that has already gone.\n\nTools:\n- get_situation(): the time, the freeze line, the programs as issued with JetBlue's slots, the departure caps known so far, the outstation arrival caps known so far, the ramp closures under way or over, the latest METAR or SPECI and TAF per hub, every flight (its status, its known delay, your plan, where your plan has it leave and land on the day as known, how late it lands, its aircraft, its slot and its crew), where the aircraft are, and the news so far.\n- check_plan(changes): your changes over your plan, run on the day as known now: the plan's cost, the flights whose plan or times change, the automatic cancellations, the flights the env would hold to the freeze line, and the changes confirm_changes would refuse. It confirms nothing.\n- confirm_changes(changes): commits the changes; flights you leave out keep their plan.\n- advance(): ends the watch; its result has the new watch's news. After the last watch it returns \"done\": the day is graded on your plan.\nA change is {\"flight\": \"f12\", \"action\": \"cancel\" | \"restore\" | \"hold\" | \"call_reserve\" | \"release_reserve\", \"not_before\": \"HH:MM\" | null}: cancel takes not_before null; restore and hold fly the flight, held until not_before (local time, \"00:30+1\" after midnight), or as early as it can with null. Where a crew base has a reserve pool (the situation's Reserve crews), a flight leaving it past its crew's deadline flies only on a reserve: call_reserve gives it one while the pool lasts, release_reserve hands it back before that deadline.\n\nThe cost, in passenger-minutes: every passenger's minutes of arrival delay; 523 for each passenger on a cancelled flight, plus one for every minute the cancellation is decided later than 2 hours before its scheduled departure (an automatic cancellation is decided at its deadline, so it costs more than an early one); the airline's own aircraft minutes (a late departure costs crew and fixed costs, a long block fuel too, and a cancellation saves its fuel and maintenance); and the end-of-day ferries. A cancellation frees an aircraft and a slot; it pays when it saves the others more than it costs its own passengers. The day is graded once, on your final plan flown on the day as it really happened: the closer its cost to the best plan possible in hindsight, the higher the score. If you stop before the last watch, the rest of the day runs on your plan.", + "prompt": "# JetBlue operations desk, JFK/BOS, Wednesday 2025-08-13; times are local (America/New_York).\n\nNow 04:00 (watch 0, opened 04:00). First watch: nothing is frozen; changes take effect at once.\n\nYour plan on the day as known costs 61,157 (delay 46,083, cancellations 0, notice 0, ferries 0): 0 cancelled, 0 cancelled automatically, 0 on slots.\n\n## Programs as issued (FAA Command Center)\nNone.\n\n## Departure caps: JetBlue departures per hour, known 240 min ahead\nNone known.\n\n## Outstation arrival caps: JetBlue arrivals per hour, known 240 min ahead\nMCO: 08h 3\nRDU: 08h 2\n\n## Ramp closures (lightning at the field; known once begun)\nNone.\n\n## Latest weather (METAR or SPECI, and TAF)\n[03:54] KBOS 130754Z 20006KT 10SM CLR 21/19 A2993 RMK AO2 SLP134 T02110189 $\n[01:20] TAF KBOS 130520Z 1306/1412 23006KT P6SM SKC FM131500 19007KT P6SM SKC FM131800 18009KT P6SM FEW240 PROB30 1320/1324 4SM -TSRA BKN035CB FM140000 21010KT P6SM BKN090 FM141000 21006KT P6SM BKN045=\n[03:51] KJFK 130751Z 22008KT 10SM FEW250 23/22 A2994 RMK AO2 SLP137 T02330222 $\n[01:32] TAF KJFK 130532Z 1306/1412 22008KT P6SM FEW060 FEW250 FM130800 20005KT P6SM SCT015 SCT250 FM131400 19009KT P6SM FEW040 BKN250 FM131900 18013KT P6SM SCT080 BKN200 PROB30 1321/1324 3SM TSRA BR BKN050CB FM140000 18009KT P6SM BKN080 PROB30 1400/1403 3SM TSRA BR BKN050CB FM140300 VRB05KT P6SM BKN080=\n\n## Flights (sched = scheduled dep-arr; delay = known delay, ? not yet; plan = cancel or hold@HH:MM; proj = where your plan has it leave and land on the day as known; late = arrival delay; slot = its GDP slot; crew = crew deadline/rest end, +R on a reserve crew)\nid flight route sched pax type status delay plan proj late tail slot crew\nf0 729 BQN-MCO 05:01-07:52 148 A320 open 1 - 05:02-07:47 -5 N603JB - -\nf1 2539 JFK-BQN 05:01-08:49 135 A320 open 0 - 05:01-08:26 -23 N524JB - -\nf2 767 MCO-PSE 05:05-08:02 125 A320 open -13 - 04:52-07:43 -19 N506JB - -\nf3 917 BOS-JFK 05:14-06:29 100 A320 open -2 - 05:12-06:12 -17 N517JB - -\nf4 403 JFK-SJU 05:15-09:05 144 A320 open -6 - 05:09-08:42 -23 N585JB - -\nf5 1889 EWR-SJU 05:35-09:30 187 A321 open 27 - 06:02-09:36 +6 N948JB - -\nf6 207 PQI-BOS 05:45-07:09 60 E190 open -13 - 05:32-06:39 -30 N306JB - -\nf7 87 ALB-FLL 06:00-09:15 143 A320 open -5 - 05:55-09:01 -14 N794JB - -\nf8 123 JFK-LAX 06:00-11:56 128 A321P open 106 - 07:46-13:33 +97 N987JT - -\nf9 130 RSW-JFK 06:00-08:48 132 A320 open -13 - 05:47-08:26 -22 N563JB - -\nf10 166 RSW-BOS 06:00-09:11 123 A220 open -5 - 05:55-09:00 -11 N3113J - -\nf11 306 FLL-EWR 06:00-08:55 144 A320 open -8 - 05:52-08:52 -3 N570JB - -\nf12 311 BOS-ORD 06:00-08:55 122 A220 open -2 - 05:58-08:34 -21 N3058J - -\nf13 322 PBI-BOS 06:00-09:10 125 A220 open -7 - 05:53-08:53 -17 N3258J - -\nf14 382 RIC-BOS 06:00-07:40 112 A220 open -11 - 05:49-07:31 -9 N3152J - -\nf15 525 PVD-SJU 06:00-09:48 134 A320 open -2 - 05:58-09:35 -13 N621JB - -\nf16 562 SJU-BOS 06:00-10:07 148 A320 open -5 - 05:55-09:52 -15 N658JB - -\nf17 696 ATL-BOS 06:00-08:33 136 A320 open 1 - 06:01-08:46 +13 N806JB - -\nf18 737 BDL-MCO 06:00-08:54 141 A320 open -10 - 05:50-08:40 -14 N556JB - -\nf19 927 EWR-MCO 06:00-08:42 142 A320 open 97 - 07:37-10:19 +97 N805JB - -\nf20 1076 PVD-MCO 06:00-08:55 127 A320 open -10 - 05:50-08:34 -21 N504JB - -\nf21 1192 TPA-BOS 06:00-09:03 136 A320 open -4 - 05:56-09:08 +5 N592JB - -\nf22 1419 DTW-JFK 06:00-07:45 108 A220 open -2 - 05:58-07:49 +4 N3261J - -\nf23 1515 SYR-JFK 06:00-07:13 97 A320 open -15 - 05:45-06:48 -25 N640JB - -\nf24 1883 BOS-RDU 06:00-08:05 121 A220 open -7 - 05:53-07:42 -23 N3044J - -\nf25 1911 EWR-RSW 06:00-08:58 127 A320 open -7 - 05:53-08:38 -20 N648JB - -\nf26 2904 SJU-JFK 06:00-09:57 191 A321 open -6 - 05:54-09:35 -22 N955JB - -\nf27 2133 MCO-SJU 06:01-09:00 141 A320 open ? - 06:01-09:00 +0 N510JB - -\nf28 302 FLL-JFK 06:03-08:59 143 A320 open ? - 06:03-08:59 +0 N606JB - -\nf29 307 PWM-JFK 06:05-07:24 102 A220 open ? - 06:05-07:24 +0 N3162J - -\nf30 538 BQN-JFK 06:05-09:57 143 A320 open ? - 06:05-09:57 +0 N607JB - -\nf31 1201 FLL-LAX 06:05-11:24 138 A321P open ? - 06:05-11:24 +0 N981JT - -\nf32 1333 BOS-SFO 06:05-12:43 120 A321P open ? - 06:05-12:43 +0 N2157J - -\nf33 1368 PBI-HPN 06:06-09:00 140 A320 open ? - 06:06-09:00 +0 N558JB - -\nf34 115 JFK-SFO 06:15-12:38 131 A321P open ? - 06:15-12:38 +0 N961JT - -\nf35 1062 PBI-LGA 06:15-08:59 131 A320 open ? - 06:15-08:59 +0 N594JB - -\nf36 1285 ROC-JFK 06:15-07:39 110 A220 open ? - 06:15-07:39 +0 N3255J - -\nf37 540 CLE-BOS 06:19-08:05 81 E190 open ? - 06:19-08:05 +0 N329JB - -\nf38 109 BOS-JAX 06:20-09:07 113 A220 open ? - 06:20-09:07 +0 N3062J - -\nf39 1678 JAX-JFK 06:20-08:40 119 A220 open ? - 06:20-08:40 +0 N3023J - -\nf40 569 BOS-FLL 06:25-09:50 123 A220 open ? - 06:25-09:50 +0 N3102J - -\nf41 2255 BOS-DCA 06:25-08:03 83 E190 open ? - 06:25-08:03 +0 N284JB - -\nf42 254 DCA-JFK 06:30-07:43 73 A220 open ? - 06:30-07:43 +0 N3132J - -\nf43 411 JFK-LAS 06:30-12:00 138 A321P open ? - 06:30-12:00 +0 N968JT - -\nf44 599 LGA-MCO 06:30-09:12 147 A320 open ? - 06:30-09:12 +0 N529JB - -\nf45 690 FLL-BOS 06:30-09:46 129 A220 open ? - 06:30-09:46 +0 N3065J - -\nf46 1083 JFK-MCO 06:30-09:15 129 A320 open ? - 06:30-09:15 +0 N646JB - -\nf47 2718 JFK-BOS 06:30-07:44 91 A220 open ? - 06:30-07:44 +0 N3077J - -\nf48 493 BOS-DEN 06:35-11:02 143 A320 open ? - 06:35-11:02 +0 N526JL - -\nf49 959 BDL-FLL 06:45-09:58 146 A320 open ? - 06:45-09:58 +0 N579JB - -\nf50 1184 MCO-JFK 06:45-09:26 178 A321 open ? - 06:45-09:26 +0 N965JT - -\nf51 2285 JFK-RDU 06:45-08:24 133 A320 open ? - 06:45-08:24 +0 N796JB - -\nf52 2625 RDU-FLL 06:45-08:55 121 A320 open ? - 06:45-08:55 +0 N827JB - -\nf53 741 JFK-SAV 06:50-09:01 105 A220 open ? - 06:50-09:01 +0 N3169J - -\nf54 1601 JFK-FLL 06:54-09:59 173 A321 open ? - 06:54-09:59 +0 N998JE - -\nf55 223 JFK-LAX 06:55-12:54 127 A321P open ? - 06:55-12:54 +0 N976JT - -\nf56 205 EWR-FLL 06:59-09:55 144 A320 open ? - 06:59-09:55 +0 N709JB - -\nf57 1067 HPN-PBI 06:59-09:46 144 A320 open ? - 06:59-09:46 +0 N507JT - -\nf58 165 BOS-RSW 07:00-10:28 129 A220 open ? - 07:00-10:28 +0 N3104J - -\nf59 379 DCA-FLL 07:00-09:35 118 A220 open ? - 07:00-09:35 +0 N3189J - -\nf60 397 BOS-SEA 07:00-13:20 181 A321 open ? - 07:00-13:20 +0 N956JT - -\nf61 619 BOS-SAN 07:00-13:06 136 A321P open ? - 07:00-13:06 +0 N993JE - -\nf62 971 MHT-JFK 07:00-08:14 43 A320 open ? - 07:00-08:14 +0 N508JL - -\nf63 1145 RIC-FLL 07:00-09:23 126 A320 open ? - 07:00-09:23 +0 N663JB - -\nf64 1198 PIT-JFK 07:00-08:30 59 A220 open ? - 07:00-08:30 +0 N3203J - -\nf65 1471 LGA-FLL 07:00-10:00 139 A320 open ? - 07:00-10:00 +0 N566JB - -\nf66 1476 SJU-BDL 07:00-10:53 150 A320 open ? - 07:00-10:53 +0 N591JB - -\nf67 1551 HPN-RSW 07:00-09:56 119 A320 open ? - 07:00-09:56 +0 N630JB - -\nf68 2020 FLL-ORH 07:00-09:58 93 A220 open ? - 07:00-09:58 +0 N3194J - -\nf69 814 FLL-HPN 07:05-10:07 136 A320 open ? - 07:05-10:07 +0 N656JB - -\nf70 1130 FLL-CHS 07:05-08:45 65 A220 open ? - 07:05-08:45 +0 N3251J - -\nf71 2144 PBI-EWR 07:05-09:53 138 A320 open ? - 07:05-09:53 +0 N775JB - -\nf72 1129 PVD-JFK 07:07-08:09 49 A320 open ? - 07:07-08:09 +0 N584JB - -\nf73 417 BOS-JFK 07:10-08:30 100 A320 open ? - 07:10-08:30 +0 N554JB - -\nf74 1585 BOS-PIT 07:10-09:03 107 A220 open ? - 07:10-09:03 +0 N3138J - -\nf75 2274 TPA-EWR 07:10-09:57 139 A320 open ? - 07:10-09:57 +0 N595JB - -\nf76 676 BDL-JFK 07:12-08:14 44 A320 open ? - 07:12-08:14 +0 N652JB - -\nf77 406 ORD-JFK 07:15-09:27 119 A220 open ? - 07:15-09:27 +0 N3247J - -\nf78 2751 TPA-SJU 07:15-10:20 147 A320 open ? - 07:15-10:20 +0 N568JB - -\nf79 598 MCO-LGA 07:20-10:00 150 A320 open ? - 07:20-10:00 +0 N516JB - -\nf80 2465 BUF-FLL 07:20-10:19 146 A320 open ? - 07:20-10:19 +0 N638JB - -\nf81 716 BUF-BOS 07:22-08:42 87 E190 open ? - 07:22-08:42 +0 N281JB - -\nf82 656 MCO-SYR 07:25-10:11 129 A320 open ? - 07:25-10:11 +0 N520JB - -\nf83 1219 BOS-MIA 07:25-10:54 117 A220 open ? - 07:25-10:54 +0 N3139J - -\nf84 189 JFK-SAN 07:30-13:25 133 A321P open ? - 07:30-13:25 +0 N984JB - -\nf85 953 JFK-PBI 07:30-10:29 145 A320 open ? - 07:30-10:29 +0 N834JB - -\nf86 1447 HPN-TPA 07:30-10:17 145 A320 open ? - 07:30-10:17 +0 N598JB - -\nf87 257 BOS-BZN 07:40-12:37 142 A320 open ? - 07:40-12:37 +0 N661JB - -\nf88 377 FLL-SFO 07:40-13:30 136 A321P open ? - 07:40-13:30 +0 N944JT - -\nf89 1177 BOS-LAS 07:40-13:30 138 A321P open ? - 07:40-13:30 +0 N989JT - -\nf90 2423 DCA-MCO 07:40-10:00 117 A320 open ? - 07:40-10:00 +0 N505JB - -\nf91 163 JFK-SRQ 07:45-10:43 118 A220 open ? - 07:45-10:43 +0 N3229J - -\nf92 374 SYR-BOS 07:45-08:54 83 E190 open ? - 07:45-08:54 +0 N318JB - -\nf93 1573 EWR-LAX 07:45-13:33 129 A321P open ? - 07:45-13:33 +0 N978JB - -\nf94 1247 LGA-TPA 07:59-10:49 130 A320 open ? - 07:59-10:49 +0 N535JB - -\nf95 21 BOS-PBI 08:00-11:19 145 A320 open ? - 08:00-11:19 +0 N706JB - -\nf96 455 BOS-DCA 08:00-09:45 83 E190 open ? - 08:00-09:45 +0 N323JB - -\nf97 861 BOS-SJU 08:00-12:06 133 A320 open ? - 08:00-12:06 +0 N746JB - -\nf98 1033 MCO-SJU 08:00-11:00 130 A320 open ? - 08:00-11:00 +0 N523JB - -\nf99 1273 JFK-CHS 08:00-10:15 128 A320 open ? - 08:00-10:15 +0 N793JB - -\nf100 1293 BOS-ILM 08:00-10:03 97 A220 open ? - 08:00-10:03 +0 N3145J - -\nf101 1347 DCA-SJU 08:00-11:58 182 A321 open ? - 08:00-11:58 +0 N913JB - -\nf102 2601 HPN-SJU 08:00-11:45 122 A220 open ? - 08:00-11:45 +0 N3240J - -\nf103 2686 MCO-BUF 08:00-10:39 147 A320 open ? - 08:00-10:39 +0 N565JB - -\nf104 323 JFK-LAX 08:01-14:01 127 A321P open ? - 08:01-14:01 +0 N983JT - -\nf105 1159 BOS-PHL 08:05-09:40 82 E190 open ? - 08:05-09:40 +0 N324JB - -\nf106 1334 SJU-MCO 08:05-11:07 149 A320 open ? - 08:05-11:07 +0 N561JB - -\nf107 1475 BDL-SJU 08:05-11:56 126 A320 open ? - 08:05-11:56 +0 N705JB - -\nf108 519 JFK-ATL 08:10-10:36 124 A220 open ? - 08:10-10:36 +0 N3267J - -\nf109 687 BOS-LAX 08:10-14:22 138 A321P open ? - 08:10-14:22 +0 N2193J - -\nf110 1497 JFK-DEN 08:10-12:25 130 A320 open ? - 08:10-12:25 +0 N536JB - -\nf111 1 JFK-FLL 08:15-11:24 173 A321 open ? - 08:15-11:24 +0 N972JT - -\nf112 854 PBI-JFK 08:15-11:00 123 A220 open ? - 08:15-11:00 +0 N3257J - -\nf113 2016 FLL-PHL 08:15-11:07 134 A320 open ? - 08:15-11:07 +0 N804JB - -\nf114 215 JFK-SFO 08:20-14:50 131 A321P open ? - 08:20-14:50 +0 N980JT - -\nf115 1707 FLL-LAS 08:20-13:17 134 A321P open ? - 08:20-13:17 +0 N988JT - -\nf116 633 BOS-IAH 08:25-12:35 117 A220 open ? - 08:25-12:35 +0 N3149J - -\nf117 183 JFK-MCO 08:29-11:23 120 A220 open ? - 08:29-11:23 +0 N3195J - -\nf118 85 BUF-MCO 08:30-11:05 144 A320 open ? - 08:30-11:05 +0 N653JB - -\nf119 813 HPN-FLL 08:30-11:25 141 A320 open ? - 08:30-11:25 +0 N562JB - -\nf120 1018 JFK-BOS 08:30-09:51 91 A220 open ? - 08:30-09:51 +0 N3221J - -\nf121 1295 BOS-BUF 08:35-10:08 120 A220 open ? - 08:35-10:08 +0 N3156J - -\nf122 1117 BOS-JFK 08:40-09:59 86 A220 open ? - 08:40-09:59 +0 N3142J - -\nf123 1241 BDL-PBI 08:45-11:45 144 A320 open ? - 08:45-11:45 +0 N760JB - -\nf124 1324 BOS-MVY 08:45-09:31 55 E190 open ? - 08:45-09:31 +0 N306JB - -\nf125 514 FLL-ISP 08:50-11:41 147 A320 open ? - 08:50-11:41 +0 N789JB - -\nf126 762 SJU-BOS 08:50-12:59 183 A321 open ? - 08:50-12:59 +0 N958JB - -\nf127 768 PSE-MCO 08:50-11:53 135 A320 open ? - 08:50-11:53 +0 N506JB - -\nf128 1603 JFK-SJU 08:50-12:50 138 A321P open ? - 08:50-12:50 +0 N964JT - -\nf129 1854 DCA-BOS 08:50-10:29 84 E190 open ? - 08:50-10:29 +0 N284JB - -\nf130 2121 HPN-ACK 08:56-10:00 73 E190 open ? - 08:56-10:00 +0 N317JB - -\nf131 116 SFO-JFK 09:00-14:40 138 A321P open ? - 09:00-14:40 +0 N977JE - -\nf132 119 MCO-ALB 09:00-11:48 141 A320 open ? - 09:00-11:48 +0 N605JB - -\nf133 484 RDU-BOS 09:00-10:59 118 A220 open ? - 09:00-10:59 +0 N3044J - -\nf134 552 MCO-BOS 09:00-11:58 176 A321 open ? - 09:00-11:58 +0 N996JL - -\nf135 791 BOS-TPA 09:00-12:15 126 A220 open ? - 09:00-12:15 +0 N3125J - -\nf136 837 BOS-DTW 09:00-11:11 122 A220 open ? - 09:00-11:11 +0 N3242J - -\nf137 1454 SJU-FLL 09:00-11:41 149 A320 open ? - 09:00-11:41 +0 N633JB - -\nf138 2024 MCO-DCA 09:00-11:15 137 A320 open ? - 09:00-11:15 +0 N625JB - -\nf139 2433 DCA-PBI 09:02-11:32 103 A220 open ? - 09:02-11:32 +0 N3260J - -\nf140 219 BOS-SAN 09:03-15:08 136 A321P open ? - 09:03-15:08 +0 N4074J - -\nf141 1097 BOS-ATL 09:05-11:54 144 A320 open ? - 09:05-11:54 +0 N821JB - -\nf142 1529 JFK-RSW 09:05-12:12 144 A320 open ? - 09:05-12:12 +0 N623JB - -\nf143 523 JFK-LAX 09:09-15:05 127 A321P open ? - 09:09-15:05 +0 N985JT - -\nf144 94 MCO-HPN 09:10-11:57 140 A320 open ? - 09:10-11:57 +0 N629JB - -\nf145 2041 BOS-CLE 09:10-11:12 112 A220 open ? - 09:10-11:12 +0 N3112J - -\nf146 75 JFK-MSY 09:15-12:31 123 A220 open ? - 09:15-12:31 +0 N3196J - -\nf147 1807 BOS-BNA 09:15-12:03 124 A320 open ? - 09:15-12:03 +0 N635JB - -\nf148 651 BOS-MCO 09:18-12:31 169 A321 open ? - 09:18-12:31 +0 N952JB - -\nf149 2786 RDU-JFK 09:19-10:58 134 A320 open ? - 09:19-10:58 +0 N796JB - -\nf150 2355 BOS-DCA 09:22-10:59 83 E190 open ? - 09:22-10:59 +0 N329JB - -\nf151 1338 JFK-MVY 09:25-10:38 106 A220 open ? - 09:25-10:38 +0 N3162J - -\nf152 905 JFK-ORD 09:29-12:18 121 A220 open ? - 09:29-12:18 +0 N3255J - -\nf153 511 JFK-LAS 09:30-15:07 138 A321P open ? - 09:30-15:07 +0 N2156J - -\nf154 1131 CHS-FLL 09:30-11:09 87 A220 open ? - 09:30-11:09 +0 N3251J - -\nf155 2352 BOS-ACK 09:35-10:29 71 E190 open ? - 09:35-10:29 +0 N281JB - -\nf156 312 ORD-BOS 09:40-12:04 127 A220 open ? - 09:40-12:04 +0 N3058J - -\nf157 2638 BQN-JFK 09:40-13:34 143 A320 open ? - 09:40-13:34 +0 N524JB - -\nf158 1686 TPA-JFK 09:44-12:30 138 A320 open ? - 09:44-12:30 +0 N564JB - -\nf159 127 EWR-MCO 09:45-12:35 142 A320 open ? - 09:45-12:35 +0 N583JB - -\nf160 172 FLL-LGA 09:45-12:37 146 A320 open ? - 09:45-12:37 +0 N590JB - -\nf161 488 MCO-ORH 09:45-12:39 124 A320 open ? - 09:45-12:39 +0 N641JB - -\nf162 1901 BUF-JFK 09:45-11:09 126 A220 open ? - 09:45-11:09 +0 N3085J - -\nf163 2695 HPN-MCO 09:45-12:28 135 A320 open ? - 09:45-12:28 +0 N558JB - -\nf164 1912 RSW-EWR 09:48-12:39 148 A320 open ? - 09:48-12:39 +0 N648JB - -\nf165 730 MCO-BQN 09:52-12:44 145 A320 open ? - 09:52-12:44 +0 N662JB - -\nf166 267 BOS-CHS 09:55-12:24 124 A220 open ? - 09:55-12:24 +0 N3152J - -\nf167 1310 JAX-BOS 09:55-12:35 113 A220 open ? - 09:55-12:35 +0 N3062J - -\nf168 1461 LGA-PBI 09:55-12:49 135 A320 open ? - 09:55-12:49 +0 N594JB - -\nf169 142 SAV-JFK 09:56-12:00 109 A220 open ? - 09:56-12:00 +0 N3169J - -\nf170 186 JFK-ROC 09:59-11:24 116 A220 open ? - 09:59-11:24 +0 N3132J - -\nf171 393 BOS-DEN 10:00-14:37 143 A320 open ? - 10:00-14:37 +0 N587JB - -\nf172 1286 PIT-BOS 10:00-11:39 107 A220 open ? - 10:00-11:39 +0 N3138J - -\nf173 249 BOS-SAV 10:05-12:40 112 A220 open ? - 10:05-12:40 +0 N3077J - -\nf174 1142 PBI-BDL 10:05-12:59 149 A320 open ? - 10:05-12:59 +0 N651JB - -\nf175 2801 FLL-LAX 10:05-15:24 138 A321P open ? - 10:05-15:24 +0 N945JT - -\nf176 2584 MCO-JFK 10:09-12:49 134 A320 open ? - 10:09-12:49 +0 N807JB - -\nf177 124 LAX-JFK 10:10-15:46 134 A321P open ? - 10:10-15:46 +0 N962JT - -\nf178 579 DCA-FLL 10:10-12:48 118 A220 open ? - 10:10-12:48 +0 N3232J - -\nf179 385 BOS-PIT 10:11-11:58 107 A220 open ? - 10:11-11:58 +0 N3258J - -\nf180 1123 JFK-LAX 10:14-16:10 127 A321P open ? - 10:14-16:10 +0 N947JB - -\nf181 546 MCO-ISP 10:15-12:56 145 A320 open ? - 10:15-12:56 +0 N599JB - -\nf182 1160 PHL-BOS 10:15-11:40 85 E190 open ? - 10:15-11:40 +0 N324JB - -\nf183 1225 MVY-BOS 10:16-11:05 60 E190 open ? - 10:16-11:05 +0 N306JB - -\nf184 815 BOS-DFW 10:23-14:27 145 A320 open ? - 10:23-14:27 +0 N519JB - -\nf185 554 DCA-BOS 10:30-12:05 84 E190 open ? - 10:30-12:05 +0 N323JB - -\nf186 1833 BOS-SFO 10:30-17:04 138 A321P open ? - 10:30-17:04 +0 N992JB - -\nf187 2902 JFK-BUF 10:30-12:01 126 A220 open ? - 10:30-12:01 +0 N3241J - -\nf188 904 SJU-JFK 10:35-14:30 191 A321 open ? - 10:35-14:30 +0 N957JB - -\nf189 2091 JFK-ACK 10:35-11:53 95 A220 open ? - 10:35-11:53 +0 N3261J - -\nf190 2273 EWR-TPA 10:38-13:28 139 A320 open ? - 10:38-13:28 +0 N715JB - -\nf191 404 SJU-RDU 10:39-14:19 142 A320 open ? - 10:39-14:19 +0 N621JB - -\nf192 316 SFO-JFK 10:40-16:16 138 A321P open ? - 10:40-16:16 +0 N990JL - -\nf193 1552 RSW-HPN 10:41-13:34 128 A320 open ? - 10:41-13:34 +0 N630JB - -\nf194 2119 ORH-FLL 10:45-14:00 98 A220 open ? - 10:45-14:00 +0 N3194J - -\nf195 2493 ACK-DCA 10:45-12:20 78 E190 open ? - 10:45-12:20 +0 N317JB - -\nf196 1290 ILM-BOS 10:48-12:45 109 A220 open ? - 10:48-12:45 +0 N3145J - -\nf197 225 JFK-TPA 10:50-13:45 143 A320 open ? - 10:50-13:45 +0 N534JB - -\nf198 499 LGA-MCO 10:50-13:40 147 A320 open ? - 10:50-13:40 +0 N516JB - -\nf199 133 MCO-SJU 10:52-13:53 141 A320 open ? - 10:52-13:53 +0 N603JB - -\nf200 1296 BUF-BOS 10:54-12:20 122 A220 open ? - 10:54-12:20 +0 N3156J - -\nf201 1487 BOS-LAX 10:55-17:09 138 A321P open ? - 10:55-17:09 +0 N967JT - -\nf202 418 JFK-BOS 10:59-12:15 105 A320 open ? - 10:59-12:15 +0 N636JB - -\nf203 1167 HPN-PBI 10:59-13:50 144 A320 open ? - 10:59-13:50 +0 N656JB - -\nf204 655 SYR-MCO 11:00-13:56 129 A320 open ? - 11:00-13:56 +0 N520JB - -\nf205 678 JFK-JAX 11:00-13:29 122 A220 open ? - 11:00-13:29 +0 N3203J - -\nf206 1700 LAX-FLL 11:00-16:22 138 A321P open ? - 11:00-16:22 +0 N969JT - -\nf207 2474 CHS-JFK 11:00-12:59 132 A320 open ? - 11:00-12:59 +0 N793JB - -\nf208 1902 FLL-JFK 11:04-14:00 176 A321 open ? - 11:04-14:00 +0 N998JE - -\nf209 272 FLL-LGA 11:09-14:04 146 A320 open ? - 11:09-14:04 +0 N547JB - -\nf210 2074 LAX-EWR 11:10-16:40 138 A321P open ? - 11:10-16:40 +0 N942JB - -\nf211 266 RSW-BOS 11:13-14:23 123 A220 open ? - 11:13-14:23 +0 N3104J - -\nf212 1054 PBI-JFK 11:14-13:59 143 A320 open ? - 11:14-13:59 +0 N507JT - -\nf213 1288 PBI-PVD 11:14-14:07 143 A320 open ? - 11:14-14:07 +0 N834JB - -\nf214 503 JFK-SJU 11:15-15:12 144 A320 open ? - 11:15-15:12 +0 N571JB - -\nf215 831 ACK-LGA 11:15-12:30 79 E190 open ? - 11:15-12:30 +0 N281JB - -\nf216 1017 BOS-JFK 11:15-12:32 86 A220 open ? - 11:15-12:32 +0 N3221J - -\nf217 1055 BOS-DCA 11:15-12:58 83 E190 open ? - 11:15-12:58 +0 N318JB - -\nf218 138 MCO-BDL 11:20-14:09 150 A320 open ? - 11:20-14:09 +0 N809JB - -\nf219 2143 EWR-PBI 11:20-14:11 139 A320 open ? - 11:20-14:11 +0 N570JB - -\nf220 2828 MCO-ALB 11:20-14:07 130 A320 open ? - 11:20-14:07 +0 N504JB - -\nf221 1339 MVY-JFK 11:23-12:29 110 A220 open ? - 11:23-12:29 +0 N3162J - -\nf222 2685 BUF-MCO 11:24-14:01 144 A320 open ? - 11:24-14:01 +0 N565JB - -\nf223 1734 SFO-BOS 11:25-17:14 138 A321P open ? - 11:25-17:14 +0 N923JB - -\nf224 1890 SJU-EWR 11:25-15:34 190 A321 open ? - 11:25-15:34 +0 N948JB - -\nf225 1520 ATL-JFK 11:26-13:46 125 A220 open ? - 11:26-13:46 +0 N3267J - -\nf226 288 LAX-BOS 11:30-17:20 138 A321P open ? - 11:30-17:20 +0 N982JB - -\nf227 164 SRQ-JFK 11:35-14:30 126 A220 open ? - 11:35-14:30 +0 N3229J - -\nf228 2051 BOS-MCO 11:40-14:53 127 A320 open ? - 11:40-14:53 +0 N592JB - -\nf229 1220 MIA-BOS 11:42-15:11 124 A220 open ? - 11:42-15:11 +0 N3139J - -\nf230 2454 DCA-BOS 11:45-13:15 84 E190 open ? - 11:45-13:15 +0 N329JB - -\nf231 1281 BOS-RIC 11:49-13:37 116 A220 open ? - 11:49-13:37 +0 N3113J - -\nf232 934 SJU-MCO 11:50-14:55 138 A320 open ? - 11:50-14:55 +0 N523JB - -\nf233 1103 BDL-RSW 11:50-15:04 130 A320 open ? - 11:50-15:04 +0 N591JB - -\nf234 1215 BOS-BUF 11:54-13:26 85 E190 open ? - 11:54-13:26 +0 N284JB - -\nf235 2028 MCO-EWR 11:55-14:40 149 A320 open ? - 11:55-14:40 +0 N556JB - -\nf236 429 PHL-FLL 11:56-14:47 126 A320 open ? - 11:56-14:47 +0 N804JB - -\nf237 1336 DTW-BOS 11:57-13:51 117 A220 open ? - 11:57-13:51 +0 N3242J - -\nf238 494 DEN-BOS 11:59-16:05 145 A320 open ? - 11:59-16:05 +0 N526JL - -\nf239 83 JFK-MCO 12:00-14:54 139 A320 open ? - 12:00-14:54 +0 N517JB - -\nf240 261 BOS-SJU 12:00-16:04 115 A220 open ? - 12:00-16:04 +0 N3065J - -\nf241 415 JFK-SFO 12:00-18:20 132 A321P open ? - 12:00-18:20 +0 N946JL - -\nf242 508 JFK-PWM 12:00-13:23 93 A220 open ? - 12:00-13:23 +0 N3023J - -\nf243 1144 MCO-MHT 12:00-15:00 140 A320 open ? - 12:00-15:00 +0 N784JB - -\nf244 1026 FLL-BUF 12:05-14:58 124 A220 open ? - 12:05-14:58 +0 N3275J - -\nf245 2040 CLE-BOS 12:05-13:52 114 A220 open ? - 12:05-13:52 +0 N3112J - -\nf246 184 MCO-JFK 12:10-14:58 125 A220 open ? - 12:10-14:58 +0 N3195J - -\nf247 423 JFK-LAX 12:10-18:10 127 A321P open ? - 12:10-18:10 +0 N2151J - -\nf248 1553 FLL-SJU 12:15-14:58 145 A320 open ? - 12:15-14:58 +0 N827JB - -\nf249 1352 BOS-ACK 12:17-13:10 71 E190 open ? - 12:17-13:10 +0 N306JB - -\nf250 698 MCO-LGA 12:25-15:05 150 A320 open ? - 12:25-15:05 +0 N505JB - -\nf251 2469 BOS-FLL 12:25-15:49 123 A220 open ? - 12:25-15:49 +0 N3044J - -\nf252 2334 PBI-DCA 12:27-14:50 108 A220 open ? - 12:27-14:50 +0 N3260J - -\nf253 485 ROC-JFK 12:30-13:49 110 A220 open ? - 12:30-13:49 +0 N3132J - -\nf254 120 ALB-MCO 12:33-15:39 137 A320 open ? - 12:33-15:39 +0 N605JB - -\nf255 513 ISP-FLL 12:35-15:31 150 A320 open ? - 12:35-15:31 +0 N789JB - -\nf256 524 LAX-JFK 12:35-18:15 134 A321P open ? - 12:35-18:15 +0 N929JB - -\nf257 1168 PBI-HPN 12:35-15:29 140 A320 open ? - 12:35-15:29 +0 N706JB - -\nf258 386 PIT-BOS 12:43-14:22 107 A220 open ? - 12:43-14:22 +0 N3258J - -\nf259 70 FLL-BOS 12:45-16:04 149 A320 open ? - 12:45-16:04 +0 N579JB - -\nf260 862 SJU-BOS 12:45-16:53 128 A220 open ? - 12:45-16:53 +0 N3240J - -\nf261 2940 SJU-STX 12:46-13:26 114 A320 open ? - 12:46-13:26 +0 N537JT - -\nf262 896 ATL-BOS 12:48-15:24 136 A320 open ? - 12:48-15:24 +0 N821JB - -\nf263 1806 BNA-BOS 12:48-15:25 117 A320 open ? - 12:48-15:25 +0 N635JB - -\nf264 92 ACK-JFK 12:50-14:00 97 A220 open ? - 12:50-14:00 +0 N3261J - -\nf265 936 SJU-STT 12:50-13:28 126 A320 open ? - 12:50-13:28 +0 N705JB - -\nf266 48 TPA-LGA 12:55-15:32 140 A320 open ? - 12:55-15:32 +0 N535JB - -\nf267 2901 BUF-JFK 12:56-14:27 126 A220 open ? - 12:56-14:27 +0 N3241J - -\nf268 1039 BOS-AUS 12:59-17:12 129 A220 open ? - 12:59-17:12 +0 N3138J - -\nf269 1251 HPN-RSW 13:00-16:00 119 A320 open ? - 13:00-16:00 +0 N629JB - -\nf270 1414 DCA-MVY 13:05-14:28 77 E190 open ? - 13:05-14:28 +0 N317JB - -\nf271 906 ORD-JFK 13:07-15:30 119 A220 open ? - 13:07-15:30 +0 N3255J - -\nf272 1530 RSW-JFK 13:08-16:00 132 A320 open ? - 13:08-16:00 +0 N623JB - -\nf273 448 LAS-JFK 13:10-18:26 138 A321P open ? - 13:10-18:26 +0 N968JT - -\nf274 592 TPA-BOS 13:10-16:18 118 A220 open ? - 13:10-16:18 +0 N3125J - -\nf275 2432 LGA-ACK 13:10-14:23 67 E190 open ? - 13:10-14:23 +0 N281JB - -\nf276 176 MSY-JFK 13:18-16:30 117 A220 open ? - 13:18-16:30 +0 N3196J - -\nf277 68 CHS-BOS 13:19-15:41 119 A220 open ? - 13:19-15:41 +0 N3152J - -\nf278 855 BOS-DCA 13:20-15:08 83 E190 open ? - 13:20-15:08 +0 N324JB - -\nf279 632 IAH-BOS 13:23-17:20 114 A220 open ? - 13:23-17:20 +0 N3149J - -\nf280 1498 DEN-JFK 13:25-17:24 132 A320 open ? - 13:25-17:24 +0 N536JB - -\nf281 105 EWR-FLL 13:29-16:25 144 A320 open ? - 13:29-16:25 +0 N775JB - -\nf282 128 MCO-EWR 13:30-16:17 149 A320 open ? - 13:30-16:17 +0 N805JB - -\nf283 256 BZN-BOS 13:30-17:55 138 A320 open ? - 13:30-17:55 +0 N661JB - -\nf284 1173 JFK-BNA 13:30-15:57 119 A220 open ? - 13:30-15:57 +0 N3247J - -\nf285 1371 LGA-FLL 13:30-16:36 139 A320 open ? - 13:30-16:36 +0 N590JB - -\nf286 487 ORH-MCO 13:34-16:40 118 A320 open ? - 13:34-16:40 +0 N641JB - -\nf287 150 SAV-BOS 13:35-15:59 116 A220 open ? - 13:35-15:59 +0 N3077J - -\nf288 424 LAX-JFK 13:35-19:15 135 A321P open ? - 13:35-19:15 +0 N981JT - -\nf289 1694 MCO-HPN 13:35-16:29 140 A320 open ? - 13:35-16:29 +0 N653JB - -\nf290 761 BOS-SJU 13:40-17:42 165 A321 open ? - 13:40-17:42 +0 N970JB - -\nf291 1680 FLL-DCA 13:40-16:12 120 A220 open ? - 13:40-16:12 +0 N3251J - -\nf292 2229 BOS-MKE 13:40-16:08 118 A220 open ? - 13:40-16:08 +0 N3062J - -\nf293 352 MCO-BOS 13:41-16:50 176 A321 open ? - 13:41-16:50 +0 N952JB - -\nf294 229 BQN-MCO 13:43-16:36 148 A320 open ? - 13:43-16:36 +0 N662JB - -\nf295 1254 DCA-BOS 13:44-15:25 84 E190 open ? - 13:44-15:25 +0 N318JB - -\nf296 2251 BOS-MCO 13:44-17:04 137 A320 open ? - 13:44-17:04 +0 N658JB - -\nf297 544 PBI-ISP 13:45-16:30 147 A320 open ? - 13:45-16:30 +0 N760JB - -\nf298 419 JFK-ATL 13:50-16:29 144 A320 open ? - 13:50-16:29 +0 N559JB - -\nf299 1075 MCO-PVD 13:50-16:42 147 A320 open ? - 13:50-16:42 +0 N561JB - -\nf300 1084 MCO-JFK 13:50-16:37 144 A320 open ? - 13:50-16:37 +0 N558JB - -\nf301 1604 SJU-JFK 13:50-17:49 138 A321P open ? - 13:50-17:49 +0 N964JT - -\nf302 547 ISP-MCO 13:51-16:34 150 A320 open ? - 13:51-16:34 +0 N599JB - -\nf303 533 BDL-TPA 13:55-17:00 146 A320 open ? - 13:55-17:00 +0 N651JB - -\nf304 2665 ACK-HPN 13:55-14:59 78 E190 open ? - 13:55-14:59 +0 N306JB - -\nf305 834 SFO-BOS 13:56-19:45 129 A321P open ? - 13:56-19:45 +0 N937JB - -\nf306 817 BOS-JFK 13:59-15:15 86 A220 open ? - 13:59-15:15 +0 N3145J - -\nf307 100 LAX-FLL 14:00-19:22 138 A321P open ? - 14:43-20:05 +43 N978JB - -\nf308 2656 MCO-SYR 14:12-17:02 129 A320 open ? - 14:12-17:02 +0 N583JB - -\nf309 216 SFO-JFK 14:14-20:00 138 A321P open ? - 14:14-20:00 +0 N961JT - -\nf310 1216 BUF-BOS 14:14-15:45 87 E190 open ? - 14:14-15:45 +0 N284JB - -\nf311 553 FLL-SJU 14:15-16:55 179 A321 open ? - 14:15-16:55 +0 N972JT - -\nf312 1685 JFK-TPA 14:15-17:25 143 A320 open ? - 14:15-17:25 +0 N652JB - -\nf313 620 SAN-BOS 14:16-20:06 138 A321P open ? - 14:16-20:06 +0 N993JE - -\nf314 407 PWM-JFK 14:19-15:45 102 A220 open ? - 14:19-15:45 +0 N3023J - -\nf315 1754 SJU-FLL 14:20-17:01 184 A321 open ? - 14:20-17:01 +0 N913JB - -\nf316 435 STT-SJU 14:23-15:10 143 A320 open ? - 14:23-15:10 +0 N705JB - -\nf317 1690 TPA-PVD 14:23-17:20 134 A320 open ? - 14:23-17:20 +0 N715JB - -\nf318 2941 STX-SJU 14:23-15:10 110 A320 open ? - 14:23-15:10 +0 N537JT - -\nf319 677 JAX-JFK 14:24-16:44 119 A220 open ? - 14:24-16:44 +0 N3203J - -\nf320 595 HPN-MCO 14:29-17:20 135 A320 open ? - 14:29-17:20 +0 N630JB - -\nf321 1501 JFK-FLL 14:29-17:46 121 A220 open ? - 14:29-17:46 +0 N3142J - -\nf322 1708 LAS-FLL 14:29-19:35 138 A321P open ? - 14:29-19:35 +0 N988JT - -\nf323 398 SEA-BOS 14:30-20:10 186 A321 open ? - 14:30-20:10 +0 N956JT - -\nf324 1282 RIC-BOS 14:32-16:10 112 A220 open ? - 14:32-16:10 +0 N3113J - -\nf325 190 SAN-JFK 14:39-20:30 137 A321P open ? - 14:39-20:30 +0 N984JB - -\nf326 226 TPA-JFK 14:40-17:28 138 A320 open ? - 14:40-17:28 +0 N534JB - -\nf327 378 SFO-FLL 14:40-20:23 138 A321P open ? - 14:40-20:23 +0 N2157J - -\nf328 1388 LAX-BOS 14:44-20:25 138 A321P open ? - 14:44-20:25 +0 N987JT - -\nf329 318 JFK-BOS 14:45-16:13 91 A220 open ? - 14:45-16:13 +0 N3085J - -\nf330 387 BOS-LAX 14:45-20:51 138 A321P open ? - 14:45-20:51 +0 N2180J - -\nf331 1178 LAS-BOS 14:45-20:00 138 A321P open ? - 14:45-20:00 +0 N989JT - -\nf332 1538 JFK-MVY 14:45-16:01 106 A220 open ? - 14:45-16:01 +0 N3169J - -\nf333 399 LGA-MCO 14:54-17:55 147 A320 open ? - 14:54-17:55 +0 N547JB - -\nf334 285 JFK-RDU 14:55-16:48 115 A220 open ? - 14:55-16:48 +0 N3221J - -\nf335 1964 JFK-HYA 14:55-16:15 96 A220 open ? - 14:55-16:15 +0 N3267J - -\nf336 2065 BOS-RSW 14:55-18:27 129 A220 open ? - 14:55-18:27 +0 N3242J - -\nf337 883 JFK-MCO 14:57-18:05 139 A320 open ? - 14:57-18:05 +0 N563JB - -\nf338 1004 SJU-JFK 14:58-18:56 150 A320 open ? - 14:58-18:56 +0 N603JB - -\nf339 738 MCO-BDL 14:59-17:50 139 A320 open ? - 14:59-17:50 +0 N516JB - -\nf340 1586 MCO-BUF 14:59-17:42 147 A320 open ? - 14:59-17:42 +0 N520JB - -\nf341 1133 MCO-SJU 15:00-18:00 141 A320 open ? - 15:00-18:00 +0 N565JB - -\nf342 1287 PVD-PBI 15:02-18:11 145 A320 open ? - 15:02-18:11 +0 N834JB - -\nf343 1151 ACK-BOS 15:08-16:05 69 E190 open ? - 15:08-16:05 +0 N281JB - -\nf344 2459 BOS-PHL 15:10-16:45 114 A220 open ? - 15:10-16:45 +0 N3112J - -\nf345 2827 ALB-MCO 15:10-18:21 127 A320 open ? - 15:10-18:21 +0 N504JB - -\nf346 391 BOS-TPA 15:14-18:40 181 A321 open ? - 15:14-18:40 +0 N996JL - -\nf347 1903 RDU-SJU 15:14-18:55 127 A320 open ? - 15:14-18:55 +0 N621JB - -\nf348 53 JFK-PBI 15:15-18:21 125 A220 open ? - 15:15-18:21 +0 N3132J - -\nf349 1813 BOS-ORF 15:18-17:02 114 A220 open ? - 15:18-17:02 +0 N3258J - -\nf350 37 BDL-MCO 15:20-18:26 141 A320 open ? - 15:20-18:26 +0 N809JB - -\nf351 324 LAX-JFK 15:21-21:00 134 A321P open ? - 15:21-21:00 +0 N983JT - -\nf352 1214 DFW-BOS 15:22-19:16 139 A320 open ? - 15:22-19:16 +0 N519JB - -\nf353 1413 MVY-DCA 15:26-17:00 80 E190 open ? - 15:26-17:00 +0 N317JB - -\nf354 394 DEN-BOS 15:33-19:40 145 A320 open ? - 15:33-19:40 +0 N587JB - -\nf355 873 EWR-TPA 15:38-18:40 139 A320 open ? - 15:38-18:40 +0 N595JB - -\nf356 1354 DCA-BOS 15:45-17:20 118 A220 open ? - 15:45-17:20 +0 N3260J - -\nf357 1196 FLL-PVD 15:47-18:52 150 A320 open ? - 15:47-18:52 +0 N638JB - -\nf358 276 SJU-BDL 15:55-19:50 150 A320 open ? - 15:55-19:50 +0 N827JB - -\nf359 471 LGA-FLL 15:55-19:07 139 A320 open ? - 15:55-19:07 +0 N505JB - -\nf360 1027 BUF-FLL 15:55-18:57 126 A220 open ? - 15:55-18:57 +0 N3275J - -\nf361 2052 MCO-BOS 15:55-19:05 132 A320 open ? - 15:55-19:05 +0 N592JB - -\nf362 803 JFK-SJU 15:59-20:04 178 A321 open ? - 15:59-20:04 +0 N2039J - -\nf363 1098 MCO-LGA 15:59-18:47 150 A320 open ? - 15:59-18:47 +0 N517JB - -\nf364 1189 JFK-SAN 15:59-21:57 133 A321P open ? - 15:59-21:57 +0 N977JE - -\nf365 2666 HPN-ACK 15:59-17:07 73 E190 open ? - 15:59-17:07 +0 N306JB - -\nf366 1023 JFK-LAX 16:00-22:13 111 A321P open ? - 16:00-22:13 +0 N4022J - -\nf367 1880 FLL-DCA 16:00-18:32 120 A220 open ? - 16:00-18:32 +0 N3232J - -\nf368 2494 DCA-ACK 16:00-17:26 65 E190 open ? - 16:00-17:26 +0 N324JB - -\nf369 1143 MHT-MCO 16:03-19:21 133 A320 open ? - 16:03-19:21 +0 N784JB - -\nf370 2022 FLL-PHL 16:04-19:01 134 A320 open ? - 16:04-19:01 +0 N562JB - -\nf371 188 LAX-BOS 16:10-21:52 138 A321P open ? - 16:10-21:52 +0 N2193J - -\nf372 416 SFO-JFK 16:10-21:58 138 A321P open ? - 16:10-21:58 +0 N944JT - -\nf373 224 LAX-JFK 16:15-21:54 134 A321P open ? - 16:15-21:54 +0 N985JT - -\nf374 1355 BOS-DCA 16:15-18:10 83 E190 open ? - 16:15-18:10 +0 N329JB - -\nf375 348 LAS-JFK 16:17-21:29 138 A321P open ? - 16:17-21:29 +0 N2156J - -\nf376 507 BOS-BNA 16:19-19:22 133 A320 open ? - 16:19-19:22 +0 N636JB - -\nf377 451 BOS-MCO 16:20-19:49 127 A320 open ? - 16:20-19:49 +0 N644JB - -\nf378 220 SAN-BOS 16:30-22:20 138 A321P open ? - 16:30-22:20 +0 N4074J - -\nf379 263 JFK-SEA 16:30-22:58 175 A321 open ? - 16:30-22:58 +0 N954JB - -\nf380 319 BOS-SAN 16:30-22:48 136 A321P open ? - 16:30-22:48 +0 N935JB - -\nf381 618 JFK-BOS 16:30-17:59 91 A220 open ? - 16:30-17:59 +0 N3261J - -\nf382 699 LGA-MCO 16:30-19:37 147 A320 open ? - 16:30-19:37 +0 N535JB - -\nf383 1115 BOS-BUF 16:30-18:10 85 E190 open ? - 16:30-18:10 +0 N318JB - -\nf384 1252 RSW-HPN 16:33-19:33 128 A320 open ? - 16:33-19:33 +0 N591JB - -\nf385 1237 BOS-DTW 16:36-18:52 122 A220 open ? - 16:36-18:52 +0 N3152J - -\nf386 1200 LAX-FLL 16:39-22:00 138 A321P open ? - 16:39-22:00 +0 N945JT - -\nf387 1752 SJU-TPA 16:43-19:44 149 A320 open ? - 16:43-19:44 +0 N537JT - -\nf388 1289 EWR-SJU 16:45-20:46 187 A321 open ? - 16:45-20:46 +0 N948JB - -\nf389 2134 SJU-MCO 16:45-19:50 149 A320 open ? - 16:45-19:50 +0 N705JB - -\nf390 1174 BNA-JFK 16:52-19:15 112 A220 open ? - 16:52-19:15 +0 N3247J - -\nf391 2004 RSW-BDL 16:55-19:48 133 A320 open ? - 16:55-19:48 +0 N629JB - -\nf392 1539 MVY-JFK 16:57-18:05 110 A220 open ? - 16:57-18:05 +0 N3169J - -\nf393 315 JFK-SFO 16:59-23:41 131 A321P open ? - 16:59-23:41 +0 N962JT - -\nf394 358 JFK-BUR 16:59-23:17 128 A220 open ? - 16:59-23:17 +0 N3241J - -\nf395 1523 JFK-LAX 16:59-23:19 127 A321P open ? - 17:26-23:46 +27 N990JL - -\nf396 2129 JFK-RSW 16:59-20:21 144 A320 open ? - 16:59-20:21 +0 N828JB - -\nf397 1728 MCO-EWR 17:00-19:58 138 A320 open ? - 17:00-19:58 +0 N523JB - -\nf398 2185 BOS-PIT 17:00-19:00 76 E190 open ? - 17:00-19:00 +0 N284JB - -\nf399 2230 MKE-BOS 17:03-19:15 122 A220 open ? - 17:03-19:15 +0 N3062J - -\nf400 915 BOS-SMF 17:05-23:38 121 A320 open ? - 17:05-23:38 +0 N821JB - -\nf401 1417 BOS-JFK 17:05-18:30 86 A220 open ? - 17:05-18:30 +0 N3077J - -\nf402 1727 EWR-MCO 17:07-20:04 142 A320 open ? - 17:07-20:04 +0 N648JB - -\nf403 2602 SJU-HPN 17:08-20:59 123 A220 open ? - 17:08-20:59 +0 N3065J - -\nf404 2783 BOS-RDU 17:09-19:20 121 A220 open ? - 17:09-19:20 +0 N3113J - -\nf405 1579 DCA-FLL 17:10-19:52 118 A220 open ? - 17:10-19:52 +0 N3251J - -\nf406 845 BOS-SYR 17:14-18:38 87 E190 open ? - 17:14-18:38 +0 N323JB - -\nf407 1963 HYA-JFK 17:15-18:30 93 A220 open ? - 17:15-18:30 +0 N3267J - -\nf408 69 BOS-FLL 17:16-20:50 142 A320 open ? - 17:16-20:50 +0 N635JB - -\nf409 1202 JFK-BUF 17:17-19:02 126 A220 open ? - 17:17-19:02 +0 N3229J - -\nf410 1962 PBI-LGA 17:18-20:00 131 A320 open ? - 17:18-20:00 +0 N656JB - -\nf411 624 LAX-JFK 17:20-22:59 134 A321P open ? - 17:20-22:59 +0 N947JB - -\nf412 777 BOS-LAS 17:20-23:11 138 A321P open ? - 17:20-23:11 +0 N991JT - -\nf413 545 ISP-PBI 17:25-20:15 148 A320 open ? - 17:25-20:15 +0 N760JB - -\nf414 1802 FLL-JFK 17:28-20:30 143 A320 open ? - 17:28-20:30 +0 N794JB - -\nf415 483 JFK-MCO 17:29-20:40 139 A320 open ? - 17:29-20:40 +0 N649JB - -\nf416 1152 MCO-BOS 17:30-20:44 142 A320 open ? - 17:30-20:44 +0 N605JB - -\nf417 472 FLL-LGA 17:33-20:30 146 A320 open ? - 17:33-20:30 +0 N804JB - -\nf418 520 ATL-JFK 17:33-20:00 144 A320 open ? - 17:33-20:00 +0 N559JB - -\nf419 770 MCO-RIC 17:35-19:40 127 A320 open ? - 17:35-19:40 +0 N599JB - -\nf420 101 FLL-LAX 17:40-23:04 138 A321P open ? - 17:40-23:04 +0 N969JT - -\nf421 560 PHL-BOS 17:40-19:14 119 A220 open ? - 17:40-19:14 +0 N3112J - -\nf422 135 JFK-PHX 17:44-23:19 126 A320 open ? - 17:44-23:19 +0 N655JB - -\nf423 433 MCO-SJU 17:44-20:50 141 A320 open ? - 17:44-20:50 +0 N768JB - -\nf424 86 RDU-JFK 17:45-19:30 116 A220 open ? - 17:45-19:30 +0 N3221J - -\nf425 2954 DCA-BOS 17:45-19:30 84 E190 open ? - 17:45-19:30 +0 N317JB - -\nf426 1689 PVD-TPA 17:46-20:55 129 A320 open ? - 17:46-20:55 +0 N561JB - -\nf427 1873 EWR-LAX 17:50-23:55 129 A321P open ? - 17:50-23:55 +0 N942JB - -\nf428 874 TPA-EWR 17:55-20:50 139 A320 open ? - 17:55-20:50 +0 N651JB - -\nf429 1351 ACK-BOS 17:55-18:51 69 E190 open ? - 17:55-18:51 +0 N306JB - -\nf430 1453 FLL-SJU 17:55-20:34 126 A220 open ? - 17:55-20:34 +0 N3194J - -\nf431 106 FLL-EWR 17:56-21:00 144 A320 open ? - 17:56-21:00 +0 N789JB - -\nf432 1814 ORF-BOS 17:57-19:37 117 A220 open ? - 17:57-19:37 +0 N3258J - -\nf433 613 HPN-FLL 17:59-20:58 141 A320 open ? - 17:59-20:58 +0 N706JB - -\nf434 1677 JFK-JAX 17:59-20:51 122 A220 open ? - 17:59-20:51 +0 N3195J - -\nf435 2655 SYR-MCO 17:59-20:55 129 A320 open ? - 17:59-20:55 +0 N583JB - -\nf436 304 SJU-JFK 18:05-22:03 150 A320 open ? - 18:05-22:03 +0 N571JB - -\nf437 1348 SJU-DCA 18:05-21:59 186 A321 open ? - 18:05-21:59 +0 N972JT - -\nf438 1284 MCO-JFK 18:06-21:00 144 A320 open ? - 18:06-21:00 +0 N641JB - -\nf439 1138 AUS-BOS 18:10-22:20 123 A220 open ? - 18:10-22:20 +0 N3138J - -\nf440 697 BOS-ATL 18:15-21:19 144 A320 open ? - 18:15-21:19 +0 N579JB - -\nf441 734 SFO-BOS 18:15-23:56 138 A321P open ? - 18:15-23:56 +0 N980JT - -\nf442 1955 BOS-DCA 18:15-20:03 116 A220 open ? - 18:15-20:03 +0 N3085J - -\nf443 2876 PVD-MCO 18:15-21:18 137 A320 open ? - 18:15-21:18 +0 N715JB - -\nf444 534 TPA-BDL 18:20-21:12 150 A320 open ? - 18:20-21:12 +0 N598JB - -\nf445 924 LAX-JFK 18:20-23:58 134 A321P open ? - 18:20-23:58 +0 N967JT - -\nf446 2080 FLL-DCA 18:25-20:59 120 A220 open ? - 18:25-20:59 +0 N3189J - -\nf447 2122 ACK-HPN 18:26-19:29 78 E190 open ? - 18:26-19:29 +0 N324JB - -\nf448 197 BOS-SEA 18:29-00:59+1 181 A321 open ? - 18:29-00:59+1 +0 N958JB - -\nf449 2424 MCO-DCA 18:29-20:50 137 A320 open ? - 18:29-20:50 +0 N658JB - -\nf450 161 JFK-SMF 18:30-00:55+1 165 A321 open ? - 18:30-00:55+1 +0 N998JE - -\nf451 283 JFK-MCO 18:30-21:44 139 A320 open ? - 18:30-21:44 +0 N796JB - -\nf452 733 BOS-SFO 18:30-01:15+1 138 A321P open ? - 18:30-01:15+1 +0 N923JB - -\nf453 1567 HPN-PBI 18:30-21:28 144 A320 open ? - 18:30-21:28 +0 N653JB - -\nf454 2201 JFK-FLL 18:30-21:54 140 A320 open ? - 18:30-21:54 +0 N793JB - -\nf455 187 BOS-LAX 18:32-00:58+1 138 A321P open ? - 18:32-00:58+1 +0 N982JB - -\nf456 81 JFK-RNO 18:35-00:46+1 127 A220 open ? - 18:35-00:46+1 +0 N3145J - -\nf457 993 BOS-DEN 18:40-23:23 124 A220 open ? - 18:40-23:23 +0 N3240J - -\nf458 1248 TPA-LGA 18:41-21:32 140 A320 open ? - 18:41-21:32 +0 N652JB - -\nf459 491 BUF-LAX 18:42-23:56 142 A320 open ? - 18:42-23:56 +0 N520JB - -\nf460 65 JFK-ABQ 18:45-23:34 130 A320 open ? - 18:45-23:34 +0 N623JB - -\nf461 1037 BDL-MCO 18:45-21:45 131 A320 open ? - 18:45-21:45 +0 N516JB - -\nf462 2322 PBI-BOS 18:45-21:56 144 A320 open ? - 18:45-21:56 +0 N594JB - -\nf463 1053 JFK-PBI 18:50-21:56 125 A220 open ? - 18:50-21:56 +0 N3023J - -\nf464 462 SJU-BOS 18:54-22:59 183 A321 open ? - 18:54-22:59 +0 N970JB - -\nf465 95 BOS-PDX 18:55-01:15+1 176 A321 open ? - 18:55-01:15+1 +0 N952JB - -\nf466 516 BUF-BOS 18:55-20:25 87 E190 open ? - 18:55-20:25 +0 N318JB - -\nf467 992 SJU-FLL 18:55-21:34 149 A320 open ? - 18:55-21:34 +0 N565JB - -\nf468 2523 DCA-MCO 18:55-21:20 126 A320 open ? - 18:55-21:20 +0 N625JB - -\nf469 88 FLL-ALB 18:59-22:05 139 A320 open ? - 18:59-22:05 +0 N775JB - -\nf470 602 FLL-JFK 18:59-21:59 123 A220 open ? - 18:59-21:59 +0 N3142J - -\nf471 823 JFK-LAX 18:59-01:21+1 127 A321P open ? - 18:59-01:21+1 +0 N964JT - -\nf472 1468 PBI-HPN 18:59-21:51 140 A320 open ? - 18:59-21:51 +0 N570JB - -\nf473 355 JFK-ONT 19:00-01:10+1 161 A321 open ? - 19:00-01:10+1 +0 N949JT - -\nf474 798 MCO-LGA 19:00-21:50 150 A320 open ? - 19:00-21:50 +0 N630JB - -\nf475 2754 DCA-BOS 19:00-20:38 84 E190 open ? - 19:00-20:38 +0 N329JB - -\nf476 2984 MCO-JFK 19:00-21:52 144 A320 open ? - 19:00-21:52 +0 N529JB - -\nf477 71 JFK-SLC 19:03-00:38+1 142 A320 open ? - 19:03-00:38+1 +0 N558JB - -\nf478 1433 MCO-SJU 19:20-22:24 141 A320 open ? - 19:20-22:24 +0 N547JB - -\nf479 2875 MCO-PVD 19:20-22:18 136 A320 open ? - 19:20-22:18 +0 N563JB - -\nf480 2903 JFK-SJU 19:20-23:34 178 A321 open ? - 19:20-23:34 +0 N971JT - -\nf481 2071 FLL-BQN 19:29-22:04 117 A320 open ? - 19:29-22:04 +0 N590JB - -\nf482 2466 FLL-BUF 19:29-22:32 144 A320 open ? - 19:29-22:32 +0 N580JB - -\nf483 438 MCO-BDL 19:30-22:25 150 A320 open ? - 19:30-22:25 +0 N504JB - -\nf484 616 SFO-JFK 19:30-00:59+1 138 A321P open ? - 19:30-00:59+1 +0 N946JL - -\nf485 1154 PBI-JFK 19:30-22:24 123 A220 open ? - 19:30-22:24 +0 N3132J - -\nf486 548 TPA-HPN 19:35-22:29 142 A320 open ? - 19:35-22:29 +0 N595JB - -\nf487 715 BOS-BUF 19:39-21:13 85 E190 open ? - 19:39-21:13 +0 N281JB - -\nf488 317 BOS-JFK 19:40-21:04 86 A220 open ? - 19:40-21:04 +0 N3058J - -\nf489 2186 PIT-BOS 19:45-21:28 77 E190 open ? - 19:45-21:28 +0 N284JB - -\nf490 1136 DTW-BOS 19:47-21:41 117 A220 open ? - 19:47-21:41 +0 N3152J - -\nf491 1197 PVD-FLL 19:47-22:59 139 A320 open ? - 19:47-22:59 +0 N638JB - -\nf492 571 LGA-FLL 19:49-22:59 139 A320 open ? - 19:49-22:59 +0 N517JB - -\nf493 1134 SJU-MCO 19:50-22:53 149 A320 open ? - 19:50-22:53 +0 N588JB - -\nf494 711 JFK-LAS 19:54-01:48+1 138 A321P open ? - 19:54-01:48+1 +0 N929JB - -\nf495 381 BOS-RIC 19:55-21:48 116 A220 open ? - 19:55-21:48 +0 N3149J - -\nf496 392 TPA-BOS 19:55-23:05 168 A321 open ? - 19:55-23:05 +0 N996JL - -\nf497 591 BOS-TPA 19:55-23:18 146 A320 open ? - 19:55-23:18 +0 N526JL - -\nf498 217 PHL-FLL 19:56-22:53 126 A320 open ? - 19:56-22:53 +0 N562JB - -\nf499 201 BUF-JFK 19:57-21:29 126 A220 open ? - 19:57-21:29 +0 N3229J - -\nf500 526 SJU-PVD 19:59-23:51 145 A320 open ? - 19:59-23:51 +0 N621JB - -\nf501 615 JFK-SFO 19:59-02:43+1 131 A321P open ? - 19:59-02:43+1 +0 N968JT - -\nf502 914 FLL-HPN 19:59-22:59 136 A320 open ? - 19:59-22:59 +0 N566JB - -\nf503 143 EWR-PBI 20:00-23:05 139 A320 open ? - 20:00-23:05 +0 N556JB - -\nf504 818 JFK-BOS 20:00-21:34 91 A220 open ? - 20:00-21:34 +0 N3196J - -\nf505 572 FLL-LGA 20:05-23:04 146 A320 open ? - 20:05-23:04 +0 N663JB - -\nf506 144 PBI-EWR 20:06-23:00 138 A320 open ? - 20:06-23:00 +0 N834JB - -\nf507 745 JFK-PSE 20:06-00:19+1 119 A320 open ? - 20:06-00:19+1 +0 N507JT - -\nf508 884 MCO-JFK 20:08-23:00 144 A320 open ? - 20:08-23:00 +0 N809JB - -\nf509 460 FLL-BDL 20:10-23:15 147 A320 open ? - 20:10-23:15 +0 N585JB - -\nf510 470 FLL-BOS 20:10-23:29 129 A220 open ? - 20:10-23:29 +0 N3275J - -\nf511 2421 BOS-PBI 20:10-23:23 125 A220 open ? - 20:10-23:23 +0 N3260J - -\nf512 97 JFK-DEN 20:14-00:59+1 130 A320 open ? - 20:14-00:59+1 +0 N536JB - -\nf513 541 BOS-CLE 20:15-22:24 80 E190 open ? - 20:15-22:24 +0 N306JB - -\nf514 1484 RDU-BOS 20:15-22:18 118 A220 open ? - 20:15-22:18 +0 N3113J - -\nf515 506 BNA-BOS 20:17-22:54 126 A320 open ? - 20:17-22:54 +0 N636JB - -\nf516 195 HPN-MCO 20:29-23:13 135 A320 open ? - 20:29-23:13 +0 N591JB - -\nf517 405 JFK-ORD 20:30-23:28 121 A220 open ? - 20:30-23:28 +0 N3203J - -\nf518 2128 MCO-EWR 20:30-23:19 149 A320 open ? - 20:30-23:19 +0 N506JB - -\nf519 305 EWR-FLL 20:34-23:44 144 A320 open ? - 20:34-23:44 +0 N805JB - -\nf520 706 FLL-EWR 20:35-23:34 144 A320 open ? - 20:35-23:34 +0 N709JB - -\nf521 769 RIC-MCO 20:35-22:39 108 A320 open ? - 20:35-22:39 +0 N599JB - -\nf522 1294 MCO-HPN 20:35-23:29 140 A320 open ? - 20:35-23:29 +0 N712JB - -\nf523 607 FLL-LAS 20:36-01:38+1 134 A321P open ? - 20:45-01:47+1 +9 N988JT - -\nf524 903 JFK-SJU 20:40-00:54+1 144 A320 open ? - 20:40-00:54+1 +0 N534JB - -\nf525 2583 JFK-MCO 20:40-23:51 139 A320 open ? - 20:40-23:51 +0 N603JB - -\nf526 275 BDL-SJU 20:45-00:34+1 126 A320 open ? - 20:45-00:34+1 +0 N629JB - -\nf527 277 FLL-SFO 20:45-02:40+1 136 A321P open ? - 21:15-03:10+1 +30 N978JB - -\nf528 561 BOS-SJU 20:45-00:49+1 165 A321 open ? - 20:45-00:49+1 +0 N994JL - -\nf529 1952 MCO-BOS 20:45-23:55 142 A320 open ? - 20:45-23:55 +0 N784JB - -\nf530 2102 FLL-JFK 20:50-23:46 176 A321 open ? - 20:50-23:46 +0 N913JB - -\nf531 430 MCO-BQN 20:55-23:50 145 A320 open ? - 20:55-23:50 +0 N535JB - -\nf532 1146 FLL-RIC 20:55-23:16 125 A320 open ? - 20:55-23:16 +0 N505JB - -\nf533 1761 LGA-PBI 20:55-23:55 135 A320 open ? - 20:55-23:55 +0 N656JB - -\nf534 206 BOS-PQI 20:59-22:25 60 E190 open ? - 20:59-22:25 +0 N317JB - -\nf535 1827 EWR-MCO 21:00-23:57 132 A320 open ? - 21:00-23:57 +0 N766JB - -\nf536 384 MCO-JFK 21:05-23:59 144 A320 open ? - 21:05-23:59 +0 N644JB - -\nf537 1223 JFK-LAX 21:10-03:29+1 127 A321P open ? - 21:10-03:29+1 +0 N981JT - -\nf538 333 BOS-SFO 21:16-03:58+1 138 A321P open ? - 21:16-03:58+1 +0 N937JB - -\nf539 251 BOS-MCO 21:20-00:32+1 169 A321 open ? - 21:20-00:32+1 +0 N956JT - -\nf540 47 LGA-TPA 21:25-00:15+1 130 A320 open ? - 21:25-00:15+1 +0 N804JB - -\nf541 955 JFK-DCA 21:29-22:58 67 A220 open ? - 21:29-22:58 +0 N3169J - -\nf542 2118 JFK-BOS 21:30-23:05 105 A320 open ? - 21:30-23:05 +0 N586JB - -\nf543 1387 BOS-LAX 21:35-03:55+1 138 A321P open ? - 21:35-03:55+1 +0 N987JT - -\nf544 383 JFK-MCO 21:40-00:48+1 172 A321 open ? - 21:40-00:48+1 +0 N973JT - -\nf545 2101 JFK-FLL 21:40-00:59+1 140 A320 open ? - 21:40-00:59+1 +0 N637JB - -\nf546 2501 FLL-LAX 21:40-02:59+1 138 A321P open ? - 21:40-02:59+1 +0 N2157J - -\nf547 334 SJU-MCO 21:45-00:42+1 149 A320 open ? - 21:45-00:42+1 +0 N568JB - -\nf548 704 SJU-JFK 21:45-01:37+1 191 A321 open ? - 21:45-01:37+1 +0 N2039J - -\nf549 820 JFK-DTW 21:45-23:59 108 A220 open ? - 21:45-23:59 +0 N3077J - -\nf550 1186 JFK-ROC 21:50-23:30 116 A220 open ? - 21:50-23:30 +0 N3267J - -\nf551 2626 FLL-RDU 21:50-23:59 119 A320 open ? - 21:50-23:59 +0 N527JL - -\nf552 515 JFK-SFO 21:59-04:43+1 131 A321P open ? - 21:59-04:43+1 +0 N961JT - -\nf553 972 JFK-MHT 21:59-23:27 44 A320 open ? - 21:59-23:27 +0 N559JB - -\nf554 1195 JFK-PIT 21:59-23:51 69 A220 open ? - 21:59-23:51 +0 N3247J - -\nf555 1990 SJU-EWR 21:59-01:58+1 190 A321 open ? - 21:59-01:58+1 +0 N948JB - -\nf556 303 JFK-SJU 22:00-02:14+1 178 A321 open ? - 22:00-02:14+1 +0 N999JQ - -\nf557 102 JFK-BUF 22:15-23:59 126 A220 open ? - 22:15-23:59 +0 N3221J - -\nf558 1128 JFK-PVD 22:29-23:49 35 A320 open ? - 22:29-23:49 +0 N607JB - -\nf559 675 JFK-BDL 22:30-23:46 41 A320 open ? - 22:30-23:46 +0 N643JB - -\nf560 1516 JFK-SYR 22:30-23:59 103 A320 open ? - 22:30-23:59 +0 N794JB - -\nf561 308 JFK-PWM 22:45-00:17+1 93 A220 open ? - 22:45-00:17+1 +0 N3058J - -\nf562 539 JFK-BQN 22:59-03:03+1 135 A320 open ? - 22:59-03:03+1 +0 N729JB - -\nf563 1318 JFK-BOS 22:59-00:27+1 105 A320 open ? - 22:59-00:27+1 +0 N640JB - -\nf564 2072 BQN-FLL 22:59-01:29+1 114 A320 open ? - 22:59-01:29+1 +0 N590JB - -\nf565 1488 LAX-BOS 23:25-05:00+1 138 A321P open ? - 23:25-05:00+1 +0 N2180J - -\nf566 1190 SAN-JFK 23:30-05:00+1 137 A321P open ? - 23:30-05:00+1 +0 N977JE - -\nf567 1024 LAX-JFK 23:36-05:04+1 117 A321P open ? - 23:36-05:04+1 +0 N2151J - -\nf568 2120 SAN-BOS 00:00+1-05:40+1 138 A321P open ? - 00:00+1-05:40+1 +0 N935JB - -\nf569 198 SEA-BOS 00:14+1-05:29+1 186 A321 open ? - 00:14+1-05:29+1 +0 N954JB - -\nf570 1574 LAX-EWR 00:20+1-05:41+1 138 A321P open ? - 00:20+1-05:41+1 +0 N4022J - -\nf571 359 BUR-JFK 00:22+1-05:50+1 112 A220 open ? - 00:22+1-05:50+1 +0 N3241J - -\nf572 278 SFO-FLL 00:25+1-06:02+1 138 A321P open ? - 00:25+1-06:02+1 +0 N992JB - -\nf573 778 LAS-BOS 00:25+1-05:33+1 138 A321P open ? - 00:25+1-05:33+1 +0 N991JT - -\nf574 916 SMF-BOS 00:33+1-05:59+1 120 A320 open ? - 00:33+1-05:59+1 +0 N821JB - -\nf575 994 DEN-BOS 00:39+1-04:35+1 125 A220 open ? - 00:39+1-04:35+1 +0 N3240J - -\nf576 136 PHX-JFK 00:44+1-05:40+1 126 A320 open ? - 00:44+1-05:40+1 +0 N655JB - -\nf577 492 LAX-BUF 00:48+1-05:40+1 138 A320 open ? - 00:48+1-05:40+1 +0 N520JB - -\nf578 66 ABQ-JFK 00:59+1-05:10+1 123 A320 open ? - 00:59+1-05:10+1 +0 N623JB - -\nf579 700 LAX-FLL 01:15+1-06:29+1 138 A321P open ? - 01:15+1-06:29+1 +0 N976JT - -\nf580 1524 LAX-JFK 01:29+1-06:59+1 134 A321P open ? - 01:29+1-06:59+1 +0 N969JT - -\nf581 816 SFO-JFK 01:30+1-07:03+1 138 A321P open ? - 01:30+1-07:03+1 +0 N962JT - -\nf582 372 SLC-JFK 01:33+1-05:59+1 143 A320 open ? - 01:33+1-05:59+1 +0 N558JB - -\nf583 98 DEN-JFK 01:54+1-05:40+1 132 A320 open ? - 01:54+1-05:40+1 +0 N536JB - -\nf584 162 SMF-JFK 02:10+1-07:29+1 175 A321 open ? - 02:10+1-07:29+1 +0 N998JE - -\nf585 988 LAX-BOS 02:15+1-07:52+1 138 A321P open ? - 02:15+1-07:52+1 +0 N990JL - -\nf586 80 RNO-JFK 02:18+1-07:29+1 115 A220 open ? - 02:18+1-07:29+1 +0 N3145J - -\nf587 264 SEA-JFK 02:20+1-07:38+1 184 A321 open ? - 02:20+1-07:38+1 +0 N958JB - -\nf588 96 PDX-BOS 02:40+1-08:00+1 181 A321 open ? - 02:40+1-08:00+1 +0 N952JB - -\nf589 134 SFO-BOS 02:40+1-08:18+1 138 A321P open ? - 02:40+1-08:18+1 +0 N923JB - -\nf590 608 LAS-FLL 02:48+1-07:32+1 138 A321P open ? - 02:57+1-07:41+1 +9 N988JT - -\nf591 1224 LAX-JFK 02:57+1-08:30+1 134 A321P open ? - 02:57+1-08:30+1 +0 N942JB - -\nf592 454 ONT-JFK 02:59+1-08:30+1 165 A321 open ? - 02:59+1-08:30+1 +0 N949JT - -\nf593 948 LAS-JFK 02:59+1-07:59+1 138 A321P open ? - 02:59+1-07:59+1 +0 N929JB - -\n\n## Aircraft now, as your plan has them (@ = ready at)\nBOS: N2157J N2180J@06:48 N2193J N284JB N3044J N3058J N3062J N3102J N3104J N3112J@07:50 N3125J@05:15 N3138J N3139J N3142J@05:04 N3145J N3149J N3156J N323JB N3242J@07:40 N324JB N4074J@04:55 N517JB N519JB@08:30 N526JL N554JB N587JB@06:50 N635JB N644JB@15:34 N661JB N706JB N746JB N821JB N935JB@08:40 N952JB N956JT N967JT@06:35 N970JB@06:21 N989JT N991JT@13:35 N992JB@06:12 N993JE N994JL@19:40\nJFK: N2039J@05:49 N2151J@10:50 N2156J@07:56 N3077J N3169J N3195J@06:05 N3196J@08:07 N3221J@06:13 N3229J N3241J@08:30 N3267J N4022J@14:50 N524JB N534JB@05:27 N536JB N559JB@07:15 N571JB@06:31 N585JB N586JB@19:55 N623JB N636JB@06:13 N637JB@19:55 N643JB@21:14 N646JB N649JB@10:14 N655JB@10:30 N729JB@21:44 N793JB N796JB N828JB@10:05 N834JB N946JL@09:42 N947JB@09:32 N949JT@17:25 N954JB@07:55 N961JT N964JT@06:10 N968JT N971JT@17:55 N972JT N973JT@20:35 N976JT N980JT N983JT N984JB N985JT@07:55 N987JT N998JE N999JQ@20:55\nALB: N794JB\nATL: N806JB\nBDL: N556JB N579JB N652JB N705JB N760JB\nBQN: N603JB N607JB\nBUF: N281JB N3085J N638JB N653JB@06:46\nCLE: N329JB\nDCA: N3132J N3189J N3232J N3260J N505JB N913JB\nDTW: N3261J\nEWR: N583JB N648JB N709JB N715JB@05:15 N766JB@19:49 N805JB N948JB@05:56 N978JB@07:15\nFLL: N3065J N3194J N3251J N3275J@05:45 N527JL@20:10 N547JB@05:15 N570JB N580JB@18:14 N590JB N606JB N624JB@21:05 N656JB N789JB N804JB N944JT@07:13 N945JT@08:34 N981JT N988JT@07:15\nHPN: N317JB N3240J N507JT N562JB N598JB N630JB\nJAX: N3023J\nLAX: N929JB@04:55 N942JB N962JT N969JT N982JB@04:01\nLGA: N529JB N535JB N566JB\nMCO: N506JB N510JB N516JB N520JB N523JB N565JB N599JB N605JB N625JB N629JB N641JB N662JB N712JB@20:00 N768JB@17:21 N784JB@10:35 N807JB N809JB@09:07 N965JT N996JL\nMHT: N508JL\nORD: N3247J\nPBI: N3257J N3258J N558JB N594JB N651JB N775JB\nPIT: N3203J\nPQI: N306JB\nPVD: N504JB N584JB N621JB\nPWM: N3162J\nRDU: N827JB\nRIC: N3152J N663JB\nROC: N3255J\nRSW: N3113J N563JB\nSFO: N923JB@04:48 N937JB@04:54 N977JE N990JL@04:26\nSJU: N537JT@12:05 N561JB N588JB@19:14 N591JB N633JB@08:15 N658JB N955JB N957JB N958JB\nSYR: N318JB N640JB\nTPA: N564JB N568JB N592JB N595JB\nairborne: none\n\n## News so far\n[22:35-1] TAF AMD KJFK 130235Z 1303/1406 20008KT P6SM FEW060 FEW250 FM130800 20005KT P6SM SCT015 SCT250 FM131400 19009KT P6SM FEW040 BKN250 FM131900 18014KT P6SM SCT080 BKN200 PROB30 1320/1402 5SM TSRA BR BKN050CB FM140200 VRB05KT P6SM BKN100=\n[01:20] TAF KBOS 130520Z 1306/1412 23006KT P6SM SKC FM131500 19007KT P6SM SKC FM131800 18009KT P6SM FEW240 PROB30 1320/1324 4SM -TSRA BKN035CB FM140000 21010KT P6SM BKN090 FM141000 21006KT P6SM BKN045=\n[01:32] TAF KJFK 130532Z 1306/1412 22008KT P6SM FEW060 FEW250 FM130800 20005KT P6SM SCT015 SCT250 FM131400 19009KT P6SM FEW040 BKN250 FM131900 18013KT P6SM SCT080 BKN200 PROB30 1321/1324 3SM TSRA BR BKN050CB FM140000 18009KT P6SM BKN080 PROB30 1400/1403 3SM TSRA BR BKN050CB FM140300 VRB05KT P6SM BKN080=\n[02:51] KJFK 130651Z 22008KT 10SM FEW250 23/22 A2995 RMK AO2 SLP142 T02330222 $\n[02:54] KBOS 130654Z 19005KT 10SM CLR 21/19 A2993 RMK AO2 SLP136 T02110189 $\n[03:51] KJFK 130751Z 22008KT 10SM FEW250 23/22 A2994 RMK AO2 SLP137 T02330222 $\n[03:54] KBOS 130754Z 20006KT 10SM CLR 21/19 A2993 RMK AO2 SLP134 T02110189 $\n\nIt is the first watch, 04:00. Nothing is frozen yet: set the day up with confirm_changes, then call advance.", + "max_turns": 279, + "model_params": { + "max_tokens": 32000 + }, + "timeout_seconds": 7200 + }, + { + "id": "end-day", + "type": "apply_server_config", + "env_id": "airops-v3-day", + "directives": [ + { + "service": "airops-v3-day", + "uri": "urn:airops:v3-end-day/v1", + "args": {} + } + ] + }, + { + "id": "grade", + "type": "env_outcome_verifier", + "env_id": "airops-v3-day", + "file_artifact_id": "airops-verifier", + "verifier_id": "airops", + "score_aggregator": "weighted_average" + } +] diff --git a/src/agentenv_airops/bundles/airops-v3/tasks/b6-20250821-0400.json b/src/agentenv_airops/bundles/airops-v3/tasks/b6-20250821-0400.json new file mode 100644 index 0000000..80be923 --- /dev/null +++ b/src/agentenv_airops/bundles/airops-v3/tasks/b6-20250821-0400.json @@ -0,0 +1,71 @@ +[ + { + "id": "deploy", + "type": "deploy_env", + "env_id": "airops-v3-day" + }, + { + "id": "load-task", + "type": "apply_server_config", + "env_id": "airops-v3-day", + "directives": [ + { + "service": "airops-v3-day", + "uri": "urn:airops:v3-live-load/v1", + "args": { + "task_id": "b6-20250821-0400", + "anchor": 2310276, + "follower": 2322084 + } + } + ] + }, + { + "id": "deploy-agent", + "type": "deploy_agent", + "a2a_agent_id": "airops-llm", + "env_ids": [ + "airops-v3-day" + ] + }, + { + "id": "clock", + "type": "sync_env_clock", + "env_id": "airops-v3-day", + "virtual_time": "2025-08-21T08:00:00Z", + "virtual_seconds_per_real_second": 0, + "tolerate_missing_sync_time": false + }, + { + "id": "play", + "type": "prompt_agent", + "prompt_id": "b6-20250821-0400", + "system_prompt": "You run the JetBlue operations desk on a storm day at JFK and BOS: thunderstorms, snow or wind, and the FAA ground stops and ground delay programs (GDPs) that follow, cut how many JetBlue flights can land and take off. Your job is to decide which flights to cancel and which to hold, watch by watch, so that passengers and the airline lose as little as possible over the day.\n\nHow the day runs:\n- The day is played in watches starting at watch 0: one an hour, and one more when an advisory or a SPECI reaches the desk or a ramp closure begins or ends, so watches are 15 to 60 minutes apart. The first message gives the day as the desk knows it at watch 0. Every tool call takes 1 minute of the watch; when the watch's time runs out, the next watch opens by itself, and advance opens it at once.\n- What the desk knows: a flight's own departure delay (weather, air traffic control: anything but waiting for its aircraft or a slot) becomes known 2 hours before its scheduled departure; until then it is assumed on time. FAA Command Center advisories and the hubs' METARs, SPECIs and TAFs arrive as messages at the first watch after they reach the desk: an advisory 0 minutes after it is signed, a METAR 5 and a SPECI 5 minutes after its observation, a TAF 10 minutes after its issue, and the programs table shows the programs as issued, proposed GDPs included; a program may end earlier or later than issued.\n- Ground delay programs: a GDP meters arrivals at a hub over its period. A flight into the hub from an origin in its scope, scheduled to land in the period, needs one of JetBlue's arrival slots in the program: it takes the earliest free slot at or after the time it could land and leaves at its EDCT, the slot less its scheduled block. A cancelled or late flight leaves its slot to the flights behind it. Arrivals outside a program fit under the hub's hourly rate.\n- Ground stops: a flight to a stopped hub from an origin the stop covers waits on the ground until the stop ends; flights already airborne fly on.\n- Departure caps: an airport may take only so many JetBlue departures in an hour (the departure caps table, known 4 hours ahead); a flight with no room in its hour tries again at the next hour's start.\n- Outstation arrival caps: an outstation may take only so many JetBlue arrivals in an hour (the outstation arrival caps table, known 4 hours ahead); a flight with no room in its arrival hour leaves so as to land in the next one.\n- Ramp closures: lightning at the field cuts a hub's ramp rate without stopping it. During a closure only so many JetBlue flights may leave the hub and only so many arrive there; a departure with no room leaves at the closure's end, an arrival with none leaves so as to land at it. A closure is known once it begins; until its end comes it is expected to last 30 minutes more, with caps for that long, and the closures table says which ends are reported and which expected.\n- The env flies your plan on the day as it happens: each flight leaves at the earliest time its delay, its hold, a slot, a stop, a cap and an aircraft allow. It takes the first aircraft of its type ready at its origin (aircraft of one type at one airport are interchangeable; an aircraft needs its turn time on the ground between flights). A flight that can't leave by its deadline is cancelled automatically there. At the end of the day the env ferries each aircraft to the airport it is needed at tomorrow.\n- Your decisions: cancel a flight (its aircraft stays on the ground, free for other flights, and its slot goes to the flights behind), restore a cancelled flight, or hold a flight until a time (not_before) so that its slot or aircraft goes to another flight first. A flight you don't touch leaves as early as it can.\n- The freeze: at watch 0 nothing is frozen. From watch 1 on, flights your plan has leaving before the freeze line, 60 minutes after the watch opens, are frozen: they can't be changed, and stay frozen. A cancellation is final. The env holds any other flight your plan would have leaving before the freeze line to it, and refuses a change that would move a frozen flight or one that has already gone.\n\nTools:\n- get_situation(): the time, the freeze line, the programs as issued with JetBlue's slots, the departure caps known so far, the outstation arrival caps known so far, the ramp closures under way or over, the latest METAR or SPECI and TAF per hub, every flight (its status, its known delay, your plan, where your plan has it leave and land on the day as known, how late it lands, its aircraft, its slot and its crew), where the aircraft are, and the news so far.\n- check_plan(changes): your changes over your plan, run on the day as known now: the plan's cost, the flights whose plan or times change, the automatic cancellations, the flights the env would hold to the freeze line, and the changes confirm_changes would refuse. It confirms nothing.\n- confirm_changes(changes): commits the changes; flights you leave out keep their plan.\n- advance(): ends the watch; its result has the new watch's news. After the last watch it returns \"done\": the day is graded on your plan.\nA change is {\"flight\": \"f12\", \"action\": \"cancel\" | \"restore\" | \"hold\" | \"call_reserve\" | \"release_reserve\", \"not_before\": \"HH:MM\" | null}: cancel takes not_before null; restore and hold fly the flight, held until not_before (local time, \"00:30+1\" after midnight), or as early as it can with null. Where a crew base has a reserve pool (the situation's Reserve crews), a flight leaving it past its crew's deadline flies only on a reserve: call_reserve gives it one while the pool lasts, release_reserve hands it back before that deadline.\n\nThe cost, in passenger-minutes: every passenger's minutes of arrival delay; 523 for each passenger on a cancelled flight, plus one for every minute the cancellation is decided later than 2 hours before its scheduled departure (an automatic cancellation is decided at its deadline, so it costs more than an early one); the airline's own aircraft minutes (a late departure costs crew and fixed costs, a long block fuel too, and a cancellation saves its fuel and maintenance); and the end-of-day ferries. A cancellation frees an aircraft and a slot; it pays when it saves the others more than it costs its own passengers. The day is graded once, on your final plan flown on the day as it really happened: the closer its cost to the best plan possible in hindsight, the higher the score. If you stop before the last watch, the rest of the day runs on your plan.", + "prompt": "# JetBlue operations desk, JFK/BOS, Thursday 2025-08-21; times are local (America/New_York).\n\nNow 04:00 (watch 0, opened 04:00). First watch: nothing is frozen; changes take effect at once.\n\nYour plan on the day as known costs 313,135 (delay 235,025, cancellations 0, notice 0, ferries 0): 0 cancelled, 0 cancelled automatically, 0 on slots.\n\n## Programs as issued (FAA Command Center)\nNone.\n\n## Departure caps: JetBlue departures per hour, known 240 min ahead\nBOS: 08h 9\nJFK: 08h 8\n\n## Outstation arrival caps: JetBlue arrivals per hour, known 240 min ahead\nMCO: 08h 3\nORD: 08h 1\nRDU: 08h 2\n\n## Ramp closures (lightning at the field; known once begun)\nNone.\n\n## Latest weather (METAR or SPECI, and TAF)\n[03:54] KBOS 210754Z 34006KT 10SM FEW014 FEW023 SCT080 OVC210 14/12 A3010 RMK AO2 SLP193 T01440122\n[01:35] TAF KBOS 210535Z 2106/2212 06007KT P6SM FEW010 BKN020 FM211300 05012KT P6SM BKN035 FM211500 06011G21KT P6SM BKN040 FM220400 02013G23KT P6SM SCT250=\n[03:51] KJFK 210751Z 06014KT 6SM -RA BR OVC010 17/16 A2999 RMK AO2 SLP156 P0002 T01670156 $\n[03:03] TAF AMD KJFK 210703Z 2107/2212 04016G21KT P6SM -DZ FEW009 BKN011 OVC020 TEMPO 2107/2109 3SM -DZ BR BKN009 FM211000 04017G24KT P6SM BKN015 OVC025 FM211500 03019G29KT P6SM BKN020 OVC040 FM211900 02020G30KT P6SM BKN040 FM220100 02018G26KT P6SM BKN250 FM220700 01012G18KT P6SM SCT250=\n\n## Flights (sched = scheduled dep-arr; delay = known delay, ? not yet; plan = cancel or hold@HH:MM; proj = where your plan has it leave and land on the day as known; late = arrival delay; slot = its GDP slot; crew = crew deadline/rest end, +R on a reserve crew)\nid flight route sched pax type status delay plan proj late tail slot crew\nf0 729 BQN-MCO 05:01-07:52 148 A320 open -10 - 04:51-07:31 -21 N561JB - -\nf1 1233 MCO-SJU 05:01-08:01 141 A320 open 1 - 05:02-07:48 -13 N505JB - -\nf2 1434 SJU-MCO 05:01-08:02 149 A320 open -6 - 04:55-07:48 -14 N558JB - -\nf3 2539 JFK-BQN 05:01-08:49 135 A320 open 93 - 06:34-10:39 +110 N659JB - -\nf4 767 MCO-PSE 05:05-08:02 125 A320 open -11 - 04:54-07:47 -15 N504JB - -\nf5 917 BOS-JFK 05:15-06:30 100 A320 open -10 - 05:05-06:24 -6 N520JB - -\nf6 403 JFK-SJU 05:25-09:15 178 A321 open -5 - 05:20-09:26 +11 N913JB - -\nf7 1889 EWR-SJU 05:35-09:30 187 A321 open -9 - 05:26-09:44 +14 N996JL - -\nf8 2001 BUF-JFK 05:35-07:00 126 A220 open -8 - 05:27-06:49 -11 N3112J - -\nf9 207 PQI-BOS 05:45-07:09 60 E190 open 8 - 05:53-07:07 -2 N317JB - -\nf10 87 ALB-FLL 06:00-09:15 143 A320 open -6 - 05:54-08:55 -20 N585JB - -\nf11 123 JFK-LAX 06:00-11:56 128 A321P open -12 - 05:48-11:11 -45 N2142J - -\nf12 130 RSW-JFK 06:00-08:48 132 A320 open -6 - 05:54-08:48 +0 N652JB - -\nf13 166 RSW-BOS 06:00-09:11 123 A220 open -5 - 05:55-09:03 -8 N3113J - -\nf14 306 FLL-EWR 06:00-08:55 144 A320 open -8 - 05:52-08:42 -13 N591JB - -\nf15 311 BOS-ORD 06:00-08:55 122 A220 open 25 - 06:25-09:12 +17 N3145J - -\nf16 322 PBI-BOS 06:00-09:10 125 A220 open 12 - 06:12-09:12 +2 N3023J - -\nf17 382 RIC-BOS 06:00-07:40 112 A220 open -3 - 05:57-07:25 -15 N3132J - -\nf18 525 PVD-SJU 06:00-09:48 134 A320 open 2 - 06:02-10:16 +28 N633JB - -\nf19 562 SJU-BOS 06:00-10:07 148 A320 open -2 - 05:58-10:25 +18 N629JB - -\nf20 696 ATL-BOS 06:00-08:33 136 A320 open 7 - 06:07-08:37 +4 N570JB - -\nf21 737 BDL-MCO 06:00-08:54 141 A320 open -10 - 05:50-08:32 -22 N526JL - -\nf22 891 BOS-TPA 06:00-09:15 126 A220 open -3 - 05:57-09:14 -1 N3044J - -\nf23 927 EWR-MCO 06:00-08:42 142 A320 open 2 - 06:02-08:52 +10 N554JB - -\nf24 1076 PVD-MCO 06:00-08:55 127 A320 open -3 - 05:57-09:01 +6 N516JB - -\nf25 1192 TPA-BOS 06:00-09:03 136 A320 open -7 - 05:53-08:48 -15 N508JL - -\nf26 1419 DTW-JFK 06:00-07:45 108 A220 open 5 - 06:05-07:47 +2 N3138J - -\nf27 1515 SYR-JFK 06:00-07:13 97 A320 open -15 - 05:45-06:51 -22 N584JB - -\nf28 1652 MCO-BOS 06:00-09:04 176 A321 open -10 - 05:50-08:36 -28 N959JB - -\nf29 1883 BOS-RDU 06:00-08:05 121 A220 open -1 - 05:59-08:09 +4 N3062J - -\nf30 1911 EWR-RSW 06:00-08:58 127 A320 open -9 - 05:51-08:31 -27 N547JB - -\nf31 2904 SJU-JFK 06:00-09:57 191 A321 open -1 - 05:59-10:03 +6 N994JL - -\nf32 234 SJU-MCO 06:01-09:03 149 A320 open ? - 06:01-09:03 +0 N789JB - -\nf33 2133 MCO-SJU 06:01-09:00 141 A320 open ? - 06:01-09:00 +0 N519JB - -\nf34 302 FLL-JFK 06:03-08:59 143 A320 open ? - 06:03-08:59 +0 N605JB - -\nf35 307 PWM-JFK 06:05-07:24 102 A220 open ? - 06:05-07:24 +0 N3241J - -\nf36 538 BQN-JFK 06:05-09:57 143 A320 open ? - 06:05-09:57 +0 N568JB - -\nf37 1201 FLL-LAX 06:05-11:24 138 A321P open ? - 06:05-11:24 +0 N942JB - -\nf38 1333 BOS-SFO 06:05-12:43 120 A321P open ? - 06:05-12:43 +0 N2156J - -\nf39 1368 PBI-HPN 06:06-09:00 140 A320 open ? - 06:06-09:00 +0 N615JB - -\nf40 351 BOS-MCO 06:10-09:17 137 A320 open ? - 06:10-09:17 +0 N623JB - -\nf41 115 JFK-SFO 06:15-12:38 131 A321P open ? - 06:15-12:38 +0 N2180J - -\nf42 1062 PBI-LGA 06:15-08:59 131 A320 open ? - 06:15-08:59 +0 N638JB - -\nf43 1285 ROC-JFK 06:15-07:39 110 A220 open ? - 06:15-07:39 +0 N3267J - -\nf44 2751 TPA-SJU 06:15-09:18 147 A320 open ? - 06:15-09:18 +0 N534JB - -\nf45 540 CLE-BOS 06:19-08:05 81 E190 open ? - 06:19-08:05 +0 N329JB - -\nf46 109 BOS-JAX 06:20-09:07 113 A220 open ? - 06:20-09:07 +0 N3065J - -\nf47 1678 JAX-JFK 06:20-08:40 119 A220 open ? - 06:20-08:40 +0 N3189J - -\nf48 287 BOS-LAX 06:25-12:40 138 A321P open ? - 06:25-12:40 +0 N2165J - -\nf49 569 BOS-FLL 06:25-09:50 123 A220 open ? - 06:25-09:50 +0 N3149J - -\nf50 2255 BOS-DCA 06:25-08:03 83 E190 open ? - 06:25-08:03 +0 N281JB - -\nf51 254 DCA-JFK 06:30-07:43 73 A220 open ? - 06:30-07:43 +0 N3118J - -\nf52 411 JFK-LAS 06:30-12:00 138 A321P open ? - 06:30-12:00 +0 N923JB - -\nf53 599 LGA-MCO 06:30-09:12 147 A320 open ? - 06:30-09:12 +0 N586JB - -\nf54 690 FLL-BOS 06:30-09:46 129 A220 open ? - 06:30-09:46 +0 N3085J - -\nf55 1083 JFK-MCO 06:30-09:15 129 A320 open ? - 06:30-09:15 +0 N599JB - -\nf56 2718 JFK-BOS 06:30-07:44 91 A220 open ? - 06:30-07:44 +0 N3115J - -\nf57 493 BOS-DEN 06:35-11:02 143 A320 open ? - 06:35-11:02 +0 N649JB - -\nf58 959 BDL-FLL 06:45-09:58 146 A320 open ? - 06:45-09:58 +0 N646JB - -\nf59 1184 MCO-JFK 06:45-09:26 178 A321 open ? - 06:45-09:26 +0 N948JB - -\nf60 1246 SJU-FLL 06:45-09:26 149 A320 open ? - 06:45-09:26 +0 N597JB - -\nf61 2285 JFK-RDU 06:45-08:24 133 A320 open ? - 06:45-08:24 +0 N793JB - -\nf62 2625 RDU-FLL 06:45-08:55 121 A320 open ? - 06:45-08:55 +0 N784JB - -\nf63 1601 JFK-FLL 06:54-09:59 173 A321 open ? - 06:54-09:59 +0 N956JT - -\nf64 223 JFK-LAX 06:55-12:54 127 A321P open ? - 06:55-12:54 +0 N981JT - -\nf65 205 EWR-FLL 06:59-09:55 144 A320 open ? - 06:59-09:55 +0 N559JB - -\nf66 1067 HPN-PBI 06:59-09:46 144 A320 open ? - 06:59-09:46 +0 N562JB - -\nf67 165 BOS-RSW 07:00-10:28 129 A220 open ? - 07:00-10:28 +0 N3162J - -\nf68 379 DCA-FLL 07:00-09:35 118 A220 open ? - 07:00-09:35 +0 N3195J - -\nf69 397 BOS-SEA 07:00-13:20 181 A321 open ? - 07:00-13:20 +0 N950JT - -\nf70 619 BOS-SAN 07:00-13:06 136 A321P open ? - 07:00-13:06 +0 N961JT - -\nf71 971 MHT-JFK 07:00-08:14 43 A320 open ? - 07:00-08:14 +0 N703JB - -\nf72 1145 RIC-FLL 07:00-09:23 126 A320 open ? - 07:00-09:23 +0 N645JB - -\nf73 1198 PIT-JFK 07:00-08:30 59 A220 open ? - 09:48-11:18 +168 N3185J - -\nf74 1471 LGA-FLL 07:00-10:00 139 A320 open ? - 07:00-10:00 +0 N763JB - -\nf75 1476 SJU-BDL 07:00-10:53 150 A320 open ? - 07:00-10:53 +0 N635JB - -\nf76 1551 HPN-RSW 07:00-09:56 119 A320 open ? - 07:00-09:56 +0 N746JB - -\nf77 1956 FLL-ALB 07:00-10:03 120 A220 open ? - 07:00-10:03 +0 N3102J - -\nf78 814 FLL-HPN 07:05-10:07 136 A320 open ? - 07:05-10:07 +0 N805JB - -\nf79 1130 FLL-CHS 07:05-08:45 65 A220 open ? - 07:05-08:45 +0 N3125J - -\nf80 2144 PBI-EWR 07:05-09:53 138 A320 open ? - 07:05-09:53 +0 N708JB - -\nf81 1129 PVD-JFK 07:07-08:09 49 A320 open ? - 07:07-08:09 +0 N637JB - -\nf82 417 BOS-JFK 07:10-08:30 100 A320 open ? - 07:10-08:30 +0 N775JB - -\nf83 1585 BOS-PIT 07:10-09:03 107 A220 open ? - 07:10-09:03 +0 N3185J - -\nf84 2274 TPA-EWR 07:10-09:57 139 A320 open ? - 07:10-09:57 +0 N590JB - -\nf85 676 BDL-JFK 07:12-08:14 44 A320 open ? - 07:12-08:14 +0 N655JB - -\nf86 406 ORD-JFK 07:15-09:27 119 A220 open ? - 07:15-09:27 +0 N3152J - -\nf87 598 MCO-LGA 07:20-10:00 150 A320 open ? - 07:20-10:00 +0 N524JB - -\nf88 2465 BUF-FLL 07:20-10:19 146 A320 open ? - 07:20-10:19 +0 N636JB - -\nf89 716 BUF-BOS 07:22-08:42 87 E190 open ? - 07:22-08:42 +0 N324JB - -\nf90 656 MCO-SYR 07:25-10:11 129 A320 open ? - 07:25-10:11 +0 N527JL - -\nf91 1219 BOS-MIA 07:25-10:54 135 A320 open ? - 07:25-10:54 +0 N807JB - -\nf92 189 JFK-SAN 07:30-13:25 133 A321P open ? - 07:30-13:25 +0 N983JT - -\nf93 741 JFK-SAV 07:30-09:44 105 A220 open ? - 07:30-09:44 +0 N3229J - -\nf94 953 JFK-PBI 07:30-10:29 145 A320 open ? - 07:30-10:29 +0 N705JB - -\nf95 1295 BOS-BUF 07:30-09:04 85 E190 open ? - 07:30-09:04 +0 N283JB - -\nf96 1447 HPN-TPA 07:30-10:17 145 A320 open ? - 07:30-10:17 +0 N834JB - -\nf97 1602 JFK-BUF 07:30-09:00 126 A220 open ? - 07:30-09:00 +0 N3255J - -\nf98 257 BOS-BZN 07:40-12:37 142 A320 open ? - 07:40-12:37 +0 N656JB - -\nf99 377 FLL-SFO 07:40-13:30 136 A321P open ? - 07:40-13:30 +0 N979JT - -\nf100 991 FLL-SJU 07:40-10:19 145 A320 open ? - 07:40-10:19 +0 N607JB - -\nf101 1177 BOS-LAS 07:40-13:30 138 A321P open ? - 07:40-13:30 +0 N987JT - -\nf102 2423 DCA-MCO 07:40-10:02 126 A320 open ? - 07:40-10:02 +0 N571JB - -\nf103 163 JFK-SRQ 07:45-10:43 118 A220 open ? - 07:45-10:43 +0 N3157J - -\nf104 374 SYR-BOS 07:45-08:54 83 E190 open ? - 07:45-08:54 +0 N284JB - -\nf105 1573 EWR-LAX 07:45-13:33 129 A321P open ? - 07:45-13:33 +0 N964JT - -\nf106 1247 LGA-TPA 07:59-10:49 130 A320 open ? - 07:59-10:49 +0 N806JB - -\nf107 455 BOS-DCA 08:00-09:45 83 E190 open ? - 08:00-09:45 +0 N306JB - -\nf108 514 FLL-ISP 08:00-10:51 147 A320 open ? - 08:00-10:51 +0 N809JB - -\nf109 651 BOS-MCO 08:00-11:13 118 A220 open ? - 08:00-11:13 +0 N3203J - -\nf110 861 BOS-SJU 08:00-12:06 133 A320 open ? - 08:00-12:06 +0 N634JB - -\nf111 1033 MCO-SJU 08:00-11:00 130 A320 open ? - 08:00-11:00 +0 N529JB - -\nf112 1273 JFK-CHS 08:00-10:15 128 A320 open ? - 08:00-10:15 +0 N641JB - -\nf113 1293 BOS-ILM 08:00-10:03 97 A220 open ? - 08:00-10:03 +0 N3242J - -\nf114 1347 DCA-SJU 08:00-11:58 182 A321 open ? - 08:00-11:58 +0 N903JB - -\nf115 2601 HPN-SJU 08:00-11:45 122 A220 open ? - 08:00-11:45 +0 N3058J - -\nf116 2995 BOS-PDX 08:00-14:11 176 A321 open ? - 08:00-14:11 +0 N952JB - -\nf117 323 JFK-LAX 08:01-14:01 127 A321P open ? - 08:01-14:01 +0 N988JT - -\nf118 596 FLL-PVD 08:05-11:03 150 A320 open ? - 08:05-11:03 +0 N507JT - -\nf119 1159 BOS-PHL 08:05-09:40 82 E190 open ? - 08:05-09:40 +0 N323JB - -\nf120 1334 SJU-MCO 08:05-11:07 149 A320 open ? - 08:05-11:07 +0 N565JB - -\nf121 1475 BDL-SJU 08:05-11:56 126 A320 open ? - 08:05-11:56 +0 N665JB - -\nf122 183 JFK-MCO 08:10-11:00 120 A220 open ? - 08:10-11:00 +0 N3112J - -\nf123 519 JFK-ATL 08:10-10:36 124 A220 open ? - 08:10-10:36 +0 N3156J - -\nf124 687 BOS-LAX 08:10-14:22 138 A321P open ? - 08:10-14:22 +0 N4062J - -\nf125 1497 JFK-DEN 08:10-12:25 130 A320 open ? - 08:10-12:25 +0 N627JB - -\nf126 1 JFK-FLL 08:15-11:24 173 A321 open ? - 08:15-11:24 +0 N957JB - -\nf127 854 PBI-JFK 08:15-11:00 123 A220 open ? - 08:15-11:00 +0 N3232J - -\nf128 2016 FLL-PHL 08:15-11:07 134 A320 open ? - 08:15-11:07 +0 N760JB - -\nf129 215 JFK-SFO 08:20-14:50 131 A321P open ? - 08:20-14:50 +0 N984JB - -\nf130 1707 FLL-LAS 08:20-13:17 134 A321P open ? - 08:20-13:17 +0 N947JB - -\nf131 633 BOS-IAH 08:25-12:35 117 A220 open ? - 08:25-12:35 +0 N3260J - -\nf132 85 BUF-MCO 08:30-11:05 144 A320 open ? - 08:30-11:05 +0 N632JB - -\nf133 813 HPN-FLL 08:30-11:25 141 A320 open ? - 08:30-11:25 +0 N535JB - -\nf134 1018 JFK-BOS 08:30-09:51 91 A220 open ? - 08:30-09:51 +0 N3241J - -\nf135 1117 BOS-JFK 08:40-09:59 86 A220 open ? - 08:40-09:59 +0 N3261J - -\nf136 1263 BOS-TVC 08:40-11:01 84 A220 open ? - 09:00-11:21 +20 N3275J - -\nf137 1241 BDL-PBI 08:45-11:45 144 A320 open ? - 08:45-11:45 +0 N643JB - -\nf138 1324 BOS-MVY 08:45-09:31 55 E190 open ? - 09:00-09:46 +15 N317JB - -\nf139 2024 MCO-DCA 08:45-11:00 137 A320 open ? - 08:45-11:00 +0 N589JB - -\nf140 762 SJU-BOS 08:50-12:59 183 A321 open ? - 08:50-12:59 +0 N907JB - -\nf141 768 PSE-MCO 08:50-11:53 135 A320 open ? - 08:50-11:53 +0 N504JB - -\nf142 1603 JFK-SJU 08:50-12:50 138 A321P open ? - 09:00-13:00 +10 N929JB - -\nf143 1854 DCA-BOS 08:50-10:29 84 E190 open ? - 08:50-10:29 +0 N281JB - -\nf144 2121 HPN-ACK 08:56-10:00 73 E190 open ? - 08:56-10:00 +0 N318JB - -\nf145 116 SFO-JFK 09:00-14:40 138 A321P open ? - 09:00-14:40 +0 N978JB - -\nf146 484 RDU-BOS 09:00-10:59 118 A220 open ? - 09:00-10:59 +0 N3062J - -\nf147 791 BOS-TPA 09:00-12:15 126 A220 open ? - 09:00-12:15 +0 N3194J - -\nf148 837 BOS-DTW 09:00-11:11 122 A220 open ? - 09:00-11:11 +0 N3139J - -\nf149 888 LAX-BOS 09:00-14:40 138 A321P open ? - 09:00-14:40 +0 N937JB - -\nf150 1454 SJU-FLL 09:00-11:41 149 A320 open ? - 09:00-11:41 +0 N505JB - -\nf151 2828 MCO-ALB 09:00-11:48 141 A320 open ? - 09:00-11:48 +0 N594JB - -\nf152 2433 DCA-PBI 09:02-11:32 103 A220 open ? - 09:02-11:32 +0 N3258J - -\nf153 219 BOS-SAN 09:03-15:08 136 A321P open ? - 09:03-15:08 +0 N977JE - -\nf154 434 SFO-BOS 09:05-14:50 138 A321P open ? - 09:05-14:50 +0 N969JT - -\nf155 1097 BOS-ATL 09:05-11:54 144 A320 open ? - 09:05-11:54 +0 N598JB - -\nf156 1529 JFK-RSW 09:05-12:12 144 A320 open ? - 09:05-12:12 +0 N566JB - -\nf157 523 JFK-LAX 09:09-15:05 127 A321P open ? - 09:09-15:05 +0 N993JE - -\nf158 94 MCO-HPN 09:10-11:57 140 A320 open ? - 09:10-11:57 +0 N613JB - -\nf159 2041 BOS-CLE 09:10-11:12 112 A220 open ? - 09:10-11:12 +0 N3196J - -\nf160 75 JFK-MSY 09:15-12:31 123 A220 open ? - 09:15-12:31 +0 N3267J - -\nf161 1807 BOS-BNA 09:15-12:03 124 A320 open ? - 09:15-12:03 +0 N706JB - -\nf162 1338 JFK-MVY 09:16-10:29 106 A220 open ? - 09:16-10:29 +0 N3118J - -\nf163 2786 RDU-JFK 09:19-10:58 134 A320 open ? - 09:19-10:58 +0 N793JB - -\nf164 2355 BOS-DCA 09:22-10:59 83 E190 open ? - 09:22-10:59 +0 N329JB - -\nf165 124 LAX-JFK 09:25-14:59 134 A321P open ? - 09:25-14:59 +0 N945JT - -\nf166 511 JFK-LAS 09:30-15:07 138 A321P open ? - 09:30-15:07 +0 N2188J - -\nf167 905 JFK-ORD 09:30-12:19 121 A220 open ? - 09:30-12:19 +0 N3138J - -\nf168 1131 CHS-FLL 09:30-11:09 87 A220 open ? - 09:30-11:09 +0 N3125J - -\nf169 2352 BOS-ACK 09:35-10:29 71 E190 open ? - 09:35-10:29 +0 N324JB - -\nf170 2638 BQN-JFK 09:35-13:29 143 A320 open ? - 11:24-15:18 +109 N659JB - -\nf171 312 ORD-BOS 09:40-12:04 127 A220 open ? - 09:51-12:15 +11 N3145J - -\nf172 385 BOS-PIT 09:41-11:28 76 E190 open ? - 09:41-11:28 +0 N284JB - -\nf173 1686 TPA-JFK 09:44-12:30 138 A320 open ? - 09:44-12:30 +0 N587JB - -\nf174 127 EWR-MCO 09:45-12:35 142 A320 open ? - 09:45-12:35 +0 N531JL - -\nf175 172 FLL-LGA 09:45-12:37 146 A320 open ? - 09:45-12:37 +0 N556JB - -\nf176 488 MCO-ORH 09:45-12:39 124 A320 open ? - 09:45-12:39 +0 N624JB - -\nf177 546 MCO-ISP 09:45-12:26 145 A320 open ? - 09:45-12:26 +0 N630JB - -\nf178 1901 BUF-JFK 09:45-11:09 126 A220 open ? - 09:45-11:09 +0 N3255J - -\nf179 2695 HPN-MCO 09:45-12:28 135 A320 open ? - 09:45-12:28 +0 N615JB - -\nf180 1912 RSW-EWR 09:48-12:39 148 A320 open ? - 09:48-12:39 +0 N547JB - -\nf181 1296 BUF-BOS 09:49-11:14 87 E190 open ? - 09:49-11:14 +0 N283JB - -\nf182 267 BOS-CHS 09:55-12:24 124 A220 open ? - 09:55-12:24 +0 N3169J - -\nf183 670 MCO-RIC 09:55-12:00 138 A320 open ? - 09:55-12:00 +0 N552JB - -\nf184 1310 JAX-BOS 09:55-12:35 113 A220 open ? - 09:55-12:35 +0 N3065J - -\nf185 1461 LGA-PBI 09:55-12:49 135 A320 open ? - 09:55-12:49 +0 N638JB - -\nf186 1235 BOS-SJU 09:56-14:01 115 A220 open ? - 09:56-14:01 +0 N3251J - -\nf187 186 JFK-ROC 09:59-11:24 116 A220 open ? - 09:59-11:24 +0 N3257J - -\nf188 579 DCA-FLL 09:59-12:37 118 A220 open ? - 09:59-12:37 +0 N3142J - -\nf189 393 BOS-DEN 10:00-14:37 143 A320 open ? - 10:00-14:37 +0 N579JB - -\nf190 892 TPA-BOS 10:00-13:04 118 A220 open ? - 10:00-13:04 +0 N3044J - -\nf191 1286 PIT-BOS 10:00-11:39 107 A220 open ? - 17:54-19:33 +474 N3275J - -\nf192 249 BOS-SAV 10:05-12:40 112 A220 open ? - 10:05-12:40 +0 N3215J - -\nf193 1142 PBI-BDL 10:05-12:59 149 A320 open ? - 10:05-12:59 +0 N661JB - -\nf194 2801 FLL-LAX 10:05-15:24 138 A321P open ? - 10:05-15:24 +0 N944JT - -\nf195 1225 MVY-BOS 10:06-10:55 60 E190 open ? - 10:19-11:08 +13 N317JB - -\nf196 2686 MCO-BUF 10:07-12:48 147 A320 open ? - 10:07-12:48 +0 N580JB - -\nf197 2584 MCO-JFK 10:09-12:49 134 A320 open ? - 10:09-12:49 +0 N506JB - -\nf198 21 BOS-PBI 10:10-13:22 179 A321 open ? - 10:10-13:22 +0 N971JT - -\nf199 1123 JFK-LAX 10:14-16:10 127 A321P open ? - 10:14-16:10 +0 N985JT - -\nf200 552 MCO-BOS 10:15-13:14 142 A320 open ? - 10:15-13:14 +0 N804JB - -\nf201 815 BOS-DFW 10:15-14:19 145 A320 open ? - 10:15-14:19 +0 N536JB - -\nf202 1160 PHL-BOS 10:15-11:40 85 E190 open ? - 10:20-11:45 +5 N323JB - -\nf203 2902 JFK-BUF 10:25-11:56 126 A220 open ? - 10:25-11:56 +0 N3189J - -\nf204 142 SAV-JFK 10:29-12:29 109 A220 open ? - 10:29-12:29 +0 N3229J - -\nf205 554 DCA-BOS 10:30-12:05 84 E190 open ? - 10:30-12:05 +0 N306JB - -\nf206 1833 BOS-SFO 10:30-17:04 138 A321P open ? - 10:30-17:04 +0 N2193J - -\nf207 904 SJU-JFK 10:35-14:30 191 A321 open ? - 10:35-14:30 +0 N913JB - -\nf208 2091 JFK-ACK 10:35-11:53 95 A220 open ? - 10:35-11:53 +0 N3152J - -\nf209 2273 EWR-TPA 10:38-13:28 139 A320 open ? - 10:38-13:28 +0 N606JB - -\nf210 404 SJU-RDU 10:39-14:19 142 A320 open ? - 11:01-14:41 +22 N633JB - -\nf211 316 SFO-JFK 10:40-16:16 138 A321P open ? - 10:40-16:16 +0 N968JT - -\nf212 418 JFK-BOS 10:40-11:58 105 A320 open ? - 10:40-11:58 +0 N517JB - -\nf213 2493 ACK-DCA 10:45-12:20 78 E190 open ? - 10:45-12:20 +0 N318JB - -\nf214 1552 RSW-HPN 10:46-13:43 128 A320 open ? - 10:46-13:43 +0 N746JB - -\nf215 1290 ILM-BOS 10:48-12:45 109 A220 open ? - 10:48-12:45 +0 N3242J - -\nf216 1925 ALB-FLL 10:48-13:59 124 A220 open ? - 10:48-13:59 +0 N3102J - -\nf217 225 JFK-TPA 10:50-13:45 143 A320 open ? - 10:50-13:45 +0 N658JB - -\nf218 499 LGA-MCO 10:50-13:40 147 A320 open ? - 10:50-13:40 +0 N524JB - -\nf219 133 MCO-SJU 10:52-13:53 141 A320 open ? - 10:52-13:53 +0 N561JB - -\nf220 401 BOS-MSY 10:55-14:32 121 A220 open ? - 10:55-14:32 +0 N3115J - -\nf221 1487 BOS-LAX 10:55-17:09 138 A321P open ? - 10:55-17:09 +0 N946JL - -\nf222 678 JFK-JAX 10:59-13:28 122 A220 open ? - 10:59-13:28 +0 N3261J - -\nf223 1167 HPN-PBI 10:59-13:50 144 A320 open ? - 10:59-13:50 +0 N766JB - -\nf224 655 SYR-MCO 11:00-13:56 129 A320 open ? - 11:00-13:56 +0 N527JL - -\nf225 947 JFK-BZN 11:00-15:56 140 A320 open ? - 11:00-15:56 +0 N827JB - -\nf226 1700 LAX-FLL 11:00-16:22 138 A321P open ? - 11:00-16:22 +0 N990JL - -\nf227 2474 CHS-JFK 11:00-12:59 132 A320 open ? - 11:00-12:59 +0 N641JB - -\nf228 1902 FLL-JFK 11:04-14:00 176 A321 open ? - 11:04-14:00 +0 N956JT - -\nf229 272 FLL-LGA 11:09-14:04 146 A320 open ? - 11:09-14:04 +0 N784JB - -\nf230 2074 LAX-EWR 11:10-16:40 138 A321P open ? - 11:10-16:40 +0 N992JB - -\nf231 266 RSW-BOS 11:13-14:23 123 A220 open ? - 11:13-14:23 +0 N3162J - -\nf232 1054 PBI-JFK 11:14-13:59 143 A320 open ? - 11:14-13:59 +0 N562JB - -\nf233 1288 PBI-PVD 11:14-14:07 143 A320 open ? - 11:14-14:07 +0 N705JB - -\nf234 1339 MVY-JFK 11:14-12:20 110 A220 open ? - 11:14-12:20 +0 N3118J - -\nf235 503 JFK-SJU 11:15-15:12 144 A320 open ? - 11:15-15:12 +0 N651JB - -\nf236 831 ACK-LGA 11:15-12:30 79 E190 open ? - 11:15-12:30 +0 N324JB - -\nf237 1017 BOS-JFK 11:15-12:32 86 A220 open ? - 11:15-12:32 +0 N3241J - -\nf238 1055 BOS-DCA 11:15-12:58 83 E190 open ? - 11:15-12:58 +0 N281JB - -\nf239 138 MCO-BDL 11:20-14:09 139 A320 open ? - 11:20-14:09 +0 N526JL - -\nf240 1144 MCO-MHT 11:20-14:18 140 A320 open ? - 11:20-14:18 +0 N554JB - -\nf241 2143 EWR-PBI 11:20-14:11 139 A320 open ? - 11:20-14:11 +0 N591JB - -\nf242 1734 SFO-BOS 11:25-17:14 138 A321P open ? - 11:25-17:14 +0 N935JB - -\nf243 1890 SJU-EWR 11:25-15:34 190 A321 open ? - 11:25-15:34 +0 N996JL - -\nf244 1520 ATL-JFK 11:26-13:46 125 A220 open ? - 11:26-13:46 +0 N3156J - -\nf245 288 LAX-BOS 11:30-17:20 138 A321P open ? - 11:30-17:20 +0 N991JT - -\nf246 164 SRQ-JFK 11:35-14:30 126 A220 open ? - 11:35-14:30 +0 N3157J - -\nf247 194 MCO-HPN 11:40-14:29 140 A320 open ? - 11:40-14:29 +0 N516JB - -\nf248 513 ISP-FLL 11:40-14:37 150 A320 open ? - 11:40-14:37 +0 N809JB - -\nf249 2051 BOS-MCO 11:40-14:53 127 A320 open ? - 11:40-14:53 +0 N608JB - -\nf250 1220 MIA-BOS 11:43-15:12 144 A320 open ? - 11:43-15:12 +0 N807JB - -\nf251 184 MCO-JFK 11:45-14:29 125 A220 open ? - 11:45-14:29 +0 N3112J - -\nf252 1923 DCA-MCO 11:45-14:05 126 A320 open ? - 11:45-14:05 +0 N589JB - -\nf253 2454 DCA-BOS 11:45-13:15 84 E190 open ? - 11:45-13:15 +0 N329JB - -\nf254 1264 TVC-BOS 11:46-13:48 111 A220 open ? - 12:06-14:08 +20 N3275J - -\nf255 1281 BOS-RIC 11:49-13:37 116 A220 open ? - 11:49-13:37 +0 N3023J - -\nf256 597 PVD-FLL 11:50-14:55 139 A320 open ? - 11:50-14:55 +0 N507JT - -\nf257 641 BOS-CLE 11:50-13:49 80 E190 open ? - 11:50-13:49 +0 N317JB - -\nf258 934 SJU-MCO 11:50-14:55 138 A320 open ? - 11:50-14:55 +0 N529JB - -\nf259 1103 BDL-RSW 11:50-15:04 130 A320 open ? - 11:50-15:04 +0 N635JB - -\nf260 1215 BOS-BUF 11:54-13:26 85 E190 open ? - 11:54-13:26 +0 N283JB - -\nf261 2028 MCO-EWR 11:55-14:40 149 A320 open ? - 11:55-14:40 +0 N789JB - -\nf262 429 PHL-FLL 11:56-14:47 126 A320 open ? - 11:56-14:47 +0 N760JB - -\nf263 1336 DTW-BOS 11:57-13:51 117 A220 open ? - 11:57-13:51 +0 N3139J - -\nf264 494 DEN-BOS 11:59-16:05 145 A320 open ? - 11:59-16:05 +0 N649JB - -\nf265 83 JFK-MCO 12:00-14:54 139 A320 open ? - 12:00-14:54 +0 N639JB - -\nf266 261 BOS-SJU 12:00-16:04 115 A220 open ? - 12:00-16:04 +0 N3104J - -\nf267 352 MCO-BOS 12:00-15:05 123 A220 open ? - 12:00-15:05 +0 N3203J - -\nf268 415 JFK-SFO 12:00-18:20 131 A321P open ? - 12:00-18:20 +0 N980JT - -\nf269 508 JFK-PWM 12:00-13:23 93 A220 open ? - 12:00-13:23 +0 N3255J - -\nf270 1075 MCO-PVD 12:00-14:53 147 A320 open ? - 12:00-14:53 +0 N586JB - -\nf271 2020 FLL-ORH 12:05-15:03 93 A220 open ? - 12:05-15:03 +0 N3125J - -\nf272 2040 CLE-BOS 12:05-13:52 114 A220 open ? - 12:05-13:52 +0 N3196J - -\nf273 423 JFK-LAX 12:10-18:10 127 A321P open ? - 12:10-18:10 +0 N962JT - -\nf274 386 PIT-BOS 12:13-13:56 77 E190 open ? - 12:13-13:56 +0 N284JB - -\nf275 1553 FLL-SJU 12:15-14:58 145 A320 open ? - 12:15-14:58 +0 N645JB - -\nf276 698 MCO-LGA 12:25-15:05 150 A320 open ? - 12:25-15:05 +0 N599JB - -\nf277 2469 BOS-FLL 12:25-15:49 123 A220 open ? - 12:25-15:49 +0 N3085J - -\nf278 2334 PBI-DCA 12:27-14:50 108 A220 open ? - 12:27-14:50 +0 N3258J - -\nf279 485 ROC-JFK 12:30-13:49 110 A220 open ? - 12:30-13:49 +0 N3257J - -\nf280 501 JFK-FLL 12:30-15:38 140 A320 open ? - 12:30-15:38 +0 N520JB - -\nf281 1352 BOS-ACK 12:32-13:25 71 E190 open ? - 12:32-13:25 +0 N323JB - -\nf282 2827 ALB-MCO 12:33-15:39 137 A320 open ? - 12:33-15:39 +0 N594JB - -\nf283 524 LAX-JFK 12:35-18:15 134 A321P open ? - 12:35-18:15 +0 N2142J - -\nf284 544 PBI-ISP 12:37-15:20 147 A320 open ? - 12:37-15:20 +0 N643JB - -\nf285 2901 BUF-JFK 12:41-14:12 126 A220 open ? - 12:41-14:12 +0 N3189J - -\nf286 70 FLL-BOS 12:45-16:04 149 A320 open ? - 12:45-16:04 +0 N535JB - -\nf287 862 SJU-BOS 12:45-16:53 128 A220 open ? - 12:45-16:53 +0 N3058J - -\nf288 896 ATL-BOS 12:48-15:24 136 A320 open ? - 12:48-15:24 +0 N598JB - -\nf289 1806 BNA-BOS 12:48-15:25 117 A320 open ? - 12:48-15:25 +0 N706JB - -\nf290 2033 BOS-IAH 12:48-17:01 136 A320 open ? - 12:48-17:01 +0 N521JB - -\nf291 92 ACK-JFK 12:49-13:59 97 A220 open ? - 12:49-13:59 +0 N3152J - -\nf292 936 SJU-STT 12:50-13:28 126 A320 open ? - 12:50-13:28 +0 N665JB - -\nf293 48 TPA-LGA 12:55-15:32 140 A320 open ? - 12:55-15:32 +0 N806JB - -\nf294 969 RIC-MCO 12:55-15:02 117 A320 open ? - 12:55-15:02 +0 N552JB - -\nf295 1039 BOS-AUS 12:59-17:12 129 A220 open ? - 12:59-17:12 +0 N3062J - -\nf296 1251 HPN-RSW 13:00-16:00 119 A320 open ? - 13:00-16:00 +0 N805JB - -\nf297 2940 SJU-STX 13:01-13:41 114 A320 open ? - 13:01-13:41 +0 N634JB - -\nf298 1414 DCA-MVY 13:05-14:28 77 E190 open ? - 13:05-14:28 +0 N318JB - -\nf299 906 ORD-JFK 13:07-15:30 119 A220 open ? - 13:07-15:30 +0 N3138J - -\nf300 1530 RSW-JFK 13:07-15:59 132 A320 open ? - 13:07-15:59 +0 N566JB - -\nf301 448 LAS-JFK 13:10-18:26 138 A321P open ? - 13:10-18:26 +0 N923JB - -\nf302 592 TPA-BOS 13:10-16:18 118 A220 open ? - 13:10-16:18 +0 N3194J - -\nf303 2432 LGA-ACK 13:10-14:23 67 E190 open ? - 13:10-14:23 +0 N324JB - -\nf304 176 MSY-JFK 13:18-16:30 117 A220 open ? - 13:18-16:30 +0 N3267J - -\nf305 68 CHS-BOS 13:19-15:41 119 A220 open ? - 13:19-15:41 +0 N3169J - -\nf306 855 BOS-DCA 13:20-15:08 83 E190 open ? - 13:55-15:43 +35 N329JB - -\nf307 547 ISP-MCO 13:21-16:03 150 A320 open ? - 13:21-16:03 +0 N630JB - -\nf308 632 IAH-BOS 13:23-17:20 114 A220 open ? - 13:23-17:20 +0 N3260J - -\nf309 1084 MCO-JFK 13:23-16:10 144 A320 open ? - 13:23-16:10 +0 N571JB - -\nf310 1498 DEN-JFK 13:25-17:24 132 A320 open ? - 13:25-17:24 +0 N627JB - -\nf311 105 EWR-FLL 13:29-16:25 144 A320 open ? - 13:29-16:25 +0 N708JB - -\nf312 128 MCO-EWR 13:30-16:17 149 A320 open ? - 13:30-16:17 +0 N632JB - -\nf313 256 BZN-BOS 13:30-17:55 138 A320 open ? - 13:30-17:55 +0 N656JB - -\nf314 1173 JFK-BNA 13:30-15:57 119 A220 open ? - 13:30-15:57 +0 N3185J - -\nf315 1371 LGA-FLL 13:30-16:36 139 A320 open ? - 13:30-16:36 +0 N556JB - -\nf316 487 ORH-MCO 13:34-16:40 118 A320 open ? - 13:34-16:40 +0 N624JB - -\nf317 150 SAV-BOS 13:35-15:59 116 A220 open ? - 13:35-15:59 +0 N3215J - -\nf318 424 LAX-JFK 13:35-19:15 135 A321P open ? - 13:35-19:15 +0 N942JB - -\nf319 811 BOS-ORD 13:40-16:32 122 A220 open ? - 13:40-16:32 +0 N3145J - -\nf320 1680 FLL-DCA 13:40-16:12 120 A220 open ? - 13:40-16:12 +0 N3142J - -\nf321 2229 BOS-MKE 13:40-16:08 118 A220 open ? - 13:40-16:08 +0 N3065J - -\nf322 2685 BUF-MCO 13:43-16:25 144 A320 open ? - 13:43-16:25 +0 N580JB - -\nf323 1254 DCA-BOS 13:44-15:25 84 E190 open ? - 13:44-15:25 +0 N281JB - -\nf324 419 JFK-ATL 13:50-16:29 144 A320 open ? - 13:50-16:29 +0 N584JB - -\nf325 1604 SJU-JFK 13:50-17:49 138 A321P open ? - 14:04-18:03 +14 N929JB - -\nf326 119 MCO-ALB 13:53-16:50 141 A320 open ? - 13:53-16:50 +0 N565JB - -\nf327 533 BDL-TPA 13:55-17:00 146 A320 open ? - 13:55-17:00 +0 N661JB - -\nf328 834 SFO-BOS 13:56-19:45 129 A321P open ? - 13:56-19:45 +0 N2180J - -\nf329 817 BOS-JFK 13:59-15:15 86 A220 open ? - 13:59-15:15 +0 N3242J - -\nf330 1002 FLL-JFK 13:59-16:57 143 A320 open ? - 13:59-16:57 +0 N505JB - -\nf331 100 LAX-FLL 14:00-19:22 138 A321P open ? - 14:00-19:22 +0 N2165J - -\nf332 2291 JFK-ACK 14:00-15:23 95 A220 open ? - 14:00-15:23 +0 N3229J - -\nf333 761 BOS-SJU 14:05-18:07 165 A321 open ? - 14:05-18:07 +0 N959JB - -\nf334 2251 BOS-MCO 14:09-17:31 137 A320 open ? - 14:09-17:31 +0 N508JL - -\nf335 2665 ACK-HPN 14:10-15:14 78 E190 open ? - 14:10-15:14 +0 N323JB - -\nf336 2656 MCO-SYR 14:12-17:02 129 A320 open ? - 14:12-17:02 +0 N504JB - -\nf337 216 SFO-JFK 14:14-20:00 138 A321P open ? - 14:14-20:00 +0 N2156J - -\nf338 1216 BUF-BOS 14:14-15:45 87 E190 open ? - 14:14-15:45 +0 N283JB - -\nf339 553 FLL-SJU 14:15-16:55 179 A321 open ? - 14:15-16:55 +0 N957JB - -\nf340 1685 JFK-TPA 14:15-17:25 143 A320 open ? - 14:15-17:25 +0 N655JB - -\nf341 620 SAN-BOS 14:16-20:06 138 A321P open ? - 14:16-20:06 +0 N961JT - -\nf342 407 PWM-JFK 14:19-15:45 102 A220 open ? - 14:19-15:45 +0 N3255J - -\nf343 1754 SJU-FLL 14:20-17:01 184 A321 open ? - 14:20-17:01 +0 N903JB - -\nf344 435 STT-SJU 14:23-15:10 143 A320 open ? - 14:23-15:10 +0 N665JB - -\nf345 1690 TPA-PVD 14:23-17:20 134 A320 open ? - 14:23-17:20 +0 N606JB - -\nf346 677 JAX-JFK 14:24-16:44 119 A220 open ? - 14:24-16:44 +0 N3261J - -\nf347 1501 JFK-FLL 14:29-17:46 140 A320 open ? - 14:29-17:46 +0 N605JB - -\nf348 1708 LAS-FLL 14:29-19:35 138 A321P open ? - 14:29-19:35 +0 N947JB - -\nf349 398 SEA-BOS 14:30-20:05 186 A321 open ? - 14:30-20:05 +0 N950JT - -\nf350 22 PBI-BOS 14:32-17:42 178 A321 open ? - 14:32-17:42 +0 N971JT - -\nf351 1168 PBI-HPN 14:32-17:30 140 A320 open ? - 14:32-17:30 +0 N638JB - -\nf352 1282 RIC-BOS 14:32-16:10 112 A220 open ? - 14:32-16:10 +0 N3023J - -\nf353 2283 BOS-RDU 14:35-16:43 86 E190 open ? - 14:36-16:44 +1 N284JB - -\nf354 2324 MCO-DCA 14:35-16:56 137 A320 open ? - 14:35-16:56 +0 N593JB - -\nf355 2941 STX-SJU 14:36-15:23 110 A320 open ? - 14:36-15:23 +0 N634JB - -\nf356 190 SAN-JFK 14:39-20:30 137 A321P open ? - 14:39-20:30 +0 N983JT - -\nf357 226 TPA-JFK 14:40-17:28 138 A320 open ? - 14:40-17:28 +0 N658JB - -\nf358 378 SFO-FLL 14:40-20:23 138 A321P open ? - 14:40-20:23 +0 N979JT - -\nf359 595 HPN-MCO 14:40-17:30 135 A320 open ? - 14:40-17:30 +0 N613JB - -\nf360 640 CLE-BOS 14:41-16:28 81 E190 open ? - 14:41-16:28 +0 N317JB - -\nf361 1388 LAX-BOS 14:44-20:25 138 A321P open ? - 14:44-20:25 +0 N981JT - -\nf362 318 JFK-BOS 14:45-16:13 91 A220 open ? - 14:45-16:13 +0 N3241J - -\nf363 387 BOS-LAX 14:45-20:51 138 A321P open ? - 14:45-20:51 +0 N982JB - -\nf364 1178 LAS-BOS 14:45-20:00 138 A321P open ? - 14:45-20:00 +0 N987JT - -\nf365 1538 JFK-MVY 14:45-16:01 106 A220 open ? - 14:45-16:01 +0 N3156J - -\nf366 2321 BOS-PBI 14:46-18:03 125 A220 open ? - 14:46-18:03 +0 N3044J - -\nf367 1874 LAX-EWR 14:48-20:20 138 A321P open ? - 14:48-20:20 +0 N964JT - -\nf368 349 BOS-SAV 14:50-17:30 112 A220 open ? - 14:50-17:30 +0 N3139J - -\nf369 399 LGA-MCO 14:54-17:55 147 A320 open ? - 14:54-17:55 +0 N784JB - -\nf370 285 JFK-RDU 14:55-16:48 115 A220 open ? - 14:55-16:48 +0 N3257J - -\nf371 1964 JFK-HYA 14:55-16:15 96 A220 open ? - 14:55-16:15 +0 N3152J - -\nf372 2065 BOS-RSW 14:55-18:27 129 A220 open ? - 14:55-18:27 +0 N3196J - -\nf373 883 JFK-MCO 14:57-18:05 120 A220 open ? - 14:57-18:05 +0 N3189J - -\nf374 1004 SJU-JFK 14:58-18:56 150 A320 open ? - 14:58-18:56 +0 N561JB - -\nf375 738 MCO-BDL 14:59-17:50 139 A320 open ? - 14:59-17:50 +0 N615JB - -\nf376 1586 MCO-BUF 14:59-17:42 147 A320 open ? - 14:59-17:42 +0 N531JL - -\nf377 1133 MCO-SJU 15:00-18:00 141 A320 open ? - 15:00-18:00 +0 N588JB - -\nf378 1226 SJU-BOS 15:00-19:08 128 A220 open ? - 15:00-19:08 +0 N3251J - -\nf379 1287 PVD-PBI 15:02-18:11 145 A320 open ? - 15:02-18:11 +0 N705JB - -\nf380 37 BDL-MCO 15:05-18:11 131 A320 open ? - 15:05-18:11 +0 N526JL - -\nf381 1151 ACK-BOS 15:08-16:05 69 E190 open ? - 15:08-16:05 +0 N324JB - -\nf382 1903 RDU-SJU 15:14-18:55 127 A320 open ? - 15:26-19:07 +12 N633JB - -\nf383 53 JFK-PBI 15:15-18:21 125 A220 open ? - 15:15-18:21 +0 N3112J - -\nf384 1143 MHT-MCO 15:15-18:32 133 A320 open ? - 15:15-18:32 +0 N554JB - -\nf385 1214 DFW-BOS 15:15-19:09 139 A320 open ? - 15:15-19:09 +0 N536JB - -\nf386 1785 BOS-PIT 15:18-17:09 107 A220 open ? - 15:18-17:09 +0 N3275J - -\nf387 1813 BOS-ORF 15:18-17:02 114 A220 open ? - 15:18-17:02 +0 N3162J - -\nf388 2459 BOS-PHL 15:20-16:55 132 A320 open ? - 15:20-16:55 +0 N517JB - -\nf389 324 LAX-JFK 15:21-21:00 134 A321P open ? - 15:21-21:00 +0 N988JT - -\nf390 2996 PDX-BOS 15:21-20:43 181 A321 open ? - 15:21-20:43 +0 N952JB - -\nf391 1413 MVY-DCA 15:26-17:00 80 E190 open ? - 15:26-17:00 +0 N318JB - -\nf392 400 MSY-BOS 15:28-19:00 114 A220 open ? - 15:28-19:00 +0 N3115J - -\nf393 24 PBI-DCA 15:30-18:00 125 A320 open ? - 15:30-18:00 +0 N766JB - -\nf394 1211 JFK-LAS 15:30-21:10 119 A321P open ? - 15:30-21:10 +0 N976JT - -\nf395 394 DEN-BOS 15:33-19:40 145 A320 open ? - 15:33-19:40 +0 N579JB - -\nf396 873 EWR-TPA 15:38-18:40 139 A320 open ? - 15:38-18:40 +0 N569JB - -\nf397 2473 JFK-CHS 15:44-18:04 111 A220 open ? - 15:44-18:04 +0 N3157J - -\nf398 1354 DCA-BOS 15:45-17:20 118 A220 open ? - 15:45-17:20 +0 N3258J - -\nf399 1196 FLL-PVD 15:47-18:52 150 A320 open ? - 15:47-18:52 +0 N640JB - -\nf400 233 BOS-SFO 15:50-22:33 138 A321P open ? - 15:50-22:33 +0 N937JB - -\nf401 471 LGA-FLL 15:55-19:07 139 A320 open ? - 15:55-19:07 +0 N599JB - -\nf402 2052 MCO-BOS 15:55-19:05 132 A320 open ? - 15:55-19:05 +0 N623JB - -\nf403 803 JFK-SJU 15:59-20:04 178 A321 open ? - 15:59-20:04 +0 N974JT - -\nf404 1098 MCO-LGA 15:59-18:47 150 A320 open ? - 15:59-18:47 +0 N527JL - -\nf405 1189 JFK-SAN 15:59-21:57 133 A321P open ? - 15:59-21:57 +0 N4077J - -\nf406 2119 ORH-FLL 15:59-19:21 98 A220 open ? - 15:59-19:21 +0 N3125J - -\nf407 2666 HPN-ACK 15:59-17:07 73 E190 open ? - 15:59-17:07 +0 N323JB - -\nf408 391 BOS-TPA 16:00-19:34 126 A220 open ? - 16:00-19:34 +0 N3203J - -\nf409 1023 JFK-LAX 16:00-22:13 128 A321P open ? - 16:00-22:13 +0 N2151J - -\nf410 2004 RSW-BDL 16:00-18:53 133 A320 open ? - 16:00-18:53 +0 N635JB - -\nf411 2494 DCA-ACK 16:00-17:26 65 E190 open ? - 16:15-17:41 +15 N329JB - -\nf412 2022 FLL-PHL 16:04-19:01 134 A320 open ? - 16:04-19:01 +0 N760JB - -\nf413 495 HPN-MCO 16:05-18:59 135 A320 open ? - 16:05-18:59 +0 N746JB - -\nf414 188 LAX-BOS 16:10-21:52 138 A321P open ? - 16:10-21:52 +0 N4062J - -\nf415 416 SFO-JFK 16:10-21:58 138 A321P open ? - 16:10-21:58 +0 N984JB - -\nf416 224 LAX-JFK 16:15-21:54 134 A321P open ? - 16:15-21:54 +0 N993JE - -\nf417 276 SJU-BDL 16:15-20:10 150 A320 open ? - 16:15-20:10 +0 N665JB - -\nf418 545 ISP-PBI 16:15-19:05 148 A320 open ? - 16:15-19:05 +0 N643JB - -\nf419 1355 BOS-DCA 16:15-18:05 83 E190 open ? - 16:15-18:05 +0 N281JB - -\nf420 348 LAS-JFK 16:17-21:29 138 A321P open ? - 16:17-21:29 +0 N2188J - -\nf421 192 ACK-JFK 16:18-17:29 97 A220 open ? - 16:18-17:29 +0 N3229J - -\nf422 507 BOS-BNA 16:19-19:22 133 A320 open ? - 16:19-19:22 +0 N804JB - -\nf423 451 BOS-MCO 16:20-19:49 127 A320 open ? - 16:20-19:49 +0 N807JB - -\nf424 220 SAN-BOS 16:30-22:20 138 A321P open ? - 16:30-22:20 +0 N977JE - -\nf425 263 JFK-SEA 16:30-22:58 175 A321 open ? - 16:30-22:58 +0 N995JL - -\nf426 319 BOS-SAN 16:30-22:48 136 A321P open ? - 16:30-22:48 +0 N934JB - -\nf427 618 JFK-BOS 16:30-17:59 91 A220 open ? - 16:30-17:59 +0 N3242J - -\nf428 699 LGA-MCO 16:30-19:37 147 A320 open ? - 16:30-19:37 +0 N806JB - -\nf429 1115 BOS-BUF 16:30-18:10 85 E190 open ? - 16:30-18:10 +0 N283JB - -\nf430 341 JFK-SAV 16:31-19:02 150 A321 open ? - 16:31-19:02 +0 N956JT - -\nf431 1694 MCO-HPN 16:34-19:29 130 A320 open ? - 16:34-19:29 +0 N529JB - -\nf432 1237 BOS-DTW 16:36-18:52 122 A220 open ? - 16:44-19:00 +8 N3215J - -\nf433 1200 LAX-FLL 16:39-22:00 138 A321P open ? - 16:39-22:00 +0 N944JT - -\nf434 1752 SJU-TPA 16:43-19:44 149 A320 open ? - 16:43-19:44 +0 N607JB - -\nf435 1289 EWR-SJU 16:45-20:46 187 A321 open ? - 16:45-20:46 +0 N996JL - -\nf436 1689 PVD-TPA 16:45-19:56 129 A320 open ? - 16:45-19:56 +0 N586JB - -\nf437 1880 FLL-DCA 16:45-19:17 120 A220 open ? - 16:45-19:17 +0 N3149J - -\nf438 2134 SJU-MCO 16:45-19:50 149 A320 open ? - 16:45-19:50 +0 N634JB - -\nf439 509 BOS-JAX 16:50-19:52 130 A320 open ? - 16:50-19:52 +0 N598JB - -\nf440 944 BZN-JFK 16:51-21:17 138 A320 open ? - 16:51-21:17 +0 N827JB - -\nf441 1174 BNA-JFK 16:52-19:15 112 A220 open ? - 16:52-19:15 +0 N3185J - -\nf442 170 FLL-BOS 16:55-20:15 129 A220 open ? - 16:55-20:15 +0 N3085J - -\nf443 438 MCO-BDL 16:55-19:51 150 A320 open ? - 16:55-19:51 +0 N552JB - -\nf444 1317 BOS-ATL 16:55-20:00 124 A220 open ? - 16:55-20:00 +0 N3023J - -\nf445 1539 MVY-JFK 16:57-18:05 110 A220 open ? - 16:57-18:05 +0 N3156J - -\nf446 358 JFK-BUR 16:59-23:17 128 A220 open ? - 16:59-23:17 +0 N3138J - -\nf447 1523 JFK-LAX 16:59-23:19 127 A321P open ? - 16:59-23:19 +0 N978JB - -\nf448 2129 JFK-RSW 16:59-20:21 144 A320 open ? - 16:59-20:21 +0 N653JB - -\nf449 1252 RSW-HPN 17:00-20:00 128 A320 open ? - 17:00-20:00 +0 N805JB - -\nf450 1728 MCO-EWR 17:00-19:58 138 A320 open ? - 17:00-19:58 +0 N594JB - -\nf451 2185 BOS-PIT 17:00-19:00 76 E190 open ? - 17:00-19:00 +0 N324JB - -\nf452 2230 MKE-BOS 17:03-19:15 122 A220 open ? - 17:03-19:15 +0 N3065J - -\nf453 315 JFK-SFO 17:05-23:47 132 A321P open ? - 17:05-23:47 +0 N945JT - -\nf454 915 BOS-SMF 17:05-23:38 121 A320 open ? - 17:05-23:38 +0 N706JB - -\nf455 1417 BOS-JFK 17:05-18:30 86 A220 open ? - 17:05-18:30 +0 N3241J - -\nf456 1727 EWR-MCO 17:07-20:04 142 A320 open ? - 17:07-20:04 +0 N547JB - -\nf457 2783 BOS-RDU 17:09-19:20 121 A220 open ? - 17:09-19:20 +0 N3194J - -\nf458 1579 DCA-FLL 17:10-19:52 118 A220 open ? - 17:10-19:52 +0 N3142J - -\nf459 845 BOS-SYR 17:14-18:38 87 E190 open ? - 17:14-18:38 +0 N317JB - -\nf460 1963 HYA-JFK 17:15-18:30 93 A220 open ? - 17:15-18:30 +0 N3152J - -\nf461 2467 BOS-CHS 17:15-19:50 124 A220 open ? - 17:38-20:13 +23 N3058J - -\nf462 69 BOS-FLL 17:16-20:50 142 A320 open ? - 17:16-20:50 +0 N535JB - -\nf463 1202 JFK-BUF 17:17-19:02 126 A220 open ? - 17:17-19:02 +0 N3255J - -\nf464 1962 PBI-LGA 17:18-20:00 131 A320 open ? - 17:18-20:00 +0 N591JB - -\nf465 624 LAX-JFK 17:20-22:59 134 A321P open ? - 17:20-22:59 +0 N985JT - -\nf466 777 BOS-LAS 17:20-23:11 138 A321P open ? - 17:20-23:11 +0 N969JT - -\nf467 1012 ORD-BOS 17:27-20:00 127 A220 open ? - 17:27-20:00 +0 N3145J - -\nf468 1802 FLL-JFK 17:28-20:30 143 A320 open ? - 17:28-20:30 +0 N507JT - -\nf469 483 JFK-MCO 17:29-20:40 139 A320 open ? - 17:29-20:40 +0 N648JB - -\nf470 472 FLL-LGA 17:33-20:30 146 A320 open ? - 17:33-20:30 +0 N520JB - -\nf471 520 ATL-JFK 17:33-20:00 144 A320 open ? - 17:33-20:00 +0 N584JB - -\nf472 2184 RDU-BOS 17:35-19:40 84 E190 open ? - 17:35-19:40 +0 N284JB - -\nf473 2602 SJU-HPN 17:38-21:30 123 A220 open ? - 17:38-21:30 +0 N3104J - -\nf474 101 FLL-LAX 17:40-23:04 138 A321P open ? - 20:32-01:56+1 +172 N2165J - -\nf475 560 PHL-BOS 17:40-19:14 137 A320 open ? - 17:40-19:14 +0 N517JB - -\nf476 135 JFK-PHX 17:44-23:19 126 A320 open ? - 17:44-23:19 +0 N568JB - -\nf477 433 MCO-SJU 17:44-20:50 141 A320 open ? - 17:44-20:50 +0 N630JB - -\nf478 86 RDU-JFK 17:45-19:30 116 A220 open ? - 17:45-19:30 +0 N3257J - -\nf479 120 ALB-MCO 17:45-20:50 137 A320 open ? - 17:45-20:50 +0 N565JB - -\nf480 2954 DCA-BOS 17:45-19:30 84 E190 open ? - 17:45-19:30 +0 N318JB - -\nf481 1873 EWR-LAX 17:50-23:55 129 A321P open ? - 17:50-23:55 +0 N992JB - -\nf482 1351 ACK-BOS 17:55-18:51 69 E190 open ? - 17:55-18:51 +0 N323JB - -\nf483 1453 FLL-SJU 17:55-20:34 145 A320 open ? - 17:55-20:34 +0 N708JB - -\nf484 106 FLL-EWR 17:56-21:00 144 A320 open ? - 17:56-21:00 +0 N585JB - -\nf485 932 IAH-BOS 17:57-21:50 132 A320 open ? - 17:57-21:50 +0 N521JB - -\nf486 1814 ORF-BOS 17:57-19:37 117 A220 open ? - 17:57-19:37 +0 N3162J - -\nf487 1677 JFK-JAX 17:59-20:51 122 A220 open ? - 17:59-20:51 +0 N3267J - -\nf488 2655 SYR-MCO 17:59-20:55 129 A320 open ? - 17:59-20:55 +0 N504JB - -\nf489 23 DCA-PBI 18:00-20:38 119 A320 open ? - 18:00-20:38 +0 N593JB - -\nf490 534 TPA-BDL 18:00-20:52 150 A320 open ? - 18:00-20:52 +0 N661JB - -\nf491 1786 PIT-BOS 18:04-19:48 107 A220 open ? - 00:36+1-02:20+1 +392 N3115J - -\nf492 1348 SJU-DCA 18:05-21:59 186 A321 open ? - 18:05-21:59 +0 N957JB - -\nf493 1284 MCO-JFK 18:06-21:00 144 A320 open ? - 18:06-21:00 +0 N580JB - -\nf494 247 BOS-SLC 18:09-23:44 124 A220 open ? - 18:09-23:44 +0 N3258J - -\nf495 1138 AUS-BOS 18:10-22:20 123 A220 open ? - 18:10-22:20 +0 N3062J - -\nf496 2201 JFK-FLL 18:10-21:34 140 A320 open ? - 18:10-21:34 +0 N793JB - -\nf497 697 BOS-ATL 18:15-21:19 144 A320 open ? - 18:15-21:19 +0 N649JB - -\nf498 734 SFO-BOS 18:15-23:56 138 A321P open ? - 18:15-23:56 +0 N2193J - -\nf499 1955 BOS-DCA 18:15-20:03 116 A220 open ? - 18:15-20:03 +0 N3260J - -\nf500 2876 PVD-MCO 18:15-21:18 137 A320 open ? - 18:15-21:18 +0 N606JB - -\nf501 304 SJU-JFK 18:16-22:14 150 A320 open ? - 18:16-22:14 +0 N657JB - -\nf502 924 LAX-JFK 18:20-23:58 134 A321P open ? - 18:20-23:58 +0 N946JL - -\nf503 161 JFK-SMF 18:25-00:53+1 165 A321 open ? - 18:25-00:53+1 +0 N972JT - -\nf504 250 SAV-BOS 18:25-21:00 116 A220 open ? - 18:25-21:00 +0 N3139J - -\nf505 2080 FLL-DCA 18:25-20:59 120 A220 open ? - 18:25-20:59 +0 N3195J - -\nf506 1152 MCO-BOS 18:26-21:39 142 A320 open ? - 18:26-21:39 +0 N624JB - -\nf507 2122 ACK-HPN 18:26-19:30 78 E190 open ? - 18:26-19:30 +0 N329JB - -\nf508 197 BOS-SEA 18:29-00:59+1 181 A321 open ? - 18:29-00:59+1 +0 N907JB - -\nf509 283 JFK-MCO 18:30-21:44 139 A320 open ? - 18:30-21:44 +0 N583JB - -\nf510 733 BOS-SFO 18:30-01:15+1 138 A321P open ? - 18:30-01:15+1 +0 N935JB - -\nf511 1567 HPN-PBI 18:30-21:28 144 A320 open ? - 18:30-21:28 +0 N516JB - -\nf512 187 BOS-LAX 18:32-00:58+1 138 A321P open ? - 18:32-00:58+1 +0 N991JT - -\nf513 81 JFK-RNO 18:35-00:46+1 127 A220 open ? - 18:35-00:46+1 +0 N3261J - -\nf514 2424 MCO-DCA 18:38-20:59 127 A320 open ? - 18:38-20:59 +0 N558JB - -\nf515 1248 TPA-LGA 18:41-21:32 140 A320 open ? - 18:41-21:32 +0 N834JB - -\nf516 491 BUF-LAX 18:42-23:56 142 A320 open ? - 18:42-23:56 +0 N531JL - -\nf517 65 JFK-ABQ 18:45-23:34 130 A320 open ? - 18:45-23:34 +0 N510JB - -\nf518 1037 BDL-MCO 18:45-21:45 131 A320 open ? - 18:45-21:45 +0 N615JB - -\nf519 355 JFK-ONT 18:50-00:59+1 161 A321 open ? - 18:50-00:59+1 +0 N913JB - -\nf520 1053 JFK-PBI 18:50-21:56 125 A220 open ? - 18:50-21:56 +0 N3229J - -\nf521 2725 JFK-TPA 18:50-22:05 143 A320 open ? - 18:50-22:05 +0 N821JB - -\nf522 2754 DCA-BOS 18:50-20:28 84 E190 open ? - 18:50-20:28 +0 N281JB - -\nf523 516 BUF-BOS 18:55-20:25 87 E190 open ? - 18:55-20:25 +0 N283JB - -\nf524 992 SJU-FLL 18:55-21:34 149 A320 open ? - 18:55-21:34 +0 N588JB - -\nf525 2523 DCA-MCO 18:55-21:20 126 A320 open ? - 18:55-21:20 +0 N766JB - -\nf526 88 FLL-ALB 18:59-22:05 139 A320 open ? - 18:59-22:05 +0 N556JB - -\nf527 602 FLL-JFK 18:59-21:59 143 A320 open ? - 18:59-21:59 +0 N809JB - -\nf528 823 JFK-LAX 18:59-01:21+1 127 A321P open ? - 19:13-01:35+1 +14 N929JB - -\nf529 874 TPA-EWR 18:59-22:00 139 A320 open ? - 18:59-22:00 +0 N655JB - -\nf530 993 BOS-DEN 18:59-23:43 124 A220 open ? - 18:59-23:43 +0 N3242J - -\nf531 1274 CHS-JFK 18:59-21:05 114 A220 open ? - 18:59-21:05 +0 N3157J - -\nf532 2322 PBI-BOS 18:59-22:10 125 A220 open ? - 18:59-22:10 +0 N3044J - -\nf533 798 MCO-LGA 19:00-21:50 150 A320 open ? - 19:00-21:50 +0 N613JB - -\nf534 2984 MCO-JFK 19:00-21:52 125 A220 open ? - 19:00-21:52 +0 N3189J - -\nf535 1468 PBI-HPN 19:10-22:03 140 A320 open ? - 19:10-22:03 +0 N705JB - -\nf536 462 SJU-BOS 19:20-23:23 183 A321 open ? - 19:20-23:23 +0 N959JB - -\nf537 824 LAX-JFK 19:20-00:55+1 134 A321P open ? - 19:20-00:55+1 +0 N962JT - -\nf538 1433 MCO-SJU 19:20-22:24 141 A320 open ? - 19:20-22:24 +0 N508JL - -\nf539 2875 MCO-PVD 19:20-22:18 136 A320 open ? - 19:20-22:18 +0 N784JB - -\nf540 2903 JFK-SJU 19:20-23:34 178 A321 open ? - 19:20-23:34 +0 N970JB - -\nf541 71 JFK-SLC 19:24-00:59+1 142 A320 open ? - 19:24-00:59+1 +0 N659JB - -\nf542 818 JFK-BOS 19:25-20:59 91 A220 open ? - 19:25-20:59 +0 N3156J - -\nf543 2066 RSW-BOS 19:25-22:40 123 A220 open ? - 19:25-22:40 +0 N3196J - -\nf544 2071 FLL-BQN 19:29-22:04 117 A320 open ? - 19:29-22:04 +0 N605JB - -\nf545 2466 FLL-BUF 19:29-22:32 144 A320 open ? - 19:29-22:32 +0 N559JB - -\nf546 616 SFO-JFK 19:30-00:59+1 138 A321P open ? - 19:30-00:59+1 +0 N980JT - -\nf547 1154 PBI-JFK 19:30-22:24 123 A220 open ? - 19:30-22:24 +0 N3112J - -\nf548 548 TPA-HPN 19:35-22:31 142 A320 open ? - 19:35-22:31 +0 N569JB - -\nf549 715 BOS-BUF 19:39-21:13 85 E190 open ? - 19:39-21:13 +0 N323JB - -\nf550 317 BOS-JFK 19:40-21:04 86 A220 open ? - 19:45-21:09 +5 N3115J - -\nf551 2186 PIT-BOS 19:45-21:28 77 E190 open ? - 19:45-21:28 +0 N324JB - -\nf552 1136 DTW-BOS 19:47-21:41 117 A220 open ? - 19:47-21:41 +0 N3215J - -\nf553 1197 PVD-FLL 19:47-22:59 139 A320 open ? - 19:47-22:59 +0 N640JB - -\nf554 571 LGA-FLL 19:49-22:59 139 A320 open ? - 19:49-22:59 +0 N527JL - -\nf555 275 BDL-SJU 19:50-23:47 126 A320 open ? - 19:50-23:47 +0 N635JB - -\nf556 1134 SJU-MCO 19:50-22:53 149 A320 open ? - 19:50-22:53 +0 N590JB - -\nf557 711 JFK-LAS 19:54-01:48+1 138 A321P open ? - 19:54-01:48+1 +0 N2142J - -\nf558 591 BOS-TPA 19:55-23:18 146 A320 open ? - 19:55-23:18 +0 N656JB - -\nf559 217 PHL-FLL 19:56-22:53 126 A320 open ? - 19:56-22:53 +0 N760JB - -\nf560 201 BUF-JFK 19:57-21:29 126 A220 open ? - 19:57-21:29 +0 N3255J - -\nf561 342 SAV-JFK 19:59-22:09 155 A321 open ? - 20:07-22:17 +8 N956JT - -\nf562 526 SJU-PVD 19:59-23:51 145 A320 open ? - 19:59-23:51 +0 N636JB - -\nf563 541 BOS-CLE 19:59-22:11 80 E190 open ? - 20:10-22:22 +11 N318JB - -\nf564 615 JFK-SFO 19:59-02:43+1 131 A321P open ? - 19:59-02:43+1 +0 N923JB - -\nf565 914 FLL-HPN 19:59-23:00 136 A320 open ? - 19:59-23:00 +0 N763JB - -\nf566 143 EWR-PBI 20:00-23:05 139 A320 open ? - 20:00-23:05 +0 N789JB - -\nf567 473 JFK-BNA 20:00-22:47 119 A220 open ? - 20:00-22:47 +0 N3152J - -\nf568 572 FLL-LGA 20:05-23:04 146 A320 open ? - 20:05-23:04 +0 N597JB - -\nf569 144 PBI-EWR 20:06-23:00 138 A320 open ? - 20:06-23:00 +0 N643JB - -\nf570 745 JFK-PSE 20:06-00:19+1 119 A320 open ? - 20:06-00:19+1 +0 N566JB - -\nf571 460 FLL-BDL 20:10-23:15 147 A320 open ? - 20:10-23:15 +0 N534JB - -\nf572 470 FLL-BOS 20:10-23:29 129 A220 open ? - 20:10-23:29 +0 N3125J - -\nf573 884 MCO-JFK 20:10-23:02 144 A320 open ? - 20:10-23:02 +0 N526JL - -\nf574 2421 BOS-PBI 20:10-23:23 125 A220 open ? - 20:10-23:23 +0 N3251J - -\nf575 1979 DCA-FLL 20:12-22:49 118 A220 open ? - 20:12-22:49 +0 N3149J - -\nf576 97 JFK-DEN 20:14-00:59+1 130 A320 open ? - 20:14-00:59+1 +0 N571JB - -\nf577 1484 RDU-BOS 20:15-22:18 118 A220 open ? - 20:15-22:18 +0 N3194J - -\nf578 506 BNA-BOS 20:17-22:54 126 A320 open ? - 20:17-22:54 +0 N804JB - -\nf579 954 SJU-FLL 20:20-22:59 149 A320 open ? - 20:20-22:59 +0 N633JB - -\nf580 1245 FLL-SJU 20:25-23:07 145 A320 open ? - 20:25-23:07 +0 N537JT - -\nf581 392 TPA-BOS 20:29-23:37 118 A220 open ? - 20:29-23:37 +0 N3203J - -\nf582 195 HPN-MCO 20:30-23:13 125 A320 open ? - 20:30-23:13 +0 N638JB - -\nf583 405 JFK-ORD 20:30-23:28 121 A220 open ? - 20:30-23:28 +0 N3241J - -\nf584 2128 MCO-EWR 20:30-23:19 149 A320 open ? - 20:30-23:19 +0 N554JB - -\nf585 305 EWR-FLL 20:34-23:44 144 A320 open ? - 20:34-23:44 +0 N632JB - -\nf586 251 BOS-MCO 20:35-23:55 169 A321 open ? - 20:35-23:55 +0 N971JT - -\nf587 265 BOS-RSW 20:35-23:59 129 A220 open ? - 20:35-23:59 +0 N3065J - -\nf588 706 FLL-EWR 20:35-23:34 144 A320 open ? - 20:35-23:34 +0 N646JB - -\nf589 1294 MCO-HPN 20:35-23:31 140 A320 open ? - 20:35-23:31 +0 N746JB - -\nf590 607 FLL-LAS 20:36-01:38+1 134 A321P open ? - 20:45-01:47+1 +9 N947JB - -\nf591 903 JFK-SJU 20:40-00:54+1 144 A320 open ? - 20:40-00:54+1 +0 N505JB - -\nf592 1751 TPA-SJU 20:40-23:44 147 A320 open ? - 20:40-23:44 +0 N607JB - -\nf593 2583 JFK-MCO 20:40-23:51 139 A320 open ? - 20:40-23:51 +0 N627JB - -\nf594 1337 BOS-DTW 20:43-22:57 122 A220 open ? - 20:43-22:57 +0 N3275J - -\nf595 277 FLL-SFO 20:45-02:40+1 136 A321P open ? - 21:33-03:28+1 +48 N979JT - -\nf596 561 BOS-SJU 20:45-00:49+1 165 A321 open ? - 20:45-00:49+1 +0 N998JE - -\nf597 1952 MCO-BOS 20:45-23:55 142 A320 open ? - 20:45-23:55 +0 N806JB - -\nf598 2468 CHS-BOS 20:45-23:08 119 A220 open ? - 20:50-23:13 +5 N3058J - -\nf599 810 JAX-BOS 20:49-23:30 131 A320 open ? - 20:49-23:30 +0 N598JB - -\nf600 2102 FLL-JFK 20:50-23:46 176 A321 open ? - 20:50-23:46 +0 N903JB - -\nf601 381 BOS-RIC 20:55-22:47 116 A220 open ? - 20:55-22:47 +0 N3162J - -\nf602 719 JFK-ATL 20:55-23:40 144 A320 open ? - 20:55-23:40 +0 N658JB - -\nf603 1146 FLL-RIC 20:55-23:16 125 A320 open ? - 20:55-23:16 +0 N599JB - -\nf604 1308 ATL-BOS 20:55-23:38 118 A220 open ? - 20:55-23:38 +0 N3023J - -\nf605 1761 LGA-PBI 20:55-23:55 135 A320 open ? - 20:55-23:55 +0 N591JB - -\nf606 206 BOS-PQI 20:59-22:25 60 E190 open ? - 20:59-22:25 +0 N284JB - -\nf607 907 BOS-BNA 20:59-23:52 124 A320 open ? - 20:59-23:52 +0 N623JB - -\nf608 613 HPN-FLL 21:00-23:59 141 A320 open ? - 21:00-23:59 +0 N529JB - -\nf609 1827 EWR-MCO 21:00-23:57 132 A320 open ? - 21:00-23:57 +0 N625JB - -\nf610 430 MCO-BQN 21:04-23:59 145 A320 open ? - 21:04-23:59 +0 N807JB - -\nf611 384 MCO-JFK 21:05-23:59 144 A320 open ? - 21:05-23:59 +0 N634JB - -\nf612 369 BOS-FLL 21:10-00:37+1 123 A220 open ? - 21:10-00:37+1 +0 N3145J - -\nf613 1223 JFK-LAX 21:10-03:29+1 127 A321P open ? - 21:10-03:29+1 +0 N942JB - -\nf614 333 BOS-SFO 21:16-03:58+1 138 A321P open ? - 21:16-03:58+1 +0 N2180J - -\nf615 2752 SJU-TPA 21:20-00:20+1 184 A321 open ? - 21:20-00:20+1 +0 N974JT - -\nf616 47 LGA-TPA 21:25-00:15+1 130 A320 open ? - 21:25-00:15+1 +0 N520JB - -\nf617 955 JFK-DCA 21:30-22:59 67 A220 open ? - 21:30-22:59 +0 N3185J - -\nf618 1387 BOS-LAX 21:35-03:55+1 138 A321P open ? - 21:35-03:55+1 +0 N981JT - -\nf619 383 JFK-MCO 21:40-00:48+1 172 A321 open ? - 21:40-00:48+1 +0 N958JB - -\nf620 2101 JFK-FLL 21:40-00:59+1 140 A320 open ? - 21:40-00:59+1 +0 N587JB - -\nf621 2501 FLL-LAX 21:40-02:59+1 138 A321P open ? - 23:10-04:29+1 +90 N944JT - -\nf622 334 SJU-MCO 21:45-00:42+1 149 A320 open ? - 21:45-00:42+1 +0 N651JB - -\nf623 704 SJU-JFK 21:45-01:37+1 150 A320 open ? - 21:45-01:37+1 +0 N708JB - -\nf624 820 JFK-DTW 21:45-23:59 108 A220 open ? - 21:45-23:59 +0 N3257J - -\nf625 1186 JFK-ROC 21:50-23:30 116 A220 open ? - 21:50-23:30 +0 N3232J - -\nf626 2626 FLL-RDU 21:50-23:59 119 A320 open ? - 21:50-23:59 +0 N535JB - -\nf627 515 JFK-SFO 21:59-04:43+1 131 A321P open ? - 21:59-04:43+1 +0 N2156J - -\nf628 972 JFK-MHT 21:59-23:27 44 A320 open ? - 21:59-23:27 +0 N561JB - -\nf629 1195 JFK-PIT 21:59-23:51 69 A220 open ? - 21:59-23:51 +0 N3115J - -\nf630 1990 SJU-EWR 21:59-01:58+1 190 A321 open ? - 21:59-01:58+1 +0 N996JL - -\nf631 303 JFK-SJU 22:00-02:14+1 178 A321 open ? - 22:00-02:14+1 +0 N955JB - -\nf632 2073 EWR-LAX 22:00-03:59+1 129 A321P open ? - 22:00-03:59+1 +0 N964JT - -\nf633 923 JFK-LAX 22:10-04:24+1 127 A321P open ? - 22:10-04:24+1 +0 N983JT - -\nf634 102 JFK-BUF 22:15-23:59 126 A220 open ? - 22:15-23:59 +0 N3157J - -\nf635 1128 JFK-PVD 22:29-23:49 35 A320 open ? - 22:29-23:49 +0 N703JB - -\nf636 675 JFK-BDL 22:30-23:46 41 A320 open ? - 22:30-23:46 +0 N584JB - -\nf637 1516 JFK-SYR 22:30-23:59 103 A320 open ? - 22:30-23:59 +0 N637JB - -\nf638 308 JFK-PWM 22:45-00:17+1 93 A220 open ? - 22:45-00:17+1 +0 N3189J - -\nf639 539 JFK-BQN 22:59-03:03+1 135 A320 open ? - 22:59-03:03+1 +0 N507JT - -\nf640 1318 JFK-BOS 22:59-00:27+1 105 A320 open ? - 22:59-00:27+1 +0 N592JB - -\nf641 2072 BQN-FLL 22:59-01:29+1 114 A320 open ? - 22:59-01:29+1 +0 N605JB - -\nf642 1488 LAX-BOS 23:25-05:00+1 138 A321P open ? - 23:25-05:00+1 +0 N982JB - -\nf643 1190 SAN-JFK 23:30-05:00+1 137 A321P open ? - 23:30-05:00+1 +0 N4077J - -\nf644 1024 LAX-JFK 23:36-05:04+1 135 A321P open ? - 23:36-05:04+1 +0 N2151J - -\nf645 2120 SAN-BOS 00:00+1-05:40+1 138 A321P open ? - 00:00+1-05:40+1 +0 N934JB - -\nf646 2348 LAS-JFK 00:05+1-05:02+1 120 A321P open ? - 00:05+1-05:02+1 +0 N976JT - -\nf647 198 SEA-BOS 00:14+1-05:29+1 186 A321 open ? - 00:14+1-05:29+1 +0 N995JL - -\nf648 1574 LAX-EWR 00:20+1-05:41+1 138 A321P open ? - 00:29+1-05:50+1 +9 N978JB - -\nf649 359 BUR-JFK 00:22+1-05:50+1 112 A220 open ? - 00:22+1-05:50+1 +0 N3138J - -\nf650 278 SFO-FLL 00:25+1-06:02+1 138 A321P open ? - 00:25+1-06:02+1 +0 N937JB - -\nf651 778 LAS-BOS 00:25+1-05:33+1 138 A321P open ? - 00:25+1-05:33+1 +0 N969JT - -\nf652 916 SMF-BOS 00:33+1-05:59+1 120 A320 open ? - 00:33+1-05:59+1 +0 N706JB - -\nf653 248 SLC-BOS 00:39+1-05:12+1 123 A220 open ? - 00:39+1-05:12+1 +0 N3258J - -\nf654 994 DEN-BOS 00:39+1-04:35+1 125 A220 open ? - 00:39+1-04:35+1 +0 N3242J - -\nf655 136 PHX-JFK 00:44+1-05:40+1 126 A320 open ? - 00:44+1-05:40+1 +0 N568JB - -\nf656 492 LAX-BUF 00:48+1-05:40+1 138 A320 open ? - 00:48+1-05:40+1 +0 N531JL - -\nf657 66 ABQ-JFK 00:59+1-05:10+1 123 A320 open ? - 00:59+1-05:10+1 +0 N510JB - -\nf658 700 LAX-FLL 01:15+1-06:29+1 138 A321P open ? - 01:15+1-06:29+1 +0 N992JB - -\nf659 816 SFO-JFK 01:30+1-07:03+1 138 A321P open ? - 01:30+1-07:03+1 +0 N945JT - -\nf660 1524 LAX-JFK 01:30+1-07:00+1 134 A321P open ? - 02:08+1-07:38+1 +38 N991JT - -\nf661 98 DEN-JFK 01:54+1-05:40+1 132 A320 open ? - 01:54+1-05:40+1 +0 N571JB - -\nf662 372 SLC-JFK 01:54+1-06:21+1 143 A320 open ? - 01:54+1-06:21+1 +0 N659JB - -\nf663 162 SMF-JFK 02:08+1-07:29+1 175 A321 open ? - 02:08+1-07:29+1 +0 N972JT - -\nf664 988 LAX-BOS 02:15+1-07:52+1 138 A321P open ? - 02:45+1-08:22+1 +30 N929JB - -\nf665 80 RNO-JFK 02:18+1-07:30+1 115 A220 open ? - 02:18+1-07:30+1 +0 N3261J - -\nf666 264 SEA-JFK 02:20+1-07:38+1 184 A321 open ? - 02:20+1-07:38+1 +0 N907JB - -\nf667 134 SFO-BOS 02:40+1-08:18+1 138 A321P open ? - 02:40+1-08:18+1 +0 N935JB - -\nf668 608 LAS-FLL 02:48+1-07:32+1 138 A321P open ? - 02:52+1-07:36+1 +4 N947JB - -\nf669 1224 LAX-JFK 02:57+1-08:30+1 134 A321P open ? - 03:06+1-08:39+1 +9 N2165J - -\nf670 454 ONT-JFK 02:59+1-08:30+1 165 A321 open ? - 02:59+1-08:30+1 +0 N913JB - -\nf671 948 LAS-JFK 02:59+1-08:00+1 138 A321P open ? - 02:59+1-08:00+1 +0 N2142J - -\n\n## Aircraft now, as your plan has them (@ = ready at)\nBOS: N2156J N2165J N2193J@06:19 N281JB N283JB N3044J N3062J N3065J N306JB N3104J@10:10 N3139J@06:37 N3145J N3149J N3162J N3169J@07:40 N3185J N3194J N3196J@07:15 N3203J N3215J@08:15 N323JB N3242J N3251J@07:55 N3260J N3261J N3275J N4062J@04:55 N520JB N521JB@08:30 N536JB@07:15 N579JB@06:40 N598JB@05:50 N608JB@08:20 N623JB N634JB N649JB N656JB N706JB@06:29 N775JB N807JB N934JB@09:18 N946JL@06:39 N950JT N952JB N961JT N971JT@06:18 N977JE@05:57 N982JB@08:52 N987JT N998JE@19:40\nJFK: N2142J N2151J@14:50 N2180J N2188J@05:59 N3115J N3156J@08:04 N3157J@06:45 N3229J N3255J N3257J@09:04 N4077J@14:20 N510JB@13:05 N517JB@05:45 N566JB@05:42 N583JB@11:45 N592JB@21:44 N599JB N627JB@04:16 N639JB@06:45 N641JB N648JB@10:15 N651JB@06:32 N653JB@10:05 N658JB@06:00 N659JB N705JB N793JB N821JB@13:30 N827JB@06:17 N913JB N923JB N929JB N955JB@20:55 N956JT N957JB@04:20 N958JB@20:35 N962JT@09:09 N970JB@18:15 N972JT@15:25 N974JT@05:49 N976JT@09:34 N980JT@08:10 N981JT N983JT N984JB N985JT@06:12 N988JT N993JE N995JL@07:10 N999JQ@18:00+1\nALB: N585JB\nATL: N570JB\nBDL: N526JL N643JB N646JB N655JB N665JB\nBQN: N561JB N568JB@04:32\nBUF: N3112J N324JB N632JB@06:37 N636JB\nCLE: N329JB\nDCA: N3118J N3142J N3195J N3258J N571JB N903JB\nDTW: N3138J\nEWR: N531JL N547JB N554JB N559JB N569JB@12:44 N606JB N625JB@19:49 N964JT@07:01 N996JL\nFLL: N3085J N3102J N3125J@05:45 N507JT N537JT@19:40 N556JB@06:55 N591JB N605JB N607JB N640JB@13:14 N760JB@04:47 N805JB N809JB N942JB N944JT@08:42 N947JB@07:33 N979JT@07:07\nHPN: N3058J N318JB N535JB N562JB N746JB N766JB@10:14 N834JB\nJAX: N3189J\nLAX: N937JB N945JT N990JL N991JT@04:51 N992JB@04:40\nLGA: N586JB N763JB N806JB\nMCO: N504JB N505JB N506JB@07:15 N519JB N524JB N527JL N529JB N552JB N580JB N588JB@13:50 N589JB N593JB@13:08 N594JB N613JB N624JB N630JB N804JB@08:00 N948JB N959JB\nMHT: N703JB\nORD: N3152J\nPBI: N3023J N3232J N615JB N638JB N661JB@05:07 N708JB\nPQI: N317JB\nPVD: N516JB N633JB N637JB\nPWM: N3241J\nRDU: N784JB\nRIC: N3132J N645JB\nROC: N3267J\nRSW: N3113J N652JB\nSFO: N935JB@06:31 N968JT@06:21 N969JT@04:32 N978JB@04:14\nSJU: N558JB N565JB@06:15 N597JB N629JB N635JB N657JB@17:31 N789JB N907JB N994JL\nSYR: N284JB N584JB\nTPA: N508JL N534JB N587JB N590JB\nairborne: none\n\n## News so far\n[15:36-1] BOS other 15:30-1-23:00-1 [advisory adv-20250820-097, signed 15:36-1]\n[20:50-1] JFK GDP cancelled 20:49-1-01:26 [advisory adv-20250821-008, signed 20:50-1]\n[22:28-1] TAF AMD KJFK 210228Z 2102/2206 05014G22KT 5SM -RA BR SCT008 OVC012 FM210500 04015G21KT 5SM BR OVC009 TEMPO 2105/2109 3SM -SHRA FM211300 04019G27KT P6SM BKN020 OVC040 FM212000 03020G30KT P6SM SCT040 FM220100 02018G27KT P6SM BKN250=\n[23:27-1] TAF AMD KJFK 210327Z 2103/2206 03014KT 3SM -RA BR OVC009 FM210500 03015G21KT 5SM BR OVC009 TEMPO 2105/2109 3SM -SHRA FM211300 04019G27KT P6SM BKN020 OVC040 FM212000 03020G30KT P6SM SCT040 FM220100 02018G27KT P6SM BKN250=\n[23:46-1] TAF AMD KJFK 210346Z 2104/2206 03014KT 3SM -RA BR OVC009 FM210500 03015G21KT 5SM BR VCSH OVC009 TEMPO 2105/2109 3SM -SHRA FM210900 04015G23KT 6SM BR OVC009 FM211300 04019G27KT P6SM BKN020 OVC040 FM212000 03020G30KT P6SM SCT040 FM220100 02018G27KT P6SM BKN250=\n[01:24] TAF KJFK 210524Z 2106/2212 04016G21KT P6SM -DZ FEW009 BKN011 OVC020 TEMPO 2106/2108 BKN009 FM211000 04017G24KT P6SM BKN015 OVC025 FM211500 03019G29KT P6SM BKN020 OVC040 FM211900 02020G30KT P6SM BKN040 FM220100 02018G26KT P6SM BKN250 FM220700 01012G18KT P6SM SCT250=\n[01:35] TAF KBOS 210535Z 2106/2212 06007KT P6SM FEW010 BKN020 FM211300 05012KT P6SM BKN035 FM211500 06011G21KT P6SM BKN040 FM220400 02013G23KT P6SM SCT250=\n[02:51] KJFK 210651Z 06014KT 3SM -RA BR OVC010 17/16 A3000 RMK AO2 RAB23 SLP158 P0000 T01670156 $\n[02:54] KBOS 210654Z 36006KT 10SM FEW014 FEW033 BKN100 BKN170 OVC250 14/12 A3011 RMK AO2 SLP197 T01440122\n[03:03] TAF AMD KJFK 210703Z 2107/2212 04016G21KT P6SM -DZ FEW009 BKN011 OVC020 TEMPO 2107/2109 3SM -DZ BR BKN009 FM211000 04017G24KT P6SM BKN015 OVC025 FM211500 03019G29KT P6SM BKN020 OVC040 FM211900 02020G30KT P6SM BKN040 FM220100 02018G26KT P6SM BKN250 FM220700 01012G18KT P6SM SCT250=\n[03:51] KJFK 210751Z 06014KT 6SM -RA BR OVC010 17/16 A2999 RMK AO2 SLP156 P0002 T01670156 $\n[03:54] KBOS 210754Z 34006KT 10SM FEW014 FEW023 SCT080 OVC210 14/12 A3010 RMK AO2 SLP193 T01440122\n\nIt is the first watch, 04:00. Nothing is frozen yet: set the day up with confirm_changes, then call advance.", + "max_turns": 169, + "model_params": { + "max_tokens": 32000 + }, + "timeout_seconds": 7200 + }, + { + "id": "end-day", + "type": "apply_server_config", + "env_id": "airops-v3-day", + "directives": [ + { + "service": "airops-v3-day", + "uri": "urn:airops:v3-end-day/v1", + "args": {} + } + ] + }, + { + "id": "grade", + "type": "env_outcome_verifier", + "env_id": "airops-v3-day", + "file_artifact_id": "airops-verifier", + "verifier_id": "airops", + "score_aggregator": "weighted_average" + } +] diff --git a/src/agentenv_airops/bundles/airops-v3/tasks/b6-20250829-0400.json b/src/agentenv_airops/bundles/airops-v3/tasks/b6-20250829-0400.json new file mode 100644 index 0000000..f5bba13 --- /dev/null +++ b/src/agentenv_airops/bundles/airops-v3/tasks/b6-20250829-0400.json @@ -0,0 +1,71 @@ +[ + { + "id": "deploy", + "type": "deploy_env", + "env_id": "airops-v3-day" + }, + { + "id": "load-task", + "type": "apply_server_config", + "env_id": "airops-v3-day", + "directives": [ + { + "service": "airops-v3-day", + "uri": "urn:airops:v3-live-load/v1", + "args": { + "task_id": "b6-20250829-0400", + "anchor": 1636516, + "follower": 1788857 + } + } + ] + }, + { + "id": "deploy-agent", + "type": "deploy_agent", + "a2a_agent_id": "airops-llm", + "env_ids": [ + "airops-v3-day" + ] + }, + { + "id": "clock", + "type": "sync_env_clock", + "env_id": "airops-v3-day", + "virtual_time": "2025-08-29T08:00:00Z", + "virtual_seconds_per_real_second": 0, + "tolerate_missing_sync_time": false + }, + { + "id": "play", + "type": "prompt_agent", + "prompt_id": "b6-20250829-0400", + "system_prompt": "You run the JetBlue operations desk on a storm day at JFK and BOS: thunderstorms, snow or wind, and the FAA ground stops and ground delay programs (GDPs) that follow, cut how many JetBlue flights can land and take off. Your job is to decide which flights to cancel and which to hold, watch by watch, so that passengers and the airline lose as little as possible over the day.\n\nHow the day runs:\n- The day is played in watches starting at watch 0: one an hour, and one more when an advisory or a SPECI reaches the desk or a ramp closure begins or ends, so watches are 15 to 60 minutes apart. The first message gives the day as the desk knows it at watch 0. Every tool call takes 1 minute of the watch; when the watch's time runs out, the next watch opens by itself, and advance opens it at once.\n- What the desk knows: a flight's own departure delay (weather, air traffic control: anything but waiting for its aircraft or a slot) becomes known 2 hours before its scheduled departure; until then it is assumed on time. FAA Command Center advisories and the hubs' METARs, SPECIs and TAFs arrive as messages at the first watch after they reach the desk: an advisory 0 minutes after it is signed, a METAR 5 and a SPECI 5 minutes after its observation, a TAF 10 minutes after its issue, and the programs table shows the programs as issued, proposed GDPs included; a program may end earlier or later than issued.\n- Ground delay programs: a GDP meters arrivals at a hub over its period. A flight into the hub from an origin in its scope, scheduled to land in the period, needs one of JetBlue's arrival slots in the program: it takes the earliest free slot at or after the time it could land and leaves at its EDCT, the slot less its scheduled block. A cancelled or late flight leaves its slot to the flights behind it. Arrivals outside a program fit under the hub's hourly rate.\n- Ground stops: a flight to a stopped hub from an origin the stop covers waits on the ground until the stop ends; flights already airborne fly on.\n- Departure caps: an airport may take only so many JetBlue departures in an hour (the departure caps table, known 4 hours ahead); a flight with no room in its hour tries again at the next hour's start.\n- Outstation arrival caps: an outstation may take only so many JetBlue arrivals in an hour (the outstation arrival caps table, known 4 hours ahead); a flight with no room in its arrival hour leaves so as to land in the next one.\n- Ramp closures: lightning at the field cuts a hub's ramp rate without stopping it. During a closure only so many JetBlue flights may leave the hub and only so many arrive there; a departure with no room leaves at the closure's end, an arrival with none leaves so as to land at it. A closure is known once it begins; until its end comes it is expected to last 30 minutes more, with caps for that long, and the closures table says which ends are reported and which expected.\n- The env flies your plan on the day as it happens: each flight leaves at the earliest time its delay, its hold, a slot, a stop, a cap and an aircraft allow. It takes the first aircraft of its type ready at its origin (aircraft of one type at one airport are interchangeable; an aircraft needs its turn time on the ground between flights). A flight that can't leave by its deadline is cancelled automatically there. At the end of the day the env ferries each aircraft to the airport it is needed at tomorrow.\n- Your decisions: cancel a flight (its aircraft stays on the ground, free for other flights, and its slot goes to the flights behind), restore a cancelled flight, or hold a flight until a time (not_before) so that its slot or aircraft goes to another flight first. A flight you don't touch leaves as early as it can.\n- The freeze: at watch 0 nothing is frozen. From watch 1 on, flights your plan has leaving before the freeze line, 60 minutes after the watch opens, are frozen: they can't be changed, and stay frozen. A cancellation is final. The env holds any other flight your plan would have leaving before the freeze line to it, and refuses a change that would move a frozen flight or one that has already gone.\n\nTools:\n- get_situation(): the time, the freeze line, the programs as issued with JetBlue's slots, the departure caps known so far, the outstation arrival caps known so far, the ramp closures under way or over, the latest METAR or SPECI and TAF per hub, every flight (its status, its known delay, your plan, where your plan has it leave and land on the day as known, how late it lands, its aircraft, its slot and its crew), where the aircraft are, and the news so far.\n- check_plan(changes): your changes over your plan, run on the day as known now: the plan's cost, the flights whose plan or times change, the automatic cancellations, the flights the env would hold to the freeze line, and the changes confirm_changes would refuse. It confirms nothing.\n- confirm_changes(changes): commits the changes; flights you leave out keep their plan.\n- advance(): ends the watch; its result has the new watch's news. After the last watch it returns \"done\": the day is graded on your plan.\nA change is {\"flight\": \"f12\", \"action\": \"cancel\" | \"restore\" | \"hold\" | \"call_reserve\" | \"release_reserve\", \"not_before\": \"HH:MM\" | null}: cancel takes not_before null; restore and hold fly the flight, held until not_before (local time, \"00:30+1\" after midnight), or as early as it can with null. Where a crew base has a reserve pool (the situation's Reserve crews), a flight leaving it past its crew's deadline flies only on a reserve: call_reserve gives it one while the pool lasts, release_reserve hands it back before that deadline.\n\nThe cost, in passenger-minutes: every passenger's minutes of arrival delay; 523 for each passenger on a cancelled flight, plus one for every minute the cancellation is decided later than 2 hours before its scheduled departure (an automatic cancellation is decided at its deadline, so it costs more than an early one); the airline's own aircraft minutes (a late departure costs crew and fixed costs, a long block fuel too, and a cancellation saves its fuel and maintenance); and the end-of-day ferries. A cancellation frees an aircraft and a slot; it pays when it saves the others more than it costs its own passengers. The day is graded once, on your final plan flown on the day as it really happened: the closer its cost to the best plan possible in hindsight, the higher the score. If you stop before the last watch, the rest of the day runs on your plan.", + "prompt": "# JetBlue operations desk, BOS, Friday 2025-08-29; times are local (America/New_York).\n\nNow 04:00 (watch 0, opened 04:00). First watch: nothing is frozen; changes take effect at once.\n\nYour plan on the day as known costs 318,447 (delay 259,260, cancellations 0, notice 0, ferries 0): 0 cancelled, 0 cancelled automatically, 0 on slots.\n\n## Programs as issued (FAA Command Center)\nNone.\n\n## Departure caps: JetBlue departures per hour, known 240 min ahead\nBOS: 06h 8\n\n## Outstation arrival caps: JetBlue arrivals per hour, known 240 min ahead\nEWR: 08h 1\nMCO: 08h 4\nRDU: 08h 1\n\n## Ramp closures (lightning at the field; known once begun)\nNone.\n\n## Latest weather (METAR or SPECI, and TAF)\n[03:54] KBOS 290754Z 18009KT 10SM SCT080 18/16 A3001 RMK AO2 SLP163 T01780161\n[01:24] TAF KBOS 290524Z 2906/3012 19007KT P6SM FEW070 FM290900 19006KT P6SM VCSH BKN050 FM291400 14010KT P6SM BKN040 FM291900 17010KT 5SM -SHRA VCTS BKN035CB FM292300 25008KT P6SM VCSH BKN050 FM300200 30005KT P6SM SCT100=\n\n## Flights (sched = scheduled dep-arr; delay = known delay, ? not yet; plan = cancel or hold@HH:MM; proj = where your plan has it leave and land on the day as known; late = arrival delay; slot = its GDP slot; crew = crew deadline/rest end, +R on a reserve crew)\nid flight route sched pax type status delay plan proj late tail slot crew\nf0 729 BQN-MCO 05:01-07:52 148 A320 open -6 - 04:55-07:35 -17 N662JB - -\nf1 730 MCO-BQN 05:01-07:50 145 A320 open -6 - 04:55-07:33 -17 N517JB - -\nf2 1233 MCO-SJU 05:01-08:01 141 A320 open -3 - 04:58-07:48 -13 N523JB - -\nf3 1434 SJU-MCO 05:01-08:02 149 A320 open 0 - 05:01-07:52 -10 N775JB - -\nf4 767 MCO-PSE 05:05-08:02 125 A320 open 0 - 05:05-07:54 -8 N537JT - -\nf5 403 JFK-SJU 05:15-09:05 144 A320 open 10 - 05:25-09:34 +29 N565JB - -\nf6 917 BOS-JFK 05:15-06:30 100 A320 open -4 - 05:11-06:23 -7 N504JB - -\nf7 2539 JFK-BQN 05:17-09:02 135 A320 open -9 - 05:08-09:13 +11 N535JB - -\nf8 1889 EWR-SJU 05:35-09:30 187 A321 open 0 - 16:39-20:34 +664 N995JL - -\nf9 2001 BUF-JFK 05:35-07:00 126 A220 open -5 - 05:30-06:46 -14 N3260J - -\nf10 207 PQI-BOS 05:45-07:09 60 E190 open -5 - 05:40-06:47 -22 N318JB - -\nf11 87 ALB-FLL 06:00-09:15 143 A320 open -10 - 05:50-08:47 -28 N615JB - -\nf12 123 JFK-LAX 06:00-11:56 128 A321P open -9 - 05:51-11:36 -20 N2188J - -\nf13 130 RSW-JFK 06:00-08:48 132 A320 open -3 - 05:57-08:47 -1 N663JB - -\nf14 166 RSW-BOS 06:00-09:11 123 A220 open -3 - 05:57-09:01 -10 N3240J - -\nf15 306 FLL-EWR 06:00-08:55 144 A320 open -5 - 05:55-09:01 +6 N566JB - -\nf16 311 BOS-ORD 06:00-08:55 122 A220 open -8 - 05:52-08:54 -1 N3085J - -\nf17 322 PBI-BOS 06:00-09:10 125 A220 open -8 - 05:52-08:56 -14 N3125J - -\nf18 382 RIC-BOS 06:00-07:40 112 A220 open -2 - 05:58-07:43 +3 N3062J - -\nf19 525 PVD-SJU 06:00-09:48 134 A320 open -5 - 05:55-10:20 +32 N508JL - -\nf20 562 SJU-BOS 06:00-10:07 148 A320 open -1 - 05:59-10:28 +21 N804JB - -\nf21 696 ATL-BOS 06:00-08:33 136 A320 open -6 - 05:54-08:28 -5 N828JB - -\nf22 737 BDL-MCO 06:00-08:54 141 A320 open -8 - 05:52-08:55 +1 N547JB - -\nf23 891 BOS-TPA 06:00-09:15 126 A220 open -5 - 05:55-08:58 -17 N3113J - -\nf24 927 EWR-MCO 06:00-08:42 142 A320 open -6 - 05:54-08:37 -5 N645JB - -\nf25 1076 PVD-MCO 06:00-08:55 127 A320 open -11 - 05:49-08:54 -1 N524JB - -\nf26 1192 TPA-BOS 06:00-09:03 136 A320 open -9 - 05:51-08:54 -9 N554JB - -\nf27 1419 DTW-JFK 06:00-07:45 108 A220 open -8 - 05:52-07:32 -13 N3023J - -\nf28 1515 SYR-JFK 06:00-07:13 97 A320 open -7 - 05:53-07:05 -8 N561JB - -\nf29 1652 MCO-BOS 06:00-09:04 142 A320 open -6 - 05:54-08:46 -18 N586JB - -\nf30 1883 BOS-RDU 06:00-08:05 121 A220 open -10 - 05:50-07:41 -24 N3058J - -\nf31 1911 EWR-RSW 06:00-08:58 127 A320 open -12 - 05:48-08:40 -18 N510JB - -\nf32 2904 SJU-JFK 06:00-09:57 191 A321 open 5 - 06:05-10:11 +14 N948JB - -\nf33 234 SJU-MCO 06:01-09:03 149 A320 open ? - 06:01-09:03 +0 N657JB - -\nf34 2133 MCO-SJU 06:01-09:00 141 A320 open ? - 06:01-09:00 +0 N613JB - -\nf35 302 FLL-JFK 06:03-08:59 143 A320 open ? - 06:03-08:59 +0 N588JB - -\nf36 307 PWM-JFK 06:05-07:24 102 A220 open ? - 06:05-07:24 +0 N3242J - -\nf37 538 BQN-JFK 06:05-09:57 143 A320 open ? - 06:05-09:57 +0 N634JB - -\nf38 1201 FLL-LAX 06:05-11:24 138 A321P open ? - 06:05-11:24 +0 N976JT - -\nf39 1333 BOS-SFO 06:05-12:43 120 A321P open ? - 06:05-12:43 +0 N2157J - -\nf40 1368 PBI-HPN 06:06-09:00 140 A320 open ? - 06:06-09:00 +0 N562JB - -\nf41 351 BOS-MCO 06:10-09:17 137 A320 open ? - 06:10-09:17 +0 N564JB - -\nf42 115 JFK-SFO 06:15-12:38 131 A321P open ? - 06:15-12:38 +0 N923JB - -\nf43 1062 PBI-LGA 06:15-08:59 131 A320 open ? - 06:15-08:59 +0 N746JB - -\nf44 1285 ROC-JFK 06:15-07:39 110 A220 open ? - 06:15-07:39 +0 N3152J - -\nf45 540 CLE-BOS 06:19-08:05 81 E190 open ? - 06:19-08:05 +0 N306JB - -\nf46 109 BOS-JAX 06:20-09:07 113 A220 open ? - 06:20-09:07 +0 N3132J - -\nf47 1678 JAX-JFK 06:20-08:40 119 A220 open ? - 06:20-08:40 +0 N3102J - -\nf48 287 BOS-LAX 06:25-12:40 138 A321P open ? - 06:25-12:40 +0 N2165J - -\nf49 569 BOS-FLL 06:25-09:50 123 A220 open ? - 06:25-09:50 +0 N3194J - -\nf50 2255 BOS-DCA 06:25-08:03 83 E190 open ? - 06:25-08:03 +0 N281JB - -\nf51 254 DCA-JFK 06:30-07:43 73 A220 open ? - 06:30-07:43 +0 N3247J - -\nf52 411 JFK-LAS 06:30-12:00 138 A321P open ? - 06:30-12:00 +0 N968JT - -\nf53 599 LGA-MCO 06:30-09:12 147 A320 open ? - 06:30-09:12 +0 N534JB - -\nf54 690 FLL-BOS 06:30-09:46 129 A220 open ? - 06:30-09:46 +0 N3077J - -\nf55 1083 JFK-MCO 06:30-09:15 139 A320 open ? - 06:30-09:15 +0 N580JB - -\nf56 2718 JFK-BOS 06:30-07:44 91 A220 open ? - 06:30-07:44 +0 N3065J - -\nf57 493 BOS-DEN 06:35-11:02 143 A320 open ? - 06:35-11:02 +0 N568JB - -\nf58 126 TPA-JFK 06:45-09:29 138 A320 open ? - 06:45-09:29 +0 N625JB - -\nf59 959 BDL-FLL 06:45-09:58 146 A320 open ? - 06:45-09:58 +0 N598JB - -\nf60 1184 MCO-JFK 06:45-09:26 178 A321 open ? - 06:45-09:26 +0 N997JL - -\nf61 1246 SJU-FLL 06:45-09:26 149 A320 open ? - 06:45-09:26 +0 N763JB - -\nf62 2285 JFK-RDU 06:45-08:24 133 A320 open ? - 06:45-08:24 +0 N594JB - -\nf63 2625 RDU-FLL 06:45-08:55 121 A320 open ? - 06:45-08:55 +0 N589JB - -\nf64 741 JFK-SAV 06:50-09:01 105 A220 open ? - 06:50-09:01 +0 N3138J - -\nf65 1480 FLL-DCA 06:50-09:20 120 A220 open ? - 06:50-09:20 +0 N3229J - -\nf66 1601 JFK-FLL 06:54-09:59 140 A320 open ? - 06:54-09:59 +0 N653JB - -\nf67 223 JFK-LAX 06:55-12:54 127 A321P open ? - 06:55-12:54 +0 N980JT - -\nf68 205 EWR-FLL 06:59-09:55 144 A320 open ? - 06:59-09:55 +0 N569JB - -\nf69 1067 HPN-PBI 06:59-09:46 144 A320 open ? - 06:59-09:46 +0 N592JB - -\nf70 165 BOS-RSW 07:00-10:28 129 A220 open ? - 07:00-10:28 +0 N3195J - -\nf71 379 DCA-FLL 07:00-09:35 118 A220 open ? - 07:00-09:35 +0 N3261J - -\nf72 397 BOS-SEA 07:00-13:20 181 A321 open ? - 07:00-13:20 +0 N970JB - -\nf73 619 BOS-SAN 07:00-13:06 136 A321P open ? - 07:00-13:06 +0 N4077J - -\nf74 971 MHT-JFK 07:00-08:14 43 A320 open ? - 07:00-08:14 +0 N637JB - -\nf75 1074 BNA-JFK 07:00-09:27 112 A220 open ? - 07:00-09:27 +0 N3118J - -\nf76 1145 RIC-FLL 07:00-09:23 126 A320 open ? - 07:00-09:23 +0 N606JB - -\nf77 1198 PIT-JFK 07:00-08:30 59 A220 open ? - 07:00-08:30 +0 N3112J - -\nf78 1471 LGA-FLL 07:00-10:00 139 A320 open ? - 07:00-10:00 +0 N789JB - -\nf79 1476 SJU-BDL 07:00-10:53 150 A320 open ? - 07:00-10:53 +0 N599JB - -\nf80 1551 HPN-RSW 07:00-09:56 119 A320 open ? - 07:00-09:56 +0 N807JB - -\nf81 2020 FLL-ORH 07:00-09:58 93 A220 open ? - 07:00-09:58 +0 N3258J - -\nf82 814 FLL-HPN 07:05-10:07 136 A320 open ? - 07:05-10:07 +0 N607JB - -\nf83 1130 FLL-CHS 07:05-08:45 65 A220 open ? - 07:05-08:45 +0 N3145J - -\nf84 2144 PBI-EWR 07:05-09:53 138 A320 open ? - 07:05-09:53 +0 N784JB - -\nf85 320 ATL-JFK 07:07-09:28 144 A320 open ? - 07:07-09:28 +0 N794JB - -\nf86 1129 PVD-JFK 07:07-08:09 49 A320 open ? - 07:07-08:09 +0 N627JB - -\nf87 417 BOS-JFK 07:10-08:30 100 A320 open ? - 07:10-08:30 +0 N570JB - -\nf88 1585 BOS-PIT 07:10-09:03 107 A220 open ? - 07:10-09:03 +0 N3203J - -\nf89 2274 TPA-EWR 07:10-09:57 139 A320 open ? - 07:10-09:57 +0 N639JB - -\nf90 676 BDL-JFK 07:12-08:14 44 A320 open ? - 07:12-08:14 +0 N708JB - -\nf91 406 ORD-JFK 07:15-09:27 119 A220 open ? - 07:15-09:27 +0 N3185J - -\nf92 2751 TPA-SJU 07:15-10:20 182 A321 open ? - 07:15-10:20 +0 N995JL - -\nf93 598 MCO-LGA 07:20-10:00 150 A320 open ? - 07:20-10:00 +0 N632JB - -\nf94 2465 BUF-FLL 07:20-10:19 146 A320 open ? - 07:20-10:19 +0 N779JB - -\nf95 716 BUF-BOS 07:22-08:42 87 E190 open ? - 07:22-08:42 +0 N323JB - -\nf96 656 MCO-SYR 07:25-10:11 129 A320 open ? - 07:25-10:11 +0 N641JB - -\nf97 1219 BOS-MIA 07:25-10:54 117 A220 open ? - 07:25-10:54 +0 N3241J - -\nf98 189 JFK-SAN 07:30-13:25 133 A321P open ? - 07:30-13:25 +0 N942JB - -\nf99 953 JFK-PBI 07:30-10:29 145 A320 open ? - 07:30-10:29 +0 N821JB - -\nf100 1236 DTW-BOS 07:30-09:26 117 A220 open ? - 07:30-09:26 +0 N3156J - -\nf101 1295 BOS-BUF 07:30-09:04 85 E190 open ? - 07:30-09:04 +0 N284JB - -\nf102 1447 HPN-TPA 07:30-10:17 145 A320 open ? - 07:30-10:17 +0 N661JB - -\nf103 1602 JFK-BUF 07:30-09:00 126 A220 open ? - 07:30-09:00 +0 N3139J - -\nf104 257 BOS-BZN 07:40-12:37 142 A320 open ? - 07:40-12:37 +0 N584JB - -\nf105 377 FLL-SFO 07:40-13:30 136 A321P open ? - 07:40-13:30 +0 N978JB - -\nf106 991 FLL-SJU 07:40-10:19 145 A320 open ? - 07:40-10:19 +0 N655JB - -\nf107 1177 BOS-LAS 07:40-13:30 138 A321P open ? - 07:40-13:30 +0 N946JL - -\nf108 2423 DCA-MCO 07:40-10:02 117 A320 open ? - 07:40-10:02 +0 N520JB - -\nf109 163 JFK-SRQ 07:45-10:43 118 A220 open ? - 07:45-10:43 +0 N3169J - -\nf110 374 SYR-BOS 07:45-08:54 83 E190 open ? - 07:45-08:54 +0 N283JB - -\nf111 1573 EWR-LAX 07:45-13:33 129 A321P open ? - 07:45-13:33 +0 N937JB - -\nf112 1247 LGA-TPA 07:59-10:49 130 A320 open ? - 07:59-10:49 +0 N793JB - -\nf113 455 BOS-DCA 08:00-09:45 83 E190 open ? - 08:00-09:45 +0 N324JB - -\nf114 514 FLL-ISP 08:00-10:51 147 A320 open ? - 08:00-10:51 +0 N715JB - -\nf115 651 BOS-MCO 08:00-11:10 118 A220 open ? - 08:00-11:10 +0 N3275J - -\nf116 861 BOS-SJU 08:00-12:06 133 A320 open ? - 08:00-12:06 +0 N623JB - -\nf117 1033 MCO-SJU 08:00-11:00 130 A320 open ? - 08:00-11:00 +0 N646JB - -\nf118 1273 JFK-CHS 08:00-10:15 128 A320 open ? - 08:00-10:15 +0 N796JB - -\nf119 1293 BOS-ILM 08:00-10:03 97 A220 open ? - 08:00-10:03 +0 N3044J - -\nf120 1347 DCA-SJU 08:00-11:58 182 A321 open ? - 08:00-11:58 +0 N966JT - -\nf121 2601 HPN-SJU 08:00-11:45 122 A220 open ? - 08:00-11:45 +0 N3255J - -\nf122 2952 MCO-BOS 08:00-11:03 176 A321 open ? - 08:00-11:03 +0 N2060J - -\nf123 2995 BOS-PDX 08:00-14:11 176 A321 open ? - 08:00-14:11 +0 N903JB - -\nf124 323 JFK-LAX 08:01-14:01 127 A321P open ? - 08:01-14:01 +0 N987JT - -\nf125 1159 BOS-PHL 08:05-09:40 82 E190 open ? - 08:05-09:40 +0 N329JB - -\nf126 1334 SJU-MCO 08:05-11:07 149 A320 open ? - 08:05-11:07 +0 N591JB - -\nf127 1475 BDL-SJU 08:05-11:56 126 A320 open ? - 08:05-11:56 +0 N705JB - -\nf128 519 JFK-ATL 08:10-10:36 124 A220 open ? - 08:10-10:36 +0 N3221J - -\nf129 687 BOS-LAX 08:10-14:22 138 A321P open ? - 08:10-14:22 +0 N988JT - -\nf130 806 BNA-BOS 08:10-10:44 126 A320 open ? - 08:10-10:44 +0 N766JB - -\nf131 1497 JFK-DEN 08:10-12:25 130 A320 open ? - 08:10-12:25 +0 N658JB - -\nf132 1 JFK-FLL 08:15-11:24 173 A321 open ? - 08:15-11:24 +0 N950JT - -\nf133 854 PBI-JFK 08:15-11:00 123 A220 open ? - 08:15-11:00 +0 N3149J - -\nf134 2016 FLL-PHL 08:15-11:07 134 A320 open ? - 08:15-11:07 +0 N834JB - -\nf135 215 JFK-SFO 08:20-14:50 131 A321P open ? - 08:20-14:50 +0 N935JB - -\nf136 1707 FLL-LAS 08:20-13:17 134 A321P open ? - 08:20-13:17 +0 N929JB - -\nf137 633 BOS-IAH 08:25-12:35 117 A220 open ? - 08:25-12:35 +0 N3215J - -\nf138 762 SJU-BOS 08:25-12:34 183 A321 open ? - 08:25-12:34 +0 N972JT - -\nf139 183 JFK-MCO 08:29-11:23 120 A220 open ? - 08:29-11:23 +0 N3260J - -\nf140 85 BUF-MCO 08:30-11:05 144 A320 open ? - 08:30-11:05 +0 N605JB - -\nf141 813 HPN-FLL 08:30-11:25 141 A320 open ? - 08:30-11:25 +0 N659JB - -\nf142 1018 JFK-BOS 08:30-09:51 91 A220 open ? - 08:30-09:51 +0 N3115J - -\nf143 2277 BOS-AVL 08:30-10:54 106 A220 open ? - 08:30-10:54 +0 N3104J - -\nf144 1117 BOS-JFK 08:40-09:59 86 A220 open ? - 08:40-09:59 +0 N3257J - -\nf145 229 BQN-MCO 08:42-11:34 148 A320 open ? - 08:42-11:34 +0 N517JB - -\nf146 1241 BDL-PBI 08:45-11:45 144 A320 open ? - 08:45-11:45 +0 N583JB - -\nf147 1324 BOS-MVY 08:45-09:31 55 E190 open ? - 08:45-09:31 +0 N318JB - -\nf148 2024 MCO-DCA 08:45-11:00 137 A320 open ? - 08:45-11:00 +0 N656JB - -\nf149 768 PSE-MCO 08:50-11:53 135 A320 open ? - 08:50-11:53 +0 N537JT - -\nf150 1603 JFK-SJU 08:50-12:50 138 A321P open ? - 08:50-12:50 +0 N947JB - -\nf151 1854 DCA-BOS 08:50-10:29 84 E190 open ? - 08:50-10:29 +0 N281JB - -\nf152 2121 HPN-ACK 08:56-10:00 73 E190 open ? - 08:56-10:00 +0 N317JB - -\nf153 116 SFO-JFK 09:00-14:40 138 A321P open ? - 09:00-14:40 +0 N993JE - -\nf154 484 RDU-BOS 09:00-10:59 118 A220 open ? - 09:00-10:59 +0 N3058J - -\nf155 791 BOS-TPA 09:00-12:15 126 A220 open ? - 09:00-12:15 +0 N3251J - -\nf156 837 BOS-DTW 09:00-11:11 122 A220 open ? - 09:00-11:11 +0 N3142J - -\nf157 888 LAX-BOS 09:00-14:40 138 A321P open ? - 09:00-14:40 +0 N944JT - -\nf158 1454 SJU-FLL 09:00-11:41 149 A320 open ? - 09:00-11:41 +0 N638JB - -\nf159 2433 DCA-PBI 09:02-11:32 103 A220 open ? - 09:02-11:32 +0 N3271J - -\nf160 219 BOS-SAN 09:03-15:08 136 A321P open ? - 09:03-15:08 +0 N991JT - -\nf161 434 SFO-BOS 09:05-14:50 138 A321P open ? - 09:05-14:50 +0 N934JB - -\nf162 1097 BOS-ATL 09:05-11:54 144 A320 open ? - 09:05-11:54 +0 N640JB - -\nf163 1529 JFK-RSW 09:05-12:12 144 A320 open ? - 09:05-12:12 +0 N636JB - -\nf164 523 JFK-LAX 09:09-15:05 127 A321P open ? - 09:09-15:05 +0 N981JT - -\nf165 94 MCO-HPN 09:10-11:57 140 A320 open ? - 09:10-11:57 +0 N703JB - -\nf166 2041 BOS-CLE 09:10-11:12 112 A220 open ? - 09:10-11:12 +0 N3162J - -\nf167 75 JFK-MSY 09:15-12:31 123 A220 open ? - 09:15-12:31 +0 N3242J - -\nf168 1807 BOS-BNA 09:15-12:03 124 A320 open ? - 09:15-12:03 +0 N651JB - -\nf169 2786 RDU-JFK 09:19-10:58 134 A320 open ? - 09:19-10:58 +0 N594JB - -\nf170 546 MCO-ISP 09:20-12:00 145 A320 open ? - 09:20-12:00 +0 N624JB - -\nf171 2355 BOS-DCA 09:22-10:59 83 E190 open ? - 09:22-10:59 +0 N306JB - -\nf172 1338 JFK-MVY 09:25-10:38 106 A220 open ? - 09:25-10:38 +0 N3023J - -\nf173 511 JFK-LAS 09:30-15:07 138 A321P open ? - 09:30-15:07 +0 N985JT - -\nf174 905 JFK-ORD 09:30-12:19 121 A220 open ? - 09:30-12:19 +0 N3152J - -\nf175 1131 CHS-FLL 09:30-11:09 87 A220 open ? - 09:30-11:09 +0 N3145J - -\nf176 670 MCO-RIC 09:35-11:40 138 A320 open ? - 09:35-11:40 +0 N521JB - -\nf177 2352 BOS-ACK 09:35-10:29 71 E190 open ? - 09:35-10:29 +0 N323JB - -\nf178 312 ORD-BOS 09:40-12:04 127 A220 open ? - 09:40-12:04 +0 N3085J - -\nf179 385 BOS-PIT 09:41-11:28 76 E190 open ? - 09:41-11:28 +0 N283JB - -\nf180 1686 TPA-JFK 09:44-12:30 138 A320 open ? - 09:44-12:30 +0 N712JB - -\nf181 127 EWR-MCO 09:45-12:35 142 A320 open ? - 09:45-12:35 +0 N527JL - -\nf182 172 FLL-LGA 09:45-12:37 146 A320 open ? - 09:45-12:37 +0 N507JT - -\nf183 488 MCO-ORH 09:45-12:39 124 A320 open ? - 09:45-12:39 +0 N665JB - -\nf184 1901 BUF-JFK 09:45-11:09 126 A220 open ? - 09:45-11:09 +0 N3139J - -\nf185 2695 HPN-MCO 09:45-12:28 135 A320 open ? - 09:45-12:28 +0 N562JB - -\nf186 2638 BQN-JFK 09:47-13:39 143 A320 open ? - 09:58-13:50 +11 N535JB - -\nf187 1912 RSW-EWR 09:48-12:39 148 A320 open ? - 09:48-12:39 +0 N510JB - -\nf188 1296 BUF-BOS 09:49-11:14 87 E190 open ? - 09:49-11:14 +0 N284JB - -\nf189 267 BOS-CHS 09:55-12:24 124 A220 open ? - 09:55-12:24 +0 N3062J - -\nf190 1310 JAX-BOS 09:55-12:35 113 A220 open ? - 09:55-12:35 +0 N3132J - -\nf191 1461 LGA-PBI 09:55-12:49 135 A320 open ? - 09:55-12:49 +0 N746JB - -\nf192 142 SAV-JFK 09:56-12:00 109 A220 open ? - 09:56-12:00 +0 N3138J - -\nf193 186 JFK-ROC 09:59-11:24 116 A220 open ? - 09:59-11:24 +0 N3247J - -\nf194 393 BOS-DEN 10:00-14:37 143 A320 open ? - 10:00-14:37 +0 N729JB - -\nf195 552 MCO-BOS 10:00-12:59 142 A320 open ? - 10:00-12:59 +0 N559JB - -\nf196 892 TPA-BOS 10:00-13:04 118 A220 open ? - 10:00-13:04 +0 N3113J - -\nf197 1286 PIT-BOS 10:00-11:39 107 A220 open ? - 10:00-11:39 +0 N3203J - -\nf198 249 BOS-SAV 10:05-12:40 112 A220 open ? - 10:05-12:40 +0 N3065J - -\nf199 1142 PBI-BDL 10:05-12:59 149 A320 open ? - 10:05-12:59 +0 N648JB - -\nf200 2801 FLL-LAX 10:05-15:24 138 A321P open ? - 10:05-15:24 +0 N967JT - -\nf201 2686 MCO-BUF 10:07-12:48 147 A320 open ? - 10:07-12:48 +0 N506JB - -\nf202 2584 MCO-JFK 10:09-12:49 144 A320 open ? - 10:09-12:49 +0 N662JB - -\nf203 21 BOS-PBI 10:10-13:22 145 A320 open ? - 10:10-13:22 +0 N595JB - -\nf204 124 LAX-JFK 10:10-15:46 134 A321P open ? - 10:10-15:46 +0 N962JT - -\nf205 579 DCA-FLL 10:10-12:48 118 A220 open ? - 10:10-12:48 +0 N3229J - -\nf206 1123 JFK-LAX 10:14-16:10 127 A321P open ? - 10:14-16:10 +0 N961JT - -\nf207 1235 BOS-SJU 10:14-14:20 115 A220 open ? - 10:14-14:20 +0 N3125J - -\nf208 1160 PHL-BOS 10:15-11:40 85 E190 open ? - 10:19-11:44 +4 N329JB - -\nf209 1225 MVY-BOS 10:16-11:05 60 E190 open ? - 10:16-11:05 +0 N318JB - -\nf210 815 BOS-DFW 10:23-14:27 145 A320 open ? - 10:23-14:27 +0 N516JB - -\nf211 2902 JFK-BUF 10:25-11:56 126 A220 open ? - 10:25-11:56 +0 N3102J - -\nf212 554 DCA-BOS 10:30-12:05 84 E190 open ? - 10:30-12:05 +0 N324JB - -\nf213 1833 BOS-SFO 10:30-17:04 138 A321P open ? - 10:30-17:04 +0 N2169J - -\nf214 418 JFK-BOS 10:35-11:51 105 A320 open ? - 10:35-11:51 +0 N571JB - -\nf215 904 SJU-JFK 10:35-14:30 191 A321 open ? - 10:35-14:30 +0 N907JB - -\nf216 2091 JFK-ACK 10:35-11:53 95 A220 open ? - 10:35-11:53 +0 N3185J - -\nf217 2273 EWR-TPA 10:38-13:28 139 A320 open ? - 10:38-13:28 +0 N566JB - -\nf218 404 SJU-RDU 10:39-14:19 142 A320 open ? - 10:39-14:19 +0 N523JB - -\nf219 316 SFO-JFK 10:40-16:16 138 A321P open ? - 10:40-16:16 +0 N984JB - -\nf220 2119 ORH-FLL 10:45-14:00 98 A220 open ? - 10:45-14:00 +0 N3258J - -\nf221 2493 ACK-DCA 10:45-12:20 78 E190 open ? - 10:45-12:20 +0 N317JB - -\nf222 1552 RSW-HPN 10:46-13:43 128 A320 open ? - 10:46-13:43 +0 N807JB - -\nf223 1290 ILM-BOS 10:48-12:45 109 A220 open ? - 10:48-12:45 +0 N3044J - -\nf224 225 JFK-TPA 10:50-13:45 143 A320 open ? - 10:50-13:45 +0 N587JB - -\nf225 499 LGA-MCO 10:50-13:40 147 A320 open ? - 10:50-13:40 +0 N632JB - -\nf226 133 MCO-SJU 10:52-13:53 141 A320 open ? - 10:52-13:53 +0 N775JB - -\nf227 1487 BOS-LAX 10:55-17:09 138 A321P open ? - 10:55-17:09 +0 N990JL - -\nf228 678 JFK-JAX 10:59-13:28 122 A220 open ? - 10:59-13:28 +0 N3257J - -\nf229 1167 HPN-PBI 10:59-13:50 144 A320 open ? - 10:59-13:50 +0 N607JB - -\nf230 655 SYR-MCO 11:00-13:56 129 A320 open ? - 11:00-13:56 +0 N641JB - -\nf231 1700 LAX-FLL 11:00-16:22 138 A321P open ? - 11:00-16:22 +0 N992JB - -\nf232 2474 CHS-JFK 11:00-12:59 132 A320 open ? - 11:00-12:59 +0 N796JB - -\nf233 1902 FLL-JFK 11:05-14:01 143 A320 open ? - 11:05-14:01 +0 N526JL - -\nf234 272 FLL-LGA 11:09-14:04 146 A320 open ? - 11:09-14:04 +0 N630JB - -\nf235 2074 LAX-EWR 11:10-16:40 138 A321P open ? - 11:10-16:40 +0 N979JT - -\nf236 266 RSW-BOS 11:13-14:22 123 A220 open ? - 11:13-14:22 +0 N3195J - -\nf237 1054 PBI-JFK 11:14-13:59 143 A320 open ? - 11:14-13:59 +0 N592JB - -\nf238 1288 PBI-PVD 11:14-14:07 143 A320 open ? - 11:14-14:07 +0 N821JB - -\nf239 503 JFK-SJU 11:15-15:12 144 A320 open ? - 11:15-15:12 +0 N760JB - -\nf240 831 ACK-LGA 11:15-12:30 79 E190 open ? - 11:15-12:30 +0 N323JB - -\nf241 1017 BOS-JFK 11:15-12:32 86 A220 open ? - 11:15-12:32 +0 N3240J - -\nf242 1055 BOS-DCA 11:15-12:58 83 E190 open ? - 11:15-12:58 +0 N281JB - -\nf243 138 MCO-BDL 11:20-14:09 150 A320 open ? - 11:20-14:09 +0 N645JB - -\nf244 2143 EWR-PBI 11:20-14:11 139 A320 open ? - 11:20-14:11 +0 N784JB - -\nf245 2828 MCO-ALB 11:20-14:07 130 A320 open ? - 11:20-14:07 +0 N524JB - -\nf246 1339 MVY-JFK 11:23-12:29 110 A220 open ? - 11:23-12:29 +0 N3023J - -\nf247 1734 SFO-BOS 11:25-17:14 138 A321P open ? - 11:25-17:14 +0 N964JT - -\nf248 1890 SJU-EWR 11:25-15:34 190 A321 open ? - 11:25-15:34 +0 N995JL - -\nf249 1520 ATL-JFK 11:26-13:46 125 A220 open ? - 11:26-13:46 +0 N3221J - -\nf250 288 LAX-BOS 11:30-17:20 138 A321P open ? - 11:30-17:20 +0 N2142J - -\nf251 164 SRQ-JFK 11:35-14:30 126 A220 open ? - 11:35-14:30 +0 N3169J - -\nf252 2278 AVL-BOS 11:39-13:55 121 A220 open ? - 11:39-13:55 +0 N3104J - -\nf253 194 MCO-HPN 11:40-14:29 140 A320 open ? - 11:40-14:29 +0 N547JB - -\nf254 513 ISP-FLL 11:40-14:37 150 A320 open ? - 11:40-14:37 +0 N715JB - -\nf255 1220 MIA-BOS 11:40-15:09 124 A220 open ? - 11:40-15:09 +0 N3241J - -\nf256 2051 BOS-MCO 11:40-14:53 127 A320 open ? - 11:40-14:53 +0 N586JB - -\nf257 1923 DCA-MCO 11:45-14:05 126 A320 open ? - 11:45-14:05 +0 N656JB - -\nf258 2454 DCA-BOS 11:45-13:15 84 E190 open ? - 11:45-13:15 +0 N306JB - -\nf259 1281 BOS-RIC 11:49-13:37 116 A220 open ? - 11:49-13:37 +0 N3156J - -\nf260 641 BOS-CLE 11:50-13:49 80 E190 open ? - 11:50-13:49 +0 N318JB - -\nf261 934 SJU-MCO 11:50-14:55 138 A320 open ? - 11:50-14:55 +0 N508JL - -\nf262 1103 BDL-RSW 11:50-15:04 130 A320 open ? - 11:50-15:04 +0 N599JB - -\nf263 1215 BOS-BUF 11:54-13:26 85 E190 open ? - 11:54-13:26 +0 N284JB - -\nf264 2028 MCO-EWR 11:55-14:40 149 A320 open ? - 11:55-14:40 +0 N657JB - -\nf265 429 PHL-FLL 11:56-14:47 126 A320 open ? - 11:56-14:47 +0 N834JB - -\nf266 1336 DTW-BOS 11:57-13:51 117 A220 open ? - 11:57-13:51 +0 N3142J - -\nf267 494 DEN-BOS 11:59-16:05 145 A320 open ? - 11:59-16:05 +0 N568JB - -\nf268 83 JFK-MCO 12:00-14:54 139 A320 open ? - 12:00-14:54 +0 N552JB - -\nf269 261 BOS-SJU 12:00-16:04 115 A220 open ? - 12:00-16:04 +0 N3077J - -\nf270 352 MCO-BOS 12:00-15:05 123 A220 open ? - 12:00-15:05 +0 N3275J - -\nf271 415 JFK-SFO 12:00-18:20 131 A321P open ? - 12:00-18:20 +0 N2151J - -\nf272 508 JFK-PWM 12:00-13:23 93 A220 open ? - 12:00-13:23 +0 N3139J - -\nf273 1144 MCO-MHT 12:00-15:00 140 A320 open ? - 12:00-15:00 +0 N580JB - -\nf274 1026 FLL-BUF 12:05-14:58 124 A220 open ? - 12:05-14:58 +0 N3145J - -\nf275 2040 CLE-BOS 12:05-13:52 114 A220 open ? - 12:05-13:52 +0 N3162J - -\nf276 184 MCO-JFK 12:10-14:58 125 A220 open ? - 12:10-14:58 +0 N3260J - -\nf277 401 BOS-MSY 12:10-15:47 173 A321 open ? - 12:10-15:47 +0 N2060J - -\nf278 423 JFK-LAX 12:10-18:10 127 A321P open ? - 12:10-18:10 +0 N977JE - -\nf279 386 PIT-BOS 12:13-13:56 77 E190 open ? - 12:13-13:56 +0 N283JB - -\nf280 1553 FLL-SJU 12:15-14:58 145 A320 open ? - 12:15-14:58 +0 N531JL - -\nf281 698 MCO-LGA 12:25-15:05 150 A320 open ? - 12:25-15:05 +0 N564JB - -\nf282 2469 BOS-FLL 12:25-15:49 123 A220 open ? - 12:25-15:49 +0 N3115J - -\nf283 2334 PBI-DCA 12:27-14:50 108 A220 open ? - 12:27-14:50 +0 N3271J - -\nf284 485 ROC-JFK 12:30-13:49 110 A220 open ? - 12:30-13:49 +0 N3247J - -\nf285 501 JFK-FLL 12:30-15:38 140 A320 open ? - 12:30-15:38 +0 N644JB - -\nf286 1352 BOS-ACK 12:32-13:25 71 E190 open ? - 12:32-13:25 +0 N329JB - -\nf287 524 LAX-JFK 12:35-18:15 134 A321P open ? - 12:35-18:15 +0 N976JT - -\nf288 1075 MCO-PVD 12:35-15:25 147 A320 open ? - 12:35-15:25 +0 N520JB - -\nf289 544 PBI-ISP 12:37-15:20 147 A320 open ? - 12:37-15:20 +0 N583JB - -\nf290 2901 BUF-JFK 12:41-14:12 126 A220 open ? - 12:41-14:12 +0 N3102J - -\nf291 70 FLL-BOS 12:45-16:04 149 A320 open ? - 12:45-16:04 +0 N563JB - -\nf292 862 SJU-BOS 12:45-16:53 128 A220 open ? - 12:45-16:53 +0 N3255J - -\nf293 2940 SJU-STX 12:46-13:26 114 A320 open ? - 12:46-13:26 +0 N646JB - -\nf294 896 ATL-BOS 12:48-15:24 136 A320 open ? - 12:48-15:24 +0 N640JB - -\nf295 1806 BNA-BOS 12:48-15:25 117 A320 open ? - 12:48-15:25 +0 N651JB - -\nf296 2033 BOS-IAH 12:48-17:01 136 A320 open ? - 12:48-17:01 +0 N554JB - -\nf297 92 ACK-JFK 12:50-14:00 97 A220 open ? - 12:50-14:00 +0 N3185J - -\nf298 936 SJU-STT 12:50-13:28 126 A320 open ? - 12:50-13:28 +0 N705JB - -\nf299 48 TPA-LGA 12:55-15:32 140 A320 open ? - 12:55-15:32 +0 N793JB - -\nf300 547 ISP-MCO 12:55-15:39 150 A320 open ? - 12:55-15:39 +0 N624JB - -\nf301 969 RIC-MCO 12:55-15:02 117 A320 open ? - 12:55-15:02 +0 N521JB - -\nf302 1039 BOS-AUS 12:59-17:12 129 A220 open ? - 12:59-17:12 +0 N3058J - -\nf303 1251 HPN-RSW 13:00-16:00 119 A320 open ? - 13:00-16:00 +0 N703JB - -\nf304 1414 DCA-MVY 13:05-14:28 77 E190 open ? - 13:05-14:28 +0 N317JB - -\nf305 906 ORD-JFK 13:07-15:30 119 A220 open ? - 13:07-15:30 +0 N3152J - -\nf306 1530 RSW-JFK 13:08-16:00 132 A320 open ? - 13:08-16:00 +0 N636JB - -\nf307 448 LAS-JFK 13:10-18:30 138 A321P open ? - 13:10-18:30 +0 N968JT - -\nf308 592 TPA-BOS 13:10-16:18 118 A220 open ? - 13:10-16:18 +0 N3251J - -\nf309 2432 LGA-ACK 13:10-14:23 67 E190 open ? - 13:10-14:23 +0 N323JB - -\nf310 176 MSY-JFK 13:18-16:30 117 A220 open ? - 13:18-16:30 +0 N3242J - -\nf311 68 CHS-BOS 13:19-15:41 119 A220 open ? - 13:19-15:41 +0 N3062J - -\nf312 855 BOS-DCA 13:20-15:08 83 E190 open ? - 13:20-15:08 +0 N324JB - -\nf313 632 IAH-BOS 13:23-17:20 114 A220 open ? - 13:23-17:20 +0 N3215J - -\nf314 1498 DEN-JFK 13:25-17:24 132 A320 open ? - 13:25-17:24 +0 N658JB - -\nf315 105 EWR-FLL 13:29-16:25 144 A320 open ? - 13:29-16:25 +0 N510JB - -\nf316 128 MCO-EWR 13:30-16:17 149 A320 open ? - 13:30-16:17 +0 N590JB - -\nf317 256 BZN-BOS 13:30-17:55 138 A320 open ? - 13:30-17:55 +0 N584JB - -\nf318 1173 JFK-BNA 13:30-15:57 119 A220 open ? - 13:30-15:57 +0 N3023J - -\nf319 1371 LGA-FLL 13:30-16:36 139 A320 open ? - 13:30-16:36 +0 N507JT - -\nf320 487 ORH-MCO 13:34-16:40 118 A320 open ? - 13:34-16:40 +0 N665JB - -\nf321 150 SAV-BOS 13:35-15:59 116 A220 open ? - 13:35-15:59 +0 N3065J - -\nf322 424 LAX-JFK 13:35-19:15 135 A321P open ? - 13:35-19:15 +0 N2188J - -\nf323 811 BOS-ORD 13:35-16:29 122 A220 open ? - 13:35-16:29 +0 N3203J - -\nf324 761 BOS-SJU 13:40-17:42 165 A321 open ? - 13:40-17:42 +0 N972JT - -\nf325 1680 FLL-DCA 13:40-16:12 120 A220 open ? - 13:40-16:12 +0 N3229J - -\nf326 2229 BOS-MKE 13:40-16:08 118 A220 open ? - 13:40-16:08 +0 N3085J - -\nf327 2685 BUF-MCO 13:43-16:25 144 A320 open ? - 13:43-16:25 +0 N506JB - -\nf328 1254 DCA-BOS 13:44-15:25 84 E190 open ? - 13:44-15:25 +0 N281JB - -\nf329 419 JFK-ATL 13:50-16:29 144 A320 open ? - 13:50-16:29 +0 N504JB - -\nf330 1084 MCO-JFK 13:50-16:37 144 A320 open ? - 13:50-16:37 +0 N605JB - -\nf331 1604 SJU-JFK 13:50-17:49 138 A321P open ? - 13:53-17:52 +3 N947JB - -\nf332 119 MCO-ALB 13:53-16:50 141 A320 open ? - 13:53-16:50 +0 N591JB - -\nf333 533 BDL-TPA 13:55-17:00 146 A320 open ? - 13:55-17:00 +0 N648JB - -\nf334 2251 BOS-MCO 13:55-17:15 137 A320 open ? - 13:55-17:15 +0 N766JB - -\nf335 834 SFO-BOS 13:56-19:45 129 A321P open ? - 13:56-19:45 +0 N923JB - -\nf336 817 BOS-JFK 13:59-15:15 86 A220 open ? - 13:59-15:15 +0 N3132J - -\nf337 1002 FLL-JFK 13:59-16:57 143 A320 open ? - 13:59-16:57 +0 N615JB - -\nf338 100 LAX-FLL 14:00-19:22 138 A321P open ? - 14:00-19:22 +0 N2165J - -\nf339 2665 ACK-HPN 14:10-15:14 78 E190 open ? - 14:10-15:14 +0 N329JB - -\nf340 2656 MCO-SYR 14:12-17:02 129 A320 open ? - 14:12-17:02 +0 N517JB - -\nf341 216 SFO-JFK 14:14-20:00 138 A321P open ? - 14:14-20:00 +0 N2157J - -\nf342 1216 BUF-BOS 14:14-15:45 87 E190 open ? - 14:14-15:45 +0 N284JB - -\nf343 553 FLL-SJU 14:15-16:55 179 A321 open ? - 14:15-16:55 +0 N950JT - -\nf344 1685 JFK-TPA 14:15-17:25 143 A320 open ? - 14:15-17:25 +0 N561JB - -\nf345 620 SAN-BOS 14:16-20:06 138 A321P open ? - 14:16-20:06 +0 N4077J - -\nf346 407 PWM-JFK 14:19-15:45 102 A220 open ? - 14:19-15:45 +0 N3139J - -\nf347 1754 SJU-FLL 14:20-17:01 184 A321 open ? - 14:20-17:01 +0 N966JT - -\nf348 435 STT-SJU 14:23-15:10 143 A320 open ? - 14:23-15:10 +0 N705JB - -\nf349 1690 TPA-PVD 14:23-17:20 134 A320 open ? - 14:23-17:20 +0 N566JB - -\nf350 2941 STX-SJU 14:23-15:10 110 A320 open ? - 14:23-15:10 +0 N646JB - -\nf351 677 JAX-JFK 14:24-16:44 119 A220 open ? - 14:24-16:44 +0 N3257J - -\nf352 2291 JFK-ACK 14:28-15:53 95 A220 open ? - 14:28-15:53 +0 N3240J - -\nf353 1501 JFK-FLL 14:29-17:46 140 A320 open ? - 14:29-17:46 +0 N637JB - -\nf354 1708 LAS-FLL 14:29-19:35 138 A321P open ? - 14:29-19:35 +0 N929JB - -\nf355 398 SEA-BOS 14:30-20:05 186 A321 open ? - 14:30-20:05 +0 N970JB - -\nf356 22 PBI-BOS 14:32-17:42 144 A320 open ? - 14:32-17:42 +0 N746JB - -\nf357 1168 PBI-HPN 14:32-17:30 140 A320 open ? - 14:32-17:30 +0 N595JB - -\nf358 1282 RIC-BOS 14:32-16:10 112 A220 open ? - 14:32-16:10 +0 N3156J - -\nf359 2283 BOS-RDU 14:35-16:43 86 E190 open ? - 14:35-16:43 +0 N306JB - -\nf360 2324 MCO-DCA 14:35-16:56 137 A320 open ? - 14:35-16:56 +0 N608JB - -\nf361 226 TPA-JFK 14:40-17:28 138 A320 open ? - 14:40-17:28 +0 N587JB - -\nf362 378 SFO-FLL 14:40-20:23 138 A321P open ? - 14:40-20:23 +0 N978JB - -\nf363 595 HPN-MCO 14:40-17:30 135 A320 open ? - 14:40-17:30 +0 N807JB - -\nf364 640 CLE-BOS 14:41-16:28 81 E190 open ? - 14:41-16:28 +0 N318JB - -\nf365 190 SAN-JFK 14:44-20:35 137 A321P open ? - 14:44-20:35 +0 N942JB - -\nf366 1388 LAX-BOS 14:44-20:25 138 A321P open ? - 14:44-20:25 +0 N980JT - -\nf367 318 JFK-BOS 14:45-16:13 91 A220 open ? - 14:45-16:13 +0 N3196J - -\nf368 387 BOS-LAX 14:45-20:51 138 A321P open ? - 14:45-20:51 +0 N969JT - -\nf369 1178 LAS-BOS 14:45-20:00 138 A321P open ? - 14:45-20:00 +0 N946JL - -\nf370 1538 JFK-MVY 14:45-16:01 106 A220 open ? - 14:45-16:01 +0 N3244J - -\nf371 2321 BOS-PBI 14:46-18:03 125 A220 open ? - 14:46-18:03 +0 N3044J - -\nf372 1874 LAX-EWR 14:48-20:20 138 A321P open ? - 14:48-20:20 +0 N937JB - -\nf373 349 BOS-SAV 14:50-17:30 112 A220 open ? - 14:50-17:30 +0 N3113J - -\nf374 399 LGA-MCO 14:54-17:55 147 A320 open ? - 14:54-17:55 +0 N630JB - -\nf375 285 JFK-RDU 14:55-16:48 115 A220 open ? - 14:55-16:48 +0 N3221J - -\nf376 1964 JFK-HYA 14:55-16:15 96 A220 open ? - 14:55-16:15 +0 N3247J - -\nf377 2065 BOS-RSW 14:55-18:27 129 A220 open ? - 14:55-18:27 +0 N3142J - -\nf378 883 JFK-MCO 14:57-18:05 120 A220 open ? - 14:57-18:05 +0 N3185J - -\nf379 738 MCO-BDL 14:59-17:50 139 A320 open ? - 14:59-17:50 +0 N562JB - -\nf380 1586 MCO-BUF 14:59-17:42 147 A320 open ? - 14:59-17:42 +0 N527JL - -\nf381 1133 MCO-SJU 15:00-18:00 141 A320 open ? - 15:00-18:00 +0 N632JB - -\nf382 1004 SJU-JFK 15:02-19:00 150 A320 open ? - 15:02-19:00 +0 N775JB - -\nf383 1287 PVD-PBI 15:02-18:11 145 A320 open ? - 15:02-18:11 +0 N821JB - -\nf384 37 BDL-MCO 15:04-18:10 141 A320 open ? - 15:04-18:10 +0 N645JB - -\nf385 1151 ACK-BOS 15:08-16:05 69 E190 open ? - 15:08-16:05 +0 N323JB - -\nf386 2827 ALB-MCO 15:10-18:21 127 A320 open ? - 15:10-18:21 +0 N524JB - -\nf387 1903 RDU-SJU 15:14-18:55 127 A320 open ? - 15:14-18:55 +0 N523JB - -\nf388 53 JFK-PBI 15:15-18:21 125 A220 open ? - 15:15-18:21 +0 N3102J - -\nf389 1226 SJU-BOS 15:15-19:23 128 A220 open ? - 15:15-19:23 +0 N3125J - -\nf390 1785 BOS-PIT 15:18-17:09 107 A220 open ? - 15:18-17:09 +0 N3162J - -\nf391 2459 BOS-PHL 15:20-16:55 82 E190 open ? - 15:20-16:55 +0 N283JB - -\nf392 324 LAX-JFK 15:21-21:00 134 A321P open ? - 15:21-21:00 +0 N987JT - -\nf393 2996 PDX-BOS 15:21-20:43 181 A321 open ? - 15:21-20:43 +0 N903JB - -\nf394 1214 DFW-BOS 15:22-19:16 139 A320 open ? - 15:22-19:16 +0 N516JB - -\nf395 1413 MVY-DCA 15:26-17:00 80 E190 open ? - 15:26-17:00 +0 N317JB - -\nf396 24 PBI-DCA 15:30-18:00 125 A320 open ? - 15:30-18:00 +0 N607JB - -\nf397 1211 JFK-LAS 15:30-21:10 138 A321P open ? - 15:30-21:10 +0 N982JB - -\nf398 394 DEN-BOS 15:33-19:40 145 A320 open ? - 15:33-19:40 +0 N729JB - -\nf399 873 EWR-TPA 15:38-18:40 139 A320 open ? - 15:38-18:40 +0 N657JB - -\nf400 2473 JFK-CHS 15:44-18:04 111 A220 open ? - 15:44-18:04 +0 N3169J - -\nf401 1354 DCA-BOS 15:45-17:20 118 A220 open ? - 15:45-17:20 +0 N3271J - -\nf402 1196 FLL-PVD 15:47-18:52 150 A320 open ? - 15:47-18:52 +0 N569JB - -\nf403 233 BOS-SFO 15:50-22:33 138 A321P open ? - 15:50-22:33 +0 N983JT - -\nf404 276 SJU-BDL 15:55-19:50 150 A320 open ? - 15:55-19:50 +0 N531JL - -\nf405 471 LGA-FLL 15:55-19:07 139 A320 open ? - 15:55-19:07 +0 N564JB - -\nf406 1027 BUF-FLL 15:55-18:57 126 A220 open ? - 15:55-18:57 +0 N3145J - -\nf407 2052 MCO-BOS 15:55-19:05 132 A320 open ? - 15:55-19:05 +0 N641JB - -\nf408 803 JFK-SJU 15:59-20:04 178 A321 open ? - 15:59-20:04 +0 N994JL - -\nf409 1098 MCO-LGA 15:59-18:47 150 A320 open ? - 15:59-18:47 +0 N656JB - -\nf410 1189 JFK-SAN 15:59-21:57 133 A321P open ? - 15:59-21:57 +0 N945JT - -\nf411 2666 HPN-ACK 15:59-17:07 73 E190 open ? - 15:59-17:07 +0 N329JB - -\nf412 391 BOS-TPA 16:00-19:34 126 A220 open ? - 16:00-19:34 +0 N3104J - -\nf413 1023 JFK-LAX 16:00-22:13 128 A321P open ? - 16:00-22:13 +0 N2105J - -\nf414 2004 RSW-BDL 16:00-18:53 133 A320 open ? - 16:00-18:53 +0 N599JB - -\nf415 2494 DCA-ACK 16:00-17:26 65 E190 open ? - 16:00-17:26 +0 N324JB - -\nf416 1143 MHT-MCO 16:03-19:21 133 A320 open ? - 16:03-19:21 +0 N580JB - -\nf417 2022 FLL-PHL 16:04-19:01 134 A320 open ? - 16:04-19:01 +0 N789JB - -\nf418 495 HPN-MCO 16:05-18:59 135 A320 open ? - 16:05-18:59 +0 N547JB - -\nf419 1813 BOS-ORF 16:06-17:50 114 A220 open ? - 16:06-17:50 +0 N3195J - -\nf420 188 LAX-BOS 16:10-21:52 138 A321P open ? - 16:10-21:52 +0 N988JT - -\nf421 416 SFO-JFK 16:10-21:58 138 A321P open ? - 16:10-21:58 +0 N935JB - -\nf422 224 LAX-JFK 16:15-21:54 134 A321P open ? - 16:15-21:54 +0 N981JT - -\nf423 545 ISP-PBI 16:15-19:05 148 A320 open ? - 16:15-19:05 +0 N583JB - -\nf424 1355 BOS-DCA 16:15-18:05 83 E190 open ? - 16:15-18:05 +0 N281JB - -\nf425 348 LAS-JFK 16:17-21:29 138 A321P open ? - 16:17-21:29 +0 N985JT - -\nf426 507 BOS-BNA 16:19-19:22 133 A320 open ? - 16:19-19:22 +0 N571JB - -\nf427 451 BOS-MCO 16:20-19:49 127 A320 open ? - 16:20-19:49 +0 N559JB - -\nf428 220 SAN-BOS 16:30-22:20 138 A321P open ? - 16:30-22:20 +0 N991JT - -\nf429 319 BOS-SAN 16:30-22:48 136 A321P open ? - 16:30-22:48 +0 N944JT - -\nf430 618 JFK-BOS 16:30-17:59 91 A220 open ? - 16:30-17:59 +0 N3260J - -\nf431 699 LGA-MCO 16:30-19:37 147 A320 open ? - 16:30-19:37 +0 N793JB - -\nf432 1115 BOS-BUF 16:30-18:10 85 E190 open ? - 16:30-18:10 +0 N284JB - -\nf433 341 JFK-SAV 16:31-19:02 105 A220 open ? - 16:31-19:02 +0 N3132J - -\nf434 1694 MCO-HPN 16:34-19:29 140 A320 open ? - 16:34-19:29 +0 N552JB - -\nf435 1237 BOS-DTW 16:36-18:52 122 A220 open ? - 16:36-18:52 +0 N3275J - -\nf436 1284 MCO-JFK 16:37-19:30 144 A320 open ? - 16:37-19:30 +0 N508JL - -\nf437 1200 LAX-FLL 16:39-22:00 138 A321P open ? - 16:39-22:00 +0 N967JT - -\nf438 1752 SJU-TPA 16:43-19:44 149 A320 open ? - 16:43-19:44 +0 N646JB - -\nf439 1289 EWR-SJU 16:45-20:46 187 A321 open ? - 03:03+1-07:04+1 +618 N995JL - -\nf440 1689 PVD-TPA 16:45-19:56 129 A320 open ? - 16:45-19:56 +0 N520JB - -\nf441 1880 FLL-DCA 16:45-19:17 120 A220 open ? - 16:45-19:17 +0 N3194J - -\nf442 2134 SJU-MCO 16:45-19:50 149 A320 open ? - 16:45-19:50 +0 N705JB - -\nf443 192 ACK-JFK 16:48-18:00 97 A220 open ? - 16:48-18:00 +0 N3240J - -\nf444 509 BOS-JAX 16:50-19:52 130 A320 open ? - 16:50-19:52 +0 N640JB - -\nf445 1174 BNA-JFK 16:52-19:15 112 A220 open ? - 16:52-19:15 +0 N3023J - -\nf446 170 FLL-BOS 16:55-20:15 129 A220 open ? - 16:55-20:15 +0 N3115J - -\nf447 263 JFK-SEA 16:55-23:25 175 A321 open ? - 16:55-23:25 +0 N959JB - -\nf448 1317 BOS-ATL 16:55-20:00 124 A220 open ? - 16:55-20:00 +0 N3241J - -\nf449 1539 MVY-JFK 16:57-18:05 110 A220 open ? - 16:57-18:05 +0 N3244J - -\nf450 358 JFK-BUR 16:59-23:17 128 A220 open ? - 16:59-23:17 +0 N3152J - -\nf451 2129 JFK-RSW 16:59-20:21 144 A320 open ? - 16:59-20:21 +0 N708JB - -\nf452 400 MSY-BOS 17:00-20:34 163 A321 open ? - 17:00-20:34 +0 N2060J - -\nf453 1252 RSW-HPN 17:00-20:00 128 A320 open ? - 17:00-20:00 +0 N703JB - -\nf454 1523 JFK-LAX 17:00-23:20 127 A321P open ? - 17:00-23:20 +0 N993JE - -\nf455 1728 MCO-EWR 17:00-19:58 138 A320 open ? - 17:00-19:58 +0 N521JB - -\nf456 2185 BOS-PIT 17:00-19:00 76 E190 open ? - 17:00-19:00 +0 N323JB - -\nf457 2230 MKE-BOS 17:03-19:15 122 A220 open ? - 17:03-19:15 +0 N3085J - -\nf458 315 JFK-SFO 17:05-23:47 131 A321P open ? - 17:05-23:47 +0 N962JT - -\nf459 915 BOS-SMF 17:05-23:38 121 A320 open ? - 17:05-23:38 +0 N651JB - -\nf460 1417 BOS-JFK 17:05-18:30 86 A220 open ? - 17:05-18:30 +0 N3062J - -\nf461 1727 EWR-MCO 17:07-20:04 142 A320 open ? - 17:07-20:04 +0 N590JB - -\nf462 2783 BOS-RDU 17:09-19:20 121 A220 open ? - 17:09-19:20 +0 N3065J - -\nf463 1579 DCA-FLL 17:10-19:52 118 A220 open ? - 17:10-19:52 +0 N3229J - -\nf464 845 BOS-SYR 17:14-18:38 87 E190 open ? - 17:14-18:38 +0 N318JB - -\nf465 1963 HYA-JFK 17:15-18:30 93 A220 open ? - 17:15-18:30 +0 N3247J - -\nf466 2467 BOS-CHS 17:15-19:50 124 A220 open ? - 17:15-19:50 +0 N3156J - -\nf467 69 BOS-FLL 17:16-20:50 142 A320 open ? - 17:16-20:50 +0 N563JB - -\nf468 1202 JFK-BUF 17:17-19:02 126 A220 open ? - 17:17-19:02 +0 N3139J - -\nf469 1962 PBI-LGA 17:18-20:00 131 A320 open ? - 17:18-20:00 +0 N784JB - -\nf470 624 LAX-JFK 17:20-22:59 134 A321P open ? - 17:20-22:59 +0 N961JT - -\nf471 777 BOS-LAS 17:20-23:11 138 A321P open ? - 17:20-23:11 +0 N934JB - -\nf472 1152 MCO-BOS 17:20-20:34 142 A320 open ? - 17:20-20:34 +0 N624JB - -\nf473 1012 ORD-BOS 17:25-20:00 127 A220 open ? - 17:25-20:00 +0 N3203J - -\nf474 483 JFK-MCO 17:29-20:40 139 A320 open ? - 17:29-20:40 +0 N594JB - -\nf475 472 FLL-LGA 17:33-20:30 146 A320 open ? - 17:33-20:30 +0 N659JB - -\nf476 520 ATL-JFK 17:33-20:00 144 A320 open ? - 17:33-20:00 +0 N504JB - -\nf477 770 MCO-RIC 17:35-19:40 127 A320 open ? - 17:35-19:40 +0 N506JB - -\nf478 2184 RDU-BOS 17:35-19:40 84 E190 open ? - 17:35-19:40 +0 N306JB - -\nf479 2602 SJU-HPN 17:38-21:30 123 A220 open ? - 17:38-21:30 +0 N3077J - -\nf480 101 FLL-LAX 17:40-23:04 138 A321P open ? - 17:40-23:04 +0 N992JB - -\nf481 560 PHL-BOS 17:40-19:14 85 E190 open ? - 17:40-19:14 +0 N283JB - -\nf482 135 JFK-PHX 17:44-23:19 126 A320 open ? - 17:44-23:19 +0 N712JB - -\nf483 433 MCO-SJU 17:44-20:50 141 A320 open ? - 17:44-20:50 +0 N665JB - -\nf484 120 ALB-MCO 17:45-20:50 137 A320 open ? - 17:45-20:50 +0 N591JB - -\nf485 2954 DCA-BOS 17:45-19:30 84 E190 open ? - 17:45-19:30 +0 N317JB - -\nf486 1873 EWR-LAX 17:50-23:55 129 A321P open ? - 17:50-23:55 +0 N979JT - -\nf487 1351 ACK-BOS 17:55-18:51 69 E190 open ? - 17:55-18:51 +0 N329JB - -\nf488 1453 FLL-SJU 17:55-20:34 145 A320 open ? - 17:55-20:34 +0 N638JB - -\nf489 106 FLL-EWR 17:56-21:00 144 A320 open ? - 17:56-21:00 +0 N715JB - -\nf490 932 IAH-BOS 17:57-21:50 132 A320 open ? - 17:57-21:50 +0 N554JB - -\nf491 1802 FLL-JFK 17:58-21:00 143 A320 open ? - 17:58-21:00 +0 N834JB - -\nf492 1677 JFK-JAX 17:59-20:51 122 A220 open ? - 17:59-20:51 +0 N3242J - -\nf493 2655 SYR-MCO 17:59-20:55 129 A320 open ? - 17:59-20:55 +0 N517JB - -\nf494 23 DCA-PBI 18:00-20:38 119 A320 open ? - 18:00-20:38 +0 N608JB - -\nf495 534 TPA-BDL 18:00-20:52 150 A320 open ? - 18:00-20:52 +0 N648JB - -\nf496 1786 PIT-BOS 18:04-19:48 107 A220 open ? - 18:04-19:48 +0 N3162J - -\nf497 304 SJU-JFK 18:05-22:03 150 A320 open ? - 18:05-22:03 +0 N655JB - -\nf498 1348 SJU-DCA 18:05-21:59 186 A321 open ? - 18:05-21:59 +0 N950JT - -\nf499 247 BOS-SLC 18:09-23:44 124 A220 open ? - 18:09-23:44 +0 N3196J - -\nf500 1138 AUS-BOS 18:10-22:20 123 A220 open ? - 18:10-22:20 +0 N3058J - -\nf501 2201 JFK-FLL 18:10-21:34 140 A320 open ? - 18:10-21:34 +0 N662JB - -\nf502 697 BOS-ATL 18:15-21:19 124 A220 open ? - 18:15-21:19 +0 N3251J - -\nf503 734 SFO-BOS 18:15-23:56 138 A321P open ? - 18:15-23:56 +0 N2169J - -\nf504 1955 BOS-DCA 18:15-20:03 116 A220 open ? - 18:15-20:03 +0 N3215J - -\nf505 2876 PVD-MCO 18:15-21:18 137 A320 open ? - 18:15-21:18 +0 N566JB - -\nf506 924 LAX-JFK 18:20-23:58 134 A321P open ? - 18:20-23:58 +0 N990JL - -\nf507 161 JFK-SMF 18:25-00:53+1 165 A321 open ? - 18:25-00:53+1 +0 N907JB - -\nf508 187 BOS-LAX 18:25-00:51+1 138 A321P open ? - 18:25-00:51+1 +0 N964JT - -\nf509 250 SAV-BOS 18:25-21:00 116 A220 open ? - 18:25-21:00 +0 N3113J - -\nf510 2080 FLL-DCA 18:25-20:59 120 A220 open ? - 18:25-20:59 +0 N3261J - -\nf511 2122 ACK-HPN 18:26-19:30 78 E190 open ? - 18:26-19:30 +0 N324JB - -\nf512 283 JFK-MCO 18:30-21:44 139 A320 open ? - 18:30-21:44 +0 N796JB - -\nf513 733 BOS-SFO 18:30-01:15+1 138 A321P open ? - 18:30-01:15+1 +0 N2142J - -\nf514 1567 HPN-PBI 18:30-21:28 144 A320 open ? - 18:30-21:28 +0 N595JB - -\nf515 438 MCO-BDL 18:34-21:29 150 A320 open ? - 18:34-21:29 +0 N766JB - -\nf516 197 BOS-SEA 18:35-01:05+1 181 A321 open ? - 18:35-01:05+1 +0 N965JT - -\nf517 2424 MCO-DCA 18:38-20:59 137 A320 open ? - 18:38-20:59 +0 N807JB - -\nf518 1248 TPA-LGA 18:41-21:32 140 A320 open ? - 18:41-21:32 +0 N661JB - -\nf519 491 BUF-LAX 18:42-23:56 142 A320 open ? - 18:42-23:56 +0 N527JL - -\nf520 65 JFK-ABQ 18:45-23:34 130 A320 open ? - 18:45-23:34 +0 N535JB - -\nf521 81 JFK-RNO 18:45-00:53+1 127 A220 open ? - 18:45-00:53+1 +0 N3257J - -\nf522 1037 BDL-MCO 18:45-21:45 131 A320 open ? - 18:45-21:45 +0 N562JB - -\nf523 1814 ORF-BOS 18:45-20:25 117 A220 open ? - 18:45-20:25 +0 N3195J - -\nf524 355 JFK-ONT 18:50-00:59+1 161 A321 open ? - 18:50-00:59+1 +0 N956JT - -\nf525 1053 JFK-PBI 18:50-21:56 125 A220 open ? - 18:50-21:56 +0 N3240J - -\nf526 2725 JFK-TPA 18:50-22:05 143 A320 open ? - 18:50-22:05 +0 N636JB - -\nf527 2754 DCA-BOS 18:50-20:28 84 E190 open ? - 18:50-20:28 +0 N281JB - -\nf528 462 SJU-BOS 18:54-22:59 183 A321 open ? - 18:54-22:59 +0 N972JT - -\nf529 516 BUF-BOS 18:55-20:25 87 E190 open ? - 18:55-20:25 +0 N284JB - -\nf530 992 SJU-FLL 18:55-21:34 149 A320 open ? - 18:55-21:34 +0 N632JB - -\nf531 2523 DCA-MCO 18:55-21:20 126 A320 open ? - 18:55-21:20 +0 N607JB - -\nf532 88 FLL-ALB 18:59-22:05 139 A320 open ? - 18:59-22:05 +0 N644JB - -\nf533 602 FLL-JFK 18:59-21:59 176 A321 open ? - 18:59-21:59 +0 N966JT - -\nf534 823 JFK-LAX 18:59-01:21+1 127 A321P open ? - 19:00-01:22+1 +1 N947JB - -\nf535 874 TPA-EWR 18:59-22:00 139 A320 open ? - 18:59-22:00 +0 N561JB - -\nf536 993 BOS-DEN 18:59-23:43 124 A220 open ? - 18:59-23:43 +0 N3271J - -\nf537 1274 CHS-JFK 18:59-21:05 114 A220 open ? - 18:59-21:05 +0 N3169J - -\nf538 2322 PBI-BOS 18:59-22:10 125 A220 open ? - 18:59-22:10 +0 N3044J - -\nf539 798 MCO-LGA 19:00-21:50 150 A320 open ? - 19:00-21:50 +0 N630JB - -\nf540 2984 MCO-JFK 19:00-21:52 125 A220 open ? - 19:00-21:52 +0 N3185J - -\nf541 1468 PBI-HPN 19:10-22:03 140 A320 open ? - 19:10-22:03 +0 N821JB - -\nf542 86 RDU-JFK 19:15-21:00 116 A220 open ? - 19:15-21:00 +0 N3221J - -\nf543 824 LAX-JFK 19:20-00:55+1 134 A321P open ? - 19:20-00:55+1 +0 N977JE - -\nf544 2875 MCO-PVD 19:20-22:18 136 A320 open ? - 19:20-22:18 +0 N645JB - -\nf545 2903 JFK-SJU 19:20-23:34 178 A321 open ? - 19:20-23:34 +0 N999JQ - -\nf546 71 JFK-SLC 19:24-00:59+1 142 A320 open ? - 19:24-00:59+1 +0 N605JB - -\nf547 818 JFK-BOS 19:25-20:59 105 A320 open ? - 19:25-20:59 +0 N615JB - -\nf548 2066 RSW-BOS 19:25-22:40 123 A220 open ? - 19:25-22:40 +0 N3142J - -\nf549 460 FLL-BDL 19:29-22:29 147 A320 open ? - 19:29-22:29 +0 N806JB - -\nf550 2071 FLL-BQN 19:29-22:04 117 A320 open ? - 19:29-22:04 +0 N510JB - -\nf551 616 SFO-JFK 19:30-00:59+1 138 A321P open ? - 19:30-00:59+1 +0 N2151J - -\nf552 548 TPA-HPN 19:35-22:31 142 A320 open ? - 19:35-22:31 +0 N657JB - -\nf553 715 BOS-BUF 19:39-21:13 85 E190 open ? - 19:39-21:13 +0 N329JB - -\nf554 317 BOS-JFK 19:40-21:04 100 A320 open ? - 19:40-21:04 +0 N568JB - -\nf555 1154 PBI-JFK 19:40-22:34 123 A220 open ? - 19:40-22:34 +0 N3102J - -\nf556 2186 PIT-BOS 19:45-21:28 77 E190 open ? - 19:45-21:28 +0 N323JB - -\nf557 1136 DTW-BOS 19:47-21:41 117 A220 open ? - 19:47-21:41 +0 N3275J - -\nf558 1197 PVD-FLL 19:47-22:59 139 A320 open ? - 19:47-22:59 +0 N569JB - -\nf559 571 LGA-FLL 19:49-22:59 139 A320 open ? - 19:49-22:59 +0 N656JB - -\nf560 275 BDL-SJU 19:50-23:47 126 A320 open ? - 19:50-23:47 +0 N599JB - -\nf561 1134 SJU-MCO 19:50-22:53 149 A320 open ? - 19:50-22:53 +0 N639JB - -\nf562 711 JFK-LAS 19:54-01:48+1 138 A321P open ? - 19:54-01:48+1 +0 N976JT - -\nf563 591 BOS-TPA 19:55-23:18 146 A320 open ? - 19:55-23:18 +0 N746JB - -\nf564 217 PHL-FLL 19:56-22:53 126 A320 open ? - 19:56-22:53 +0 N789JB - -\nf565 201 BUF-JFK 19:57-21:29 126 A220 open ? - 19:57-21:29 +0 N3139J - -\nf566 342 SAV-JFK 19:59-22:09 109 A220 open ? - 19:59-22:09 +0 N3132J - -\nf567 526 SJU-PVD 19:59-23:51 145 A320 open ? - 19:59-23:51 +0 N598JB - -\nf568 541 BOS-CLE 19:59-22:11 80 E190 open ? - 19:59-22:11 +0 N283JB - -\nf569 615 JFK-SFO 19:59-02:43+1 131 A321P open ? - 19:59-02:43+1 +0 N968JT - -\nf570 914 FLL-HPN 19:59-23:00 136 A320 open ? - 19:59-23:00 +0 N629JB - -\nf571 143 EWR-PBI 20:00-23:05 139 A320 open ? - 20:00-23:05 +0 N593JB - -\nf572 473 JFK-BNA 20:00-22:47 119 A220 open ? - 20:00-22:47 +0 N3244J - -\nf573 572 FLL-LGA 20:05-23:04 146 A320 open ? - 20:05-23:04 +0 N653JB - -\nf574 144 PBI-EWR 20:06-23:00 138 A320 open ? - 20:06-23:00 +0 N583JB - -\nf575 745 JFK-PSE 20:06-00:19+1 119 A320 open ? - 20:06-00:19+1 +0 N649JB - -\nf576 470 FLL-BOS 20:10-23:29 129 A220 open ? - 20:10-23:29 +0 N3145J - -\nf577 884 MCO-JFK 20:10-23:02 144 A320 open ? - 20:10-23:02 +0 N524JB - -\nf578 2421 BOS-PBI 20:10-23:23 125 A220 open ? - 20:10-23:23 +0 N3123J - -\nf579 1979 DCA-FLL 20:12-22:49 118 A220 open ? - 20:12-22:49 +0 N3194J - -\nf580 97 JFK-DEN 20:14-00:59+1 130 A320 open ? - 20:14-00:59+1 +0 N658JB - -\nf581 1484 RDU-BOS 20:15-22:18 118 A220 open ? - 20:15-22:18 +0 N3065J - -\nf582 506 BNA-BOS 20:17-22:54 126 A320 open ? - 20:17-22:54 +0 N571JB - -\nf583 954 SJU-FLL 20:20-22:59 149 A320 open ? - 20:20-22:59 +0 N523JB - -\nf584 1245 FLL-SJU 20:25-23:07 145 A320 open ? - 20:25-23:07 +0 N637JB - -\nf585 2466 FLL-BUF 20:25-23:28 144 A320 open ? - 20:25-23:28 +0 N565JB - -\nf586 185 JFK-RDU 20:29-22:28 133 A320 open ? - 20:29-22:28 +0 N587JB - -\nf587 392 TPA-BOS 20:29-23:37 118 A220 open ? - 20:29-23:37 +0 N3104J - -\nf588 195 HPN-MCO 20:30-23:13 135 A320 open ? - 20:30-23:13 +0 N552JB - -\nf589 405 JFK-ORD 20:30-23:28 121 A220 open ? - 20:30-23:28 +0 N3062J - -\nf590 2128 MCO-EWR 20:30-23:19 149 A320 open ? - 20:30-23:19 +0 N547JB - -\nf591 305 EWR-FLL 20:34-23:44 144 A320 open ? - 20:34-23:44 +0 N709JB - -\nf592 251 BOS-MCO 20:35-23:55 137 A320 open ? - 20:35-23:55 +0 N584JB - -\nf593 265 BOS-RSW 20:35-23:59 129 A220 open ? - 20:35-23:59 +0 N3260J - -\nf594 706 FLL-EWR 20:35-23:34 144 A320 open ? - 20:35-23:34 +0 N763JB - -\nf595 769 RIC-MCO 20:35-22:39 108 A320 open ? - 20:35-22:39 +0 N506JB - -\nf596 1294 MCO-HPN 20:35-23:31 140 A320 open ? - 20:35-23:31 +0 N580JB - -\nf597 607 FLL-LAS 20:36-01:38+1 134 A321P open ? - 20:36-01:38+1 +0 N2165J - -\nf598 675 JFK-BDL 20:40-21:59 41 A320 open ? - 20:40-21:59 +0 N612JB - -\nf599 903 JFK-SJU 20:40-00:54+1 144 A320 open ? - 20:40-00:54+1 +0 N775JB - -\nf600 1751 TPA-SJU 20:40-23:44 147 A320 open ? - 20:40-23:44 +0 N646JB - -\nf601 2583 JFK-MCO 20:40-23:51 139 A320 open ? - 20:40-23:51 +0 N588JB - -\nf602 1337 BOS-DTW 20:43-22:57 122 A220 open ? - 20:43-22:57 +0 N3085J - -\nf603 277 FLL-SFO 20:45-02:40+1 136 A321P open ? - 20:45-02:40+1 +0 N929JB - -\nf604 561 BOS-SJU 20:45-00:49+1 165 A321 open ? - 20:45-00:49+1 +0 N971JT - -\nf605 1952 MCO-BOS 20:45-23:55 142 A320 open ? - 20:45-23:55 +0 N793JB - -\nf606 2468 CHS-BOS 20:45-23:08 119 A220 open ? - 20:45-23:08 +0 N3156J - -\nf607 810 JAX-BOS 20:49-23:30 131 A320 open ? - 20:49-23:30 +0 N640JB - -\nf608 2102 FLL-JFK 20:50-23:46 143 A320 open ? - 20:50-23:46 +0 N606JB - -\nf609 381 BOS-RIC 20:55-22:47 116 A220 open ? - 20:55-22:47 +0 N3125J - -\nf610 1146 FLL-RIC 20:55-23:16 125 A320 open ? - 20:55-23:16 +0 N564JB - -\nf611 1308 ATL-BOS 20:55-23:38 118 A220 open ? - 20:55-23:38 +0 N3241J - -\nf612 1761 LGA-PBI 20:55-23:55 135 A320 open ? - 20:55-23:55 +0 N784JB - -\nf613 206 BOS-PQI 20:59-22:25 60 E190 open ? - 20:59-22:25 +0 N317JB - -\nf614 907 BOS-BNA 20:59-23:52 124 A320 open ? - 20:59-23:52 +0 N641JB - -\nf615 613 HPN-FLL 21:00-23:59 141 A320 open ? - 21:00-23:59 +0 N703JB - -\nf616 719 JFK-ATL 21:00-23:44 144 A320 open ? - 21:00-23:44 +0 N508JL - -\nf617 1827 EWR-MCO 21:00-23:57 132 A320 open ? - 21:00-23:57 +0 N521JB - -\nf618 430 MCO-BQN 21:04-23:59 145 A320 open ? - 21:04-23:59 +0 N559JB - -\nf619 384 MCO-JFK 21:05-23:59 144 A320 open ? - 21:05-23:59 +0 N705JB - -\nf620 369 BOS-FLL 21:10-00:37+1 123 A220 open ? - 21:10-00:37+1 +0 N3162J - -\nf621 1223 JFK-LAX 21:10-03:29+1 127 A321P open ? - 21:10-03:29+1 +0 N2188J - -\nf622 333 BOS-SFO 21:16-03:58+1 138 A321P open ? - 21:16-03:58+1 +0 N4077J - -\nf623 2752 SJU-TPA 21:20-00:20+1 184 A321 open ? - 21:20-00:20+1 +0 N994JL - -\nf624 47 LGA-TPA 21:25-00:15+1 130 A320 open ? - 21:25-00:15+1 +0 N659JB - -\nf625 955 JFK-DCA 21:30-22:59 67 A220 open ? - 21:30-22:59 +0 N3247J - -\nf626 1387 BOS-LAX 21:35-03:55+1 138 A321P open ? - 21:35-03:55+1 +0 N923JB - -\nf627 383 JFK-MCO 21:40-00:48+1 172 A321 open ? - 21:40-00:48+1 +0 N974JT - -\nf628 2501 FLL-LAX 21:40-02:59+1 138 A321P open ? - 21:40-02:59+1 +0 N978JB - -\nf629 334 SJU-MCO 21:45-00:42+1 149 A320 open ? - 21:45-00:42+1 +0 N760JB - -\nf630 704 SJU-JFK 21:45-01:37+1 150 A320 open ? - 21:45-01:37+1 +0 N638JB - -\nf631 820 JFK-DTW 21:45-23:59 108 A220 open ? - 21:45-23:59 +0 N3118J - -\nf632 1186 JFK-ROC 21:50-23:30 116 A220 open ? - 21:50-23:30 +0 N3023J - -\nf633 2101 JFK-FLL 21:50-01:09+1 140 A320 open ? - 21:50-01:09+1 +0 N504JB - -\nf634 2626 FLL-RDU 21:50-23:59 119 A320 open ? - 21:50-23:59 +0 N589JB - -\nf635 923 JFK-LAX 21:59-04:13+1 127 A321P open ? - 21:59-04:13+1 +0 N2157J - -\nf636 972 JFK-MHT 21:59-23:27 44 A320 open ? - 21:59-23:27 +0 N625JB - -\nf637 1195 JFK-PIT 21:59-23:51 69 A220 open ? - 21:59-23:51 +0 N3221J - -\nf638 1990 SJU-EWR 21:59-01:58+1 190 A321 open ? - 21:59-01:58+1 +0 N995JL - -\nf639 2073 EWR-LAX 22:00-03:59+1 129 A321P open ? - 22:00-03:59+1 +0 N937JB - -\nf640 515 JFK-SFO 22:10-04:54+1 131 A321P open ? - 22:10-04:54+1 +0 N942JB - -\nf641 102 JFK-BUF 22:15-23:59 126 A220 open ? - 22:15-23:59 +0 N3169J - -\nf642 1433 MCO-SJU 22:15-01:15+1 141 A320 open ? - 22:15-01:15+1 +0 N590JB - -\nf643 1128 JFK-PVD 22:29-23:49 35 A320 open ? - 22:29-23:49 +0 N603JB - -\nf644 1516 JFK-SYR 22:29-23:58 103 A320 open ? - 22:29-23:58 +0 N834JB - -\nf645 303 JFK-SJU 22:45-02:53+1 178 A321 open ? - 22:45-02:53+1 +0 N948JB - -\nf646 308 JFK-PWM 22:45-00:17+1 93 A220 open ? - 22:45-00:17+1 +0 N3139J - -\nf647 539 JFK-BQN 22:59-03:03+1 135 A320 open ? - 22:59-03:03+1 +0 N568JB - -\nf648 1318 JFK-BOS 22:59-00:27+1 105 A320 open ? - 22:59-00:27+1 +0 N570JB - -\nf649 2072 BQN-FLL 22:59-01:29+1 114 A320 open ? - 22:59-01:29+1 +0 N510JB - -\nf650 1488 LAX-BOS 23:25-05:00+1 138 A321P open ? - 23:25-05:00+1 +0 N969JT - -\nf651 1190 SAN-JFK 23:30-05:00+1 137 A321P open ? - 23:30-05:00+1 +0 N945JT - -\nf652 1024 LAX-JFK 23:36-05:04+1 135 A321P open ? - 23:36-05:04+1 +0 N2105J - -\nf653 2120 SAN-BOS 00:00+1-05:40+1 138 A321P open ? - 00:00+1-05:40+1 +0 N944JT - -\nf654 2348 LAS-JFK 00:05+1-05:02+1 138 A321P open ? - 00:05+1-05:02+1 +0 N982JB - -\nf655 1574 LAX-EWR 00:20+1-05:41+1 138 A321P open ? - 00:20+1-05:41+1 +0 N992JB - -\nf656 359 BUR-JFK 00:22+1-05:50+1 112 A220 open ? - 00:22+1-05:50+1 +0 N3152J - -\nf657 278 SFO-FLL 00:25+1-06:02+1 138 A321P open ? - 00:25+1-06:02+1 +0 N983JT - -\nf658 778 LAS-BOS 00:25+1-05:33+1 138 A321P open ? - 00:25+1-05:33+1 +0 N934JB - -\nf659 916 SMF-BOS 00:33+1-05:59+1 120 A320 open ? - 00:33+1-05:59+1 +0 N651JB - -\nf660 248 SLC-BOS 00:39+1-05:12+1 123 A220 open ? - 00:39+1-05:12+1 +0 N3196J - -\nf661 994 DEN-BOS 00:39+1-04:35+1 125 A220 open ? - 00:39+1-04:35+1 +0 N3271J - -\nf662 198 SEA-BOS 00:40+1-06:01+1 186 A321 open ? - 00:40+1-06:01+1 +0 N959JB - -\nf663 136 PHX-JFK 00:44+1-05:40+1 126 A320 open ? - 00:44+1-05:40+1 +0 N712JB - -\nf664 492 LAX-BUF 00:48+1-05:40+1 138 A320 open ? - 00:48+1-05:40+1 +0 N527JL - -\nf665 66 ABQ-JFK 00:59+1-05:10+1 123 A320 open ? - 00:59+1-05:10+1 +0 N535JB - -\nf666 700 LAX-FLL 01:15+1-06:29+1 138 A321P open ? - 01:15+1-06:29+1 +0 N993JE - -\nf667 816 SFO-JFK 01:30+1-07:03+1 138 A321P open ? - 01:30+1-07:03+1 +0 N962JT - -\nf668 1524 LAX-JFK 01:30+1-07:00+1 134 A321P open ? - 01:30+1-07:00+1 +0 N979JT - -\nf669 98 DEN-JFK 01:54+1-05:40+1 132 A320 open ? - 01:54+1-05:40+1 +0 N658JB - -\nf670 372 SLC-JFK 01:54+1-06:21+1 143 A320 open ? - 01:54+1-06:21+1 +0 N605JB - -\nf671 988 LAX-BOS 02:05+1-07:40+1 138 A321P open ? - 02:05+1-07:40+1 +0 N964JT - -\nf672 162 SMF-JFK 02:08+1-07:29+1 175 A321 open ? - 02:08+1-07:29+1 +0 N907JB - -\nf673 80 RNO-JFK 02:18+1-07:30+1 115 A220 open ? - 02:18+1-07:30+1 +0 N3257J - -\nf674 264 SEA-JFK 02:20+1-07:38+1 184 A321 open ? - 02:20+1-07:38+1 +0 N965JT - -\nf675 134 SFO-BOS 02:40+1-08:18+1 138 A321P open ? - 02:40+1-08:18+1 +0 N2142J - -\nf676 608 LAS-FLL 02:48+1-07:32+1 138 A321P open ? - 02:48+1-07:32+1 +0 N2165J - -\nf677 1224 LAX-JFK 02:57+1-08:30+1 134 A321P open ? - 02:57+1-08:30+1 +0 N947JB - -\nf678 454 ONT-JFK 02:59+1-08:30+1 165 A321 open ? - 02:59+1-08:30+1 +0 N956JT - -\nf679 948 LAS-JFK 02:59+1-08:00+1 138 A321P open ? - 02:59+1-08:00+1 +0 N976JT - -\n\n## Aircraft now, as your plan has them (@ = ready at)\nBOS: N2157J N2165J N2169J@06:21 N281JB N284JB N3044J N3058J N3085J N3104J@05:15 N3113J N3123J@18:14 N3132J N3142J@06:25 N3162J@07:55 N3194J N3195J N3203J N3215J N3241J N324JB N3251J@05:59 N3257J@05:35 N3275J N329JB N4077J N504JB N516JB@08:30 N564JB N568JB N570JB N584JB N595JB@06:26 N623JB N640JB N651JB N729JB N903JB N946JL N965JT@17:30 N969JT@08:42 N970JB N971JT@19:40 N983JT@13:35 N988JT N990JL@06:34 N991JT@06:01\nALB: N615JB\nATL: N794JB N828JB\nBDL: N547JB N583JB N598JB N705JB N708JB\nBNA: N3118J N766JB\nBQN: N634JB@04:06 N662JB\nBUF: N323JB N3260J N605JB@07:04 N779JB\nCLE: N306JB\nDCA: N3247J N3261J N3271J N520JB N966JT\nDTW: N3023J N3156J\nEWR: N510JB N527JL N569JB N593JB@19:15 N645JB N709JB@19:49 N937JB@06:53\nFLL: N3077J N3145J N3229J N3258J N507JT N526JL N531JL N563JB N566JB N588JB N607JB N629JB@17:11 N630JB N655JB N715JB N806JB@16:48 N834JB N929JB@07:20 N967JT@08:38 N976JT N978JB@06:59\nHPN: N317JB N3255J N592JB N659JB N661JB N807JB\nJAX: N3102J\nJFK: N2105J@14:50 N2151J@08:07 N2188J N3065J N3115J@07:59 N3138J N3139J N3169J N3196J@13:43 N3221J@06:32 N3244J@14:30 N535JB N552JB@06:21 N565JB N571JB@05:35 N580JB N587JB@06:06 N594JB N603JB@21:44 N612JB@18:40 N636JB@04:30 N644JB@06:43 N649JB@18:05 N653JB N658JB N760JB@06:09 N796JB N821JB N923JB N935JB N942JB N945JT@10:48 N947JB N950JT N956JT@15:50 N958JB@21:40 N959JB@08:17 N961JT@07:04 N968JT N974JT@18:15 N977JE@08:19 N980JT N981JT@05:45 N982JB@09:11 N985JT@05:51 N987JT N994JL N999JQ@17:45\nLAX: N2142J@05:34 N944JT N962JT@04:43 N979JT@04:57 N992JB@04:52\nLGA: N534JB N789JB N793JB\nMCO: N2060J N506JB@06:40 N517JB N521JB N523JB N537JT N559JB N586JB N590JB@10:55 N608JB@13:05 N613JB N624JB N632JB N641JB N646JB N656JB N665JB N703JB N997JL\nMHT: N637JB\nORD: N3185J\nPBI: N3125J N3149J N562JB N648JB N746JB N784JB\nPIT: N3112J\nPQI: N318JB\nPVD: N508JL N524JB N627JB\nPWM: N3242J\nRDU: N589JB\nRIC: N3062J N606JB\nROC: N3152J\nRSW: N3240J N663JB\nSFO: N934JB N964JT@06:15 N984JB@04:56 N993JE\nSJU: N591JB N599JB N638JB@07:20 N657JB N763JB N775JB N804JB N907JB@04:32 N948JB N972JT\nSYR: N283JB N561JB\nTPA: N554JB N625JB N639JB N712JB N995JL\nairborne: none\n\n## News so far\n[01:24] TAF KBOS 290524Z 2906/3012 19007KT P6SM FEW070 FM290900 19006KT P6SM VCSH BKN050 FM291400 14010KT P6SM BKN040 FM291900 17010KT 5SM -SHRA VCTS BKN035CB FM292300 25008KT P6SM VCSH BKN050 FM300200 30005KT P6SM SCT100=\n[02:54] KBOS 290654Z 19009KT 10SM SCT100 18/16 A3003 RMK AO2 SLP167 T01780156\n[03:54] KBOS 290754Z 18009KT 10SM SCT080 18/16 A3001 RMK AO2 SLP163 T01780161\n\nIt is the first watch, 04:00. Nothing is frozen yet: set the day up with confirm_changes, then call advance.", + "max_turns": 179, + "model_params": { + "max_tokens": 32000 + }, + "timeout_seconds": 7200 + }, + { + "id": "end-day", + "type": "apply_server_config", + "env_id": "airops-v3-day", + "directives": [ + { + "service": "airops-v3-day", + "uri": "urn:airops:v3-end-day/v1", + "args": {} + } + ] + }, + { + "id": "grade", + "type": "env_outcome_verifier", + "env_id": "airops-v3-day", + "file_artifact_id": "airops-verifier", + "verifier_id": "airops", + "score_aggregator": "weighted_average" + } +] diff --git a/src/agentenv_airops/bundles/airops-v3/tasks/b6-20251202-0400.json b/src/agentenv_airops/bundles/airops-v3/tasks/b6-20251202-0400.json new file mode 100644 index 0000000..4aa1ba9 --- /dev/null +++ b/src/agentenv_airops/bundles/airops-v3/tasks/b6-20251202-0400.json @@ -0,0 +1,71 @@ +[ + { + "id": "deploy", + "type": "deploy_env", + "env_id": "airops-v3-day" + }, + { + "id": "load-task", + "type": "apply_server_config", + "env_id": "airops-v3-day", + "directives": [ + { + "service": "airops-v3-day", + "uri": "urn:airops:v3-live-load/v1", + "args": { + "task_id": "b6-20251202-0400", + "anchor": 2198639, + "follower": 2221128 + } + } + ] + }, + { + "id": "deploy-agent", + "type": "deploy_agent", + "a2a_agent_id": "airops-llm", + "env_ids": [ + "airops-v3-day" + ] + }, + { + "id": "clock", + "type": "sync_env_clock", + "env_id": "airops-v3-day", + "virtual_time": "2025-12-02T09:00:00Z", + "virtual_seconds_per_real_second": 0, + "tolerate_missing_sync_time": false + }, + { + "id": "play", + "type": "prompt_agent", + "prompt_id": "b6-20251202-0400", + "system_prompt": "You run the JetBlue operations desk on a storm day at JFK and BOS: thunderstorms, snow or wind, and the FAA ground stops and ground delay programs (GDPs) that follow, cut how many JetBlue flights can land and take off. Your job is to decide which flights to cancel and which to hold, watch by watch, so that passengers and the airline lose as little as possible over the day.\n\nHow the day runs:\n- The day is played in watches starting at watch 0: one an hour, and one more when an advisory or a SPECI reaches the desk or a ramp closure begins or ends, so watches are 15 to 60 minutes apart. The first message gives the day as the desk knows it at watch 0. Every tool call takes 1 minute of the watch; when the watch's time runs out, the next watch opens by itself, and advance opens it at once.\n- What the desk knows: a flight's own departure delay (weather, air traffic control: anything but waiting for its aircraft or a slot) becomes known 2 hours before its scheduled departure; until then it is assumed on time. FAA Command Center advisories and the hubs' METARs, SPECIs and TAFs arrive as messages at the first watch after they reach the desk: an advisory 0 minutes after it is signed, a METAR 5 and a SPECI 5 minutes after its observation, a TAF 10 minutes after its issue, and the programs table shows the programs as issued, proposed GDPs included; a program may end earlier or later than issued.\n- Ground delay programs: a GDP meters arrivals at a hub over its period. A flight into the hub from an origin in its scope, scheduled to land in the period, needs one of JetBlue's arrival slots in the program: it takes the earliest free slot at or after the time it could land and leaves at its EDCT, the slot less its scheduled block. A cancelled or late flight leaves its slot to the flights behind it. Arrivals outside a program fit under the hub's hourly rate.\n- Ground stops: a flight to a stopped hub from an origin the stop covers waits on the ground until the stop ends; flights already airborne fly on.\n- Departure caps: an airport may take only so many JetBlue departures in an hour (the departure caps table, known 4 hours ahead); a flight with no room in its hour tries again at the next hour's start.\n- Outstation arrival caps: an outstation may take only so many JetBlue arrivals in an hour (the outstation arrival caps table, known 4 hours ahead); a flight with no room in its arrival hour leaves so as to land in the next one.\n- Ramp closures: lightning at the field cuts a hub's ramp rate without stopping it. During a closure only so many JetBlue flights may leave the hub and only so many arrive there; a departure with no room leaves at the closure's end, an arrival with none leaves so as to land at it. A closure is known once it begins; until its end comes it is expected to last 30 minutes more, with caps for that long, and the closures table says which ends are reported and which expected.\n- The env flies your plan on the day as it happens: each flight leaves at the earliest time its delay, its hold, a slot, a stop, a cap and an aircraft allow. It takes the first aircraft of its type ready at its origin (aircraft of one type at one airport are interchangeable; an aircraft needs its turn time on the ground between flights). A flight that can't leave by its deadline is cancelled automatically there. At the end of the day the env ferries each aircraft to the airport it is needed at tomorrow.\n- Your decisions: cancel a flight (its aircraft stays on the ground, free for other flights, and its slot goes to the flights behind), restore a cancelled flight, or hold a flight until a time (not_before) so that its slot or aircraft goes to another flight first. A flight you don't touch leaves as early as it can.\n- The freeze: at watch 0 nothing is frozen. From watch 1 on, flights your plan has leaving before the freeze line, 60 minutes after the watch opens, are frozen: they can't be changed, and stay frozen. A cancellation is final. The env holds any other flight your plan would have leaving before the freeze line to it, and refuses a change that would move a frozen flight or one that has already gone.\n\nTools:\n- get_situation(): the time, the freeze line, the programs as issued with JetBlue's slots, the departure caps known so far, the outstation arrival caps known so far, the ramp closures under way or over, the latest METAR or SPECI and TAF per hub, every flight (its status, its known delay, your plan, where your plan has it leave and land on the day as known, how late it lands, its aircraft, its slot and its crew), where the aircraft are, and the news so far.\n- check_plan(changes): your changes over your plan, run on the day as known now: the plan's cost, the flights whose plan or times change, the automatic cancellations, the flights the env would hold to the freeze line, and the changes confirm_changes would refuse. It confirms nothing.\n- confirm_changes(changes): commits the changes; flights you leave out keep their plan.\n- advance(): ends the watch; its result has the new watch's news. After the last watch it returns \"done\": the day is graded on your plan.\nA change is {\"flight\": \"f12\", \"action\": \"cancel\" | \"restore\" | \"hold\" | \"call_reserve\" | \"release_reserve\", \"not_before\": \"HH:MM\" | null}: cancel takes not_before null; restore and hold fly the flight, held until not_before (local time, \"00:30+1\" after midnight), or as early as it can with null. Where a crew base has a reserve pool (the situation's Reserve crews), a flight leaving it past its crew's deadline flies only on a reserve: call_reserve gives it one while the pool lasts, release_reserve hands it back before that deadline.\n\nThe cost, in passenger-minutes: every passenger's minutes of arrival delay; 523 for each passenger on a cancelled flight, plus one for every minute the cancellation is decided later than 2 hours before its scheduled departure (an automatic cancellation is decided at its deadline, so it costs more than an early one); the airline's own aircraft minutes (a late departure costs crew and fixed costs, a long block fuel too, and a cancellation saves its fuel and maintenance); and the end-of-day ferries. A cancellation frees an aircraft and a slot; it pays when it saves the others more than it costs its own passengers. The day is graded once, on your final plan flown on the day as it really happened: the closer its cost to the best plan possible in hindsight, the higher the score. If you stop before the last watch, the rest of the day runs on your plan.", + "prompt": "# JetBlue operations desk, BOS, Tuesday 2025-12-02; times are local (America/New_York).\n\nNow 04:00 (watch 0, opened 04:00). First watch: nothing is frozen; changes take effect at once.\n\nYour plan on the day as known costs 167,807 (delay 111,334, cancellations 0, notice 0, ferries 0): 0 cancelled, 0 cancelled automatically, 0 on slots.\n\n## Programs as issued (FAA Command Center)\nNone.\n\n## Departure caps: JetBlue departures per hour, known 240 min ahead\nBOS: 08h 9\nJFK: 07h 7\n\n## Outstation arrival caps: JetBlue arrivals per hour, known 240 min ahead\nMCO: 08h 1\n\n## Ramp closures (lightning at the field; known once begun)\nNone.\n\n## Latest weather (METAR or SPECI, and TAF)\n[03:54] KBOS 020854Z 01005KT 10SM OVC044 M02/M08 A3021 RMK AO2 SLP230 T10171078 58023\n[00:41] TAF KBOS 020541Z 0206/0312 33007KT P6SM FEW230 FM021500 14005KT P6SM -RA OVC028 FM021900 11007KT 2SM -RA OVC006 FM030000 05010G23KT 2SM -RA BR OVC007 FM030300 36013G30KT 2SM -RASN OVC010 WS020/02040KT FM030600 36012G26KT 2SM -RASN OVC007 PROB30 0306/0310 1SM -SN OVC005=\n\n## Flights (sched = scheduled dep-arr; delay = known delay, ? not yet; plan = cancel or hold@HH:MM; proj = where your plan has it leave and land on the day as known; late = arrival delay; slot = its GDP slot; crew = crew deadline/rest end, +R on a reserve crew)\nid flight route sched pax type status delay plan proj late tail slot crew\nf0 768 PSE-MCO 04:20-07:30 118 A320 open -5 - 04:15-07:21 -9 N615JB - -\nf1 2752 SJU-TPA 05:01-08:08 123 A320 open -10 - 04:51-07:52 -16 N760JB - -\nf2 2972 BQN-FLL 05:01-07:32 96 A320 open 0 - 05:01-07:40 +8 N715JB - -\nf3 1569 BOS-FLL 05:05-08:30 147 A320 open -8 - 04:57-08:50 +20 N527JL - -\nf4 162 SJU-BOS 05:10-09:19 134 A321 open 4 - 05:14-09:01 -18 N959JB - -\nf5 617 BOS-JFK 05:15-06:33 150 A321 open 6 - 05:21-06:30 -3 N972JT - -\nf6 927 EWR-MCO 05:30-08:20 150 A320 open -5 - 05:25-08:11 -9 N524JB - -\nf7 207 PQI-BOS 05:45-07:22 57 A220 open -10 - 05:35-07:14 -8 N3244J - -\nf8 342 PBI-BDL 05:45-08:33 120 A320 open -14 - 05:31-08:03 -30 N603JB - -\nf9 1 JFK-FLL 06:00-09:00 182 A321 open -3 - 05:57-08:59 -1 N955JB - -\nf10 92 TPA-BOS 06:00-08:59 135 A320 open -8 - 05:52-08:30 -29 N708JB - -\nf11 123 JFK-LAX 06:00-12:18 138 A321P open -5 - 05:55-12:20 +2 N2156J - -\nf12 185 ROC-JFK 06:00-07:28 121 A220 open 1 - 06:01-07:44 +16 N3194J - -\nf13 287 BOS-LAX 06:00-12:34 138 A321P open 11 - 06:11-12:41 +7 N2180J - -\nf14 352 MCO-BOS 06:00-08:57 155 A321 open -5 - 05:55-08:40 -17 N957JB - -\nf15 374 SYR-BOS 06:00-07:15 87 A220 open 27 - 06:27-08:41 +86 N3189J - -\nf16 386 RDU-JFK 06:00-07:42 120 A220 open 24 - 06:24-07:37 -5 N3232J - -\nf17 389 EWR-SJU 06:00-09:49 150 A320 open -3 - 05:57-09:38 -11 N629JB - -\nf18 411 JFK-LAS 06:00-11:43 132 A321P open -5 - 05:55-11:47 +4 N2157J - -\nf19 485 BUF-MCO 06:00-08:45 173 A321 open 25 - 06:25-10:14 +89 N973JT - -\nf20 577 FLL-SFO 06:00-12:18 128 A321P open -4 - 05:56-12:21 +3 N964JT - -\nf21 737 BDL-MCO 06:00-09:00 141 A320 open 0 - 06:00-09:06 +6 N768JB - -\nf22 754 SJU-FLL 06:00-08:45 125 A320 open -5 - 05:55-08:39 -6 N784JB - -\nf23 959 BDL-FLL 06:00-09:10 146 A320 open -5 - 05:55-09:12 +2 N649JB - -\nf24 968 PBI-HPN 06:00-08:49 113 A320 open -14 - 05:46-08:29 -20 N646JB - -\nf25 984 RDU-BOS 06:00-07:59 108 A220 open -2 - 05:58-07:37 -22 N3102J - -\nf26 1184 MCO-JFK 06:00-08:39 157 A321 open -3 - 05:57-08:21 -18 N956JT - -\nf27 1198 PIT-JFK 06:00-07:29 104 A320 open 22 - 06:22-09:43 +134 N508JL - -\nf28 1233 MCO-SJU 06:00-08:50 138 A320 open 1 - 06:01-08:41 -9 N535JB - -\nf29 1274 CHS-JFK 06:00-07:55 115 A320 open 33 - 06:33-08:16 +21 N526JL - -\nf30 1460 PHL-BOS 06:00-07:24 94 A220 open -9 - 05:51-06:56 -28 N3255J - -\nf31 1471 LGA-FLL 06:00-09:00 128 A220 open -2 - 05:58-09:14 +14 N3113J - -\nf32 1570 FLL-BOS 06:00-09:10 102 A220 open 10 - 06:10-09:04 -6 N3044J - -\nf33 1603 JFK-SJU 06:00-09:44 149 A320 open 12 - 06:12-09:46 +2 N507JT - -\nf34 1702 FLL-JFK 06:00-08:50 125 A320 open -1 - 05:59-08:32 -18 N580JB - -\nf35 1888 DCA-JFK 06:00-07:14 92 A220 open -7 - 05:53-06:52 -22 N3077J - -\nf36 2330 RSW-JFK 06:00-08:48 120 A320 open -10 - 05:50-08:24 -24 N638JB - -\nf37 2875 PVD-MCO 06:00-09:07 133 A320 open -2 - 05:58-09:46 +39 N586JB - -\nf38 2838 BQN-JFK 06:01-09:58 114 A320 open ? - 06:01-09:58 +0 N775JB - -\nf39 216 BUF-BOS 06:05-07:29 98 A220 open ? - 06:05-07:29 +0 N3058J - -\nf40 891 BOS-TPA 06:05-09:35 142 A320 open ? - 06:05-09:35 +0 N547JB - -\nf41 1419 DTW-JFK 06:05-07:54 128 A320 open ? - 06:05-07:54 +0 N562JB - -\nf42 379 DCA-FLL 06:10-08:43 147 A320 open ? - 06:10-08:43 +0 N590JB - -\nf43 1482 RIC-BOS 06:10-07:46 95 A220 open ? - 06:10-07:46 +0 N3260J - -\nf44 138 MCO-BDL 06:20-09:07 122 A320 open ? - 06:20-09:07 +0 N565JB - -\nf45 1155 BOS-DCA 06:20-08:05 105 A220 open ? - 06:20-08:05 +0 N3104J - -\nf46 143 EWR-PBI 06:22-09:24 146 A320 open ? - 06:22-09:24 +0 N554JB - -\nf47 118 JFK-BOS 06:30-07:42 94 A220 open ? - 06:30-07:42 +0 N3162J - -\nf48 667 HPN-PBI 06:30-09:15 135 A320 open ? - 06:30-09:15 +0 N569JB - -\nf49 797 BOS-ATL 06:30-09:25 121 A220 open ? - 06:30-09:25 +0 N3152J - -\nf50 1480 FLL-DCA 06:31-09:00 110 A220 open ? - 06:31-09:00 +0 N3195J - -\nf51 1585 BOS-PIT 06:33-08:30 91 A220 open ? - 06:33-08:30 +0 N3203J - -\nf52 35 JFK-PHX 06:35-12:15 138 A321P open ? - 06:35-12:15 +0 N4076J - -\nf53 469 BOS-FLL 06:40-10:10 147 A320 open ? - 06:40-10:10 +0 N623JB - -\nf54 133 BOS-SFO 06:45-13:33 138 A321P open ? - 06:45-13:33 +0 N976JT - -\nf55 244 PBI-EWR 06:45-09:28 132 A320 open ? - 06:45-09:28 +0 N657JB - -\nf56 254 PBI-JFK 06:45-09:27 117 A320 open ? - 06:45-09:27 +0 N645JB - -\nf57 1476 SJU-BDL 06:45-10:50 119 A320 open ? - 06:45-10:50 +0 N517JB - -\nf58 15 JFK-SFO 06:50-13:18 124 A321P open ? - 06:50-13:18 +0 N946JL - -\nf59 919 BOS-SAN 06:52-13:28 138 A321P open ? - 06:52-13:28 +0 N2193J - -\nf60 523 JFK-LAX 06:59-13:20 122 A321P open ? - 06:59-13:20 +0 N992JB - -\nf61 109 BOS-JAX 07:00-10:07 118 A220 open ? - 07:00-10:07 +0 N3247J - -\nf62 320 ATL-JFK 07:00-09:21 119 A220 open ? - 07:00-09:21 +0 N3257J - -\nf63 375 PHL-FLL 07:00-09:47 135 A320 open ? - 07:00-09:47 +0 N821JB - -\nf64 461 LGA-PBI 07:00-10:00 144 A320 open ? - 07:00-10:00 +0 N519JB - -\nf65 576 MSY-JFK 07:00-10:00 128 A320 open ? - 07:00-10:00 +0 N834JB - -\nf66 598 MCO-LGA 07:00-09:36 124 A220 open ? - 07:00-09:36 +0 N3185J - -\nf67 601 JFK-FLL 07:00-10:08 182 A321 open ? - 07:00-10:08 +0 N950JT - -\nf68 670 FLL-BOS 07:00-10:09 118 A320 open ? - 07:00-10:09 +0 N637JB - -\nf69 722 PBI-BOS 07:00-10:00 148 A321 open ? - 07:00-10:00 +0 N970JB - -\nf70 813 HPN-FLL 07:00-09:56 139 A320 open ? - 07:00-09:56 +0 N630JB - -\nf71 865 BUF-FLL 07:00-10:08 149 A320 open ? - 07:00-10:08 +0 N593JB - -\nf72 974 BNA-JFK 07:00-09:16 129 A320 open ? - 07:00-09:16 +0 N643JB - -\nf73 1007 BOS-BNA 07:00-10:01 113 A220 open ? - 07:00-10:01 +0 N3275J - -\nf74 1102 FLL-JFK 07:00-09:50 108 A220 open ? - 07:00-09:50 +0 N3062J - -\nf75 1129 PVD-JFK 07:00-08:13 74 A320 open ? - 07:00-08:13 +0 N606JB - -\nf76 1130 FLL-CHS 07:00-08:37 105 A320 open ? - 07:00-08:37 +0 N644JB - -\nf77 1143 MHT-MCO 07:00-10:14 124 A320 open ? - 07:00-10:14 +0 N706JB - -\nf78 1145 RIC-FLL 07:00-09:30 141 A320 open ? - 07:00-09:30 +0 N534JB - -\nf79 1423 DCA-PBI 07:00-09:29 112 A220 open ? - 07:00-09:29 +0 N3157J - -\nf80 1505 EWR-FLL 07:00-10:04 139 A320 open ? - 07:00-10:04 +0 N589JB - -\nf81 1573 EWR-LAX 07:00-13:12 132 A321P open ? - 07:00-13:12 +0 N984JB - -\nf82 1678 JAX-JFK 07:00-09:19 120 A220 open ? - 07:00-09:19 +0 N3272J - -\nf83 1707 FLL-LAS 07:00-12:20 125 A321P open ? - 07:00-12:20 +0 N968JT - -\nf84 2005 PIT-FLL 07:00-09:48 109 A220 open ? - 07:00-09:48 +0 N3156J - -\nf85 2065 BOS-RSW 07:00-10:42 178 A321 open ? - 07:00-10:42 +0 N994JL - -\nf86 2251 BOS-MCO 07:00-10:23 143 A320 open ? - 07:00-10:23 +0 N796JB - -\nf87 2677 BOS-LAS 07:00-13:03 135 A321P open ? - 07:00-13:03 +0 N937JB - -\nf88 2920 ALB-MCO 07:00-10:03 141 A320 open ? - 07:00-10:03 +0 N624JB - -\nf89 676 BDL-JFK 07:02-08:15 83 A320 open ? - 07:02-08:15 +0 N641JB - -\nf90 1604 SJU-JFK 07:05-11:04 153 A321 open ? - 07:05-11:04 +0 N974JT - -\nf91 2001 BUF-JFK 07:05-08:38 119 A220 open ? - 07:05-08:38 +0 N3065J - -\nf92 597 PVD-FLL 07:07-10:19 135 A320 open ? - 07:07-10:19 +0 N709JB - -\nf93 821 BOS-PBI 07:10-10:32 120 A220 open ? - 07:10-10:32 +0 N3271J - -\nf94 834 SJU-MCO 07:10-10:22 111 A320 open ? - 07:10-10:22 +0 N588JB - -\nf95 2584 MCO-JFK 07:10-09:47 157 A321 open ? - 07:10-09:47 +0 N996JL - -\nf96 2717 BOS-JFK 07:10-08:35 150 A321 open ? - 07:10-08:35 +0 N997JL - -\nf97 315 SYR-JFK 07:12-08:33 93 A220 open ? - 07:12-08:33 +0 N3023J - -\nf98 141 BDL-PBI 07:15-10:20 136 A320 open ? - 07:15-10:20 +0 N521JB - -\nf99 252 RSW-HPN 07:15-10:10 122 A320 open ? - 07:15-10:10 +0 N639JB - -\nf100 546 MCO-ISP 07:15-09:55 117 A320 open ? - 07:15-09:55 +0 N594JB - -\nf101 677 JFK-JAX 07:15-09:52 121 A220 open ? - 07:15-09:52 +0 N3241J - -\nf102 2625 RDU-FLL 07:15-09:25 135 A320 open ? - 07:15-09:25 +0 N705JB - -\nf103 2272 AUS-FLL 07:20-10:00 125 A320 open ? - 07:20-10:00 +0 N510JB - -\nf104 267 BOS-CHS 07:23-10:06 110 A220 open ? - 07:23-10:06 +0 N3229J - -\nf105 366 RSW-BOS 07:25-10:30 125 A320 open ? - 07:25-10:30 +0 N665JB - -\nf106 1154 DCA-BOS 07:25-08:54 101 A220 open ? - 07:25-08:54 +0 N3196J - -\nf107 1153 JFK-PBI 07:30-10:29 141 A320 open ? - 07:30-10:29 +0 N552JB - -\nf108 1196 FLL-PVD 07:30-10:26 119 A320 open ? - 07:30-10:26 +0 N794JB - -\nf109 1447 HPN-TPA 07:30-10:23 139 A320 open ? - 07:30-10:23 +0 N621JB - -\nf110 1883 BOS-RDU 07:30-09:42 111 A220 open ? - 07:30-09:42 +0 N3269J - -\nf111 2725 JFK-TPA 07:30-10:33 147 A320 open ? - 07:30-10:33 +0 N559JB - -\nf112 2953 MCO-SJU 07:30-10:25 138 A320 open ? - 07:30-10:25 +0 N516JB - -\nf113 801 FLL-LAX 07:40-13:27 128 A321P open ? - 07:40-13:27 +0 N969JT - -\nf114 861 BOS-SJU 07:40-11:44 147 A320 open ? - 07:40-11:44 +0 N612JB - -\nf115 536 DTW-BOS 07:45-09:36 109 A220 open ? - 07:45-09:36 +0 N3132J - -\nf116 2831 MCO-LAS 07:45-13:13 110 A321P open ? - 07:45-13:13 +0 N943JT - -\nf117 1602 JFK-BUF 07:50-09:20 111 A220 open ? - 07:50-09:20 +0 N3261J - -\nf118 285 JFK-RDU 07:59-09:53 112 A220 open ? - 07:59-09:53 +0 N3149J - -\nf119 299 LGA-MCO 07:59-10:54 138 A320 open ? - 07:59-10:54 +0 N595JB - -\nf120 183 JFK-MCO 08:00-11:08 143 A320 open ? - 08:00-11:08 +0 N564JB - -\nf121 306 BNA-BOS 08:00-10:28 129 A320 open ? - 08:00-10:28 +0 N806JB - -\nf122 359 BOS-PHL 08:00-09:39 106 A220 open ? - 08:00-09:39 +0 N3242J - -\nf123 488 MCO-ORH 08:00-10:52 106 A320 open ? - 08:00-10:52 +0 N520JB - -\nf124 824 MCO-DCA 08:00-10:14 108 A220 open ? - 08:00-10:14 +0 N3251J - -\nf125 851 BOS-MCO 08:00-11:23 176 A321 open ? - 08:00-11:23 +0 N2029J - -\nf126 962 PBI-LGA 08:00-10:43 126 A320 open ? - 08:00-10:43 +0 N618JB - -\nf127 1087 ALB-FLL 08:00-11:20 147 A320 open ? - 08:00-11:20 +0 N579JB - -\nf128 1347 DCA-SJU 08:00-11:51 182 A321 open ? - 08:00-11:51 +0 N975JT - -\nf129 1515 JFK-SFO 08:00-14:45 138 A321P open ? - 08:00-14:45 +0 N2105J - -\nf130 1797 ATL-FLL 08:00-09:57 131 A320 open ? - 08:00-09:57 +0 N561JB - -\nf131 1822 MSY-FLL 08:00-09:48 123 A320 open ? - 08:00-09:48 +0 N632JB - -\nf132 2106 ORD-JFK 08:00-10:17 123 A320 open ? - 08:00-10:17 +0 N613JB - -\nf133 2169 BOS-FLL 08:00-11:33 147 A320 open ? - 08:00-11:33 +0 N607JB - -\nf134 2186 PIT-BOS 08:00-09:44 95 A220 open ? - 08:00-09:44 +0 N3125J - -\nf135 2601 HPN-SJU 08:00-11:51 123 A220 open ? - 08:00-11:51 +0 N3112J - -\nf136 1101 JFK-FLL 08:03-11:20 147 A320 open ? - 08:03-11:20 +0 N633JB - -\nf137 249 BOS-SAV 08:09-10:53 99 A220 open ? - 08:09-10:53 +0 N3240J - -\nf138 514 FLL-ISP 08:10-11:05 125 A320 open ? - 08:10-11:05 +0 N653JB - -\nf139 775 JFK-MSY 08:10-11:46 116 A220 open ? - 08:10-11:46 +0 N3138J - -\nf140 402 FLL-JFK 08:12-11:00 108 A220 open ? - 09:59-12:47 +107 N3113J - -\nf141 533 BDL-TPA 08:15-11:25 131 A320 open ? - 08:15-11:25 +0 N809JB - -\nf142 1039 BOS-AUS 08:15-12:57 141 A320 open ? - 08:15-12:57 +0 N805JB - -\nf143 1056 MCO-SYR 08:15-10:58 138 A320 open ? - 08:15-10:58 +0 N504JB - -\nf144 1555 BOS-DCA 08:15-10:05 105 A220 open ? - 08:15-10:05 +0 N3118J - -\nf145 525 PVD-SJU 08:20-12:08 137 A320 open ? - 08:20-12:08 +0 N729JB - -\nf146 924 LAX-JFK 08:20-13:39 135 A321P open ? - 08:20-13:39 +0 N993JE - -\nf147 1152 MCO-BOS 08:20-11:17 108 A220 open ? - 08:20-11:17 +0 N3267J - -\nf148 1281 BOS-RIC 08:20-10:15 94 A220 open ? - 08:20-10:15 +0 N3258J - -\nf149 1297 JFK-DEN 08:23-13:05 115 A220 open ? - 08:23-13:05 +0 N3221J - -\nf150 2223 JFK-LAX 08:25-14:49 138 A321P open ? - 08:25-14:49 +0 N2165J - -\nf151 519 JFK-ATL 08:29-11:12 121 A220 open ? - 08:29-11:12 +0 N3115J - -\nf152 311 BOS-ORD 08:30-11:35 114 A220 open ? - 08:30-11:35 +0 N3255J - -\nf153 515 BOS-DFW 08:30-13:05 122 A220 open ? - 08:30-13:05 +0 N3244J - -\nf154 967 HPN-PBI 08:30-11:24 135 A320 open ? - 08:30-11:24 +0 N661JB - -\nf155 1584 MCO-JFK 08:30-11:04 127 A320 open ? - 08:30-11:04 +0 N635JB - -\nf156 1941 BOS-SRQ 08:30-11:57 116 A220 open ? - 09:00-12:27 +30 N3058J - -\nf157 859 FLL-PHX 08:35-13:45 125 A321P open ? - 08:35-13:45 +0 N962JT - -\nf158 1688 PVD-PBI 08:45-11:49 136 A320 open ? - 08:45-11:49 +0 N662JB - -\nf159 2028 MCO-EWR 08:50-11:29 147 A320 open ? - 08:50-11:29 +0 N598JB - -\nf160 2751 TPA-SJU 08:54-11:47 134 A320 open ? - 08:54-11:47 +0 N703JB - -\nf161 426 TPA-JFK 08:55-11:32 145 A320 open ? - 08:55-11:32 +0 N658JB - -\nf162 511 JFK-LAS 08:59-14:58 133 A321P open ? - 08:59-14:58 +0 N4077J - -\nf163 146 FLL-RIC 09:00-11:17 117 A320 open ? - 09:00-11:17 +0 N558JB - -\nf164 387 BOS-LAX 09:00-15:30 138 A321P open ? - 09:00-15:30 +0 N985JT - -\nf165 401 BOS-MSY 09:00-12:55 138 A320 open ? - 09:00-12:55 +0 N591JB - -\nf166 814 FLL-HPN 09:00-11:55 124 A320 open ? - 09:00-11:55 +0 N597JB - -\nf167 904 SJU-JFK 09:00-12:59 124 A320 open ? - 09:00-12:59 +0 N571JB - -\nf168 1433 BOS-IAH 09:00-13:41 126 A220 open ? - 09:00-13:41 +0 N3102J - -\nf169 1698 FLL-ATL 09:00-10:51 121 A320 open ? - 09:00-10:51 +0 N648JB - -\nf170 2276 FLL-PHL 09:00-11:38 120 A320 open ? - 09:00-11:38 +0 N605JB - -\nf171 2301 JFK-FLL 09:00-12:09 147 A320 open ? - 09:00-12:09 +0 N659JB - -\nf172 2423 DCA-MCO 09:00-11:29 125 A220 open ? - 09:00-11:29 +0 N3104J - -\nf173 85 BUF-MCO 09:05-11:53 140 A320 open ? - 09:05-11:53 +0 N585JB - -\nf174 588 LAX-BOS 09:05-14:26 138 A321P open ? - 09:05-14:26 +0 N945JT - -\nf175 1633 MCO-SJU 09:10-12:02 138 A320 open ? - 09:10-12:02 +0 N509JB - -\nf176 224 LAX-JFK 09:12-14:29 136 A321P open ? - 09:12-14:29 +0 N2188J - -\nf177 1247 LGA-TPA 09:14-12:19 148 A320 open ? - 09:14-12:19 +0 N655JB - -\nf178 395 HPN-MCO 09:15-12:03 134 A320 open ? - 09:15-12:03 +0 N566JB - -\nf179 715 BOS-BUF 09:15-10:55 109 A220 open ? - 09:15-10:55 +0 N3162J - -\nf180 1286 PIT-BOS 09:15-10:49 95 A220 open ? - 09:15-10:49 +0 N3203J - -\nf181 2475 BDL-SJU 09:18-13:05 142 A320 open ? - 09:18-13:05 +0 N603JB - -\nf182 289 JFK-SAN 09:29-15:47 138 A321P open ? - 09:29-15:47 +0 N987JT - -\nf183 841 JFK-SAV 09:29-12:01 104 A220 open ? - 09:29-12:01 +0 N3077J - -\nf184 1891 PVD-RSW 09:29-12:45 115 A320 open ? - 09:29-12:45 +0 N807JB - -\nf185 2801 FLL-LAX 09:30-15:17 128 A321P open ? - 09:30-15:17 +0 N935JB - -\nf186 641 BOS-CLE 09:32-11:37 98 A220 open ? - 09:32-11:37 +0 N3260J - -\nf187 251 HPN-RSW 09:35-12:40 142 A320 open ? - 09:35-12:40 +0 N646JB - -\nf188 318 JFK-BOS 09:35-10:53 94 A220 open ? - 09:35-10:53 +0 N3232J - -\nf189 626 FLL-RDU 09:38-11:45 116 A320 open ? - 09:38-11:45 +0 N779JB - -\nf190 1803 JFK-SJU 09:40-13:36 184 A321 open ? - 09:40-13:36 +0 N972JT - -\nf191 217 BOS-JFK 09:41-11:00 105 A220 open ? - 09:41-11:00 +0 N3196J - -\nf192 883 JFK-MCO 09:42-12:44 143 A320 open ? - 09:42-12:44 +0 N627JB - -\nf193 393 BOS-DEN 09:45-14:31 140 A320 open ? - 09:45-14:31 +0 N656JB - -\nf194 654 DCA-BOS 09:45-11:14 101 A220 open ? - 09:45-11:14 +0 N3195J - -\nf195 2930 SJU-RDU 09:45-13:25 106 A320 open ? - 09:45-13:25 +0 N584JB - -\nf196 1131 CHS-FLL 09:46-11:20 123 A320 open ? - 09:46-11:20 +0 N644JB - -\nf197 1680 FLL-DCA 09:50-12:17 110 A220 open ? - 10:33-13:00 +43 N3156J - -\nf198 37 BDL-MCO 09:53-12:49 131 A320 open ? - 09:53-12:49 +0 N565JB - -\nf199 2152 MCO-BOS 09:55-12:54 126 A320 open ? - 09:55-12:54 +0 N804JB - -\nf200 2902 JFK-BUF 09:59-11:33 111 A220 open ? - 09:59-11:33 +0 N3194J - -\nf201 108 LAS-FLL 10:00-14:32 130 A321P open ? - 10:00-14:32 +0 N967JT - -\nf202 148 LAS-JFK 10:00-14:49 129 A321P open ? - 10:00-14:49 +0 N942JB - -\nf203 300 LAX-FLL 10:00-14:55 135 A321P open ? - 10:00-14:55 +0 N4022J - -\nf204 472 FLL-LGA 10:00-12:49 130 A320 open ? - 10:00-12:49 +0 N715JB - -\nf205 623 JFK-LAX 10:00-16:20 138 A321P open ? - 10:00-16:20 +0 N986JB - -\nf206 816 SFO-JFK 10:00-15:28 138 A321P open ? - 10:00-15:28 +0 N982JB - -\nf207 854 PBI-JFK 10:00-12:40 117 A320 open ? - 10:00-12:40 +0 N569JB - -\nf208 1455 BOS-DCA 10:00-11:45 105 A220 open ? - 10:00-11:45 +0 N3044J - -\nf209 2389 EWR-SJU 10:00-14:01 130 A220 open ? - 10:00-14:01 +0 N3169J - -\nf210 1002 FLL-JFK 10:05-12:54 154 A321 open ? - 10:05-12:54 +0 N907JB - -\nf211 2051 BOS-MCO 10:05-13:20 176 A321 open ? - 10:05-13:20 +0 N966JT - -\nf212 1901 BUF-JFK 10:08-11:30 119 A220 open ? - 10:08-11:30 +0 N3261J - -\nf213 144 PBI-EWR 10:09-12:58 132 A320 open ? - 10:09-12:58 +0 N554JB - -\nf214 796 ATL-BOS 10:10-12:45 118 A220 open ? - 10:10-12:45 +0 N3276J - -\nf215 2577 BOS-LAS 10:10-16:15 135 A321P open ? - 10:10-16:15 +0 N961JT - -\nf216 2462 PBI-LGA 10:15-13:01 109 A220 open ? - 10:15-13:01 +0 N3157J - -\nf217 961 LGA-PBI 10:22-13:19 124 A220 open ? - 10:22-13:19 +0 N3185J - -\nf218 360 PHL-BOS 10:24-11:46 94 A220 open ? - 10:24-11:46 +0 N3242J - -\nf219 65 BOS-RSW 10:30-14:06 125 A220 open ? - 10:30-14:06 +0 N3132J - -\nf220 484 RDU-BOS 10:30-12:25 108 A220 open ? - 10:30-12:25 +0 N3269J - -\nf221 2252 SJU-FLL 10:34-13:19 125 A320 open ? - 10:34-13:19 +0 N535JB - -\nf222 53 JFK-PBI 10:35-13:35 141 A320 open ? - 10:35-13:35 +0 N526JL - -\nf223 2824 LAX-JFK 10:35-15:56 135 A321P open ? - 10:35-15:56 +0 N923JB - -\nf224 1173 JFK-BNA 10:37-13:15 115 A220 open ? - 10:37-13:15 +0 N3065J - -\nf225 286 RDU-JFK 10:39-12:14 120 A220 open ? - 10:39-12:14 +0 N3149J - -\nf226 678 JAX-JFK 10:40-12:55 120 A220 open ? - 10:40-12:55 +0 N3241J - -\nf227 1634 SJU-MCO 10:40-13:52 120 A320 open ? - 10:40-13:52 +0 N629JB - -\nf228 547 ISP-MCO 10:45-13:34 134 A320 open ? - 10:45-13:34 +0 N594JB - -\nf229 578 SFO-FLL 10:45-16:10 138 A321P open ? - 10:45-16:10 +0 N988JT - -\nf230 1142 PBI-BDL 10:45-13:34 120 A320 open ? - 10:45-13:34 +0 N519JB - -\nf231 1006 BNA-BOS 10:46-13:15 111 A220 open ? - 10:46-13:15 +0 N3275J - -\nf232 2233 BOS-SFO 10:50-17:36 138 A321P open ? - 10:50-17:36 +0 N979JT - -\nf233 68 CHS-BOS 10:51-13:05 115 A220 open ? - 10:51-13:05 +0 N3229J - -\nf234 1310 JAX-BOS 10:52-13:25 112 A220 open ? - 10:52-13:25 +0 N3247J - -\nf235 1267 HPN-PBI 10:55-13:47 135 A320 open ? - 10:55-13:47 +0 N639JB - -\nf236 94 MCO-HPN 11:00-13:42 124 A320 open ? - 11:00-13:42 +0 N712JB - -\nf237 323 JFK-LAX 11:00-17:17 138 A321P open ? - 11:00-17:17 +0 N944JT - -\nf238 579 DCA-FLL 11:00-13:37 127 A220 open ? - 11:00-13:37 +0 N3118J - -\nf239 1029 JFK-RSW 11:00-14:15 143 A320 open ? - 11:00-14:15 +0 N580JB - -\nf240 1282 RIC-BOS 11:00-12:35 95 A220 open ? - 11:00-12:35 +0 N3258J - -\nf241 1527 EWR-MCO 11:00-13:52 150 A320 open ? - 11:00-13:52 +0 N568JB - -\nf242 1923 DCA-MCO 11:00-13:25 125 A220 open ? - 11:00-13:25 +0 N3251J - -\nf243 163 JFK-SRQ 11:05-14:14 121 A220 open ? - 11:05-14:14 +0 N3257J - -\nf244 1144 MCO-MHT 11:05-14:07 127 A320 open ? - 11:05-14:07 +0 N768JB - -\nf245 1553 FLL-SJU 11:10-13:45 139 A320 open ? - 11:10-13:45 +0 N784JB - -\nf246 2321 BOS-PBI 11:10-14:28 139 A320 open ? - 11:10-14:28 +0 N651JB - -\nf247 154 PBI-JFK 11:14-13:59 117 A320 open ? - 11:14-13:59 +0 N521JB - -\nf248 434 SFO-BOS 11:15-16:47 133 A321P open ? - 11:15-16:47 +0 N934JB - -\nf249 1197 PVD-FLL 11:15-14:29 135 A320 open ? - 11:15-14:29 +0 N794JB - -\nf250 548 TPA-HPN 11:25-14:14 141 A320 open ? - 11:25-14:14 +0 N760JB - -\nf251 322 PBI-BOS 11:30-14:35 104 A220 open ? - 11:30-14:35 +0 N3271J - -\nf252 554 SJU-FLL 11:30-14:18 125 A320 open ? - 11:30-14:18 +0 N507JT - -\nf253 833 MCO-SJU 11:30-14:23 127 A320 open ? - 11:30-14:23 +0 N586JB - -\nf254 1534 TPA-BDL 11:30-14:19 137 A320 open ? - 11:30-14:19 +0 N547JB - -\nf255 1811 EWR-RSW 11:30-14:40 138 A320 open ? - 11:30-14:40 +0 N657JB - -\nf256 2010 LAX-PBI 11:30-16:25 114 A321P open ? - 11:30-16:25 +0 N947JB - -\nf257 2473 JFK-CHS 11:30-13:48 106 A220 open ? - 11:30-13:48 +0 N3062J - -\nf258 2934 SJU-JFK 11:30-15:29 153 A321 open ? - 11:30-15:29 +0 N2016J - -\nf259 2151 BOS-MCO 11:34-14:50 143 A320 open ? - 11:34-14:50 +0 N563JB - -\nf260 602 FLL-JFK 11:35-14:29 154 A321 open ? - 11:35-14:29 +0 N955JB - -\nf261 1855 BOS-DCA 11:35-13:19 105 A220 open ? - 11:35-13:19 +0 N3125J - -\nf262 2876 MCO-PVD 11:35-14:20 131 A320 open ? - 11:35-14:20 +0 N624JB - -\nf263 987 ORH-MCO 11:37-14:46 131 A320 open ? - 11:37-14:46 +0 N520JB - -\nf264 450 SAV-BOS 11:38-14:06 98 A220 open ? - 11:38-14:06 +0 N3240J - -\nf265 417 BOS-JFK 11:40-12:58 105 A220 open ? - 11:40-12:58 +0 N3203J - -\nf266 2066 RSW-BOS 11:45-14:56 154 A321 open ? - 11:45-14:56 +0 N994JL - -\nf267 544 PBI-ISP 11:48-14:31 114 A320 open ? - 11:48-14:31 +0 N552JB - -\nf268 716 BUF-BOS 11:48-13:12 98 A220 open ? - 11:48-13:12 +0 N3162J - -\nf269 513 ISP-FLL 11:50-14:44 139 A320 open ? - 11:50-14:44 +0 N653JB - -\nf270 855 SYR-MCO 11:50-14:46 141 A320 open ? - 11:50-14:46 +0 N504JB - -\nf271 2097 ATL-FLL 11:50-13:39 131 A320 open ? - 11:50-13:39 +0 N648JB - -\nf272 1420 ATL-JFK 11:58-14:12 119 A220 open ? - 11:58-14:12 +0 N3152J - -\nf273 1700 LAX-FLL 12:00-16:52 135 A321P open ? - 12:00-16:52 +0 N991JT - -\nf274 2918 JFK-BOS 12:00-13:16 109 A320 open ? - 12:00-13:16 +0 N643JB - -\nf275 1438 MCO-BDL 12:02-14:50 131 A320 open ? - 12:02-14:50 +0 N615JB - -\nf276 1469 RIC-MCO 12:02-14:19 134 A320 open ? - 12:02-14:19 +0 N558JB - -\nf277 1985 BOS-PIT 12:05-14:00 130 A321 open ? - 12:05-14:00 +0 N971JT - -\nf278 201 FLL-LAX 12:10-17:57 128 A321P open ? - 12:10-17:57 +0 N990JL - -\nf279 1069 BOS-FLL 12:10-15:35 127 A220 open ? - 12:10-15:35 +0 N3232J - -\nf280 1191 BOS-TPA 12:10-15:33 123 A220 open ? - 12:10-15:33 +0 N3195J - -\nf281 1283 JFK-MCO 12:15-15:15 143 A320 open ? - 12:15-15:15 +0 N645JB - -\nf282 2424 MCO-DCA 12:15-14:27 108 A220 open ? - 12:15-14:27 +0 N3104J - -\nf283 2901 BUF-JFK 12:18-13:43 119 A220 open ? - 12:18-13:43 +0 N3194J - -\nf284 48 TPA-LGA 12:20-14:57 127 A320 open ? - 12:20-14:57 +0 N621JB - -\nf285 2103 BDL-RSW 12:20-15:39 138 A320 open ? - 12:20-15:39 +0 N517JB - -\nf286 312 ORD-BOS 12:25-14:49 109 A220 open ? - 12:25-14:49 +0 N3255J - -\nf287 1098 MCO-LGA 12:29-15:00 144 A320 open ? - 12:29-15:00 +0 N588JB - -\nf288 223 JFK-LAX 12:30-18:48 138 A321P open ? - 12:30-18:48 +0 N983JT - -\nf289 625 RDU-FLL 12:30-14:38 135 A320 open ? - 12:30-14:38 +0 N779JB - -\nf290 1201 JFK-FLL 12:30-15:36 147 A320 open ? - 12:30-15:36 +0 N775JB - -\nf291 1761 LGA-PBI 12:30-15:27 144 A320 open ? - 12:30-15:27 +0 N618JB - -\nf292 1954 DCA-BOS 12:30-14:01 101 A220 open ? - 12:30-14:01 +0 N3044J - -\nf293 2275 PHL-FLL 12:30-15:12 135 A320 open ? - 12:30-15:12 +0 N605JB - -\nf294 640 CLE-BOS 12:32-14:14 89 A220 open ? - 12:32-14:14 +0 N3260J - -\nf295 776 MSY-JFK 12:35-15:27 111 A220 open ? - 12:35-15:27 +0 N3138J - -\nf296 465 BOS-RSW 12:37-16:11 144 A320 open ? - 12:37-16:11 +0 N708JB - -\nf297 551 BOS-MCO 12:39-16:00 123 A220 open ? - 12:39-16:00 +0 N3267J - -\nf298 1068 PBI-HPN 12:40-15:34 113 A320 open ? - 12:40-15:34 +0 N661JB - -\nf299 862 SJU-BOS 12:41-16:54 109 A320 open ? - 12:41-16:54 +0 N516JB - -\nf300 1036 SJU-STT 12:42-13:20 131 A320 open ? - 12:42-13:20 +0 N612JB - -\nf301 128 MCO-EWR 12:44-15:29 181 A321 open ? - 12:44-15:29 +0 N973JT - -\nf302 70 FLL-BOS 12:45-15:58 118 A320 open ? - 12:45-15:58 +0 N649JB - -\nf303 1086 MCO-BUF 12:45-15:23 129 A320 open ? - 12:45-15:23 +0 N796JB - -\nf304 1940 SRQ-BOS 12:45-15:55 114 A220 open ? - 13:12-16:22 +27 N3058J - -\nf305 270 MCO-RIC 12:49-14:47 116 A320 open ? - 12:49-14:47 +0 N595JB - -\nf306 2052 MCO-BOS 12:50-15:50 155 A321 open ? - 12:50-15:50 +0 N2029J - -\nf307 448 LAS-JFK 12:53-17:51 129 A321P open ? - 12:53-17:51 +0 N2157J - -\nf308 161 BOS-SJU 12:55-16:57 147 A320 open ? - 12:55-16:57 +0 N637JB - -\nf309 842 SAV-JFK 12:56-14:59 111 A220 open ? - 12:56-14:59 +0 N3077J - -\nf310 115 JFK-SFO 13:00-19:37 138 A321P open ? - 13:00-19:37 +0 N2151J - -\nf311 1567 HPN-FLL 13:00-16:01 139 A320 open ? - 13:00-16:01 +0 N597JB - -\nf312 1788 BOS-DCA 13:00-14:44 105 A220 open ? - 13:00-14:44 +0 N3242J - -\nf313 2802 FLL-JFK 13:00-15:51 154 A321 open ? - 13:00-15:51 +0 N950JT - -\nf314 1334 SJU-MCO 13:02-16:16 148 A321 open ? - 13:02-16:16 +0 N2059J - -\nf315 390 SJU-EWR 13:03-17:16 139 A320 open ? - 13:03-17:16 +0 N703JB - -\nf316 126 TPA-JFK 13:18-16:00 145 A320 open ? - 13:18-16:00 +0 N559JB - -\nf317 209 BOS-JAX 13:20-16:21 118 A220 open ? - 13:20-16:21 +0 N3269J - -\nf318 736 PHX-JFK 13:25-18:07 135 A321P open ? - 13:25-18:07 +0 N4076J - -\nf319 416 SFO-JFK 13:28-19:02 138 A321P open ? - 13:31-19:05 +3 N964JT - -\nf320 278 LAS-BOS 13:30-18:31 132 A321P open ? - 13:30-18:31 +0 N968JT - -\nf321 1853 JFK-PBI 13:30-16:32 141 A320 open ? - 13:30-16:32 +0 N834JB - -\nf322 2283 BOS-RDU 13:30-15:41 111 A220 open ? - 13:30-15:41 +0 N3258J - -\nf323 724 LAX-JFK 13:34-19:02 136 A321P open ? - 13:34-19:02 +0 N2156J - -\nf324 1892 RSW-PVD 13:35-16:30 115 A320 open ? - 13:35-16:30 +0 N646JB - -\nf325 54 PBI-JFK 13:40-16:28 117 A320 open ? - 13:40-16:28 +0 N662JB - -\nf326 517 BOS-JFK 13:40-14:57 105 A220 open ? - 13:40-14:57 +0 N3276J - -\nf327 1138 AUS-BOS 13:42-17:29 139 A320 open ? - 13:42-17:29 +0 N805JB - -\nf328 288 LAX-BOS 13:44-19:04 138 A321P open ? - 13:51-19:11 +7 N2180J - -\nf329 400 MSY-BOS 13:45-17:02 132 A320 open ? - 13:45-17:02 +0 N591JB - -\nf330 471 LGA-FLL 13:45-16:45 148 A320 open ? - 13:45-16:45 +0 N715JB - -\nf331 1186 JFK-ROC 13:45-15:10 109 A220 open ? - 13:45-15:10 +0 N3196J - -\nf332 2254 DCA-BOS 13:45-15:17 101 A220 open ? - 13:45-15:17 +0 N3156J - -\nf333 2204 RSW-BDL 13:46-16:44 130 A320 open ? - 13:46-16:44 +0 N807JB - -\nf334 1298 DEN-JFK 13:50-17:29 103 A220 open ? - 13:50-17:29 +0 N3221J - -\nf335 2784 MCO-JFK 13:56-16:36 127 A320 open ? - 13:56-16:36 +0 N564JB - -\nf336 372 FLL-LGA 13:59-16:49 130 A320 open ? - 13:59-16:49 +0 N709JB - -\nf337 418 JFK-BOS 13:59-15:14 94 A220 open ? - 13:59-15:14 +0 N3261J - -\nf338 487 BOS-LAX 14:00-20:31 138 A321P open ? - 14:00-20:31 +0 N2169J - -\nf339 499 LGA-MCO 14:00-16:55 129 A220 open ? - 14:00-16:55 +0 N3157J - -\nf340 503 JFK-SJU 14:00-17:53 149 A320 open ? - 14:00-17:53 +0 N569JB - -\nf341 759 BOS-PHL 14:00-15:37 106 A220 open ? - 14:00-15:37 +0 N3275J - -\nf342 1214 DFW-BOS 14:00-17:40 118 A220 open ? - 14:00-17:40 +0 N3244J - -\nf343 2501 FLL-LAX 14:00-19:46 128 A321P open ? - 14:00-19:46 +0 N989JT - -\nf344 2940 SJU-STX 14:00-14:43 124 A320 open ? - 14:00-14:43 +0 N729JB - -\nf345 1174 BNA-JFK 14:10-16:29 112 A220 open ? - 14:10-16:29 +0 N3065J - -\nf346 1441 BOS-SRQ 14:10-17:31 116 A220 open ? - 14:10-17:31 +0 N3229J - -\nf347 2033 BOS-IAH 14:10-18:48 126 A220 open ? - 14:10-18:48 +0 N3162J - -\nf348 1708 LAS-FLL 14:13-18:52 130 A321P open ? - 14:13-18:52 +0 N937JB - -\nf349 23 DCA-PBI 14:15-16:45 112 A220 open ? - 14:15-16:45 +0 N3125J - -\nf350 1135 STT-SJU 14:17-14:59 107 A320 open ? - 14:17-14:59 +0 N612JB - -\nf351 1355 BOS-DCA 14:20-16:00 105 A220 open ? - 14:20-16:00 +0 N3247J - -\nf352 2929 RDU-SJU 14:20-17:43 134 A320 open ? - 14:20-17:43 +0 N584JB - -\nf353 1874 LAX-EWR 14:22-19:34 133 A321P open ? - 14:22-19:34 +0 N984JB - -\nf354 2832 LAS-MCO 14:23-19:10 118 A321P open ? - 14:23-19:10 +0 N943JT - -\nf355 221 BOS-PBI 14:25-17:47 139 A320 open ? - 14:25-17:47 +0 N806JB - -\nf356 2116 SFO-JFK 14:28-20:00 124 A321P open ? - 14:28-20:00 +0 N946JL - -\nf357 1141 BDL-PBI 14:30-17:35 136 A320 open ? - 14:30-17:35 +0 N519JB - -\nf358 1202 JFK-BUF 14:30-15:59 111 A220 open ? - 14:30-15:59 +0 N3149J - -\nf359 2485 JFK-RDU 14:30-16:15 112 A220 open ? - 14:30-16:15 +0 N3113J - -\nf360 24 PBI-DCA 14:35-17:00 87 A220 open ? - 14:35-17:00 +0 N3185J - -\nf361 69 BOS-FLL 14:35-18:02 147 A320 open ? - 14:35-18:02 +0 N665JB - -\nf362 1432 IAH-BOS 14:36-18:18 109 A220 open ? - 14:36-18:18 +0 N3102J - -\nf363 920 SAN-BOS 14:38-20:14 136 A321P open ? - 14:38-20:14 +0 N2193J - -\nf364 253 FLL-SJU 14:40-17:13 139 A320 open ? - 14:40-17:13 +0 N633JB - -\nf365 822 PBI-BOS 14:42-17:54 120 A320 open ? - 14:42-17:54 +0 N526JL - -\nf366 2474 CHS-JFK 14:43-16:43 99 A220 open ? - 14:43-16:43 +0 N3062J - -\nf367 595 HPN-MCO 14:45-17:38 134 A320 open ? - 14:45-17:38 +0 N712JB - -\nf368 1734 SFO-BOS 14:45-20:19 133 A321P open ? - 14:45-20:19 +0 N976JT - -\nf369 1104 SJU-JFK 14:46-18:51 153 A321 open ? - 14:46-18:51 +0 N972JT - -\nf370 125 JFK-TPA 14:49-17:53 147 A320 open ? - 14:49-17:53 +0 N571JB - -\nf371 451 BOS-MCO 14:49-18:10 176 A321 open ? - 14:49-18:10 +0 N954JB - -\nf372 2884 MCO-JFK 14:50-17:29 118 A320 open ? - 14:50-17:29 +0 N566JB - -\nf373 2853 JFK-PBI 14:53-17:55 174 A321 open ? - 14:53-17:55 +0 N948JB - -\nf374 860 PHX-FLL 14:55-19:00 134 A321P open ? - 14:55-19:00 +0 N962JT - -\nf375 1070 FLL-BOS 14:55-18:10 102 A220 open ? - 14:55-18:10 +0 N3118J - -\nf376 1986 PIT-BOS 14:55-16:33 135 A321 open ? - 14:59-16:37 +4 N971JT - -\nf377 723 JFK-LAX 15:00-21:16 138 A321P open ? - 15:00-21:16 +0 N978JB - -\nf378 1468 PBI-HPN 15:00-17:55 113 A320 open ? - 15:00-17:55 +0 N639JB - -\nf379 2377 JFK-JAX 15:00-17:38 121 A220 open ? - 15:00-17:38 +0 N3241J - -\nf380 2166 RSW-BOS 15:05-18:15 108 A220 open ? - 15:05-18:15 +0 N3132J - -\nf381 2143 EWR-PBI 15:07-17:59 146 A320 open ? - 15:07-17:59 +0 N663JB - -\nf382 164 SRQ-JFK 15:10-18:00 108 A220 open ? - 15:10-18:00 +0 N3257J - -\nf383 1030 RSW-JFK 15:11-18:01 120 A320 open ? - 15:11-18:01 +0 N580JB - -\nf384 1067 HPN-PBI 15:11-18:02 135 A320 open ? - 15:11-18:02 +0 N760JB - -\nf385 1349 MHT-RSW 15:12-18:43 115 A320 open ? - 15:12-18:43 +0 N768JB - -\nf386 1059 BDL-FLL 15:15-18:23 146 A320 open ? - 15:15-18:23 +0 N547JB - -\nf387 1470 MCO-RIC 15:15-17:16 126 A320 open ? - 15:15-17:16 +0 N627JB - -\nf388 1875 PVD-MCO 15:15-18:25 133 A320 open ? - 15:15-18:25 +0 N624JB - -\nf389 800 LAX-FLL 15:25-20:20 135 A321P open ? - 15:25-20:20 +0 N992JB - -\nf390 1752 SJU-TPA 15:25-18:39 123 A320 open ? - 15:25-18:39 +0 N603JB - -\nf391 394 DEN-BOS 15:26-19:12 119 A320 open ? - 15:26-19:12 +0 N656JB - -\nf392 1801 JFK-FLL 15:30-18:38 182 A321 open ? - 15:30-18:38 +0 N995JL - -\nf393 83 JFK-MCO 15:34-18:30 176 A321 open ? - 15:34-18:30 +0 N955JB - -\nf394 618 JFK-BOS 15:35-16:52 94 A220 open ? - 15:35-16:52 +0 N3203J - -\nf395 2102 FLL-JFK 15:35-18:30 125 A320 open ? - 15:35-18:30 +0 N648JB - -\nf396 2941 STX-SJU 15:38-16:26 108 A320 open ? - 15:38-16:26 +0 N729JB - -\nf397 424 LAX-JFK 15:40-21:00 117 A321P open ? - 15:40-21:00 +0 N969JT - -\nf398 717 BOS-JFK 15:40-16:57 105 A220 open ? - 15:40-16:57 +0 N3044J - -\nf399 1354 DCA-BOS 15:40-17:18 101 A220 open ? - 15:40-17:18 +0 N3104J - -\nf400 606 FLL-EWR 15:41-18:44 135 A320 open ? - 15:41-18:44 +0 N779JB - -\nf401 452 MCO-BOS 15:42-18:44 126 A320 open ? - 15:42-18:44 +0 N565JB - -\nf402 520 ATL-JFK 15:42-17:58 119 A220 open ? - 15:42-17:58 +0 N3115J - -\nf403 969 RIC-MCO 15:42-17:55 124 A320 open ? - 15:42-17:55 +0 N595JB - -\nf404 1338 MCO-BDL 15:42-18:30 131 A320 open ? - 15:42-18:30 +0 N629JB - -\nf405 107 FLL-LAS 15:45-21:22 125 A321P open ? - 15:45-21:22 +0 N967JT - -\nf406 333 BOS-SFO 15:45-22:34 138 A321P open ? - 15:45-22:34 +0 N945JT - -\nf407 449 BOS-BNA 15:45-18:49 113 A220 open ? - 15:45-18:49 +0 N3240J - -\nf408 494 MCO-EWR 15:45-18:30 147 A320 open ? - 15:45-18:30 +0 N706JB - -\nf409 915 BOS-BUF 15:45-17:24 109 A220 open ? - 15:45-17:24 +0 N3260J - -\nf410 19 BOS-SAN 15:50-22:21 138 A321P open ? - 17:57-00:28+1 +127 N934JB - -\nf411 127 EWR-MCO 15:50-18:47 150 A320 open ? - 15:50-18:47 +0 N554JB - -\nf412 1437 BDL-MCO 15:51-18:53 141 A320 open ? - 15:51-18:53 +0 N615JB - -\nf413 1189 JFK-SAN 15:55-22:11 138 A321P open ? - 15:55-22:11 +0 N993JE - -\nf414 1454 SJU-FLL 15:55-18:45 125 A320 open ? - 15:55-18:45 +0 N784JB - -\nf415 1579 DCA-FLL 15:55-18:38 127 A220 open ? - 15:55-18:38 +0 N3242J - -\nf416 761 LGA-PBI 15:56-18:59 144 A320 open ? - 15:56-18:59 +0 N621JB - -\nf417 1371 LGA-FLL 15:59-19:09 137 A320 open ? - 15:59-19:09 +0 N588JB - -\nf418 1004 SJU-JFK 16:00-20:05 124 A320 open ? - 16:00-20:05 +0 N586JB - -\nf419 2783 BOS-RDU 16:00-18:12 111 A220 open ? - 16:00-18:12 +0 N3271J - -\nf420 2919 MCO-ALB 16:00-18:51 133 A320 open ? - 16:00-18:51 +0 N504JB - -\nf421 545 ISP-PBI 16:01-18:55 141 A320 open ? - 16:01-18:55 +0 N552JB - -\nf422 1285 ROC-JFK 16:05-17:29 121 A220 open ? - 16:05-17:29 +0 N3196J - -\nf423 301 FLL-LAX 16:10-21:55 128 A321P open ? - 16:10-21:55 +0 N4022J - -\nf424 656 MCO-SYR 16:10-18:57 138 A320 open ? - 16:10-18:57 +0 N520JB - -\nf425 1694 MCO-HPN 16:10-18:56 114 A320 open ? - 16:10-18:56 +0 N563JB - -\nf426 2055 BOS-DCA 16:15-18:04 105 A220 open ? - 16:15-18:04 +0 N3255J - -\nf427 1085 BUF-MCO 16:20-19:10 140 A320 open ? - 16:20-19:10 +0 N796JB - -\nf428 1880 FLL-DCA 16:25-18:55 110 A220 open ? - 16:25-18:55 +0 N3232J - -\nf429 995 HPN-MCO 16:29-19:21 134 A320 open ? - 16:29-19:21 +0 N661JB - -\nf430 1492 TPA-BOS 16:29-19:31 116 A220 open ? - 16:29-19:31 +0 N3195J - -\nf431 348 LAS-JFK 16:30-21:22 130 A321P open ? - 16:30-21:22 +0 N4077J - -\nf432 524 LAX-JFK 16:30-21:50 135 A321P open ? - 16:30-21:50 +0 N2165J - -\nf433 575 JFK-MSY 16:30-20:05 116 A220 open ? - 16:30-20:05 +0 N3194J - -\nf434 615 JFK-SFO 16:30-23:10 138 A321P open ? - 16:30-23:10 +0 N2188J - -\nf435 714 FLL-HPN 16:30-19:30 124 A320 open ? - 16:30-19:30 +0 N653JB - -\nf436 760 PHL-BOS 16:32-17:54 94 A220 open ? - 16:32-17:54 +0 N3275J - -\nf437 220 JFK-ATL 16:35-19:12 121 A220 open ? - 16:35-19:12 +0 N3152J - -\nf438 697 BOS-ATL 16:35-19:35 121 A220 open ? - 16:35-19:35 +0 N3261J - -\nf439 388 LAX-BOS 16:40-22:05 138 A321P open ? - 16:40-22:05 +0 N985JT - -\nf440 1962 PBI-LGA 16:40-19:33 126 A320 open ? - 16:40-19:33 +0 N651JB - -\nf441 2134 SJU-MCO 16:40-19:53 111 A320 open ? - 16:40-19:53 +0 N612JB - -\nf442 2952 MCO-BOS 16:45-19:50 108 A220 open ? - 16:45-19:50 +0 N3251J - -\nf443 349 BOS-SAV 16:50-19:38 99 A220 open ? - 16:50-19:38 +0 N3156J - -\nf444 353 FLL-SJU 16:52-19:25 139 A320 open ? - 16:52-19:25 +0 N605JB - -\nf445 21 BOS-PBI 16:55-20:14 139 A320 open ? - 16:55-20:14 +0 N804JB - -\nf446 1787 DCA-BOS 16:55-18:33 101 A220 open ? - 16:55-18:33 +0 N3247J - -\nf447 2602 SJU-HPN 16:55-21:00 90 A220 open ? - 16:55-21:00 +0 N3169J - -\nf448 290 SAN-JFK 16:57-22:14 134 A321P open ? - 16:57-22:14 +0 N987JT - -\nf449 100 LAX-FLL 17:00-21:56 135 A321P open ? - 17:00-21:56 +0 N935JB - -\nf450 170 FLL-BOS 17:00-20:14 118 A320 open ? - 17:00-20:14 +0 N593JB - -\nf451 369 BOS-PHX 17:00-23:01 169 A321 open ? - 17:00-23:01 +0 N957JB - -\nf452 383 JFK-MCO 17:00-20:00 123 A220 open ? - 17:00-20:00 +0 N3276J - -\nf453 501 BUF-JFK 17:00-18:30 119 A220 open ? - 17:00-18:30 +0 N3149J - -\nf454 753 JFK-PBI 17:00-19:57 141 A320 open ? - 17:00-19:57 +0 N521JB - -\nf455 1903 JFK-SJU 17:00-20:54 149 A320 open ? - 17:00-20:54 +0 N828JB - -\nf456 2023 JFK-LAX 17:00-23:13 122 A321P open ? - 17:00-23:13 +0 N4048J - -\nf457 2737 BOS-DTW 17:00-19:22 110 A220 open ? - 17:07-19:29 +7 N3058J - -\nf458 2184 RDU-BOS 17:10-19:11 108 A220 open ? - 17:10-19:11 +0 N3258J - -\nf459 1827 EWR-MCO 17:12-20:05 187 A321 open ? - 17:12-20:05 +0 N973JT - -\nf460 1410 JAX-BOS 17:16-19:55 112 A220 open ? - 17:16-19:55 +0 N3269J - -\nf461 2486 RDU-JFK 17:19-19:00 120 A220 open ? - 17:19-19:00 +0 N3113J - -\nf462 2476 SJU-BDL 17:21-21:22 119 A320 open ? - 17:21-21:22 +0 N729JB - -\nf463 1033 MCO-SJU 17:26-20:20 170 A321 open ? - 17:26-20:20 +0 N966JT - -\nf464 2322 PBI-BOS 17:27-20:39 120 A320 open ? - 17:27-20:39 +0 N618JB - -\nf465 178 LAS-BOS 17:30-22:30 133 A321P open ? - 17:30-22:30 +0 N961JT - -\nf466 1124 LAX-JFK 17:30-22:45 135 A321P open ? - 17:30-22:45 +0 N986JB - -\nf467 1350 RSW-MHT 17:30-20:33 100 A320 open ? - 17:30-20:33 +0 N657JB - -\nf468 1729 JFK-RSW 17:30-20:45 124 A220 open ? - 17:30-20:45 +0 N3077J - -\nf469 2144 PBI-EWR 17:32-20:30 132 A320 open ? - 17:32-20:30 +0 N834JB - -\nf470 2009 PBI-LAX 17:35-23:15 100 A321P open ? - 17:35-23:15 +0 N947JB - -\nf471 2202 FLL-JFK 17:35-20:30 125 A320 open ? - 17:35-20:30 +0 N775JB - -\nf472 1812 RSW-EWR 17:37-20:30 137 A320 open ? - 17:37-20:30 +0 N517JB - -\nf473 272 FLL-LGA 17:40-20:34 130 A320 open ? - 17:40-20:34 +0 N597JB - -\nf474 1348 SJU-DCA 17:40-21:37 150 A321 open ? - 17:40-21:37 +0 N975JT - -\nf475 1424 PBI-DCA 17:40-20:07 87 A220 open ? - 17:40-20:07 +0 N3125J - -\nf476 1475 BDL-SJU 17:40-21:31 142 A320 open ? - 17:40-21:31 +0 N807JB - -\nf477 391 BOS-TPA 17:45-21:16 142 A320 open ? - 17:45-21:16 +0 N649JB - -\nf478 2255 BOS-DCA 17:48-19:40 105 A220 open ? - 17:48-19:40 +0 N3203J - -\nf479 2754 DCA-BOS 17:59-19:36 101 A220 open ? - 17:59-19:36 +0 N3185J - -\nf480 652 MCO-BOS 18:00-21:02 155 A321 open ? - 18:00-21:02 +0 N2059J - -\nf481 838 JFK-BQN 18:00-21:50 145 A320 open ? - 18:00-21:50 +0 N559JB - -\nf482 1088 FLL-ALB 18:00-21:01 124 A320 open ? - 18:00-21:01 +0 N659JB - -\nf483 2071 FLL-BQN 18:00-20:23 120 A320 open ? - 18:00-20:23 +0 N821JB - -\nf484 2715 JFK-LAX 18:00-00:14+1 138 A321P open ? - 18:00-00:14+1 +0 N942JB - -\nf485 1462 SJU-BOS 18:10-22:18 109 A320 open ? - 18:10-22:18 +0 N637JB - -\nf486 2826 TPA-JFK 18:10-20:54 145 A320 open ? - 18:10-20:54 +0 N809JB - -\nf487 541 BOS-CLE 18:15-20:26 98 A220 open ? - 18:15-20:26 +0 N3104J - -\nf488 607 FLL-LAS 18:15-23:42 125 A321P open ? - 18:15-23:42 +0 N988JT - -\nf489 828 MCO-EWR 18:15-21:02 136 A320 open ? - 18:15-21:02 +0 N645JB - -\nf490 334 SFO-BOS 18:20-23:51 133 A321P open ? - 18:20-23:51 +0 N2105J - -\nf491 165 BOS-RSW 18:25-22:04 144 A320 open ? - 18:25-22:04 +0 N516JB - -\nf492 2124 LAX-JFK 18:29-23:44 136 A321P open ? - 18:29-23:44 +0 N944JT - -\nf493 47 LGA-TPA 18:30-21:34 148 A320 open ? - 18:30-21:34 +0 N709JB - -\nf494 1183 JFK-MCO 18:30-21:27 132 A320 open ? - 18:30-21:27 +0 N662JB - -\nf495 2378 JAX-JFK 18:33-20:55 120 A220 open ? - 18:33-20:55 +0 N3241J - -\nf496 1440 SRQ-BOS 18:34-21:42 114 A220 open ? - 18:34-21:42 +0 N3229J - -\nf497 1252 RSW-HPN 18:35-21:30 122 A320 open ? - 18:35-21:30 +0 N708JB - -\nf498 526 SJU-PVD 18:38-22:46 97 A320 open ? - 18:38-22:46 +0 N509JB - -\nf499 1754 SJU-FLL 18:38-21:28 125 A320 open ? - 18:38-21:28 +0 N633JB - -\nf500 1151 BOS-MCO 18:40-22:03 176 A321 open ? - 18:40-22:03 +0 N959JB - -\nf501 1687 PBI-PVD 18:45-21:38 116 A320 open ? - 18:45-21:38 +0 N519JB - -\nf502 1876 MCO-PVD 18:48-21:37 131 A320 open ? - 18:48-21:37 +0 N594JB - -\nf503 2404 SJU-JFK 18:48-22:51 124 A320 open ? - 18:48-22:51 +0 N584JB - -\nf504 857 FLL-PHX 18:49-23:59 125 A321P open ? - 18:49-23:59 +0 N991JT - -\nf505 1453 FLL-SJU 18:49-21:23 139 A320 open ? - 18:49-21:23 +0 N705JB - -\nf506 1586 MCO-BUF 18:50-21:31 119 A320 open ? - 18:50-21:31 +0 N712JB - -\nf507 1701 JFK-FLL 18:50-22:00 147 A320 open ? - 18:50-22:00 +0 N564JB - -\nf508 2185 BOS-PIT 18:50-20:48 91 A220 open ? - 18:50-20:48 +0 N3244J - -\nf509 102 JFK-BUF 18:55-20:30 111 A220 open ? - 18:55-20:30 +0 N3138J - -\nf510 561 BOS-SJU 18:55-22:54 181 A321 open ? - 18:55-22:54 +0 N2029J - -\nf511 1248 TPA-LGA 18:55-21:30 137 A320 open ? - 18:55-21:30 +0 N655JB - -\nf512 22 PBI-BOS 18:59-22:06 120 A320 open ? - 18:59-22:06 +0 N806JB - -\nf513 605 EWR-FLL 18:59-22:12 150 A320 open ? - 18:59-22:12 +0 N598JB - -\nf514 735 JFK-PHX 18:59-00:44+1 138 A321P open ? - 19:01-00:46+1 +2 N2157J - -\nf515 2854 DCA-BOS 18:59-20:29 101 A220 open ? - 18:59-20:29 +0 N3255J - -\nf516 111 JFK-LAS 19:00-00:52+1 167 A321 open ? - 19:00-00:52+1 +0 N2027J - -\nf517 613 HPN-FLL 19:00-22:02 139 A320 open ? - 19:00-22:02 +0 N639JB - -\nf518 62 PBI-LGA 19:03-21:50 126 A320 open ? - 19:03-21:50 +0 N663JB - -\nf519 200 LAX-FLL 19:10-23:59 135 A321P open ? - 19:10-23:59 +0 N990JL - -\nf520 1677 JFK-JAX 19:10-21:51 121 A220 open ? - 19:10-21:51 +0 N3065J - -\nf521 2355 BOS-DCA 19:15-21:03 105 A220 open ? - 19:15-21:03 +0 N3275J - -\nf522 721 BOS-PBI 19:20-22:39 139 A320 open ? - 19:20-22:39 +0 N805JB - -\nf523 868 FLL-HPN 19:28-22:25 114 A320 open ? - 19:28-22:25 +0 N589JB - -\nf524 71 JFK-SLC 19:30-00:56+1 119 A220 open ? - 19:30-00:56+1 +0 N3062J - -\nf525 97 JFK-DEN 19:30-00:07+1 115 A220 open ? - 19:30-00:07+1 +0 N3272J - -\nf526 719 JFK-ATL 19:30-22:07 121 A220 open ? - 19:30-22:07 +0 N3196J - -\nf527 973 JFK-BNA 19:30-22:07 115 A220 open ? - 19:30-22:07 +0 N3221J - -\nf528 866 FLL-BUF 19:35-22:37 143 A320 open ? - 19:35-22:37 +0 N665JB - -\nf529 1192 TPA-BOS 19:35-22:35 135 A320 open ? - 19:35-22:35 +0 N571JB - -\nf530 884 MCO-JFK 19:40-22:20 157 A321 open ? - 19:40-22:20 +0 N2047J - -\nf531 1369 BOS-FLL 19:40-23:09 147 A320 open ? - 19:40-23:09 +0 N526JL - -\nf532 2266 RSW-BOS 19:40-22:46 125 A320 open ? - 19:40-22:46 +0 N768JB - -\nf533 767 MCO-PSE 19:45-22:35 128 A320 open ? - 19:45-22:35 +0 N595JB - -\nf534 932 IAH-BOS 19:45-23:26 109 A220 open ? - 19:45-23:26 +0 N3162J - -\nf535 1134 SJU-MCO 19:48-22:56 120 A320 open ? - 19:48-22:56 +0 N569JB - -\nf536 1017 BOS-JFK 19:50-21:14 105 A220 open ? - 19:50-21:14 +0 N3132J - -\nf537 1150 BNA-BOS 19:50-22:23 111 A220 open ? - 19:50-22:23 +0 N3240J - -\nf538 1368 PBI-HPN 19:50-22:39 113 A320 open ? - 19:50-22:39 +0 N760JB - -\nf539 1979 DCA-FLL 19:51-22:28 127 A220 open ? - 19:51-22:28 +0 N3232J - -\nf540 655 SYR-MCO 19:52-22:55 141 A320 open ? - 19:52-22:55 +0 N520JB - -\nf541 142 PBI-BDL 19:54-22:47 120 A320 open ? - 19:54-22:47 +0 N621JB - -\nf542 195 HPN-MCO 20:00-22:45 124 A320 open ? - 20:00-22:45 +0 N563JB - -\nf543 225 JFK-TPA 20:00-23:08 147 A320 open ? - 20:00-23:08 +0 N566JB - -\nf544 470 FLL-BOS 20:00-23:11 118 A320 open ? - 20:00-23:11 +0 N579JB - -\nf545 1185 JFK-RDU 20:00-21:51 112 A220 open ? - 20:00-21:51 +0 N3115J - -\nf546 2105 JFK-ORD 20:00-22:52 110 A220 open ? - 20:00-22:52 +0 N3257J - -\nf547 2271 FLL-AUS 20:00-23:08 122 A320 open ? - 20:00-23:08 +0 N547JB - -\nf548 2818 JFK-BOS 20:00-21:20 109 A320 open ? - 20:00-21:20 +0 N580JB - -\nf549 101 FLL-LAX 20:02-01:49+1 128 A321P open ? - 20:02-01:49+1 +0 N937JB - -\nf550 706 FLL-EWR 20:05-23:00 125 A320 open ? - 20:05-23:00 +0 N507JT - -\nf551 1751 TPA-SJU 20:05-22:57 134 A320 open ? - 20:05-22:57 +0 N603JB - -\nf552 2008 FLL-PIT 20:05-22:41 75 A220 open ? - 20:05-22:41 +0 N3242J - -\nf553 277 FLL-SFO 20:10-02:35+1 128 A321P open ? - 20:10-02:35+1 +0 N962JT - -\nf554 819 ATL-JFK 20:10-22:29 119 A220 open ? - 20:10-22:29 +0 N3152J - -\nf555 2080 FLL-DCA 20:10-22:39 128 A320 open ? - 20:10-22:39 +0 N632JB - -\nf556 2626 FLL-RDU 20:10-22:17 116 A320 open ? - 20:10-22:17 +0 N536JB - -\nf557 993 BOS-DEN 20:12-01:04+1 140 A320 open ? - 20:12-01:04+1 +0 N565JB - -\nf558 1723 JFK-LAX 20:12-02:29+1 138 A321P open ? - 20:12-02:29+1 +0 N4076J - -\nf559 733 BOS-SFO 20:14-02:59+1 138 A321P open ? - 20:14-02:59+1 +0 N2180J - -\nf560 1902 FLL-JFK 20:15-23:06 154 A321 open ? - 20:15-23:06 +0 N995JL - -\nf561 2823 FLL-MSY 20:15-22:20 113 A320 open ? - 20:15-22:20 +0 N784JB - -\nf562 2736 DTW-BOS 20:17-22:06 109 A220 open ? - 20:17-22:06 +0 N3058J - -\nf563 430 MCO-BQN 20:18-23:01 147 A320 open ? - 20:18-23:01 +0 N624JB - -\nf564 1294 MCO-HPN 20:20-23:01 124 A320 open ? - 20:20-23:01 +0 N554JB - -\nf565 2821 MCO-LAS 20:20-01:49+1 110 A321P open ? - 20:20-01:49+1 +0 N943JT - -\nf566 371 LGA-FLL 20:25-23:27 148 A320 open ? - 20:25-23:27 +0 N651JB - -\nf567 2615 JFK-SFO 20:29-03:12+1 138 A321P open ? - 20:29-03:12+1 +0 N2156J - -\nf568 187 BOS-LAX 20:30-02:59+1 138 A321P open ? - 20:30-02:59+1 +0 N968JT - -\nf569 376 FLL-PHL 20:30-23:13 120 A320 open ? - 20:30-23:13 +0 N527JL - -\nf570 696 ATL-BOS 20:30-22:56 118 A220 open ? - 20:30-22:56 +0 N3261J - -\nf571 1146 FLL-RIC 20:30-22:45 117 A320 open ? - 20:30-22:45 +0 N590JB - -\nf572 1367 HPN-PBI 20:30-23:16 135 A320 open ? - 20:30-23:16 +0 N653JB - -\nf573 1481 BOS-RIC 20:30-22:26 94 A220 open ? - 20:30-22:26 +0 N3102J - -\nf574 250 SAV-BOS 20:34-22:59 98 A220 open ? - 20:34-22:59 +0 N3156J - -\nf575 2354 DCA-BOS 20:35-22:11 101 A220 open ? - 20:35-22:11 +0 N3203J - -\nf576 1873 EWR-LAX 20:44-02:59+1 132 A321P open ? - 20:44-02:59+1 +0 N984JB - -\nf577 820 JFK-DTW 20:45-22:57 121 A320 open ? - 20:45-22:57 +0 N508JL - -\nf578 2133 MCO-SJU 20:46-23:38 138 A320 open ? - 20:46-23:38 +0 N615JB - -\nf579 668 PBI-HPN 20:52-23:41 113 A320 open ? - 20:52-23:41 +0 N552JB - -\nf580 206 BOS-PQI 20:55-22:22 57 A220 open ? - 20:55-22:22 +0 N3247J - -\nf581 1798 FLL-ATL 20:55-22:46 121 A320 open ? - 20:55-22:46 +0 N588JB - -\nf582 460 FLL-BDL 20:59-23:59 133 A320 open ? - 20:59-23:59 +0 N607JB - -\nf583 423 JFK-LAX 21:15-03:38+1 138 A321P open ? - 21:15-03:38+1 +0 N964JT - -\nf584 2072 BQN-FLL 21:20-23:57 96 A320 open ? - 21:20-23:57 +0 N821JB - -\nf585 540 CLE-BOS 21:21-23:06 89 A220 open ? - 21:21-23:06 +0 N3104J - -\nf586 177 BOS-LAS 21:25-03:25+1 135 A321P open ? - 21:25-03:25+1 +0 N2193J - -\nf587 845 BOS-SYR 21:25-22:47 81 A220 open ? - 21:25-22:47 +0 N3258J - -\nf588 1434 SJU-MCO 21:30-00:37+1 148 A321 open ? - 21:30-00:37+1 +0 N966JT - -\nf589 1887 JFK-DCA 21:40-22:58 86 A220 open ? - 21:40-22:58 +0 N3113J - -\nf590 486 JFK-ROC 21:45-23:15 109 A220 open ? - 21:45-23:15 +0 N3241J - -\nf591 675 JFK-BDL 21:45-23:01 63 A320 open ? - 21:45-23:01 +0 N648JB - -\nf592 1195 JFK-PIT 21:59-23:42 99 A320 open ? - 21:59-23:42 +0 N570JB - -\nf593 2516 JFK-SYR 22:28-23:47 73 A220 open ? - 22:28-23:47 +0 N3132J - -\nf594 1118 JFK-BOS 22:45-00:03+1 94 A220 open ? - 22:45-00:03+1 +0 N3149J - -\nf595 1128 JFK-PVD 22:45-23:50 62 A320 open ? - 22:45-23:50 +0 N586JB - -\nf596 403 JFK-SJU 22:59-02:48+1 184 A321 open ? - 22:59-02:48+1 +0 N972JT - -\nf597 1524 LAX-JFK 23:25-04:39+1 135 A321P open ? - 23:25-04:39+1 +0 N989JT - -\nf598 2120 SAN-BOS 23:31-05:02+1 136 A321P open ? - 23:31-05:02+1 +0 N993JE - -\nf599 1574 LAX-EWR 23:46-05:00+1 133 A321P open ? - 23:46-05:00+1 +0 N4022J - -\nf600 1216 SFO-JFK 00:00+1-05:20+1 138 A321P open ? - 00:00+1-05:20+1 +0 N2151J - -\nf601 1190 SAN-JFK 00:05+1-05:20+1 135 A321P open ? - 01:38+1-06:53+1 +93 N934JB - -\nf602 2178 LAS-BOS 00:06+1-05:01+1 132 A321P open ? - 00:06+1-05:01+1 +0 N967JT - -\nf603 734 SFO-BOS 00:16+1-05:50+1 133 A321P open ? - 00:16+1-05:50+1 +0 N945JT - -\nf604 870 PHX-BOS 00:20+1-05:01+1 140 A321 open ? - 00:20+1-05:01+1 +0 N957JB - -\nf605 1824 LAX-JFK 00:25+1-05:42+1 117 A321P open ? - 00:25+1-05:42+1 +0 N978JB - -\nf606 378 SFO-FLL 00:44+1-06:01+1 138 A321P open ? - 00:44+1-06:01+1 +0 N2188J - -\nf607 988 LAX-BOS 00:56+1-06:25+1 138 A321P open ? - 00:56+1-06:25+1 +0 N2169J - -\nf608 2822 LAS-MCO 01:05+1-05:31+1 118 A321P open ? - 01:05+1-05:31+1 +0 N988JT - -\nf609 98 DEN-JFK 01:21+1-04:53+1 103 A220 open ? - 01:21+1-04:53+1 +0 N3272J - -\nf610 858 PHX-FLL 01:30+1-05:29+1 134 A321P open ? - 01:30+1-05:29+1 +0 N991JT - -\nf611 2724 LAX-JFK 01:40+1-07:00+1 136 A321P open ? - 01:40+1-07:00+1 +0 N4048J - -\nf612 616 SFO-JFK 01:41+1-07:00+1 138 A321P open ? - 01:41+1-07:00+1 +0 N979JT - -\nf613 700 LAX-FLL 01:45+1-06:38+1 135 A321P open ? - 01:45+1-06:38+1 +0 N947JB - -\nf614 72 SLC-JFK 01:51+1-06:11+1 110 A220 open ? - 01:51+1-06:11+1 +0 N3062J - -\nf615 36 PHX-JFK 01:59+1-06:31+1 135 A321P open ? - 01:59+1-06:31+1 +0 N2157J - -\nf616 994 DEN-BOS 01:59+1-05:44+1 119 A320 open ? - 01:59+1-05:44+1 +0 N565JB - -\nf617 324 LAX-JFK 02:59+1-08:20+1 135 A321P open ? - 02:59+1-08:20+1 +0 N983JT - -\nf618 608 LAS-FLL 02:59+1-07:29+1 130 A321P open ? - 02:59+1-07:29+1 +0 N943JT - -\n\n## Aircraft now, as your plan has them (@ = ready at)\nBOS: N2029J N2169J@09:40 N2180J N2193J N3104J N3118J@05:21 N3142J@20:10 N3152J N3203J N3229J N3240J N3242J N3247J N3258J@07:30 N3269J N3271J N3275J N527JL N547JB N563JB@07:07 N591JB N607JB N612JB N623JB N651JB@06:05 N656JB N796JB N805JB N937JB@05:55 N954JB@04:39 N961JT@06:37 N966JT N971JT N972JT N976JT N979JT@07:24 N985JT@06:18 N994JL N997JL\nALB: N579JB N624JB\nATL: N3257J N3276J N561JB\nAUS: N510JB\nBDL: N521JB N641JB N649JB N768JB N809JB\nBNA: N643JB N806JB\nBQN: N715JB N775JB\nBUF: N3058J N3065J N585JB@08:50 N593JB N973JT\nCHS: N526JL\nDCA: N3077J N3157J N3196J N590JB N975JT\nDTW: N3132J N562JB\nEWR: N3169J N524JB N554JB N568JB N589JB N629JB N663JB@10:45 N984JB@06:03\nFLL: N3044J N3062J N3195J N536JB@19:30 N558JB N580JB N597JB N605JB N637JB N644JB N648JB N653JB N779JB@04:22 N794JB N907JB N935JB@07:49 N962JT@05:51 N964JT N968JT N969JT N989JT@11:00 N990JL@08:15\nHPN: N3112J N566JB N569JB N621JB N630JB N661JB\nJAX: N3272J\nJFK: N2027J@18:00 N2105J N2151J@11:20 N2156J N2157J N2165J N3115J@06:50 N3138J N3149J N3162J N3221J@06:30 N3241J N3261J N4048J@15:50 N4076J N4077J@05:40 N507JT N552JB N559JB N564JB N570JB@20:00 N627JB@07:18 N633JB@06:45 N659JB@06:45 N828JB@16:15 N944JT@08:37 N946JL N948JB@08:40 N950JT N955JB N958JB@18:00+1 N978JB@11:50 N983JT@09:44 N986JB@05:59 N987JT@05:55 N992JB N995JL@13:53\nLAS: N942JB@05:13 N967JT@04:29\nLAX: N2188J N4022J@04:17 N923JB@04:49 N945JT N947JB@06:09 N991JT@07:06 N993JE\nLGA: N3113J N519JB N595JB N655JB\nMCO: N2047J@18:40 N3185J N3251J N3267J N504JB N509JB N516JB N520JB N535JB N565JB N594JB N598JB N608JB@18:00+1 N635JB N712JB@08:25 N804JB N943JT@06:05 N956JT N957JB N996JL\nMHT: N706JB\nMSY: N632JB N834JB\nORD: N613JB\nPBI: N603JB N618JB N645JB N646JB N657JB N970JB\nPHL: N3255J N821JB\nPIT: N3125J N3156J N508JL\nPQI: N3244J\nPSE: N615JB\nPVD: N586JB N606JB N662JB N709JB N729JB N807JB\nRDU: N3102J N3232J N705JB\nRIC: N3260J N534JB\nROC: N3194J\nRSW: N638JB N639JB N665JB\nSFO: N934JB@08:50 N982JB N988JT@05:12\nSJU: N2016J N2059J@04:47 N517JB N571JB N584JB N588JB N760JB N784JB N959JB N974JT\nSYR: N3023J N3189J\nTPA: N658JB N703JB N708JB\nairborne: none\n\n## News so far\n[00:41] TAF KBOS 020541Z 0206/0312 33007KT P6SM FEW230 FM021500 14005KT P6SM -RA OVC028 FM021900 11007KT 2SM -RA OVC006 FM030000 05010G23KT 2SM -RA BR OVC007 FM030300 36013G30KT 2SM -RASN OVC010 WS020/02040KT FM030600 36012G26KT 2SM -RASN OVC007 PROB30 0306/0310 1SM -SN OVC005=\n[02:54] KBOS 020754Z 01004KT 10SM BKN047 OVC130 M02/M09 A3026 RMK AO2 PRESFR SLP245 T10171094\n[03:54] KBOS 020854Z 01005KT 10SM OVC044 M02/M08 A3021 RMK AO2 SLP230 T10171078 58023\n\nIt is the first watch, 04:00. Nothing is frozen yet: set the day up with confirm_changes, then call advance.", + "max_turns": 204, + "model_params": { + "max_tokens": 32000 + }, + "timeout_seconds": 7200 + }, + { + "id": "end-day", + "type": "apply_server_config", + "env_id": "airops-v3-day", + "directives": [ + { + "service": "airops-v3-day", + "uri": "urn:airops:v3-end-day/v1", + "args": {} + } + ] + }, + { + "id": "grade", + "type": "env_outcome_verifier", + "env_id": "airops-v3-day", + "file_artifact_id": "airops-verifier", + "verifier_id": "airops", + "score_aggregator": "weighted_average" + } +] diff --git a/src/agentenv_airops/bundles/airops-v3/tasks/b6-20251214-0400.json b/src/agentenv_airops/bundles/airops-v3/tasks/b6-20251214-0400.json new file mode 100644 index 0000000..81f2462 --- /dev/null +++ b/src/agentenv_airops/bundles/airops-v3/tasks/b6-20251214-0400.json @@ -0,0 +1,71 @@ +[ + { + "id": "deploy", + "type": "deploy_env", + "env_id": "airops-v3-day" + }, + { + "id": "load-task", + "type": "apply_server_config", + "env_id": "airops-v3-day", + "directives": [ + { + "service": "airops-v3-day", + "uri": "urn:airops:v3-live-load/v1", + "args": { + "task_id": "b6-20251214-0400", + "anchor": 8525800, + "follower": 8867624 + } + } + ] + }, + { + "id": "deploy-agent", + "type": "deploy_agent", + "a2a_agent_id": "airops-llm", + "env_ids": [ + "airops-v3-day" + ] + }, + { + "id": "clock", + "type": "sync_env_clock", + "env_id": "airops-v3-day", + "virtual_time": "2025-12-14T09:00:00Z", + "virtual_seconds_per_real_second": 0, + "tolerate_missing_sync_time": false + }, + { + "id": "play", + "type": "prompt_agent", + "prompt_id": "b6-20251214-0400", + "system_prompt": "You run the JetBlue operations desk on a storm day at JFK and BOS: thunderstorms, snow or wind, and the FAA ground stops and ground delay programs (GDPs) that follow, cut how many JetBlue flights can land and take off. Your job is to decide which flights to cancel and which to hold, watch by watch, so that passengers and the airline lose as little as possible over the day.\n\nHow the day runs:\n- The day is played in watches starting at watch 0: one an hour, and one more when an advisory or a SPECI reaches the desk or a ramp closure begins or ends, so watches are 15 to 60 minutes apart. The first message gives the day as the desk knows it at watch 0. Every tool call takes 1 minute of the watch; when the watch's time runs out, the next watch opens by itself, and advance opens it at once.\n- What the desk knows: a flight's own departure delay (weather, air traffic control: anything but waiting for its aircraft or a slot) becomes known 2 hours before its scheduled departure; until then it is assumed on time. FAA Command Center advisories and the hubs' METARs, SPECIs and TAFs arrive as messages at the first watch after they reach the desk: an advisory 0 minutes after it is signed, a METAR 5 and a SPECI 5 minutes after its observation, a TAF 10 minutes after its issue, and the programs table shows the programs as issued, proposed GDPs included; a program may end earlier or later than issued.\n- Ground delay programs: a GDP meters arrivals at a hub over its period. A flight into the hub from an origin in its scope, scheduled to land in the period, needs one of JetBlue's arrival slots in the program: it takes the earliest free slot at or after the time it could land and leaves at its EDCT, the slot less its scheduled block. A cancelled or late flight leaves its slot to the flights behind it. Arrivals outside a program fit under the hub's hourly rate.\n- Ground stops: a flight to a stopped hub from an origin the stop covers waits on the ground until the stop ends; flights already airborne fly on.\n- Departure caps: an airport may take only so many JetBlue departures in an hour (the departure caps table, known 4 hours ahead); a flight with no room in its hour tries again at the next hour's start.\n- Outstation arrival caps: an outstation may take only so many JetBlue arrivals in an hour (the outstation arrival caps table, known 4 hours ahead); a flight with no room in its arrival hour leaves so as to land in the next one.\n- Ramp closures: lightning at the field cuts a hub's ramp rate without stopping it. During a closure only so many JetBlue flights may leave the hub and only so many arrive there; a departure with no room leaves at the closure's end, an arrival with none leaves so as to land at it. A closure is known once it begins; until its end comes it is expected to last 30 minutes more, with caps for that long, and the closures table says which ends are reported and which expected.\n- The env flies your plan on the day as it happens: each flight leaves at the earliest time its delay, its hold, a slot, a stop, a cap and an aircraft allow. It takes the first aircraft of its type ready at its origin (aircraft of one type at one airport are interchangeable; an aircraft needs its turn time on the ground between flights). A flight that can't leave by its deadline is cancelled automatically there. At the end of the day the env ferries each aircraft to the airport it is needed at tomorrow.\n- Your decisions: cancel a flight (its aircraft stays on the ground, free for other flights, and its slot goes to the flights behind), restore a cancelled flight, or hold a flight until a time (not_before) so that its slot or aircraft goes to another flight first. A flight you don't touch leaves as early as it can.\n- The freeze: at watch 0 nothing is frozen. From watch 1 on, flights your plan has leaving before the freeze line, 60 minutes after the watch opens, are frozen: they can't be changed, and stay frozen. A cancellation is final. The env holds any other flight your plan would have leaving before the freeze line to it, and refuses a change that would move a frozen flight or one that has already gone.\n\nTools:\n- get_situation(): the time, the freeze line, the programs as issued with JetBlue's slots, the departure caps known so far, the outstation arrival caps known so far, the ramp closures under way or over, the latest METAR or SPECI and TAF per hub, every flight (its status, its known delay, your plan, where your plan has it leave and land on the day as known, how late it lands, its aircraft, its slot and its crew), where the aircraft are, and the news so far.\n- check_plan(changes): your changes over your plan, run on the day as known now: the plan's cost, the flights whose plan or times change, the automatic cancellations, the flights the env would hold to the freeze line, and the changes confirm_changes would refuse. It confirms nothing.\n- confirm_changes(changes): commits the changes; flights you leave out keep their plan.\n- advance(): ends the watch; its result has the new watch's news. After the last watch it returns \"done\": the day is graded on your plan.\nA change is {\"flight\": \"f12\", \"action\": \"cancel\" | \"restore\" | \"hold\" | \"call_reserve\" | \"release_reserve\", \"not_before\": \"HH:MM\" | null}: cancel takes not_before null; restore and hold fly the flight, held until not_before (local time, \"00:30+1\" after midnight), or as early as it can with null. Where a crew base has a reserve pool (the situation's Reserve crews), a flight leaving it past its crew's deadline flies only on a reserve: call_reserve gives it one while the pool lasts, release_reserve hands it back before that deadline.\n\nThe cost, in passenger-minutes: every passenger's minutes of arrival delay; 523 for each passenger on a cancelled flight, plus one for every minute the cancellation is decided later than 2 hours before its scheduled departure (an automatic cancellation is decided at its deadline, so it costs more than an early one); the airline's own aircraft minutes (a late departure costs crew and fixed costs, a long block fuel too, and a cancellation saves its fuel and maintenance); and the end-of-day ferries. A cancellation frees an aircraft and a slot; it pays when it saves the others more than it costs its own passengers. The day is graded once, on your final plan flown on the day as it really happened: the closer its cost to the best plan possible in hindsight, the higher the score. If you stop before the last watch, the rest of the day runs on your plan.", + "prompt": "# JetBlue operations desk, JFK, Sunday 2025-12-14; times are local (America/New_York).\n\nNow 04:00 (watch 0, opened 04:00). First watch: nothing is frozen; changes take effect at once.\n\nYour plan on the day as known costs 820,895 (delay 608,265, cancellations 0, notice 0, ferries 0): 0 cancelled, 0 cancelled automatically, 0 on slots.\n\n## Programs as issued (FAA Command Center)\nNone.\n\n## Departure caps: JetBlue departures per hour, known 240 min ahead\nBOS: 07h 6 08h 11\nJFK: 06h 4 07h 7 08h 3\n\n## Outstation arrival caps: JetBlue arrivals per hour, known 240 min ahead\nFLL: 07h 1 08h 1\nMCO: 08h 1\n\n## Ramp closures (lightning at the field; known once begun)\nNone.\n\n## Latest weather (METAR or SPECI, and TAF)\n[03:51] KJFK 140851Z 00000KT 1/2SM R04R/2800V3500FT SN FG VV004 00/00 A2995 RMK AO2 SLP143 P0006 60012 T00000000 57018\n[03:28] TAF AMD KJFK 140828Z 1408/1512 29006KT 3/4SM -SN OVC009 TEMPO 1408/1412 1/2SM SN FZFG VV004 FM141200 32012KT 3/4SM -SN OVC006 FM141500 32016G24KT 2SM -SN OVC015 TEMPO 1415/1417 5SM -SN FM141700 31018G28KT P6SM BKN035=\n\n## Flights (sched = scheduled dep-arr; delay = known delay, ? not yet; plan = cancel or hold@HH:MM; proj = where your plan has it leave and land on the day as known; late = arrival delay; slot = its GDP slot; crew = crew deadline/rest end, +R on a reserve crew)\nid flight route sched pax type status delay plan proj late tail slot crew\nf0 2004 SJU-JFK 04:15-08:19 107 A220 open -10 - 04:05-08:06 -13 N3280J - -\nf1 768 PSE-MCO 04:20-07:30 118 A320 open -15 - 04:05-07:12 -18 N646JB - -\nf2 954 SJU-FLL 05:01-07:48 125 A320 open -9 - 04:52-07:28 -20 N580JB - -\nf3 2752 SJU-TPA 05:01-08:08 123 A320 open -8 - 04:53-07:52 -16 N621JB - -\nf4 834 SJU-MCO 05:05-08:15 120 A320 open -12 - 04:53-08:03 -12 N649JB - -\nf5 162 SJU-BOS 05:10-09:19 134 A321 open 16 - 05:26-10:19 +60 N950JT - -\nf6 2838 BQN-JFK 05:21-09:20 114 A320 open -7 - 05:14-09:30 +10 N635JB - -\nf7 117 BOS-JFK 05:40-07:00 105 A220 open 29 - 06:09-08:39 +99 N3058J - -\nf8 207 PQI-BOS 05:45-07:22 57 A220 open -4 - 05:41-07:41 +19 N3194J - -\nf9 1 JFK-FLL 06:00-09:00 182 A321 open -1 - 05:59-09:50 +50 N2059J - -\nf10 92 TPA-BOS 06:00-08:59 135 A320 open -10 - 05:50-08:26 -33 N633JB - -\nf11 185 ROC-JFK 06:00-07:28 121 A220 open 59 - 06:59-08:14 +46 N3145J - -\nf12 287 BOS-LAX 06:00-12:34 138 A321P open -8 - 05:52-12:44 +10 N2105J - -\nf13 352 MCO-BOS 06:00-08:57 155 A321 open -3 - 05:57-08:34 -23 N954JB - -\nf14 374 SYR-BOS 06:00-07:15 87 A220 open 103 - 07:43-09:28 +133 N3255J - -\nf15 386 RDU-JFK 06:00-07:42 120 A220 open 16 - 06:16-07:45 +3 N3232J - -\nf16 389 EWR-SJU 06:00-09:49 150 A320 open 8 - 06:08-09:57 +8 N521JB - -\nf17 411 JFK-LAS 06:00-11:43 132 A321P open -11 - 05:49-12:01 +18 N2180J - -\nf18 577 FLL-SFO 06:00-12:18 128 A321P open -8 - 05:52-11:51 -27 N934JB - -\nf19 737 BDL-MCO 06:00-09:00 141 A320 open 39 - 06:39-10:14 +74 N794JB - -\nf20 754 SJU-FLL 06:00-08:45 125 A320 open -7 - 05:53-08:25 -20 N657JB - -\nf21 927 EWR-MCO 06:00-08:50 140 A320 open 255 - 10:15-14:10 +320 N535JB - -\nf22 959 BDL-FLL 06:00-09:10 146 A320 open -1 - 05:59-10:54 +104 N586JB - -\nf23 968 PBI-HPN 06:00-08:49 113 A320 open 5 - 06:05-09:43 +54 N623JB - -\nf24 984 RDU-BOS 06:00-07:59 108 A220 open -8 - 05:52-07:41 -18 N3156J - -\nf25 1184 MCO-JFK 06:00-08:39 157 A321 open 16 - 06:16-08:55 +16 N955JB - -\nf26 1198 PIT-JFK 06:00-07:29 104 A320 open 47 - 06:47-09:41 +132 N712JB - -\nf27 1233 MCO-SJU 06:00-08:50 138 A320 open 0 - 06:00-08:45 -5 N504JB - -\nf28 1419 DTW-JFK 06:00-07:49 111 A220 open -4 - 05:56-08:28 +39 N3112J - -\nf29 1471 LGA-FLL 06:00-09:00 128 A220 open -2 - 05:58-10:32 +92 N3157J - -\nf30 1603 JFK-SJU 06:00-09:44 149 A320 open 8 - 06:08-10:24 +40 N537JT - -\nf31 1702 FLL-JFK 06:00-08:50 125 A320 open -4 - 05:56-08:40 -10 N529JB - -\nf32 1888 DCA-JFK 06:00-07:14 92 A220 open -3 - 05:57-07:52 +38 N3023J - -\nf33 2251 BOS-MCO 06:00-09:20 143 A320 open -8 - 05:52-09:50 +30 N766JB - -\nf34 2330 RSW-JFK 06:00-08:47 104 A220 open -10 - 05:50-09:04 +17 N3196J - -\nf35 2875 PVD-MCO 06:00-09:05 123 A320 open 6 - 06:06-09:55 +50 N519JB - -\nf36 216 BUF-BOS 06:05-07:29 98 A220 open ? - 06:05-07:29 +0 N3125J - -\nf37 891 BOS-TPA 06:05-09:35 142 A320 open ? - 06:05-09:35 +0 N805JB - -\nf38 379 DCA-FLL 06:10-08:43 147 A320 open ? - 06:27-09:00 +17 N508JL - -\nf39 66 RSW-BOS 06:15-09:20 108 A220 open ? - 06:15-09:20 +0 N3215J - -\nf40 138 MCO-BDL 06:20-09:07 122 A320 open ? - 06:20-09:07 +0 N517JB - -\nf41 1155 BOS-DCA 06:20-08:05 105 A220 open ? - 06:20-08:05 +0 N3062J - -\nf42 35 JFK-PHX 06:30-12:09 138 A321P open ? - 06:30-12:09 +0 N4074J - -\nf43 118 JFK-BOS 06:30-07:42 94 A220 open ? - 06:30-07:42 +0 N3044J - -\nf44 583 JFK-MCO 06:30-09:24 176 A321 open ? - 06:30-09:24 +0 N958JB - -\nf45 667 HPN-PBI 06:30-09:15 135 A320 open ? - 06:30-09:15 +0 N505JB - -\nf46 797 BOS-ATL 06:30-09:25 121 A220 open ? - 06:30-09:25 +0 N3077J - -\nf47 1480 FLL-DCA 06:31-09:00 110 A220 open ? - 06:31-09:00 +0 N3169J - -\nf48 1585 BOS-PIT 06:33-08:30 91 A220 open ? - 06:33-08:30 +0 N3102J - -\nf49 469 BOS-FLL 06:40-10:10 147 A320 open ? - 06:40-10:10 +0 N828JB - -\nf50 133 BOS-SFO 06:45-13:33 138 A321P open ? - 06:45-13:33 +0 N2169J - -\nf51 865 BUF-FLL 06:45-09:50 149 A320 open ? - 06:45-09:50 +0 N524JB - -\nf52 1274 CHS-JFK 06:45-08:43 99 A220 open ? - 06:45-08:43 +0 N3229J - -\nf53 1476 SJU-BDL 06:45-10:50 119 A320 open ? - 06:45-10:50 +0 N709JB - -\nf54 15 JFK-SFO 06:49-13:17 124 A321P open ? - 07:00-13:28 +11 N935JB - -\nf55 919 BOS-SAN 06:52-13:28 138 A321P open ? - 06:52-13:28 +0 N969JT - -\nf56 1505 EWR-FLL 06:55-10:03 139 A320 open ? - 06:55-10:03 +0 N523JB - -\nf57 523 JFK-LAX 06:59-13:20 122 A321P open ? - 07:00-13:21 +1 N961JT - -\nf58 109 BOS-JAX 07:00-10:07 118 A220 open ? - 07:00-10:07 +0 N3104J - -\nf59 254 PBI-JFK 07:00-09:42 117 A320 open ? - 07:00-09:42 +0 N644JB - -\nf60 320 ATL-JFK 07:00-09:21 119 A220 open ? - 07:00-09:21 +0 N3123J - -\nf61 375 PHL-FLL 07:00-09:47 135 A320 open ? - 07:00-09:47 +0 N665JB - -\nf62 461 LGA-PBI 07:00-10:00 144 A320 open ? - 07:00-10:00 +0 N571JB - -\nf63 576 MSY-JFK 07:00-10:00 111 A220 open ? - 07:00-10:00 +0 N3242J - -\nf64 598 MCO-LGA 07:00-09:36 124 A220 open ? - 07:00-09:36 +0 N3267J - -\nf65 601 JFK-FLL 07:00-10:08 182 A321 open ? - 07:00-10:08 +0 N998JE - -\nf66 670 FLL-BOS 07:00-10:09 118 A320 open ? - 07:00-10:09 +0 N531JL - -\nf67 722 PBI-BOS 07:00-10:00 120 A320 open ? - 07:00-10:00 +0 N648JB - -\nf68 813 HPN-FLL 07:00-09:56 139 A320 open ? - 07:00-09:56 +0 N584JB - -\nf69 974 BNA-JFK 07:00-09:13 112 A220 open ? - 07:00-09:13 +0 N3275J - -\nf70 1007 BOS-BNA 07:00-10:01 113 A220 open ? - 07:00-10:01 +0 N3113J - -\nf71 1129 PVD-JFK 07:00-08:13 74 A320 open ? - 07:00-08:13 +0 N554JB - -\nf72 1130 FLL-CHS 07:00-08:37 105 A320 open ? - 07:00-08:37 +0 N589JB - -\nf73 1143 MHT-MCO 07:00-10:14 124 A320 open ? - 07:00-10:14 +0 N615JB - -\nf74 1196 FLL-PVD 07:00-09:57 119 A320 open ? - 07:00-09:57 +0 N595JB - -\nf75 1423 DCA-PBI 07:00-09:29 112 A220 open ? - 07:00-09:29 +0 N3149J - -\nf76 1573 EWR-LAX 07:00-13:12 132 A321P open ? - 07:00-13:12 +0 N937JB - -\nf77 1678 JAX-JFK 07:00-09:19 120 A220 open ? - 07:00-09:19 +0 N3195J - -\nf78 1707 FLL-LAS 07:00-12:20 125 A321P open ? - 07:00-12:20 +0 N984JB - -\nf79 2005 PIT-FLL 07:00-09:48 109 A220 open ? - 07:00-09:48 +0 N3241J - -\nf80 2065 BOS-RSW 07:00-10:42 178 A321 open ? - 07:00-10:42 +0 N996JL - -\nf81 2253 FLL-SJU 07:00-09:35 139 A320 open ? - 07:00-09:35 +0 N597JB - -\nf82 2677 BOS-LAS 07:00-13:06 135 A321P open ? - 07:00-13:06 +0 N945JT - -\nf83 2920 ALB-MCO 07:00-10:03 141 A320 open ? - 07:00-10:03 +0 N606JB - -\nf84 676 BDL-JFK 07:02-08:15 83 A320 open ? - 07:02-08:15 +0 N588JB - -\nf85 1604 SJU-JFK 07:02-11:01 153 A321 open ? - 07:02-11:01 +0 N2086J - -\nf86 315 SYR-JFK 07:05-08:26 108 A320 open ? - 07:05-08:26 +0 N552JB - -\nf87 1145 RIC-FLL 07:05-09:35 141 A320 open ? - 07:05-09:35 +0 N593JB - -\nf88 2001 BUF-JFK 07:05-08:35 119 A220 open ? - 07:05-08:35 +0 N3260J - -\nf89 597 PVD-FLL 07:09-10:20 135 A320 open ? - 07:09-10:20 +0 N629JB - -\nf90 821 BOS-PBI 07:10-10:32 120 A220 open ? - 07:10-10:32 +0 N3138J - -\nf91 546 MCO-ISP 07:15-09:55 117 A320 open ? - 07:15-09:55 +0 N520JB - -\nf92 677 JFK-JAX 07:15-09:52 121 A220 open ? - 07:15-09:52 +0 N3203J - -\nf93 1084 MCO-JFK 07:15-09:52 127 A320 open ? - 07:15-09:52 +0 N526JL - -\nf94 2625 RDU-FLL 07:15-09:25 135 A320 open ? - 07:15-09:25 +0 N630JB - -\nf95 2272 AUS-FLL 07:20-10:00 125 A320 open ? - 07:20-10:00 +0 N625JB - -\nf96 267 BOS-CHS 07:23-10:06 110 A220 open ? - 07:23-10:06 +0 N3142J - -\nf97 488 MCO-ORH 07:24-10:16 106 A320 open ? - 07:24-10:16 +0 N565JB - -\nf98 366 RSW-BOS 07:25-10:30 125 A320 open ? - 07:25-10:30 +0 N607JB - -\nf99 1867 JFK-DAB 07:25-10:07 111 A220 open ? - 07:25-10:07 +0 N3240J - -\nf100 894 MCO-HPN 07:29-10:10 124 A320 open ? - 07:29-10:10 +0 N569JB - -\nf101 299 LGA-MCO 07:30-10:25 149 A320 open ? - 07:30-10:25 +0 N599JB - -\nf102 1153 JFK-PBI 07:30-10:29 141 A320 open ? - 07:30-10:29 +0 N570JB - -\nf103 1154 DCA-BOS 07:30-09:00 101 A220 open ? - 07:30-09:00 +0 N3269J - -\nf104 1447 HPN-TPA 07:30-10:23 129 A320 open ? - 07:30-10:23 +0 N591JB - -\nf105 1883 BOS-RDU 07:30-09:42 111 A220 open ? - 08:00-10:12 +30 N3162J - -\nf106 2725 JFK-TPA 07:30-10:33 147 A320 open ? - 07:30-10:33 +0 N585JB - -\nf107 861 BOS-SJU 07:40-11:44 147 A320 open ? - 08:00-12:04 +20 N534JB - -\nf108 1803 JFK-SJU 07:45-11:35 149 A320 open ? - 08:00-11:50 +15 N659JB - -\nf109 2831 MCO-LAS 07:45-13:13 110 A321P open ? - 07:45-13:13 +0 N992JB - -\nf110 1602 JFK-BUF 07:50-09:20 111 A220 open ? - 08:00-09:30 +10 N3065J - -\nf111 285 JFK-RDU 07:59-09:53 112 A220 open ? - 08:00-09:54 +1 N3257J - -\nf112 85 BUF-MCO 08:00-10:45 129 A320 open ? - 08:00-10:45 +0 N564JB - -\nf113 91 BOS-TPA 08:00-11:32 175 A321 open ? - 08:00-11:32 +0 N952JB - -\nf114 143 EWR-PBI 08:00-11:03 146 A320 open ? - 08:00-11:03 +0 N729JB - -\nf115 183 JFK-MCO 08:00-11:08 143 A320 open ? - 09:00-12:08 +60 N746JB - -\nf116 359 BOS-PHL 08:00-09:39 106 A220 open ? - 08:00-09:39 +0 N3185J - -\nf117 553 FLL-SJU 08:00-10:35 139 A320 open ? - 08:00-10:35 +0 N598JB - -\nf118 801 FLL-LAX 08:00-13:48 128 A321P open ? - 08:00-13:48 +0 N943JT - -\nf119 851 BOS-MCO 08:00-11:23 176 A321 open ? - 08:00-11:23 +0 N957JB - -\nf120 962 PBI-LGA 08:00-10:43 126 A320 open ? - 08:00-10:43 +0 N655JB - -\nf121 1056 MCO-SYR 08:00-10:45 138 A320 open ? - 08:00-10:45 +0 N579JB - -\nf122 1087 ALB-FLL 08:00-11:20 147 A320 open ? - 08:00-11:20 +0 N618JB - -\nf123 1347 DCA-SJU 08:00-11:51 182 A321 open ? - 08:00-11:51 +0 N975JT - -\nf124 1515 JFK-SFO 08:00-14:45 138 A321P open ? - 09:00-15:45 +60 N993JE - -\nf125 1797 ATL-FLL 08:00-09:54 131 A320 open ? - 08:00-09:54 +0 N547JB - -\nf126 1822 MSY-FLL 08:00-09:48 123 A320 open ? - 08:00-09:48 +0 N632JB - -\nf127 2024 MCO-DCA 08:00-10:14 108 A220 open ? - 08:00-10:14 +0 N3118J - -\nf128 2106 ORD-JFK 08:00-10:17 106 A220 open ? - 08:00-10:17 +0 N3132J - -\nf129 2169 BOS-FLL 08:00-11:33 147 A320 open ? - 08:00-11:33 +0 N590JB - -\nf130 2186 PIT-BOS 08:00-09:44 95 A220 open ? - 08:00-09:44 +0 N3261J - -\nf131 2601 HPN-SJU 08:00-11:51 123 A220 open ? - 08:00-11:51 +0 N3085J - -\nf132 2063 BOS-EYW 08:02-11:55 114 A220 open ? - 08:02-11:55 +0 N3189J - -\nf133 249 BOS-SAV 08:09-10:55 99 A220 open ? - 08:09-10:55 +0 N3221J - -\nf134 65 BOS-RSW 08:10-11:52 125 A220 open ? - 08:10-11:52 +0 N3244J - -\nf135 514 FLL-ISP 08:10-11:05 125 A320 open ? - 08:10-11:05 +0 N603JB - -\nf136 775 JFK-MSY 08:14-11:50 116 A220 open ? - 09:00-12:36 +46 N3232J - -\nf137 1039 BOS-AUS 08:15-12:57 141 A320 open ? - 08:15-12:57 +0 N804JB - -\nf138 1555 BOS-DCA 08:15-10:05 105 A220 open ? - 08:15-10:05 +0 N3125J - -\nf139 511 JFK-LAS 08:20-14:21 133 A321P open ? - 09:00-15:01 +40 N990JL - -\nf140 525 PVD-SJU 08:20-12:08 137 A320 open ? - 08:20-12:08 +0 N652JB - -\nf141 1281 BOS-RIC 08:20-10:15 94 A220 open ? - 09:00-10:55 +40 N3194J - -\nf142 1297 JFK-DEN 08:23-13:05 115 A220 open ? - 09:00-13:42 +37 N3023J - -\nf143 160 FLL-BDL 08:25-11:23 133 A320 open ? - 08:25-11:23 +0 N605JB - -\nf144 1906 TPA-FLL 08:25-09:29 100 A320 open ? - 08:25-09:29 +0 N640JB - -\nf145 2223 JFK-LAX 08:25-14:49 138 A321P open ? - 09:00-15:24 +35 N4080J - -\nf146 519 JFK-ATL 08:29-11:12 121 A220 open ? - 09:00-11:43 +31 N3280J - -\nf147 1037 BOS-DTW 08:29-10:52 110 A220 open ? - 09:00-11:23 +31 N3247J - -\nf148 146 FLL-RIC 08:30-10:47 117 A320 open ? - 08:30-10:47 +0 N793JB - -\nf149 217 BOS-JFK 08:30-09:52 105 A220 open ? - 09:00-10:22 +30 N3258J - -\nf150 311 BOS-ORD 08:30-11:35 114 A220 open ? - 09:00-12:05 +30 N3271J - -\nf151 515 BOS-DFW 08:30-13:05 122 A220 open ? - 09:00-13:35 +30 N3272J - -\nf152 967 HPN-PBI 08:30-11:24 135 A320 open ? - 08:30-11:24 +0 N639JB - -\nf153 1152 MCO-BOS 08:30-11:27 126 A320 open ? - 08:30-11:27 +0 N641JB - -\nf154 1584 MCO-JFK 08:30-11:04 127 A320 open ? - 08:30-11:04 +0 N643JB - -\nf155 1941 BOS-SRQ 08:30-11:57 116 A220 open ? - 09:00-12:27 +30 N3276J - -\nf156 2301 JFK-FLL 08:30-11:47 147 A320 open ? - 09:00-12:17 +30 N760JB - -\nf157 859 FLL-PHX 08:43-13:45 125 A321P open ? - 08:43-13:45 +0 N976JT - -\nf158 1688 PVD-PBI 08:45-11:49 136 A320 open ? - 08:45-11:49 +0 N779JB - -\nf159 2751 TPA-SJU 08:54-11:47 134 A320 open ? - 08:54-11:47 +0 N706JB - -\nf160 426 TPA-JFK 08:55-11:32 145 A320 open ? - 08:55-11:32 +0 N806JB - -\nf161 224 LAX-JFK 09:00-14:20 136 A321P open ? - 09:00-14:20 +0 N2193J - -\nf162 387 BOS-LAX 09:00-15:30 138 A321P open ? - 09:00-15:30 +0 N983JT - -\nf163 395 HPN-MCO 09:00-11:48 134 A320 open ? - 09:00-11:48 +0 N536JB - -\nf164 814 FLL-HPN 09:00-11:55 124 A320 open ? - 09:00-11:55 +0 N821JB - -\nf165 904 SJU-JFK 09:00-12:59 124 A320 open ? - 09:00-12:59 +0 N592JB - -\nf166 1433 BOS-IAH 09:00-13:41 126 A220 open ? - 09:00-13:41 +0 N3152J - -\nf167 1527 EWR-MCO 09:00-12:04 150 A320 open ? - 09:00-12:04 +0 N556JB - -\nf168 1698 FLL-ATL 09:00-10:51 121 A320 open ? - 09:00-10:51 +0 N827JB - -\nf169 2276 FLL-PHL 09:00-11:38 120 A320 open ? - 09:00-11:38 +0 N568JB - -\nf170 2423 DCA-MCO 09:00-11:29 125 A220 open ? - 09:00-11:29 +0 N3062J - -\nf171 401 BOS-MSY 09:02-12:57 138 A320 open ? - 09:02-12:57 +0 N705JB - -\nf172 588 LAX-BOS 09:05-14:26 138 A321P open ? - 09:05-14:26 +0 N4073J - -\nf173 1633 MCO-SJU 09:10-12:02 138 A320 open ? - 09:10-12:02 +0 N627JB - -\nf174 1247 LGA-TPA 09:14-12:19 148 A320 open ? - 09:14-12:19 +0 N624JB - -\nf175 715 BOS-BUF 09:15-10:55 109 A220 open ? - 09:15-10:55 +0 N3156J - -\nf176 1286 PIT-BOS 09:15-10:49 95 A220 open ? - 09:15-10:49 +0 N3102J - -\nf177 2475 BDL-SJU 09:15-13:05 142 A320 open ? - 09:15-13:05 +0 N658JB - -\nf178 1131 CHS-FLL 09:22-10:56 123 A320 open ? - 09:22-10:56 +0 N589JB - -\nf179 289 JFK-SAN 09:29-15:47 138 A321P open ? - 09:29-15:47 +0 N2188J - -\nf180 883 JFK-MCO 09:29-12:35 176 A321 open ? - 09:29-12:35 +0 N2060J - -\nf181 1891 PVD-RSW 09:29-12:45 115 A320 open ? - 10:42-13:58 +73 N595JB - -\nf182 2801 FLL-LAX 09:30-15:17 128 A321P open ? - 09:30-15:17 +0 N947JB - -\nf183 841 JFK-SAV 09:32-12:04 104 A220 open ? - 09:32-12:04 +0 N3145J - -\nf184 251 HPN-RSW 09:35-12:40 142 A320 open ? - 10:28-13:33 +53 N623JB - -\nf185 318 JFK-BOS 09:35-10:53 94 A220 open ? - 09:35-10:53 +0 N3112J - -\nf186 1800 FLL-ORF 09:35-11:49 88 A320 open ? - 09:35-11:49 +0 N789JB - -\nf187 1070 FLL-BOS 09:40-12:53 118 A320 open ? - 09:40-12:53 +0 N580JB - -\nf188 654 DCA-BOS 09:45-11:14 101 A220 open ? - 09:45-11:14 +0 N3169J - -\nf189 1534 TPA-BDL 09:45-12:28 137 A320 open ? - 09:45-12:28 +0 N621JB - -\nf190 2930 SJU-RDU 09:45-13:25 106 A320 open ? - 09:45-13:25 +0 N504JB - -\nf191 393 BOS-DEN 09:49-14:35 140 A320 open ? - 09:49-14:35 +0 N651JB - -\nf192 1680 FLL-DCA 09:50-12:17 110 A220 open ? - 10:33-13:00 +43 N3241J - -\nf193 1715 JFK-VRB 09:50-12:54 121 A320 open ? - 09:50-12:54 +0 N656JB - -\nf194 2584 MCO-JFK 09:50-12:25 157 A321 open ? - 09:50-12:25 +0 N997JL - -\nf195 37 BDL-MCO 09:53-12:49 131 A320 open ? - 09:53-12:49 +0 N517JB - -\nf196 108 LAS-FLL 10:00-14:32 130 A321P open ? - 10:00-14:32 +0 N980JT - -\nf197 148 LAS-JFK 10:00-14:49 129 A321P open ? - 10:00-14:49 +0 N967JT - -\nf198 300 LAX-FLL 10:00-14:55 135 A321P open ? - 10:00-14:55 +0 N2156J - -\nf199 472 FLL-LGA 10:00-12:49 130 A320 open ? - 10:00-12:49 +0 N653JB - -\nf200 570 MCO-RIC 10:00-11:58 116 A320 open ? - 10:00-11:58 +0 N561JB - -\nf201 816 SFO-JFK 10:00-15:28 138 A321P open ? - 10:00-15:28 +0 N987JT - -\nf202 854 PBI-JFK 10:00-12:40 117 A320 open ? - 10:00-12:40 +0 N775JB - -\nf203 1455 BOS-DCA 10:00-11:45 105 A220 open ? - 10:00-11:45 +0 N3044J - -\nf204 2887 BOS-LAX 10:00-16:29 138 A321P open ? - 10:00-16:29 +0 N964JT - -\nf205 2902 JFK-BUF 10:00-11:34 111 A220 open ? - 10:00-11:34 +0 N3260J - -\nf206 1002 FLL-JFK 10:05-12:54 154 A321 open ? - 10:50-13:39 +45 N2059J - -\nf207 2051 BOS-MCO 10:05-13:20 176 A321 open ? - 10:05-13:20 +0 N954JB - -\nf208 2152 MCO-BOS 10:05-13:04 108 A220 open ? - 10:05-13:04 +0 N3115J - -\nf209 1901 BUF-JFK 10:08-11:30 119 A220 open ? - 10:15-11:37 +7 N3065J - -\nf210 796 ATL-BOS 10:10-12:45 118 A220 open ? - 10:10-12:45 +0 N3077J - -\nf211 2577 BOS-LAS 10:10-16:15 135 A321P open ? - 10:10-16:15 +0 N977JE - -\nf212 2233 BOS-SFO 10:15-17:01 138 A321P open ? - 10:15-17:01 +0 N962JT - -\nf213 2462 PBI-LGA 10:15-13:01 109 A220 open ? - 11:17-14:03 +62 N3138J - -\nf214 2028 MCO-EWR 10:20-12:59 136 A320 open ? - 10:20-12:59 +0 N506JB - -\nf215 961 LGA-PBI 10:22-13:19 124 A220 open ? - 10:22-13:19 +0 N3267J - -\nf216 360 PHL-BOS 10:24-11:46 94 A220 open ? - 10:24-11:46 +0 N3185J - -\nf217 69 BOS-FLL 10:29-13:50 147 A320 open ? - 10:29-13:50 +0 N784JB - -\nf218 641 BOS-CLE 10:29-12:34 98 A220 open ? - 10:29-12:34 +0 N3269J - -\nf219 53 JFK-PBI 10:30-13:30 141 A320 open ? - 10:30-13:30 +0 N636JB - -\nf220 484 RDU-BOS 10:30-12:25 108 A220 open ? - 10:39-12:34 +9 N3257J - -\nf221 2252 SJU-FLL 10:34-13:19 125 A320 open ? - 10:42-13:27 +8 N521JB - -\nf222 2101 JFK-SYR 10:35-11:52 104 A321 open ? - 10:35-11:52 +0 N971JT - -\nf223 2824 LAX-JFK 10:35-15:56 135 A321P open ? - 10:35-15:56 +0 N986JB - -\nf224 1173 JFK-BNA 10:37-13:15 115 A220 open ? - 10:37-13:15 +0 N3058J - -\nf225 286 RDU-JFK 10:39-12:14 120 A220 open ? - 10:57-12:32 +18 N3162J - -\nf226 678 JAX-JFK 10:40-12:55 120 A220 open ? - 10:40-12:55 +0 N3203J - -\nf227 1634 SJU-MCO 10:40-13:52 120 A320 open ? - 11:09-14:21 +29 N537JT - -\nf228 547 ISP-MCO 10:45-13:34 134 A320 open ? - 10:45-13:34 +0 N520JB - -\nf229 578 SFO-FLL 10:45-16:10 138 A321P open ? - 10:45-16:10 +0 N923JB - -\nf230 1142 PBI-BDL 10:45-13:34 120 A320 open ? - 10:45-13:34 +0 N505JB - -\nf231 1197 PVD-FLL 10:45-13:59 135 A320 open ? - 14:35-17:49 +230 N766JB - -\nf232 1231 BOS-VRB 10:45-14:10 98 A220 open ? - 10:45-14:10 +0 N3215J - -\nf233 1006 BNA-BOS 10:46-13:15 111 A220 open ? - 10:46-13:15 +0 N3113J - -\nf234 1086 MCO-BUF 10:50-13:26 129 A320 open ? - 10:50-13:26 +0 N645JB - -\nf235 1499 BOS-DAB 10:50-14:00 93 A220 open ? - 10:50-14:00 +0 N3255J - -\nf236 68 CHS-BOS 10:51-13:05 115 A220 open ? - 10:51-13:05 +0 N3142J - -\nf237 1310 JAX-BOS 10:52-13:25 112 A220 open ? - 10:52-13:25 +0 N3104J - -\nf238 94 MCO-HPN 10:54-13:35 124 A320 open ? - 10:54-13:35 +0 N646JB - -\nf239 52 MCO-BOS 10:55-13:54 155 A321 open ? - 10:55-13:54 +0 N999JQ - -\nf240 1267 HPN-PBI 10:55-13:47 135 A320 open ? - 10:55-13:47 +0 N569JB - -\nf241 323 JFK-LAX 11:00-17:17 138 A321P open ? - 11:00-17:17 +0 N2142J - -\nf242 579 DCA-FLL 11:00-13:37 127 A220 open ? - 11:00-13:37 +0 N3125J - -\nf243 1003 JFK-SJU 11:00-14:52 129 A220 open ? - 11:00-14:52 +0 N3229J - -\nf244 1191 BOS-TPA 11:00-14:27 175 A321 open ? - 11:19-14:46 +19 N950JT - -\nf245 1282 RIC-BOS 11:00-12:35 95 A220 open ? - 11:40-13:15 +40 N3194J - -\nf246 1923 DCA-MCO 11:00-13:25 125 A220 open ? - 11:00-13:25 +0 N3118J - -\nf247 987 ORH-MCO 11:01-14:10 131 A320 open ? - 11:01-14:10 +0 N565JB - -\nf248 1029 JFK-RSW 11:04-14:19 143 A320 open ? - 11:04-14:19 +0 N559JB - -\nf249 163 JFK-SRQ 11:05-14:14 121 A220 open ? - 11:05-14:14 +0 N3196J - -\nf250 1144 MCO-MHT 11:05-14:07 127 A320 open ? - 11:05-14:07 +0 N649JB - -\nf251 2876 MCO-PVD 11:05-13:50 131 A320 open ? - 11:05-13:50 +0 N766JB - -\nf252 1553 FLL-SJU 11:10-13:45 139 A320 open ? - 11:10-13:45 +0 N657JB - -\nf253 1868 DAB-JFK 11:10-13:38 104 A220 open ? - 11:10-13:38 +0 N3240J - -\nf254 2321 BOS-PBI 11:10-14:28 139 A320 open ? - 11:10-14:28 +0 N633JB - -\nf255 154 PBI-JFK 11:14-13:59 117 A320 open ? - 11:14-13:59 +0 N571JB - -\nf256 434 SFO-BOS 11:15-16:47 133 A321P open ? - 11:15-16:47 +0 N989JT - -\nf257 548 TPA-HPN 11:25-14:14 141 A320 open ? - 11:25-14:14 +0 N591JB - -\nf258 2010 LAX-PBI 11:25-16:19 114 A321P open ? - 11:25-16:19 +0 N968JT - -\nf259 322 PBI-BOS 11:30-14:35 104 A220 open ? - 13:50-16:55 +140 N3149J - -\nf260 554 SJU-FLL 11:30-14:18 125 A320 open ? - 11:30-14:18 +0 N598JB - -\nf261 833 MCO-SJU 11:30-14:23 138 A320 open ? - 11:30-14:23 +0 N606JB - -\nf262 855 SYR-MCO 11:30-14:29 141 A320 open ? - 11:30-14:29 +0 N579JB - -\nf263 1811 EWR-RSW 11:30-14:40 138 A320 open ? - 13:44-16:54 +134 N506JB - -\nf264 2473 JFK-CHS 11:30-13:48 106 A220 open ? - 11:30-13:48 +0 N3275J - -\nf265 2151 BOS-MCO 11:34-14:51 143 A320 open ? - 11:34-14:51 +0 N648JB - -\nf266 602 FLL-JFK 11:35-14:29 154 A321 open ? - 11:35-14:29 +0 N998JE - -\nf267 1855 BOS-DCA 11:35-13:19 105 A220 open ? - 11:35-13:19 +0 N3261J - -\nf268 2097 ATL-FLL 11:36-13:25 131 A320 open ? - 11:36-13:25 +0 N827JB - -\nf269 1336 DTW-BOS 11:37-13:28 109 A220 open ? - 12:08-13:59 +31 N3247J - -\nf270 417 BOS-JFK 11:40-12:58 105 A220 open ? - 11:40-12:58 +0 N3102J - -\nf271 450 SAV-BOS 11:40-14:09 98 A220 open ? - 11:40-14:09 +0 N3221J - -\nf272 1469 RIC-MCO 11:43-14:00 134 A320 open ? - 11:43-14:00 +0 N793JB - -\nf273 2066 RSW-BOS 11:45-14:56 154 A321 open ? - 11:45-14:56 +0 N996JL - -\nf274 716 BUF-BOS 11:48-13:12 98 A220 open ? - 11:48-13:12 +0 N3156J - -\nf275 513 ISP-FLL 11:50-14:44 139 A320 open ? - 11:50-14:44 +0 N603JB - -\nf276 1438 MCO-BDL 11:56-14:42 162 A321 open ? - 11:56-14:42 +0 N958JB - -\nf277 1420 ATL-JFK 11:58-14:12 119 A220 open ? - 12:28-14:42 +30 N3280J - -\nf278 1700 LAX-FLL 12:00-16:52 135 A321P open ? - 12:00-16:52 +0 N944JT - -\nf279 1823 FLL-MSY 12:00-14:08 98 A220 open ? - 12:00-14:08 +0 N3157J - -\nf280 1985 BOS-PIT 12:05-14:00 91 A220 open ? - 12:05-14:00 +0 N3112J - -\nf281 144 PBI-EWR 12:08-15:00 132 A320 open ? - 12:08-15:00 +0 N570JB - -\nf282 259 BDL-FLL 12:08-15:20 146 A320 open ? - 12:08-15:20 +0 N709JB - -\nf283 544 PBI-ISP 12:09-14:54 114 A320 open ? - 12:09-14:54 +0 N729JB - -\nf284 201 FLL-LAX 12:10-17:57 128 A321P open ? - 12:10-17:57 +0 N982JB - -\nf285 1971 FLL-AUS 12:14-15:25 122 A320 open ? - 12:14-15:25 +0 N508JL - -\nf286 419 JFK-ATL 12:15-14:50 121 A220 open ? - 12:15-14:50 +0 N3195J - -\nf287 1283 JFK-MCO 12:15-15:15 143 A320 open ? - 12:15-15:15 +0 N662JB - -\nf288 2424 MCO-DCA 12:15-14:27 108 A220 open ? - 12:15-14:27 +0 N3062J - -\nf289 2901 BUF-JFK 12:19-13:44 119 A220 open ? - 12:19-13:44 +0 N3260J - -\nf290 48 TPA-LGA 12:20-14:57 127 A320 open ? - 12:20-14:57 +0 N585JB - -\nf291 2103 BDL-RSW 12:20-15:39 138 A320 open ? - 12:20-15:39 +0 N605JB - -\nf292 70 FLL-BOS 12:25-15:39 118 A320 open ? - 12:25-15:39 +0 N630JB - -\nf293 312 ORD-BOS 12:25-14:49 109 A220 open ? - 12:49-15:13 +24 N3271J - -\nf294 1098 MCO-LGA 12:29-15:00 144 A320 open ? - 12:29-15:00 +0 N615JB - -\nf295 223 JFK-LAX 12:30-18:48 138 A321P open ? - 12:30-18:48 +0 N2157J - -\nf296 1201 JFK-FLL 12:30-15:36 147 A320 open ? - 12:30-15:36 +0 N554JB - -\nf297 1761 LGA-PBI 12:30-15:27 144 A320 open ? - 12:30-15:27 +0 N655JB - -\nf298 1954 DCA-BOS 12:30-14:01 101 A220 open ? - 12:30-14:01 +0 N3044J - -\nf299 2275 PHL-FLL 12:30-15:12 135 A320 open ? - 12:30-15:12 +0 N568JB - -\nf300 592 TPA-BOS 12:32-15:30 166 A321 open ? - 12:32-15:30 +0 N952JB - -\nf301 1799 ORF-FLL 12:34-14:58 128 A320 open ? - 12:34-14:58 +0 N789JB - -\nf302 776 MSY-JFK 12:37-15:29 111 A220 open ? - 13:21-16:13 +44 N3232J - -\nf303 551 BOS-MCO 12:39-16:00 143 A320 open ? - 12:39-16:00 +0 N531JL - -\nf304 1068 PBI-HPN 12:40-15:34 113 A320 open ? - 12:40-15:34 +0 N639JB - -\nf305 862 SJU-BOS 12:41-16:54 109 A320 open ? - 12:41-16:54 +0 N706JB - -\nf306 1036 SJU-STT 12:42-13:20 131 A320 open ? - 12:42-13:20 +0 N659JB - -\nf307 169 RIC-MCO 12:43-14:59 124 A320 open ? - 12:43-14:59 +0 N561JB - -\nf308 270 MCO-RIC 12:44-14:42 116 A320 open ? - 12:44-14:42 +0 N794JB - -\nf309 1104 SJU-JFK 12:45-16:48 124 A320 open ? - 12:49-16:52 +4 N534JB - -\nf310 1940 SRQ-BOS 12:45-15:55 114 A220 open ? - 13:12-16:22 +27 N3276J - -\nf311 2020 FLL-ORH 12:45-15:48 118 A320 open ? - 12:45-15:48 +0 N665JB - -\nf312 2064 EYW-BOS 12:45-16:15 83 A220 open ? - 12:45-16:15 +0 N3189J - -\nf313 2166 RSW-BOS 12:45-15:55 108 A220 open ? - 12:45-15:55 +0 N3244J - -\nf314 2802 SYR-JFK 12:45-13:57 133 A321 open ? - 12:52-14:04 +7 N971JT - -\nf315 2052 MCO-BOS 12:50-15:50 155 A321 open ? - 12:50-15:50 +0 N957JB - -\nf316 448 LAS-JFK 12:53-17:51 129 A321P open ? - 13:11-18:09 +18 N2180J - -\nf317 161 BOS-SJU 12:55-16:57 181 A321 open ? - 12:55-16:57 +0 N959JB - -\nf318 465 BOS-RSW 12:55-16:29 144 A320 open ? - 12:55-16:29 +0 N607JB - -\nf319 842 SAV-JFK 12:59-15:05 111 A220 open ? - 12:59-15:05 +0 N3145J - -\nf320 115 JFK-SFO 13:00-19:37 138 A321P open ? - 13:00-19:37 +0 N991JT - -\nf321 1567 HPN-FLL 13:00-16:01 139 A320 open ? - 13:00-16:01 +0 N821JB - -\nf322 1788 BOS-DCA 13:00-14:44 105 A220 open ? - 13:00-14:44 +0 N3169J - -\nf323 1334 SJU-MCO 13:02-16:16 148 A321 open ? - 13:02-16:16 +0 N975JT - -\nf324 126 TPA-JFK 13:14-15:56 145 A320 open ? - 13:14-15:56 +0 N624JB - -\nf325 736 PHX-JFK 13:19-18:00 135 A321P open ? - 13:19-18:00 +0 N4074J - -\nf326 209 BOS-JAX 13:20-16:21 118 A220 open ? - 13:20-16:21 +0 N3185J - -\nf327 1133 MCO-SJU 13:25-16:18 170 A321 open ? - 13:35-16:28 +10 N2060J - -\nf328 416 SFO-JFK 13:28-19:02 138 A321P open ? - 13:28-19:02 +0 N934JB - -\nf329 640 CLE-BOS 13:29-15:13 89 A220 open ? - 13:29-15:13 +0 N3269J - -\nf330 278 LAS-BOS 13:30-18:31 132 A321P open ? - 13:30-18:31 +0 N984JB - -\nf331 533 BDL-TPA 13:30-16:35 142 A320 open ? - 13:30-16:35 +0 N621JB - -\nf332 724 LAX-JFK 13:30-18:58 136 A321P open ? - 13:30-18:58 +0 N929JB - -\nf333 1853 JFK-PBI 13:30-16:32 141 A320 open ? - 13:30-16:32 +0 N552JB - -\nf334 2283 BOS-RDU 13:30-15:41 111 A220 open ? - 13:30-15:41 +0 N3257J - -\nf335 1892 RSW-PVD 13:35-16:30 115 A320 open ? - 14:18-17:13 +43 N623JB - -\nf336 54 PBI-JFK 13:40-16:28 117 A320 open ? - 13:40-16:28 +0 N779JB - -\nf337 517 BOS-JFK 13:40-14:57 105 A220 open ? - 13:40-14:57 +0 N3077J - -\nf338 1138 AUS-BOS 13:42-17:29 139 A320 open ? - 13:42-17:29 +0 N804JB - -\nf339 400 MSY-BOS 13:43-17:00 132 A320 open ? - 13:43-17:00 +0 N705JB - -\nf340 288 LAX-BOS 13:44-19:04 138 A321P open ? - 13:54-19:14 +10 N2105J - -\nf341 471 LGA-FLL 13:45-16:45 148 A320 open ? - 13:45-16:45 +0 N653JB - -\nf342 1186 JFK-ROC 13:45-15:10 109 A220 open ? - 13:45-15:10 +0 N3123J - -\nf343 2254 DCA-BOS 13:45-15:17 101 A220 open ? - 13:45-15:17 +0 N3241J - -\nf344 2784 MCO-JFK 13:45-16:25 157 A321 open ? - 14:20-17:00 +35 N954JB - -\nf345 2204 RSW-BDL 13:46-16:44 130 A320 open ? - 14:43-17:41 +57 N595JB - -\nf346 1716 VRB-JFK 13:49-16:23 74 A320 open ? - 13:49-16:23 +0 N656JB - -\nf347 1298 DEN-JFK 13:50-17:29 103 A220 open ? - 14:27-18:06 +37 N3023J - -\nf348 418 JFK-BOS 13:59-15:14 94 A220 open ? - 13:59-15:14 +0 N3242J - -\nf349 2501 FLL-LAX 13:59-19:45 128 A321P open ? - 15:42-21:28 +103 N980JT - -\nf350 487 BOS-LAX 14:00-20:31 138 A321P open ? - 14:00-20:31 +0 N978JB - -\nf351 499 LGA-MCO 14:00-16:55 129 A220 open ? - 14:48-17:43 +48 N3138J - -\nf352 503 JFK-SJU 14:00-17:53 149 A320 open ? - 14:00-17:53 +0 N763JB - -\nf353 723 JFK-LAX 14:00-20:15 138 A321P open ? - 14:00-20:15 +0 N2151J - -\nf354 759 BOS-PHL 14:00-15:37 106 A220 open ? - 14:00-15:37 +0 N3115J - -\nf355 1069 BOS-FLL 14:00-17:27 147 A320 open ? - 14:00-17:27 +0 N641JB - -\nf356 1214 DFW-BOS 14:00-17:40 118 A220 open ? - 14:20-18:00 +20 N3272J - -\nf357 2940 SJU-STX 14:00-14:43 124 A320 open ? - 14:00-14:43 +0 N652JB - -\nf358 372 FLL-LGA 14:09-16:59 130 A320 open ? - 14:09-16:59 +0 N828JB - -\nf359 1174 BNA-JFK 14:10-16:30 112 A220 open ? - 14:10-16:30 +0 N3058J - -\nf360 1441 BOS-SRQ 14:10-17:31 116 A220 open ? - 14:10-17:31 +0 N3142J - -\nf361 2033 BOS-IAH 14:10-18:48 126 A220 open ? - 14:10-18:48 +0 N3156J - -\nf362 128 MCO-EWR 14:13-17:00 181 A321 open ? - 17:16-20:03 +183 N975JT - -\nf363 23 DCA-PBI 14:15-16:45 112 A220 open ? - 14:15-16:45 +0 N3261J - -\nf364 626 FLL-RDU 14:15-16:20 116 A320 open ? - 14:15-16:20 +0 N586JB - -\nf365 1708 LAS-FLL 14:16-18:58 130 A321P open ? - 14:16-18:58 +0 N945JT - -\nf366 1135 STT-SJU 14:17-14:59 107 A320 open ? - 14:17-14:59 +0 N659JB - -\nf367 1355 BOS-DCA 14:20-16:00 105 A220 open ? - 14:20-16:00 +0 N3113J - -\nf368 2929 RDU-SJU 14:20-17:43 134 A320 open ? - 14:20-17:43 +0 N504JB - -\nf369 1085 BUF-MCO 14:21-17:05 140 A320 open ? - 14:21-17:05 +0 N645JB - -\nf370 1874 LAX-EWR 14:22-19:34 133 A321P open ? - 14:22-19:34 +0 N937JB - -\nf371 1785 BOS-PIT 14:23-16:19 91 A220 open ? - 14:23-16:19 +0 N3194J - -\nf372 2832 LAS-MCO 14:23-19:10 118 A321P open ? - 14:23-19:10 +0 N992JB - -\nf373 221 BOS-PBI 14:25-17:47 120 A220 open ? - 14:25-17:47 +0 N3104J - -\nf374 2116 SFO-JFK 14:27-19:59 124 A321P open ? - 14:38-20:10 +11 N935JB - -\nf375 595 HPN-MCO 14:30-17:20 134 A320 open ? - 14:30-17:20 +0 N646JB - -\nf376 1141 BDL-PBI 14:30-17:35 136 A320 open ? - 14:30-17:35 +0 N505JB - -\nf377 1202 JFK-BUF 14:30-15:59 111 A220 open ? - 14:30-15:59 +0 N3132J - -\nf378 24 PBI-DCA 14:35-17:00 87 A220 open ? - 14:35-17:00 +0 N3267J - -\nf379 1432 IAH-BOS 14:36-18:18 109 A220 open ? - 14:36-18:18 +0 N3152J - -\nf380 920 SAN-BOS 14:38-20:14 136 A321P open ? - 14:38-20:14 +0 N969JT - -\nf381 253 FLL-SJU 14:40-17:13 139 A320 open ? - 14:40-17:13 +0 N618JB - -\nf382 1004 SJU-JFK 14:40-18:45 124 A320 open ? - 14:40-18:45 +0 N658JB - -\nf383 822 PBI-BOS 14:42-17:54 120 A320 open ? - 14:42-17:54 +0 N636JB - -\nf384 2474 CHS-JFK 14:43-16:43 99 A220 open ? - 14:43-16:43 +0 N3275J - -\nf385 1734 SFO-BOS 14:45-20:19 133 A321P open ? - 14:45-20:19 +0 N2169J - -\nf386 1875 PVD-MCO 14:45-17:54 133 A320 open ? - 17:58-21:07 +193 N623JB - -\nf387 2098 FLL-ATL 14:45-16:38 121 A320 open ? - 14:45-16:38 +0 N590JB - -\nf388 125 JFK-TPA 14:49-17:53 147 A320 open ? - 14:49-17:53 +0 N643JB - -\nf389 2884 MCO-JFK 14:50-17:29 118 A320 open ? - 14:50-17:29 +0 N564JB - -\nf390 2966 FLL-BUF 14:50-17:50 143 A320 open ? - 14:50-17:50 +0 N760JB - -\nf391 2324 MCO-DCA 14:54-17:04 108 A220 open ? - 14:54-17:04 +0 N3118J - -\nf392 860 PHX-FLL 14:55-19:02 134 A321P open ? - 14:55-19:02 +0 N976JT - -\nf393 1500 DAB-BOS 14:55-17:53 81 A220 open ? - 14:55-17:53 +0 N3255J - -\nf394 1986 PIT-BOS 14:55-16:33 95 A220 open ? - 14:55-16:33 +0 N3112J - -\nf395 451 BOS-MCO 14:59-18:21 176 A321 open ? - 14:59-18:21 +0 N999JQ - -\nf396 2377 JFK-JAX 14:59-17:37 121 A220 open ? - 14:59-17:37 +0 N3258J - -\nf397 1468 PBI-HPN 15:00-17:55 113 A320 open ? - 15:00-17:55 +0 N569JB - -\nf398 1343 MHT-FLL 15:02-18:25 110 A320 open ? - 15:02-18:25 +0 N649JB - -\nf399 2143 EWR-PBI 15:02-17:50 135 A320 open ? - 15:45-18:33 +43 N570JB - -\nf400 330 MCO-BQN 15:05-17:47 136 A320 open ? - 15:05-17:47 +0 N556JB - -\nf401 1232 VRB-BOS 15:05-18:02 70 A220 open ? - 15:05-18:02 +0 N3215J - -\nf402 2722 MSY-FLL 15:09-17:00 107 A220 open ? - 15:09-17:00 +0 N3157J - -\nf403 164 SRQ-JFK 15:10-18:00 108 A220 open ? - 15:10-18:00 +0 N3196J - -\nf404 1067 HPN-PBI 15:11-18:02 135 A320 open ? - 15:11-18:02 +0 N591JB - -\nf405 2485 JFK-RDU 15:12-16:56 112 A220 open ? - 15:12-16:56 +0 N3065J - -\nf406 1030 RSW-JFK 15:14-18:04 120 A320 open ? - 15:14-18:04 +0 N559JB - -\nf407 1470 MCO-RIC 15:15-17:16 126 A320 open ? - 15:15-17:16 +0 N746JB - -\nf408 2370 FLL-BOS 15:15-18:30 118 A320 open ? - 15:15-18:30 +0 N796JB - -\nf409 800 LAX-FLL 15:25-20:20 135 A321P open ? - 15:25-20:20 +0 N961JT - -\nf410 1752 SJU-TPA 15:25-18:39 123 A320 open ? - 15:25-18:39 +0 N657JB - -\nf411 1801 JFK-FLL 15:29-18:37 182 A321 open ? - 15:29-18:37 +0 N2038J - -\nf412 394 DEN-BOS 15:30-19:16 119 A320 open ? - 15:30-19:16 +0 N651JB - -\nf413 618 JFK-BOS 15:30-16:47 94 A220 open ? - 15:30-16:47 +0 N3162J - -\nf414 83 JFK-MCO 15:34-18:30 176 A321 open ? - 15:34-18:30 +0 N955JB - -\nf415 2102 FLL-JFK 15:35-18:30 125 A320 open ? - 15:35-18:30 +0 N827JB - -\nf416 969 RIC-MCO 15:37-17:50 124 A320 open ? - 15:37-17:50 +0 N794JB - -\nf417 1492 TPA-BOS 15:37-18:37 166 A321 open ? - 15:46-18:46 +9 N950JT - -\nf418 2941 STX-SJU 15:38-16:26 108 A320 open ? - 15:38-16:26 +0 N652JB - -\nf419 424 LAX-JFK 15:40-21:00 117 A321P open ? - 15:40-21:00 +0 N943JT - -\nf420 717 BOS-JFK 15:40-16:57 105 A220 open ? - 15:40-16:57 +0 N3247J - -\nf421 1354 DCA-BOS 15:40-17:18 101 A220 open ? - 15:40-17:18 +0 N3062J - -\nf422 452 MCO-BOS 15:42-18:44 126 A320 open ? - 15:42-18:44 +0 N520JB - -\nf423 520 ATL-JFK 15:42-17:58 119 A220 open ? - 15:42-17:58 +0 N3195J - -\nf424 1338 MCO-BDL 15:42-18:30 131 A320 open ? - 15:42-18:30 +0 N519JB - -\nf425 107 FLL-LAS 15:45-21:22 125 A321P open ? - 16:05-21:42 +20 N2156J - -\nf426 333 BOS-SFO 15:45-22:34 138 A321P open ? - 15:45-22:34 +0 N4073J - -\nf427 449 BOS-BNA 15:45-18:49 113 A220 open ? - 15:45-18:49 +0 N3044J - -\nf428 915 BOS-BUF 15:45-17:24 109 A220 open ? - 15:45-17:24 +0 N3221J - -\nf429 606 FLL-EWR 15:48-18:50 135 A320 open ? - 15:48-18:50 +0 N521JB - -\nf430 545 ISP-PBI 15:49-18:40 141 A320 open ? - 15:49-18:40 +0 N729JB - -\nf431 19 BOS-SAN 15:50-22:21 138 A321P open ? - 15:50-22:21 +0 N985JT - -\nf432 127 EWR-MCO 15:50-18:48 150 A320 open ? - 19:35-22:33 +225 N521JB - -\nf433 761 LGA-PBI 15:50-18:53 144 A320 open ? - 15:50-18:53 +0 N585JB - -\nf434 1081 BOS-RIC 15:50-17:47 94 A220 open ? - 15:58-17:55 +8 N3269J - -\nf435 1401 BOS-MSY 15:53-19:47 138 A320 open ? - 15:53-19:47 +0 N580JB - -\nf436 1189 JFK-SAN 15:55-22:11 138 A321P open ? - 15:55-22:11 +0 N946JL - -\nf437 1454 SJU-FLL 15:55-18:45 125 A320 open ? - 15:55-18:45 +0 N597JB - -\nf438 1579 DCA-FLL 15:55-18:38 127 A220 open ? - 15:55-18:38 +0 N3169J - -\nf439 1371 LGA-FLL 15:59-19:09 137 A320 open ? - 15:59-19:09 +0 N615JB - -\nf440 2322 PBI-BOS 16:00-19:12 120 A320 open ? - 16:00-19:12 +0 N633JB - -\nf441 1285 ROC-JFK 16:05-17:29 121 A220 open ? - 16:05-17:29 +0 N3123J - -\nf442 2783 BOS-RDU 16:08-18:20 111 A220 open ? - 16:08-18:20 +0 N3271J - -\nf443 301 FLL-LAX 16:10-21:55 128 A321P open ? - 17:20-23:05 +70 N923JB - -\nf444 656 MCO-SYR 16:10-18:57 138 A320 open ? - 16:10-18:57 +0 N793JB - -\nf445 1694 MCO-HPN 16:10-18:56 114 A320 open ? - 16:10-18:56 +0 N535JB - -\nf446 494 MCO-EWR 16:13-18:59 147 A320 open ? - 16:13-18:59 +0 N565JB - -\nf447 2055 BOS-DCA 16:15-18:04 105 A220 open ? - 16:15-18:04 +0 N3242J - -\nf448 390 SJU-EWR 16:20-20:30 139 A320 open ? - 16:20-20:30 +0 N606JB - -\nf449 1972 AUS-FLL 16:20-18:59 125 A320 open ? - 16:20-18:59 +0 N508JL - -\nf450 1880 FLL-DCA 16:25-18:55 110 A220 open ? - 16:25-18:55 +0 N3125J - -\nf451 995 HPN-MCO 16:29-19:21 134 A320 open ? - 16:29-19:21 +0 N639JB - -\nf452 524 LAX-JFK 16:30-21:50 135 A321P open ? - 16:30-21:50 +0 N947JB - -\nf453 615 JFK-SFO 16:30-23:10 138 A321P open ? - 16:30-23:10 +0 N2193J - -\nf454 714 FLL-HPN 16:30-19:30 124 A320 open ? - 16:30-19:30 +0 N784JB - -\nf455 353 FLL-SJU 16:31-19:03 139 A320 open ? - 16:31-19:03 +0 N598JB - -\nf456 760 PHL-BOS 16:32-17:54 94 A220 open ? - 16:32-17:54 +0 N3115J - -\nf457 1437 BDL-MCO 16:34-19:37 175 A321 open ? - 16:34-19:37 +0 N958JB - -\nf458 220 JFK-ATL 16:35-19:12 121 A220 open ? - 16:35-19:12 +0 N3203J - -\nf459 1097 BOS-ATL 16:35-19:35 121 A220 open ? - 16:35-19:35 +0 N3241J - -\nf460 2184 RDU-BOS 16:36-18:37 108 A220 open ? - 16:36-18:37 +0 N3257J - -\nf461 348 LAS-JFK 16:39-21:31 130 A321P open ? - 16:39-21:31 +0 N990JL - -\nf462 388 LAX-BOS 16:40-22:05 138 A321P open ? - 16:40-22:05 +0 N983JT - -\nf463 1962 PBI-LGA 16:40-19:33 126 A320 open ? - 16:40-19:33 +0 N655JB - -\nf464 2023 JFK-LAX 16:45-23:01 122 A321P open ? - 16:45-23:01 +0 N4062J - -\nf465 2134 SJU-MCO 16:47-20:00 120 A320 open ? - 16:47-20:00 +0 N659JB - -\nf466 349 BOS-SAV 16:50-19:38 99 A220 open ? - 16:50-19:38 +0 N3244J - -\nf467 21 BOS-PBI 16:55-20:14 139 A320 open ? - 16:55-20:14 +0 N630JB - -\nf468 1787 DCA-BOS 16:55-18:33 101 A220 open ? - 16:55-18:33 +0 N3113J - -\nf469 2602 SJU-HPN 16:55-21:00 104 A320 open ? - 16:55-21:00 +0 N563JB - -\nf470 2119 ORH-FLL 16:56-20:15 126 A320 open ? - 16:56-20:15 +0 N665JB - -\nf471 290 SAN-JFK 16:57-22:14 135 A321P open ? - 16:57-22:14 +0 N2188J - -\nf472 100 LAX-FLL 16:59-21:55 135 A321P open ? - 16:59-21:55 +0 N4080J - -\nf473 170 FLL-BOS 17:00-20:14 118 A320 open ? - 17:00-20:14 +0 N603JB - -\nf474 369 BOS-PHX 17:00-23:01 169 A321 open ? - 17:00-23:01 +0 N952JB - -\nf475 501 BUF-JFK 17:00-18:30 119 A220 open ? - 17:00-18:30 +0 N3132J - -\nf476 753 JFK-PBI 17:00-19:57 141 A320 open ? - 17:00-19:57 +0 N806JB - -\nf477 1903 JFK-SJU 17:00-20:54 149 A320 open ? - 17:00-20:54 +0 N703JB - -\nf478 2737 BOS-DTW 17:00-19:22 110 A220 open ? - 17:00-19:22 +0 N3189J - -\nf479 383 JFK-MCO 17:05-20:04 176 A321 open ? - 17:05-20:04 +0 N971JT - -\nf480 625 RDU-FLL 17:10-19:17 135 A320 open ? - 17:10-19:17 +0 N586JB - -\nf481 1786 PIT-BOS 17:14-18:55 95 A220 open ? - 17:14-18:55 +0 N3194J - -\nf482 1410 JAX-BOS 17:16-19:55 112 A220 open ? - 17:16-19:55 +0 N3185J - -\nf483 2476 SJU-BDL 17:21-21:22 119 A320 open ? - 17:21-21:22 +0 N652JB - -\nf484 1273 JFK-CHS 17:22-19:39 106 A220 open ? - 17:22-19:39 +0 N3102J - -\nf485 1033 MCO-SJU 17:26-20:20 138 A320 open ? - 17:26-20:20 +0 N537JT - -\nf486 575 JFK-MSY 17:29-21:05 116 A220 open ? - 17:29-21:05 +0 N3240J - -\nf487 811 BOS-ORD 17:29-20:43 114 A220 open ? - 17:29-20:43 +0 N3276J - -\nf488 178 LAS-BOS 17:30-22:30 132 A321P open ? - 17:30-22:30 +0 N977JE - -\nf489 1729 JFK-RSW 17:30-20:45 124 A220 open ? - 17:30-20:45 +0 N3260J - -\nf490 2009 PBI-LAX 17:30-23:10 100 A321P open ? - 17:30-23:10 +0 N968JT - -\nf491 1697 ATL-FLL 17:35-19:28 131 A320 open ? - 17:35-19:28 +0 N590JB - -\nf492 2202 FLL-JFK 17:35-20:30 125 A320 open ? - 17:35-20:30 +0 N789JB - -\nf493 1812 RSW-EWR 17:37-20:30 137 A320 open ? - 17:37-20:30 +0 N605JB - -\nf494 272 FLL-LGA 17:40-20:34 130 A320 open ? - 17:40-20:34 +0 N589JB - -\nf495 1124 LAX-JFK 17:40-22:55 135 A321P open ? - 17:40-22:55 +0 N964JT - -\nf496 1348 SJU-DCA 17:40-21:37 150 A321 open ? - 17:40-21:37 +0 N2060J - -\nf497 1424 PBI-DCA 17:40-20:07 87 A220 open ? - 17:40-20:07 +0 N3261J - -\nf498 1475 BDL-SJU 17:40-21:31 142 A320 open ? - 18:26-22:17 +46 N595JB - -\nf499 391 BOS-TPA 17:45-21:16 142 A320 open ? - 17:45-21:16 +0 N706JB - -\nf500 541 BOS-CLE 17:45-19:57 98 A220 open ? - 17:45-19:57 +0 N3112J - -\nf501 1751 TPA-SJU 17:50-20:40 134 A320 open ? - 17:50-20:40 +0 N621JB - -\nf502 2486 RDU-JFK 17:51-19:29 120 A220 open ? - 17:51-19:29 +0 N3065J - -\nf503 2071 FLL-BQN 17:55-20:18 120 A320 open ? - 17:55-20:18 +0 N568JB - -\nf504 2754 DCA-BOS 17:59-19:36 101 A220 open ? - 17:59-19:36 +0 N3267J - -\nf505 652 MCO-BOS 18:00-21:02 155 A321 open ? - 18:40-21:42 +40 N2029J - -\nf506 838 JFK-BQN 18:00-21:50 145 A320 open ? - 18:00-21:50 +0 N775JB - -\nf507 1586 MCO-BUF 18:00-20:42 129 A320 open ? - 18:00-20:42 +0 N579JB - -\nf508 2255 BOS-DCA 18:00-19:52 105 A220 open ? - 18:00-19:52 +0 N3162J - -\nf509 2523 DCA-MCO 18:00-20:29 125 A220 open ? - 18:00-20:29 +0 N3118J - -\nf510 2715 JFK-LAX 18:00-00:14+1 138 A321P open ? - 18:00-00:14+1 +0 N987JT - -\nf511 1827 EWR-MCO 18:05-21:05 187 A321 open ? - 21:03-00:03+1 +178 N975JT - -\nf512 2144 PBI-EWR 18:07-21:00 132 A320 open ? - 18:07-21:00 +0 N552JB - -\nf513 1462 SJU-BOS 18:10-22:18 134 A321 open ? - 18:10-22:18 +0 N959JB - -\nf514 145 RIC-FLL 18:11-20:40 141 A320 open ? - 18:11-20:40 +0 N746JB - -\nf515 607 FLL-LAS 18:15-23:42 125 A321P open ? - 18:15-23:42 +0 N942JB - -\nf516 2919 MCO-ALB 18:15-21:08 133 A320 open ? - 18:15-21:08 +0 N648JB - -\nf517 2826 TPA-JFK 18:16-21:00 145 A320 open ? - 18:16-21:00 +0 N805JB - -\nf518 916 BUF-BOS 18:19-19:45 98 A220 open ? - 18:19-19:45 +0 N3221J - -\nf519 334 SFO-BOS 18:20-23:51 133 A321P open ? - 18:20-23:51 +0 N993JE - -\nf520 2467 BOS-CHS 18:22-21:00 110 A220 open ? - 18:22-21:00 +0 N3149J - -\nf521 165 BOS-RSW 18:25-22:04 144 A320 open ? - 18:25-22:04 +0 N705JB - -\nf522 1344 FLL-MHT 18:25-21:32 93 A320 open ? - 18:25-21:32 +0 N709JB - -\nf523 47 LGA-TPA 18:30-21:34 148 A320 open ? - 18:30-21:34 +0 N828JB - -\nf524 454 PBI-JFK 18:30-21:14 117 A320 open ? - 18:30-21:14 +0 N505JB - -\nf525 1183 JFK-MCO 18:30-21:27 132 A320 open ? - 18:30-21:27 +0 N527JL - -\nf526 2378 JAX-JFK 18:33-20:55 120 A220 open ? - 18:33-20:55 +0 N3258J - -\nf527 1440 SRQ-BOS 18:34-21:42 114 A220 open ? - 18:34-21:42 +0 N3142J - -\nf528 1088 FLL-ALB 18:35-21:36 124 A320 open ? - 18:35-21:36 +0 N554JB - -\nf529 1252 RSW-HPN 18:35-21:30 122 A320 open ? - 18:35-21:30 +0 N607JB - -\nf530 526 SJU-PVD 18:38-22:48 97 A320 open ? - 18:38-22:48 +0 N618JB - -\nf531 1754 SJU-FLL 18:38-21:28 125 A320 open ? - 18:38-21:28 +0 N504JB - -\nf532 1151 BOS-MCO 18:40-22:03 176 A321 open ? - 18:40-22:03 +0 N957JB - -\nf533 1453 FLL-SJU 18:40-21:14 139 A320 open ? - 18:40-21:14 +0 N821JB - -\nf534 2124 LAX-JFK 18:40-23:55 135 A321P open ? - 18:40-23:55 +0 N2142J - -\nf535 2266 RSW-BOS 18:40-21:51 125 A320 open ? - 18:40-21:51 +0 N506JB - -\nf536 1182 RIC-BOS 18:44-20:27 95 A220 open ? - 18:44-20:27 +0 N3269J - -\nf537 329 BQN-MCO 18:45-21:47 126 A320 open ? - 18:45-21:47 +0 N556JB - -\nf538 918 JFK-BOS 18:45-20:07 94 A220 open ? - 18:45-20:07 +0 N3280J - -\nf539 1687 PBI-PVD 18:45-21:38 116 A320 open ? - 18:47-21:40 +2 N591JB - -\nf540 2965 BUF-FLL 18:45-21:49 149 A320 open ? - 18:45-21:49 +0 N760JB - -\nf541 857 FLL-PHX 18:49-23:59 125 A321P open ? - 18:49-23:59 +0 N944JT - -\nf542 1701 JFK-FLL 18:50-22:00 147 A320 open ? - 18:50-22:00 +0 N571JB - -\nf543 1876 MCO-PVD 18:50-21:39 131 A320 open ? - 18:50-21:39 +0 N561JB - -\nf544 2185 BOS-PIT 18:50-20:48 91 A220 open ? - 18:50-20:48 +0 N3062J - -\nf545 2404 SJU-JFK 18:50-22:53 124 A320 open ? - 18:50-22:53 +0 N763JB - -\nf546 102 JFK-BUF 18:55-20:30 111 A220 open ? - 18:55-20:30 +0 N3145J - -\nf547 1248 TPA-LGA 18:55-21:30 137 A320 open ? - 18:55-21:30 +0 N643JB - -\nf548 22 PBI-BOS 18:59-22:06 104 A220 open ? - 18:59-22:06 +0 N3104J - -\nf549 735 JFK-PHX 18:59-00:44+1 138 A321P open ? - 18:59-00:44+1 +0 N986JB - -\nf550 2854 DCA-BOS 18:59-20:29 101 A220 open ? - 18:59-20:29 +0 N3242J - -\nf551 613 HPN-FLL 19:00-22:02 139 A320 open ? - 19:00-22:02 +0 N569JB - -\nf552 783 BOS-RDU 19:00-21:12 111 A220 open ? - 19:00-21:12 +0 N3255J - -\nf553 62 PBI-LGA 19:03-21:50 126 A320 open ? - 19:18-22:05 +15 N570JB - -\nf554 868 FLL-HPN 19:03-22:00 114 A320 open ? - 19:03-22:00 +0 N524JB - -\nf555 111 JFK-LAS 19:10-00:59+1 132 A321P open ? - 19:10-00:59+1 +0 N967JT - -\nf556 200 LAX-FLL 19:10-23:59 135 A321P open ? - 19:10-23:59 +0 N982JB - -\nf557 866 FLL-BUF 19:10-22:12 143 A320 open ? - 19:10-22:12 +0 N653JB - -\nf558 1677 JFK-JAX 19:10-21:51 121 A220 open ? - 19:10-21:51 +0 N3232J - -\nf559 998 MCO-LGA 19:15-21:53 133 A320 open ? - 19:15-21:53 +0 N662JB - -\nf560 1484 RDU-BOS 19:15-21:16 108 A220 open ? - 19:15-21:16 +0 N3271J - -\nf561 2355 BOS-DCA 19:15-21:03 105 A220 open ? - 19:15-21:03 +0 N3115J - -\nf562 828 MCO-EWR 19:17-22:00 136 A320 open ? - 19:17-22:00 +0 N531JL - -\nf563 721 BOS-PBI 19:20-22:39 139 A320 open ? - 19:20-22:39 +0 N636JB - -\nf564 561 BOS-SJU 19:22-23:22 181 A321 open ? - 19:22-23:22 +0 N970JB - -\nf565 605 EWR-FLL 19:25-22:31 150 A320 open ? - 19:44-22:50 +19 N565JB - -\nf566 2053 JFK-PBI 19:25-22:25 141 A320 open ? - 19:25-22:25 +0 N624JB - -\nf567 71 JFK-SLC 19:30-00:56+1 119 A220 open ? - 19:30-00:56+1 +0 N3058J - -\nf568 97 JFK-DEN 19:30-00:07+1 115 A220 open ? - 19:30-00:07+1 +0 N3275J - -\nf569 719 JFK-ATL 19:30-22:07 121 A220 open ? - 19:30-22:07 +0 N3247J - -\nf570 973 JFK-BNA 19:30-22:07 115 A220 open ? - 19:30-22:07 +0 N3123J - -\nf571 1192 TPA-BOS 19:35-22:35 135 A320 open ? - 19:35-22:35 +0 N657JB - -\nf572 884 MCO-JFK 19:40-22:20 157 A321 open ? - 19:40-22:20 +0 N999JQ - -\nf573 1369 BOS-FLL 19:40-23:09 147 A320 open ? - 19:40-23:09 +0 N804JB - -\nf574 767 MCO-PSE 19:43-22:33 128 A320 open ? - 19:43-22:33 +0 N645JB - -\nf575 932 IAH-BOS 19:45-23:26 109 A220 open ? - 19:45-23:26 +0 N3156J - -\nf576 1368 PBI-HPN 19:48-22:37 113 A320 open ? - 19:48-22:37 +0 N729JB - -\nf577 1017 BOS-JFK 19:50-21:14 105 A220 open ? - 19:50-21:14 +0 N3272J - -\nf578 1134 SJU-MCO 19:50-22:58 120 A320 open ? - 19:50-22:58 +0 N584JB - -\nf579 1150 BNA-BOS 19:50-22:23 111 A220 open ? - 19:50-22:23 +0 N3044J - -\nf580 415 BOS-BUF 19:51-21:30 109 A220 open ? - 19:51-21:30 +0 N3215J - -\nf581 1979 DCA-FLL 19:51-22:28 127 A220 open ? - 19:51-22:28 +0 N3125J - -\nf582 655 SYR-MCO 19:52-22:55 141 A320 open ? - 19:52-22:55 +0 N793JB - -\nf583 195 HPN-MCO 20:00-22:45 124 A320 open ? - 20:00-22:45 +0 N535JB - -\nf584 225 JFK-TPA 20:00-23:08 147 A320 open ? - 20:00-23:08 +0 N656JB - -\nf585 470 FLL-BOS 20:00-23:11 118 A320 open ? - 20:00-23:11 +0 N593JB - -\nf586 596 FLL-PVD 20:00-22:59 119 A320 open ? - 20:00-22:59 +0 N558JB - -\nf587 1185 JFK-RDU 20:00-21:51 112 A220 open ? - 20:00-21:51 +0 N3195J - -\nf588 2105 JFK-ORD 20:00-22:52 110 A220 open ? - 20:00-22:52 +0 N3077J - -\nf589 2271 FLL-AUS 20:00-23:08 122 A320 open ? - 20:00-23:08 +0 N640JB - -\nf590 2008 FLL-PIT 20:05-22:41 75 A220 open ? - 20:05-22:41 +0 N3157J - -\nf591 1459 BOS-PHL 20:06-21:48 106 A220 open ? - 20:06-21:48 +0 N3152J - -\nf592 993 BOS-DEN 20:07-00:59+1 140 A320 open ? - 20:07-00:59+1 +0 N796JB - -\nf593 277 FLL-SFO 20:10-02:35+1 128 A321P open ? - 20:10-02:35+1 +0 N945JT - -\nf594 572 FLL-LGA 20:10-23:02 112 A220 open ? - 20:10-23:02 +0 N3169J - -\nf595 706 FLL-EWR 20:10-23:05 125 A320 open ? - 20:10-23:05 +0 N641JB - -\nf596 819 ATL-JFK 20:10-22:29 119 A220 open ? - 20:10-22:29 +0 N3203J - -\nf597 2080 FLL-DCA 20:10-22:39 128 A320 open ? - 20:10-22:39 +0 N523JB - -\nf598 2626 FLL-RDU 20:10-22:17 116 A320 open ? - 20:10-22:17 +0 N766JB - -\nf599 1723 JFK-LAX 20:12-02:29+1 138 A321P open ? - 20:12-02:29+1 +0 N4074J - -\nf600 733 BOS-SFO 20:14-02:59+1 138 A321P open ? - 20:14-02:59+1 +0 N984JB - -\nf601 1902 FLL-JFK 20:15-23:06 154 A321 open ? - 20:15-23:06 +0 N2038J - -\nf602 2615 JFK-SFO 20:15-02:58+1 138 A321P open ? - 20:15-02:58+1 +0 N2180J - -\nf603 2823 FLL-MSY 20:15-22:20 113 A320 open ? - 20:15-22:20 +0 N649JB - -\nf604 101 FLL-LAX 20:18-02:05+1 128 A321P open ? - 20:18-02:05+1 +0 N976JT - -\nf605 430 MCO-BQN 20:18-23:01 147 A320 open ? - 20:18-23:01 +0 N646JB - -\nf606 1294 MCO-HPN 20:20-23:01 124 A320 open ? - 20:20-23:01 +0 N517JB - -\nf607 2736 DTW-BOS 20:20-22:09 109 A220 open ? - 20:20-22:09 +0 N3189J - -\nf608 2821 MCO-LAS 20:20-01:49+1 110 A321P open ? - 20:20-01:49+1 +0 N992JB - -\nf609 371 LGA-FLL 20:25-23:27 148 A320 open ? - 20:25-23:27 +0 N655JB - -\nf610 376 FLL-PHL 20:30-23:13 120 A320 open ? - 20:30-23:13 +0 N632JB - -\nf611 896 ATL-BOS 20:30-22:56 118 A220 open ? - 20:30-22:56 +0 N3241J - -\nf612 1146 FLL-RIC 20:30-22:45 117 A320 open ? - 20:30-22:45 +0 N597JB - -\nf613 1367 HPN-PBI 20:30-23:16 135 A320 open ? - 20:30-23:16 +0 N784JB - -\nf614 1481 BOS-RIC 20:30-22:26 94 A220 open ? - 20:30-22:26 +0 N3113J - -\nf615 1905 FLL-TPA 20:30-21:36 84 A320 open ? - 20:30-21:36 +0 N508JL - -\nf616 2369 BOS-FLL 20:30-23:59 147 A320 open ? - 20:30-23:59 +0 N520JB - -\nf617 250 SAV-BOS 20:34-22:59 98 A220 open ? - 20:34-22:59 +0 N3244J - -\nf618 2468 CHS-BOS 20:40-22:56 115 A220 open ? - 20:40-22:56 +0 N3102J - -\nf619 1400 MSY-BOS 20:42-23:52 132 A320 open ? - 20:42-23:52 +0 N580JB - -\nf620 1873 EWR-LAX 20:44-02:59+1 132 A321P open ? - 20:44-02:59+1 +0 N937JB - -\nf621 820 JFK-DTW 20:45-22:57 105 A220 open ? - 20:45-22:57 +0 N3196J - -\nf622 2133 MCO-SJU 20:46-23:38 138 A320 open ? - 20:46-23:38 +0 N794JB - -\nf623 2354 DCA-BOS 20:49-22:25 101 A220 open ? - 20:49-22:25 +0 N3162J - -\nf624 206 BOS-PQI 20:55-22:22 57 A220 open ? - 20:55-22:22 +0 N3257J - -\nf625 540 CLE-BOS 20:55-22:41 89 A220 open ? - 20:55-22:41 +0 N3112J - -\nf626 668 PBI-HPN 20:55-23:44 113 A320 open ? - 20:55-23:44 +0 N585JB - -\nf627 1798 FLL-ATL 20:55-22:46 121 A320 open ? - 20:55-22:46 +0 N615JB - -\nf628 177 BOS-LAS 20:59-02:58+1 135 A321P open ? - 20:59-02:58+1 +0 N2105J - -\nf629 460 FLL-BDL 20:59-23:59 133 A320 open ? - 20:59-23:59 +0 N586JB - -\nf630 423 JFK-LAX 21:15-03:38+1 138 A321P open ? - 21:15-03:38+1 +0 N929JB - -\nf631 2072 BQN-FLL 21:15-23:51 96 A320 open ? - 21:15-23:51 +0 N568JB - -\nf632 187 BOS-LAX 21:24-03:53+1 138 A321P open ? - 21:24-03:53+1 +0 N969JT - -\nf633 845 BOS-SYR 21:25-22:47 81 A220 open ? - 21:25-22:47 +0 N3194J - -\nf634 1199 LGA-MCO 21:30-00:20+1 149 A320 open ? - 21:30-00:20+1 +0 N589JB - -\nf635 1434 SJU-MCO 21:30-00:37+1 120 A320 open ? - 21:30-00:37+1 +0 N598JB - -\nf636 1012 ORD-BOS 21:38-00:06+1 109 A220 open ? - 21:38-00:06+1 +0 N3276J - -\nf637 486 JFK-ROC 21:45-23:15 109 A220 open ? - 21:45-23:15 +0 N3023J - -\nf638 675 JFK-BDL 21:45-22:42 63 A320 open ? - 21:45-22:42 +0 N779JB - -\nf639 1887 JFK-DCA 21:45-22:59 86 A220 open ? - 21:45-22:59 +0 N3132J - -\nf640 1195 JFK-PIT 21:59-23:42 99 A320 open ? - 21:59-23:42 +0 N534JB - -\nf641 2516 JFK-SYR 22:28-23:47 84 A320 open ? - 22:28-23:47 +0 N564JB - -\nf642 1118 JFK-BOS 22:45-00:03+1 94 A220 open ? - 22:45-00:03+1 +0 N3065J - -\nf643 1128 JFK-PVD 22:45-23:50 62 A320 open ? - 22:45-23:50 +0 N559JB - -\nf644 403 JFK-SJU 22:59-02:48+1 184 A321 open ? - 22:59-02:48+1 +0 N998JE - -\nf645 1524 LAX-JFK 23:29-04:43+1 135 A321P open ? - 23:29-04:43+1 +0 N978JB - -\nf646 2120 SAN-BOS 23:31-05:02+1 136 A321P open ? - 23:31-05:02+1 +0 N946JL - -\nf647 1574 LAX-EWR 23:46-05:00+1 133 A321P open ? - 23:46-05:00+1 +0 N980JT - -\nf648 1216 SFO-JFK 00:00+1-05:20+1 138 A321P open ? - 00:00+1-05:20+1 +0 N991JT - -\nf649 1190 SAN-JFK 00:05+1-05:20+1 135 A321P open ? - 00:05+1-05:20+1 +0 N985JT - -\nf650 2178 LAS-BOS 00:06+1-05:01+1 132 A321P open ? - 00:06+1-05:01+1 +0 N2156J - -\nf651 734 SFO-BOS 00:16+1-05:50+1 133 A321P open ? - 00:16+1-05:50+1 +0 N962JT - -\nf652 870 PHX-BOS 00:20+1-05:01+1 140 A321 open ? - 00:20+1-05:01+1 +0 N952JB - -\nf653 1824 LAX-JFK 00:34+1-05:52+1 117 A321P open ? - 00:34+1-05:52+1 +0 N4062J - -\nf654 378 SFO-FLL 00:44+1-06:01+1 138 A321P open ? - 00:44+1-06:01+1 +0 N4073J - -\nf655 988 LAX-BOS 00:56+1-06:25+1 138 A321P open ? - 00:56+1-06:25+1 +0 N923JB - -\nf656 2822 LAS-MCO 01:05+1-05:40+1 118 A321P open ? - 01:05+1-05:40+1 +0 N942JB - -\nf657 98 DEN-JFK 01:28+1-05:00+1 103 A220 open ? - 01:28+1-05:00+1 +0 N3275J - -\nf658 858 PHX-FLL 01:30+1-05:29+1 134 A321P open ? - 01:30+1-05:29+1 +0 N944JT - -\nf659 2724 LAX-JFK 01:40+1-07:00+1 136 A321P open ? - 01:40+1-07:00+1 +0 N968JT - -\nf660 616 SFO-JFK 01:41+1-07:00+1 138 A321P open ? - 01:41+1-07:00+1 +0 N2193J - -\nf661 700 LAX-FLL 01:45+1-06:38+1 135 A321P open ? - 01:45+1-06:38+1 +0 N2157J - -\nf662 72 SLC-JFK 01:51+1-06:11+1 110 A220 open ? - 01:51+1-06:11+1 +0 N3058J - -\nf663 36 PHX-JFK 01:59+1-06:31+1 135 A321P open ? - 01:59+1-06:31+1 +0 N986JB - -\nf664 994 DEN-BOS 01:59+1-05:44+1 119 A320 open ? - 01:59+1-05:44+1 +0 N796JB - -\nf665 324 LAX-JFK 02:35+1-07:58+1 135 A321P open ? - 02:35+1-07:58+1 +0 N987JT - -\nf666 608 LAS-FLL 02:59+1-07:29+1 130 A321P open ? - 02:59+1-07:29+1 +0 N967JT - -\n\n## Aircraft now, as your plan has them (@ = ready at)\nJFK: N2038J@09:35 N2059J N2060J@05:00 N2142J@07:10 N2151J@11:50 N2157J@09:16 N2180J N2188J@06:17 N3044J N3065J@07:14 N3203J N3240J@05:31 N3257J@07:29 N4062J@15:35 N4074J N4080J@05:49 N527JL@14:04 N537JT N559JB@07:15 N570JB N585JB N636JB@07:00 N656JB@06:45 N659JB N662JB@07:45 N703JB@13:15 N746JB N760JB N763JB@10:19 N768JB@21:43 N935JB N946JL@12:50 N958JB N961JT N971JT@08:29 N990JL@05:27 N991JT@09:27 N993JE@04:50 N995JL@16:05 N998JE\nALB: N606JB N618JB\nATL: N3123J N547JB\nAUS: N625JB\nBDL: N586JB N588JB N658JB N794JB\nBNA: N3275J\nBOS: N2105J N2169J N3058J N3062J N3077J N3102J N3104J N3113J N3138J N3142J N3152J N3162J N3185J N3189J N3221J N3244J N3247J N3258J N3271J N3272J N3276J N534JB N590JB@05:15 N651JB@08:17 N705JB@07:30 N766JB N784JB@09:04 N804JB@06:04 N805JB N828JB N945JT@05:56 N952JB@05:56 N957JB@07:00 N959JB@11:55 N962JT@07:50 N964JT@06:33 N969JT@04:50 N970JB@18:22 N977JE@06:39 N978JB@12:50 N983JT@06:26 N985JT@14:40 N996JL\nBQN: N635JB\nBUF: N3125J N3260J N524JB N564JB\nCHS: N3229J\nDCA: N3023J N3149J N3269J N508JL N975JT\nDTW: N3112J\nEWR: N521JB N523JB N535JB@08:15 N556JB@07:15 N729JB N937JB@05:42\nFLL: N3169J N529JB N531JL N558JB@17:50 N568JB N589JB N595JB N597JB N598JB N603JB N605JB N653JB@08:15 N789JB@07:40 N793JB N796JB@13:55 N821JB N827JB N934JB N942JB@17:39 N943JT N947JB@07:36 N976JT@07:06 N982JB@11:33 N984JB\nHPN: N3085J N505JB N536JB N584JB N591JB N639JB\nJAX: N3195J\nLAS: N967JT@04:34 N980JT\nLAX: N2156J N2193J N4073J N929JB@05:32 N944JT@05:02 N968JT@04:23 N986JB@04:07\nLGA: N3157J N571JB N599JB N624JB\nMCO: N2029J@18:40 N3115J@09:20 N3118J N3267J N504JB N506JB@06:39 N517JB N520JB N526JL N561JB N565JB N569JB N579JB N627JB N641JB N643JB N645JB@07:24 N954JB N955JB N992JB@06:23 N997JL N999JQ@08:50\nMHT: N615JB\nMSY: N3242J N632JB\nORD: N3132J\nPBI: N623JB N644JB N648JB N655JB N775JB\nPHL: N665JB\nPIT: N3241J N3261J N712JB\nPQI: N3194J\nPSE: N646JB\nPVD: N519JB N554JB N629JB N652JB N779JB\nRDU: N3156J N3232J N630JB\nRIC: N593JB\nROC: N3145J\nRSW: N3196J N3215J N607JB\nSFO: N923JB N987JT N989JT\nSJU: N2086J@05:20 N3280J N563JB@16:10 N580JB N592JB N621JB N649JB N657JB N709JB N950JT\nSYR: N3255J N552JB\nTPA: N633JB N640JB N706JB N806JB\nairborne: none\n\n## News so far\n[00:39] TAF KJFK 140539Z 1406/1512 26006KT 2SM -SN OVC025 FM140700 29006KT 3/4SM -SN OVC009 TEMPO 1408/1412 1/2SM SN FZFG OVC004 FM141200 32012KT 1SM -SN OVC006 FM141500 32016G24KT P6SM OVC020 TEMPO 1415/1416 5SM -SN OVC015 FM141800 31018G28KT P6SM SCT035=\n[02:51] KJFK 140751Z 00000KT 1SM R04R/4500VP6000FT -SN BR BKN005 BKN011 OVC023 00/00 A2997 RMK AO2 SLP148 P0003 T00000000\n[03:28] TAF AMD KJFK 140828Z 1408/1512 29006KT 3/4SM -SN OVC009 TEMPO 1408/1412 1/2SM SN FZFG VV004 FM141200 32012KT 3/4SM -SN OVC006 FM141500 32016G24KT 2SM -SN OVC015 TEMPO 1415/1417 5SM -SN FM141700 31018G28KT P6SM BKN035=\n[03:43] KJFK 140843Z 00000KT 3/4SM R04R/2800V3000FT -SN BR VV004 00/00 A2996 RMK AO2 P0005 T00000000\n[03:51] KJFK 140851Z 00000KT 1/2SM R04R/2800V3500FT SN FG VV004 00/00 A2995 RMK AO2 SLP143 P0006 60012 T00000000 57018\n\nIt is the first watch, 04:00. Nothing is frozen yet: set the day up with confirm_changes, then call advance.", + "max_turns": 199, + "model_params": { + "max_tokens": 32000 + }, + "timeout_seconds": 7200 + }, + { + "id": "end-day", + "type": "apply_server_config", + "env_id": "airops-v3-day", + "directives": [ + { + "service": "airops-v3-day", + "uri": "urn:airops:v3-end-day/v1", + "args": {} + } + ] + }, + { + "id": "grade", + "type": "env_outcome_verifier", + "env_id": "airops-v3-day", + "file_artifact_id": "airops-verifier", + "verifier_id": "airops", + "score_aggregator": "weighted_average" + } +] diff --git a/src/agentenv_airops/bundles/airops-v3/tasks/b6-20251220-0400.json b/src/agentenv_airops/bundles/airops-v3/tasks/b6-20251220-0400.json new file mode 100644 index 0000000..b56a227 --- /dev/null +++ b/src/agentenv_airops/bundles/airops-v3/tasks/b6-20251220-0400.json @@ -0,0 +1,71 @@ +[ + { + "id": "deploy", + "type": "deploy_env", + "env_id": "airops-v3-day" + }, + { + "id": "load-task", + "type": "apply_server_config", + "env_id": "airops-v3-day", + "directives": [ + { + "service": "airops-v3-day", + "uri": "urn:airops:v3-live-load/v1", + "args": { + "task_id": "b6-20251220-0400", + "anchor": 1920238, + "follower": 1925167 + } + } + ] + }, + { + "id": "deploy-agent", + "type": "deploy_agent", + "a2a_agent_id": "airops-llm", + "env_ids": [ + "airops-v3-day" + ] + }, + { + "id": "clock", + "type": "sync_env_clock", + "env_id": "airops-v3-day", + "virtual_time": "2025-12-20T09:00:00Z", + "virtual_seconds_per_real_second": 0, + "tolerate_missing_sync_time": false + }, + { + "id": "play", + "type": "prompt_agent", + "prompt_id": "b6-20251220-0400", + "system_prompt": "You run the JetBlue operations desk on a storm day at JFK and BOS: thunderstorms, snow or wind, and the FAA ground stops and ground delay programs (GDPs) that follow, cut how many JetBlue flights can land and take off. Your job is to decide which flights to cancel and which to hold, watch by watch, so that passengers and the airline lose as little as possible over the day.\n\nHow the day runs:\n- The day is played in watches starting at watch 0: one an hour, and one more when an advisory or a SPECI reaches the desk or a ramp closure begins or ends, so watches are 15 to 60 minutes apart. The first message gives the day as the desk knows it at watch 0. Every tool call takes 1 minute of the watch; when the watch's time runs out, the next watch opens by itself, and advance opens it at once.\n- What the desk knows: a flight's own departure delay (weather, air traffic control: anything but waiting for its aircraft or a slot) becomes known 2 hours before its scheduled departure; until then it is assumed on time. FAA Command Center advisories and the hubs' METARs, SPECIs and TAFs arrive as messages at the first watch after they reach the desk: an advisory 0 minutes after it is signed, a METAR 5 and a SPECI 5 minutes after its observation, a TAF 10 minutes after its issue, and the programs table shows the programs as issued, proposed GDPs included; a program may end earlier or later than issued.\n- Ground delay programs: a GDP meters arrivals at a hub over its period. A flight into the hub from an origin in its scope, scheduled to land in the period, needs one of JetBlue's arrival slots in the program: it takes the earliest free slot at or after the time it could land and leaves at its EDCT, the slot less its scheduled block. A cancelled or late flight leaves its slot to the flights behind it. Arrivals outside a program fit under the hub's hourly rate.\n- Ground stops: a flight to a stopped hub from an origin the stop covers waits on the ground until the stop ends; flights already airborne fly on.\n- Departure caps: an airport may take only so many JetBlue departures in an hour (the departure caps table, known 4 hours ahead); a flight with no room in its hour tries again at the next hour's start.\n- Outstation arrival caps: an outstation may take only so many JetBlue arrivals in an hour (the outstation arrival caps table, known 4 hours ahead); a flight with no room in its arrival hour leaves so as to land in the next one.\n- Ramp closures: lightning at the field cuts a hub's ramp rate without stopping it. During a closure only so many JetBlue flights may leave the hub and only so many arrive there; a departure with no room leaves at the closure's end, an arrival with none leaves so as to land at it. A closure is known once it begins; until its end comes it is expected to last 30 minutes more, with caps for that long, and the closures table says which ends are reported and which expected.\n- The env flies your plan on the day as it happens: each flight leaves at the earliest time its delay, its hold, a slot, a stop, a cap and an aircraft allow. It takes the first aircraft of its type ready at its origin (aircraft of one type at one airport are interchangeable; an aircraft needs its turn time on the ground between flights). A flight that can't leave by its deadline is cancelled automatically there. At the end of the day the env ferries each aircraft to the airport it is needed at tomorrow.\n- Your decisions: cancel a flight (its aircraft stays on the ground, free for other flights, and its slot goes to the flights behind), restore a cancelled flight, or hold a flight until a time (not_before) so that its slot or aircraft goes to another flight first. A flight you don't touch leaves as early as it can.\n- The freeze: at watch 0 nothing is frozen. From watch 1 on, flights your plan has leaving before the freeze line, 60 minutes after the watch opens, are frozen: they can't be changed, and stay frozen. A cancellation is final. The env holds any other flight your plan would have leaving before the freeze line to it, and refuses a change that would move a frozen flight or one that has already gone.\n\nTools:\n- get_situation(): the time, the freeze line, the programs as issued with JetBlue's slots, the departure caps known so far, the outstation arrival caps known so far, the ramp closures under way or over, the latest METAR or SPECI and TAF per hub, every flight (its status, its known delay, your plan, where your plan has it leave and land on the day as known, how late it lands, its aircraft, its slot and its crew), where the aircraft are, and the news so far.\n- check_plan(changes): your changes over your plan, run on the day as known now: the plan's cost, the flights whose plan or times change, the automatic cancellations, the flights the env would hold to the freeze line, and the changes confirm_changes would refuse. It confirms nothing.\n- confirm_changes(changes): commits the changes; flights you leave out keep their plan.\n- advance(): ends the watch; its result has the new watch's news. After the last watch it returns \"done\": the day is graded on your plan.\nA change is {\"flight\": \"f12\", \"action\": \"cancel\" | \"restore\" | \"hold\" | \"call_reserve\" | \"release_reserve\", \"not_before\": \"HH:MM\" | null}: cancel takes not_before null; restore and hold fly the flight, held until not_before (local time, \"00:30+1\" after midnight), or as early as it can with null. Where a crew base has a reserve pool (the situation's Reserve crews), a flight leaving it past its crew's deadline flies only on a reserve: call_reserve gives it one while the pool lasts, release_reserve hands it back before that deadline.\n\nThe cost, in passenger-minutes: every passenger's minutes of arrival delay; 523 for each passenger on a cancelled flight, plus one for every minute the cancellation is decided later than 2 hours before its scheduled departure (an automatic cancellation is decided at its deadline, so it costs more than an early one); the airline's own aircraft minutes (a late departure costs crew and fixed costs, a long block fuel too, and a cancellation saves its fuel and maintenance); and the end-of-day ferries. A cancellation frees an aircraft and a slot; it pays when it saves the others more than it costs its own passengers. The day is graded once, on your final plan flown on the day as it really happened: the closer its cost to the best plan possible in hindsight, the higher the score. If you stop before the last watch, the rest of the day runs on your plan.", + "prompt": "# JetBlue operations desk, JFK, Saturday 2025-12-20; times are local (America/New_York).\n\nNow 04:00 (watch 0, opened 04:00). First watch: nothing is frozen; changes take effect at once.\n\nYour plan on the day as known costs 478,357 (delay 359,580, cancellations 0, notice 0, ferries 0): 0 cancelled, 0 cancelled automatically, 0 on slots.\n\n## Programs as issued (FAA Command Center)\n- JFK ground delay program adv-20251219-103: arrivals 16:00-1-00:59, governs departures 13:44-1-23:03-1; JetBlue's slots none\n\n## Departure caps: JetBlue departures per hour, known 240 min ahead\nBOS: 06h 8 08h 6\nJFK: 06h 6 08h 6\n\n## Outstation arrival caps: JetBlue arrivals per hour, known 240 min ahead\nFLL: 07h 1\nSJU: 08h 2\n\n## Ramp closures (lightning at the field; known once begun)\nNone.\n\n## Latest weather (METAR or SPECI, and TAF)\n[03:51] KJFK 200851Z 29015G23KT 10SM SCT050 SCT250 M01/M11 A3006 RMK AO2 SLP178 T10061106 51042 $\n[03:31] TAF AMD KJFK 200831Z 2009/2112 29016G25KT P6SM SCT045 FM201200 29013G21KT P6SM FEW045 FM201700 24009KT P6SM FEW050 BKN250 FM202000 21012KT P6SM FEW050 SCT250=\n\n## Flights (sched = scheduled dep-arr; delay = known delay, ? not yet; plan = cancel or hold@HH:MM; proj = where your plan has it leave and land on the day as known; late = arrival delay; slot = its GDP slot; crew = crew deadline/rest end, +R on a reserve crew)\nid flight route sched pax type status delay plan proj late tail slot crew\nf0 162 SJU-BOS 04:01-08:14 134 A321 open 15 - 04:16-08:03 -11 N959JB - -\nf1 768 PSE-MCO 05:01-08:13 118 A320 open -8 - 04:53-08:08 -5 N705JB - -\nf2 954 SJU-FLL 05:01-07:52 125 A320 open -1 - 05:00-07:45 -7 N630JB - -\nf3 1233 MCO-SJU 05:01-07:46 138 A320 open -4 - 04:57-07:35 -11 N504JB - -\nf4 1803 JFK-SJU 05:01-08:55 149 A320 open 5 - 05:06-08:46 -9 N564JB - -\nf5 2104 SJU-JFK 05:01-09:05 124 A320 open -13 - 04:48-08:44 -21 N552JB - -\nf6 2752 SJU-TPA 05:01-08:16 123 A320 open -3 - 04:58-08:02 -14 N590JB - -\nf7 2838 BQN-JFK 05:01-09:00 114 A320 open -8 - 04:53-09:03 +3 N595JB - -\nf8 2390 SJU-EWR 05:14-09:30 139 A320 open 2 - 05:16-09:20 -10 N649JB - -\nf9 2930 SJU-RDU 05:25-09:09 106 A320 open -9 - 05:16-08:46 -23 N661JB - -\nf10 117 BOS-JFK 05:30-06:45 105 A220 open 32 - 06:02-07:09 +24 N3104J - -\nf11 583 JFK-MCO 05:45-08:42 176 A321 open -2 - 05:43-08:21 -21 N903JB - -\nf12 207 PQI-BOS 05:50-07:24 57 A220 open 532 - 14:42-15:56 +512 N3065J - -\nf13 601 JFK-FLL 05:50-08:56 182 A321 open 0 - 05:50-08:36 -20 N995JL - -\nf14 85 BUF-MCO 06:00-08:49 140 A320 open 12 - 06:12-08:45 -4 N779JB - -\nf15 147 EWR-SJU 06:00-09:56 150 A320 open -1 - 05:59-09:53 -3 N517JB - -\nf16 185 ROC-JFK 06:00-07:20 121 A220 open 346 - 11:46-13:03 +343 N3123J - -\nf17 315 SYR-JFK 06:00-07:20 108 A320 open -6 - 05:54-07:45 +25 N593JB - -\nf18 461 LGA-PBI 06:00-08:57 144 A320 open 12 - 06:12-08:58 +1 N809JB - -\nf19 488 MCO-ORH 06:00-08:47 106 A320 open -10 - 05:50-08:24 -23 N625JB - -\nf20 577 FLL-SFO 06:00-12:29 128 A321P open -7 - 05:53-11:55 -34 N4077J - -\nf21 676 BDL-JFK 06:00-07:07 72 A220 open 133 - 08:13-09:11 +124 N3058J - -\nf22 696 ATL-BOS 06:00-08:28 118 A220 open 20 - 12:27-14:55 +387 N3085J - -\nf23 722 PBI-BOS 06:00-09:05 120 A320 open -5 - 05:55-08:54 -11 N524JB - -\nf24 792 TPA-BOS 06:00-09:02 116 A220 open -6 - 05:54-08:39 -23 N3125J - -\nf25 841 JFK-SAV 06:00-08:21 104 A220 open -9 - 05:51-08:01 -20 N3115J - -\nf26 891 BOS-TPA 06:00-09:30 142 A320 open -5 - 05:55-09:39 +9 N510JB - -\nf27 959 BDL-FLL 06:00-09:16 135 A320 open 6 - 06:06-09:15 -1 N537JT - -\nf28 984 RDU-BOS 06:00-07:58 108 A220 open -9 - 05:51-07:34 -24 N3118J - -\nf29 1087 ALB-FLL 06:00-09:22 147 A320 open -6 - 05:54-08:53 -29 N760JB - -\nf30 1170 FLL-BOS 06:00-09:12 145 A321 open 201 - 09:21-12:29 +197 N2038J - -\nf31 1184 MCO-JFK 06:00-08:38 157 A321 open -10 - 05:50-08:25 -13 N972JT - -\nf32 1198 PIT-JFK 06:00-07:34 104 A320 open -6 - 05:54-07:45 +11 N652JB - -\nf33 1419 DTW-JFK 06:00-07:42 111 A220 open -4 - 05:56-07:40 -2 N3280J - -\nf34 1505 EWR-FLL 06:00-09:09 139 A320 open 1 - 06:01-08:50 -19 N569JB - -\nf35 1530 RSW-JFK 06:00-08:49 120 A320 open -6 - 05:54-08:46 -3 N607JB - -\nf36 1603 JFK-SJU 06:00-09:53 149 A320 open 2 - 06:02-09:41 -12 N712JB - -\nf37 1901 BUF-JFK 06:00-07:29 119 A220 open -1 - 05:59-07:18 -11 N3112J - -\nf38 2040 CLE-BOS 06:00-07:42 89 A220 open 117 - 07:57-09:47 +125 N3142J - -\nf39 2065 BOS-RSW 06:00-09:40 178 A321 open -4 - 05:56-09:28 -12 N949JT - -\nf40 2151 BOS-MCO 06:00-09:25 143 A320 open 1 - 06:01-09:51 +26 N547JB - -\nf41 2321 BOS-PBI 06:00-09:23 139 A320 open 16 - 06:16-09:17 -6 N659JB - -\nf42 2433 DCA-PBI 06:00-08:25 112 A220 open -2 - 05:58-08:12 -13 N3145J - -\nf43 2534 PBI-DCA 06:00-08:25 87 A220 open -7 - 05:53-08:03 -22 N3257J - -\nf44 2725 JFK-TPA 06:00-09:06 147 A320 open -3 - 05:57-08:51 -15 N635JB - -\nf45 2751 TPA-SJU 06:00-08:48 134 A320 open -1 - 05:59-08:52 +4 N536JB - -\nf46 320 ATL-JFK 06:03-08:14 119 A220 open ? - 06:03-08:14 +0 N3085J - -\nf47 1044 PBI-EWR 06:07-09:00 132 A320 open ? - 06:07-09:00 +0 N623JB - -\nf48 1678 JAX-JFK 06:07-08:25 120 A220 open ? - 06:07-08:25 +0 N3169J - -\nf49 1502 FLL-JFK 06:09-09:00 154 A321 open ? - 06:09-09:00 +0 N2044J - -\nf50 569 BOS-FLL 06:10-09:41 147 A320 open ? - 06:10-09:41 +0 N662JB - -\nf51 861 BOS-SJU 06:10-10:13 127 A220 open ? - 06:10-10:13 +0 N3138J - -\nf52 968 PBI-HPN 06:10-09:00 113 A320 open ? - 06:10-09:00 +0 N775JB - -\nf53 1037 BOS-DTW 06:10-08:35 110 A220 open ? - 06:10-08:35 +0 N3162J - -\nf54 1476 SJU-BDL 06:10-10:17 119 A320 open ? - 06:10-10:17 +0 N570JB - -\nf55 553 FLL-SJU 06:15-08:43 139 A320 open ? - 06:32-09:00 +17 N634JB - -\nf56 1888 DCA-JFK 06:15-07:29 92 A220 open ? - 06:15-07:29 +0 N3196J - -\nf57 2625 RDU-FLL 06:15-08:28 117 A220 open ? - 06:15-08:28 +0 N3194J - -\nf58 597 PVD-FLL 06:20-09:35 135 A320 open ? - 06:20-09:35 +0 N627JB - -\nf59 1129 PVD-JFK 06:25-07:40 74 A320 open ? - 06:25-07:40 +0 N535JB - -\nf60 813 HPN-FLL 06:30-09:32 139 A320 open ? - 06:30-09:32 +0 N556JB - -\nf61 1153 JFK-PBI 06:30-09:31 141 A320 open ? - 06:30-09:31 +0 N746JB - -\nf62 2201 JFK-RSW 06:35-09:49 143 A320 open ? - 06:35-09:49 +0 N806JB - -\nf63 472 FLL-LGA 06:37-09:30 112 A220 open ? - 06:37-09:30 +0 N3077J - -\nf64 1480 FLL-DCA 06:38-09:04 110 A220 open ? - 06:38-09:04 +0 N3113J - -\nf65 1142 PBI-BDL 06:40-09:31 120 A320 open ? - 06:40-09:31 +0 N580JB - -\nf66 118 JFK-BOS 06:50-08:03 94 A220 open ? - 06:50-08:03 +0 N3232J - -\nf67 1056 MCO-SYR 06:50-09:39 138 A320 open ? - 06:50-09:39 +0 N632JB - -\nf68 183 JFK-MCO 06:55-09:56 176 A321 open ? - 06:55-09:56 +0 N2017J - -\nf69 1573 EWR-LAX 06:55-13:13 132 A321P open ? - 06:55-13:13 +0 N944JT - -\nf70 1601 JFK-FLL 06:55-10:05 182 A321 open ? - 06:55-10:05 +0 N996JL - -\nf71 1297 JFK-DEN 06:59-11:31 115 A220 open ? - 07:00-11:32 +1 N3261J - -\nf72 352 MCO-BOS 07:00-10:00 108 A220 open ? - 07:00-10:00 +0 N3269J - -\nf73 366 RSW-BOS 07:00-10:06 125 A320 open ? - 07:00-10:06 +0 N615JB - -\nf74 374 SYR-BOS 07:00-08:12 87 A220 open ? - 07:00-08:12 +0 N3152J - -\nf75 533 BDL-TPA 07:00-10:12 142 A320 open ? - 07:00-10:12 +0 N554JB - -\nf76 641 BOS-CLE 07:00-09:09 98 A220 open ? - 07:00-09:09 +0 N3247J - -\nf77 667 HPN-PBI 07:00-09:53 135 A320 open ? - 07:00-09:53 +0 N638JB - -\nf78 807 BOS-STT 07:00-11:02 143 A320 open ? - 07:00-11:02 +0 N624JB - -\nf79 1101 FLL-LAX 07:00-12:55 128 A321P open ? - 07:00-12:55 +0 N934JB - -\nf80 1145 RIC-FLL 07:00-09:30 141 A320 open ? - 07:00-09:30 +0 N608JB - -\nf81 1370 FLL-BOS 07:00-10:13 102 A220 open ? - 07:00-10:13 +0 N3156J - -\nf82 1471 LGA-FLL 07:00-10:06 128 A220 open ? - 07:00-10:06 +0 N3251J - -\nf83 1585 BOS-PIT 07:00-08:59 105 A320 open ? - 07:00-08:59 +0 N618JB - -\nf84 1605 ISP-TPA 07:00-09:50 130 A320 open ? - 07:00-09:50 +0 N794JB - -\nf85 2005 PIT-FLL 07:00-09:47 126 A320 open ? - 07:00-09:47 +0 N598JB - -\nf86 2275 PHL-FLL 07:00-09:49 135 A320 open ? - 07:00-09:49 +0 N646JB - -\nf87 2423 DCA-MCO 07:00-09:29 125 A220 open ? - 07:00-09:29 +0 N3241J - -\nf88 2475 BDL-SJU 07:00-10:50 142 A320 open ? - 07:00-10:50 +0 N645JB - -\nf89 1054 PBI-JFK 07:05-09:48 117 A320 open ? - 07:05-09:48 +0 N821JB - -\nf90 1221 BOS-PBI 07:05-10:35 120 A220 open ? - 07:05-10:35 +0 N3271J - -\nf91 1707 FLL-LAS 07:05-12:38 125 A321P open ? - 07:05-12:38 +0 N969JT - -\nf92 217 BOS-JFK 07:08-08:30 105 A220 open ? - 07:08-08:30 +0 N3149J - -\nf93 249 BOS-SAV 07:10-10:04 99 A220 open ? - 07:10-10:04 +0 N3267J - -\nf94 285 JFK-RDU 07:10-08:59 130 A320 open ? - 07:10-08:59 +0 N527JL - -\nf95 523 JFK-LAX 07:10-13:27 138 A321P open ? - 07:10-13:27 +0 N2165J - -\nf96 1039 BOS-AUS 07:10-12:06 122 A220 open ? - 07:10-12:06 +0 N3276J - -\nf97 1604 SJU-JFK 07:10-11:11 153 A321 open ? - 07:10-11:11 +0 N957JB - -\nf98 2272 AUS-FLL 07:10-10:09 125 A320 open ? - 07:10-10:09 +0 N663JB - -\nf99 252 RSW-HPN 07:11-10:00 122 A320 open ? - 07:11-10:00 +0 N584JB - -\nf100 386 RDU-JFK 07:15-08:55 120 A220 open ? - 07:15-08:55 +0 N3132J - -\nf101 2677 BOS-LAS 07:15-13:25 135 A321P open ? - 07:15-13:25 +0 N2151J - -\nf102 2920 ALB-MCO 07:15-10:18 141 A320 open ? - 07:15-10:18 +0 N784JB - -\nf103 379 DCA-FLL 07:20-10:00 147 A320 open ? - 07:20-10:00 +0 N621JB - -\nf104 525 PVD-SJU 07:24-11:18 137 A320 open ? - 07:24-11:18 +0 N559JB - -\nf105 546 MCO-ISP 07:25-10:01 117 A320 open ? - 07:25-10:01 +0 N729JB - -\nf106 1169 BOS-FLL 07:25-10:57 147 A320 open ? - 07:25-10:57 +0 N508JL - -\nf107 1941 BOS-SRQ 07:25-11:07 134 A320 open ? - 07:25-11:07 +0 N585JB - -\nf108 2875 PVD-MCO 07:25-10:35 123 A320 open ? - 07:25-10:35 +0 N523JB - -\nf109 257 BOS-BZN 07:30-12:39 128 A321P open ? - 07:30-12:39 +0 N2157J - -\nf110 1867 JFK-DAB 07:30-10:25 111 A220 open ? - 07:30-10:25 +0 N3275J - -\nf111 91 BOS-TPA 07:31-11:05 123 A220 open ? - 07:31-11:05 +0 N3195J - -\nf112 1084 MCO-JFK 07:35-10:13 127 A320 open ? - 07:35-10:13 +0 N506JB - -\nf113 199 RIC-MCO 07:40-09:57 116 A220 open ? - 07:40-09:57 +0 N3272J - -\nf114 1447 HPN-TPA 07:40-10:36 139 A320 open ? - 07:40-10:36 +0 N639JB - -\nf115 299 LGA-MCO 07:45-10:53 149 A320 open ? - 07:45-10:53 +0 N648JB - -\nf116 1306 ORD-JFK 07:45-09:59 123 A320 open ? - 07:45-09:59 +0 N768JB - -\nf117 2831 MCO-LAS 07:45-13:12 110 A321P open ? - 07:45-13:12 +0 N961JT - -\nf118 677 JFK-JAX 07:52-10:36 121 A220 open ? - 07:54-10:38 +2 N3104J - -\nf119 865 BUF-FLL 07:52-11:00 128 A220 open ? - 07:52-11:00 +0 N3023J - -\nf120 287 BOS-LAX 07:58-14:32 138 A321P open ? - 07:58-14:32 +0 N981JT - -\nf121 66 RSW-BOS 08:00-11:06 125 A320 open ? - 08:00-11:06 +0 N563JB - -\nf122 133 BOS-SFO 08:00-14:55 138 A321P open ? - 08:00-14:55 +0 N945JT - -\nf123 670 FLL-BOS 08:00-11:13 102 A220 open ? - 08:00-11:13 +0 N3203J - -\nf124 883 JFK-MCO 08:00-11:13 176 A321 open ? - 08:00-11:13 +0 N999JQ - -\nf125 1347 DCA-SJU 08:00-11:40 182 A321 open ? - 08:00-11:40 +0 N955JB - -\nf126 1797 ATL-FLL 08:00-09:55 131 A320 open ? - 08:00-09:55 +0 N566JB - -\nf127 1822 MSY-FLL 08:00-09:48 123 A320 open ? - 08:00-09:48 +0 N586JB - -\nf128 2186 PIT-BOS 08:00-09:38 95 A220 open ? - 08:00-09:38 +0 N3229J - -\nf129 2253 FLL-SJU 08:00-10:30 139 A320 open ? - 08:00-10:30 +0 N641JB - -\nf130 2601 HPN-SJU 08:00-11:52 142 A320 open ? - 08:00-11:52 +0 N644JB - -\nf131 1143 MHT-MCO 08:05-11:34 124 A320 open ? - 08:05-11:34 +0 N789JB - -\nf132 1273 JFK-CHS 08:05-10:31 106 A220 open ? - 08:05-10:31 +0 N3112J - -\nf133 1883 BOS-RDU 08:09-10:25 111 A220 open ? - 08:09-10:25 +0 N3242J - -\nf134 109 BOS-JAX 08:10-11:20 118 A220 open ? - 08:10-11:20 +0 N3185J - -\nf135 306 FLL-EWR 08:10-11:08 135 A320 open ? - 08:10-11:08 +0 N828JB - -\nf136 851 BOS-MCO 08:10-11:40 176 A321 open ? - 08:10-11:40 +0 N948JB - -\nf137 160 FLL-BDL 08:15-11:13 123 A320 open ? - 08:15-11:13 +0 N521JB - -\nf138 1173 JFK-BNA 08:15-10:55 115 A220 open ? - 08:15-10:55 +0 N3196J - -\nf139 598 MCO-LGA 08:20-10:57 144 A320 open ? - 08:20-10:57 +0 N643JB - -\nf140 857 FLL-PHX 08:20-13:35 125 A321P open ? - 08:20-13:35 +0 N967JT - -\nf141 2801 FLL-LAX 08:20-14:13 111 A321P open ? - 08:39-14:32 +19 N978JB - -\nf142 2063 BOS-EYW 08:24-12:17 114 A220 open ? - 08:24-12:17 +0 N3102J - -\nf143 2223 JFK-LAX 08:25-14:45 138 A321P open ? - 08:25-14:45 +0 N2180J - -\nf144 1688 PVD-PBI 08:29-11:38 136 A320 open ? - 08:29-11:38 +0 N793JB - -\nf145 967 HPN-PBI 08:30-11:23 135 A320 open ? - 08:30-11:23 +0 N715JB - -\nf146 1906 TPA-FLL 08:30-09:34 100 A320 open ? - 08:30-09:34 +0 N655JB - -\nf147 2152 MCO-BOS 08:30-11:30 116 A320 open ? - 08:30-11:30 +0 N519JB - -\nf148 754 SJU-FLL 08:36-11:27 125 A320 open ? - 08:36-11:27 +0 N592JB - -\nf149 1758 SJU-EWR 08:36-12:55 139 A320 open ? - 08:36-12:55 +0 N589JB - -\nf150 715 BOS-BUF 08:39-10:19 109 A220 open ? - 08:39-10:19 +0 N3118J - -\nf151 395 HPN-MCO 08:40-11:35 134 A320 open ? - 08:40-11:35 +0 N834JB - -\nf152 1584 MCO-JFK 08:40-11:17 127 A320 open ? - 08:40-11:17 +0 N571JB - -\nf153 2301 JFK-FLL 08:40-11:59 147 A320 open ? - 08:40-11:59 +0 N603JB - -\nf154 318 JFK-BOS 08:41-10:00 94 A220 open ? - 08:41-10:00 +0 N3280J - -\nf155 737 BDL-MCO 08:41-11:45 141 A320 open ? - 08:41-11:45 +0 N520JB - -\nf156 377 FLL-SFO 08:45-15:19 128 A321P open ? - 08:45-15:19 +0 N992JB - -\nf157 1555 BOS-DCA 08:45-10:34 119 A321P open ? - 09:00-10:49 +15 N923JB - -\nf158 2024 MCO-DCA 08:48-10:59 108 A220 open ? - 08:48-10:59 +0 N3215J - -\nf159 216 BUF-BOS 08:50-10:14 98 A220 open ? - 09:25-10:49 +35 N3244J - -\nf160 163 JFK-SRQ 09:00-12:21 140 A320 open ? - 09:00-12:21 +0 N763JB - -\nf161 224 LAX-JFK 09:00-14:23 136 A321P open ? - 09:00-14:23 +0 N4080J - -\nf162 511 JFK-LAS 09:00-14:52 133 A321P open ? - 09:00-14:52 +0 N989JT - -\nf163 519 JFK-ATL 09:00-11:42 121 A220 open ? - 09:00-11:42 +0 N3085J - -\nf164 588 LAX-BOS 09:00-14:28 138 A321P open ? - 09:00-14:28 +0 N977JE - -\nf165 1698 FLL-ATL 09:00-10:50 121 A320 open ? - 09:35-11:25 +35 N569JB - -\nf166 2902 JFK-BUF 09:00-10:35 111 A220 open ? - 09:40-11:15 +40 N3132J - -\nf167 816 SFO-JFK 09:04-14:35 138 A321P open ? - 09:04-14:35 +0 N929JB - -\nf168 548 TPA-HPN 09:05-11:57 141 A320 open ? - 09:05-11:57 +0 N565JB - -\nf169 854 PBI-JFK 09:05-11:48 117 A320 open ? - 09:05-11:48 +0 N529JB - -\nf170 2842 SAV-JFK 09:07-11:09 111 A220 open ? - 09:07-11:09 +0 N3115J - -\nf171 654 DCA-BOS 09:10-10:44 101 A220 open ? - 09:10-10:44 +0 N3257J - -\nf172 933 MCO-SJU 09:10-12:00 138 A320 open ? - 09:10-12:00 +0 N561JB - -\nf173 1222 PBI-BOS 09:10-12:15 104 A220 open ? - 09:10-12:15 +0 N3145J - -\nf174 1007 BOS-BNA 09:13-12:16 128 A321P open ? - 09:13-12:16 +0 N943JT - -\nf175 267 BOS-CHS 09:14-11:57 110 A220 open ? - 09:14-11:57 +0 N3152J - -\nf176 1702 FLL-JFK 09:15-12:05 108 A220 open ? - 09:15-12:05 +0 N3221J - -\nf177 2251 BOS-MCO 09:15-12:38 143 A320 open ? - 09:15-12:38 +0 N656JB - -\nf178 1070 FLL-BOS 09:20-12:34 102 A220 open ? - 09:20-12:34 +0 N3240J - -\nf179 143 EWR-PBI 09:25-12:30 146 A320 open ? - 09:25-12:30 +0 N657JB - -\nf180 261 BOS-SJU 09:25-13:29 181 A321 open ? - 09:25-13:29 +0 N2043J - -\nf181 1336 DTW-BOS 09:25-11:12 109 A220 open ? - 09:25-11:12 +0 N3162J - -\nf182 1247 LGA-TPA 09:29-12:42 148 A320 open ? - 09:29-12:42 +0 N633JB - -\nf183 987 ORH-MCO 09:34-12:42 131 A320 open ? - 09:34-12:42 +0 N625JB - -\nf184 904 SJU-JFK 09:38-13:42 124 A320 open ? - 09:38-13:42 +0 N629JB - -\nf185 907 BOS-STT 09:40-13:40 138 A321P open ? - 09:40-13:40 +0 N980JT - -\nf186 251 HPN-RSW 09:45-12:58 142 A320 open ? - 09:45-12:58 +0 N775JB - -\nf187 1286 PIT-BOS 09:45-11:19 109 A320 open ? - 09:45-11:19 +0 N618JB - -\nf188 579 DCA-FLL 09:49-12:36 127 A220 open ? - 09:49-12:36 +0 N3113J - -\nf189 286 RDU-JFK 09:50-11:24 138 A320 open ? - 09:50-11:24 +0 N661JB - -\nf190 623 JFK-LAX 09:50-16:09 138 A321P open ? - 09:50-16:09 +0 N991JT - -\nf191 1715 JFK-VRB 09:50-12:54 121 A320 open ? - 09:50-12:54 +0 N579JB - -\nf192 92 TPA-BOS 09:52-12:55 135 A320 open ? - 09:52-12:55 +0 N590JB - -\nf193 640 CLE-BOS 09:54-11:33 89 A220 open ? - 09:54-11:33 +0 N3247J - -\nf194 2929 RDU-SJU 09:54-13:17 134 A320 open ? - 09:54-13:17 +0 N527JL - -\nf195 769 BOS-FLL 09:55-13:32 147 A320 open ? - 09:55-13:32 +0 N796JB - -\nf196 1800 FLL-ORF 09:59-12:13 82 A320 open ? - 09:59-12:13 +0 N760JB - -\nf197 322 PBI-BOS 10:00-13:05 111 A320 open ? - 10:00-13:05 +0 N809JB - -\nf198 824 LAX-JFK 10:00-15:23 135 A321P open ? - 10:00-15:23 +0 N990JL - -\nf199 1003 JFK-SJU 10:00-14:01 129 A220 open ? - 11:54-15:55 +114 N3115J - -\nf200 144 PBI-EWR 10:08-12:59 132 A320 open ? - 10:08-12:59 +0 N659JB - -\nf201 52 MCO-BOS 10:10-13:11 155 A321 open ? - 10:10-13:11 +0 N905JB - -\nf202 1802 FLL-JFK 10:10-12:59 116 A320 open ? - 10:10-12:59 +0 N537JT - -\nf203 88 FLL-ALB 10:12-13:15 124 A320 open ? - 10:15-13:18 +3 N608JB - -\nf204 138 MCO-BDL 10:14-13:00 113 A220 open ? - 10:14-13:00 +0 N3241J - -\nf205 48 TPA-LGA 10:15-12:51 137 A320 open ? - 10:15-12:51 +0 N635JB - -\nf206 961 LGA-PBI 10:15-13:20 124 A220 open ? - 10:15-13:20 +0 N3077J - -\nf207 1086 MCO-BUF 10:15-12:58 129 A320 open ? - 10:15-12:58 +0 N599JB - -\nf208 154 PBI-JFK 10:16-12:59 117 A320 open ? - 10:16-12:59 +0 N746JB - -\nf209 2103 BDL-RSW 10:16-13:40 138 A320 open ? - 10:16-13:40 +0 N580JB - -\nf210 305 EWR-FLL 10:20-13:30 150 A320 open ? - 10:20-13:30 +0 N805JB - -\nf211 2270 FLL-BOS 10:20-13:36 118 A320 open ? - 10:20-13:36 +0 N627JB - -\nf212 300 LAX-FLL 10:25-15:20 135 A321P open ? - 10:25-15:20 +0 N993JE - -\nf213 35 JFK-PHX 10:30-16:13 138 A321P open ? - 10:30-16:13 +0 N976JT - -\nf214 115 JFK-SFO 10:30-17:11 138 A321P open ? - 10:30-17:11 +0 N979JT - -\nf215 578 SFO-FLL 10:30-15:55 138 A321P open ? - 10:30-15:55 +0 N968JT - -\nf216 855 SYR-MCO 10:33-13:36 141 A320 open ? - 10:33-13:36 +0 N632JB - -\nf217 962 PBI-LGA 10:40-13:25 126 A320 open ? - 10:40-13:25 +0 N638JB - -\nf218 1104 SJU-JFK 10:40-14:44 124 A320 open ? - 10:40-14:44 +0 N504JB - -\nf219 1201 JFK-FLL 10:40-13:53 147 A320 open ? - 10:40-13:53 +0 N509JB - -\nf220 2066 RSW-BOS 10:40-13:47 154 A321 open ? - 10:40-13:47 +0 N949JT - -\nf221 934 SJU-MCO 10:44-14:00 120 A320 open ? - 10:44-14:00 +0 N564JB - -\nf222 94 MCO-HPN 10:45-13:30 124 A320 open ? - 10:45-13:30 +0 N640JB - -\nf223 1231 BOS-VRB 10:45-14:10 98 A220 open ? - 10:45-14:10 +0 N3142J - -\nf224 1267 HPN-PBI 10:45-13:43 135 A320 open ? - 10:45-13:43 +0 N584JB - -\nf225 1606 TPA-ISP 10:45-13:19 130 A320 open ? - 10:45-13:19 +0 N510JB - -\nf226 547 ISP-MCO 10:46-13:48 134 A320 open ? - 10:46-13:48 +0 N729JB - -\nf227 2424 MCO-DCA 10:50-13:04 108 A220 open ? - 10:50-13:04 +0 N3272J - -\nf228 450 SAV-BOS 10:54-13:20 98 A220 open ? - 10:54-13:20 +0 N3267J - -\nf229 2824 LAX-JFK 10:57-16:18 135 A321P open ? - 10:57-16:18 +0 N982JB - -\nf230 126 TPA-JFK 10:58-13:38 145 A320 open ? - 10:58-13:38 +0 N794JB - -\nf231 1499 BOS-DAB 10:58-14:13 93 A220 open ? - 10:58-14:13 +0 N3280J - -\nf232 265 BOS-RSW 11:00-14:37 144 A320 open ? - 11:00-14:37 +0 N524JB - -\nf233 323 JFK-LAX 11:00-17:16 122 A321P open ? - 11:00-17:16 +0 N942JB - -\nf234 417 BOS-JFK 11:00-12:15 105 A220 open ? - 11:00-12:15 +0 N3156J - -\nf235 1553 FLL-SJU 11:00-13:34 139 A320 open ? - 11:00-13:34 +0 N566JB - -\nf236 1754 SJU-FLL 11:00-13:50 125 A320 open ? - 11:00-13:50 +0 N634JB - -\nf237 1141 BDL-PBI 11:02-14:13 136 A320 open ? - 11:02-14:13 +0 N570JB - -\nf238 716 BUF-BOS 11:04-12:28 98 A220 open ? - 11:04-12:28 +0 N3118J - -\nf239 2876 MCO-PVD 11:08-13:52 131 A320 open ? - 11:08-13:52 +0 N588JB - -\nf240 484 RDU-BOS 11:10-13:12 108 A220 open ? - 11:10-13:12 +0 N3242J - -\nf241 721 BOS-PBI 11:10-14:35 120 A220 open ? - 11:29-14:54 +19 N3257J - -\nf242 862 SJU-BOS 11:10-15:23 94 A220 open ? - 11:10-15:23 +0 N3157J - -\nf243 1868 DAB-JFK 11:10-13:40 104 A220 open ? - 11:10-13:40 +0 N3275J - -\nf244 2116 SFO-JFK 11:14-16:43 138 A321P open ? - 11:14-16:43 +0 N946JL - -\nf245 2474 CHS-JFK 11:16-13:08 99 A220 open ? - 11:16-13:08 +0 N3112J - -\nf246 1779 DCA-FLL 11:19-14:00 127 A220 open ? - 11:44-14:25 +25 N3215J - -\nf247 833 MCO-SJU 11:20-14:10 138 A320 open ? - 11:20-14:10 +0 N653JB - -\nf248 2901 BUF-JFK 11:21-12:48 119 A220 open ? - 12:00-13:27 +39 N3132J - -\nf249 1310 JAX-BOS 11:22-14:00 112 A220 open ? - 11:23-14:01 +1 N3104J - -\nf250 422 PBI-BOS 11:25-14:31 104 A220 open ? - 11:25-14:31 +0 N3271J - -\nf251 503 JFK-SJU 11:29-15:23 149 A320 open ? - 11:29-15:23 +0 N535JB - -\nf252 2584 MCO-JFK 11:37-14:17 157 A321 open ? - 11:37-14:17 +0 N903JB - -\nf253 1002 FLL-JFK 11:39-14:34 154 A321 open ? - 11:39-14:34 +0 N996JL - -\nf254 1174 BNA-JFK 11:40-14:01 112 A220 open ? - 11:40-14:01 +0 N3196J - -\nf255 2166 RSW-BOS 11:40-14:49 125 A320 open ? - 11:40-14:49 +0 N806JB - -\nf256 401 BOS-MSY 11:43-15:40 119 A220 open ? - 11:43-15:40 +0 N3244J - -\nf257 1923 DCA-MCO 11:44-14:14 125 A220 open ? - 13:49-16:19 +125 N3272J - -\nf258 1036 SJU-STT 11:49-12:25 131 A320 open ? - 11:49-12:25 +0 N712JB - -\nf259 592 TPA-BOS 11:50-14:55 116 A220 open ? - 11:50-14:55 +0 N3195J - -\nf260 2097 ATL-FLL 11:50-13:39 131 A320 open ? - 12:10-13:59 +20 N569JB - -\nf261 1940 SRQ-BOS 11:52-15:01 132 A320 open ? - 11:52-15:01 +0 N585JB - -\nf262 859 BOS-PHL 11:58-13:35 122 A320 open ? - 11:58-13:35 +0 N615JB - -\nf263 1534 TPA-BDL 11:58-14:46 137 A320 open ? - 11:58-14:46 +0 N554JB - -\nf264 808 STT-SJU 11:59-12:43 107 A320 open ? - 11:59-12:43 +0 N624JB - -\nf265 1527 EWR-MCO 11:59-15:02 150 A320 open ? - 11:59-15:02 +0 N531JL - -\nf266 69 BOS-FLL 12:00-15:34 127 A220 open ? - 12:00-15:34 +0 N3162J - -\nf267 223 JFK-LAX 12:00-18:16 138 A321P open ? - 12:00-18:16 +0 N986JB - -\nf268 259 BDL-FLL 12:00-15:18 135 A320 open ? - 12:00-15:18 +0 N521JB - -\nf269 1098 MCO-LGA 12:00-14:38 144 A320 open ? - 12:00-14:38 +0 N705JB - -\nf270 2141 BOS-SRQ 12:00-15:35 116 A220 open ? - 12:00-15:35 +0 N3203J - -\nf271 678 JAX-JFK 12:05-14:20 120 A220 open ? - 12:05-14:20 +0 N3185J - -\nf272 372 FLL-LGA 12:08-15:04 112 A220 open ? - 12:08-15:04 +0 N3062J - -\nf273 814 FLL-HPN 12:10-15:09 107 A220 open ? - 12:10-15:09 +0 N3194J - -\nf274 1029 JFK-PBI 12:10-15:18 141 A320 open ? - 12:10-15:18 +0 N652JB - -\nf275 1068 PBI-HPN 12:10-14:58 113 A320 open ? - 12:10-14:58 +0 N715JB - -\nf276 471 LGA-FLL 12:15-15:30 148 A320 open ? - 12:15-15:30 +0 N643JB - -\nf277 1700 LAX-FLL 12:15-17:09 135 A321P open ? - 12:15-17:09 +0 N962JT - -\nf278 1298 DEN-JFK 12:16-15:59 103 A220 open ? - 12:17-16:00 +1 N3261J - -\nf279 2252 SJU-FLL 12:19-15:10 125 A320 open ? - 12:19-15:10 +0 N645JB - -\nf280 1932 MCO-PWM 12:20-15:22 129 A320 open ? - 12:20-15:22 +0 N612JB - -\nf281 1828 MCO-EWR 12:23-15:07 147 A320 open ? - 12:23-15:07 +0 N547JB - -\nf282 54 PBI-JFK 12:24-15:09 117 A320 open ? - 12:24-15:09 +0 N793JB - -\nf283 1144 MCO-MHT 12:25-15:23 127 A320 open ? - 12:25-15:23 +0 N784JB - -\nf284 1680 FLL-DCA 12:27-14:59 110 A220 open ? - 12:27-14:59 +0 N3258J - -\nf285 1420 ATL-JFK 12:29-14:44 119 A220 open ? - 22:50-01:05+1 +621 N3276J - -\nf286 233 MCO-SJU 12:35-15:27 138 A320 open ? - 12:35-15:27 +0 N648JB - -\nf287 652 MCO-BOS 12:35-15:37 155 A321 open ? - 12:35-15:37 +0 N2017J - -\nf288 201 FLL-LAX 12:40-18:38 128 A321P open ? - 12:40-18:38 +0 N937JB - -\nf289 551 BOS-MCO 12:41-16:04 132 A320 open ? - 12:41-16:04 +0 N563JB - -\nf290 68 CHS-BOS 12:42-14:59 115 A220 open ? - 12:42-14:59 +0 N3152J - -\nf291 2071 FLL-BQN 12:45-15:13 120 A320 open ? - 12:45-15:13 +0 N663JB - -\nf292 2276 FLL-PHL 12:45-15:37 120 A320 open ? - 12:45-15:37 +0 N562JB - -\nf293 1334 SJU-MCO 12:50-16:08 148 A321 open ? - 12:50-16:08 +0 N955JB - -\nf294 1971 FLL-AUS 12:50-15:41 122 A320 open ? - 12:50-15:41 +0 N603JB - -\nf295 871 JFK-SLC 12:55-18:23 135 A321P open ? - 12:55-18:23 +0 N2105J - -\nf296 1138 AUS-BOS 12:55-16:50 121 A220 open ? - 12:55-16:50 +0 N3276J - -\nf297 2940 SJU-STX 12:55-13:35 124 A320 open ? - 12:55-13:35 +0 N559JB - -\nf298 418 JFK-BOS 13:00-14:12 94 A220 open ? - 13:00-14:12 +0 N3221J - -\nf299 1913 HPN-FLL 13:00-16:04 139 A320 open ? - 13:00-16:04 +0 N565JB - -\nf300 1006 BNA-BOS 13:01-15:33 127 A321P open ? - 13:18-15:50 +17 N943JT - -\nf301 2064 EYW-BOS 13:12-16:48 83 A220 open ? - 13:12-16:48 +0 N3102J - -\nf302 164 SRQ-JFK 13:16-16:05 125 A320 open ? - 13:16-16:05 +0 N763JB - -\nf303 1004 SJU-JFK 13:20-17:26 107 A220 open ? - 13:20-17:26 +0 N3138J - -\nf304 1135 STT-SJU 13:20-14:04 107 A320 open ? - 13:20-14:04 +0 N712JB - -\nf305 1799 ORF-FLL 13:21-15:45 118 A320 open ? - 13:21-15:45 +0 N760JB - -\nf306 544 PBI-ISP 13:25-16:10 114 A320 open ? - 13:25-16:10 +0 N657JB - -\nf307 430 MCO-BQN 13:37-16:20 136 A320 open ? - 13:37-16:20 +0 N834JB - -\nf308 416 SFO-JFK 13:40-19:15 138 A321P open ? - 13:40-19:15 +0 N4077J - -\nf309 808 SJU-BOS 13:40-17:53 109 A320 open ? - 13:40-17:53 +0 N644JB - -\nf310 1133 MCO-SJU 13:45-16:37 170 A321 open ? - 13:45-16:37 +0 N999JQ - -\nf311 1338 MCO-BDL 13:45-16:30 131 A320 open ? - 13:45-16:30 +0 N520JB - -\nf312 1708 LAS-FLL 13:48-18:25 130 A321P open ? - 13:48-18:25 +0 N969JT - -\nf313 256 BZN-BOS 13:49-18:14 128 A321P open ? - 13:49-18:14 +0 N2157J - -\nf314 1716 VRB-JFK 13:49-16:23 74 A320 open ? - 13:49-16:23 +0 N579JB - -\nf315 1903 JFK-SJU 13:49-17:49 138 A320 open ? - 13:49-17:49 +0 N658JB - -\nf316 499 LGA-MCO 13:50-16:50 149 A320 open ? - 13:50-16:50 +0 N635JB - -\nf317 1085 BUF-MCO 13:53-16:42 140 A320 open ? - 13:53-16:42 +0 N599JB - -\nf318 37 BDL-MCO 13:55-17:05 122 A220 open ? - 13:55-17:05 +0 N3241J - -\nf319 1766 RSW-BOS 13:55-17:08 125 A320 open ? - 13:55-17:08 +0 N775JB - -\nf320 1831 JFK-FLL 13:55-17:13 127 A220 open ? - 13:55-17:13 +0 N3156J - -\nf321 246 FLL-RIC 14:00-16:19 117 A320 open ? - 14:00-16:19 +0 N766JB - -\nf322 2554 DCA-BOS 14:00-15:33 115 A321P open ? - 14:00-15:33 +0 N923JB - -\nf323 2784 MCO-JFK 14:00-16:42 157 A321 open ? - 14:00-16:42 +0 N948JB - -\nf324 393 BOS-DEN 14:07-18:52 121 A220 open ? - 14:07-18:52 +0 N3247J - -\nf325 21 BOS-PBI 14:10-17:37 129 A320 open ? - 14:10-17:37 +0 N519JB - -\nf326 87 ALB-FLL 14:10-17:30 147 A320 open ? - 14:10-17:30 +0 N608JB - -\nf327 2165 BOS-RSW 14:10-17:48 144 A320 open ? - 14:10-17:48 +0 N665JB - -\nf328 1874 LAX-EWR 14:12-19:30 133 A321P open ? - 14:12-19:30 +0 N2169J - -\nf329 2476 SJU-BDL 14:12-18:15 119 A320 open ? - 14:12-18:15 +0 N561JB - -\nf330 515 BOS-DFW 14:15-18:53 122 A220 open ? - 14:15-18:53 +0 N3118J - -\nf331 1245 ISP-PBI 14:15-17:13 141 A320 open ? - 14:15-17:13 +0 N510JB - -\nf332 1469 BOS-FLL 14:15-17:50 127 A220 open ? - 14:15-17:50 +0 N3240J - -\nf333 2462 PBI-LGA 14:15-16:59 109 A220 open ? - 14:15-16:59 +0 N3077J - -\nf334 47 LGA-TPA 14:19-17:25 148 A320 open ? - 14:19-17:25 +0 N638JB - -\nf335 591 BOS-TPA 14:20-17:48 123 A220 open ? - 14:20-17:48 +0 N3242J - -\nf336 2020 FLL-ORH 14:20-17:27 118 A320 open ? - 14:20-17:27 +0 N805JB - -\nf337 2033 BOS-IAH 14:20-19:00 126 A220 open ? - 14:20-19:00 +0 N3267J - -\nf338 161 BOS-SJU 14:21-18:25 181 A321 open ? - 14:21-18:25 +0 N956JT - -\nf339 2832 LAS-MCO 14:22-19:05 118 A321P open ? - 14:22-19:05 +0 N961JT - -\nf340 424 LAX-JFK 14:25-19:48 135 A321P open ? - 14:25-19:48 +0 N934JB - -\nf341 595 HPN-MCO 14:25-17:20 134 A320 open ? - 14:25-17:20 +0 N640JB - -\nf342 753 JFK-RSW 14:30-17:51 143 A320 open ? - 14:30-17:51 +0 N534JB - -\nf343 860 PHL-BOS 14:30-15:55 109 A320 open ? - 14:30-15:55 +0 N615JB - -\nf344 1853 JFK-PBI 14:30-17:39 141 A320 open ? - 14:30-17:39 +0 N595JB - -\nf345 2377 JFK-JAX 14:30-17:15 121 A220 open ? - 14:30-17:15 +0 N3123J - -\nf346 2941 STX-SJU 14:30-15:19 108 A320 open ? - 14:30-15:19 +0 N559JB - -\nf347 570 MCO-RIC 14:31-16:31 126 A320 open ? - 14:31-16:31 +0 N656JB - -\nf348 278 LAS-BOS 14:35-19:45 132 A321P open ? - 14:35-19:45 +0 N2151J - -\nf349 1242 PBI-BDL 14:38-17:30 120 A320 open ? - 14:38-17:30 +0 N584JB - -\nf350 1027 EWR-MCO 14:40-17:34 150 A320 open ? - 14:40-17:34 +0 N623JB - -\nf351 253 FLL-SJU 14:43-17:15 139 A320 open ? - 14:43-17:15 +0 N796JB - -\nf352 858 PHX-FLL 14:45-18:50 134 A321P open ? - 14:45-18:50 +0 N967JT - -\nf353 908 STT-SJU 14:45-15:32 105 A321P open ? - 14:45-15:32 +0 N980JT - -\nf354 2098 FLL-ATL 14:45-16:37 121 A320 open ? - 14:45-16:37 +0 N634JB - -\nf355 775 JFK-MSY 14:46-18:20 116 A220 open ? - 14:46-18:20 +0 N3112J - -\nf356 1875 PVD-MCO 14:47-17:58 133 A320 open ? - 14:47-17:58 +0 N588JB - -\nf357 1823 FLL-MSY 14:48-16:56 113 A320 open ? - 14:48-16:56 +0 N509JB - -\nf358 971 FLL-BQN 14:50-17:19 103 A220 open ? - 14:50-17:19 +0 N3023J - -\nf359 2010 LAX-PBI 14:50-19:32 114 A321P open ? - 14:50-19:32 +0 N944JT - -\nf360 517 BOS-JFK 14:55-16:11 105 A220 open ? - 14:55-16:11 +0 N3104J - -\nf361 283 JFK-MCO 14:59-18:09 143 A320 open ? - 14:59-18:09 +0 N709JB - -\nf362 1134 SJU-MCO 14:59-18:17 120 A320 open ? - 14:59-18:17 +0 N624JB - -\nf363 451 BOS-MCO 15:00-18:25 176 A321 open ? - 15:00-18:25 +0 N959JB - -\nf364 452 MCO-BOS 15:05-18:07 116 A320 open ? - 15:05-18:07 +0 N625JB - -\nf365 1202 JFK-BUF 15:05-16:41 111 A220 open ? - 15:05-16:41 +0 N3275J - -\nf366 1232 VRB-BOS 15:05-18:02 70 A220 open ? - 15:05-18:02 +0 N3142J - -\nf367 1752 SJU-TPA 15:05-18:20 123 A320 open ? - 15:05-18:20 +0 N527JL - -\nf368 2102 FLL-JFK 15:05-17:59 125 A320 open ? - 15:05-17:59 +0 N569JB - -\nf369 1468 PBI-HPN 15:08-17:59 113 A320 open ? - 15:08-17:59 +0 N570JB - -\nf370 1500 DAB-BOS 15:08-18:00 81 A220 open ? - 15:08-18:00 +0 N3280J - -\nf371 602 RSW-JFK 15:10-18:02 120 A320 open ? - 15:10-18:02 +0 N580JB - -\nf372 1355 BOS-DCA 15:10-16:59 105 A220 open ? - 15:10-16:59 +0 N3221J - -\nf373 1765 BOS-RSW 15:10-18:49 144 A320 open ? - 15:10-18:49 +0 N809JB - -\nf374 2602 SJU-HPN 15:12-19:29 90 A220 open ? - 16:40-20:57 +88 N3115J - -\nf375 692 TPA-BOS 15:15-18:21 135 A320 open ? - 15:15-18:21 +0 N639JB - -\nf376 2143 EWR-PBI 15:15-18:18 146 A320 open ? - 15:15-18:18 +0 N649JB - -\nf377 606 FLL-EWR 15:27-18:30 135 A320 open ? - 15:27-18:30 +0 N655JB - -\nf378 221 BOS-PBI 15:29-18:57 120 A220 open ? - 15:29-18:57 +0 N3271J - -\nf379 618 JFK-BOS 15:29-16:49 94 A220 open ? - 15:29-16:49 +0 N3196J - -\nf380 24 PBI-DCA 15:30-17:54 87 A220 open ? - 15:39-18:03 +9 N3257J - -\nf381 1761 LGA-PBI 15:30-18:39 144 A320 open ? - 15:30-18:39 +0 N705JB - -\nf382 426 FLL-RDU 15:31-17:40 100 A220 open ? - 15:31-17:40 +0 N3113J - -\nf383 1100 LAX-FLL 15:31-20:20 135 A321P open ? - 15:31-20:20 +0 N2165J - -\nf384 275 BDL-SJU 15:41-19:32 142 A320 open ? - 15:41-19:32 +0 N554JB - -\nf385 288 LAX-BOS 15:42-21:07 138 A321P open ? - 15:42-21:07 +0 N978JB - -\nf386 723 JFK-LAX 15:45-22:04 138 A321P open ? - 15:45-22:04 +0 N964JT - -\nf387 371 LGA-FLL 15:49-19:11 128 A220 open ? - 15:49-19:11 +0 N3062J - -\nf388 1237 BOS-DTW 15:50-18:11 110 A220 open ? - 15:50-18:11 +0 N3085J - -\nf389 2624 MCO-DCA 15:50-18:05 108 A220 open ? - 17:04-19:19 +74 N3272J - -\nf390 1481 BOS-RIC 15:54-17:53 94 A220 open ? - 15:54-17:53 +0 N3195J - -\nf391 705 EWR-FLL 15:57-19:09 150 A320 open ? - 15:57-19:09 +0 N828JB - -\nf392 83 JFK-MCO 15:59-19:09 143 A320 open ? - 15:59-19:09 +0 N506JB - -\nf393 539 JFK-BQN 15:59-19:55 145 A320 open ? - 15:59-19:55 +0 N827JB - -\nf394 1067 HPN-PBI 15:59-18:59 135 A320 open ? - 15:59-18:59 +0 N715JB - -\nf395 1301 JFK-FLL 15:59-19:15 182 A321 open ? - 15:59-19:15 +0 N952JB - -\nf396 514 FLL-ISP 16:00-18:55 125 A320 open ? - 16:03-18:58 +3 N521JB - -\nf397 1028 MCO-EWR 16:00-18:45 147 A320 open ? - 16:00-18:45 +0 N632JB - -\nf398 1579 DCA-FLL 16:00-18:49 127 A220 open ? - 16:00-18:49 +0 N3258J - -\nf399 348 LAS-JFK 16:05-21:02 130 A321P open ? - 16:05-21:02 +0 N989JT - -\nf400 730 MCO-BQN 16:05-18:51 147 A320 open ? - 16:05-18:51 +0 N729JB - -\nf401 2134 SJU-MCO 16:05-19:27 120 A320 open ? - 16:05-19:27 +0 N712JB - -\nf402 2072 BQN-FLL 16:10-18:52 96 A320 open ? - 16:10-18:52 +0 N663JB - -\nf403 1734 SFO-BOS 16:15-21:53 133 A321P open ? - 16:15-21:53 +0 N945JT - -\nf404 1935 PWM-MCO 16:17-19:49 109 A320 open ? - 16:17-19:49 +0 N612JB - -\nf405 1454 SJU-FLL 16:18-19:10 125 A320 open ? - 16:18-19:10 +0 N653JB - -\nf406 165 BOS-RSW 16:20-19:59 125 A220 open ? - 16:20-19:59 +0 N3152J - -\nf407 908 SJU-BOS 16:22-20:36 107 A321P open ? - 16:22-20:36 +0 N980JT - -\nf408 2404 SJU-JFK 16:24-20:30 124 A320 open ? - 16:24-20:30 +0 N559JB - -\nf409 469 BOS-FLL 16:25-20:02 147 A320 open ? - 16:25-20:02 +0 N627JB - -\nf410 821 BOS-PBI 16:25-19:54 139 A320 open ? - 16:25-19:54 +0 N806JB - -\nf411 1349 MHT-RSW 16:25-20:04 115 A320 open ? - 16:25-20:04 +0 N784JB - -\nf412 613 HPN-FLL 16:27-19:35 120 A220 open ? - 16:27-19:35 +0 N3194J - -\nf413 1130 FLL-CHS 16:27-18:08 105 A320 open ? - 16:27-18:08 +0 N643JB - -\nf414 1278 SFO-FLL 16:29-21:55 138 A321P open ? - 16:29-21:55 +0 N992JB - -\nf415 301 FLL-LAX 16:30-22:25 128 A321P open ? - 16:30-22:25 +0 N993JE - -\nf416 524 LAX-JFK 16:30-21:55 135 A321P open ? - 16:30-21:55 +0 N981JT - -\nf417 375 PHL-FLL 16:32-19:20 135 A320 open ? - 16:32-19:20 +0 N562JB - -\nf418 400 MSY-BOS 16:35-19:56 114 A220 open ? - 16:35-19:56 +0 N3244J - -\nf419 2140 SRQ-BOS 16:35-19:47 114 A220 open ? - 16:35-19:47 +0 N3203J - -\nf420 1972 AUS-FLL 16:39-19:45 125 A320 open ? - 16:39-19:45 +0 N603JB - -\nf421 19 BOS-SAN 16:40-23:20 138 A321P open ? - 16:40-23:20 +0 N988JT - -\nf422 1962 PBI-LGA 16:41-19:31 126 A320 open ? - 16:41-19:31 +0 N652JB - -\nf423 2370 FLL-BOS 16:41-20:00 109 A320 open ? - 16:41-20:00 +0 N760JB - -\nf424 2485 JFK-RDU 16:46-18:43 112 A220 open ? - 16:46-18:43 +0 N3185J - -\nf425 209 BOS-JAX 16:50-20:00 137 A320 open ? - 16:50-20:00 +0 N585JB - -\nf426 1914 FLL-HPN 16:54-19:55 124 A320 open ? - 16:54-19:55 +0 N593JB - -\nf427 234 SJU-MCO 16:55-20:12 120 A320 open ? - 16:55-20:12 +0 N535JB - -\nf428 2473 JFK-CHS 16:55-19:24 106 A220 open ? - 16:55-19:24 +0 N3149J - -\nf429 1053 JFK-PBI 16:57-20:12 141 A320 open ? - 16:57-20:12 +0 N537JT - -\nf430 656 MCO-SYR 16:59-19:50 128 A320 open ? - 16:59-19:50 +0 N531JL - -\nf431 1801 JFK-FLL 16:59-20:20 127 A220 open ? - 16:59-20:20 +0 N3261J - -\nf432 811 BOS-ORD 17:00-20:20 164 A321 open ? - 17:00-20:20 +0 N905JB - -\nf433 1189 JFK-SAN 17:00-23:25 138 A321P open ? - 17:00-23:25 +0 N2142J - -\nf434 2715 JFK-LAX 17:00-23:27 138 A321P open ? - 17:00-23:27 +0 N4076J - -\nf435 545 ISP-PBI 17:05-20:03 141 A320 open ? - 17:05-20:03 +0 N657JB - -\nf436 607 FLL-LAS 17:05-22:40 125 A321P open ? - 17:05-22:40 +0 N968JT - -\nf437 717 BOS-JFK 17:05-18:31 105 A220 open ? - 17:05-18:31 +0 N3157J - -\nf438 100 LAX-FLL 17:10-22:08 117 A321P open ? - 17:10-22:08 +0 N2180J - -\nf439 1303 BOS-PHX 17:12-23:13 169 A321 open ? - 17:12-23:13 +0 N949JT - -\nf440 262 SJU-BOS 17:13-21:27 134 A321 open ? - 17:13-21:27 +0 N2043J - -\nf441 229 BQN-MCO 17:15-20:20 126 A320 open ? - 17:15-20:20 +0 N834JB - -\nf442 703 JFK-SJU 17:20-21:23 184 A321 open ? - 17:20-21:23 +0 N971JT - -\nf443 1260 FLL-BDL 17:22-20:25 133 A320 open ? - 17:22-20:25 +0 N565JB - -\nf444 736 PHX-JFK 17:25-22:09 135 A321P open ? - 17:25-22:09 +0 N976JT - -\nf445 1904 RSW-BDL 17:25-20:22 130 A320 open ? - 17:25-20:22 +0 N524JB - -\nf446 169 RIC-MCO 17:26-19:40 134 A320 open ? - 17:26-19:40 +0 N766JB - -\nf447 615 JFK-SFO 17:29-00:19+1 138 A321P open ? - 17:29-00:19+1 +0 N982JB - -\nf448 1124 LAX-JFK 17:29-22:55 136 A321P open ? - 17:29-22:55 +0 N991JT - -\nf449 1880 FLL-DCA 17:30-20:03 110 A220 open ? - 17:30-20:03 +0 N3215J - -\nf450 245 RIC-FLL 17:32-20:01 141 A320 open ? - 17:32-20:01 +0 N656JB - -\nf451 1337 BDL-MCO 17:32-20:37 141 A320 open ? - 17:32-20:37 +0 N520JB - -\nf452 1697 ATL-FLL 17:35-19:25 131 A320 open ? - 17:35-19:25 +0 N634JB - -\nf453 501 BUF-JFK 17:37-19:09 119 A220 open ? - 17:37-19:09 +0 N3275J - -\nf454 1694 MCO-HPN 17:37-20:25 124 A320 open ? - 17:37-20:25 +0 N563JB - -\nf455 1876 MCO-PVD 17:37-20:26 121 A320 open ? - 17:37-20:26 +0 N523JB - -\nf456 128 MCO-EWR 17:40-20:32 181 A321 open ? - 17:40-20:32 +0 N955JB - -\nf457 272 FLL-LGA 17:42-20:40 130 A320 open ? - 17:42-20:40 +0 N536JB - -\nf458 415 BOS-BUF 17:44-19:28 109 A220 open ? - 17:44-19:28 +0 N3065J - -\nf459 269 BOS-FLL 17:45-21:22 127 A220 open ? - 17:45-21:22 +0 N3232J - -\nf460 1033 MCO-SJU 17:45-20:38 138 A320 open ? - 17:45-20:38 +0 N779JB - -\nf461 1348 SJU-DCA 17:47-21:44 150 A321 open ? - 17:47-21:44 +0 N999JQ - -\nf462 127 EWR-MCO 17:55-21:02 150 A320 open ? - 17:55-21:02 +0 N589JB - -\nf463 711 JFK-LAS 17:55-23:52 132 A321P open ? - 17:55-23:52 +0 N987JT - -\nf464 1506 FLL-EWR 17:55-21:00 125 A320 open ? - 17:55-21:00 +0 N508JL - -\nf465 1501 JFK-FLL 17:59-21:19 147 A320 open ? - 17:59-21:19 +0 N746JB - -\nf466 1785 BOS-PIT 18:00-20:02 91 A220 open ? - 18:00-20:02 +0 N3102J - -\nf467 2202 FLL-JFK 18:00-21:00 125 A320 open ? - 18:00-21:00 +0 N592JB - -\nf468 2722 MSY-FLL 18:00-19:51 123 A320 open ? - 18:00-19:51 +0 N509JB - -\nf469 51 BOS-MCO 18:05-21:34 143 A320 open ? - 18:05-21:34 +0 N615JB - -\nf470 2378 JAX-JFK 18:10-20:31 120 A220 open ? - 18:10-20:31 +0 N3123J - -\nf471 735 JFK-PHX 18:12-23:58 138 A321P open ? - 18:12-23:58 +0 N4080J - -\nf472 270 MCO-RIC 18:15-20:17 109 A220 open ? - 18:15-20:17 +0 N3241J - -\nf473 972 BQN-FLL 18:15-20:55 83 A220 open ? - 18:15-20:55 +0 N3023J - -\nf474 2523 DCA-MCO 18:15-20:44 125 A220 open ? - 18:15-20:44 +0 N3221J - -\nf475 367 MCO-PSE 18:20-21:15 128 A320 open ? - 18:20-21:15 +0 N635JB - -\nf476 2501 FLL-LAX 18:22-00:20+1 128 A321P open ? - 18:22-00:20+1 +0 N962JT - -\nf477 596 FLL-PVD 18:25-21:27 119 A320 open ? - 18:25-21:27 +0 N598JB - -\nf478 605 EWR-FLL 18:25-21:45 150 A320 open ? - 18:25-21:45 +0 N659JB - -\nf479 1241 BDL-PBI 18:25-21:32 136 A320 open ? - 18:25-21:32 +0 N584JB - -\nf480 2119 ORH-FLL 18:25-21:48 126 A320 open ? - 18:25-21:48 +0 N805JB - -\nf481 1030 PBI-JFK 18:27-21:15 117 A320 open ? - 18:27-21:15 +0 N510JB - -\nf482 2322 PBI-BOS 18:28-21:35 120 A320 open ? - 18:28-21:35 +0 N519JB - -\nf483 918 JFK-BOS 18:30-19:59 94 A220 open ? - 18:30-19:59 +0 N3104J - -\nf484 1088 FLL-ALB 18:30-21:34 124 A320 open ? - 18:30-21:34 +0 N646JB - -\nf485 1183 JFK-MCO 18:30-21:42 143 A320 open ? - 18:30-21:42 +0 N794JB - -\nf486 1371 LGA-FLL 18:30-21:44 128 A220 open ? - 18:30-21:44 +0 N3077J - -\nf487 1652 MCO-BOS 18:30-21:34 126 A320 open ? - 18:30-21:34 +0 N640JB - -\nf488 247 BOS-SLC 18:33-00:14+1 124 A220 open ? - 18:33-00:14+1 +0 N3196J - -\nf489 425 RDU-FLL 18:35-20:47 117 A220 open ? - 18:35-20:47 +0 N3113J - -\nf490 1470 FLL-BOS 18:35-21:52 102 A220 open ? - 18:35-21:52 +0 N3162J - -\nf491 2124 LAX-JFK 18:40-23:59 117 A321P open ? - 18:40-23:59 +0 N942JB - -\nf492 276 SJU-BDL 18:44-22:59 110 A320 open ? - 18:44-22:59 +0 N648JB - -\nf493 993 BOS-DEN 18:45-23:37 140 A320 open ? - 18:45-23:37 +0 N775JB - -\nf494 1492 TPA-BOS 18:45-21:51 116 A220 open ? - 18:45-21:51 +0 N3242J - -\nf495 1482 RIC-BOS 18:48-20:33 95 A220 open ? - 18:48-20:33 +0 N3195J - -\nf496 561 BOS-SJU 18:50-22:56 181 A321 open ? - 18:50-22:56 +0 N958JB - -\nf497 1252 RSW-HPN 18:52-21:44 122 A320 open ? - 18:52-21:44 +0 N665JB - -\nf498 998 MCO-LGA 18:53-21:32 144 A320 open ? - 18:53-21:32 +0 N623JB - -\nf499 1453 FLL-SJU 18:55-21:25 139 A320 open ? - 18:55-21:25 +0 N608JB - -\nf500 487 BOS-LAX 18:59-01:39+1 138 A321P open ? - 18:59-01:39+1 +0 N977JE - -\nf501 714 FLL-HPN 18:59-22:00 124 A320 open ? - 18:59-22:00 +0 N645JB - -\nf502 1367 HPN-PBI 18:59-21:51 135 A320 open ? - 18:59-21:51 +0 N570JB - -\nf503 2181 JFK-RNO 18:59-01:26+1 118 A220 open ? - 18:59-01:26+1 +0 N3138J - -\nf504 1115 JFK-SFO 19:00-01:49+1 138 A321P open ? - 19:00-01:49+1 +0 N929JB - -\nf505 1832 FLL-JFK 19:00-21:57 108 A220 open ? - 19:00-21:57 +0 N3156J - -\nf506 2354 DCA-BOS 19:00-20:35 101 A220 open ? - 19:00-20:35 +0 N3257J - -\nf507 2533 DCA-PBI 19:00-21:33 112 A220 open ? - 20:04-22:37 +64 N3272J - -\nf508 697 BOS-ATL 19:02-22:05 121 A220 open ? - 19:02-22:05 +0 N3276J - -\nf509 1131 CHS-FLL 19:03-20:40 123 A320 open ? - 19:03-20:40 +0 N643JB - -\nf510 552 BOS-MCO 19:04-22:30 132 A320 open ? - 19:04-22:30 +0 N644JB - -\nf511 1236 DTW-BOS 19:06-20:58 109 A220 open ? - 19:06-20:58 +0 N3085J - -\nf512 1475 BDL-SJU 19:10-22:59 142 A320 open ? - 19:10-22:59 +0 N561JB - -\nf513 62 PBI-LGA 19:12-21:56 116 A320 open ? - 19:12-21:56 +0 N595JB - -\nf514 2144 PBI-EWR 19:13-22:07 132 A320 open ? - 19:13-22:07 +0 N649JB - -\nf515 391 BOS-TPA 19:15-22:51 142 A320 open ? - 19:15-22:51 +0 N625JB - -\nf516 776 MSY-JFK 19:15-22:14 111 A220 open ? - 19:15-22:14 +0 N3112J - -\nf517 1248 TPA-LGA 19:15-21:56 137 A320 open ? - 19:15-21:56 +0 N633JB - -\nf518 1350 RSW-MHT 19:15-22:26 100 A320 open ? - 19:15-22:26 +0 N534JB - -\nf519 1751 TPA-SJU 19:15-22:07 134 A320 open ? - 19:15-22:07 +0 N638JB - -\nf520 2389 EWR-SJU 19:15-23:21 150 A320 open ? - 19:15-23:21 +0 N547JB - -\nf521 438 MCO-BDL 19:16-22:05 131 A320 open ? - 19:16-22:05 +0 N588JB - -\nf522 2355 BOS-DCA 19:20-21:10 105 A220 open ? - 19:20-21:10 +0 N3280J - -\nf523 177 BOS-LAS 19:25-01:29+1 135 A321P open ? - 19:25-01:29+1 +0 N923JB - -\nf524 2052 MCO-BOS 19:25-22:28 126 A320 open ? - 19:25-22:28 +0 N709JB - -\nf525 225 JFK-TPA 19:29-22:46 147 A320 open ? - 19:29-22:46 +0 N629JB - -\nf526 369 BOS-FLL 19:29-23:03 182 A321 open ? - 19:29-23:03 +0 N2017J - -\nf527 770 FLL-BOS 19:30-22:46 118 A320 open ? - 19:35-22:51 +5 N586JB - -\nf528 872 SLC-JFK 19:35-23:57 125 A321P open ? - 19:35-23:57 +0 N2105J - -\nf529 1384 MCO-JFK 19:35-22:17 157 A321 open ? - 19:35-22:17 +0 N959JB - -\nf530 1462 SJU-BOS 19:35-23:47 134 A321 open ? - 19:35-23:47 +0 N956JT - -\nf531 1911 EWR-RSW 19:35-22:58 138 A320 open ? - 19:35-22:58 +0 N605JB - -\nf532 57 FLL-PHX 19:39-00:49+1 125 A321P open ? - 19:39-00:49+1 +0 N969JT - -\nf533 2486 RDU-JFK 19:39-21:22 120 A220 open ? - 19:39-21:22 +0 N3185J - -\nf534 423 JFK-LAX 19:40-02:06+1 138 A321P open ? - 19:40-02:06+1 +0 N990JL - -\nf535 2265 BOS-RSW 19:40-23:18 144 A320 open ? - 19:40-23:18 +0 N639JB - -\nf536 1368 PBI-HPN 19:42-22:30 113 A320 open ? - 19:42-22:30 +0 N705JB - -\nf537 538 BQN-JFK 19:46-23:44 114 A320 open ? - 19:46-23:44 +0 N729JB - -\nf538 394 DEN-BOS 19:47-23:40 103 A220 open ? - 19:47-23:40 +0 N3247J - -\nf539 513 ISP-FLL 19:50-22:57 139 A320 open ? - 19:50-22:57 +0 N521JB - -\nf540 543 EWR-PBI 19:50-22:55 146 A320 open ? - 19:50-22:55 +0 N655JB - -\nf541 1214 DFW-BOS 19:50-23:33 118 A220 open ? - 19:50-23:33 +0 N3118J - -\nf542 22 PBI-BOS 19:52-22:58 104 A220 open ? - 19:52-22:58 +0 N3271J - -\nf543 526 SJU-PVD 19:55-23:59 97 A320 open ? - 19:55-23:59 +0 N796JB - -\nf544 932 IAH-BOS 19:55-23:42 109 A220 open ? - 19:55-23:42 +0 N3267J - -\nf545 1687 PBI-PVD 19:55-22:43 116 A320 open ? - 19:55-22:43 +0 N715JB - -\nf546 2004 SJU-JFK 19:55-23:57 124 A320 open ? - 19:55-23:57 +0 N658JB - -\nf547 2 FLL-JFK 20:00-22:57 108 A220 open ? - 20:00-22:57 +0 N3240J - -\nf548 277 FLL-SFO 20:00-02:30+1 128 A321P open ? - 20:00-02:30+1 +0 N967JT - -\nf549 376 FLL-PHL 20:00-22:49 120 A320 open ? - 20:00-22:49 +0 N663JB - -\nf550 1305 JFK-ORD 20:00-23:04 127 A320 open ? - 20:00-23:04 +0 N504JB - -\nf551 1701 JFK-FLL 20:00-23:22 127 A220 open ? - 20:00-23:22 +0 N3157J - -\nf552 2626 FLL-RDU 20:00-22:10 100 A220 open ? - 20:00-22:10 +0 N3258J - -\nf553 1586 MCO-BUF 20:05-22:51 129 A320 open ? - 20:05-22:51 +0 N624JB - -\nf554 1912 RSW-EWR 20:05-23:00 137 A320 open ? - 20:05-23:00 +0 N809JB - -\nf555 1017 BOS-JFK 20:07-21:29 105 A220 open ? - 20:07-21:29 +0 N3142J - -\nf556 2080 FLL-DCA 20:15-22:46 128 A320 open ? - 20:15-22:46 +0 N662JB - -\nf557 2821 MCO-LAS 20:15-01:45+1 110 A321P open ? - 20:15-01:45+1 +0 N961JT - -\nf558 1274 CHS-JFK 20:19-22:19 99 A220 open ? - 20:19-22:19 +0 N3149J - -\nf559 1798 FLL-ATL 20:20-22:10 121 A320 open ? - 20:20-22:10 +0 N828JB - -\nf560 1905 FLL-TPA 20:20-21:26 84 A320 open ? - 20:20-21:26 +0 N568JB - -\nf561 2008 FLL-PIT 20:20-22:56 86 A320 open ? - 20:20-22:56 +0 N653JB - -\nf562 2823 FLL-MSY 20:20-22:25 113 A320 open ? - 20:20-22:25 +0 N562JB - -\nf563 97 JFK-DEN 20:21-00:59+1 133 A320 open ? - 20:21-00:59+1 +0 N793JB - -\nf564 1146 FLL-RIC 20:25-22:42 117 A320 open ? - 20:25-22:42 +0 N634JB - -\nf565 2615 JFK-SFO 20:25-03:14+1 138 A321P open ? - 20:25-03:14+1 +0 N946JL - -\nf566 761 LGA-PBI 20:29-23:30 144 A320 open ? - 20:29-23:30 +0 N652JB - -\nf567 1369 BOS-FLL 20:29-23:59 127 A220 open ? - 20:29-23:59 +0 N3125J - -\nf568 719 JFK-ATL 20:30-23:19 121 A220 open ? - 20:30-23:19 +0 N3169J - -\nf569 470 FLL-BOS 20:35-23:53 118 A320 open ? - 20:35-23:53 +0 N603JB - -\nf570 491 BUF-LAX 20:35-02:05+1 130 A220 open ? - 20:35-02:05+1 +0 N3065J - -\nf571 884 MCO-JFK 20:35-23:14 127 A320 open ? - 20:35-23:14 +0 N506JB - -\nf572 1677 JFK-JAX 20:36-23:29 121 A220 open ? - 20:36-23:29 +0 N3275J - -\nf573 321 BOS-PBI 20:39-23:59 139 A320 open ? - 20:39-23:59 +0 N618JB - -\nf574 572 FLL-LGA 20:40-23:36 112 A220 open ? - 20:40-23:36 +0 N3062J - -\nf575 866 FLL-BUF 20:40-23:43 123 A220 open ? - 20:40-23:43 +0 N3194J - -\nf576 2053 JFK-PBI 20:40-23:53 141 A320 open ? - 20:40-23:53 +0 N763JB - -\nf577 2271 FLL-AUS 20:40-23:29 122 A320 open ? - 20:40-23:29 +0 N509JB - -\nf578 655 SYR-MCO 20:45-23:47 131 A320 open ? - 20:45-23:47 +0 N531JL - -\nf579 791 BOS-TPA 20:45-00:17+1 123 A220 open ? - 20:45-00:17+1 +0 N3139J - -\nf580 1294 MCO-HPN 20:45-23:29 124 A320 open ? - 20:45-23:29 +0 N712JB - -\nf581 383 JFK-MCO 20:47-23:59 176 A321 open ? - 20:47-23:59 +0 N948JB - -\nf582 1251 HPN-RSW 20:50-23:59 142 A320 open ? - 20:50-23:59 +0 N593JB - -\nf583 1723 JFK-LAX 20:50-03:19+1 138 A321P open ? - 20:50-03:19+1 +0 N4077J - -\nf584 1873 EWR-LAX 20:50-03:06+1 132 A321P open ? - 20:50-03:06+1 +0 N2169J - -\nf585 1922 PBI-BOS 20:50-23:56 120 A320 open ? - 20:50-23:56 +0 N806JB - -\nf586 2826 TPA-JFK 20:50-23:32 145 A320 open ? - 20:50-23:32 +0 N527JL - -\nf587 2919 MCO-ALB 20:50-23:40 133 A320 open ? - 20:50-23:40 +0 N766JB - -\nf588 166 RSW-BOS 20:54-23:59 108 A220 open ? - 20:54-23:59 +0 N3152J - -\nf589 206 BOS-PQI 20:55-22:18 57 A220 open ? - 20:55-22:18 +0 N3203J - -\nf590 460 FLL-BDL 20:55-23:56 133 A320 open ? - 20:55-23:56 +0 N656JB - -\nf591 1410 JAX-BOS 20:55-23:31 129 A320 open ? - 20:55-23:31 +0 N585JB - -\nf592 111 JFK-LAS 20:59-02:59+1 132 A321P open ? - 20:59-02:59+1 +0 N934JB - -\nf593 254 RSW-JFK 20:59-23:49 120 A320 open ? - 20:59-23:49 +0 N784JB - -\nf594 668 PBI-HPN 20:59-23:48 113 A320 open ? - 20:59-23:48 +0 N657JB - -\nf595 706 FLL-EWR 20:59-23:58 135 A320 open ? - 20:59-23:58 +0 N627JB - -\nf596 729 BQN-MCO 20:59-23:58 136 A320 open ? - 20:59-23:58 +0 N827JB - -\nf597 733 BOS-SFO 20:59-03:52+1 138 A321P open ? - 20:59-03:52+1 +0 N943JT - -\nf598 1902 FLL-JFK 20:59-23:54 154 A321 open ? - 20:59-23:54 +0 N952JB - -\nf599 2009 PBI-LAX 20:59-02:56+1 100 A321P open ? - 20:59-02:56+1 +0 N944JT - -\nf600 2129 JFK-RSW 20:59-00:23+1 143 A320 open ? - 20:59-00:23+1 +0 N804JB - -\nf601 803 JFK-SJU 21:00-00:59+1 149 A320 open ? - 21:00-00:59+1 +0 N821JB - -\nf602 1152 MCO-BOS 21:07-00:09+1 126 A320 open ? - 21:07-00:09+1 +0 N612JB - -\nf603 1244 PBI-ISP 21:07-23:50 114 A320 open ? - 21:07-23:50 +0 N537JT - -\nf604 1151 BOS-MCO 21:12-00:33+1 123 A220 open ? - 21:12-00:33+1 +0 N3244J - -\nf605 1012 ORD-BOS 21:15-23:44 156 A321 open ? - 21:19-23:48 +4 N905JB - -\nf606 187 BOS-LAX 21:20-03:57+1 138 A321P open ? - 21:20-03:57+1 +0 N2157J - -\nf607 195 HPN-MCO 21:20-00:11+1 134 A320 open ? - 21:20-00:11+1 +0 N563JB - -\nf608 1089 BDL-FLL 21:20-00:36+1 146 A320 open ? - 21:20-00:36+1 +0 N524JB - -\nf609 653 FLL-SJU 21:25-23:56 139 A320 open ? - 21:25-23:56 +0 N643JB - -\nf610 2054 SJU-FLL 21:25-00:17+1 125 A320 open ? - 21:25-00:17+1 +0 N556JB - -\nf611 2369 BOS-FLL 21:29-00:59+1 136 A320 open ? - 21:29-00:59+1 +0 N760JB - -\nf612 2587 JFK-DCA 21:29-22:46 86 A220 open ? - 21:29-22:46 +0 N3132J - -\nf613 783 BOS-RDU 21:30-23:42 111 A220 open ? - 21:30-23:42 +0 N3195J - -\nf614 845 BOS-SYR 21:30-22:49 81 A220 open ? - 21:30-22:49 +0 N3104J - -\nf615 970 FLL-BOS 21:30-00:43+1 118 A320 open ? - 22:04-01:17+1 +34 N746JB - -\nf616 1199 LGA-MCO 21:30-00:26+1 149 A320 open ? - 21:30-00:26+1 +0 N536JB - -\nf617 2041 BOS-CLE 21:30-23:40 98 A220 open ? - 21:30-23:40 +0 N3257J - -\nf618 828 MCO-EWR 21:40-00:22+1 147 A320 open ? - 21:40-00:22+1 +0 N535JB - -\nf619 1827 EWR-MCO 21:40-00:44+1 187 A321 open ? - 21:40-00:44+1 +0 N955JB - -\nf620 101 FLL-LAX 21:45-03:42+1 128 A321P open ? - 21:45-03:42+1 +0 N2165J - -\nf621 820 JFK-DTW 21:45-23:59 105 A220 open ? - 21:45-23:59 +0 N3123J - -\nf622 2839 JFK-BQN 21:50-01:51+1 145 A320 open ? - 21:50-01:51+1 +0 N569JB - -\nf623 403 JFK-SJU 21:59-02:03+1 184 A321 open ? - 23:17-03:21+1 +78 N959JB - -\nf624 745 JFK-PSE 21:59-02:06+1 145 A320 open ? - 21:59-02:06+1 +0 N580JB - -\nf625 1195 JFK-PIT 22:05-23:57 99 A320 open ? - 22:05-23:57 +0 N526JL - -\nf626 767 MCO-PSE 22:07-01:00+1 128 A320 open ? - 22:07-01:00+1 +0 N834JB - -\nf627 368 PSE-MCO 22:10-01:21+1 118 A320 open ? - 22:10-01:21+1 +0 N635JB - -\nf628 1185 JFK-RDU 22:15-00:14+1 112 A220 open ? - 22:15-00:14+1 +0 N3189J - -\nf629 1602 JFK-BUF 22:15-23:54 111 A220 open ? - 22:15-23:54 +0 N3284J - -\nf630 1434 SJU-MCO 22:25-01:34+1 120 A320 open ? - 22:25-01:34+1 +0 N554JB - -\nf631 1128 JFK-PVD 22:29-23:39 62 A320 open ? - 22:29-23:39 +0 N597JB - -\nf632 2133 MCO-SJU 22:29-01:17+1 138 A320 open ? - 22:29-01:17+1 +0 N520JB - -\nf633 486 JFK-ROC 22:30-00:04+1 109 A220 open ? - 22:30-00:04+1 +0 N3185J - -\nf634 2516 JFK-SYR 22:35-23:59 84 A320 open ? - 22:35-23:59 +0 N559JB - -\nf635 675 JFK-BDL 22:59-23:59 63 A320 open ? - 22:59-23:59 +0 N529JB - -\nf636 1118 JFK-BOS 22:59-00:16+1 94 A220 open ? - 22:59-00:16+1 +0 N3142J - -\nf637 1524 LAX-JFK 23:35-04:48+1 135 A321P open ? - 23:35-04:48+1 +0 N964JT - -\nf638 734 SFO-BOS 23:44-05:15+1 133 A321P open ? - 23:44-05:15+1 +0 N979JT - -\nf639 1574 LAX-EWR 23:50-05:00+1 133 A321P open ? - 23:50-05:00+1 +0 N937JB - -\nf640 608 LAS-FLL 00:16+1-05:00+1 130 A321P open ? - 00:16+1-05:00+1 +0 N968JT - -\nf641 502 PHX-BOS 00:28+1-05:06+1 140 A321 open ? - 00:28+1-05:06+1 +0 N949JT - -\nf642 2120 SAN-BOS 00:30+1-05:55+1 136 A321P open ? - 00:30+1-05:55+1 +0 N988JT - -\nf643 1190 SAN-JFK 00:35+1-05:45+1 135 A321P open ? - 00:35+1-05:45+1 +0 N2142J - -\nf644 700 LAX-FLL 00:40+1-05:29+1 135 A321P open ? - 00:40+1-05:29+1 +0 N993JE - -\nf645 994 DEN-BOS 00:40+1-04:27+1 119 A320 open ? - 00:40+1-04:27+1 +0 N775JB - -\nf646 58 PHX-FLL 01:08+1-05:10+1 134 A321P open ? - 01:08+1-05:10+1 +0 N4080J - -\nf647 248 SLC-BOS 01:10+1-05:39+1 104 A220 open ? - 01:10+1-05:39+1 +0 N3196J - -\nf648 2822 LAS-MCO 01:24+1-05:54+1 118 A321P open ? - 01:24+1-05:54+1 +0 N987JT - -\nf649 200 LAX-FLL 01:30+1-06:22+1 135 A321P open ? - 01:30+1-06:22+1 +0 N986JB - -\nf650 2724 LAX-JFK 01:40+1-07:00+1 136 A321P open ? - 01:40+1-07:00+1 +0 N4076J - -\nf651 36 PHX-JFK 01:59+1-06:33+1 135 A321P open ? - 01:59+1-06:33+1 +0 N969JT - -\nf652 98 DEN-JFK 01:59+1-05:40+1 120 A320 open ? - 01:59+1-05:40+1 +0 N793JB - -\nf653 80 RNO-JFK 02:21+1-07:29+1 102 A220 open ? - 02:21+1-07:29+1 +0 N3138J - -\nf654 616 SFO-JFK 02:25+1-07:55+1 138 A321P open ? - 02:25+1-07:55+1 +0 N982JB - -\nf655 988 LAX-BOS 02:35+1-08:01+1 138 A321P open ? - 02:35+1-08:01+1 +0 N962JT - -\nf656 2178 LAS-BOS 02:39+1-07:37+1 133 A321P open ? - 02:39+1-07:37+1 +0 N923JB - -\nf657 492 LAX-BUF 02:53+1-07:32+1 129 A220 open ? - 02:53+1-07:32+1 +0 N3065J - -\nf658 378 SFO-FLL 02:59+1-08:17+1 138 A321P open ? - 02:59+1-08:17+1 +0 N929JB - -\nf659 948 LAS-JFK 02:59+1-07:49+1 129 A321P open ? - 02:59+1-07:49+1 +0 N961JT - -\n\n## Aircraft now, as your plan has them (@ = ready at)\nJFK: N2017J@04:50 N2105J@09:03 N2142J@09:50 N2165J N2180J N3115J N3189J@21:30 N3232J N3261J N3275J N3284J@21:45 N4076J@09:50 N509JB@05:45 N526JL@20:14 N527JL N534JB@09:37 N564JB N579JB N597JB@20:15 N603JB N635JB N658JB@08:45 N706JB@18:00+1 N709JB@09:55 N712JB N746JB N763JB N804JB@17:14 N806JB N827JB@11:25 N903JB N942JB@05:59 N952JB@07:00 N964JT@09:45 N971JT@14:59 N976JT N979JT N986JB@06:23 N987JT@11:45 N989JT N991JT N995JL N996JL@05:55 N999JQ@05:55\nALB: N760JB N784JB\nATL: N3085J N566JB\nAUS: N663JB\nBDL: N3058J@04:06 N520JB N537JT N554JB N645JB\nBOS: N2043J N2151J N2157J N3102J@05:56 N3104J N3138J N3139J@20:10 N3149J N3162J N3185J N3195J N3242J N3247J N3267J N3271J N3276J N508JL N510JB N547JB N585JB N618JB N624JB N656JB@05:10 N659JB N662JB N665JB@13:25 N796JB@08:30 N923JB@05:38 N943JT@05:52 N945JT N948JB N949JT N956JT@06:55 N958JB@16:00 N980JT@06:07 N981JT N988JT@08:36\nBQN: N595JB\nBUF: N3023J N3112J N3244J@09:25 N779JB\nCLE: N3142J\nDCA: N3145J N3196J N3241J N621JB N955JB\nDTW: N3280J\nEWR: N517JB N531JL@08:40 N569JB N605JB@19:05 N657JB N805JB N944JT@05:50\nFLL: N2038J@05:00 N2044J N3062J N3077J N3113J N3156J N3203J N3221J N3240J N3258J@11:42 N4077J N521JB N562JB@12:00 N568JB@19:55 N634JB N641JB N766JB@13:15 N828JB N934JB@04:50 N937JB@11:30 N967JT@06:43 N969JT@06:19 N978JB@08:39 N992JB@08:44\nHPN: N556JB N638JB N639JB N644JB N715JB N834JB\nISP: N794JB\nJAX: N3169J\nLAX: N2169J@06:39 N4080J N962JT@06:14 N977JE@04:15 N982JB@06:04 N990JL@05:02 N993JE@05:56\nLGA: N3251J N633JB N648JB N809JB\nMCO: N3215J N3269J N504JB N506JB N519JB N561JB N571JB N588JB@04:16 N599JB N612JB@10:35 N625JB N632JB N640JB N643JB N653JB@07:37 N729JB N905JB@05:49 N961JT@06:55 N972JT@05:00\nMHT: N789JB\nMSY: N586JB\nORD: N768JB\nPBI: N3257J N524JB N529JB@05:22 N580JB N623JB N775JB N821JB\nPHL: N646JB\nPIT: N3229J N598JB N652JB\nPQI: N3065J\nPSE: N705JB\nPVD: N523JB N535JB N559JB N627JB N793JB\nRDU: N3118J N3132J N3194J\nRIC: N3272J N608JB\nROC: N3123J\nRSW: N563JB N584JB N607JB N615JB\nSFO: N929JB@04:38 N946JL@05:14 N968JT@04:57\nSJU: N3157J N552JB N570JB N589JB N590JB N592JB N629JB N630JB N649JB N661JB N957JB N959JB\nSYR: N3152J N593JB\nTPA: N3125J N536JB N565JB N655JB\nairborne: none\n\n## News so far\n[13:13-1] JFK proposed ground delay program 16:00-1-23:59-1, rate 32/32/32/32/32/32/32/32 arrivals/h (all carriers), average delay 150 min, max 224 [advisory adv-20251219-098, signed 13:13-1]\n[13:44-1] JFK ground delay program 16:00-1-00:59, rate 32/32/32/32/32/32/32/32/42 arrivals/h (all carriers), average delay 147 min, max 233 [advisory adv-20251219-103, signed 13:44-1]\n[20:06-1] BOS GDP cancelled 20:00-1-01:05 [advisory adv-20251220-023, signed 20:06-1]\n[23:06-1] JFK GDP cancelled 23:03-1-14:14 [advisory adv-20251220-036, signed 23:06-1]\n[00:20] TAF KJFK 200520Z 2006/2112 29024G32KT P6SM BKN045 FM200900 29016G24KT P6SM SCT045 FM201200 29013G21KT P6SM FEW045 FM201700 24009KT P6SM FEW050 BKN250 FM202000 21012KT P6SM FEW050 SCT250=\n[02:51] KJFK 200751Z 29015G29KT 10SM SCT050 M01/M11 A3005 RMK AO2 PK WND 30032/0740 SLP173 T10061111 $\n[03:31] TAF AMD KJFK 200831Z 2009/2112 29016G25KT P6SM SCT045 FM201200 29013G21KT P6SM FEW045 FM201700 24009KT P6SM FEW050 BKN250 FM202000 21012KT P6SM FEW050 SCT250=\n[03:51] KJFK 200851Z 29015G23KT 10SM SCT050 SCT250 M01/M11 A3006 RMK AO2 SLP178 T10061106 51042 $\n\nIt is the first watch, 04:00. Nothing is frozen yet: set the day up with confirm_changes, then call advance.", + "max_turns": 204, + "model_params": { + "max_tokens": 32000 + }, + "timeout_seconds": 7200 + }, + { + "id": "end-day", + "type": "apply_server_config", + "env_id": "airops-v3-day", + "directives": [ + { + "service": "airops-v3-day", + "uri": "urn:airops:v3-end-day/v1", + "args": {} + } + ] + }, + { + "id": "grade", + "type": "env_outcome_verifier", + "env_id": "airops-v3-day", + "file_artifact_id": "airops-verifier", + "verifier_id": "airops", + "score_aggregator": "weighted_average" + } +] diff --git a/src/agentenv_airops/bundles/airops-v3/tasks/b6-20260126-0400.json b/src/agentenv_airops/bundles/airops-v3/tasks/b6-20260126-0400.json new file mode 100644 index 0000000..cc05a61 --- /dev/null +++ b/src/agentenv_airops/bundles/airops-v3/tasks/b6-20260126-0400.json @@ -0,0 +1,70 @@ +[ + { + "id": "deploy", + "type": "deploy_env", + "env_id": "airops-v3-day" + }, + { + "id": "load-task", + "type": "apply_server_config", + "env_id": "airops-v3-day", + "directives": [ + { + "service": "airops-v3-day", + "uri": "urn:airops:v3-live-load/v1", + "args": { + "task_id": "b6-20260126-0400", + "anchor": 15494911 + } + } + ] + }, + { + "id": "deploy-agent", + "type": "deploy_agent", + "a2a_agent_id": "airops-llm", + "env_ids": [ + "airops-v3-day" + ] + }, + { + "id": "clock", + "type": "sync_env_clock", + "env_id": "airops-v3-day", + "virtual_time": "2026-01-26T09:00:00Z", + "virtual_seconds_per_real_second": 0, + "tolerate_missing_sync_time": false + }, + { + "id": "play", + "type": "prompt_agent", + "prompt_id": "b6-20260126-0400", + "system_prompt": "You run the JetBlue operations desk on a storm day at JFK and BOS: thunderstorms, snow or wind, and the FAA ground stops and ground delay programs (GDPs) that follow, cut how many JetBlue flights can land and take off. Your job is to decide which flights to cancel and which to hold, watch by watch, so that passengers and the airline lose as little as possible over the day.\n\nHow the day runs:\n- The day is played in watches starting at watch 0: one an hour, and one more when an advisory or a SPECI reaches the desk or a ramp closure begins or ends, so watches are 15 to 60 minutes apart. The first message gives the day as the desk knows it at watch 0. Every tool call takes 1 minute of the watch; when the watch's time runs out, the next watch opens by itself, and advance opens it at once.\n- What the desk knows: a flight's own departure delay (weather, air traffic control: anything but waiting for its aircraft or a slot) becomes known 2 hours before its scheduled departure; until then it is assumed on time. FAA Command Center advisories and the hubs' METARs, SPECIs and TAFs arrive as messages at the first watch after they reach the desk: an advisory 0 minutes after it is signed, a METAR 5 and a SPECI 5 minutes after its observation, a TAF 10 minutes after its issue, and the programs table shows the programs as issued, proposed GDPs included; a program may end earlier or later than issued.\n- Ground delay programs: a GDP meters arrivals at a hub over its period. A flight into the hub from an origin in its scope, scheduled to land in the period, needs one of JetBlue's arrival slots in the program: it takes the earliest free slot at or after the time it could land and leaves at its EDCT, the slot less its scheduled block. A cancelled or late flight leaves its slot to the flights behind it. Arrivals outside a program fit under the hub's hourly rate.\n- Ground stops: a flight to a stopped hub from an origin the stop covers waits on the ground until the stop ends; flights already airborne fly on.\n- Departure caps: an airport may take only so many JetBlue departures in an hour (the departure caps table, known 4 hours ahead); a flight with no room in its hour tries again at the next hour's start.\n- Outstation arrival caps: an outstation may take only so many JetBlue arrivals in an hour (the outstation arrival caps table, known 4 hours ahead); a flight with no room in its arrival hour leaves so as to land in the next one.\n- Ramp closures: lightning at the field cuts a hub's ramp rate without stopping it. During a closure only so many JetBlue flights may leave the hub and only so many arrive there; a departure with no room leaves at the closure's end, an arrival with none leaves so as to land at it. A closure is known once it begins; until its end comes it is expected to last 30 minutes more, with caps for that long, and the closures table says which ends are reported and which expected.\n- The env flies your plan on the day as it happens: each flight leaves at the earliest time its delay, its hold, a slot, a stop, a cap and an aircraft allow. It takes the first aircraft of its type ready at its origin (aircraft of one type at one airport are interchangeable; an aircraft needs its turn time on the ground between flights). A flight that can't leave by its deadline is cancelled automatically there. At the end of the day the env ferries each aircraft to the airport it is needed at tomorrow.\n- Your decisions: cancel a flight (its aircraft stays on the ground, free for other flights, and its slot goes to the flights behind), restore a cancelled flight, or hold a flight until a time (not_before) so that its slot or aircraft goes to another flight first. A flight you don't touch leaves as early as it can.\n- The freeze: at watch 0 nothing is frozen. From watch 1 on, flights your plan has leaving before the freeze line, 60 minutes after the watch opens, are frozen: they can't be changed, and stay frozen. A cancellation is final. The env holds any other flight your plan would have leaving before the freeze line to it, and refuses a change that would move a frozen flight or one that has already gone.\n\nTools:\n- get_situation(): the time, the freeze line, the programs as issued with JetBlue's slots, the departure caps known so far, the outstation arrival caps known so far, the ramp closures under way or over, the latest METAR or SPECI and TAF per hub, every flight (its status, its known delay, your plan, where your plan has it leave and land on the day as known, how late it lands, its aircraft, its slot and its crew), where the aircraft are, and the news so far.\n- check_plan(changes): your changes over your plan, run on the day as known now: the plan's cost, the flights whose plan or times change, the automatic cancellations, the flights the env would hold to the freeze line, and the changes confirm_changes would refuse. It confirms nothing.\n- confirm_changes(changes): commits the changes; flights you leave out keep their plan.\n- advance(): ends the watch; its result has the new watch's news. After the last watch it returns \"done\": the day is graded on your plan.\nA change is {\"flight\": \"f12\", \"action\": \"cancel\" | \"restore\" | \"hold\" | \"call_reserve\" | \"release_reserve\", \"not_before\": \"HH:MM\" | null}: cancel takes not_before null; restore and hold fly the flight, held until not_before (local time, \"00:30+1\" after midnight), or as early as it can with null. Where a crew base has a reserve pool (the situation's Reserve crews), a flight leaving it past its crew's deadline flies only on a reserve: call_reserve gives it one while the pool lasts, release_reserve hands it back before that deadline.\n\nThe cost, in passenger-minutes: every passenger's minutes of arrival delay; 523 for each passenger on a cancelled flight, plus one for every minute the cancellation is decided later than 2 hours before its scheduled departure (an automatic cancellation is decided at its deadline, so it costs more than an early one); the airline's own aircraft minutes (a late departure costs crew and fixed costs, a long block fuel too, and a cancellation saves its fuel and maintenance); and the end-of-day ferries. A cancellation frees an aircraft and a slot; it pays when it saves the others more than it costs its own passengers. The day is graded once, on your final plan flown on the day as it really happened: the closer its cost to the best plan possible in hindsight, the higher the score. If you stop before the last watch, the rest of the day runs on your plan.", + "prompt": "# JetBlue operations desk, JFK/BOS, Monday 2026-01-26; times are local (America/New_York).\n\nNow 04:00 (watch 0, opened 04:00). First watch: nothing is frozen; changes take effect at once.\n\nYour plan on the day as known costs 28,561,262 (delay 17,000,350, cancellations 2,843,028, notice 3,952,281, ferries 568,702): 0 cancelled, 52 cancelled automatically, 0 on slots.\n\n## Programs as issued (FAA Command Center)\nNone.\n\n## Departure caps: JetBlue departures per hour, known 240 min ahead\nBOS: 05h 0 06h 0 07h 0 08h 1\nJFK: 06h 0 07h 0 08h 0\n\n## Outstation arrival caps: JetBlue arrivals per hour, known 240 min ahead\nDCA: 08h 0\nFLL: 07h 1\nMCO: 08h 1\n\n## Ramp closures (lightning at the field; known once begun)\nNone.\n\n## Latest weather (METAR or SPECI, and TAF)\n[03:54] KBOS 260854Z 35016G24KT 2SM R04R/5500VP6000FT -SN BR SCT008 OVC012 M09/M12 A2980 RMK AO2 SLP089 P0002 60008 T10941117 55014 $\n[03:40] TAF AMD KBOS 260840Z 2609/2712 36015G25KT 1SM -SN OVC010 FM261100 35011G20KT 4SM -SN OVC010 FM262100 34010KT 4SM -SN OVC015 FM270000 32012G25KT P6SM BKN020=\n[03:51] KJFK 260851Z 03013KT 10SM BKN012 OVC024 M05/M07 A2976 RMK AO2 SLP077 T10501067 50009 $\n[03:39] TAF AMD KJFK 260839Z 2609/2712 36011KT P6SM OVC015 FM261600 32012KT P6SM OVC025 TEMPO 2618/2620 SCT025 FM262000 30014G23KT P6SM BKN035 FM270000 30019G28KT P6SM SCT040 FM270600 28013G22KT P6SM FEW040=\n\n## Flights (sched = scheduled dep-arr; delay = known delay, ? not yet; plan = cancel or hold@HH:MM; proj = where your plan has it leave and land on the day as known; late = arrival delay; slot = its GDP slot; crew = crew deadline/rest end, +R on a reserve crew)\nid flight route sched pax type status delay plan proj late tail slot crew\nf0 162 SJU-BOS 04:01-08:11 128 A220 open -2 - 16:00-20:10 +719 N3276J - -\nf1 229 BQN-MCO 04:01-07:04 145 A320 open 3 - 13:59-17:02 +598 N535JB - -\nf2 754 SJU-FLL 05:01-07:50 150 A320 open -9 - 04:52-07:24 -26 N554JB - -\nf3 834 SJU-MCO 05:01-08:16 147 A320 open -3 - 04:58-08:01 -15 N599JB - -\nf4 2390 SJU-EWR 05:01-09:17 150 A320 open 2 - 05:03-09:19 +2 N652JB - -\nf5 1603 JFK-SJU 05:05-08:58 145 A320 open -4 - 05:01-08:54 -4 N593JB - -\nf6 2104 SJU-JFK 05:05-09:11 188 A321 open 2 - 05:07-09:09 -2 N994JL - -\nf7 117 BOS-JFK 05:10-06:28 106 A321 open 19 - 08:00-09:18 +170 N973JT - -\nf8 2838 BQN-JFK 05:15-09:15 150 A320 open 19 - 14:44-18:44 +569 N796JB - -\nf9 207 PQI-BOS 05:45-07:19 56 A220 auto-cancel 19 - - - - - -\nf10 1 JFK-FLL 06:00-09:10 131 A320 open 5 - 10:30-13:40 +270 N646JB - -\nf11 66 RSW-BOS 06:00-09:09 145 A320 open 51 - 06:51-10:00 +51 N807JB - -\nf12 123 JFK-LAX 06:00-12:15 136 A321P open 58 - 16:32-22:47 +632 N968JT - -\nf13 287 BOS-LAX 06:00-12:34 138 A321P open 58 - 16:41-23:15 +641 N935JB - -\nf14 352 MCO-BOS 06:00-08:58 169 A321 open 7 - 06:07-09:05 +7 N949JT - -\nf15 374 SYR-BOS 06:00-07:14 83 A220 open 19 - 11:43-12:57 +343 N3251J - -\nf16 392 TPA-BOS 06:00-08:57 133 A320 open 71 - 07:11-10:08 +71 N784JB - -\nf17 411 JFK-LAS 06:00-11:48 131 A321P open 7 - 15:47-21:35 +587 N4058J - -\nf18 461 LGA-PBI 06:00-08:55 116 A320 open 19 - 10:20-13:15 +260 N624JB - -\nf19 676 BDL-JFK 06:00-07:07 103 A320 open 63 - 15:05-16:12 +545 N639JB - -\nf20 865 BUF-FLL 06:00-09:10 148 A320 open 197 - 09:17-13:36 +266 N519JB - -\nf21 927 EWR-MCO 06:00-08:52 144 A320 open 5 - 10:09-13:01 +249 N652JB - -\nf22 1087 ALB-FLL 06:00-09:20 137 A320 open 5 - 18:22-21:42 +742 N519JB - -\nf23 1184 MCO-JFK 06:00-08:38 173 A321 open 63 - 07:03-09:41 +63 N954JB - -\nf24 1198 PIT-JFK 06:00-07:34 58 A220 auto-cancel 63 - - - - - -\nf25 1233 MCO-SJU 06:00-08:46 141 A320 open -6 - 05:54-08:35 -11 N504JB - -\nf26 1419 DTW-JFK 06:00-07:42 81 A320 auto-cancel 63 - - - - - -\nf27 1476 SJU-BDL 06:00-10:08 150 A320 open 0 - 06:00-10:08 +0 N715JB - -\nf28 1515 JFK-SFO 06:00-12:40 118 A321P open 3 - 12:50-19:30 +410 N984JB - -\nf29 1702 FLL-JFK 06:00-08:51 139 A320 open 63 - 07:03-09:54 +63 N703JB - -\nf30 1888 DCA-JFK 06:00-07:14 61 A220 open 63 - 12:45-13:59 +405 N3267J - -\nf31 1891 PVD-RSW 06:00-09:23 137 A320 open 19 - 17:12-20:35 +672 N640JB - -\nf32 2751 TPA-SJU 06:00-08:47 135 A320 open -3 - 05:57-08:42 -5 N603JB - -\nf33 2954 PBI-JFK 06:00-08:41 120 A320 open 63 - 07:03-09:44 +63 N558JB - -\nf34 546 MCO-ISP 06:15-08:52 102 A320 open ? - 06:15-08:52 +0 N506JB - -\nf35 2433 DCA-PBI 06:15-08:42 81 A220 open ? - 10:00-12:27 +225 N3289J - -\nf36 1129 PVD-JFK 06:16-07:30 76 A320 open ? - 16:15-17:29 +599 N658JB - -\nf37 185 ROC-JFK 06:30-07:50 106 A220 open ? - 14:50-16:10 +500 N3293J - -\nf38 314 FLL-HPN 06:30-09:27 124 A320 open ? - 06:30-09:27 +0 N537JT - -\nf39 667 HPN-PBI 06:30-09:22 125 A320 open ? - 10:17-13:09 +227 N537JT - -\nf40 677 JFK-JAX 06:30-09:10 108 A220 open ? - 09:00-11:40 +150 N3102J - -\nf41 957 EWR-LAS 06:30-12:18 105 A321P open ? - 20:33-02:21+1 +843 N942JB - -\nf42 1153 JFK-PBI 06:30-09:34 119 A320 open ? - 10:34-13:38 +244 N558JB - -\nf43 2725 JFK-TPA 06:30-09:40 110 A220 open ? - 13:15-16:25 +405 N3157J - -\nf44 2752 SJU-TPA 06:30-09:46 139 A320 open ? - 06:30-09:46 +0 N768JB - -\nf45 569 BOS-FLL 06:33-10:05 152 A321 open ? - 10:05-13:37 +212 N949JT - -\nf46 472 FLL-LGA 06:37-09:30 134 A320 open ? - 06:37-09:30 +0 N624JB - -\nf47 138 MCO-BDL 06:44-09:30 138 A320 open ? - 06:44-09:30 +0 N509JB - -\nf48 118 JFK-BOS 06:45-07:57 82 A220 open ? - 13:15-14:27 +390 N3242J - -\nf49 737 BDL-MCO 06:45-09:55 142 A320 open ? - 10:20-13:30 +215 N509JB - -\nf50 1155 BOS-DCA 06:45-08:36 77 A220 open ? - 09:00-10:51 +135 N3104J - -\nf51 1480 FLL-DCA 06:45-09:15 118 A220 open ? - 06:45-09:15 +0 N3289J - -\nf52 2253 FLL-SJU 06:45-09:16 139 A320 open ? - 06:45-09:16 +0 N662JB - -\nf53 35 JFK-PHX 06:50-12:30 120 A321P open ? - 16:19-21:59 +569 N967JT - -\nf54 601 JFK-FLL 06:59-10:11 131 A320 open ? - 10:44-13:56 +225 N703JB - -\nf55 375 PHL-FLL 07:00-09:49 116 A220 open ? - 14:20-17:09 +440 N3115J - -\nf56 426 TPA-JFK 07:00-09:40 127 A320 open ? - 07:00-09:40 +0 N646JB - -\nf57 515 BOS-DFW 07:00-11:38 104 A220 open ? - 13:42-18:20 +402 N3251J - -\nf58 523 JFK-LAX 07:00-13:18 117 A321P open ? - 16:40-22:58 +580 N2142J - -\nf59 525 PVD-SJU 07:00-10:50 133 A320 open ? - 17:18-21:08 +618 N504JB - -\nf60 577 FLL-SFO 07:00-13:30 129 A321P open ? - 07:00-13:30 +0 N944JT - -\nf61 821 BOS-PBI 07:00-10:30 128 A320 open ? - 10:50-14:20 +230 N807JB - -\nf62 959 BDL-FLL 07:00-10:15 141 A320 open ? - 10:58-14:13 +238 N715JB - -\nf63 1143 MHT-MCO 07:00-10:30 137 A320 open ? - 15:07-18:37 +487 N583JB - -\nf64 1145 RIC-FLL 07:00-09:30 128 A320 open ? - 10:34-13:04 +214 N517JB - -\nf65 1154 DCA-BOS 07:00-08:30 75 A220 open ? - 11:36-13:06 +276 N3104J - -\nf66 1447 HPN-TPA 07:00-09:55 131 A320 open ? - 10:49-13:44 +229 N592JB - -\nf67 1505 EWR-FLL 07:00-10:14 135 A320 open ? - 11:52-15:06 +292 N623JB - -\nf68 1941 BOS-SRQ 07:00-10:38 125 A220 open ? - 13:51-17:29 +411 N3104J - -\nf69 2001 BUF-JFK 07:00-08:29 98 A220 open ? - 14:40-16:09 +460 N3284J - -\nf70 2005 PIT-FLL 07:00-09:41 104 A320 auto-cancel ? - - - - - -\nf71 2065 BOS-RSW 07:00-10:40 183 A321 open ? - 12:54-16:34 +354 N905JB - -\nf72 2251 BOS-MCO 07:00-10:30 163 A321 open ? - 16:31-20:01 +571 N971JT - -\nf73 2272 AUS-FLL 07:00-10:00 94 A220 open ? - 07:00-10:00 +0 N3115J - -\nf74 2625 RDU-FLL 07:00-09:15 113 A320 open ? - 19:14-21:29 +734 N793JB - -\nf75 2677 BOS-LAS 07:02-13:12 135 A321P open ? - 17:59-00:09+1 +657 N923JB - -\nf76 2930 SJU-RDU 07:03-10:47 133 A320 open ? - 09:16-13:00 +133 N653JB - -\nf77 1471 LGA-FLL 07:04-10:15 126 A320 open ? - 11:48-14:59 +284 N523JB - -\nf78 1007 BOS-BNA 07:05-10:05 91 A220 open ? - 15:12-18:12 +487 N3242J - -\nf79 217 BOS-JFK 07:08-08:30 74 A220 open ? - 15:25-16:47 +497 N3058J - -\nf80 315 SYR-JFK 07:10-08:28 87 A220 auto-cancel ? - - - - - -\nf81 968 PBI-HPN 07:10-09:59 121 A320 open ? - 07:10-09:59 +0 N592JB - -\nf82 133 BOS-SFO 07:11-14:10 126 A321P open ? - 18:15-01:14+1 +664 N929JB - -\nf83 1604 SJU-JFK 07:15-11:18 188 A321 open ? - 07:15-11:18 +0 N999JQ - -\nf84 722 PBI-BOS 07:22-10:25 166 A321 open ? - 15:05-18:08 +463 N996JL - -\nf85 1101 FLL-LAX 07:25-13:23 138 A321P open ? - 07:25-13:23 +0 N945JT - -\nf86 1273 JFK-CHS 07:25-09:47 72 A220 open ? - 14:25-16:47 +420 N3125J - -\nf87 775 JFK-MSY 07:29-11:05 102 A220 open ? - 14:44-18:20 +435 N3267J - -\nf88 2902 JFK-BUF 07:29-09:02 98 A220 open ? - 14:45-16:18 +436 N3044J - -\nf89 299 LGA-MCO 07:30-10:40 122 A320 open ? - 14:10-17:20 +400 N768JB - -\nf90 379 DCA-FLL 07:30-10:11 124 A320 auto-cancel ? - - - - - -\nf91 395 HPN-MCO 07:30-10:27 122 A320 open ? - 12:45-15:42 +315 N621JB - -\nf92 861 BOS-SJU 07:30-11:33 144 A320 open ? - 10:58-15:01 +208 N784JB - -\nf93 1529 JFK-RSW 07:30-10:51 127 A320 open ? - 15:02-18:23 +452 N603JB - -\nf94 2875 PVD-MCO 07:30-10:40 123 A320 open ? - 19:35-22:45 +725 N521JB - -\nf95 1244 PBI-ISP 07:40-10:20 120 A320 open ? - 11:09-13:49 +209 N564JB - -\nf96 533 BDL-TPA 07:43-10:56 150 A320 open ? - 17:05-20:18 +562 N809JB - -\nf97 570 MCO-RIC 07:45-09:44 124 A320 open ? - 07:45-09:44 +0 N517JB - -\nf98 1867 JFK-DAB 07:45-10:39 86 A220 open ? - 15:43-18:37 +478 N3240J - -\nf99 2831 MCO-LAS 07:51-13:18 120 A321P open ? - 07:51-13:18 +0 N942JB - -\nf100 583 JFK-MCO 07:59-11:08 162 A321 open ? - 09:00-12:09 +61 N903JB - -\nf101 45 FLL-HDN 08:00-13:03 127 A320 open ? - 08:00-13:03 +0 N775JB - -\nf102 85 BUF-MCO 08:00-10:50 138 A320 open ? - 08:00-10:50 +0 N706JB - -\nf103 109 BOS-JAX 08:00-11:09 112 A220 open ? - 15:26-18:35 +446 N3280J - -\nf104 143 EWR-PBI 08:00-11:03 136 A320 open ? - 13:20-16:23 +320 N661JB - -\nf105 366 RSW-BOS 08:00-11:05 145 A320 open ? - 19:13-22:18 +673 N603JB - -\nf106 907 BOS-STT 08:00-12:05 113 A320 open ? - 13:04-17:09 +304 N630JB - -\nf107 1191 BOS-TPA 08:00-11:30 143 A320 open ? - 16:09-19:39 +489 N709JB - -\nf108 1555 BOS-DCA 08:00-09:51 77 A220 open ? - 15:39-17:30 +459 N3169J - -\nf109 1797 ATL-FLL 08:00-09:55 115 A320 open ? - 08:00-09:55 +0 N591JB - -\nf110 1822 MSY-FLL 08:00-09:48 108 A320 open ? - 08:00-09:48 +0 N594JB - -\nf111 2033 BOS-IAH 08:00-12:39 130 A320 open ? - 16:28-21:07 +508 N655JB - -\nf112 2223 JFK-LAX 08:01-14:25 135 A321P open ? - 17:30-23:54 +569 N969JT - -\nf113 1297 JFK-DEN 08:04-12:45 93 A220 open ? - 15:44-20:25 +460 N3189J - -\nf114 2063 BOS-EYW 08:09-12:05 107 A220 open ? - 16:20-20:16 +491 N3138J - -\nf115 1056 MCO-SYR 08:10-10:58 124 A220 open ? - 08:10-10:58 +0 N3251J - -\nf116 813 HPN-FLL 08:15-11:20 114 A320 open ? - 14:09-17:14 +354 N805JB - -\nf117 1142 PBI-BDL 08:15-11:05 132 A320 open ? - 11:25-14:15 +190 N639JB - -\nf118 1347 DCA-SJU 08:15-12:08 181 A321 open ? - 22:32-02:25+1 +857 N903JB - -\nf119 389 EWR-SJU 08:19-12:20 150 A320 open ? - 14:25-18:26 +366 N615JB - -\nf120 488 MCO-ORH 08:20-11:05 122 A320 open ? - 08:20-11:05 +0 N520JB - -\nf121 598 MCO-LGA 08:20-10:58 140 A320 open ? - 08:20-10:58 +0 N523JB - -\nf122 797 BOS-ATL 08:20-11:22 110 A220 open ? - 16:22-19:24 +482 N3132J - -\nf123 2028 MCO-EWR 08:20-11:02 144 A320 open ? - 08:20-11:02 +0 N623JB - -\nf124 15 JFK-SFO 08:25-15:05 118 A321P open ? - 19:02-01:42+1 +637 N964JT - -\nf125 553 FLL-SJU 08:25-10:55 172 A321 open ? - 08:25-10:55 +0 N2029J - -\nf126 1707 FLL-LAS 08:25-14:00 137 A321P open ? - 08:25-14:00 +0 N976JT - -\nf127 2201 JFK-FLL 08:25-11:42 131 A320 open ? - 16:39-19:56 +494 N657JB - -\nf128 160 FLL-BDL 08:30-11:29 127 A220 open ? - 10:10-13:09 +100 N3156J - -\nf129 267 BOS-CHS 08:30-11:13 102 A220 open ? - 16:50-19:33 +500 N3229J - -\nf130 597 PVD-FLL 08:30-11:40 142 A320 open ? - 22:22-01:32+1 +832 N805JB - -\nf131 1906 TPA-FLL 08:30-09:34 112 A320 open ? - 08:30-09:34 +0 N796JB - -\nf132 2486 RDU-JFK 08:30-10:05 96 A220 open ? - 23:09-00:44+1 +879 N3157J - -\nf133 2920 ALB-MCO 08:34-11:48 138 A320 open ? - 22:13-01:27+1 +819 N593JB - -\nf134 1173 JFK-BNA 08:35-11:13 105 A220 open ? - 16:54-19:32 +499 N3284J - -\nf135 1482 RIC-BOS 08:35-10:14 92 A220 open ? - 23:16-00:55+1 +881 N3272J - -\nf136 2276 FLL-PHL 08:35-11:25 117 A220 open ? - 10:45-13:35 +130 N3115J - -\nf137 2103 BDL-RSW 08:39-12:02 150 A320 open ? - 17:31-20:54 +532 N652JB - -\nf138 260 PHL-BOS 08:40-09:59 88 A220 open ? - 21:34-22:53 +774 N3149J - -\nf139 312 ORD-BOS 08:40-11:05 91 A220 auto-cancel ? - - - - - -\nf140 514 FLL-ISP 08:40-11:33 130 A320 open ? - 08:40-11:33 +0 N806JB - -\nf141 1070 FLL-BOS 08:40-11:54 182 A321 open ? - 08:40-11:54 +0 N905JB - -\nf142 2601 HPN-SJU 08:40-12:25 119 A220 open ? - 19:16-23:01 +636 N3275J - -\nf143 967 HPN-PBI 08:45-11:42 125 A320 open ? - 15:33-18:30 +408 N712JB - -\nf144 1039 BOS-AUS 08:45-13:35 118 A220 open ? - 17:25-22:15 +520 N3232J - -\nf145 1053 JFK-PBI 08:45-11:55 119 A320 open ? - 17:02-20:12 +497 N639JB - -\nf146 2736 DTW-BOS 08:45-10:35 109 A220 auto-cancel ? - - - - - -\nf147 1231 BOS-VRB 08:47-12:13 87 A220 open ? - 18:00-21:26 +553 N3112J - -\nf148 320 ATL-JFK 09:00-11:13 103 A220 open ? - 20:09-22:22 +669 N3132J - -\nf149 857 FLL-PHX 09:00-14:15 138 A321P open ? - 09:00-14:15 +0 N979JT - -\nf150 1680 FLL-DCA 09:00-11:30 118 A220 open ? - 13:40-16:10 +280 N3149J - -\nf151 2186 PIT-BOS 09:00-10:36 99 A220 auto-cancel ? - - - - - -\nf152 2517 BOS-JFK 09:00-10:19 86 A320 open ? - 17:54-19:13 +534 N537JT - -\nf153 548 TPA-HPN 09:05-11:55 115 A320 open ? - 09:05-11:55 +0 N621JB - -\nf154 1811 EWR-RSW 09:05-12:32 141 A320 open ? - 18:20-21:47 +555 N585JB - -\nf155 851 BOS-MCO 09:10-12:38 132 A320 open ? - 18:03-21:31 +533 N565JB - -\nf156 224 LAX-JFK 09:15-14:37 132 A321P open ? - 09:15-14:37 +0 N4058J - -\nf157 249 BOS-SAV 09:15-12:09 115 A320 open ? - 18:09-21:03 +534 N746JB - -\nf158 387 BOS-LAX 09:15-15:47 138 A321P open ? - 19:37-02:09+1 +622 N2157J - -\nf159 2152 MCO-BOS 09:15-12:14 137 A320 open ? - 09:15-12:14 +0 N630JB - -\nf160 1455 BOS-DCA 09:20-11:09 77 A220 open ? - 19:10-20:59 +590 N3123J - -\nf161 1247 LGA-TPA 09:29-12:45 121 A320 open ? - 15:30-18:46 +361 N644JB - -\nf162 540 CLE-BOS 09:30-11:09 97 A220 auto-cancel ? - - - - - -\nf163 606 FLL-EWR 09:31-12:30 141 A320 open ? - 09:31-12:30 +0 N661JB - -\nf164 323 JFK-LAX 09:35-15:49 135 A321P open ? - 19:29-01:43+1 +594 N991JT - -\nf165 2024 PBI-DCA 09:39-12:00 98 A220 open ? - 09:39-12:00 +0 N3267J - -\nf166 554 SJU-FLL 09:45-12:35 150 A320 open ? - 09:45-12:35 +0 N504JB - -\nf167 883 JFK-MCO 09:45-12:55 162 A321 open ? - 10:09-13:19 +24 N994JL - -\nf168 962 PBI-LGA 09:45-12:30 131 A320 open ? - 11:55-14:40 +130 N644JB - -\nf169 233 MCO-SJU 09:47-12:35 141 A320 open ? - 09:47-12:35 +0 N599JB - -\nf170 2423 DCA-MCO 09:50-12:21 101 A220 open ? - 15:44-18:15 +354 N3203J - -\nf171 2801 FLL-LAX 09:50-15:48 138 A321P open ? - 09:50-15:48 +0 N986JB - -\nf172 393 BOS-DEN 09:52-14:38 165 A321 open ? - 19:08-23:54 +556 N996JL - -\nf173 769 BOS-FLL 09:52-13:29 123 A320 open ? - 18:19-21:56 +507 N651JB - -\nf174 1288 PBI-PVD 09:55-12:49 136 A320 open ? - 13:28-16:22 +213 N640JB - -\nf175 1003 JFK-SJU 09:59-13:56 125 A220 open ? - 16:55-20:52 +416 N3293J - -\nf176 108 LAS-FLL 10:00-14:35 129 A321P open ? - 10:00-14:35 +0 N961JT - -\nf177 216 BUF-BOS 10:00-11:24 106 A220 open ? - 17:03-18:27 +423 N3044J - -\nf178 484 RDU-BOS 10:00-11:55 114 A220 open ? - 23:54-01:49+1 +834 N3276J - -\nf179 519 JFK-ATL 10:00-12:43 112 A220 open ? - 17:32-20:15 +452 N3058J - -\nf180 547 ISP-MCO 10:00-13:05 133 A320 open ? - 10:00-13:05 +0 N506JB - -\nf181 588 LAX-BOS 10:00-15:31 138 A321P open ? - 10:00-15:31 +0 N935JB - -\nf182 816 SFO-JFK 10:00-15:30 127 A321P open ? - 10:00-15:30 +0 N2142J - -\nf183 824 LAX-JFK 10:00-15:22 132 A321P open ? - 10:00-15:22 +0 N968JT - -\nf184 2233 BOS-SFO 10:00-16:55 126 A321P open ? - 22:08-05:03+1 +728 N978JB - -\nf185 654 DCA-BOS 10:05-11:39 75 A220 open ? - 16:55-18:29 +410 N3149J - -\nf186 904 SJU-JFK 10:06-14:12 150 A320 open ? - 10:06-14:12 +0 N603JB - -\nf187 2466 FLL-BUF 10:10-13:12 142 A320 open ? - 10:10-13:12 +0 N554JB - -\nf188 678 JAX-JFK 10:13-12:30 113 A220 open ? - 10:13-12:30 +0 N3242J - -\nf189 322 PBI-BOS 10:15-13:20 134 A320 open ? - 13:59-17:04 +224 N537JT - -\nf190 1730 RSW-JFK 10:16-13:00 131 A320 open ? - 19:45-22:29 +569 N729JB - -\nf191 251 HPN-RSW 10:20-13:38 114 A320 open ? - 15:37-18:55 +317 N729JB - -\nf192 2577 BOS-LAS 10:20-16:25 136 A321P open ? - 23:01-05:06+1 +761 N2188J - -\nf193 619 BOS-SAN 10:25-17:05 137 A321P open ? - 00:49+1-07:29+1 +864 N987JT - -\nf194 961 LGA-PBI 10:25-13:23 116 A320 open ? - 17:49-20:47 +444 N509JB - -\nf195 1141 BDL-PBI 10:25-13:40 138 A320 open ? - 18:11-21:26 +466 N634JB - -\nf196 511 JFK-LAS 10:30-16:20 131 A321P open ? - 20:35-02:25+1 +605 N977JE - -\nf197 1715 JFK-VRB 10:30-13:30 60 A320 open ? - 18:18-21:18 +468 N636JB - -\nf198 115 JFK-SFO 10:35-17:12 119 A321P open ? - 22:19-04:56+1 +704 N985JT - -\nf199 169 RIC-MCO 10:35-12:48 126 A320 open ? - 15:49-18:02 +314 N648JB - -\nf200 2474 CHS-JFK 10:38-12:30 95 A220 open ? - 10:38-12:30 +0 N3157J - -\nf201 1306 ORD-JFK 10:40-12:56 95 A320 open ? - 01:22+1-03:38+1 +882 N779JB - -\nf202 417 BOS-JFK 10:41-12:00 74 A220 open ? - 19:12-20:31 +511 N3044J - -\nf203 1068 PBI-HPN 10:41-13:30 121 A320 open ? - 14:05-16:54 +204 N624JB - -\nf204 579 DCA-FLL 10:42-13:30 108 A220 open ? - 18:15-21:03 +453 N3169J - -\nf205 48 TPA-LGA 10:45-13:20 125 A320 open ? - 10:45-13:20 +0 N768JB - -\nf206 234 SJU-MCO 10:45-14:03 147 A320 open ? - 10:45-14:03 +0 N593JB - -\nf207 1006 BNA-BOS 10:55-13:25 100 A220 open ? - 18:57-21:27 +482 N3242J - -\nf208 1130 FLL-CHS 10:55-12:40 111 A220 open ? - 17:54-19:39 +419 N3115J - -\nf209 2584 MCO-JFK 10:55-13:32 173 A321 open ? - 10:55-13:32 +0 N997JL - -\nf210 2475 BDL-SJU 10:58-14:59 131 A320 open ? - 21:39-01:40+1 +641 N505JB - -\nf211 223 JFK-LAX 10:59-17:15 136 A321P open ? - 22:21-04:37+1 +682 N993JE - -\nf212 1267 HPN-PBI 10:59-14:02 125 A320 open ? - 17:44-20:47 +405 N624JB - -\nf213 126 TPA-JFK 11:00-13:39 110 A220 open ? - 17:10-19:49 +370 N3157J - -\nf214 159 BOS-PHL 11:00-12:35 89 A220 open ? - 19:14-20:49 +494 N3149J - -\nf215 318 JFK-BOS 11:00-12:13 82 A220 open ? - 18:45-19:58 +465 N3194J - -\nf216 578 SFO-FLL 11:00-16:24 126 A321P open ? - 11:00-16:24 +0 N2165J - -\nf217 2294 DEN-BOS 11:00-14:54 103 A220 open ? - 11:00-14:54 +0 N3169J - -\nf218 2824 LAX-JFK 11:00-16:20 132 A321P open ? - 11:00-16:20 +0 N969JT - -\nf219 289 JFK-SAN 11:10-17:18 161 A321 open ? - 11:10-17:18 +0 N973JT - -\nf220 1605 ISP-TPA 11:10-14:00 126 A320 open ? - 12:23-15:13 +73 N806JB - -\nf221 1144 MCO-MHT 11:15-14:17 137 A320 open ? - 11:15-14:17 +0 N583JB - -\nf222 1499 BOS-DAB 11:15-14:30 84 A220 open ? - 20:33-23:48 +558 N3125J - -\nf223 1527 EWR-MCO 11:15-14:20 144 A320 open ? - 18:49-21:54 +454 N531JL - -\nf224 544 PBI-ISP 11:20-14:05 120 A320 open ? - 14:28-17:13 +188 N558JB - -\nf225 767 MCO-PSE 11:22-14:15 132 A320 open ? - 11:35-14:28 +13 N663JB - -\nf226 94 MCO-HPN 11:25-14:08 129 A320 open ? - 12:00-14:43 +35 N712JB - -\nf227 2010 LAX-PBI 11:25-16:12 116 A321P open ? - 11:25-16:12 +0 N983JT - -\nf228 2071 FLL-BQN 11:25-13:54 146 A320 open ? - 11:25-13:54 +0 N796JB - -\nf229 434 SFO-BOS 11:26-17:05 132 A321P open ? - 11:26-17:05 +0 N929JB - -\nf230 53 JFK-PBI 11:29-14:34 103 A220 open ? - 19:15-22:20 +466 N3289J - -\nf231 300 LAX-FLL 11:30-16:19 132 A321P open ? - 11:49-16:38 +19 N937JB - -\nf232 1201 JFK-FLL 11:30-14:44 131 A320 open ? - 18:19-21:33 +409 N658JB - -\nf233 1281 BOS-RIC 11:30-13:27 93 A220 open ? - 20:34-22:31 +544 N3272J - -\nf234 1855 BOS-DCA 11:30-13:20 77 A220 open ? - 20:43-22:33 +553 N3194J - -\nf235 1868 DAB-JFK 11:30-14:00 86 A220 open ? - 11:30-14:00 +0 N3044J - -\nf236 1940 SRQ-BOS 11:30-14:40 113 A220 open ? - 11:30-14:40 +0 N3058J - -\nf237 2321 BOS-PBI 11:30-14:55 158 A321 open ? - 20:19-23:44 +529 N995JL - -\nf238 2283 BOS-RDU 11:31-13:45 113 A220 open ? - 20:55-23:09 +564 N3276J - -\nf239 1438 MCO-BDL 11:35-14:25 128 A320 open ? - 13:51-16:41 +136 N652JB - -\nf240 1002 FLL-JFK 11:36-14:30 171 A321 open ? - 14:37-17:31 +181 N949JT - -\nf241 2929 RDU-SJU 11:38-15:05 129 A320 open ? - 13:46-17:13 +128 N653JB - -\nf242 2066 RSW-BOS 11:40-14:49 179 A321 open ? - 17:34-20:43 +354 N905JB - -\nf243 2151 BOS-MCO 11:40-15:04 163 A321 open ? - 21:43-01:07+1 +603 N905JB - -\nf244 1932 MCO-PWM 11:45-14:48 127 A320 open ? - 13:55-16:58 +130 N506JB - -\nf245 592 TPA-BOS 11:46-14:50 133 A320 open ? - 14:25-17:29 +159 N651JB - -\nf246 855 SYR-MCO 11:50-14:50 129 A220 auto-cancel ? - - - - - -\nf247 54 PBI-JFK 11:59-14:39 120 A320 open ? - 15:10-17:50 +191 N807JB - -\nf248 1954 DCA-BOS 11:59-13:30 75 A220 open ? - 18:45-20:16 +406 N3196J - -\nf249 37 BDL-MCO 12:00-15:10 142 A320 open ? - 22:06-01:16+1 +606 N784JB - -\nf250 65 BOS-RSW 12:00-15:38 128 A220 open ? - 21:01-00:39+1 +541 N3196J - -\nf251 285 JFK-RDU 12:00-13:50 104 A220 open ? - 20:34-22:24 +514 N3157J - -\nf252 401 BOS-MSY 12:00-15:59 132 A320 open ? - 18:28-22:27 +388 N592JB - -\nf253 987 ORH-MCO 12:00-15:10 132 A320 open ? - 12:00-15:10 +0 N521JB - -\nf254 1310 JAX-BOS 12:00-14:41 127 A220 open ? - 12:00-14:41 +0 N3280J - -\nf255 1553 FLL-SJU 12:00-14:30 139 A320 open ? - 12:00-14:30 +0 N571JB - -\nf256 2252 SJU-FLL 12:00-14:51 186 A321 open ? - 12:00-14:51 +0 N995JL - -\nf257 776 MSY-JFK 12:04-14:59 105 A220 open ? - 12:04-14:59 +0 N3189J - -\nf258 372 FLL-LGA 12:05-14:59 116 A220 open ? - 17:57-20:51 +352 N3156J - -\nf259 1174 BNA-JFK 12:05-14:29 96 A220 open ? - 20:17-22:41 +492 N3284J - -\nf260 68 CHS-BOS 12:09-14:25 116 A220 open ? - 17:32-19:48 +323 N3125J - -\nf261 2330 RSW-JFK 12:10-14:58 113 A220 open ? - 12:10-14:58 +0 N3240J - -\nf262 144 PBI-EWR 12:15-15:09 135 A320 open ? - 17:10-20:04 +295 N834JB - -\nf263 246 FLL-RIC 12:15-14:34 128 A320 open ? - 12:40-14:59 +25 N648JB - -\nf264 796 ATL-BOS 12:15-14:45 108 A220 open ? - 21:00-23:30 +525 N3058J - -\nf265 2217 BOS-JFK 12:15-13:33 74 A220 open ? - 22:12-23:30 +597 N3242J - -\nf266 2275 PHL-FLL 12:15-15:07 116 A220 auto-cancel ? - - - - - -\nf267 1923 DCA-MCO 12:20-14:47 101 A220 open ? - 21:44-00:11+1 +564 N3123J - -\nf268 513 ISP-FLL 12:25-15:35 138 A320 open ? - 14:39-17:49 +134 N564JB - -\nf269 1098 MCO-LGA 12:25-15:04 140 A320 open ? - 14:20-16:59 +115 N509JB - -\nf270 52 MCO-BOS 12:29-15:30 169 A321 open ? - 12:30-15:31 +1 N971JT - -\nf271 163 JFK-SRQ 12:29-15:42 109 A220 open ? - 21:16-00:29+1 +527 N3044J - -\nf272 283 JFK-MCO 12:29-15:33 131 A320 open ? - 18:44-21:48 +375 N706JB - -\nf273 1214 DFW-BOS 12:29-16:10 121 A220 open ? - 19:05-22:46 +396 N3251J - -\nf274 259 BDL-FLL 12:30-15:48 121 A220 open ? - 13:54-17:12 +84 N3156J - -\nf275 471 LGA-FLL 12:30-15:40 126 A320 open ? - 21:43-00:53+1 +553 N594JB - -\nf276 822 PBI-BOS 12:32-15:42 134 A320 open ? - 17:13-20:23 +281 N661JB - -\nf277 1196 FLL-PVD 12:35-15:38 142 A320 open ? - 13:25-16:28 +50 N504JB - -\nf278 2020 FLL-ORH 12:35-15:40 128 A320 open ? - 13:54-16:59 +79 N517JB - -\nf279 1426 RSW-ISP 12:40-15:21 114 A320 open ? - 21:25-00:06+1 +525 N640JB - -\nf280 1955 BOS-DCA 12:40-14:29 77 A220 open ? - 22:45-00:34+1 +605 N3104J - -\nf281 270 MCO-RIC 12:43-14:44 115 A320 open ? - 14:25-16:26 +102 N561JB - -\nf282 868 PBI-HPN 12:45-15:32 121 A320 open ? - 17:40-20:27 +295 N625JB - -\nf283 1585 BOS-PIT 12:45-14:41 97 A220 open ? - 23:01-00:57+1 +616 N3240J - -\nf284 2424 MCO-DCA 12:49-14:59 117 A220 open ? - 12:49-14:59 +0 N3203J - -\nf285 284 MCO-JFK 12:50-15:29 140 A320 open ? - 15:15-17:54 +145 N706JB - -\nf286 715 BOS-BUF 12:50-14:30 90 A220 open ? - 23:31-01:11+1 +641 N3251J - -\nf287 1019 JFK-ATL 12:55-15:35 112 A220 open ? - 21:30-00:10+1 +515 N3118J - -\nf288 2204 RSW-BDL 12:57-15:52 140 A320 open ? - 21:44-00:39+1 +527 N652JB - -\nf289 448 LAS-JFK 12:58-17:52 130 A321P open ? - 12:58-17:52 +0 N964JT - -\nf290 288 LAX-BOS 12:59-18:27 138 A321P open ? - 12:59-18:27 +0 N2157J - -\nf291 161 BOS-SJU 13:00-17:05 178 A321 open ? - 23:48-03:53+1 +648 N994JL - -\nf292 613 HPN-FLL 13:00-16:07 114 A320 open ? - 18:33-21:40 +333 N703JB - -\nf293 692 TPA-BOS 13:00-16:04 133 A320 open ? - 14:34-17:38 +94 N592JB - -\nf294 862 SJU-BOS 13:00-17:13 148 A320 open ? - 13:00-17:13 +0 N565JB - -\nf295 908 STT-SJU 13:00-13:44 100 A320 open ? - 13:00-13:44 +0 N708JB - -\nf296 2064 EYW-BOS 13:00-16:36 96 A220 open ? - 13:00-16:36 +0 N3269J - -\nf297 2254 DCA-BOS 13:00-14:30 75 A220 open ? - 23:18-00:48+1 +618 N3194J - -\nf298 2876 MCO-PVD 13:00-15:45 127 A320 open ? - 16:00-18:45 +180 N521JB - -\nf299 221 BOS-PBI 13:10-16:35 128 A320 open ? - 19:39-23:04 +389 N708JB - -\nf300 450 SAV-BOS 13:10-15:38 128 A320 open ? - 13:10-15:38 +0 N655JB - -\nf301 1232 VRB-BOS 13:10-16:05 89 A220 open ? - 22:11-01:06+1 +541 N3112J - -\nf302 1186 JFK-ROC 13:15-14:40 109 A220 open ? - 21:45-23:10 +510 N3241J - -\nf303 2940 SJU-STX 13:15-13:56 90 A320 open ? - 13:15-13:56 +0 N662JB - -\nf304 1004 SJU-JFK 13:20-17:28 150 A320 open ? - 13:20-17:28 +0 N636JB - -\nf305 724 LAX-JFK 13:25-18:48 133 A321P open ? - 14:25-19:48 +60 N946JL - -\nf306 932 IAH-BOS 13:29-17:19 142 A320 open ? - 13:29-17:19 +0 N746JB - -\nf307 88 FLL-ALB 13:30-16:36 136 A320 open ? - 14:26-17:32 +56 N519JB - -\nf308 360 PHL-BOS 13:30-14:50 88 A220 open ? - 03:58+1-05:18+1 +868 N3085J - -\nf309 1036 SJU-STT 13:30-14:05 98 A320 open ? - 13:30-14:05 +0 N607JB - -\nf310 1115 JFK-SFO 13:30-20:09 119 A321P open ? - 23:47-06:26+1 +617 N2105J - -\nf311 1133 MCO-SJU 13:30-16:20 174 A321 open ? - 13:30-16:20 +0 N903JB - -\nf312 956 LAS-EWR 13:35-18:30 108 A321P open ? - 14:28-19:23 +53 N942JB - -\nf313 1131 CHS-FLL 13:35-15:10 104 A220 open ? - 20:18-21:53 +403 N3229J - -\nf314 1199 LGA-MCO 13:35-16:40 131 A320 open ? - 21:56-01:01+1 +501 N527JL - -\nf315 1298 DEN-JFK 13:35-17:26 100 A220 open ? - 21:10-01:01+1 +455 N3189J - -\nf316 201 FLL-LAX 13:40-19:42 138 A321P open ? - 13:40-19:42 +0 N992JB - -\nf317 517 BOS-JFK 13:40-14:58 74 A220 open ? - 23:38-00:56+1 +598 N3149J - -\nf318 736 PHX-JFK 13:40-18:19 115 A321P open ? - 13:40-18:19 +0 N991JT - -\nf319 1534 TPA-BDL 13:40-16:26 150 A320 open ? - 14:35-17:21 +55 N634JB - -\nf320 1420 ATL-JFK 13:45-15:55 103 A220 open ? - 00:55+1-03:05+1 +670 N3118J - -\nf321 1700 LAX-FLL 13:45-18:36 132 A321P open ? - 14:33-19:24 +48 N945JT - -\nf322 1287 PVD-PBI 13:48-17:01 144 A320 open ? - 00:20+1-03:33+1 +632 N635JB - -\nf323 416 SFO-JFK 13:50-19:25 126 A321P open ? - 13:50-19:25 +0 N977JE - -\nf324 487 BOS-LAX 14:00-20:39 138 A321P open ? - 01:08+1-07:47+1 +668 N2180J - -\nf325 723 JFK-LAX 14:00-20:19 135 A321P open ? - 00:45+1-07:04+1 +645 N981JT - -\nf326 1334 SJU-MCO 14:00-17:17 182 A321 open ? - 16:30-19:47 +150 N2029J - -\nf327 2465 BUF-FLL 14:10-17:23 148 A320 open ? - 14:10-17:23 +0 N554JB - -\nf328 2948 HDN-FLL 14:10-18:13 127 A320 open ? - 14:10-18:13 +0 N775JB - -\nf329 23 DCA-PBI 14:15-16:50 81 A220 open ? - 01:19+1-03:54+1 +664 N3104J - -\nf330 128 MCO-EWR 14:15-17:03 178 A321 open ? - 14:15-17:03 +0 N957JB - -\nf331 551 BOS-MCO 14:15-17:43 132 A320 open ? - 20:25-23:53 +370 N621JB - -\nf332 2462 PBI-LGA 14:18-16:59 131 A320 open ? - 18:25-21:06 +247 N527JL - -\nf333 1800 FLL-ORF 14:20-16:35 109 A320 open ? - 14:30-16:45 +10 N646JB - -\nf334 1892 RSW-PVD 14:21-17:15 130 A320 open ? - 22:37-01:31+1 +496 N585JB - -\nf335 2832 LAS-MCO 14:22-19:09 119 A321P open ? - 15:10-19:57 +48 N976JT - -\nf336 1441 BOS-SRQ 14:23-17:58 125 A220 open ? - 00:15+1-03:50+1 +592 N3058J - -\nf337 1282 RIC-BOS 14:24-16:02 92 A220 auto-cancel ? - - - - - -\nf338 170 FLL-BOS 14:25-17:44 128 A220 open ? - 21:48-01:07+1 +443 N3169J - -\nf339 1716 VRB-JFK 14:25-17:00 77 A320 open ? - 22:08-00:43+1 +463 N636JB - -\nf340 1761 LGA-PBI 14:26-17:35 116 A320 open ? - 22:22-01:31+1 +476 N648JB - -\nf341 278 LAS-BOS 14:28-19:39 131 A321P open ? - 16:40-21:51 +132 N2188J - -\nf342 418 JFK-BOS 14:28-15:44 82 A220 open ? - 22:14-23:30 +466 N3102J - -\nf343 503 JFK-SJU 14:30-18:26 145 A320 open ? - 19:34-23:30 +304 N796JB - -\nf344 1138 AUS-BOS 14:30-18:25 126 A220 open ? - 14:30-18:25 +0 N3123J - -\nf345 1355 BOS-DCA 14:30-16:19 77 A220 open ? - 00:15+1-02:04+1 +585 N3102J - -\nf346 24 PBI-DCA 14:35-16:59 114 A320 open ? - 19:20-21:44 +285 N712JB - -\nf347 908 SJU-BOS 14:35-18:49 148 A320 open ? - 14:35-18:49 +0 N708JB - -\nf348 524 LAX-JFK 14:38-20:00 132 A321P open ? - 15:49-21:11 +71 N993JE - -\nf349 984 RDU-BOS 14:40-16:39 114 A220 auto-cancel ? - - - - - -\nf350 286 RDU-JFK 14:45-16:24 96 A220 auto-cancel ? - - - - - -\nf351 814 FLL-HPN 14:45-17:42 124 A320 open ? - 14:46-17:43 +1 N703JB - -\nf352 1033 MCO-SJU 14:45-17:35 174 A321 open ? - 14:45-17:35 +0 N994JL - -\nf353 2072 BQN-FLL 14:49-17:30 150 A320 open ? - 01:23+1-04:04+1 +634 N559JB - -\nf354 2098 FLL-ATL 14:50-16:43 117 A320 open ? - 15:03-16:56 +13 N715JB - -\nf355 2941 STX-SJU 14:51-15:40 99 A320 open ? - 14:51-15:40 +0 N662JB - -\nf356 595 HPN-MCO 14:59-17:59 132 A320 open ? - 21:17-00:17+1 +378 N625JB - -\nf357 1801 JFK-FLL 14:59-18:10 161 A321 open ? - 14:59-18:10 +0 N954JB - -\nf358 545 ISP-PBI 15:00-18:00 112 A320 open ? - 18:03-21:03 +183 N558JB - -\nf359 1135 STT-SJU 15:00-15:43 100 A320 open ? - 15:00-15:43 +0 N607JB - -\nf360 2825 JFK-TPA 15:02-18:12 127 A320 open ? - 20:03-23:13 +301 N537JT - -\nf361 333 BOS-SFO 15:05-21:55 126 A321P auto-cancel ? - - - - - -\nf362 768 PSE-MCO 15:10-18:28 137 A320 open ? - 15:18-18:36 +8 N663JB - -\nf363 1708 LAS-FLL 15:10-19:49 129 A321P open ? - 22:45-03:24+1 +455 N4058J - -\nf364 1729 JFK-RSW 15:10-18:30 110 A220 open ? - 23:07-02:27+1 +477 N3132J - -\nf365 1606 TPA-ISP 15:15-17:50 118 A320 open ? - 16:03-18:38 +48 N806JB - -\nf366 2052 MCO-BOS 15:15-18:18 137 A320 open ? - 16:32-19:35 +77 N621JB - -\nf367 2143 EWR-PBI 15:15-18:20 136 A320 open ? - 20:49-23:54 +334 N599JB - -\nf368 1437 BDL-MCO 15:20-18:25 131 A320 open ? - 00:40+1-03:45+1 +560 N520JB - -\nf369 1567 HPN-PBI 15:20-18:20 125 A320 open ? - 23:20-02:20+1 +480 N775JB - -\nf370 1734 SFO-BOS 15:20-20:58 133 A321P open ? - 15:20-20:58 +0 N978JB - -\nf371 716 BUF-BOS 15:25-16:50 106 A220 open ? - 01:56+1-03:21+1 +631 N3251J - -\nf372 858 PHX-FLL 15:25-19:30 135 A321P open ? - 15:25-19:30 +0 N979JT - -\nf373 1751 TPA-SJU 15:25-18:18 135 A320 open ? - 18:17-21:10 +172 N627JB - -\nf374 2554 DCA-BOS 15:25-17:00 75 A220 open ? - 01:56+1-03:31+1 +631 N3229J - -\nf375 245 RIC-FLL 15:30-18:00 128 A320 open ? - 17:16-19:46 +106 N561JB - -\nf376 1343 MHT-FLL 15:30-19:05 103 A320 open ? - 23:01-02:36+1 +451 N564JB - -\nf377 1500 DAB-BOS 15:30-18:24 86 A220 open ? - 19:22-22:16 +232 N3240J - -\nf378 2377 JFK-JAX 15:30-18:15 108 A220 open ? - 23:19-02:04+1 +469 N3247J - -\nf379 100 LAX-FLL 15:35-20:26 132 A321P open ? - 16:58-21:49 +83 N986JB - -\nf380 424 LAX-JFK 15:35-20:57 115 A321P open ? - 17:15-22:37 +100 N2105J - -\nf381 811 BOS-ORD 15:35-18:43 101 A220 open ? - 01:33+1-04:41+1 +598 N3194J - -\nf382 1285 ROC-JFK 15:35-16:57 106 A220 open ? - 23:55-01:17+1 +500 N3241J - -\nf383 969 RIC-MCO 15:39-17:55 117 A320 open ? - 01:39+1-03:55+1 +600 N703JB - -\nf384 390 SJU-EWR 15:40-19:59 150 A320 open ? - 15:40-19:59 +0 N599JB - -\nf385 2116 SFO-JFK 15:40-21:09 126 A321P open ? - 15:40-21:09 +0 N985JT - -\nf386 854 PBI-JFK 15:42-18:30 104 A220 open ? - 15:42-18:30 +0 N3289J - -\nf387 394 DEN-BOS 15:45-19:38 147 A321 open ? - 00:54+1-04:47+1 +549 N996JL - -\nf388 591 BOS-TPA 15:45-19:18 143 A320 open ? - 21:05-00:38+1 +320 N821JB - -\nf389 697 BOS-ATL 15:45-18:46 110 A220 open ? - 01:40+1-04:41+1 +595 N3272J - -\nf390 1935 PWM-MCO 15:45-19:14 114 A320 open ? - 17:48-21:17 +123 N506JB - -\nf391 2055 BOS-DCA 15:45-17:34 77 A220 open ? - 01:51+1-03:40+1 +606 N3112J - -\nf392 2324 MCO-DCA 15:45-18:00 117 A220 open ? - 15:45-18:00 +0 N3196J - -\nf393 1694 MCO-HPN 15:48-18:31 112 A220 open ? - 15:48-18:31 +0 N3275J - -\nf394 1371 LGA-FLL 15:54-19:16 109 A220 open ? - 20:17-23:39 +263 N3085J - -\nf395 1579 DCA-FLL 15:55-18:46 108 A220 open ? - 02:12+1-05:03+1 +617 N3289J - -\nf396 47 LGA-TPA 15:59-19:15 121 A320 open ? - 00:01+1-03:17+1 +482 N709JB - -\nf397 839 JFK-BQN 15:59-19:53 149 A320 open ? - 20:39-00:33+1 +280 N559JB - -\nf398 605 EWR-FLL 16:00-19:12 135 A320 open ? - 20:54-00:06+1 +294 N834JB - -\nf399 2370 FLL-BOS 16:00-19:19 182 A321 open ? - 16:00-19:19 +0 N995JL - -\nf400 22 PBI-BOS 16:05-19:15 166 A321 open ? - 00:44+1-03:54+1 +519 N995JL - -\nf401 494 MCO-EWR 16:05-18:51 133 A320 open ? - 17:52-20:38 +107 N535JB - -\nf402 1586 MCO-BUF 16:05-18:49 176 A321 open ? - 16:05-18:49 +0 N956JT - -\nf403 726 FLL-RDU 16:14-18:24 115 A320 open ? - 16:14-18:24 +0 N793JB - -\nf404 2784 MCO-JFK 16:14-18:55 173 A321 open ? - 20:47-23:28 +273 N2029J - -\nf405 1425 ISP-RSW 16:16-19:16 122 A320 open ? - 00:49+1-03:49+1 +513 N640JB - -\nf406 1454 SJU-FLL 16:25-19:15 150 A320 open ? - 16:25-19:15 +0 N571JB - -\nf407 1067 HPN-PBI 16:27-19:25 125 A320 open ? - 23:50-02:48+1 +443 N665JB - -\nf408 253 FLL-SJU 16:30-19:02 139 A320 open ? - 16:30-19:02 +0 N523JB - -\nf409 1020 ATL-JFK 16:30-18:48 103 A220 open ? - 03:00+1-05:18+1 +630 N3284J - -\nf410 321 BOS-PBI 16:35-20:01 128 A320 open ? - 21:13-00:39+1 +278 N661JB - -\nf411 1134 SJU-MCO 16:35-19:55 147 A320 open ? - 16:35-19:55 +0 N635JB - -\nf412 2119 ORH-FLL 16:35-19:59 114 A320 open ? - 16:35-19:59 +0 N520JB - -\nf413 2166 RSW-BOS 16:35-19:49 125 A220 open ? - 16:35-19:49 +0 N3272J - -\nf414 1189 JFK-SAN 16:40-23:05 129 A321P auto-cancel ? - - - - - -\nf415 451 BOS-MCO 16:41-20:05 163 A321 open ? - 01:05+1-04:29+1 +504 N971JT - -\nf416 1962 PBI-LGA 16:41-19:32 113 A220 open ? - 16:41-19:32 +0 N3085J - -\nf417 19 BOS-SAN 16:44-23:20 138 A321P auto-cancel ? - - - - - -\nf418 359 BOS-PHL 16:45-18:23 89 A220 open ? - 01:52+1-03:30+1 +547 N3169J - -\nf419 1880 FLL-DCA 16:45-19:18 118 A220 open ? - 22:38-01:11+1 +353 N3229J - -\nf420 2602 SJU-HPN 16:45-21:07 129 A220 open ? - 21:37-01:59+1 +292 N3293J - -\nf421 1241 BDL-PBI 16:47-19:58 138 A320 open ? - 00:43+1-03:54+1 +476 N639JB - -\nf422 753 JFK-PBI 16:50-19:58 119 A320 open ? - 20:55-00:03+1 +245 N536JB - -\nf423 1303 BOS-PHX 16:50-22:49 156 A321 open ? - 01:13+1-07:12+1 +503 N997JL - -\nf424 400 MSY-BOS 16:55-20:15 116 A320 open ? - 16:55-20:15 +0 N821JB - -\nf425 719 JFK-ATL 16:55-19:44 112 A220 open ? - 23:26-02:15+1 +391 N3284J - -\nf426 1875 PVD-MCO 16:55-20:10 123 A320 open ? - 00:23+1-03:38+1 +448 N606JB - -\nf427 2841 JFK-SAV 16:57-19:28 82 A220 open ? - 00:15+1-02:46+1 +438 N3242J - -\nf428 165 BOS-RSW 16:59-20:36 148 A320 open ? - 23:08-02:45+1 +369 N603JB - -\nf429 688 LAX-BOS 16:59-22:25 138 A321P open ? - 20:52-02:18+1 +233 N992JB - -\nf430 1124 LAX-JFK 16:59-22:23 132 A321P open ? - 23:57-05:21+1 +418 N968JT - -\nf431 276 SJU-BDL 17:00-21:16 150 A320 open ? - 17:00-21:16 +0 N784JB - -\nf432 1286 PIT-BOS 17:00-18:42 99 A220 open ? - 01:42+1-03:24+1 +522 N3240J - -\nf433 2255 BOS-DCA 17:00-18:49 77 A220 open ? - 02:34+1-04:23+1 +574 N3276J - -\nf434 415 BOS-BUF 17:05-18:47 90 A220 auto-cancel ? - - - - - -\nf435 1197 PVD-FLL 17:05-20:23 142 A320 open ? - 00:30+1-03:48+1 +445 N653JB - -\nf436 717 BOS-JFK 17:07-18:29 74 A220 auto-cancel ? - - - - - -\nf437 1468 PBI-HPN 17:09-20:00 121 A320 open ? - 20:09-23:00 +180 N665JB - -\nf438 391 BOS-TPA 17:10-20:44 143 A320 open ? - 00:53+1-04:27+1 +463 N646JB - -\nf439 438 MCO-BDL 17:15-20:04 138 A320 open ? - 18:00-20:49 +45 N505JB - -\nf440 866 FLL-BUF 17:15-20:18 142 A320 open ? - 17:15-20:18 +0 N623JB - -\nf441 2737 BOS-DTW 17:15-19:37 111 A220 auto-cancel ? - - - - - -\nf442 1354 DCA-BOS 17:20-19:00 75 A220 open ? - 02:49+1-04:29+1 +569 N3102J - -\nf443 2009 PBI-LAX 17:22-23:20 112 A321P open ? - 17:22-23:20 +0 N4022J - -\nf444 618 JFK-BOS 17:25-18:48 82 A220 open ? - 01:29+1-02:52+1 +484 N3157J - -\nf445 1305 JFK-ORD 17:25-20:36 111 A320 open ? - 21:21-00:32+1 +236 N779JB - -\nf446 83 JFK-MCO 17:29-20:41 131 A320 open ? - 22:58-02:10+1 +329 N583JB - -\nf447 711 JFK-LAS 17:29-23:28 131 A321P auto-cancel ? - - - - - -\nf448 2715 JFK-LAX 17:29-23:58 135 A321P auto-cancel ? - - - - - -\nf449 106 FLL-EWR 17:30-20:34 141 A320 open ? - 17:30-20:34 +0 N629JB - -\nf450 348 LAS-JFK 17:30-22:27 130 A321P open ? - 00:23+1-05:20+1 +413 N989JT - -\nf451 452 MCO-BOS 17:30-20:34 169 A321 open ? - 21:01-00:05+1 +211 N971JT - -\nf452 1242 PBI-BDL 17:30-20:21 132 A320 open ? - 21:02-23:53 +212 N639JB - -\nf453 1348 SJU-DCA 17:30-21:32 178 A321 open ? - 17:30-21:32 +0 N903JB - -\nf454 1799 ORF-FLL 17:30-19:50 86 A320 open ? - 17:35-19:55 +5 N646JB - -\nf455 87 ALB-FLL 17:31-20:46 137 A320 open ? - 22:49-02:04+1 +318 N554JB - -\nf456 107 FLL-LAS 17:34-23:13 137 A321P open ? - 17:34-23:13 +0 N989JT - -\nf457 1081 BOS-RIC 17:35-19:35 93 A220 auto-cancel ? - - - - - -\nf458 2202 FLL-JFK 17:35-20:31 139 A320 open ? - 17:35-20:31 +0 N779JB - -\nf459 164 SRQ-JFK 17:38-20:30 103 A220 open ? - 18:08-21:00 +30 N3241J - -\nf460 1697 ATL-FLL 17:38-19:28 115 A320 open ? - 17:44-19:34 +6 N715JB - -\nf461 101 FLL-LAX 17:40-23:41 138 A321P open ? - 17:40-23:41 +0 N961JT - -\nf462 272 FLL-LGA 17:40-20:38 134 A320 open ? - 17:55-20:53 +15 N594JB - -\nf463 1369 BOS-FLL 17:45-21:20 107 A220 auto-cancel ? - - - - - -\nf464 2334 PBI-DCA 17:45-20:07 98 A220 open ? - 23:05-01:27+1 +320 N3289J - -\nf465 178 LAS-BOS 17:50-22:55 132 A321P open ? - 01:19+1-06:24+1 +449 N923JB - -\nf466 1475 BDL-SJU 17:55-21:46 131 A320 open ? - 01:29+1-05:20+1 +454 N652JB - -\nf467 2533 DCA-PBI 17:55-20:31 93 A320 open ? - 22:28-01:04+1 +273 N712JB - -\nf468 735 JFK-PHX 18:00-23:51 120 A321P auto-cancel ? - - - - - -\nf469 2133 MCO-SJU 18:00-20:50 141 A320 open ? - 18:10-21:00 +10 N768JB - -\nf470 2144 PBI-EWR 18:00-20:55 135 A320 open ? - 21:37-00:32+1 +217 N509JB - -\nf471 2185 BOS-PIT 18:00-20:00 97 A220 auto-cancel ? - - - - - -\nf472 2919 MCO-ALB 18:00-20:54 131 A320 open ? - 18:29-21:23 +29 N593JB - -\nf473 541 BOS-CLE 18:10-20:25 93 A220 auto-cancel ? - - - - - -\nf474 783 BOS-RDU 18:10-20:26 113 A220 auto-cancel ? - - - - - -\nf475 1216 SFO-JFK 18:10-23:35 127 A321P open ? - 18:10-23:35 +0 N981JT - -\nf476 1827 EWR-MCO 18:10-21:21 177 A321 open ? - 18:10-21:21 +0 N957JB - -\nf477 620 SAN-BOS 18:15-23:39 122 A321P open ? - 18:15-23:39 +0 N987JT - -\nf478 1462 SJU-BOS 18:15-22:28 183 A321 open ? - 18:35-22:48 +20 N994JL - -\nf479 2004 SJU-JFK 18:15-22:20 150 A320 open ? - 18:15-22:20 +0 N662JB - -\nf480 226 TPA-JFK 18:16-20:59 127 A320 open ? - 19:36-22:19 +80 N644JB - -\nf481 334 SFO-BOS 18:25-23:58 132 A321P open ? - 18:25-23:58 +0 N2180J - -\nf482 2124 LAX-JFK 18:25-23:44 133 A321P open ? - 00:08+1-05:27+1 +343 N2142J - -\nf483 290 SAN-JFK 18:30-23:50 141 A321 open ? - 18:30-23:50 +0 N2044J - -\nf484 454 PBI-JFK 18:30-21:15 120 A320 open ? - 21:37-00:22+1 +187 N624JB - -\nf485 596 FLL-PVD 18:30-21:32 142 A320 open ? - 18:30-21:32 +0 N805JB - -\nf486 700 LAX-FLL 18:30-23:17 132 A321P open ? - 00:25+1-05:12+1 +355 N935JB - -\nf487 1979 DCA-FLL 18:30-21:10 108 A220 open ? - 04:25+1-07:05+1 +595 N3112J - -\nf488 1252 RSW-HPN 18:39-21:31 134 A320 open ? - 03:35+1-06:27+1 +536 N603JB - -\nf489 371 LGA-FLL 18:40-21:54 126 A320 open ? - 01:50+1-05:04+1 +430 N634JB - -\nf490 2 FLL-JFK 18:45-21:41 139 A320 open ? - 18:45-21:41 +0 N606JB - -\nf491 71 JFK-SLC 18:45-00:20+1 101 A220 open ? - 01:41+1-07:16+1 +416 N3149J - -\nf492 561 BOS-SJU 18:45-22:48 125 A220 auto-cancel ? - - - - - -\nf493 1245 ISP-PBI 18:45-21:43 112 A320 open ? - 19:19-22:17 +34 N806JB - -\nf494 1434 SJU-MCO 18:45-22:00 182 A321 open ? - 23:50-03:05+1 +305 N999JQ - -\nf495 1701 JFK-FLL 18:45-22:03 113 A220 open ? - 01:46+1-05:04+1 +421 N3189J - -\nf496 703 JFK-SJU 18:50-22:50 178 A321 open ? - 18:50-22:50 +0 N999JQ - -\nf497 998 MCO-LGA 18:50-21:30 130 A320 open ? - 18:52-21:32 +2 N648JB - -\nf498 1440 SRQ-BOS 18:53-22:00 113 A220 open ? - 18:53-22:00 +0 N3104J - -\nf499 918 JFK-BOS 18:55-20:18 82 A220 open ? - 02:02+1-03:25+1 +427 N3241J - -\nf500 1088 FLL-ALB 18:55-21:59 136 A320 open ? - 18:55-21:59 +0 N554JB - -\nf501 1344 FLL-MHT 18:55-22:11 115 A320 open ? - 18:55-22:11 +0 N564JB - -\nf502 2754 DCA-BOS 18:55-20:29 75 A220 open ? - 05:08+1-06:42+1 +613 N3276J - -\nf503 652 MCO-BOS 18:59-22:00 169 A321 open ? - 22:21-01:22+1 +202 N957JB - -\nf504 1367 HPN-PBI 19:00-21:52 125 A320 open ? - 01:38+1-04:30+1 +398 N506JB - -\nf505 1922 PBI-BOS 19:00-22:07 134 A320 open ? - 21:53-01:00+1 +173 N558JB - -\nf506 615 JFK-SFO 19:02-01:49+1 119 A321P auto-cancel ? - - - - - -\nf507 1248 TPA-LGA 19:07-21:49 125 A320 open ? - 20:29-23:11 +82 N709JB - -\nf508 733 BOS-SFO 19:09-01:59+1 126 A321P auto-cancel ? - - - - - -\nf509 2378 JAX-JFK 19:10-21:29 113 A220 open ? - 19:10-21:29 +0 N3102J - -\nf510 2389 EWR-SJU 19:10-23:16 150 A320 open ? - 21:24-01:30+1 +134 N629JB - -\nf511 62 PBI-LGA 19:15-21:59 131 A320 open ? - 22:16-01:00+1 +181 N634JB - -\nf512 1368 PBI-HPN 19:15-22:05 121 A320 open ? - 23:07-01:57+1 +232 N806JB - -\nf513 828 MCO-EWR 19:17-22:00 144 A320 open ? - 19:26-22:09 +9 N663JB - -\nf514 425 RDU-FLL 19:19-21:31 113 A320 open ? - 01:22+1-03:34+1 +363 N658JB - -\nf515 884 MCO-JFK 19:19-22:00 140 A320 open ? - 19:27-22:08 +8 N583JB - -\nf516 423 JFK-LAX 19:29-01:51+1 135 A321P auto-cancel ? - - - - - -\nf517 195 HPN-MCO 19:30-22:27 114 A220 open ? - 02:44+1-05:41+1 +434 N3293J - -\nf518 714 FLL-HPN 19:30-22:30 124 A320 open ? - 19:30-22:30 +0 N775JB - -\nf519 791 BOS-TPA 19:30-23:04 143 A320 open ? - 01:01+1-04:35+1 +331 N809JB - -\nf520 1151 BOS-MCO 19:30-22:54 163 A321 open ? - 02:22+1-05:46+1 +412 N957JB - -\nf521 1752 SJU-TPA 19:30-22:45 139 A320 open ? - 19:30-22:45 +0 N569JB - -\nf522 2485 JFK-RDU 19:30-21:25 104 A220 auto-cancel ? - - - - - -\nf523 526 SJU-PVD 19:35-23:40 137 A320 open ? - 19:35-23:40 +0 N653JB - -\nf524 405 EWR-FLL 19:39-22:55 135 A320 open ? - 21:28-00:44+1 +109 N535JB - -\nf525 1757 EWR-LAS 19:40-01:29+1 105 A321P open ? - 09:24+1-15:13+1 +824 N942JB - -\nf526 501 BUF-JFK 19:45-21:20 98 A220 auto-cancel ? - - - - - -\nf527 602 FLL-JFK 19:45-22:40 139 A320 open ? - 19:45-22:40 +0 N608JB - -\nf528 696 ATL-BOS 19:45-22:21 108 A220 open ? - 05:26+1-08:02+1 +581 N3272J - -\nf529 2854 DCA-BOS 19:45-21:20 75 A220 auto-cancel ? - - - - - -\nf530 1876 MCO-PVD 19:55-22:40 127 A320 open ? - 20:45-23:30 +50 N635JB - -\nf531 2355 BOS-DCA 19:55-21:45 77 A220 auto-cancel ? - - - - - -\nf532 845 BOS-SYR 19:59-21:19 95 A220 auto-cancel ? - - - - - -\nf533 277 FLL-SFO 20:00-02:29+1 129 A321P open ? - 20:00-02:29+1 +0 N980JT - -\nf534 383 JFK-MCO 20:00-23:08 162 A321 open ? - 20:00-23:08 +0 N955JB - -\nf535 706 FLL-EWR 20:00-23:00 141 A320 open ? - 20:00-23:00 +0 N591JB - -\nf536 721 BOS-PBI 20:00-23:22 158 A321 auto-cancel ? - - - - - -\nf537 2080 FLL-DCA 20:00-22:31 136 A320 open ? - 20:00-22:31 +0 N763JB - -\nf538 2953 JFK-PBI 20:00-23:07 119 A320 open ? - 23:09-02:16+1 +189 N644JB - -\nf539 1069 BOS-FLL 20:04-23:36 152 A321 auto-cancel ? - - - - - -\nf540 2008 FLL-PIT 20:05-22:48 112 A320 open ? - 20:05-22:48 +0 N571JB - -\nf541 1017 BOS-JFK 20:10-21:32 74 A220 auto-cancel ? - - - - - -\nf542 1798 FLL-ATL 20:10-22:01 117 A320 open ? - 20:24-22:15 +14 N715JB - -\nf543 1812 RSW-EWR 20:11-23:05 113 A320 open ? - 04:39+1-07:33+1 +508 N640JB - -\nf544 1492 TPA-BOS 20:13-23:16 133 A320 open ? - 21:08-00:11+1 +55 N809JB - -\nf545 365 BOS-RSW 20:15-23:52 148 A320 open ? - 01:50+1-05:27+1 +335 N558JB - -\nf546 187 BOS-LAX 20:20-02:56+1 138 A321P auto-cancel ? - - - - - -\nf547 254 PBI-JFK 20:20-22:59 120 A320 open ? - 23:54-02:33+1 +214 N708JB - -\nf548 376 FLL-PHL 20:20-23:09 117 A220 open ? - 00:24+1-03:13+1 +244 N3085J - -\nf549 1294 MCO-HPN 20:20-23:01 120 A320 open ? - 22:07-00:48+1 +107 N506JB - -\nf550 2823 FLL-MSY 20:20-22:30 125 A320 open ? - 20:36-22:46 +16 N561JB - -\nf551 2821 MCO-LAS 20:21-01:49+1 120 A321P open ? - 21:07-02:35+1 +46 N976JT - -\nf552 2271 FLL-AUS 20:25-23:17 111 A220 open ? - 05:48+1-08:40+1 +563 N3289J - -\nf553 225 JFK-TPA 20:29-23:43 127 A320 open ? - 23:10-02:24+1 +161 N662JB - -\nf554 761 LGA-PBI 20:29-23:30 100 A220 open ? - 21:36-00:37+1 +67 N3156J - -\nf555 1723 JFK-LAX 20:29-02:50+1 135 A321P auto-cancel ? - - - - - -\nf556 470 FLL-BOS 20:30-23:48 148 A320 open ? - 20:45-00:03+1 +15 N646JB - -\nf557 842 SAV-JFK 20:30-22:34 81 A220 open ? - 20:30-22:34 +0 N3247J - -\nf558 1905 FLL-TPA 20:30-21:36 109 A320 open ? - 20:46-21:52 +16 N657JB - -\nf559 127 EWR-MCO 20:34-23:40 133 A320 open ? - 22:59-02:05+1 +145 N663JB - -\nf560 460 FLL-BDL 20:40-23:41 147 A320 open ? - 20:49-23:50 +9 N520JB - -\nf561 2615 JFK-SFO 20:40-03:22+1 119 A321P open ? - 20:56-03:38+1 +16 N946JL - -\nf562 572 FLL-LGA 20:45-23:41 134 A320 open ? - 22:19-01:15+1 +94 N793JB - -\nf563 1902 FLL-JFK 20:45-23:39 120 A220 open ? - 05:49+1-08:43+1 +544 N3189J - -\nf564 777 BOS-LAS 20:50-02:59+1 135 A321P auto-cancel ? - - - - - -\nf565 206 BOS-PQI 20:55-22:17 50 A220 auto-cancel ? - - - - - -\nf566 313 HPN-FLL 20:55-23:59 114 A320 open ? - 02:47+1-05:51+1 +352 N806JB - -\nf567 2354 DCA-BOS 20:55-22:30 75 A220 auto-cancel ? - - - - - -\nf568 2626 FLL-RDU 20:55-23:04 115 A320 open ? - 22:23-00:32+1 +88 N658JB - -\nf569 668 PBI-HPN 20:59-23:48 121 A320 open ? - 00:44+1-03:33+1 +225 N599JB - -\nf570 1146 FLL-RIC 20:59-23:18 128 A320 open ? - 22:30-00:49+1 +91 N703JB - -\nf571 2501 FLL-LAX 20:59-02:58+1 138 A321P open ? - 20:59-02:58+1 +0 N2165J - -\nf572 803 JFK-SJU 21:29-01:25+1 145 A320 open ? - 23:19-03:15+1 +110 N729JB - -\nf573 823 JFK-LAX 21:29-03:50+1 135 A321P auto-cancel ? - - - - - -\nf574 499 LGA-MCO 21:35-00:33+1 131 A320 open ? - 02:05+1-05:03+1 +270 N793JB - -\nf575 820 JFK-DTW 21:45-23:56 79 A320 open ? - 23:30-01:41+1 +105 N608JB - -\nf576 2587 JFK-DCA 21:45-22:59 54 A220 auto-cancel ? - - - - - -\nf577 486 JFK-ROC 21:59-23:28 109 A220 auto-cancel ? - - - - - -\nf578 1195 JFK-PIT 22:10-23:55 68 A220 auto-cancel ? - - - - - -\nf579 102 JFK-BUF 22:15-23:47 98 A220 auto-cancel ? - - - - - -\nf580 1128 JFK-PVD 22:29-23:32 55 A320 open ? - 22:30-23:33 +1 N606JB - -\nf581 2516 JFK-SYR 22:29-23:47 91 A220 auto-cancel ? - - - - - -\nf582 675 JFK-BDL 22:45-23:48 75 A320 open ? - 01:12+1-02:15+1 +147 N624JB - -\nf583 1118 JFK-BOS 22:59-00:13+1 118 A321 open ? - 22:59-00:13+1 +0 N997JL - -\nf584 734 SFO-BOS 23:29-05:00+1 132 A321P open ? - 23:29-05:00+1 +0 N984JB - -\nf585 616 SFO-JFK 23:37-05:03+1 126 A321P open ? - 23:37-05:03+1 +0 N944JT - -\nf586 988 LAX-BOS 23:38-05:00+1 138 A321P open ? - 00:30+1-05:52+1 +52 N4022J - -\nf587 430 MCO-BQN 23:50-02:30+1 146 A320 open ? - 23:50-02:30+1 +0 N565JB - -\nf588 1190 SAN-JFK 00:15+1-05:27+1 113 A321P open ? - 00:15+1-05:27+1 +0 N2151J - -\nf589 502 PHX-BOS 00:19+1-05:00+1 140 A321 open ? - 08:12+1-12:53+1 +473 N997JL - -\nf590 1756 LAS-EWR 00:23+1-05:06+1 108 A321P open ? - 03:31+1-08:14+1 +188 N942JB - -\nf591 1524 LAX-JFK 00:30+1-05:43+1 115 A321P open ? - 00:51+1-06:04+1 +21 N961JT - -\nf592 2120 SAN-BOS 00:30+1-05:55+1 123 A321P open ? - 08:39+1-14:04+1 +489 N987JT - -\nf593 2822 LAS-MCO 00:55+1-05:25+1 119 A321P open ? - 03:35+1-08:05+1 +160 N977JE - -\nf594 72 SLC-JFK 01:15+1-05:36+1 110 A220 open ? - 01:15+1-05:36+1 +0 N3023J - -\nf595 1116 SFO-JFK 01:37+1-07:03+1 127 A321P open ? - 01:37+1-07:03+1 +0 N934JB - -\nf596 200 LAX-FLL 01:45+1-06:33+1 132 A321P open ? - 01:45+1-06:33+1 +0 N969JT - -\nf597 36 PHX-JFK 01:59+1-06:31+1 115 A321P open ? - 01:59+1-06:31+1 +0 N967JT - -\nf598 778 LAS-BOS 02:39+1-07:35+1 131 A321P open ? - 03:45+1-08:41+1 +66 N976JT - -\nf599 324 LAX-JFK 02:40+1-08:00+1 132 A321P open ? - 02:53+1-08:13+1 +13 N991JT - -\nf600 378 SFO-FLL 02:59+1-08:17+1 126 A321P open ? - 02:59+1-08:17+1 +0 N929JB - -\nf601 948 LAS-JFK 02:59+1-07:50+1 130 A321P open ? - 06:16+1-11:07+1 +197 N2188J - -\n\n## Aircraft now, as your plan has them (@ = ready at)\nBOS: N3104J N3112J@18:00 N3132J@16:22 N3138J@16:20 N3229J@16:50 N3232J@17:25 N709JB@16:09 N923JB@17:59 N973JT\nJFK: N3102J N3118J@21:30 N3125J@14:25 N3194J@18:45 N536JB@20:55 N559JB@20:39 N593JB N657JB@16:39 N903JB N955JB@13:59 N965JT@21:59 N967JT@16:19 N984JB@12:50 N998JE@19:00\nATL: N591JB\nAUS: N3115J N3123J\nBDL: N809JB@17:05\nBQN: N535JB@13:59\nBUF: N3284J@14:40 N519JB@07:10 N706JB@05:10\nCHS: N3157J\nDAB: N3044J@10:45\nDEN: N3169J\nEWR: N531JL@18:49 N585JB@18:20 N615JB@14:25\nEYW: N3269J\nFLL: N2029J N3149J@13:40 N3156J@10:10 N3289J N537JT N571JB@11:45 N606JB@18:05 N608JB@19:10 N624JB N629JB@16:25 N648JB@12:40 N661JB@07:10 N662JB N703JB N763JB@19:40 N775JB N779JB@16:40 N793JB@15:40 N806JB N905JB N944JT N945JT N976JT N979JT N980JT@16:30 N986JB N989JT@12:30 N992JB@07:20\nHPN: N729JB@15:37 N805JB@14:09\nIAH: N746JB\nJAX: N3242J N3280J\nLAS: N2188J@16:40 N961JT N964JT\nLAX: N2105J@17:15 N2157J@12:15 N4058J N935JB N937JB@11:49 N946JL@14:25 N968JT N969JT N983JT@04:33 N993JE@15:49\nMCO: N3196J@12:04 N3203J@07:25 N3251J N3275J@15:03 N504JB N505JB@18:00 N506JB N509JB N517JB N520JB N523JB N561JB@14:25 N583JB@10:55 N584JB@23:00 N623JB N630JB@05:10 N663JB@11:35 N712JB@12:00 N942JB@05:55 N949JT N954JB N956JT@15:14 N957JB@13:45 N971JT@12:30 N997JL\nMSY: N3189J N594JB N821JB\nORH: N521JB\nPBI: N3085J@14:57 N3267J N4022J N527JL@18:25 N558JB N564JB@11:09 N592JB N625JB@17:40 N639JB@11:25 N640JB@13:28 N644JB@11:55 N665JB@20:09 N834JB@17:10 N996JL@15:05\nPHX: N962JT@00:49+1 N991JT\nPVD: N658JB@16:15\nROC: N3293J@14:50\nRSW: N3240J N3272J@15:50 N807JB\nSAN: N2044J@17:30 N2151J@23:20 N987JT\nSAV: N3247J@19:45 N655JB\nSFO: N2142J N2165J N2180J@17:00 N929JB N934JB@22:27 N977JE N978JB N981JT@12:40 N985JT\nSJU: N3276J@16:00 N554JB N565JB@09:55 N569JB@17:25 N599JB N607JB@12:30 N635JB@15:35 N636JB@12:10 N652JB N653JB@09:16 N715JB N768JB N994JL N995JL@11:00 N999JQ\nSLC: N3023J@00:30+1\nSRQ: N3058J N3241J@18:08\nSTT: N708JB\nTPA: N603JB N621JB@07:40 N627JB@18:17 N634JB@14:35 N646JB N651JB@14:25 N784JB N796JB\nairborne: none\n\n## News so far\n[22:45-1] TAF AMD KJFK 260345Z 2604/2706 02015G24KT 4SM -FZRAPL OVC010 FM260600 36010KT 4SM BR OVC008 TEMPO 2608/2612 2SM -FZRASN BKN006 FM261300 32012KT P6SM BKN015 OVC025 TEMPO 2618/2621 SCT015 FM262100 30014G23KT P6SM SCT020 BKN035 FM270000 30019G28KT P6SM SCT025 SCT040=\n[00:34] TAF KJFK 260534Z 2606/2712 36010KT 5SM -SNPL SCT006 OVC015 TEMPO 2606/2608 2SM -FZRASN BKN006 FM260800 35010KT 4SM BR OVC007 TEMPO 2608/2612 2SM -FZRASN BKN006 FM261600 32012KT P6SM SCT007 BKN015 OVC025 TEMPO 2618/2621 SCT015 FM262100 30014G23KT P6SM SCT020 BKN035 FM270000 30019G28KT P6SM SCT025 SCT040 FM270600 28013G20KT P6SM FEW025 FEW040=\n[00:38] TAF KBOS 260538Z 2606/2712 05020G35KT 1SM -SN OVC010 FM260800 06016G31KT 3SM -SN OVC010 FM261400 36011G20KT 4SM -SN OVC010 FM262100 34010KT 4SM -SN OVC015 FM270000 32012G25KT P6SM BKN020=\n[02:32] TAF AMD KJFK 260732Z 2608/2712 35010KT P6SM OVC015 TEMPO 2609/2612 5SM -SN BR FM261600 32012KT P6SM BKN015 OVC025 TEMPO 2618/2621 SCT015 FM262100 30014G23KT P6SM SCT020 BKN035 FM270000 30019G28KT P6SM SCT025 SCT040 FM270600 28013G20KT P6SM FEW025 FEW040=\n[02:51] KJFK 260751Z 01009KT 10SM OVC013 M05/M07 A2977 RMK AO2 SLP079 T10501067 $\n[02:54] KBOS 260754Z 34014G21KT 1SM R04R/4000VP6000FT -SN BR OVC008 M09/M11 A2979 RMK AO2 SLP086 P0004 T10891111 $\n[03:39] TAF AMD KJFK 260839Z 2609/2712 36011KT P6SM OVC015 FM261600 32012KT P6SM OVC025 TEMPO 2618/2620 SCT025 FM262000 30014G23KT P6SM BKN035 FM270000 30019G28KT P6SM SCT040 FM270600 28013G22KT P6SM FEW040=\n[03:40] TAF AMD KBOS 260840Z 2609/2712 36015G25KT 1SM -SN OVC010 FM261100 35011G20KT 4SM -SN OVC010 FM262100 34010KT 4SM -SN OVC015 FM270000 32012G25KT P6SM BKN020=\n[03:51] KJFK 260851Z 03013KT 10SM BKN012 OVC024 M05/M07 A2976 RMK AO2 SLP077 T10501067 50009 $\n[03:54] KBOS 260854Z 35016G24KT 2SM R04R/5500VP6000FT -SN BR SCT008 OVC012 M09/M12 A2980 RMK AO2 SLP089 P0002 60008 T10941117 55014 $\n\nIt is the first watch, 04:00. Nothing is frozen yet: set the day up with confirm_changes, then call advance.", + "max_turns": 309, + "model_params": { + "max_tokens": 32000 + }, + "timeout_seconds": 7200 + }, + { + "id": "end-day", + "type": "apply_server_config", + "env_id": "airops-v3-day", + "directives": [ + { + "service": "airops-v3-day", + "uri": "urn:airops:v3-end-day/v1", + "args": {} + } + ] + }, + { + "id": "grade", + "type": "env_outcome_verifier", + "env_id": "airops-v3-day", + "file_artifact_id": "airops-verifier", + "verifier_id": "airops", + "score_aggregator": "weighted_average" + } +] diff --git a/src/agentenv_airops/bundles/airops-v3/tasks/wiring-noplay.json b/src/agentenv_airops/bundles/airops-v3/tasks/wiring-noplay.json new file mode 100644 index 0000000..4f32075 --- /dev/null +++ b/src/agentenv_airops/bundles/airops-v3/tasks/wiring-noplay.json @@ -0,0 +1,51 @@ +[ + { + "id": "deploy", + "type": "deploy_env", + "env_id": "airops-v3-day" + }, + { + "id": "load-task", + "type": "apply_server_config", + "env_id": "airops-v3-day", + "directives": [ + { + "service": "airops-v3-day", + "uri": "urn:airops:v3-live-load/v1", + "args": { + "task_id": "b6-20221215-0400", + "anchor": 3324315, + "follower": 3359614 + } + } + ] + }, + { + "id": "clock", + "type": "sync_env_clock", + "env_id": "airops-v3-day", + "virtual_time": "2022-12-15T09:00:00Z", + "virtual_seconds_per_real_second": 0, + "tolerate_missing_sync_time": false + }, + { + "id": "end-day", + "type": "apply_server_config", + "env_id": "airops-v3-day", + "directives": [ + { + "service": "airops-v3-day", + "uri": "urn:airops:v3-end-day/v1", + "args": {} + } + ] + }, + { + "id": "grade", + "type": "env_outcome_verifier", + "env_id": "airops-v3-day", + "file_artifact_id": "airops-verifier", + "verifier_id": "airops", + "score_aggregator": "weighted_average" + } +] diff --git a/src/agentenv_airops/flow/sources.py b/src/agentenv_airops/flow/sources.py index 447d26f..4935941 100644 --- a/src/agentenv_airops/flow/sources.py +++ b/src/agentenv_airops/flow/sources.py @@ -30,15 +30,12 @@ from pathlib import Path import numpy as np -from PIL import Image from ..build import bts, fetch from ..build import weather as v1 from ..programs import candidates, unseen from ..programs.advisories import HUBS, nm -Image.MAX_IMAGE_PIXELS = None - ATR = "https://www.panynj.gov/content/dam/airports/statistics/statistics-general-info/annual-atr/ATR_2024.pdf" ATR_SHA256 = "0f28d133faa2b4347e4bbc98d1e2eff6b1ea065ca4d97e8a9773319e4b493b59" ATR_2024 = {1: (35_850, -4.8), 2: (34_228, -2.5), 3: (37_951, -7.6), 4: (38_661, -4.0), 5: (40_254, -4.5), @@ -175,6 +172,9 @@ def discs() -> dict[str, tuple[slice, slice, np.ndarray]]: def shares(body: bytes, masks: dict) -> dict[str, dict[str, float]]: + from PIL import Image # an extra's: the path helpers above serve installs without it (programs.layers) + + Image.MAX_IMAGE_PIXELS = None im = Image.open(io.BytesIO(body)) if im.mode != "P": raise ValueError(f"expected a palette PNG, got {im.mode}") diff --git a/src/agentenv_airops/programs/layers/__init__.py b/src/agentenv_airops/programs/layers/__init__.py new file mode 100644 index 0000000..e1d6849 --- /dev/null +++ b/src/agentenv_airops/programs/layers/__init__.py @@ -0,0 +1,11 @@ +"""v3's realism layers (model.Layers), each built for a task from pinned public inputs. + +A layer is a rule sim.execute applies and the hindsight MIP carries alike (docs/v3/DESIGN.md §1), so the anchor stays +a proven optimum. A builder returns its field of Layers; a task without layers is v2's world. +- depcaps: JetBlue's departure cap per hour at a hub, from every carrier's BTS pushbacks (§3.1). +- arrcaps: JetBlue's arrival cap per hour at an outstation, from every carrier's BTS arrivals (§3.3). +- closures: ramp closures at a hub from its METARs and SPECIs, a departure and an arrival cap over each (§3.2). +- weather: the hubs' METARs, SPECIs and TAFs as the desk's news (§4), each delivered after its kind's lag. +- config: the constants a pack fits, and every layer of a task at them (network.build's `layers`). +- calibrate: the constants fitted on a pack's train dates: closure rates and reserve pools (§3.4, §6.1). +""" diff --git a/src/agentenv_airops/programs/layers/arrcaps.py b/src/agentenv_airops/programs/layers/arrcaps.py new file mode 100644 index 0000000..16064f3 --- /dev/null +++ b/src/agentenv_airops/programs/layers/arrcaps.py @@ -0,0 +1,47 @@ +"""JetBlue's arrival cap per hour at its outstations, from what actually arrived there (docs/v3/DESIGN.md §3.3). + +v2 models the FAA's programs at JFK and BOS only, so a leg into an outstation under its own GDP, ground stop or weather +flies free. This is §3.1's rule on arrivals at every non-hub destination of the task's flights: an hour is constrained +when every carrier together arrived there (BTS gate arrival) less than `short` of what it had scheduled to arrive in it, +with at least `min_sched` scheduled. JetBlue's cap there is its in-scope share of the hour's schedule (the task's +flights scheduled to arrive at the station in it) times the hour's actual arrivals, rounded to the nearest flight, and +never below the task's flights into the station the airline replay lands in it. The replay lands a flight that pushed +back at its pushback plus its truth block, whatever its gate-in: a diversion flies to its scheduled destination, and a +gate-in held long after landing counts in the hour it landed. The floor keeps the recorded day's arrivals within the +caps; a replayed flight that a GDP slot or a late aircraft moves into a capped hour can still be held there, so the +recorded day is close to feasible, not feasible by construction (as with closures, §3.2). Other hours, and hours JetBlue +scheduled nothing in, stay uncapped. Hours are counted from the task's midnight, over the span of the hubs' nominal caps +(rbs.nominal): from the first watch's hour through the hour of the latest arrival a deadline allows. The caps join the +world's nominal arrival caps (sim.truth), so the sim and the MIP enforce them as they do a hub's. +""" + +import math +from collections import Counter + +import pandas as pd + +from ..advisories import HUBS +from ..model import Task + +SHORT = 0.9 +MIN_SCHED = 5 + + +def build(task: Task, frame: pd.DataFrame, short: float = SHORT, + min_sched: int = MIN_SCHED) -> dict[str, dict[int, int]]: + """The task's arrival caps per outstation and hour. `frame` holds every carrier's BTS flights of the task's dates + (candidates.frame: `Dest`, and `sched_arr` and `act_arr` in UTC epoch minutes, `act_arr` NaN when none).""" + lo, hi = task.start // 60, max(f.deadline + f.block for f in task.flights) // 60 + out: dict[str, dict[int, int]] = {} + for station in sorted({f.dest for f in task.flights} - set(HUBS)): + x = frame[frame.Dest == station] + sched = Counter(((x.sched_arr - task.base) // 60).astype(int)) + arrived = Counter(((x.act_arr.dropna() - task.base) // 60).astype(int)) + mine = Counter(f.sched_arr // 60 for f in task.flights if f.dest == station) + landed = Counter((f.actual.dep + f.block) // 60 for f in task.flights + if f.dest == station and f.actual.dep is not None) + caps = {h: max(landed[h], math.floor(mine[h] / sched[h] * arrived[h] + 0.5)) for h in range(lo, hi + 1) + if mine[h] and sched[h] >= min_sched and arrived[h] < short * sched[h]} + if caps: + out[station] = caps + return out diff --git a/src/agentenv_airops/programs/layers/calibrate.py b/src/agentenv_airops/programs/layers/calibrate.py new file mode 100644 index 0000000..71ac30f --- /dev/null +++ b/src/agentenv_airops/programs/layers/calibrate.py @@ -0,0 +1,87 @@ +"""v3's layer constants, fitted on a pack's train dates only (docs/v3/DESIGN.md §1, §6.1) and written to its manifest. + +- The ramp closures' rate per hub is closures.fit_rate over the train dates: every carrier's pushbacks inside the + closures that start on them over those in the same minutes just before (DECISIONS 2026-10-17, U3 Q2: refitted on + the pack's own split, not U3's scratch rates). +- The reserve pool per crew base (§3.4), as no crew data is public, is the smallest that keeps JetBlue's airline + replay within the airline-replay gate (world_check's and step 0's G1) on every train date: its auto-cancels among + the flights it flew by their deadline (references.counted) at most AUTO_SHARE of them and at most AUTO_MAX + (DECISIONS 2026-10-17, U6 Q2). A date whose replay is out of G1 even with unlimited reserves (the other layers' + doing) holds the pool to no more auto-cancels than that. On each date, with the other layers on, the replay calls a + reserve for each base departure its unlimited-reserve replay flies past its crew deadline + (references.airline_plan); per base, the smallest pool in 0 up to that date's calls there at which the replay, that + base pooled and the others unlimited, is kept so, and the base's pool is the largest of those over the dates. The + pools together are then replayed on every date; a date they don't keep (the bases' auto-cancels adding up past G1, + or one base's denial moving another's aircraft) lifts every base to its calls there, at which the replay is the + unlimited one, until every date is kept. +- The departure and outstation caps' clauses stay at depcaps' and arrcaps' SHORT and MIN_SCHED (0.9 and 5), not + fitted: the caps are floored at JetBlue's recorded pushbacks and arrivals, so any value fits the recorded day + (DECISIONS 2026-10-17, U6 Q1). +""" + +from collections import Counter +from collections.abc import Callable, Iterable, Mapping, Sequence +from concurrent.futures import ProcessPoolExecutor +from contextlib import nullcontext +from dataclasses import replace + +import pandas as pd + +from .. import references +from ..model import Layers, Task +from . import closures +from .config import Config, build + +AUTO_SHARE, AUTO_MAX = 0.01, 2 + + +def fit(dates: Iterable[str], tasks: Iterable[Task], frame_of: Callable[[str], pd.DataFrame], + spans: Mapping[str, Sequence[closures.Interval]], pushed: pd.DataFrame, workers: int = 1) -> Config: + """The constants fitted on the train `dates`: `tasks` their built tasks (crew on, no layers; others are ignored), + `frame_of` a date's every-carrier BTS flights (candidates.frame), `spans` each hub's closures, `pushed` every + carrier's BTS flights once each (`Origin`, `act_dep`) over the months the dates fall in.""" + dates = tuple(sorted(set(dates))) + rated = Config(rate=closures.fit_rate(dates, pushed, spans), dates=dates) + train = [replace(t, layers=build(t, rated, frame_of(t.date), spans)) for t in tasks if t.date in dates] + return replace(rated, reserves=pools(train, workers)) + + +def pools(tasks: Sequence[Task], workers: int = 1) -> dict[str, int]: + """The smallest reserve pool per crew base of `tasks` (layered, crew on) that keeps every task's airline replay + within G1, or no worse than with unlimited reserves where that already isn't.""" + with ProcessPoolExecutor(workers) if workers > 1 and len(tasks) > 1 else nullcontext() as pool: + found = list(pool.map(least, tasks) if pool else map(least, tasks)) + free = [auto(t, {}) for t in tasks] + out = {b: max((k.get(b, 0) for k, _ in found), default=0) for b in sorted({b for t in tasks for b in t.bases})} + while True: + short = [calls for t, (_, calls), n in zip(tasks, found, free, strict=True) if not kept(t, out, n)] + if not short: + return out + for calls in short: + out |= {b: max(out[b], n) for b, n in calls.items()} + + +def least(task: Task) -> tuple[dict[str, int], dict[str, int]]: + """Per crew base of the task, the smallest pool (the others unlimited) that keeps its airline replay (`kept`), and + the replay's reserve calls there.""" + plan = references.airline_plan(pooled(task, dict.fromkeys(task.bases, len(task.flights)))) + calls = Counter(task.flight(i).orig for i, e in plan.items() if e.get("reserve")) + free = auto(task, {}) + return {b: next(k for k in range(calls[b] + 1) if k == calls[b] or kept(task, {b: k}, free)) + for b in task.bases}, {b: calls[b] for b in task.bases} + + +def kept(task: Task, pool: Mapping[str, int], free: int) -> bool: + """Whether the airline replay with `pool` is within G1 (auto-cancels at most AUTO_SHARE of its counted flights and + at most AUTO_MAX), or auto-cancels no more than the `free` it does with unlimited reserves.""" + replay = references.airline(pooled(task, {b: n for b, n in pool.items() if b in task.bases})) + return replay.auto <= free or (replay.auto <= AUTO_SHARE * replay.flew and replay.auto <= AUTO_MAX) + + +def auto(task: Task, pool: Mapping[str, int]) -> int: + """The airline replay's auto-cancels with `pool` at the task's crew bases it names, the others unlimited.""" + return references.airline(pooled(task, {b: n for b, n in pool.items() if b in task.bases})).auto + + +def pooled(task: Task, pool: Mapping[str, int]) -> Task: + return replace(task, layers=replace(task.layers or Layers(), reserves=dict(pool))) diff --git a/src/agentenv_airops/programs/layers/closures.py b/src/agentenv_airops/programs/layers/closures.py new file mode 100644 index 0000000..8f78174 --- /dev/null +++ b/src/agentenv_airops/programs/layers/closures.py @@ -0,0 +1,152 @@ +"""Ramp closures at JFK and BOS from the METARs, as a cut in JetBlue's departure and gate-in rates (docs/v3/DESIGN.md +§3.2). + +An ASOS reports TS in present weather when it detects lightning within 5 nm of the field (VCTS is 5 to 10 nm, LTG DSNT +beyond: neither closes the ramp), and the remarks carry the thunderstorm's begin and end minutes (TSBmm or TSBhhmm, +TSEmm or TSEhhmm). Read oldest first, the routine METARs and the SPECIs give each closure: from a begin to its end; a +report with TS in present weather and none open opens one at the report; a report without TS closes one still open at +the report, unless its remarks end it first; the last report closes one still open. An end remark older than the open +closure's start belongs to an earlier storm (a SPECI's "TSE13B24" while a closure is open from :22) and is ignored. +Overlapping or touching intervals merge. The SPECIs, when the cache holds them, give the onset and end to the minute; +without them the routine reports alone, whose remarks carry the same minutes an hour later at most. + +Lightning doesn't stop the ramp: during such intervals every carrier together still pushed back at about 75% of its +rate in the same minutes just before (the spike: JFK 411 vs 563, BOS 449 vs 584), and gated in at 70 to 74% (BTS over +the 19 months: JFK 565 vs 807, BOS 732 vs 989). `fit_rate` measures the departure ratio per hub on train dates, leaving +out a closure whose minutes just before reach into another closure, as they hold no normal rate. `build` turns each +closure over a task into JetBlue's two caps there (§3.2), at the same rate: `rate` x JetBlue's normal hourly departures +from the hub (the task's flights scheduled to leave it in the clock hours the closure touches, per hour) x the +closure's length in hours, rounded to the nearest flight and never below what those flights actually pushed back inside +it; and the same of its flights scheduled to arrive at the hub, never below those that arrive inside it as the sim +times the recorded day: at the recorded pushback plus the truth block, a few minutes before the gate-in when the block +leaves out a held taxi-out, and at the hub even for a flight that diverted elsewhere (the airline replay flies it +there), and one diverted into the hub at the station it was scheduled into. The floors keep the recorded day's +pushbacks and arrivals inside a closure within its caps, so the airline replay leaves and lands there as on the open +day unless something else (a slot, a cap) moves a flight into a closure. `intervals` are in UTC epoch minutes, closures +in minutes from the task's midnight. +""" + +import csv +import io +import math +import re +from collections.abc import Iterable, Mapping, Sequence +from datetime import UTC, datetime, timedelta +from pathlib import Path + +import pandas as pd + +from ...build import bts +from ..candidates import midnight +from ..model import Task + +EVENT = re.compile(r"\bTS((?:[BE]\d{2,4})+)\b") +PART = re.compile(r"([BE])(\d{2,4})") +Interval = tuple[int, int] + + +def intervals(hub: str, metars: Iterable[Path], specis: Iterable[Path] = ()) -> list[Interval]: + """The hub's closures, [start, end) in UTC epoch minutes, from its routine METAR and SPECI CSVs (IEM ASOS); a + path that doesn't exist is skipped.""" + rows = [r for p in (*metars, *specis) if p.exists() for r in csv.DictReader(io.StringIO(p.read_text())) + if r["station"] == hub and (r["metar"] or "").strip()] + rows.sort(key=lambda r: r["valid"]) + out: list[Interval] = [] + start, now = None, None + for r in rows: + report = datetime.strptime(r["valid"], "%Y-%m-%d %H:%M").replace(tzinfo=UTC) + now = bts.epoch_minutes(report) + _, _, remarks = r["metar"].partition(" RMK ") + for m in EVENT.finditer(remarks): + for kind, digits in PART.findall(m.group(1)): + when = bts.epoch_minutes(_at(report, digits)) + if kind == "B" and start is None: + start = when + elif kind == "E" and start is not None and when >= start: + out.append((start, max(when, start + 1))) + start = None + here = any("TS" in c and not c.startswith("VC") for c in (r["wxcodes"] or "").split()) + if here and start is None: + start = now + elif not here and start is not None: + out.append((start, max(now, start + 1))) + start = None + if start is not None: + out.append((start, max(now, start + 1))) + merged: list[Interval] = [] + for a, b in sorted(out): + if merged and a <= merged[-1][1]: + merged[-1] = (merged[-1][0], max(merged[-1][1], b)) + else: + merged.append((a, b)) + return merged + + +def _at(report: datetime, digits: str) -> datetime: + """A remark's minute (mm, or hhmm), the latest such time at or before its report.""" + if len(digits) == 4: + t = report.replace(hour=int(digits[:2]), minute=int(digits[2:])) + return t - timedelta(days=1) if t > report else t + t = report.replace(minute=int(digits[-2:])) + return t - timedelta(hours=1) if t > report else t + + +def build(task: Task, spans: Mapping[str, Sequence[Interval]], + rate: Mapping[str, float]) -> dict[str, tuple[tuple[int, int, int, int], ...]]: + """The task's ramp closures per hub, (start, end, dep_cap, arr_cap) from its midnight: each of `spans` (UTC epoch + minutes, per hub) that overlaps the task's span, from its first watch to the end of the hour after its last + deadline. A hub closed over the task without a `rate` (`fit_rate` gives none to a hub with nothing pushed back + before its closures) is a ValueError: its caps can't be priced, and dropping the closure would hide the gap.""" + hi = 60 * (max(f.deadline for f in task.flights) // 60 + 2) + out = {} + for hub, xs in spans.items(): + shut = [] + for a, b in ((a - task.base, b - task.base) for a, b in xs): + if b <= task.start or a >= hi: + continue + if hub not in rate: + raise ValueError(f"{hub} closes {a}-{b} on {task.date} but has no fitted rate") + shut.append((a, b, *caps(task, hub, rate[hub], a, b))) + if shut: + out[hub] = tuple(shut) + return out + + +def caps(task: Task, hub: str, rate: float, a: int, b: int, by: int | None = None) -> tuple[int, int]: + """JetBlue's departure and arrival caps over a closure of `hub` from a to b at `rate`, as `build` prices them; `by` + floors them only at the pushbacks and arrivals before it, which is all the desk has seen at watch `by` + (sim.known prices a closure under way over its expected end so).""" + seen = (lambda m: True) if by is None else (lambda m: m < by) + leave = [f.sched_dep for f in task.flights if f.orig == hub] + land = [f.sched_arr for f in task.flights if f.dest == hub] + pushed = [f.actual.dep for f in task.flights if f.orig == hub and f.actual.dep is not None and seen(f.actual.dep)] + landed = [m for m in (f.actual.dep + f.block for f in task.flights if f.dest == hub and f.actual.dep is not None) + if seen(m)] + return _cap(rate, leave, pushed, a, b), _cap(rate, land, landed, a, b) + + +def _cap(rate: float, scheduled: Sequence[int], actual: Sequence[int], a: int, b: int) -> int: + """`rate` x the normal hourly count of `scheduled` minutes (per hour over the clock hours [a, b) touches) x the + hours in [a, b), to the nearest flight, and never below the `actual` minutes inside [a, b).""" + lo, top = 60 * (a // 60), 60 * -(-b // 60) + hourly = sum(lo <= t < top for t in scheduled) * 60 / (top - lo) + return max(sum(a <= t < b for t in actual), math.floor(rate * hourly * (b - a) / 60 + 0.5)) + + +def fit_rate(dates: Iterable[str], frame: pd.DataFrame, spans: Mapping[str, Sequence[Interval]]) -> dict[str, float]: + """Per hub, every carrier's pushbacks inside its closures that start on `dates` (local days) over its pushbacks in + the same number of minutes just before each, leaving out a closure whose minutes before reach into another of the + hub's closures. `frame` holds every carrier's BTS flights once each (`Origin`, and `act_dep` in UTC epoch minutes, + NaN when none); a hub with no pushback before any of its closures has no rate.""" + days = [(midnight(d), midnight(d) + 1440) for d in dates] + out = {} + for hub, xs in spans.items(): + pushed = frame.act_dep[frame.Origin == hub].dropna() + inside = before = 0 + for a, b in xs: + if any(lo <= a < hi for lo, hi in days) and not any(c < a and d > 2 * a - b for c, d in xs): + inside += int(((pushed >= a) & (pushed < b)).sum()) + before += int(((pushed >= 2 * a - b) & (pushed < a)).sum()) + if before: + out[hub] = inside / before + return out diff --git a/src/agentenv_airops/programs/layers/config.py b/src/agentenv_airops/programs/layers/config.py new file mode 100644 index 0000000..5c7c2aa --- /dev/null +++ b/src/agentenv_airops/programs/layers/config.py @@ -0,0 +1,62 @@ +"""v3's layer config: the constants fitted on a pack's train dates (layers.calibrate), and the builder that turns them +into a task's Layers (docs/v3/DESIGN.md §2, §6.1). + +The constants are the ramp closures' departure-rate cut per hub (`rate`, closures.fit_rate), the reserve crews per +crew base (`reserves`), and the departure and outstation caps' clauses (`short`, `min_sched`: depcaps' and arrcaps' +0.9 and 5, kept as set, not fitted), with the train `dates` they were fitted on. `build` gives a task every layer at +them: JetBlue's departure caps at the hubs (depcaps) and arrival caps at the outstations (arrcaps) from every +carrier's BTS flights of its dates, the hubs' ramp closures over its span (closures, from `spans`: the IEM routine +METARs and SPECIs), and the pool at each of the task's crew bases (none without the crew model). A base the config +leaves out keeps unlimited reserves. The desk's view goes with them (docs/v3/DESIGN.md §4): the closure rates +(Layers.rates), at which the day as known prices a closure under way over its expected end (sim.known), the hubs' +weather news (layers.weather) and the default delivery lags (model.LAGS). +""" + +import functools +from collections.abc import Mapping, Sequence +from dataclasses import dataclass, field +from pathlib import Path + +import pandas as pd + +from ...build import weather +from ...flow import sources +from ..advisories import HUBS +from ..model import Layers, Task +from . import arrcaps, closures, depcaps +from .weather import Item + + +@dataclass(frozen=True) +class Config: + rate: dict[str, float] = field(default_factory=dict) + reserves: dict[str, int] = field(default_factory=dict) + short: float = depcaps.SHORT + min_sched: int = depcaps.MIN_SCHED + dates: tuple[str, ...] = () + + @classmethod + def from_dict(cls, d: Mapping) -> "Config": + return cls(dict(d["rate"]), dict(d["reserves"]), d["short"], d["min_sched"], tuple(d["dates"])) + + def to_dict(self) -> dict: + return {"rate": dict(sorted(self.rate.items())), "reserves": dict(sorted(self.reserves.items())), + "short": self.short, "min_sched": self.min_sched, "dates": list(self.dates)} + + +def build(task: Task, cfg: Config, frame: pd.DataFrame, spans: Mapping[str, Sequence[closures.Interval]], + news: Sequence[Item] = ()) -> Layers: + """The task's layers at `cfg`. `frame` holds every carrier's BTS flights of its dates (candidates.frame), `spans` + each hub's closures in UTC epoch minutes (closures.intervals), `news` the hubs' weather (layers.weather.build).""" + return Layers(dep_caps=depcaps.build(task, frame, cfg.short, cfg.min_sched), + arr_caps=arrcaps.build(task, frame, cfg.short, cfg.min_sched), + closures=closures.build(task, spans, cfg.rate), + reserves={b: n for b, n in sorted(cfg.reserves.items()) if b in task.bases}, + weather=tuple(news), rates=dict(sorted(cfg.rate.items()))) + + +@functools.lru_cache(maxsize=8) +def spans(inputs: Path, months: tuple[str, ...]) -> dict[str, list[closures.Interval]]: + """Each hub's closures over `months`, from the cached routine METARs and SPECIs (IEM ASOS).""" + return {h: closures.intervals(h, [weather.metar_path(inputs, h, m) for m in months], + [sources.speci_path(inputs, h, m) for m in months]) for h in HUBS} diff --git a/src/agentenv_airops/programs/layers/depcaps.py b/src/agentenv_airops/programs/layers/depcaps.py new file mode 100644 index 0000000..7c27419 --- /dev/null +++ b/src/agentenv_airops/programs/layers/depcaps.py @@ -0,0 +1,41 @@ +"""JetBlue's departure cap per hour at JFK and BOS, from what the airport actually pushed back (docs/v3/DESIGN.md +§3.1). + +v2 caps nothing leaving a hub. An hour is constrained when every carrier together pushed back (BTS gate departure) +less than `short` of what it had scheduled to leave the hub in it, with at least `min_sched` scheduled. JetBlue's cap +there is its in-scope share of the hour's schedule (the task's flights scheduled to leave the hub in it) times the +hour's actual pushbacks, rounded to the nearest flight (so a cap of 0 means JetBlue's expected share was under +half a flight), and never below what those flights actually pushed back in it, so the recorded +day stays feasible. Other hours, and hours JetBlue scheduled nothing in, stay uncapped. Hours are counted from the +task's midnight, over the task's span: from its first watch to the hour after its last deadline. +""" + +import math +from collections import Counter + +import pandas as pd + +from ..advisories import HUBS +from ..model import Task + +SHORT = 0.9 +MIN_SCHED = 5 + + +def build(task: Task, frame: pd.DataFrame, short: float = SHORT, + min_sched: int = MIN_SCHED) -> dict[str, dict[int, int]]: + """The task's departure caps per hub and hour. `frame` holds every carrier's BTS flights of the task's dates + (candidates.frame: `Origin`, and `sched_dep` and `act_dep` in UTC epoch minutes, `act_dep` NaN when none).""" + lo, hi = task.start // 60, max(f.deadline for f in task.flights) // 60 + 1 + out: dict[str, dict[int, int]] = {} + for hub in HUBS: + x = frame[frame.Origin == hub] + sched = Counter(((x.sched_dep - task.base) // 60).astype(int)) + pushed = Counter(((x.act_dep.dropna() - task.base) // 60).astype(int)) + mine = Counter(f.sched_dep // 60 for f in task.flights if f.orig == hub) + flew = Counter(f.actual.dep // 60 for f in task.flights if f.orig == hub and f.actual.dep is not None) + caps = {h: max(flew[h], math.floor(mine[h] / sched[h] * pushed[h] + 0.5)) for h in range(lo, hi + 1) + if mine[h] and sched[h] >= min_sched and pushed[h] < short * sched[h]} + if caps: + out[hub] = caps + return out diff --git a/src/agentenv_airops/programs/layers/weather.py b/src/agentenv_airops/programs/layers/weather.py new file mode 100644 index 0000000..afa5104 --- /dev/null +++ b/src/agentenv_airops/programs/layers/weather.py @@ -0,0 +1,70 @@ +"""The hubs' weather as the desk reads it (docs/v3/DESIGN.md §4): every routine METAR, SPECI and TAF of the task's +hubs over its span, as news items (minute, kind, station, text) for Layers.weather. + +A METAR or SPECI is dated by its observation (IEM ASOS `valid`), a TAF by its AFOS issue time; minutes are from the +task's midnight. Each reaches the desk at that minute plus its kind's lag (Layers.lags: metar 5, speci 5, taf 10 by +default, advisories 0), the time the product takes to be filed and spread. The span starts LEAD_OBS before the first +watch for the observations and LEAD_TAF for the TAFs (the TAF cycle is six hours), so the first watch has the latest of +each, and ends at the last deadline. The SPECI archive holds some reports the routine one has too; a SPECI with the same +minute and text as a routine METAR is dropped. Only the observation's raw text is carried: the desk reads it as a +dispatcher reads the wire. +""" + +import csv +import io +from datetime import UTC, datetime +from pathlib import Path + +from ...build import bts +from ...build import weather as v1 +from ...flow import sources +from ..model import Task + +LEAD_OBS = 90 +LEAD_TAF = 360 +Item = tuple[int, str, str, str] + + +def build(task: Task, inputs: Path) -> tuple[Item, ...]: + """The task's hubs' METARs, SPECIs and TAFs over its span, oldest first (minute, kind, hub, station order); a + month file the cache doesn't hold is skipped.""" + hi = max(f.deadline for f in task.flights) + months = _months(task.base + task.start - LEAD_TAF, task.base + hi) + out: dict[tuple[int, str, str], Item] = {} + for hub in task.storms: + for kind, path in [(k, p) for m in months for k, p in (("metar", v1.metar_path(inputs, hub, m)), + ("speci", sources.speci_path(inputs, hub, m)))]: + for minute, text in _observations(path, hub, task.base): + if task.start - LEAD_OBS <= minute <= hi: + out.setdefault((minute, hub, text), (minute, kind, hub, text)) + for m in months: + path = v1.afos_path(inputs, f"TAF{hub}", m) + if not path.exists(): + continue + for issued, body in v1.products(path.read_text(encoding="latin-1"), m): + minute = bts.epoch_minutes(issued) - task.base + if task.start - LEAD_TAF <= minute <= hi: + out.setdefault((minute, hub, body), (minute, "taf", hub, body)) + return tuple(sorted(out.values(), key=lambda x: (x[0], x[1], x[2], x[3]))) + + +def _observations(path: Path, hub: str, base: int) -> list[tuple[int, str]]: + if not path.exists(): + return [] + out = [] + for r in csv.DictReader(io.StringIO(path.read_text())): + text = (r["metar"] or "").strip() + if r["station"] == hub and text: + observed = datetime.strptime(r["valid"], "%Y-%m-%d %H:%M").replace(tzinfo=UTC) + out.append((bts.epoch_minutes(observed) - base, text)) + return out + + +def _months(lo: int, hi: int) -> list[str]: + """The UTC months epoch minutes lo to hi touch, as YYYY-MM.""" + first, last = (datetime.fromtimestamp(60 * x, UTC) for x in (lo, hi)) + out, y, m = [], first.year, first.month + while (y, m) <= (last.year, last.month): + out.append(f"{y}-{m:02d}") + y, m = (y + 1, 1) if m == 12 else (y, m + 1) + return out diff --git a/src/agentenv_airops/programs/mip.py b/src/agentenv_airops/programs/mip.py index 53c8bbf..5445854 100644 --- a/src/agentenv_airops/programs/mip.py +++ b/src/agentenv_airops/programs/mip.py @@ -1,17 +1,22 @@ """The hindsight MIP (HiGHS): v1's time-line network (refs.mip) by split family, inside the programs. Each flight gets a copy per departure minute (every `step` minutes, at the EDCT of every slot into its destination, the -slot less its scheduled block, and at the end of its crew's rest) from its earliest to its deadline, the hub cutoff +slot less its scheduled block, at the end of every ramp closure at its origin, at the end of every one at its +destination less its block, and at the end of its crew's rest) from its earliest to its deadline, the hub cutoff included, less the minutes the world forbids: those a ground stop holds it, those at which a segment governs it with its slot time (the minute plus the scheduled block) inside the period but on none of JetBlue's slots, and those after its crew deadline before its crew's rest ends. A copy on a slot counts in that slot's row, at most one flight per slot; -any other copy into a hub counts in the nominal row of its arrival hour (the minute plus the block). A copy costs its -pax x minutes late at arrival and its aircraft's minutes (cost.flown_price: the minute's gate delay, and the world's -block overrun, the same for every copy of a flight); a cancellation costs `price`, the notice price at the solve time, -which keeps the model linear, less the cancellation's saving, and a caller pins a cancellation the sim decides (an -auto-cancel, `lapsed`) at the price the sim gives it (Task.auto_at). With `flat` every cancellation, the desk's or an -auto-cancel, costs the flat price less the saving, as Cost.flat prices it. Pinned flights keep their minute, their -cancellation or their auto-cancel, and use up the slots and nominal room they take. +any other copy into a hub, or into an outstation in an hour it caps (Layers.arr_caps, which join the nominal caps), +counts in the nominal row of its arrival hour (the minute plus the block); and any copy, slotted or not, leaving in an +hour its origin caps (Layers.dep_caps) counts in that hour's departure row, one leaving inside a ramp closure at its +origin (Layers.closures) in that closure's departure row, and one arriving (the minute plus the block) inside a ramp +closure at its destination in that closure's arrival row. A copy costs its pax x minutes late at arrival and its +aircraft's minutes (cost.flown_price: the minute's gate delay, and the world's block overrun, the same for every copy +of a flight); a cancellation costs `price`, the notice price at the solve time, which keeps the model linear, less the +cancellation's saving, and a caller pins a cancellation the sim decides (an auto-cancel, `lapsed`) at the price the +sim gives it (Task.auto_at). With `flat` every cancellation, the desk's or an auto-cancel, costs the flat price less +the saving, as Cost.flat prices it. Pinned flights keep their minute, their cancellation or their auto-cancel, and use +up the slots, nominal, departure and closure room they take. Aircraft flow as in v1, over nodes per (family, station) at every event time; a copy of a leg with a busy block reaches its destination's node at the block's ready time when that is later than its turn. A leg JetBlue turned into @@ -30,6 +35,13 @@ sim.execute reproduces from its departure minutes as holds, at the same cost, and every day sim.execute runs is a solution (`Network.vector`), which also starts the search. +With a finite reserve pool at a crew base (Layers.reserves, docs/v3/DESIGN.md §3.4) each departure from it that is +not pinned and has a copy past its crew deadline (Task.crew) before its crew's rest ends, or that may auto-cancel on +a line, gets a 0/1 reserve column, which bounds those copies (and, on a line, a column auto-cancelling it on the +reserve crew, at its deadline) and joins its base's pool row: room = the pool less the pinned flights the caller says +hold a reserve (`reserved`, sim.granted's of them), whose own auto-cancel is then priced at its deadline. The copies of +a reservable flight are Edgar's base departure's, every minute to its deadline, plus one at its crew's rest end. + Proven to GAP (0.01%); `canonical` then re-solves among the optimal plans for the one with the earliest weighted departures (v1's second pass, started from the first), so the plan, not only its cost, is the same on every run. Within the gap the first plan need not be the cheapest, so the second may cost less: the objective is the cost of the plan @@ -71,6 +83,7 @@ class Solution: started: bool canonical: bool lapsed: dict[int, int] + reserve: frozenset[int] = frozenset() @property def proven(self) -> bool: @@ -78,9 +91,10 @@ def proven(self) -> bool: def plan(self, decided: int) -> dict[int, dict]: """The solution as holds to each departure minute, its cancellations decided at `decided`; a flight it lets - auto-cancel is held past its deadline.""" - return {i: {"not_before": self.lapsed[i]} if i in self.lapsed else {"cancel": True, "decided": decided} - if d is None else {"not_before": d} for i, d in self.deps.items()} + auto-cancel is held past its deadline; one it flies past its crew deadline on a reserve crew calls one.""" + out = {i: {"not_before": self.lapsed[i]} if i in self.lapsed else {"cancel": True, "decided": decided} + if d is None else {"not_before": d} for i, d in self.deps.items()} + return {i: e | {"reserve": True} if i in self.reserve else e for i, e in out.items()} def to_dict(self) -> dict: return {"status": self.status, "objective": self.objective, "bound": round(self.bound, 1), @@ -92,12 +106,12 @@ def solve(task: Task, world: sim.World | None = None, price: Mapping[int, int] | fixed: Mapping[int, int | None] | None = None, earliest: int | None = None, step: int = 1, time_limit: float = 600.0, gap: float = GAP, threads: int = 1, canonical: bool = True, start: sim.Execution | None = None, lapsed: Collection[int] = (), fix: bool = True, - flat: bool = False) -> Solution: + flat: bool = False, reserved: Collection[int] = ()) -> Solution: """The optimum in `world` (the truth by default) with each cancel arc at `price` (default: notice-priced at the first watch, or flat with `flat`). `fixed` pins flights to a departure minute (None: cancelled, or auto-cancelled for those in `lapsed`); the others leave at or after `earliest`. `start` is a day sim.execute ran in `world` that - the model holds, to start the search from.""" - net = Network(task, world, price, fixed, earliest, step, lapsed, flat) + the model holds, to start the search from; `reserved` are the pinned flights holding a reserve crew.""" + net = Network(task, world, price, fixed, earliest, step, lapsed, flat, reserved) return net.solve(time_limit, gap, threads, canonical, None if start is None else net.vector(start), fix) @@ -123,7 +137,7 @@ class Network: def __init__(self, task: Task, world: sim.World | None = None, price: Mapping[int, int] | None = None, fixed: Mapping[int, int | None] | None = None, earliest: int | None = None, step: int = 1, - lapsed: Collection[int] = (), flat: bool = False): + lapsed: Collection[int] = (), flat: bool = False, reserved: Collection[int] = ()): self.task = task self.world = world = sim.truth(task) if world is None else world if price is None: @@ -141,8 +155,11 @@ def __init__(self, task: Task, world: sim.World | None = None, price: Mapping[in else: lo = max(task.earliest(f, world.lb[f.id]), earliest or 0) jumps = {s - f.sched_block for seg in world.segments.get(f.dest, ()) for s in seg.slots} - if f.crew and f.crew.rest is not None: - jumps.add(f.crew.rest) + jumps |= {b for _, b, _, _ in world.closures.get(f.orig, ())} + jumps |= {b - world.block[f.id] for _, b, _, _ in world.closures.get(f.dest, ())} + crew = task.crew(f) + if crew and crew.rest is not None: + jumps.add(crew.rest) minutes = set(range(lo, f.deadline + 1, step)) | {d for d in jumps if lo <= d <= f.deadline} copies[f.id] = [(d, at) for d in sorted(minutes) if rules.held(f, d) == d and f.legal(d) == d and (at := _place(f, d, rules, pools))] @@ -217,6 +234,10 @@ def arc(u: int | None, v: int | None, c: int) -> None: self.xs: dict[tuple[int, int], int] = {} self.cancel: dict[int, int] = {} self.lapsed: dict[int, int] = {} + self.reserve: dict[int, int] = {} + self.on_reserve: dict[int, int] = {} + self.reserved = frozenset(i for i in reserved if i in fixed and task.reservable(task.flight(i))) + calls: dict[str, dict[int, int]] = defaultdict(dict) rows: dict[tuple, dict[int, int]] = defaultdict(dict) pinned: Counter = Counter() cover = [] @@ -230,20 +251,32 @@ def arc(u: int | None, v: int | None, c: int) -> None: arc(gate.get((f.id, d), node[((f.family, f.orig), d)]), lane.get((f.id, d), node[((f.family, f.dest), task.back(f, arr))]), c) r[c] = 1 - if kind != "free": + for row in ((kind, key),) + rules.leaving(f, d): + if row[0] == "free": + continue if f.id in fixed: - pinned[(kind, key)] += 1 + pinned[row] += 1 else: - rows[(kind, key)][c] = 1 + rows[row][c] = 1 ub = 0 if f.id in fixed and fixed[f.id] is not None else 1 lapses = f.id in on_line and (f.id not in fixed or f.id in lapsed) self.cancel[f.id] = c = m.col(price[f.id], 0 if lapses and f.id in fixed else ub, True, (f.deadline - f.sched_dep + 2) * w) r[c] = 1 if f.id in on_line: - self.lapsed[f.id] = c = m.col(flat_price(f) if flat else cancel_price(f, task.auto_at(f)), - ub if lapses else 0, True, (f.deadline - f.sched_dep + 3) * w) + lapse = flat_price(f) if flat else cancel_price(f, task.auto_at(f, f.id in self.reserved)) + self.lapsed[f.id] = c = m.col(lapse, ub if lapses else 0, True, (f.deadline - f.sched_dep + 3) * w) r[c] = 1 + if task.reservable(f) and f.id not in fixed: + bound = {self.xs[(f.id, d)]: 1 for d, _ in copies[f.id] if task.late(f, d)} + if f.id in on_line: + lapse = flat_price(f) if flat else cancel_price(f, task.auto_at(f, True)) + self.on_reserve[f.id] = c = m.col(lapse, 1, True, (f.deadline - f.sched_dep + 4) * w) + r[c] = bound[c] = 1 + if bound: + self.reserve[f.id] = c = m.col(0, 1, True) + m.row({**bound, c: -1}, -INF, 0) + calls[f.orig][c] = 1 cover.append(r) self.landed: dict[tuple[int, int], int] = dict(self.xs) self.turn: dict[tuple[int, int], int] = {} @@ -355,9 +388,15 @@ def arc(u: int | None, v: int | None, c: int) -> None: m.row(flow[v], -supply[v], -supply[v]) for r in cover: m.row(r, 1, 1) + shut = {(kind, (s, a)): cap for s, spans in world.closures.items() for a, _, dep, arr in spans + for kind, cap in (("closure_dep", dep), ("closure_arr", arr))} for (kind, key), r in rows.items(): - room = 1 if kind == "slot" else world.nominal[key[0]][key[1]] + room = (1 if kind == "slot" else world.nominal[key[0]][key[1]] if kind == "hour" + else world.dep_caps[key[0]][key[1]] if kind == "dep" else shut[(kind, key)]) m.row(r, -INF, max(0, room - pinned[(kind, key)])) + held = Counter(task.flight(i).orig for i in self.reserved) + for base, r in calls.items(): + m.row(r, -INF, max(0, task.layers.reserves[base] - held[base])) self.copies = copies def solve(self, time_limit: float = 600.0, gap: float = GAP, threads: int = 1, canonical: bool = True, @@ -383,9 +422,13 @@ def solve(self, time_limit: float = 600.0, gap: float = GAP, threads: int = 1, c for f in self.task.flights: flown = [d for d, _ in self.copies[f.id] if x[self.xs[(f.id, d)]] > 0.5] deps[f.id] = flown[0] if flown else None - lapsed = {i: self.task.flight(i).deadline + 1 for i, c in self.lapsed.items() if x[c] > 0.5} + lapsed = {i: self.task.flight(i).deadline + 1 for i, c in [*self.lapsed.items(), *self.on_reserve.items()] + if x[c] > 0.5} + reserve = {i for i, c in self.on_reserve.items() if x[c] > 0.5} | { + i for i in self.reserve if deps[i] is not None and self.task.late(self.task.flight(i), deps[i])} return Solution(status, round(objective), bound, round(100 * mip_gap, 4), round(wall, 2), deps, len(m.cost), - len(m.rows), sum(len(v) for v in self.copies.values()), start is not None, settled, lapsed) + len(m.rows), sum(len(v) for v in self.copies.values()), start is not None, settled, lapsed, + frozenset(reserve) | self.reserved) def vector(self, run: sim.Execution) -> np.ndarray | None: """`run` (a day sim.execute ran in this world, holding every pin) as a solution of the model, or None if a @@ -398,8 +441,11 @@ def vector(self, run: sim.Execution) -> np.ndarray | None: via, fast = {}, set() for f in task.flights: r = run.flights[f.id] + if f.id in self.reserve: + x[self.reserve[f.id]] = f.id in run.reserved if r.status != FLOWN: - x[self.lapsed[f.id] if r.status == AUTO_CANCELLED and f.id in self.lapsed else self.cancel[f.id]] = 1 + lapse = self.on_reserve if f.id in run.reserved and f.id in self.on_reserve else self.lapsed + x[lapse[f.id] if r.status == AUTO_CANCELLED and f.id in lapse else self.cancel[f.id]] = 1 continue k = (f.id, r.dep) if k not in self.xs: diff --git a/src/agentenv_airops/programs/model.py b/src/agentenv_airops/programs/model.py index aeb6324..80aa2b0 100644 --- a/src/agentenv_airops/programs/model.py +++ b/src/agentenv_airops/programs/model.py @@ -15,20 +15,35 @@ pieces, the VMC called arrival rate, and the demand: every BTS-scheduled arrival at the hub over the task, so the forecast RBS can run at any watch and the other carriers' controlled arrivals carry their BTS NAS delay for the fidelity clause. + +A task may carry v3's realism `layers` (Layers, programs.layers builds them from pinned public inputs); a task that +sets any is written as model version LAYERED, one without (None, or Layers() with nothing set) is v2's task byte +for byte. `version` is the v2 model's: LAYERED is read back as VERSION and written from the layers alone. + +With a finite reserve pool at a crew base (`Layers.reserves`, docs/v3/DESIGN.md §3.4) a departure from that base gets +its pairing's crew deadline as an outstation departure has it (the report + the FAR 117 limit + EXTENSION, less its +scheduled block, its rest REST after it: `Task.crew`), and may fly past it only on a reserve crew the plan calls +(`reserve`, granted while the base's pool lasts: sim.granted). A base the pool leaves out keeps Edgar's unlimited +reserves. """ +import gzip import json import math from collections import Counter from collections.abc import Callable, Mapping -from dataclasses import dataclass, field +from dataclasses import dataclass, field, replace from functools import cached_property from pathlib import Path from ..core.model import Airport -from .advisories import Advisory, Scope, Stop, nm +from .advisories import HUBS, Advisory, Scope, Stop, nm VERSION = 3 +LAYERED = 4 +EXTENSION = 120 +REST = 600 +LAGS = {"advisory": 0, "metar": 5, "speci": 5, "taf": 10} @dataclass(frozen=True) @@ -324,10 +339,75 @@ def e_bar(self) -> float: return self.e_median +@dataclass(frozen=True) +class Layers: + """The world's realism layers beyond the FAA's programs, hours and minutes from the task's midnight: + JetBlue's departure cap per hour at a hub (`dep_caps`) and arrival cap per hour at an outstation (`arr_caps`), + ramp closures per station as (start, end, dep_cap, arr_cap): JetBlue's departures from the station leaving in + [start, end) total at most dep_cap, and its arrivals there inside it at most arr_cap; and the reserve crews per + crew base. A hub's arrivals answer to its programs and nominal cap, so an arrival cap at a hub is a ValueError. + + The desk's news beyond the advisories (docs/v3/DESIGN.md §4): the hubs' weather as (minute, kind, station, text), + kind "metar", "speci" or "taf", the minute its observation or issue (layers.weather), and the delivery lag per + product kind in minutes (`lags` over LAGS: advisory 0, metar 5, speci 5, taf 10, a kind it leaves out keeping + LAGS's; one LAGS doesn't have, a negative lag or an advisory lag other than 0 is a ValueError), each item + reaching the desk at its minute plus its kind's lag; and the closure rate per hub that priced its closures + (`rates`, closures.fit_rate's), with which the day as known prices a closure under way over its expected end, not + its true one (sim.known). All three are written only when set, so a task without them reads and writes as + before.""" + + dep_caps: dict[str, dict[int, int]] = field(default_factory=dict) + arr_caps: dict[str, dict[int, int]] = field(default_factory=dict) + closures: dict[str, tuple[tuple[int, int, int, int], ...]] = field(default_factory=dict) + reserves: dict[str, int] = field(default_factory=dict) + weather: tuple[tuple[int, str, str, str], ...] = () + lags: dict[str, int] = field(default_factory=lambda: dict(LAGS)) + rates: dict[str, float] = field(default_factory=dict) + + def __post_init__(self): + unknown = sorted(set(self.lags) - set(LAGS)) + if unknown: + raise ValueError(f"lags for unknown kind(s) {', '.join(unknown)}: the kinds are {', '.join(LAGS)}") + bad = sorted(k for k, v in self.lags.items() if not isinstance(v, int) or isinstance(v, bool) or v < 0) + if bad: + raise ValueError(f"lags for {', '.join(bad)} not a whole number of minutes >= 0: news can't reach the desk " + "before its minute") + if self.lags.get("advisory", 0): + raise ValueError("an advisory lag must be 0: the day as known reads the programs as signed by the watch " + "(advisories.issued_by), so a later delivery would act on news the desk hasn't had") + object.__setattr__(self, "lags", LAGS | dict(self.lags)) + hubs = sorted(set(self.arr_caps) & set(HUBS)) + if hubs: + raise ValueError(f"arrival caps at hub(s) {', '.join(hubs)}: a hub's arrivals answer to its programs " + "and nominal cap") + + @classmethod + def from_dict(cls, d: Mapping) -> "Layers": + return cls({s: {int(h): c for h, c in by.items()} for s, by in d["dep_caps"].items()}, + {s: {int(h): c for h, c in by.items()} for s, by in d["arr_caps"].items()}, + {s: tuple((a, b, c, e) for a, b, c, e in spans) for s, spans in d["closures"].items()}, + dict(d["reserves"]), tuple((m, k, s, x) for m, k, s, x in d.get("weather", ())), + dict(d.get("lags", {})), dict(d.get("rates", {}))) + + def to_dict(self) -> dict: + out = {"dep_caps": {s: {str(h): c for h, c in sorted(by.items())} for s, by in self.dep_caps.items()}, + "arr_caps": {s: {str(h): c for h, c in sorted(by.items())} for s, by in self.arr_caps.items()}, + "closures": {s: [list(x) for x in spans] for s, spans in self.closures.items()}, + "reserves": dict(self.reserves)} + if self.weather: + out["weather"] = [list(x) for x in self.weather] + if self.lags != LAGS: + out["lags"] = dict(self.lags) + if self.rates: + out["rates"] = dict(self.rates) + return out + + @dataclass(frozen=True) class Task: """`hubs` are a whole-network task's storm hubs (`hub` the one whose window starts it), `needs` tomorrow's - aircraft per family and station; a hub window has neither, its needs being its tails' `end_req`.""" + aircraft per family and station; a hub window has neither, its needs being its tails' `end_req`. `layers` None + (or Layers() with nothing set) is v2's world.""" task_id: str split: str @@ -353,6 +433,7 @@ class Task: bases: tuple[str, ...] = () hubs: tuple[str, ...] = () needs: dict[str, dict[str, int]] = field(default_factory=dict) + layers: Layers | None = None @classmethod def from_dict(cls, d: Mapping) -> "Task": @@ -361,19 +442,24 @@ def from_dict(cls, d: Mapping) -> "Task": {c: Airport.from_dict(c, a) for c, a in d["airports"].items()}, dict(d["artcc"]), tuple(Tail.from_dict(t) for t in d["tails"]), tuple(Flight.from_dict(f) for f in d["flights"]), {h: Programs.from_dict(p) for h, p in d["programs"].items()}, dict(d["clauses"]), - dict(d["sources"]), d["version"], tuple(d.get("bases", ())), tuple(d.get("hubs", ())), - {fam: dict(by) for fam, by in d.get("needs", {}).items()}) + dict(d["sources"]), VERSION if d["version"] == LAYERED else d["version"], + tuple(d.get("bases", ())), tuple(d.get("hubs", ())), + {fam: dict(by) for fam, by in d.get("needs", {}).items()}, + Layers.from_dict(d["layers"]) if "layers" in d else None) def to_dict(self) -> dict: - return {"version": self.version, "task_id": self.task_id, "split": self.split, "carrier": self.carrier, - "hub": self.hub, "date": self.date, "tz": self.tz, "base": self.base, "window": list(self.window), - "start": self.start, "slide": self.slide, "dmax": self.dmax, "cutoff": self.cutoff, - "turn": dict(self.turn), "airports": {c: a.to_dict() for c, a in self.airports.items()}, - "artcc": dict(self.artcc), "tails": [t.to_dict() for t in self.tails], - "flights": [f.to_dict() for f in self.flights], - "programs": {h: p.to_dict() for h, p in self.programs.items()}, "clauses": self.clauses, - "sources": self.sources, "bases": list(self.bases), "hubs": list(self.hubs), - "needs": {fam: dict(by) for fam, by in self.needs.items()}} + layered = self.layered + out = {"version": LAYERED if layered else self.version, "task_id": self.task_id, + "split": self.split, "carrier": self.carrier, + "hub": self.hub, "date": self.date, "tz": self.tz, "base": self.base, "window": list(self.window), + "start": self.start, "slide": self.slide, "dmax": self.dmax, "cutoff": self.cutoff, + "turn": dict(self.turn), "airports": {c: a.to_dict() for c, a in self.airports.items()}, + "artcc": dict(self.artcc), "tails": [t.to_dict() for t in self.tails], + "flights": [f.to_dict() for f in self.flights], + "programs": {h: p.to_dict() for h, p in self.programs.items()}, "clauses": self.clauses, + "sources": self.sources, "bases": list(self.bases), "hubs": list(self.hubs), + "needs": {fam: dict(by) for fam, by in self.needs.items()}} + return out | {"layers": self.layers.to_dict()} if layered else out def to_json(self) -> str: return json.dumps(self.to_dict(), separators=(",", ":")) @@ -416,14 +502,44 @@ def earliest(self, f: Flight, lb: int) -> int: """Nothing in scope leaves before the first watch; an early departure (lb < 0) leaves before its schedule.""" return max(f.sched_dep + lb, self.start) - def auto_at(self, f: Flight) -> int: + def auto_at(self, f: Flight, reserve: bool = False) -> int: """When f auto-cancels if it can't leave: at its crew deadline, never before the first watch, if its crew's - rest would end past its deadline, else at its deadline.""" - c = f.crew + rest would end past its deadline, else at its deadline; on a `reserve` crew (one granted) at its deadline.""" + c = f.crew if reserve else self.crew(f) if c and c.deadline is not None and c.deadline < f.deadline < c.rest: return max(c.deadline, self.start) return f.deadline + def reservable(self, f: Flight) -> bool: + """Whether f is a departure from a crew base with a finite reserve pool, past whose crew deadline it flies only + on a reserve crew.""" + return (self.layers is not None and f.crew is not None and f.crew.deadline is None + and f.orig in self.layers.reserves) + + def crew(self, f: Flight) -> Crew | None: + """f's crew as the world holds it without a reserve: a departure from a base with a finite pool gets its + pairing's crew deadline and rest as an outstation departure has them (repairs.crews).""" + return self._crews.get(f.id, f.crew) + + @cached_property + def _crews(self) -> dict[int, Crew]: + out = {} + for f in self.flights: + if self.reservable(f): + d = f.crew.report + f.crew.fdp + EXTENSION - f.sched_block + out[f.id] = replace(f.crew, deadline=d, rest=d + REST) + return out + + def legal(self, f: Flight, t: int, reserve: bool = False) -> int: + """Flight.legal with the crew the world holds without a reserve (Task.crew); on a `reserve` crew, f's own.""" + c = f.crew if reserve else self.crew(f) + return c.rest if c and c.deadline is not None and c.deadline < t < c.rest else t + + def late(self, f: Flight, t: int) -> bool: + """Whether f, leaving at t, flies on a reserve crew: a reservable flight past its crew deadline before its rest + ends.""" + return self.reservable(f) and self.legal(f, t) != t + @property def lb(self) -> dict[int, int]: return {f.id: f.lb for f in self.flights} @@ -435,6 +551,15 @@ def needed(self) -> Counter: return Counter({(fam, s): n for fam, by in self.needs.items() for s, n in by.items()}) return Counter((t.family, t.end_req) for t in self.tails) + @property + def layered(self) -> bool: + """Whether the task sets any of v3's layers (written as LAYERED).""" + return self.layers is not None and self.layers != Layers() + + def lag(self, kind: str) -> int: + """The minutes a news item of `kind` takes to reach the desk (Layers.lags; LAGS without layers).""" + return (self.layers.lags if self.layers else LAGS)[kind] + @property def storms(self) -> tuple[str, ...]: """The hubs whose programs the task is about: its storm hubs, or its hub.""" @@ -463,9 +588,13 @@ def covers(scope: Scope, hub: str, origin: str) -> bool: def load_tasks(path: str | Path) -> list[Task]: + """The tasks of a .jsonl file, gzipped or not (.jsonl.gz), or of a pack folder's tasks.jsonl (or tasks.jsonl.gz, + as data/b6-v3 ships it).""" p = Path(path) - p = p / "tasks.jsonl" if p.is_dir() else p - return [Task.from_dict(json.loads(line)) for line in p.read_text().splitlines() if line.strip()] + if p.is_dir(): + p = p / "tasks.jsonl" if (p / "tasks.jsonl").is_file() else p / "tasks.jsonl.gz" + text = gzip.decompress(p.read_bytes()).decode() if p.suffix == ".gz" else p.read_text() + return [Task.from_dict(json.loads(line)) for line in text.splitlines() if line.strip()] def write_tasks(tasks: list[Task], path: Path) -> Path: diff --git a/src/agentenv_airops/programs/network.py b/src/agentenv_airops/programs/network.py index f6f761c..008a76c 100644 --- a/src/agentenv_airops/programs/network.py +++ b/src/agentenv_airops/programs/network.py @@ -30,6 +30,14 @@ The calm day starts from the positions the schedule assumes (`scheduled`), the storm day from the record's; the record's morning against the schedule's is a finding (`shortfall`). + +With crew `bases` the build turns Edgar's crew model on, as candidates.build_candidate does (repairs.crews: every leg's +crew, Task.bases). With a v3 layer config (layers.config.Config, the constants fitted on train dates) the task carries +v3's layers (docs/v3/DESIGN.md §2): the departure caps at the hubs and the arrival caps at the outstations from every +carrier's BTS flights of the date (candidates.frame), the hubs' ramp closures from their METARs and SPECIs at the +config's fitted rates, and the config's reserve pool at each of the task's crew bases, with the desk's view of them: +the closure rates, the storm hubs' METARs, SPECIs and TAFs as news (layers.weather) and the default lags (`layered`). +Without either the task is v2's, byte for byte. """ import functools @@ -50,6 +58,7 @@ from . import candidates, rbs, repairs from .advisories import HUBS from .candidates import CARRIER, EVAL_PER_HUB, EVAL_WINTER, EVAL_WINTER_SHORT, MIN_CONTROLLED, MONTHS, Built, season +from .layers import config, weather from .model import Busy, Flight, Move, Tail, Task Windows = dict[str, tuple[int, int]] @@ -77,9 +86,10 @@ def control_dates(inputs: Path, derived: Path, months: Sequence[str] = MONTHS) - def build(d: str, hubs: Sequence[str], inputs: Path, derived: Path, e_fit: Mapping[str, float], e_median: Mapping[str, float], scale: Mapping[str, float], cutoff: int = repairs.CUTOFF, - windows: Windows | None = None, split: str = "") -> Built: + windows: Windows | None = None, split: str = "", bases: Sequence[str] = (), + layers: config.Config | None = None) -> Built: """The whole-network task of date d with storm `hubs`, from their rule windows or the given `windows` (a - control's), or None and the reason.""" + control's), or None and the reason; crew `bases` turn the crew model on, a `layers` config v3's layers.""" row = {"date": d, "hubs": list(hubs), "windows": {}, "slides": {}, "first_hours": {}, "fallback": False, "task_id": None, "reason": ""} if windows: @@ -98,19 +108,30 @@ def build(d: str, hubs: Sequence[str], inputs: Path, derived: Path, e_fit: Mappi row["windows"] = {h: [60 * p0, 60 * (p0 + candidates.LENGTHS[-1])] for h, p0 in first.items()} hub = min(row["windows"], key=lambda h: (row["windows"][h][0], HUBS.index(h))) task = assemble(candidates.context(inputs, derived, d, hub), d, hub, tuple(hubs), row, e_fit, e_median, scale, - cutoff, split) + cutoff, split, bases) held = task.clauses["controlled_or_held"] if not windows and held < MIN_CONTROLLED: return Built(None, {**row, "controlled_or_held": held, "reason": f"fewer than {MIN_CONTROLLED} JetBlue flights controlled or held"}) + if layers is not None: + task = layered(task, layers, inputs, derived) return Built(task, {**row, "task_id": task.task_id}) +def layered(task: Task, cfg: config.Config, inputs: Path, derived: Path) -> Task: + """The task with v3's layers at `cfg`, from the date's BTS flights of every carrier, the hubs' closures over the + months they span and the storm hubs' METARs, SPECIs and TAFs over the task's span as news.""" + spans = config.spans(inputs, tuple(candidates.months_of(task.date))) + return replace(task, layers=config.build(task, cfg, candidates.frame(inputs, derived, task.date), spans, + weather.build(task, inputs))) + + def assemble(ctx: candidates.Context, d: str, hub: str, hubs: tuple[str, ...], row: Mapping, e_fit: Mapping[str, float], - e_median: Mapping[str, float], scale: Mapping[str, float], cutoff: int, split: str) -> Task: + e_median: Mapping[str, float], scale: Mapping[str, float], cutoff: int, split: str, + bases: Sequence[str] = ()) -> Task: day = ctx.day sc = scope(day, (min(w[0] for w in row["windows"].values()), max(w[1] for w in row["windows"].values())), START) - flights = repairs.flights(day, sc, ctx.x, ctx.families, candidates.tests(ctx), cutoff=cutoff) + flights = repairs.flights(day, sc, ctx.x, ctx.families, candidates.tests(ctx), cutoff=cutoff, bases=bases) tails, counts = network_tails(day, sc, flights, ctx.families, day.turn) need, short = needs(tails, flights) programs = candidates.hub_programs(ctx, flights, sc.start, e_fit, e_median, scale) @@ -129,7 +150,7 @@ def assemble(ctx: candidates.Context, d: str, hub: str, hubs: tuple[str, ...], r airports=candidates.airports_of(codes), artcc={c: ctx.artcc[c] for c in sorted(codes) if c in ctx.artcc}, tails=tuple(tails), flights=tuple(flights), programs=programs, clauses=clauses, sources=candidates.pins(ctx, sc), - hubs=hubs, needs=need) + bases=tuple(bases), hubs=hubs, needs=need) return rbs.rescale(task, scale, e_fit, e_median) @@ -356,9 +377,11 @@ def shortfall(task: Task) -> dict: def build_all(jobs: Sequence[tuple[str, tuple[str, ...], Windows | None, str]], inputs: Path, derived: Path, e_fit: Mapping[str, float], e_median: Mapping[str, float], scale: Mapping[str, float], - cutoff: int = repairs.CUTOFF, workers: int = 1) -> list[Built]: + cutoff: int = repairs.CUTOFF, workers: int = 1, bases: Sequence[str] = (), + layers: config.Config | None = None) -> list[Built]: """`build` for every (date, storm hubs, windows, split), in a pool of `workers` processes, in date order.""" - args = [(d, hubs, inputs, derived, dict(e_fit), dict(e_median), dict(scale), cutoff, windows, split) + args = [(d, hubs, inputs, derived, dict(e_fit), dict(e_median), dict(scale), cutoff, windows, split, tuple(bases), + layers) for d, hubs, windows, split in sorted(jobs, key=lambda j: j[0])] with ProcessPoolExecutor(workers) if workers > 1 else nullcontext() as pool: if not pool: @@ -367,8 +390,8 @@ def build_all(jobs: Sequence[tuple[str, tuple[str, ...], Windows | None, str]], def build_one(args: tuple) -> Built: - d, hubs, inputs, derived, e_fit, e_median, scale, cutoff, windows, split = args - return build(d, hubs, inputs, derived, e_fit, e_median, scale, cutoff, windows, split) + d, hubs, inputs, derived, e_fit, e_median, scale, cutoff, windows, split, bases, layers = args + return build(d, hubs, inputs, derived, e_fit, e_median, scale, cutoff, windows, split, bases, layers) def split(hubs: Mapping[str, Sequence[str]], event: Mapping[str, int], seed: int) -> dict[str, str]: diff --git a/src/agentenv_airops/programs/probe.py b/src/agentenv_airops/programs/probe.py new file mode 100644 index 0000000..df59950 --- /dev/null +++ b/src/agentenv_airops/programs/probe.py @@ -0,0 +1,125 @@ +"""Which of JetBlue's cancellations could have flown on the day as it happened (the v2 probe, ~/handoff/out/v2_probe.py, +and docs/v3/DESIGN.md §0's could-fly-for-free share). + +Each JetBlue cancellation is put back on the airline replay (references.airline_plan, played on the truth by +sim.execute): its plan entry becomes {}, so it flies as early as it can and takes whatever slot the sim gives it, and +the day is flown again. A restore that flies every restored leg is `clean` when no flight the replay flew is knocked out +and none moves more than SHIFT_OK minutes and the end-of-day ferries cost no more, `strands` when only the ferries cost +more, `displaces` otherwise; one that leaves a restored leg unflown is `forced`. A cancellation that is forced or +strands alone is tried again with its out-and-back partner (`partner`: the cancelled leg back the other way, same +family, within PAIR_WINDOW of it), and takes the pair's verdict as `pair_` unless the pair is forced too. + +A cancellation could have flown for free when its verdict is clean or pair_clean. A pair is one restore however many of +its legs reach it: `Probe.restores` keys each restore by the flights it put back, so the share over JetBlue's +cancellations counts a restored pair once (`Probe.feasible`), where the v2 probe's rows count it once per leg +(`Probe.feasible_rows`). +""" + +from collections import Counter +from collections.abc import Mapping, Sequence +from dataclasses import dataclass + +from ..core.sim import FLOWN +from . import references, sim +from .model import Flight, Task + +SHIFT_OK = 15 +PAIR_WINDOW = 360 +VERDICTS = ("clean", "strands", "displaces", "forced", "pair_clean", "pair_strands", "pair_displaces") +FEASIBLE = ("clean", "pair_clean") + + +@dataclass(frozen=True) +class Restore: + """What putting `restored` back on the replay did: whether each restored leg flew, the replay's flights it knocked + out, the most another flown flight moved, and the change in the day's cost and its ferries' cost.""" + + restored: tuple[int, ...] + flew: bool + knocked: tuple[int, ...] + max_shift: int + d_cost: int + d_ferry: int + + @property + def verdict(self) -> str: + if not self.flew: + return "forced" + if self.knocked or self.max_shift > SHIFT_OK: + return "displaces" + return "clean" if self.d_ferry <= 0 else "strands" + + +@dataclass(frozen=True) +class Probe: + """Each JetBlue cancellation's verdict (`rows`, flight id -> verdict) and the restore it took (`restores`, the + flights put back -> verdict, a pair once).""" + + rows: dict[int, str] + restores: dict[tuple[int, ...], str] + + @property + def cancelled(self) -> int: + return len(self.rows) + + @property + def feasible(self) -> int: + """The restores that fly for free, a pair once.""" + return sum(v in FEASIBLE for v in self.restores.values()) + + @property + def feasible_rows(self) -> int: + """The cancellations whose verdict flies for free, as the v2 probe counted them (a pair once per leg).""" + return sum(v in FEASIBLE for v in self.rows.values()) + + def to_dict(self) -> dict: + return {"cancelled": self.cancelled, "feasible": self.feasible, "feasible_rows": self.feasible_rows, + "restores": len(self.restores), "pairs": sum(len(k) > 1 for k in self.restores), + "verdicts": counted(self.rows.values()), "restore_verdicts": counted(self.restores.values())} + + +def probe(task: Task) -> Probe: + """Every JetBlue cancellation of `task` restored on the airline replay, alone and, when that is forced or strands, + with its partner.""" + plan = references.airline_plan(task) + base = sim.execute(task, plan) + cancelled = [f for f in task.flights if f.actual.dep is None] + rows, restores = {}, {} + for f in cancelled: + one = restore(task, plan, base, [f.id]) + use = one + g = partner(f, cancelled) if one.verdict in ("forced", "strands") else None + if g is not None: + two = restore(task, plan, base, [f.id, g.id]) + if two.verdict != "forced": + use = two + v = use.verdict if use is one else f"pair_{use.verdict}" + rows[f.id] = v + restores.setdefault(tuple(sorted(use.restored)), v) + return Probe(rows, restores) + + +def restore(task: Task, plan: Mapping[int, Mapping], base: sim.Execution, ids: Sequence[int]) -> Restore: + """The replay `plan` (run as `base`) with the flights `ids` put back ({}) and the day flown again.""" + run = sim.execute(task, {**plan, **{i: {} for i in ids}}) + others = [i for i in run.flights if i not in ids] + knocked = tuple(i for i in others if base.flights[i].status == FLOWN and run.flights[i].status != FLOWN) + shift = max((run.flights[i].dep - base.flights[i].dep for i in others + if base.flights[i].status == FLOWN and run.flights[i].status == FLOWN), default=0) + return Restore(tuple(ids), all(run.flights[i].status == FLOWN for i in ids), knocked, shift, + run.cost.total - base.cost.total, run.cost.ferry - base.cost.ferry) + + +def partner(f: Flight, cancelled: Sequence[Flight]) -> Flight | None: + """v1's rule: the cancelled leg back the other way, same family, within PAIR_WINDOW of this one's arrival or + departure; the return after it first, else the leg before it.""" + back = [g for g in cancelled if g.orig == f.dest and g.dest == f.orig and g.family == f.family] + after = [g for g in back if f.sched_arr <= g.sched_dep <= f.sched_arr + PAIR_WINDOW] + before = [g for g in back if g.sched_arr <= f.sched_dep <= g.sched_arr + PAIR_WINDOW] + pool = sorted(after, key=lambda g: g.sched_dep) + sorted(before, key=lambda g: -g.sched_arr) + return pool[0] if pool else None + + +def counted(verdicts) -> dict[str, int]: + c = Counter(verdicts) + return {v: c[v] for v in VERDICTS if c[v]} diff --git a/src/agentenv_airops/programs/references.py b/src/agentenv_airops/programs/references.py index f2386a4..9c5808b 100644 --- a/src/agentenv_airops/programs/references.py +++ b/src/agentenv_airops/programs/references.py @@ -24,24 +24,33 @@ arrival order as slot claims (each claims the slot of its recorded departure plus its scheduled block); auto-cancels are counted over the flights it flew by their deadline, which covers dmax and the hub cutoff, less those whose aircraft a leg it flew past its deadline brought (`counted`); a flight it flew past its crew deadline still counts, - which is what tells a crew model too strict for JetBlue's day; + which is what tells a crew model too strict for JetBlue's day. With a finite reserve pool at a base (§3.4 of + docs/v3/DESIGN.md) it calls a reserve for each departure from that base its replay with unlimited reserves (the v2 + replay) flies past its crew deadline (Task.crew), JetBlue's own departure or a later one its aircraft or the + programs make, granted while the pool lasts (sim.granted), and one the pool can't crew auto-cancels; - recorded day: JetBlue's real outcome priced directly, its aircraft's minutes on its recorded departures and blocks, cancellations decided at sched - NOTICE, plus end-of-day ferries from its recorded end positions to tomorrow's needs. A diverted flight that never reached its destination counts as cancelled when it left, the moment the desk knew; - calm day: from the positions the schedule assumes, every aircraft ready at the start and tomorrow's needs following them (network.scheduled), no delay, scheduled blocks, no programs: the hindsight optimum's forced cancellations and ferries; with `record`, from the record's positions and the task's needs, as the storm day starts. +The watches are hourly (`watch_times`), and on a layered task they also wake on its events: an advisory or SPECI +reaching the desk, a ramp closure starting (docs/v3/DESIGN.md §4); the follower, the rule and the playable day share +them. Like for like, nothing is decided before the first watch: a JetBlue cancellation due earlier than the start counts as decided there, as the anchor's and every desk's do. At a watch the day so far is history, as the env shows it: a flight that has left on the truth leaves when it did in the follower's and the rule's projection and is pinned there in -the follower's MIP, and every other flight leaves no earlier than the watch. No reference may cost less than the +the follower's MIP, and every other flight leaves no earlier than the watch. With a reserve pool the follower's plan +calls the reserves its last solve flies past a crew deadline, a pinned flight keeps the reserve the plan gave it, and +the pinned flights the pool granted one hold it in every later solve. No reference may cost less than the anchor (`below_anchor`). """ +import hashlib from collections.abc import Mapping -from dataclasses import dataclass +from dataclasses import dataclass, replace -from ..core.known import FREEZE, LOOK, STEP +from ..core.known import CAP_LOOK, FREEZE, LOOK, STEP from ..core.sim import AUTO_CANCELLED, CANCELLED, FLOWN from . import mip, network, sim from .advisories import HUBS @@ -49,6 +58,7 @@ from .model import Flight, Task TIME_LIMIT = 2400.0 +WATCH_MIN = 15 @dataclass(frozen=True) @@ -108,17 +118,20 @@ def follow(task: Task, programs: bool = True, time_limit: float = TIME_LIMIT, ca pinned |= frozen(run, t) fixed = {i: run.flights[i].dep if run.flights[i].status == FLOWN else None for i in pinned} lapsed = {i for i in pinned if run.flights[i].status == AUTO_CANCELLED} - price = {f.id: _price(f, plan.get(f.id, {}), task.auto_at(f) if f.id in pinned else t) for f in task.flights} + reserved = run.reserved & pinned + price = {f.id: _price(f, plan.get(f.id, {}), task.auto_at(f, f.id in reserved) if f.id in pinned else t) + for f in task.flights} sol = mip.solve(task, world, price, fixed, t + FREEZE if t > task.start else None, time_limit=time_limit, - canonical=canonical, start=run, lapsed=lapsed) + canonical=canonical, start=run, lapsed=lapsed, reserved=reserved) if not sol.proven: raise RuntimeError(f"{task.task_id}: watch {t} solve {sol.status} at gap {sol.gap_pct}%") cancelled = sorted(i for i, d in sol.deps.items() if i not in pinned and d is None and i not in sol.lapsed) plan = {i: v for i, v in plan.items() if i in pinned} | {i: {"cancel": True, "decided": t} for i in cancelled} pinned |= set(cancelled) deps = {i: sol.lapsed.get(i, d) for i, d in sol.deps.items() if i not in pinned} + plan |= {i: {"reserve": True} for i in sorted(sol.reserve - pinned)} held = deliberate(task, plan, deps, world, t) - plan |= {i: {"not_before": d} for i, d in held.items()} + plan |= {i: {**plan.get(i, {}), "not_before": d} for i, d in held.items()} log.append({"t": t, "frozen": len(pinned), "cancelled": cancelled, "held": len(held), "planned": sol.objective, "status": sol.status, "gap_pct": sol.gap_pct, "canonical": sol.canonical, "wall_s": sol.wall_s, "cols": sol.cols, "rows": sol.rows}) @@ -154,8 +167,13 @@ def naive(task: Task) -> sim.Execution: def airline_plan(task: Task) -> dict[int, dict]: - return {f.id: {"cancel": True, "decided": max(f.sched_dep - NOTICE, task.start)} if f.actual.dep is None + plan = {f.id: {"cancel": True, "decided": max(f.sched_dep - NOTICE, task.start)} if f.actual.dep is None else {"not_before": f.actual.dep, "claim": f.actual.dep + f.sched_block} for f in task.flights} + if not any(task.reservable(f) for f in task.flights): + return plan + free = sim.execute(replace(task, layers=replace(task.layers, reserves={})), plan).flights + return {i: e | {"reserve": True} if free[i].dep is not None and task.late(task.flight(i), free[i].dep) else e + for i, e in plan.items()} def airline(task: Task) -> Replay: @@ -197,14 +215,42 @@ def calm(task: Task, time_limit: float = TIME_LIMIT, record: bool = False) -> Ca def watch_times(task: Task) -> list[int]: - """Every STEP minutes from the start, through the first watch that knows every delay, while some flight could - still leave unfrozen (t + FREEZE <= its deadline).""" - reveal = max(f.sched_dep - LOOK for f in task.flights) + """Every STEP minutes from the start, through the first watch that knows every delay (on a layered task every + departure and outstation arrival cap too, known CAP_LOOK ahead as v1's slot caps were), while some flight could + still leave unfrozen (t + FREEZE <= its deadline). A layered task's watches also wake on events (docs/v3/DESIGN.md + §4, `events`) up to that last minute: walking the hourly watches and the events in order, one closer than + WATCH_MIN to the watch before moves to WATCH_MIN after it (to the last minute if that is sooner), taking in any + others up to there, and a gap longer than STEP gets a watch every STEP, so consecutive watches are WATCH_MIN to + STEP apart but for a last one moved onto the last minute, and every event by the last minute reaches the desk.""" + hours = [h for caps in ((task.layers.dep_caps, task.layers.arr_caps) if task.layered else ()) + for by in caps.values() for h in by] + reveal = max([f.sched_dep - LOOK for f in task.flights] + [60 * h - CAP_LOOK for h in hours]) last = max(f.deadline for f in task.flights) - FREEZE ts = [task.start] while ts[-1] < reveal and ts[-1] + STEP <= last: ts.append(ts[-1] + STEP) - return ts + if not task.layered: + return ts + kept = [task.start] + for c in sorted(set(ts) | {e for e in events(task) if task.start < e <= last}): + if c <= kept[-1]: + continue + c = min(max(c, kept[-1] + WATCH_MIN), last) + while c - kept[-1] > STEP: + kept.append(kept[-1] + STEP) + kept.append(c) + return kept + + +def events(task: Task) -> list[int]: + """The minutes a desk learns something it should act on: each advisory and each SPECI as it reaches the desk + (its signature or observation plus its kind's lag, Task.lag) and each ramp closure's start and end (until its end + the day as known expects it GUESS after each watch, sim.known).""" + advs = [a.issued + task.lag("advisory") for p in task.programs.values() for a in p.advisories] + layers = task.layers + specis = [m + task.lag("speci") for m, kind, _, _ in layers.weather if kind == "speci"] + bounds = [m for spans in layers.closures.values() for a, b, _, _ in spans for m in (a, b)] + return sorted(set(advs + specis + bounds)) def frozen(run: sim.Execution, t: int) -> set[int]: @@ -223,7 +269,7 @@ def so_far(task: Task, plan: Mapping[int, Mapping], t: int, run: sim.Execution | for f in task.flights: entry, dep = plan.get(f.id, {}), run.flights[f.id].dep if dep is not None and dep < t: - out[f.id] = {"left": dep} + out[f.id] = {"left": dep} | ({"reserve": True} if entry.get("reserve") else {}) elif entry.get("cancel"): out[f.id] = dict(entry) else: @@ -251,5 +297,11 @@ def past_midnight(task: Task, run: sim.Execution | None = None) -> int: return out +def digest(task: Task) -> str: + """The task's sha256 (16 hex digits): what a pack's stored reference costs were run on (scripts/v3_pack.py + --refs), so a load can tell them from a stale file's.""" + return hashlib.sha256(task.to_json().encode()).hexdigest()[:16] + + def _price(f: Flight, entry: Mapping, at: int) -> int: return cancel_price(f, entry["decided"] if entry.get("cancel") else at) diff --git a/src/agentenv_airops/programs/repairs.py b/src/agentenv_airops/programs/repairs.py index 520042b..b985510 100644 --- a/src/agentenv_airops/programs/repairs.py +++ b/src/agentenv_airops/programs/repairs.py @@ -53,7 +53,7 @@ from ..build import fleet, pack from .advisories import HUBS -from .model import Busy, Connection, Crew, Flight, Move, Outcome, Tail +from .model import EXTENSION, REST, Busy, Connection, Crew, Flight, Move, Outcome, Tail FAMILIES = ("A320", "A321", "A321P", "A220", "E190") MIN_TURN = 25 @@ -69,8 +69,6 @@ CUTOFF = 1440 + 180 BASES = ("JFK", "BOS", "FLL", "MCO") REPORT = 45 -EXTENSION = 120 -REST = 600 ECFR = "https://www.ecfr.gov/current/title-14/chapter-I/subchapter-G/part-117" TABLE_B = {0: (9, 9, 9, 9, 9, 9, 9), 4: (10, 10, 10, 10, 9, 9, 9), 5: (12, 12, 12, 12, 11.5, 11, 10.5), 6: (13, 13, 12, 12, 11.5, 11, 10.5), 7: (14, 14, 13, 13, 12.5, 12, 11.5), diff --git a/src/agentenv_airops/programs/sim.py b/src/agentenv_airops/programs/sim.py index 9a2e60f..953b538 100644 --- a/src/agentenv_airops/programs/sim.py +++ b/src/agentenv_airops/programs/sim.py @@ -1,7 +1,8 @@ """The storm day: v1's dispatch inside the FAA's programs at JFK and BOS, with JetBlue's slots and EDCTs in place of hourly caps. -A plan maps flight ids to {"cancel", "not_before", "claim", "decided", "left", "holds", "claims"}, every key optional; +A plan maps flight ids to {"cancel", "not_before", "claim", "decided", "left", "holds", "claims", "reserve"}, every +key optional; a flight left out flies as early as it can. A cancelled flight is cancelled for good, decided at "decided" (the first watch when absent). "holds" and "claims" are decisions taken during the day, each [decided, minute or None] in time order: a hold acts from its minute (the flight tries again then, and from then on waits for it), a claim binds from its @@ -15,13 +16,23 @@ (Task.quick), through any Moves it passes on the way, and any other flight only after the turn. What else holds a flight ready at minute t, in this order: - a ground stop at its destination hub covering its origin holds it to the stop's end; airborne flights fly on; +- a departure in an hour its origin caps (Layers.dep_caps, docs/v3/DESIGN.md §3.1) needs room under the cap, else + it tries again at the next hour's start; every flight that left in the hour counts, a pinned one ("left") from the + start of the day, so the others share the cap less the pinned ones; a pinned flight whose aircraft is not ready by + its minute leaves when it is, and its count moves to the hour it leaves in, where the MIP pins it; +- a departure inside a ramp closure at its origin (Layers.closures, §3.2: lightning at the field cuts the ramp's + rate, it doesn't stop it) needs room under the closure's departure cap, counted the same way over the closure's + minutes, else it tries again at the closure's end; an arrival inside a ramp closure at its destination (the minute + plus the block, as the nominal cap counts it) needs room under the closure's arrival cap, the pinned flights' arrivals + counted from the start of the day too, else it leaves so as to arrive at the closure's end; - a flight governed at t by a GDP segment (the one in force when it departs, the departure-time lock; its origin in scope and its scheduled arrival in the period) needs one of JetBlue's slots in that segment's pool: its claimed slot if it can still make it, else the earliest free slot at or after its earliest arrival t + scheduled block. It leaves at the slot less its scheduled block (its EDCT) and lands after its own block. With no free slot left before the period ends it arrives after the period; - any other arrival at a hub (exempt, uncontrolled, or past its period) needs room under the nominal cap of its - arrival hour (rbs.nominal); a slot holder does not count against it. + arrival hour (rbs.nominal), and an arrival at an outstation in an hour the station caps (Layers.arr_caps, §3.3) + under that cap, which joins the nominal caps; a slot holder does not count against it. Claims standing at the start bind first, in (claim, flight id) order, each to the first unbound slot at or after it in the pool of the segment that would govern the flight leaving at its claim less its scheduled block. A flight that can't make its claimed slot loses it and the slot is wasted, as a missed EDCT is. Any other slot is taken when its flight @@ -31,6 +42,11 @@ crew deadline may leave only from the end of its crew's rest on, still by its deadline; one that can't, its rest ending past its deadline, auto-cancels at its crew deadline, decided there, never before the first watch (Task.auto_at). +With a finite reserve pool at a crew base (Layers.reserves, §3.4) a departure from it has its pairing's crew deadline +too (Task.crew) unless the plan calls a reserve crew for it ("reserve"), which the sim grants in flight-id order while +the base's pool lasts (`granted`); a granted flight has no crew deadline, as every base departure has without the +pool, and keeps its reserve whether it needs it or not. A pinned flight flies at its minute whatever its crew, as it +did. Moves are fixed and uncosted, and bound to an aircraft (model.Move, `routes`): the one that flies the leg before the Move's break, landed and turned, is ready at the Move's destination at the Move's `ready` or then, whichever is later, @@ -59,7 +75,15 @@ and the scheduled block, the programs as issued by then, proposed GDPs included, every stop to its as-issued end, every GDP too unless a base rate ends it earlier), or the calm day (no delay, scheduled blocks, no programs). Nominal caps, deadlines, the hub cutoff and the crew deadlines, which the schedule fixes and the desk knows from the start, are -the same in all of them. +the same in all of them. The calm day carries no layer. The day as known carries the layers as the desk sees them +(docs/v3/DESIGN.md §4): the departure caps and outstation arrival caps of the hours starting within CAP_LOOK of the +watch, as v1's slot caps were known, the later hours uncapped; the ramp closures begun by the watch, with their end +once it has come, else expected GUESS minutes after the watch (a placeholder for the train days' median remaining +duration, to be fitted with the pack's calibration), an ended one at its caps as given and one under way at the caps +its hub's rate (Layers.rates) gives that expected window, floored only at the pushbacks and arrivals before the watch +(closures.caps), so neither its true length nor what flew inside it later shows; and the reserve pools as they are +(Task.layers, which `granted` and the MIP read), whose sizes the desk knows. A task without layers knows the v2 day as +before. `switch` carries the layers' counts over as it does the slots and nominal hours. """ import bisect @@ -67,12 +91,13 @@ import math from collections import Counter, defaultdict from collections.abc import Collection, Mapping -from dataclasses import dataclass, replace +from dataclasses import dataclass, field, replace -from ..core.known import LOOK +from ..core.known import CAP_LOOK, LOOK from ..core.sim import AUTO_CANCELLED, CANCELLED, FLOWN, Ferry, _assign from . import rbs, repairs from .cost import Cost, ferry_cost, priced +from .layers import closures from .model import Flight, Move, Segment, Task Plan = Mapping[int | str, Mapping] @@ -81,6 +106,7 @@ SlotKey = tuple[str, int] HourKey = tuple[str, int] Route = tuple[str, tuple[Move, ...]] +GUESS = 30 @dataclass(frozen=True) @@ -90,12 +116,17 @@ class World: segments: Mapping[str, tuple[Segment, ...]] stops: tuple nominal: Mapping[str, Mapping[int, int]] + dep_caps: Mapping[str, Mapping[int, int]] = field(default_factory=dict) + closures: Mapping[str, tuple[tuple[int, int, int, int], ...]] = field(default_factory=dict) def truth(task: Task) -> World: + layers = task.layers return World(task.lb, {f.id: f.block for f in task.flights}, {h: p.segments for h, p in task.programs.items()}, - tuple(s for p in task.programs.values() for s in p.stops), nominal_caps(task)) + tuple(s for p in task.programs.values() for s in p.stops), + nominal_caps(task) | (layers.arr_caps if layers else {}), + layers.dep_caps if layers else {}, layers.closures if layers else {}) def known(task: Task, t: int, programs: bool = True, early: int = 0) -> World: @@ -109,7 +140,39 @@ def known(task: Task, t: int, programs: bool = True, early: int = 0) -> World: issued = {h: rbs.forecast(task, h, t, early) for h in task.programs} segments = {h: s for h, (s, _) in issued.items()} stops = tuple(p for _, ps in issued.values() for p in ps) - return World(lb, block, segments, stops, nominal_caps(task)) + if not task.layered: + return World(lb, block, segments, stops, nominal_caps(task)) + layers = task.layers + return World(lb, block, segments, stops, nominal_caps(task) | _ahead(layers.arr_caps, t), + _ahead(layers.dep_caps, t), closures_known(task, t)) + + +def _ahead(caps: Mapping[str, Mapping[int, int]], t: int) -> dict[str, dict[int, int]]: + """The caps of the hours starting within CAP_LOOK of t, per station that has any.""" + out = {s: {h: c for h, c in by.items() if 60 * h <= t + CAP_LOOK} for s, by in caps.items()} + return {s: by for s, by in out.items() if by} + + +def closures_known(task: Task, t: int) -> dict[str, tuple[tuple[int, int, int, int], ...]]: + """The ramp closures begun by t: those ended by t as they ran, the others expected to end GUESS after t, priced + at their hub's rate over that window. A closure under way at a hub without a rate is a ValueError: the truth's caps + would show its true length.""" + layers, out = task.layers, {} + for s, spans in layers.closures.items(): + shut = [] + for a, b, dep, arr in spans: + if a > t: + continue + if b <= t: + shut.append((a, b, dep, arr)) + continue + if s not in layers.rates: + raise ValueError(f"{s}'s closure {a}-{b} is under way at {t} but {s} has no rate to price it as known") + end = max(t, a) + GUESS + shut.append((a, end, *closures.caps(task, s, layers.rates[s], a, end, by=t))) + if shut: + out[s] = tuple(shut) + return out def calm(task: Task) -> World: @@ -130,7 +193,8 @@ def with_cutoff(task: Task, cutoff: int) -> Task: class Rules: """What holds each flight at a minute in a world: the stops at its destination covering its origin, the segment - governing it (None when out of scope or outside the period), and the nominal cap of its arrival hour.""" + governing it (None when out of scope or outside the period), the nominal cap of its arrival hour, the departure + cap of its hour of leaving, and the ramp closures it leaves and arrives inside.""" def __init__(self, task: Task, world: World): self.world = world @@ -163,6 +227,37 @@ def hour(self, f: Flight, t: int) -> tuple[HourKey, int] | None: h = (t + self.world.block[f.id]) // 60 return ((f.dest, h), caps[h]) if caps is not None and h in caps else None + def dep_hour(self, f: Flight, t: int) -> tuple[HourKey, int] | None: + """The departure cap that f, leaving at t, counts in at its origin.""" + caps = self.world.dep_caps.get(f.orig) + h = t // 60 + return ((f.orig, h), caps[h]) if caps is not None and h in caps else None + + def closure_dep(self, f: Flight, t: int) -> tuple[HourKey, int, int] | None: + """The ramp closure f, leaving at t, leaves inside at its origin: (origin, its start), its departure cap, its + end.""" + for a, b, cap, _ in self.world.closures.get(f.orig, ()): + if a <= t < b: + return (f.orig, a), cap, b + return None + + def closure_arr(self, f: Flight, t: int) -> tuple[HourKey, int, int] | None: + """The ramp closure f, leaving at t, arrives inside at its destination (t plus the block): (destination, its + start), its arrival cap, its end.""" + arr = t + self.world.block[f.id] + for a, b, _, cap in self.world.closures.get(f.dest, ()): + if a <= arr < b: + return (f.dest, a), cap, b + return None + + def leaving(self, f: Flight, t: int) -> tuple[tuple[str, HourKey], ...]: + """The layers' rows f, leaving at t, counts in: ("dep", its capped hour), ("closure_dep", the closure it leaves + inside) and ("closure_arr", the closure it arrives inside).""" + rows = (("dep", self.dep_hour(f, t)), ("closure_dep", self.closure_dep(f, t)), + ("closure_arr", self.closure_arr(f, t))) + return tuple((kind, x[0]) for kind, x in rows if x is not None) + + @dataclass(frozen=True) class FlightRun: @@ -189,6 +284,7 @@ class Execution: wasted: tuple[SlotKey, ...] moves: dict[int, int | None] cost: Cost + reserved: frozenset[int] = frozenset() @property def counts(self) -> dict[str, int]: @@ -219,6 +315,7 @@ def __init__(self, task: Task, plan: Plan, world: World, crew=None): start = task.start self.cancelled = {i: start if d.get("decided") is None else d["decided"] for i, d in want.items() if d.get("cancel")} + self.reserved = granted(task, want) self.runs: dict[int, FlightRun] = {} self.when: dict[int, float] = {} self.first: dict[int, int] = {} @@ -252,10 +349,18 @@ def __init__(self, task: Task, plan: Plan, world: World, crew=None): self.bound, self.claimed = _claims(task, ((claim_at(d, start), i) for i, d in want.items() if i not in self.cancelled), self.rules, self.taken) self.used: Counter = Counter() + self.pin() self.legs: dict[str, list[int]] = {p: [] for p in self.ready} self.waiting: dict[tuple[str, str], set[int]] = defaultdict(set) self.quick: dict[str, tuple[int, int]] = {} + def pin(self) -> None: + """Count the pinned flights not gone yet ("left") in the layers' rows from now: the others share each cap less + them, and a pinned flight's count moves to the hour it leaves in when it goes.""" + for i, d in self.want.items(): + if d.get("left") is not None and i not in self.cancelled and i not in self.runs: + self.used.update(self.rules.leaving(self.task.flight(i), d["left"])) + def until(self, stop: float = math.inf) -> None: heap = self.heap while heap and heap[0][0] < stop: @@ -296,9 +401,10 @@ def step(self, t: int, kind: int, c: int, i: int) -> None: when[i] = held heapq.heappush(heap, (held, kind, c, i)) return - s = t if left else f.legal(t) + reserve = i in self.reserved + s = t if left else task.legal(f, t, reserve) if s > f.deadline: - runs[i] = FlightRun(i, AUTO_CANCELLED, decided=task.auto_at(f)) + runs[i] = FlightRun(i, AUTO_CANCELLED, decided=task.auto_at(f, reserve)) if crew is not None: crew.cancel(i, runs[i].decided) return @@ -314,9 +420,10 @@ def step(self, t: int, kind: int, c: int, i: int) -> None: return self.waiting[(f.family, f.orig)].discard(i) if left: - s, slot, hour = t, *_history(f, t, self.rules, self.taken) + self.used.subtract(self.rules.leaving(f, entry["left"])) + s, slot, counts = t, *_history(f, t, self.rules, self.taken) else: - s, slot, hour = _leave(f, t, self.rules, self.claimed.get(i), self.bound, self.taken, self.used) + s, slot, counts = _leave(f, t, self.rules, self.claimed.get(i), self.bound, self.taken, self.used) if s != t: when[i] = s heapq.heappush(heap, (s, kind, c, i)) @@ -347,8 +454,7 @@ def step(self, t: int, kind: int, c: int, i: int) -> None: quick[p] = (task.quick[i][0], max([turned, *(m.ready for m in carried[i][1])]) if i in carried else turned) if slot is not None: self.taken.add(slot) - if hour is not None: - self.used[hour] += 1 + self.used.update(counts) self.legs[p].append(i) runs[i] = FlightRun(i, FLOWN, p, t, arr, slot[1] if slot else None, slot[0] if slot else None) if crew is not None: @@ -378,21 +484,21 @@ def rebind(self, i: int, t: int) -> list[int]: return [i] def switch(self, world: World, t: int) -> None: - """The day from minute t on in `world`: the flights gone keep their minutes and count again on its slots and - nominal hours, the claims standing at t bind again in its pools, and every flight not gone tries again from - t on its delays, blocks and programs, never earlier, its place among the flights of a minute read from them - too.""" + """The day from minute t on in `world`: the flights gone keep their minutes and count again on its slots, + nominal hours and layers' rows (the pinned flights not gone too), the claims standing at t bind again in its + pools, and every flight not gone tries again from t on its delays, blocks and programs, never earlier, its + place among the flights of a minute read from them too.""" task = self.task self.world, self.rules = world, Rules(task, world) if self.crew is not None: self.crew.lb = world.lb self.taken, self.used = set(), Counter() for _, i in sorted((r.dep, i) for i, r in self.runs.items() if r.status == FLOWN): - slot, hour = _history(task.flight(i), self.runs[i].dep, self.rules, self.taken) + slot, counts = _history(task.flight(i), self.runs[i].dep, self.rules, self.taken) if slot is not None: self.taken.add(slot) - if hour is not None: - self.used[hour] += 1 + self.used.update(counts) + self.pin() self.bound, self.claimed = _claims(task, ((claim_at(d, t), i) for i, d in self.want.items() if i not in self.runs and i not in self.cancelled), self.rules, self.taken) @@ -407,7 +513,7 @@ def execution(self) -> Execution: self.until() task, runs = self.task, self.runs for f in task.flights: - runs.setdefault(f.id, FlightRun(f.id, AUTO_CANCELLED, decided=task.auto_at(f))) + runs.setdefault(f.id, FlightRun(f.id, AUTO_CANCELLED, decided=task.auto_at(f, f.id in self.reserved))) ends = {p: station for (_, station), ps in self.at.items() for p in ps} out = ferries(task, ends, self.family) wasted = tuple(sorted(k for k, i in self.bound.items() if runs[i].status != FLOWN or @@ -416,7 +522,21 @@ def execution(self) -> Execution: {i: r.decided for i, r in runs.items() if r.status != FLOWN}, [(x.family, x.orig, x.dest) for x in out]) return Execution({i: runs[i] for i in sorted(runs)}, {p: tuple(v) for p, v in self.legs.items()}, - dict(sorted(ends.items())), out, wasted, self.moves, cost) + dict(sorted(ends.items())), out, wasted, self.moves, cost, self.reserved) + + +def granted(task: Task, plan: Plan) -> frozenset[int]: + """The flights whose reserve call (`reserve` in the plan) the pool grants: those not cancelled, reservable + (Task.reservable), in flight-id order while their base's pool lasts.""" + pool = Counter(task.layers.reserves if task.layers else {}) + want = {int(k): v for k, v in plan.items()} + out = set() + for f in sorted(task.flights, key=lambda f: f.id): + d = want.get(f.id, {}) + if d.get("reserve") and not d.get("cancel") and task.reservable(f) and pool[f.orig] > 0: + pool[f.orig] -= 1 + out.add(f.id) + return frozenset(out) def hold(entry: Mapping, t: int) -> int: @@ -503,13 +623,27 @@ def _claims(task: Task, claims, rules: Rules, taken: Collection[SlotKey], bound: def _leave(f: Flight, t: int, rules: Rules, claim: SlotKey | None, bound: Mapping[SlotKey, int], taken: set[SlotKey], - used: Counter) -> tuple[int, SlotKey | None, HourKey | None]: - """The first minute from t at which f may leave, with the slot it takes there or the nominal hour it counts in.""" + used: Counter) -> tuple[int, SlotKey | None, tuple]: + """The first minute from t at which f may leave, with the slot it takes there and the caps it counts in: the + nominal hour it lands in without a slot, and its layers' rows (Rules.leaving).""" while True: held = rules.held(f, t) if held != t: t = held continue + dep = rules.dep_hour(f, t) + if dep is not None and used[("dep", dep[0])] >= dep[1]: + t = 60 * (dep[0][1] + 1) + continue + shut = rules.closure_dep(f, t) + if shut is not None and used[("closure_dep", shut[0])] >= shut[1]: + t = shut[2] + continue + shut = rules.closure_arr(f, t) + if shut is not None and used[("closure_arr", shut[0])] >= shut[1]: + t = shut[2] - rules.world.block[f.id] + continue + out = rules.leaving(f, t) seg = rules.governs(f, t) if seg is not None: eta = t + f.sched_block @@ -522,7 +656,7 @@ def _leave(f: Flight, t: int, rules: Rules, claim: SlotKey | None, bound: Mappin if s - f.sched_block != t: t = s - f.sched_block continue - return t, (seg.id, s), None + return t, (seg.id, s), out if eta <= seg.end: t = seg.end + 1 - f.sched_block continue @@ -530,17 +664,19 @@ def _leave(f: Flight, t: int, rules: Rules, claim: SlotKey | None, bound: Mappin if cap is not None and used[cap[0]] >= cap[1]: t = 60 * (cap[0][1] + 1) - rules.world.block[f.id] continue - return t, None, cap[0] if cap else None + return t, None, out + ((cap[0],) if cap else ()) -def _history(f: Flight, t: int, rules: Rules, taken: set[SlotKey]) -> tuple[SlotKey | None, HourKey | None]: - """The slot or nominal hour a flight that left at t counts in (mip._place for a pinned copy).""" +def _history(f: Flight, t: int, rules: Rules, taken: set[SlotKey]) -> tuple[SlotKey | None, tuple]: + """The slot or nominal hour a flight that left at t counts in (mip._place for a pinned copy), and its layers' + rows.""" + out = rules.leaving(f, t) seg = rules.governs(f, t) if seg is not None and t + f.sched_block <= seg.end: key = (seg.id, t + f.sched_block) - return (key if t + f.sched_block in seg.slots and key not in taken else None), None + return (key if t + f.sched_block in seg.slots and key not in taken else None), out cap = rules.hour(f, t) - return None, cap[0] if cap else None + return None, out + ((cap[0],) if cap else ()) def ferries(task: Task, ends: Mapping[str, str], family: Mapping[str, str]) -> tuple[Ferry, ...]: diff --git a/src/agentenv_airops/v3day/__init__.py b/src/agentenv_airops/v3day/__init__.py new file mode 100644 index 0000000..ef1e876 --- /dev/null +++ b/src/agentenv_airops/v3day/__init__.py @@ -0,0 +1,2 @@ +"""v3's playable day on the programs world (docs/v3/DESIGN.md §5): the clock, the situation, the actions and the +grade, and the live env that serves it (live.py, tasks.py, server.py).""" diff --git a/src/agentenv_airops/v3day/cli.py b/src/agentenv_airops/v3day/cli.py new file mode 100644 index 0000000..99a6696 --- /dev/null +++ b/src/agentenv_airops/v3day/cli.py @@ -0,0 +1,70 @@ +"""`agent-env airops-v3`: build and register the airops-v3-day env (and the airops-llm agent its tasks play), and write +the b6-v3 pack's days as the bundle airops-v3.""" + +import subprocess +from pathlib import Path + +import click +from agent_env.a2a_agent import A2AAgent +from agent_env.artifact import DockerImageArtifact +from agent_env.env import MCPServerEnv + +from ..cli import AGENT_IMAGE, AGENT_MODEL, _build, _checkout, _context, _docker_platform +from ..programs.model import load_tasks +from ..schedule import AGENT +from .live import ENV +from .tasks import BUNDLE_NAME, NOPLAY, PACK, SPLITS, generate + +IMAGE = "agentenv-airops-v3-env" + + +@click.group("airops-v3") +def airops_v3(): + """AirOps v3: the storm day across JetBlue's network with v3's realism layers, played live by airops-llm.""" + + +@airops_v3.command() +@click.option("--platform", "build_platform", help="Platform to build for. Default: the Docker host's.") +@click.option("--source", type=click.Path(exists=True, file_okay=False, path_type=Path), + help="Checkout of this repo to build. Default: the one an editable install runs from, or the cwd.") +@click.option("--agent", is_flag=True, help=f"Also build the {AGENT} agent for the same platform and register it.") +def setup(build_platform: str | None, source: Path | None, agent: bool): + """Build the airops-v3-day env image (Dockerfile.v3, with the b6-v3 pack) and register it on the gateway provider; + with --agent, the airops-llm agent too (as `agent-env airops setup --agent` does).""" + root = _checkout(source) + build_platform = build_platform or _docker_platform() + click.echo(f"Building {IMAGE} for {build_platform} from {root}") + if subprocess.run(["docker", "build", "--platform", build_platform, "-f", f"{root}/Dockerfile.v3", "-t", IMAGE, + root]).returncode: + raise click.ClickException("docker build of the airops-v3-day env failed") + click.echo("Storing the image (docker save, can take a minute)") + artifact = DockerImageArtifact.put(id=IMAGE, image_name=IMAGE, description="AirOps v3 env: airops-v3-day and b6-v3") + env = MCPServerEnv.put(id=ENV, docker_image_artifact=artifact, environment_name=ENV, env_provider_type="gateway") + click.echo(f"Registered env {env.id!r} version {env.version} (image {artifact.image_name})") + if agent: + image = _build(AGENT_IMAGE, _context(root, f"agents/{AGENT}"), build_platform, + f"{AGENT}: an LLM planner for AirOps days on agent-env's model endpoint") + registered = A2AAgent.put(id=AGENT, docker_image_artifact=image, metadata={"default_model": AGENT_MODEL}) + click.echo(f"Registered A2A agent {registered.id!r} version {registered.version} (image {image.image_name})") + click.echo(f"Next: agent-env run {BUNDLE_NAME} --task {NOPLAY}, then --task --model ") + + +@airops_v3.command("tasks") +@click.option("--split", type=click.Choice(SPLITS), default="eval", show_default=True, help="The days to write.") +@click.option("--task", "task_ids", multiple=True, metavar="ID", help="Write these days instead of a split.") +@click.option("--pack", type=click.Path(exists=True, path_type=Path), + help="A v3 pack folder (tasks.jsonl or tasks.jsonl.gz, and refs.json) or tasks file. Default: b6-v3.") +@click.option("--out", type=click.Path(file_okay=False, path_type=Path), + help=f"The bundle folder to write. Default: results/bundles/{BUNDLE_NAME}.") +@click.option("--noplay", is_flag=True, help=f"Also write {NOPLAY}: the first day's steps without the agent.") +def tasks(split: str, task_ids: tuple[str, ...], pack: Path | None, out: Path | None, noplay: bool): + """Write a bundle with one task per day: deploy airops-v3-day, load the day with its stored reference costs, play + it with airops-llm on the gateway's clock, end the day and grade it with airops-verifier.""" + if task_ids and (unknown := sorted(set(task_ids) - {t.task_id for t in load_tasks(Path(str(pack or PACK)))})): + raise click.UsageError(f"unknown task ids: {', '.join(unknown)}") + out = out or Path("results/bundles") / BUNDLE_NAME + names = generate(out, task_ids=list(task_ids) or None, split=split, pack=pack, noplay=noplay) + if not names: + raise click.UsageError(f"no {split} days in the pack") + click.echo(f"Wrote {len(names)} tasks into {out}; play one with: agent-env run {out} --task {names[0]} " + "--model ") diff --git a/src/agentenv_airops/v3day/clock.py b/src/agentenv_airops/v3day/clock.py new file mode 100644 index 0000000..06f81c7 --- /dev/null +++ b/src/agentenv_airops/v3day/clock.py @@ -0,0 +1,103 @@ +"""The playable day's clock (docs/v3/DESIGN.md §4, §5): the watches, the news each one delivers, and virtual time. + +The watches are the follower's (`references.watch_times`), so a desk playing the day and the follower decide at the +same minutes, a layered task's waking on its events (an advisory or SPECI reaching the desk, a ramp closure starting). +The news is the hubs' FAA advisories as the task carries them (`task.programs[hub].advisories`) and, on a layered task, +their METARs, SPECIs and TAFs (`Layers.weather`). Each is due at its signature, observation or issue plus its kind's +delivery lag (Task.lag: advisory 0, metar 5, speci 5, taf 10 by default) and reaches the desk at the first watch at or +after that: those due before the first watch come with the opening briefing, those after the last never arrive. A tool +call costs CALL_MIN minutes of the watch's virtual time, so thinking costs time +without tying the score to the provider's speed; `virtual_time` is that minute as the UTC instant a gateway clock +reads (v1's schedule.virtual_time).""" + +from dataclasses import dataclass +from datetime import UTC, datetime, timedelta +from zoneinfo import ZoneInfo + +from ..core.model import hhmm +from ..programs import references +from ..programs.advisories import GDP, GDP_CNX, GS, GS_CNX, PROPOSED, Advisory +from ..programs.model import Task + +CALL_MIN = 1 +TIME_FORMAT = "%Y-%m-%dT%H:%M:%SZ" +KINDS = {GDP: "ground delay program", PROPOSED: "proposed ground delay program", GDP_CNX: "GDP cancelled", + GS: "ground stop", GS_CNX: "ground stop cancelled"} + + +WEATHER = ("metar", "speci", "taf") + + +@dataclass(frozen=True) +class News: + """One advisory or weather product as the desk reads it: `at` its signature, observation or issue, `due` the + minute it reaches the desk (`at` plus its kind's lag).""" + + id: str + hub: str + kind: str + at: int + text: str + due: int + + def to_dict(self) -> dict: + out = {"id": self.id, "hub": self.hub, "kind": self.kind, "at": hhmm(self.at), "text": self.text} + return out | ({"due": hhmm(self.due)} if self.due != self.at else {}) + + +@dataclass(frozen=True) +class Watch: + index: int + t: int + news: tuple[str, ...] + + +def watch_times(task: Task) -> list[int]: + return references.watch_times(task) + + +def news(task: Task) -> list[News]: + """Every hub's advisories and, on a layered task, its weather, in the order they reach the desk. A weather item's + id is its kind, hub and minute, the second of a kind at one hub and minute (an AUTO report beside the AO2 one, a + TAF COR beside its AMD) suffixed -2, and so on, so each reaches the desk once.""" + lag = task.lag("advisory") + out = [News(a.id, a.hub, a.kind, a.issued, text(a), a.issued + lag) + for p in task.programs.values() for a in p.advisories] + seen: dict[str, int] = {} + for minute, kind, hub, body in task.layers.weather if task.layers else (): + key = f"{kind}-{hub.lower()}-{minute}" + seen[key] = seen.get(key, 0) + 1 + out.append(News(key if seen[key] == 1 else f"{key}-{seen[key]}", hub, kind, minute, " ".join(body.split()), + minute + task.lag(kind))) + return sorted(out, key=lambda n: (n.due, n.at, n.id)) + + +def timetable(task: Task) -> list[Watch]: + times = watch_times(task) + due: dict[int, list[str]] = {k: [] for k in range(len(times))} + for n in news(task): + k = next((k for k, t in enumerate(times) if t >= n.due), None) + if k is not None: + due[k].append(n.id) + return [Watch(k, t, tuple(due[k])) for k, t in enumerate(times)] + + +def text(a: Advisory) -> str: + line = f"{a.hub} {KINDS.get(a.kind, a.kind)}" + if a.start is not None: + line += f" {hhmm(a.start)}" + (f"-{hhmm(a.end)}" if a.end is not None else "") + if a.rates: + line += f", rate {'/'.join(map(str, a.rates))} arrivals/h (all carriers)" + if a.avg_delay is not None: + line += f", average delay {a.avg_delay} min" + (f", max {a.max_delay}" if a.max_delay is not None else "") + if a.extension: + line += f", probability of extension {a.extension.lower()}" + if a.only: + line += f" (only {a.only})" + return line + f" [advisory {a.id}, signed {hhmm(a.issued)}]" + + +def virtual_time(task: Task, minute: int) -> str: + """The minute of the task's day, hub-local, as the UTC instant the gateway clock reads.""" + midnight = datetime.fromisoformat(task.date).replace(tzinfo=ZoneInfo(task.tz)) + return (midnight + timedelta(minutes=minute)).astimezone(UTC).strftime(TIME_FORMAT) diff --git a/src/agentenv_airops/v3day/day.py b/src/agentenv_airops/v3day/day.py new file mode 100644 index 0000000..020236f --- /dev/null +++ b/src/agentenv_airops/v3day/day.py @@ -0,0 +1,418 @@ +"""One playable day on the programs world (docs/v3/DESIGN.md §5), pure and deterministic: v1's day.py ported onto +programs.sim, the follower's day as known and its freeze. + +The desk plays the follower's watches (clock.watch_times). At a watch t the day so far is history and the rest is the +day as known: the plan runs as `references.so_far` has it at the clock (a flight that has left on the truth by then +left when it did, as a desk would know, every other one no earlier than the clock) in `sim.known(task, t)` (delays +known LOOK ahead, the programs as issued). From the +second watch on, what that projection has leaving before the freeze line t + FREEZE commits to fly, every +cancellation is final, and a projected auto-cancel decided before the line stands (`references.frozen`, kept as a +union over the watches); an open flight the plan would have leaving before the line (at the first watch, before the +clock) is held to it, as the follower's watch solve starts every open flight at the line. What is frozen and what has +gone by the clock stands: the sim reroutes the tails on every cancellation, the day so far included, so a change that +would move such a flight's outcome, departure or aircraft is refused, in the projection and on the truth the grade +prices (a flight gone on the truth by the clock), and a decision never reaches back past it. + +Actions are v1's: cancel, hold (not_before) and restore, read by v1's `day.read_changes` and confirmed as plan entries +`{"cancel": True, "decided": minute}` and `{"not_before": minute}`, and, with a finite reserve pool at a crew base +(docs/v3/DESIGN.md §3.4), call_reserve: the plan entry gains `"reserve": True`, so the flight may leave its base past +its crew deadline on a reserve crew, and release_reserve drops the call, refused once the flight's crew deadline is past +(it would auto-cancel back then, a decision reaching back past the clock). A call is refused for a flight that doesn't +leave a base with a pool, a cancelled one, or one the pool has no crew left for (it would take one from a flight already +holding it: sim.granted grants in flight-id order); a hold or a restore keeps the call, a cancellation drops it, and a +call stands, like any change, once its flight is frozen or gone. In a batch, as in v1, a flight's last change of each +kind counts (cancel, restore or hold; call or release); releases go first and calls last, so one batch can move a +reserve from one flight to another, and a flight both cancelled and called keeps the cancellation. Every tool call (the +situation, a check, a confirm) costs CALL_MIN minutes of the watch's virtual time and acts at the clock's minute when it +starts, so a cancellation is priced from the minute it was confirmed; when the clock reaches the next watch, the watch +ends by itself, and the last watch ends STEP minutes on with the day. advance() ends the watch at once. The news, the +hubs' advisories and on a layered day their weather, is queued at its watch (clock.timetable: the first at or after the +item's minute plus its delivery lag) for the desk to drain. The grade runs the final plan on the +truth (grade.grade).""" + +import json +from collections.abc import Callable, Mapping + +from ..core.known import FREEZE, STEP +from ..core.model import hhmm +from ..core.sim import AUTO_CANCELLED, CANCELLED, FLOWN +from ..day import USAGE, ChangeError, _flight, fid, read_changes +from ..programs import references, sim +from ..programs.model import Task +from . import situation as view +from .clock import CALL_MIN, News, news, timetable +from .grade import grade + +DESK = "Duty manager" + + +class Day: + def __init__(self, task: Task, anchor: int | None = None, follower: int | None = None): + """`anchor` is the anchor's cost when known (the grade solves it otherwise); `follower` the follower's, for the + grade to report alongside.""" + self.task = task + self.anchor, self.follower = anchor, follower + self.watches = timetable(task) + self.items: dict[str, News] = {n.id: n for n in news(task)} + self.watch = 0 + self.elapsed = 0 + self.calls = 0 + self.plan: dict[int, dict] = {} + self.frozen: set[int] = set() + self.delivered: list[str] = [] + self.queue: list[News] = [] + self.log: list[dict] = [] + self.changes: list[dict] = [] + self.refusals: list[dict] = [] + self.freezes = [{"watch": 0, "t": task.start, "line": None, "frozen": []}] + self.done = False + self.end_reason: str | None = None + self.result: dict | None = None + self._worlds: dict[int, sim.World] = {} + self._deliver("load") + + @property + def t(self) -> int: + return self.watches[self.watch].t + + @property + def clock(self) -> int: + """The virtual minute: the watch's time plus the minutes its calls have used.""" + return self.t + self.elapsed + + @property + def line(self) -> int | None: + """The freeze line; none at the first watch, where the desk sets the day up.""" + return self.t + FREEZE if self.t > self.task.start else None + + @property + def last(self) -> bool: + return self.watch == len(self.watches) - 1 + + @property + def ends(self) -> int: + """The minute the watch's time runs out: the next watch, or STEP after the last.""" + return self.t + STEP if self.last else self.watches[self.watch + 1].t + + def known(self) -> sim.World: + if self.watch not in self._worlds: + self._worlds[self.watch] = sim.known(self.task, self.t) + return self._worlds[self.watch] + + def project(self, plan: Mapping[int, Mapping]) -> sim.Execution: + """`plan` run on the day as known at the watch, the day so far (to the clock) as history.""" + return sim.execute(self.task, references.so_far(self.task, plan, self.clock), self.known()) + + def situation(self) -> dict: + return self._call(lambda at: view.build(self)) + + def text(self) -> str: + return view.render(self.task, view.build(self)) + + def check(self, raw) -> dict: + def act(at: int) -> dict: + plan, _, _, refused, problems, held = self._merge(raw, at) + now, then = self.project(self.plan), self.project(plan) + return {"cost": then.cost.to_dict(), "cost_now": now.cost.total, "flights": self._moved(now, then, plan), + "auto_cancelled": _auto(then), "held_to_freeze_line": [fid(i) for i in held], + "refused": refused, "problems": problems} + + return self._call(act) + + def confirm(self, raw) -> dict: + def act(at: int) -> dict: + plan, confirmed, unchanged, refused, problems, held = self._merge(raw, at) + for i in sorted(set(confirmed) | set(held)): + self.changes.append({"watch": self.watch, "t": at, "flight": i, "was": self.plan.get(i, {}), + "now": plan.get(i, {}), "by": "desk" if i in confirmed else "freeze_line"}) + self.plan = dict(sorted(plan.items())) + self.refusals += [{"watch": self.watch, **r} for r in refused] + run = self.project(self.plan) + return {"confirmed": [fid(i) for i in confirmed], "unchanged": [fid(i) for i in unchanged], + "held_to_freeze_line": [fid(i) for i in held], "refused": refused, "problems": problems, + "cost": run.cost.to_dict(), "auto_cancelled": _auto(run)} + + return self._call(act) + + def advance(self) -> dict: + """End the watch now: on to the next, or, after the last, the end of the day and its grade.""" + if self.done: + return {"error": "the day is over"} + return self._next("done") + + def drain(self) -> list[dict]: + """The news delivered since the last drain.""" + out, self.queue = [n.to_dict() for n in self.queue], [] + return out + + def _call(self, act: Callable[[int], dict]) -> dict: + if self.done: + return {"error": "the day is over"} + try: + out = act(self.clock) + except ChangeError as e: + out = {"error": str(e)} + self.calls += 1 + self.elapsed += CALL_MIN + out["now"] = hhmm(self.clock) + if self.clock >= self.ends: + out["watch_over"] = self._next("time") + return out + + def _next(self, reason: str) -> dict: + if self.last: + return self.finish(reason) + self.watch += 1 + self.elapsed = 0 + if self.line is not None: + self.frozen |= references.frozen(self.project(self.plan), self.t) + self.freezes.append({"watch": self.watch, "t": self.t, "line": self.line, "frozen": sorted(self.frozen)}) + got = self._deliver("watch") + return {"watch": self.watch, "time": hhmm(self.t), "freeze_line": _time(self.line), + "frozen": len(self.frozen), "news": got} + + def _deliver(self, via: str) -> list[str]: + got = list(self.watches[self.watch].news) + for n in got: + self.delivered.append(n) + self.queue.append(self.items[n]) + self.log.append({"news_id": n, "watch": self.watch, "t": self.t, "at": self.items[n].at, "via": via}) + return got + + def finish(self, reason: str) -> dict: + self.done, self.end_reason = True, reason + self.result = grade(self.task, self.plan, self.anchor, self.follower) + return {"done": True, "end_reason": reason, "cost": self.result["cost"]["total"], + "reward": self.result["reward"]} + + def _merge(self, raw, at: int) -> tuple[dict, list[int], list[int], list[dict], list[str], list[int]]: + """The plan with `raw`'s changes, one at a time: a change to a frozen flight, or one that would move a frozen + flight or one gone by `at` in the projection or on the truth (`sim.routes` reroutes the tails on every + cancellation, the day so far included), is refused; what is left open before the line is held to it.""" + rows, problems = _read(self.task, raw) + plan, confirmed, unchanged, refused, held = dict(self.plan), [], [], [], set() + base, truth = self.project(self.plan).flights, sim.execute(self.task, self.plan).flights + pinned = self.frozen | _gone(base, at) + gone = _gone(truth, at) + for i, entry in rows: + if (_called(plan.get(i)) == entry["reserve"] if "reserve" in entry else _entry(self.plan.get(i)) == entry): + unchanged.append(i) + continue + if i in pinned or i in gone: + why = self._pinned_reason(i, base[i] if i in pinned else truth[i], at) + refused.append({"flight": fid(i), "from": DESK, "reason": why}) + continue + then = dict(plan) + old = then.pop(i, None) or {} + kept = {"reserve": True} if old.get("reserve") else {} + if entry.get("reserve"): + if why := self._uncallable(i, plan): + refused.append({"flight": fid(i), "from": DESK, "reason": why}) + continue + then[i] = {**old, "reserve": True} + elif "reserve" in entry: + if why := self._unreleasable(i, at): + refused.append({"flight": fid(i), "from": DESK, "reason": why}) + continue + if rest := {k: v for k, v in old.items() if k != "reserve"}: + then[i] = rest + elif entry["cancel"]: + then[i] = {"cancel": True, "decided": at} + elif entry["not_before"] is not None: + then[i] = {"not_before": entry["not_before"]} | kept + elif kept: + then[i] = kept + early, run = self._settle(then, pinned, at) + after = sim.execute(self.task, then).flights + moved = [(k, base) for k in sorted(pinned) if _fixed(run.flights[k]) != _fixed(base[k])] + \ + [(k, truth) for k in sorted(gone) if _fixed(after[k]) != _fixed(truth[k])] + if moved: + k, runs = moved[0] + refused.append({"flight": fid(i), "from": DESK, "reason": self._moves_reason(i, k, runs, at)}) + continue + plan = then + confirmed.append(i) + held.update(early) + return plan, confirmed, unchanged, refused, problems, sorted(held) + + def _settle(self, plan: dict, pinned: set[int], at: int) -> tuple[list[int], sim.Execution]: + """Holds every open flight `plan` has leaving before the freeze line (at the first watch, the clock) to it; + returns them and the plan's projection.""" + line = max(at, self.line if self.line is not None else at) + held: set[int] = set() + while True: + run = self.project(plan) + early = [i for i, r in run.flights.items() if r.status == FLOWN and i not in pinned and r.dep < line] + if not early: + return sorted(held), run + for i in early: + plan[i] = {**plan.get(i, {}), "not_before": line} + held.update(early) + + def _uncallable(self, i: int, plan: Mapping[int, Mapping]) -> str | None: + """Why a reserve can't be called for i under `plan`, or None.""" + task, f = self.task, self.task.flight(i) + name = f"{fid(i)} ({f.flight} {f.orig}-{f.dest})" + if not task.reservable(f): + return f"{name} doesn't leave a crew base with a reserve pool: no reserve to call." + if (plan.get(i) or {}).get("cancel"): + return f"{name} is cancelled: restore it before calling a reserve." + held = sim.granted(task, plan) + after = sim.granted(task, {**plan, i: {**plan.get(i, {}), "reserve": True}}) + if i not in after or not held <= after: + on = " ".join(fid(j) for j in sorted(held) if task.flight(j).orig == f.orig) + pool = task.layers.reserves[f.orig] + return f"{name}: no reserve crew is left at {f.orig}: " + ( + f"its pool of {pool} is on {on}; release one first." if on else "its pool is empty.") + return None + + def _unreleasable(self, i: int, at: int) -> str | None: + """Why i's reserve can't be released at `at`, or None: past its crew deadline it would auto-cancel back then.""" + f = self.task.flight(i) + if (lapse := self.task.auto_at(f)) < at: + return f"{fid(i)} ({f.flight} {f.orig}-{f.dest}) keeps its reserve: its crew deadline passed at " \ + f"{hhmm(lapse)}, before now ({hhmm(at)}), so without the reserve it would have auto-cancelled " \ + "then; cancel it instead." + return None + + def _pinned_reason(self, i: int, r: sim.FlightRun, at: int) -> str: + if i in self.frozen: + return self._frozen_reason(i, r) + f = self.task.flight(i) + how = f"it left at {hhmm(r.dep)}" if r.status == FLOWN else f"it auto-cancelled at {hhmm(r.decided)}" + return f"{fid(i)} ({f.flight} {f.orig}-{f.dest}) is gone: {how}, before now ({hhmm(at)}); it stands." + + def _moves_reason(self, i: int, k: int, base: Mapping[int, sim.FlightRun], at: int) -> str: + f = self.task.flight(i) + return f"{fid(i)} ({f.flight} {f.orig}-{f.dest}) stays as it is: the change would reroute the aircraft and " \ + f"move {fid(k)}, which can't move. {self._pinned_reason(k, base[k], at)}" + + def _frozen_reason(self, i: int, r: sim.FlightRun) -> str: + f = self.task.flight(i) + if r.status == FLOWN: + how = f"the plan has it leaving at {hhmm(r.dep)}" + elif r.status == CANCELLED: + how = "it is cancelled, and a cancellation is final" + else: + how = f"it can't leave in time and auto-cancels at {hhmm(r.decided)}" + return f"{fid(i)} ({f.flight} {f.orig}-{f.dest}) is frozen: {how}, before the freeze line at " \ + f"{hhmm(self.line)}; it stands." + + def _moved(self, now: sim.Execution, then: sim.Execution, plan: Mapping[int, Mapping]) -> list[str]: + """The flights the changes alter, as they would be (was: as they are).""" + out = [] + for i in sorted(now.flights): + a, b = now.flights[i], then.flights[i] + if ((a.status, a.dep, a.arr) != (b.status, b.dep, b.arr) or _entry(self.plan.get(i)) != _entry(plan.get(i)) + or _called(self.plan.get(i)) != _called(plan.get(i))): + f = self.task.flight(i) + out.append(f"{fid(i)} {f.flight} {f.orig}-{f.dest} {view.plan_text(plan.get(i))} " + f"{view.proj_text(self.task, b)} (was {view.plan_text(self.plan.get(i))} " + f"{view.proj_text(self.task, a)})") + return out + + def data(self) -> dict: + return {"task_id": self.task.task_id, "watches": len(self.watches), "watch": self.watch, "t": self.t, + "clock": self.clock, "calls": self.calls, "done": self.done, "end_reason": self.end_reason, + "plan": [{"flight": i, **e} for i, e in sorted(self.plan.items())], "frozen": sorted(self.frozen), + "notices": self.log, "freezes": self.freezes, "changes": self.changes, "refusals": self.refusals, + "grade": self.result} + + +def changes_to(day: Day, target: Mapping[int, Mapping]) -> list[dict]: + """The changes that make the day's plan `target` (programs plan entries by flight id) on the flights that aren't + frozen.""" + want = {int(i): _entry(e) for i, e in target.items()} + calls = {int(i) for i, e in target.items() if e.get("reserve") and not e.get("cancel")} + rows = [] + for i in sorted(set(day.plan) | set(want)): + if i in day.frozen: + continue + a, b = _entry(day.plan.get(i)), want.get(i, _entry(None)) + if a != b: + action = "cancel" if b["cancel"] else "restore" if a["cancel"] else "hold" + rows.append({"flight": fid(i), "action": action, "not_before": _time(b["not_before"])}) + if i in calls and not _called(day.plan.get(i)): + rows.append({"flight": fid(i), "action": CALL}) + elif i not in calls and _called(day.plan.get(i)) and not b["cancel"] \ + and day.task.auto_at(day.task.flight(i)) >= day.clock: + rows.append({"flight": fid(i), "action": RELEASE}) + return rows + + +def play(task: Task, policy: Callable[[Day], Mapping[int, Mapping]], anchor: int | None = None) -> Day: + """The day a scripted policy (the plan it wants at each watch) plays: one confirm per watch, then advance.""" + day = Day(task, anchor) + while not day.done: + if rows := changes_to(day, policy(day)): + day.confirm(rows) + if not day.done: + day.advance() + return day + + +CALL, RELEASE = "call_reserve", "release_reserve" +V1_ACTIONS, ACTIONS = "cancel, restore or hold", "cancel, restore, hold, call_reserve or release_reserve" + + +def _read(task: Task, raw) -> tuple[list[tuple[int, dict]], list[str]]: + """v1's read_changes, plus call_reserve and release_reserve rows ({"flight": "f3", "action": "call_reserve"}) as + `{"reserve": True}` and `{"reserve": False}`: a flight's last row of each kind counts, the releases first, v1's + changes next, the calls last, each by flight; a call on a flight the batch cancels is dropped.""" + if isinstance(raw, str): + try: + raw = json.loads(raw) + except json.JSONDecodeError as e: + raise ChangeError(f"changes are not valid JSON ({e.msg}): send a list like {USAGE}") from None + if isinstance(raw, dict) and isinstance(raw.get("changes"), list): + raw = raw["changes"] + if not isinstance(raw, list): + raise ChangeError(f"changes must be a list like {USAGE}") + ours = [isinstance(c, dict) and c.get("action") in (CALL, RELEASE) for c in raw] + rows, problems = read_changes(task, [c for c, o in zip(raw, ours, strict=True) if not o]) + problems = [p.replace(V1_ACTIONS, ACTIONS) for p in problems] + reserve: dict[int, bool] = {} + for c in (c for c, o in zip(raw, ours, strict=True) if o): + i = _flight(task, c.get("flight")) + if i is None: + problems.append(f"unknown flight {json.dumps(c.get('flight'))}: use the ids from the flight table (f0, f1, " + "...)") + continue + if i in reserve: + problems.append(f"{fid(i)} has more than one reserve call or release: the last counts") + reserve[i] = c["action"] == CALL + for i, e in rows: + if e["cancel"] and reserve.get(i): + problems.append(f"{fid(i)} is cancelled and calls a reserve: the cancellation counts and drops the call") + del reserve[i] + return ([(i, {"reserve": False}) for i, r in sorted(reserve.items()) if not r] + rows + + [(i, {"reserve": True}) for i, r in sorted(reserve.items()) if r]), problems + + +def _gone(flights: Mapping[int, sim.FlightRun], at: int) -> set[int]: + """The flights a run has gone before `at`: left, or auto-cancelled.""" + return {i for i, r in flights.items() + if (r.status == FLOWN and r.dep < at) or (r.status == AUTO_CANCELLED and r.decided < at)} + + +def _fixed(r: sim.FlightRun) -> tuple: + """What a frozen or past flight keeps: its outcome, its departure and its aircraft.""" + return r.status, r.dep, r.tail + + +def _entry(e: Mapping | None) -> dict: + """A plan entry as an action reads it: cancelled, or flying no earlier than `not_before`.""" + cancel = bool(e and e.get("cancel")) + return {"cancel": cancel, "not_before": None if cancel or not e else e.get("not_before")} + + +def _called(e: Mapping | None) -> bool: + return bool(e and e.get("reserve")) + + +def _time(minute: int | None) -> str | None: + return None if minute is None else hhmm(minute) + + +def _auto(run: sim.Execution) -> list[str]: + return [fid(i) for i, r in run.flights.items() if r.status == AUTO_CANCELLED] diff --git a/src/agentenv_airops/v3day/grade.py b/src/agentenv_airops/v3day/grade.py new file mode 100644 index 0000000..cc1484a --- /dev/null +++ b/src/agentenv_airops/v3day/grade.py @@ -0,0 +1,41 @@ +"""The playable day's grade (docs/v3/DESIGN.md §5): the desk's final plan run on the truth by sim.execute, against +doing nothing (`references.naive`) and the hindsight optimum (`references.anchor`), with the rule (`references.rule`) +and, when its cost is given, the follower as reference scores: each one's cost on the truth and its reward on the +same curve. The rule is `references.rule` as v2 plays it, its day so far recomputed under its later cancellations +(the Day refuses such a change), so on a rare day it is not quite the desk's rule. + +The reward is v2's (scripts/step0.py `reward`), so a v3 score sits on step 0's curve: 0.2 + 0.8 exp(-g / 0.5), g the +plan's excess over the anchor in units of doing nothing's excess (at least FLOOR_SHARE of the anchor): 1 at the +anchor, about 0.31 at doing nothing, never below 0.2 (v1's floor: the env never strands a flight).""" + +import math +from collections.abc import Mapping + +from ..programs import references, sim +from ..programs.model import Task + +TEMPERATURE, FLOOR_SHARE = 0.5, 0.1 + + +def reward(cost: float, naive: float, anchor: float) -> float: + """On a day that costs nothing at the anchor and doing nothing, any plan at the anchor's cost scores 1 and any + other 0.2.""" + scale = max(naive - anchor, FLOOR_SHARE * anchor) + if scale <= 0: + return 1.0 if cost <= anchor else 0.2 + g = max(0.0, cost - anchor) / scale + return 0.2 + 0.8 * math.exp(-g / TEMPERATURE) + + +def grade(task: Task, plan: Mapping[int, Mapping], anchor: int | None = None, follower: int | None = None) -> dict: + """The plan's cost on the truth with the references it is scored against; `anchor` is the anchor's cost when + known (references.anchor solves it otherwise), `follower` the follower's (a MIP solve per watch, so only when + given).""" + run = sim.execute(task, plan) + naive = references.naive(task).cost.total + best = references.anchor(task)[1].cost.total if anchor is None else anchor + refs = {k: None if c is None else {"cost": c, "reward": round(reward(c, naive, best), 6)} + for k, c in (("rule", references.rule(task).cost), ("follower", follower))} + return {"cost": run.cost.to_dict(), "counts": run.counts, "naive": naive, "anchor": best, "references": refs, + "reward": round(reward(run.cost.total, naive, best), 6), "executed": run.rows(), + "ferries": [x.to_dict() for x in run.ferries]} diff --git a/src/agentenv_airops/v3day/live.py b/src/agentenv_airops/v3day/live.py new file mode 100644 index 0000000..9057883 --- /dev/null +++ b/src/agentenv_airops/v3day/live.py @@ -0,0 +1,245 @@ +"""AirOps v3 live: one storm date on the programs world (docs/v3/DESIGN.md §5), played on the gateway's virtual clock +as live.py plays v1's day, beside it. + +urn:airops:v3-live-load/v1 starts a day on a task of AIROPS_V3_TASKS (programs.model tasks, layered or not); the +planner's tools are v1's (get_situation, check_plan, confirm_changes, advance, with v1's change lists) on v3day.Day. +Every call costs the Day CALL_MIN minutes of its watch; before a call moves the Day to a new watch (advance, or a +call that runs the watch's time out) the env re-arms the gateway clock frozen at that watch, as v1's advance does, so a +call that could end any watch but the last needs the clock synced, and a failed re-arm leaves the Day where it was +(a call that fails after the re-arm arms the clock back at its watch). Planner calls run one at a time. +The Day delivers each watch's advisories itself, in every tool result's messages, so there are no news triggers. A +reply in which the day ends carries done, cost and reward. The grade needs the anchor's cost: the load takes it (and +the follower's) from its arguments, else from the pack's refs.json (scripts/v3_pack.py --refs: the costs per task +with the digest of the task they ran on, used only while it matches), and otherwise solves the hindsight MIP then, +before the clock starts, so the day's last call never waits on a solve. urn:airops:v3-end-day/v1 grades the plan on +the truth (v3day.grade) when the planner stopped early. data/get reports the Day with its reward and an audit of its +news log, as v1's verifier reads a day, and never the truth the desk doesn't know yet.""" + +import asyncio +import json +import os +from pathlib import Path +from typing import Annotated, Any, Literal + +import httpx +from agentenv_protocol import AgentEnvEnvironment, DataPart, environment_card, extension, get_data, reset_data, tool +from fastmcp import FastMCP +from fastmcp.server.middleware import Middleware +from pydantic import BaseModel, ConfigDict, Field + +from ..live import _raw, _strict +from ..programs import references +from ..programs.model import Task, load_tasks +from ..schedule import CLOCK_URI +from . import situation as view +from .clock import CALL_MIN, virtual_time +from .day import Day + + +class Change(BaseModel): + """v1's change (live.Change) with v3's reserve calls: a flight leaving a crew base past its pairing's crew deadline + flies only on a reserve crew, while the base's pool lasts.""" + + model_config = ConfigDict(extra="forbid", json_schema_extra=_strict) + + flight: str = Field(description='flight id from the table, e.g. "f12"') + action: Literal["cancel", "restore", "hold", "call_reserve", "release_reserve"] = Field( + description="cancel the flight; restore a cancelled flight; hold a flight until not_before (restoring it if " + "cancelled); call_reserve: give a flight leaving a crew base a reserve crew, so it may leave past " + "its crew's deadline; release_reserve: hand the reserve back before that deadline") + not_before: str | None = Field( + default=None, + description='local time the flight may not leave before, "HH:MM" ("00:30+1" after midnight); null to let it ' + "leave as early as it can, and with cancel and the reserve actions") + + +ChangesArg = Annotated[list[Change] | str, Field( + description='[{"flight": "f12", "action": "cancel", "not_before": null}, {"flight": "f30", "action": "hold", ' + '"not_before": "15:40"}, {"flight": "f7", "action": "call_reserve", "not_before": null}, ...]; ' + "flights left out keep their plan")] + + +ENV = "airops-v3-day" +LIVE_LOAD_URI = "urn:airops:v3-live-load/v1" +END_DAY_URI = "urn:airops:v3-end-day/v1" +TASKS_VAR = "AIROPS_V3_TASKS" +REFS_FILE = "refs.json" +TOOLS = ("get_situation", "check_plan", "confirm_changes", "advance") +EMPTY = {"task_id": None, "watches": None, "watch": None, "t": None, "clock": None, "calls": 0, "done": False, + "end_reason": None, "plan": [], "frozen": [], "notices": [], "freezes": [], "changes": [], "refusals": [], + "grade": None, "reward": None, "audit": None} + + +def tasks_by_id() -> dict[str, Task]: + """The programs tasks of AIROPS_V3_TASKS (pack folders or .jsonl files, separated by ':'); none when unset.""" + paths = os.environ.get(TASKS_VAR) + return {t.task_id: t for p in paths.split(":") for t in load_tasks(Path(p))} if paths else {} + + +def refs_by_id() -> dict[str, dict]: + """The stored reference costs beside AIROPS_V3_TASKS's tasks: the refs.json in each pack folder (or beside each + .jsonl), by task id; none where there is none.""" + paths = os.environ.get(TASKS_VAR) + out = {} + for p in map(Path, paths.split(":") if paths else ()): + f = (p if p.is_dir() else p.parent) / REFS_FILE + if f.is_file(): + out |= json.loads(f.read_text()) + return out + + +def stored(task: Task, refs: dict[str, dict]) -> dict[str, int]: + """The anchor's and the follower's stored costs of `task`, if they were run on this very task.""" + r = refs.get(task.task_id, {}) + return {k: r[k] for k in ("anchor", "follower") if k in r} if r.get("task") == references.digest(task) else {} + + +def audit(day: Day) -> dict: + """Whether every watch reached so far delivered its news, and only it, at that watch.""" + problems = [] + for k in range(day.watch + 1): + got = [e["news_id"] for e in day.log if e["watch"] == k] + if got != list(day.watches[k].news): + problems.append(f"watch {k} got {got} instead of {list(day.watches[k].news)}") + return {"ok": not problems, "problems": problems} + + +def _json(obj: Any) -> str: + return json.dumps(obj, ensure_ascii=False, separators=(",", ":")) + + +@environment_card(name=ENV) +class AirOpsV3LiveEnv(AgentEnvEnvironment): + def __init__(self): + self.tasks = tasks_by_id() + self.refs = refs_by_id() + self.set_time_url: str | None = None + self.loaded = False + self.playing = asyncio.Lock() + self.reset() + + def create_app(self) -> FastMCP: + return self.mount(FastMCP(ENV, middleware=[ToolOrder()])) + + @tool(description="The current watch: the time, the freeze line, the FAA programs as issued (GDPs with JetBlue's " + "slots, ground stops), the departure caps known so far, every flight (its status, its delay once " + "known, your plan, where your plan has it leave and land on the day as known, its slot and its " + f"crew's deadline), where the aircraft are, and new messages. Costs {CALL_MIN} min of the watch.") + async def get_situation(self) -> str: + return await self._play(_situation) + + @tool(description="Check changes without confirming them: your changes over your plan, run on the day as known " + "now. Gives the plan's cost, the flights whose plan or times change, the automatic " + "cancellations, the flights the env would hold to the freeze line, and the changes " + f"confirm_changes would refuse. Costs {CALL_MIN} min of the watch.") + async def check_plan(self, changes: ChangesArg) -> str: + return await self._play(lambda day: day.check(_raw(changes))) + + @tool(description="Commit changes to your plan; flights you leave out keep theirs. From watch 1 on, frozen flights " + "(those your plan has leaving before the freeze line, an hour after the watch) can't be " + "changed, a cancellation is final, and the env holds any other flight your plan would have " + f"leaving before the freeze line to it. Costs {CALL_MIN} min of the watch.") + async def confirm_changes(self, changes: ChangesArg) -> str: + return await self._play(lambda day: day.confirm(_raw(changes))) + + @tool(description="End this watch: the clock moves to the next watch, flights leave as your plan has them, and " + "flights your plan has leaving before the new freeze line freeze. The watch's news comes in " + "this result's messages. After the last watch the day is graded on your plan.") + async def advance(self) -> str: + return await self._play(lambda day: day.advance(), ends=True) + + @extension(LIVE_LOAD_URI, description="Start a live v3 day on the task with this id; an env plays one day.") + def live_load(self, task_id: str, anchor: int | None = None, follower: int | None = None) -> dict: + """`anchor` and `follower` are those references' costs on the truth, each taken from the pack's refs.json when + not given (`stored`); without the anchor's the load solves it (references.anchor, up to its time limit). + Loading again would replay the day with its news already seen; the news before the first watch is in the + opening prompt (tasks.briefing), so it is not repeated in the first reply.""" + if self.loaded: + raise ValueError("a day was already loaded in this env: each live day needs a new deploy") + if task_id not in self.tasks: + raise ValueError(f"unknown task id {task_id!r}") + self.reset() + task = self.tasks[task_id] + kept = stored(task, self.refs) + anchor = kept.get("anchor") if anchor is None else anchor + follower = kept.get("follower") if follower is None else follower + self.day = Day(task, references.anchor(task)[1].cost.total if anchor is None else anchor, follower) + self.day.drain() + self.loaded = True + return {"task_id": task_id, "watches": len(self.day.watches)} + + @extension(END_DAY_URI, description="Grade the plan on the truth if the planner didn't end the day.") + def end_day(self) -> dict: + day = self._day() + if not day.done: + day.finish("end_day") + return {"end_reason": day.end_reason, "watch": day.watch, "cost": day.result["cost"]["total"], + "reward": day.result["reward"], "audit": audit(day)} + + @extension(CLOCK_URI, description="Follow the gateway's virtual clock; each new watch re-arms it.") + async def sync_time(self, env_get_time_url: str) -> dict: + self.set_time_url = env_get_time_url.removesuffix("/clock/time") + "/clock/set-time" + async with httpx.AsyncClient() as http: + response = await http.get(env_get_time_url, timeout=10) + response.raise_for_status() + return {"env_get_time_url": env_get_time_url, "virtual_time": response.json()["virtual_time"]} + + @reset_data + def reset(self) -> None: + self.day: Day | None = None + + @get_data + def get(self) -> list[DataPart]: + if self.day is None: + return [DataPart(data=EMPTY)] + reward = self.day.result["reward"] if self.day.result else None + return [DataPart(data=self.day.data() | {"reward": reward, "audit": audit(self.day)})] + + def _day(self, open_only: bool = False) -> Day: + if self.day is None: + raise ValueError(f"no day loaded: load one with {LIVE_LOAD_URI}") + if open_only and self.day.done: + raise ValueError("the day is over") + return self.day + + async def _play(self, act, ends: bool = False) -> str: + """Runs a planner call on the Day, one at a time, first re-arming the gateway clock at the next watch if the + call will open it, and arming it back at this watch if the call then fails.""" + async with self.playing: + day = self._day(open_only=True) + rearm = not day.last and (ends or day.clock + CALL_MIN >= day.ends) + if rearm: + await self._arm(day.ends) + try: + out = act(day) + except Exception: + if rearm: + await self._arm(day.t) + raise + if day.done: + out |= {"done": True, "end_reason": day.end_reason, "cost": day.result["cost"]["total"], + "reward": day.result["reward"]} + return _json({**out, "messages": day.drain()}) + + async def _arm(self, t: int) -> None: + """Freezes the gateway's clock at minute `t` of the day.""" + if self.set_time_url is None: + raise ValueError(f"the gateway clock is not synced: call {CLOCK_URI} sync_time first") + async with httpx.AsyncClient() as http: + response = await http.put(self.set_time_url, timeout=10, json={ + "virtual_time": virtual_time(self.day.task, t), "virtual_seconds_per_real_second": 0}) + response.raise_for_status() + + +def _situation(day: Day) -> dict: + s = day.situation() + out = {"watch": s["watch"], "time": s["time"], "clock": s["clock"], "freeze_line": s["freeze_line"], + "situation": view.render(day.task, s), "now": s["now"]} + return out | ({"watch_over": s["watch_over"]} if "watch_over" in s else {}) + + +class ToolOrder(Middleware): + """Lists the planner's tools in the order of the rules.""" + + async def on_list_tools(self, context, call_next): + return sorted(await call_next(context), key=lambda t: TOOLS.index(t.name)) diff --git a/src/agentenv_airops/v3day/server.py b/src/agentenv_airops/v3day/server.py new file mode 100644 index 0000000..b649294 --- /dev/null +++ b/src/agentenv_airops/v3day/server.py @@ -0,0 +1,14 @@ +"""The v3 env server: airops-v3-day on streamable HTTP, beside v1's server.py.""" + +import os + +from .live import AirOpsV3LiveEnv + + +def main() -> None: + AirOpsV3LiveEnv().create_app().run(transport="http", host=os.environ.get("MCP_HOST", "0.0.0.0"), + port=int(os.environ.get("MCP_PORT", "18765")), show_banner=False) + + +if __name__ == "__main__": + main() diff --git a/src/agentenv_airops/v3day/situation.py b/src/agentenv_airops/v3day/situation.py new file mode 100644 index 0000000..4e5ee2f --- /dev/null +++ b/src/agentenv_airops/v3day/situation.py @@ -0,0 +1,261 @@ +"""What the desk sees at a watch (docs/v3/DESIGN.md §5), as a JSON-able dict and as text in v1's style: the time and the +freeze line, the programs as issued (sim.known's GDP segments, a proposed one included, and ground-stop pieces), the +departure caps and outstation arrival caps known so far (the truth's `layers.dep_caps` and `layers.arr_caps` for the +hours within CAP_LOOK, as sim.known has them), the ramp closures under way or over (sim.known's: begun by the watch, +each with its end once reported, else the end expected), the latest METAR or SPECI and TAF delivered per hub, every +flight on the day as known (status, known delay, the plan, where the plan has it leave and land, its slot or hold, its +crew's deadline and rest, and for a departure from a base with a reserve pool whether the plan has a reserve crew on +it), each such base's reserve pool and what the plan's calls leave of it (sim.granted), the aircraft as the plan has +them now, and the news delivered so far.""" + +from collections import defaultdict +from collections.abc import Mapping +from datetime import date +from typing import TYPE_CHECKING + +from ..core.known import CAP_LOOK, LOOK +from ..core.model import hhmm +from ..core.sim import AUTO_CANCELLED, CANCELLED, FLOWN +from ..day import fid +from ..programs import sim +from ..programs.advisories import PROPOSED +from ..programs.model import Task +from .clock import WEATHER, News + +if TYPE_CHECKING: + from .day import Day + +KEYS = ("watch", "time", "clock", "freeze_line", "frozen", "cost", "programs", "dep_caps", "arr_caps", "closures", + "weather", "reserves", "flights", "aircraft", "news") + + +def build(day: "Day") -> dict: + task, t, run, world = day.task, day.t, day.project(day.plan), day.known() + return {"watch": day.watch, "time": hhmm(t), "clock": hhmm(day.clock), "freeze_line": _time(day.line), + "frozen": len(day.frozen), "cost": run.cost.to_dict() | {"counts": run.counts}, + "programs": programs(task, world), "dep_caps": dep_caps(task, t), "arr_caps": arr_caps(task, t), + "closures": closures(world, t), "weather": weather(day), + "reserves": reserves(task, run.reserved), + "flights": [flight_row(day, f.id, run.flights[f.id], run.reserved) + for f in sorted(task.flights, key=lambda f: (f.sched_dep, f.id))], + "aircraft": aircraft(task, run, day.clock), "news": [day.items[n].to_dict() for n in day.delivered]} + + +def programs(task: Task, world: sim.World) -> dict: + """The programs of the day as known, per hub: GDP segments (proposed or issued) and stop pieces.""" + kinds = {a.id: a.kind for p in task.programs.values() for a in p.advisories} + return {h: {"gdps": [{"id": s.id, "kind": "proposed" if kinds.get(s.id) == PROPOSED else "gdp", + "period": [hhmm(s.start), hhmm(s.end)], "governs": [hhmm(s.since), hhmm(s.until)], + "jetblue_slots": [hhmm(x) for x in s.slots]} for s in world.segments.get(h, ())], + "stops": [{"chain": p.chain, "from": hhmm(p.start), "to": hhmm(p.end)} for p in world.stops + if p.hub == h]} + for h in sorted(task.programs)} + + +def dep_caps(task: Task, t: int) -> dict[str, dict[str, int]]: + """JetBlue's departure caps per station and hour known at t: the hours starting within CAP_LOOK.""" + return _hours(task.layers.dep_caps if task.layers else {}, t) + + +def arr_caps(task: Task, t: int) -> dict[str, dict[str, int]]: + """JetBlue's arrival caps per outstation and hour known at t: the hours starting within CAP_LOOK.""" + return _hours(task.layers.arr_caps if task.layers else {}, t) + + +def _hours(caps: Mapping[str, Mapping[int, int]], t: int) -> dict[str, dict[str, int]]: + return {s: {f"{h % 24:02d}" + (f"+{h // 24}" if h >= 24 else ""): c for h, c in sorted(by.items()) + if 60 * h <= t + CAP_LOOK} for s, by in sorted(caps.items())} + + +def closures(world: sim.World, t: int) -> dict[str, list[dict]]: + """The ramp closures the day as known at watch t has per hub: from, to, whether that end is reported (it has come + by t; else it is expected, sim.known), and JetBlue's departure and arrival caps over it.""" + return {s: [{"from": hhmm(a), "to": hhmm(b), "reported": b <= t, "dep_cap": dep, "arr_cap": arr} + for a, b, dep, arr in spans] for s, spans in sorted(world.closures.items())} + + +def weather(day: "Day") -> dict[str, dict]: + """Per hub the latest observation (METAR or SPECI) and the latest TAF delivered so far: the one observed or issued + last, of those observed or issued at one minute the last delivered (kinds' lags differ, so an older one can + arrive with or after a newer one).""" + latest: dict[tuple[str, str], News] = {} + for n in (day.items[i] for i in day.delivered): + if n.kind in WEATHER: + key = (n.hub, "taf" if n.kind == "taf" else "observation") + if key not in latest or n.at >= latest[key].at: + latest[key] = n + out: dict[str, dict] = {} + for (hub, kind), n in sorted(latest.items()): + out.setdefault(hub, {})[kind] = n.to_dict() + return out + + +def reserves(task: Task, granted: frozenset[int]) -> dict[str, dict]: + """Each crew base's reserve pool, the flights the plan has on its reserve crews and how many are left.""" + pools = task.layers.reserves if task.layers else {} + on = {b: sorted(i for i in granted if task.flight(i).orig == b) for b in pools} + return {b: {"pool": n, "called": [fid(i) for i in on[b]], "left": n - len(on[b])} for b, n in sorted(pools.items())} + + +def flight_row(day: "Day", i: int, r: sim.FlightRun, granted: frozenset[int] = frozenset()) -> dict: + f, entry = day.task.flight(i), day.plan.get(i) + row = {"id": fid(i), "flight": f.flight, "orig": f.orig, "dest": f.dest, "sched_dep": hhmm(f.sched_dep), + "sched_arr": hhmm(f.sched_arr), "pax": f.pax, "family": f.family, "status": status(day, i, r), + "known_delay": f.lb if f.sched_dep <= day.t + LOOK else None, "plan": plan_text(entry), + "hold": _time(entry.get("not_before")) if entry and not entry.get("cancel") else None, + "dep": _time(r.dep), "arr": _time(r.arr), + "late": r.arr - f.sched_arr if r.status == FLOWN else None, "tail": r.tail, + "slot": {"program": r.program, "at": hhmm(r.slot)} if r.slot is not None else None} + if f.crew: + c = day.task.crew(f) + row["crew"] = {"pairing": c.pairing, "deadline": _time(c.deadline), "rest": _time(c.rest)} + if day.task.reservable(f): + row["crew"]["reserve"] = i in granted + return row + + +def status(day: "Day", i: int, r: sim.FlightRun) -> str: + if r.status == FLOWN and r.dep < day.clock: + return "flown" if r.arr <= day.clock else "airborne" + if i not in day.frozen: + return {CANCELLED: "cancelled", AUTO_CANCELLED: "auto-cancel"}.get(r.status, "open") + return "cancelled" if r.status == CANCELLED else "frozen" + + +def aircraft(task: Task, run: sim.Execution, t: int) -> dict: + """Where each aircraft is at t as the plan has it: at a station (ready then, after its turn and any Move it is + bound to), or airborne on a leg.""" + cancelled = {i for i, r in run.flights.items() if r.status == CANCELLED} + carried, own = sim.routes(task, cancelled) + at: dict[str, list[dict]] = defaultdict(list) + airborne = [] + for tail in task.tails: + station, ready = tail.pos, tail.ready + if tail.tail in own: + station, ready = sim.through(own[tail.tail], ready, {}) + for i in run.legs.get(tail.tail, ()): + r = run.flights[i] + if r.dep >= t: + break + f = task.flight(i) + if r.arr > t: + airborne.append({"tail": tail.tail, "flight": fid(i), "to": f.dest, "lands": hhmm(r.arr)}) + station = None + break + back = task.back(f, r.arr) + station, ready = sim.through(carried[i], back, {}) if i in carried else (f.dest, back) + if station is not None: + at[station].append({"tail": tail.tail, "family": tail.family, "ready": _time(ready if ready > t else None)}) + return {"stations": {s: at[s] for s in sorted(at, key=lambda s: (s not in task.storms, s))}, "airborne": airborne} + + +def render(task: Task, s: Mapping) -> str: + hubs = "/".join(task.storms) + freeze = ("First watch: nothing is frozen; changes take effect at once." if s["freeze_line"] is None else + f"Freeze line {s['freeze_line']}: flights your plan has leaving before it are frozen ({s['frozen']} " + "now), cancellations are final, and no other flight leaves before it.") + c, n = s["cost"], s["cost"]["counts"] + weekday = date.fromisoformat(task.date).strftime("%A") + parts = [f"# JetBlue operations desk, {hubs}, {weekday} {task.date}; times are local ({task.tz}).", + f"Now {s['clock']} (watch {s['watch']}, opened {s['time']}). {freeze}", + f"Your plan on the day as known costs {c['total']:,} (delay {c['delay']:,}, cancellations {c['cancel']:,}," + f" notice {c['notice']:,}, ferries {c['ferry']:,}): {n[CANCELLED]} cancelled, {n[AUTO_CANCELLED]} " + f"cancelled automatically, {n['slots']} on slots.", + _programs_text(s["programs"]), _caps_text(s["dep_caps"]), _arr_caps_text(s["arr_caps"]), + _closures_text(s["closures"]), _weather_text(s["weather"]), *_reserves_text(s["reserves"]), + _flights_text(s["flights"]), + _aircraft_text(s["aircraft"]), _news_text(s["news"])] + return "\n\n".join(parts) + + +def _programs_text(p: Mapping) -> str: + lines = [] + for h, by in p.items(): + for g in by["gdps"]: + name = "proposed ground delay program" if g["kind"] == "proposed" else "ground delay program" + slots = " ".join(g["jetblue_slots"]) or "none" + lines.append(f"- {h} {name} {g['id']}: arrivals {g['period'][0]}-{g['period'][1]}, governs departures " + f"{g['governs'][0]}-{g['governs'][1]}; JetBlue's slots {slots}") + lines += [f"- {h} ground stop {x['chain']}: {x['from']}-{x['to']}" for x in by["stops"]] + return "## Programs as issued (FAA Command Center)\n" + ("\n".join(lines) or "None.") + + +def _caps_text(caps: Mapping) -> str: + lines = [f"{st}: " + " ".join(f"{h}h {c}" for h, c in by.items()) for st, by in caps.items() if by] + return (f"## Departure caps: JetBlue departures per hour, known {CAP_LOOK} min ahead\n" + + ("\n".join(lines) or "None known.")) + + +def _arr_caps_text(caps: Mapping) -> str: + lines = [f"{st}: " + " ".join(f"{h}h {c}" for h, c in by.items()) for st, by in caps.items() if by] + return (f"## Outstation arrival caps: JetBlue arrivals per hour, known {CAP_LOOK} min ahead\n" + + ("\n".join(lines) or "None known.")) + + +def _closures_text(shut: Mapping) -> str: + lines = [f"- {st} {c['from']}-{c['to']}{'' if c['reported'] else ' (end expected)'}: at most {c['dep_cap']} " + f"departures and {c['arr_cap']} arrivals" for st, spans in shut.items() for c in spans] + return ("## Ramp closures (lightning at the field; known once begun)\n" + ("\n".join(lines) or "None.")) + + +def _weather_text(wx: Mapping) -> str: + lines = [f"[{n['at']}] {n['text']}" for by in wx.values() for n in by.values()] + return "## Latest weather (METAR or SPECI, and TAF)\n" + ("\n".join(lines) or "None.") + + +def _reserves_text(pools: Mapping) -> list[str]: + """The reserve pools, when the day has any: a base departure past its crew deadline flies only on one.""" + if not pools: + return [] + lines = [f"{b}: {p['left']} of {p['pool']} left" + (f" (called: {' '.join(p['called'])})" if p["called"] else "") + for b, p in pools.items()] + return ["## Reserve crews (call_reserve: a departure from the base may leave past its crew deadline on one; " + "granted in flight-id order while the pool lasts; release_reserve gives it back)\n" + "\n".join(lines)] + + +def _flights_text(rows: list[dict]) -> str: + out = ["## Flights (sched = scheduled dep-arr; delay = known delay, ? not yet; plan = cancel or hold@HH:MM; " + "proj = where your plan has it leave and land on the day as known; late = arrival delay; slot = its GDP " + "slot; crew = crew deadline/rest end, +R on a reserve crew)", + "id flight route sched pax type status delay plan proj late tail slot crew"] + for r in rows: + proj = f"{r['dep']}-{r['arr']}" if r["dep"] else "-" + late = f"{r['late']:+d}" if r["late"] is not None else "-" + slot = f"{r['slot']['program']}@{r['slot']['at']}" if r["slot"] else "-" + crew = f"{r['crew']['deadline'] or '-'}/{r['crew']['rest'] or '-'}" if r.get("crew") else "-" + crew += "+R" if r.get("crew", {}).get("reserve") else "" + delay = "?" if r["known_delay"] is None else str(r["known_delay"]) + out.append(f"{r['id']} {r['flight'].split()[-1]} {r['orig']}-{r['dest']} {r['sched_dep']}-{r['sched_arr']} " + f"{r['pax']} {r['family']} {r['status']} {delay} {r['plan']} {proj} {late} {r['tail'] or '-'} " + f"{slot} {crew}") + return "\n".join(out) + + +def _aircraft_text(a: Mapping) -> str: + lines = ["## Aircraft now, as your plan has them (@ = ready at)"] + for s, tails in a["stations"].items(): + lines.append(f"{s}: " + " ".join(x["tail"] + (f"@{x['ready']}" if x["ready"] else "") for x in tails)) + lines.append("airborne: " + (" ".join(f"{x['tail']} {x['flight']}>{x['to']}@{x['lands']}" for x in a["airborne"]) + or "none")) + return "\n".join(lines) + + +def _news_text(items: list[dict]) -> str: + return "## News so far\n" + ("\n".join(f"[{n['at']}] {n['text']}" for n in items) or "None.") + + +def plan_text(e: Mapping | None) -> str: + if e and e.get("cancel"): + return "cancel" + text = f"hold@{hhmm(e['not_before'])}" if e and e.get("not_before") is not None else "-" + return (text + "+reserve" if text != "-" else "reserve") if e and e.get("reserve") else text + + +def proj_text(task: Task, r: sim.FlightRun) -> str: + if r.status == FLOWN: + return f"{hhmm(r.dep)}-{hhmm(r.arr)} {r.arr - task.flight(r.id).sched_arr:+d} {r.tail}" + return "cancelled" if r.status == CANCELLED else "auto-cancel" + + +def _time(minute: int | None) -> str | None: + return None if minute is None else hhmm(minute) diff --git a/src/agentenv_airops/v3day/tasks.py b/src/agentenv_airops/v3day/tasks.py new file mode 100644 index 0000000..f3ec5f6 --- /dev/null +++ b/src/agentenv_airops/v3day/tasks.py @@ -0,0 +1,213 @@ +"""v3's task prompts and bundle steps, in tasks.py's style (v1's prompts stay as they are): the rules of a storm date +on the programs world as the system prompt, the first watch as the opening prompt, and the steps that play one task +live on airops-v3-day with airops-llm and grade it with airops-verifier; and the bundle airops-v3 (`generate`, which +`agent-env airops-v3 tasks` writes and the package ships under bundles/airops-v3), one task per date of the b6-v3 pack +(data/b6-v3, scripts/ship_v3_pack.py) with its stored reference costs, so a load never waits on a solve.""" + +import json +from importlib.resources import files +from pathlib import Path + +from ..core.known import CAP_LOOK, FREEZE, LOOK, STEP +from ..core.model import hhmm +from ..programs import references, sim +from ..programs.cost import NOTICE +from ..programs.model import Task, load_tasks +from ..schedule import AGENT, EXTRA_TURNS, TURNS_PER_WATCH, VERIFIER +from .clock import CALL_MIN, virtual_time +from .day import Day +from .live import END_DAY_URI, ENV, LIVE_LOAD_URI, REFS_FILE, stored + +LOAD_SLACK = 120 # s past the anchor's time limit for a load that solves it: reading the day and building the MIP +PACK = files("agentenv_airops") / "data" / "b6-v3" +BUNDLE_NAME = "airops-v3" +BUNDLE = files("agentenv_airops.bundles") / BUNDLE_NAME +V1_BUNDLE = files("agentenv_airops.bundles") / "airops" +SPLITS = ("eval", "control", "train", "all") +NOPLAY = "wiring-noplay" +CREDIT = ("Built from public U.S. records: BTS on-time data of every carrier, the FAA registry, FAA Command Center " + "advisories and NWS METARs, SPECIs and TAFs via the Iowa Environmental Mesonet.") +README = f"""AirOps v3: a real storm day across JetBlue's whole network, from 04:00, inside the FAA's programs at \ +JFK and BOS and \ +v3's realism layers (hub departure caps, ramp closures from lightning at the field, outstation arrival caps), played \ +live in watches on the gateway's virtual clock by the {AGENT} planner and graded against the hindsight optimum. + +Every task deploys the env registered as `{ENV}` on the gateway provider (run `agent-env airops-v3 setup` once, and +`agent-env airops setup --agent` for the {AGENT} agent) and loads one day of the b6-v3 pack through the env's +`{LIVE_LOAD_URI}` extension, with the anchor's and the follower's costs stored with the pack. The day delivers each +watch's FAA advisories, METARs, SPECIs and TAFs itself, in the tool results, at their delivery lags; watches come +one an hour and one more when an advisory or SPECI reaches the desk or a ramp closure begins or ends. The clock +starts frozen at the first watch. After the play, `{END_DAY_URI}` grades the final plan on the day as it happened if +the planner stopped early; the `{VERIFIER}` artifact reads the day from the env's `data/get` and scores the run with +its reward, and a day that never finished, or whose news broke the reveal schedule, fails the step, so the run is +not scored. + +- `` plays that day with the `{AGENT}` agent. +- `{NOPLAY}` runs the first day's steps without the agent and needs no model: end-day flies the day with no change, as + the naive reference does. + +{CREDIT} +""" + +def rules(task: Task) -> str: + """The system prompt: v1's desk on the programs world, with the crew paragraph when the task has crews, and on a + layered task (docs/v3/DESIGN.md §4) its event-driven watches, the weather news and its delivery lags, the + outstation arrival caps and the ramp closures.""" + layered = task.layered + watches = (f"in watches starting at watch 0: one an hour, and one more when an advisory or a SPECI reaches " + f"the desk or a ramp closure begins or ends, so watches are {references.WATCH_MIN} to {STEP} minutes " + "apart" if layered else "in watches, one an hour, starting at watch 0") + news = (f"FAA Command Center advisories and the hubs' METARs, SPECIs and TAFs arrive as messages at the first " + f"watch after they reach the desk: an advisory {task.lag('advisory')} minutes after it is signed, a METAR " + f"{task.lag('metar')} and a SPECI {task.lag('speci')} minutes after its observation, a TAF " + f"{task.lag('taf')} minutes after its issue" if layered + else "FAA Command Center advisories arrive as messages as they are signed") + layers = (f"\n- Outstation arrival caps: an outstation may take only so many JetBlue arrivals in an hour (the " + f"outstation arrival caps table, known {CAP_LOOK // 60} hours ahead); a flight with no room in its " + "arrival hour leaves so as to land in the next one.\n- Ramp closures: lightning at the field cuts a " + "hub's ramp rate without stopping it. During a closure only so many JetBlue flights may leave the hub " + "and only so many arrive there; a departure with no room leaves at the closure's end, an arrival with " + "none leaves so as to land at it. A closure is known once it begins; until its end comes it is expected " + f"to last {sim.GUESS} minutes more, with caps for that long, and the closures table says which ends " + "are reported and which expected." if layered else "") + situation = (", the outstation arrival caps known so far, the ramp closures under way or over, the latest METAR " + "or SPECI and TAF per hub" if layered else "") + crew = ("\n- Crews: a flight's crew has a deadline, the latest it may leave under its duty limit; a flight not " + "gone by its crew deadline may leave only once its crew's legal rest ends (still by its deadline), and one " + "whose rest ends past its deadline is cancelled automatically at the deadline. The table shows each " + "flight's crew deadline and rest end." if any(f.crew for f in task.flights) else "") + return f"""You run the JetBlue operations desk on a storm day at JFK and BOS: thunderstorms, snow or wind, \ +and the FAA ground stops and ground delay programs (GDPs) that follow, cut how many JetBlue flights can land and take \ +off. Your job is to decide which flights to cancel and which to hold, watch by watch, so that passengers and the \ +airline lose as little as possible over the day. + +How the day runs: +- The day is played {watches}. The first message gives the day as the desk \ +knows it at watch 0. Every tool call takes {CALL_MIN} minute of the watch; when the watch's time runs out, the next \ +watch opens by itself, and advance opens it at once. +- What the desk knows: a flight's own departure delay (weather, air traffic control: anything but waiting for its \ +aircraft or a slot) becomes known {LOOK // 60} hours before its scheduled departure; until then it is assumed on \ +time. {news}, and the programs table shows the programs \ +as issued, proposed GDPs included; a program may end earlier or later than issued. +- Ground delay programs: a GDP meters arrivals at a hub over its period. A flight into the hub from an origin in its \ +scope, scheduled to land in the period, needs one of JetBlue's arrival slots in the program: it takes the earliest \ +free slot at or after the time it could land and leaves at its EDCT, the slot less its scheduled block. A cancelled \ +or late flight leaves its slot to the flights behind it. Arrivals outside a program fit under the hub's hourly rate. +- Ground stops: a flight to a stopped hub from an origin the stop covers waits on the ground until the stop ends; \ +flights already airborne fly on. +- Departure caps: an airport may take only so many JetBlue departures in an hour (the departure caps table, known \ +{CAP_LOOK // 60} hours ahead); a flight with no room in its hour tries again at the next hour's start.{layers}{crew} +- The env flies your plan on the day as it happens: each flight leaves at the earliest time its delay, its hold, a \ +slot, a stop, a cap and an aircraft allow. It takes the first aircraft of its type ready at its origin (aircraft of \ +one type at one airport are interchangeable; an aircraft needs its turn time on the ground between flights). A \ +flight that can't leave by its deadline is cancelled automatically there. At the end of the day the env ferries each \ +aircraft to the airport it is needed at tomorrow. +- Your decisions: cancel a flight (its aircraft stays on the ground, free for other flights, and its slot goes to the \ +flights behind), restore a cancelled flight, or hold a flight until a time (not_before) so that its slot or aircraft \ +goes to another flight first. A flight you don't touch leaves as early as it can. +- The freeze: at watch 0 nothing is frozen. From watch 1 on, flights your plan has leaving before the freeze line, \ +{FREEZE} minutes after the watch opens, are frozen: they can't be changed, and stay frozen. A cancellation is final. \ +The env holds any other flight your plan would have leaving before the freeze line to it, and refuses a change that \ +would move a frozen flight or one that has already gone. + +Tools: +- get_situation(): the time, the freeze line, the programs as issued with JetBlue's slots, the departure caps known \ +so far{situation}, every flight (its status, its known delay, your plan, where your plan has it leave and land on \ +the day as known, how late it lands, its aircraft, its slot and its crew), where the aircraft are, and the news so far. +- check_plan(changes): your changes over your plan, run on the day as known now: the plan's cost, the flights whose \ +plan or times change, the automatic cancellations, the flights the env would hold to the freeze line, and the changes \ +confirm_changes would refuse. It confirms nothing. +- confirm_changes(changes): commits the changes; flights you leave out keep their plan. +- advance(): ends the watch; its result has the new watch's news. After the last watch it returns "done": the day \ +is graded on your plan. +A change is {{"flight": "f12", "action": "cancel" | "restore" | "hold" | "call_reserve" | "release_reserve", \ +"not_before": "HH:MM" | null}}: cancel takes not_before null; restore and hold fly the flight, held until not_before \ +(local time, "00:30+1" after midnight), or as early as it can with null. Where a crew base has a reserve pool (the \ +situation's Reserve crews), a flight leaving it past its crew's deadline flies only on a reserve: call_reserve gives \ +it one while the pool lasts, release_reserve hands it back before that deadline. + +The cost, in passenger-minutes: every passenger's minutes of arrival delay; 523 for each passenger on a cancelled \ +flight, plus one for every minute the cancellation is decided later than {NOTICE // 60} hours before its scheduled \ +departure (an automatic cancellation is decided at its deadline, so it costs more than an early one); the airline's \ +own aircraft minutes (a late departure costs crew and fixed costs, a long block fuel too, and a cancellation saves \ +its fuel and maintenance); and the end-of-day ferries. A cancellation frees an aircraft and a slot; it pays when it \ +saves the others more than it costs its own passengers. The day is graded once, on your final plan flown on the day \ +as it really happened: the closer its cost to the best plan possible in hindsight, the higher the score. If you stop \ +before the last watch, the rest of the day runs on your plan.""" + + +def briefing(day: Day) -> str: + """The opening prompt: the first watch's situation, the news so far included; it costs the day no time.""" + return f"{day.text()}\n\nIt is the first watch, {hhmm(day.t)}. Nothing is frozen yet: set the day up with " \ + "confirm_changes, then call advance." + + +def max_turns(day: Day) -> int: + return TURNS_PER_WATCH * len(day.watches) + EXTRA_TURNS + + +def steps(task: Task, anchor: int | None = None, follower: int | None = None) -> list[dict]: + """One task's bundle steps: deploy airops-v3-day, load the day (with the anchor's and the follower's costs when + given, so the load needn't solve the anchor; without the anchor's the load step waits out the solve), play it + with airops-llm on the gateway's clock frozen at the first watch, end the day and grade it.""" + day = Day(task) + refs = {k: v for k, v in (("anchor", anchor), ("follower", follower)) if v is not None} + solve = {} if anchor is not None else {"timeout_seconds": int(references.TIME_LIMIT) + LOAD_SLACK} + return [ + {"id": "deploy", "type": "deploy_env", "env_id": ENV}, + {"id": "load-task", "type": "apply_server_config", "env_id": ENV, + "directives": [{"service": ENV, "uri": LIVE_LOAD_URI, "args": {"task_id": task.task_id, **refs}}], **solve}, + {"id": "deploy-agent", "type": "deploy_agent", "a2a_agent_id": AGENT, "env_ids": [ENV]}, + {"id": "clock", "type": "sync_env_clock", "env_id": ENV, "virtual_time": virtual_time(task, day.t), + "virtual_seconds_per_real_second": 0, "tolerate_missing_sync_time": False}, + {"id": "play", "type": "prompt_agent", "prompt_id": task.task_id, "system_prompt": rules(task), + "prompt": briefing(day), "max_turns": max_turns(day), "model_params": {"max_tokens": 32000}, + "timeout_seconds": 7200}, + {"id": "end-day", "type": "apply_server_config", "env_id": ENV, + "directives": [{"service": ENV, "uri": END_DAY_URI, "args": {}}]}, + {"id": "grade", "type": "env_outcome_verifier", "env_id": ENV, "file_artifact_id": VERIFIER, + "verifier_id": "airops", "score_aggregator": "weighted_average"}, + ] + + +def noplay_steps(task: Task, anchor: int | None = None, follower: int | None = None) -> list[dict]: + return [s for s in steps(task, anchor, follower) if s["id"] not in ("deploy-agent", "play")] + + +def pack_refs(pack: Path | None = None) -> tuple[list[Task], dict[str, dict]]: + """The pack's tasks (data/b6-v3 by default) and its stored reference costs (refs.json beside them, if any).""" + path = Path(str(pack or PACK)) + folder = path if path.is_dir() else path.parent + refs = folder / REFS_FILE + return load_tasks(path), json.loads(refs.read_text()) if refs.is_file() else {} + + +def generate(out: Path, *, task_ids: list[str] | None = None, split: str = "eval", pack: Path | None = None, + noplay: bool = False) -> list[str]: + """Writes the bundle into `out`: README.md, the verifier (v1's, which reads the day's done, audit and reward) and + tasks/.json for `task_ids`, else every task of `split`, in the pack's order, each with the costs the + pack stored for it; with `noplay`, the first one's steps without the agent too.""" + tasks, refs = pack_refs(pack) + chosen = [t for t in tasks if (t.task_id in task_ids if task_ids is not None else split in ("all", t.split))] + _write(out / "README.md", README.encode()) + _write(out / "artifacts" / VERIFIER / "verify.py", (V1_BUNDLE / "artifacts" / VERIFIER / "verify.py").read_bytes()) + names = [] + for task in chosen: + costs = stored(task, refs) + _write(out / "tasks" / f"{task.task_id}.json", _dump(steps(task, costs.get("anchor"), costs.get("follower")))) + names.append(task.task_id) + if noplay and chosen: + costs = stored(chosen[0], refs) + _write(out / "tasks" / f"{NOPLAY}.json", _dump(noplay_steps(chosen[0], costs.get("anchor"), + costs.get("follower")))) + names.append(NOPLAY) + return names + + +def _dump(obj) -> bytes: + return (json.dumps(obj, indent=2, ensure_ascii=False) + "\n").encode() + + +def _write(path: Path, data: bytes) -> None: + path.parent.mkdir(parents=True, exist_ok=True) + path.write_bytes(data) diff --git a/tests/hub/test_hub_dataset.py b/tests/hub/test_hub_dataset.py index c251299..c7698b5 100644 --- a/tests/hub/test_hub_dataset.py +++ b/tests/hub/test_hub_dataset.py @@ -29,6 +29,7 @@ from agentenv_airops.occ.day import reward as occ_reward from agentenv_airops.occ.pack import Pack from agentenv_airops.schedule import TOOLS, max_turns, timetable +from agentenv_airops.v3day import tasks as v3_tasks ROOT = Path(__file__).resolve().parents[2] FIXTURES = ROOT / "tests" / "fixtures" / "tasks.jsonl" @@ -186,6 +187,13 @@ def test_a_dry_build_without_a_sweep_has_the_days_the_bundle_and_no_runs(hub, lo assert {m: {s["env_vars"]["AIROPS_MAX_COST_USD"] for s in found if s["type"] == "deploy_agent"} for m, found in steps.items()} == {"joint": {"5"}, "one": {"8"}} assert parse_bundle(out / "bundles/airops-occ").id_root and (out / "bundles/airops-occ/README.md").is_file() + assert data["agentenv"]["bundles"]["airops-v3"] == {"plugins": [PLUGIN], + "setup": "agent-env airops-v3 setup --agent"} + packaged = Path(str(v3_tasks.BUNDLE)) + assert {p.relative_to(out / "bundles/airops-v3").as_posix(): p.read_bytes() + for p in (out / "bundles/airops-v3").rglob("*") if p.is_file()} == { + p.relative_to(packaged).as_posix(): p.read_bytes() for p in packaged.rglob("*") if p.is_file()} + assert parse_bundle(out / "bundles/airops-v3").id_root assert [r["task_id"] for r in _rows(out, "tasks/v2-eval.parquet")] == [OCC_EVAL] assert not list(out.glob("episodes/v2-*")) and not list(out.glob("desks/*")) diff --git a/tests/programs/day_helpers.py b/tests/programs/day_helpers.py index ee6a0fd..8514e73 100644 --- a/tests/programs/day_helpers.py +++ b/tests/programs/day_helpers.py @@ -10,10 +10,12 @@ from agentenv_airops.programs import network from agentenv_airops.programs.advisories import HUBS, Advisory, Stop from agentenv_airops.programs.model import ( + EXTENSION, Busy, Connection, Crew, Flight, + Layers, Move, Outcome, Programs, @@ -83,6 +85,81 @@ def three_into_a_program(**kw) -> Task: segments=(GDP,)) +def capped(task: Task, caps: dict[str, dict[int, int]]) -> Task: + """The task with departure caps per station and hour as its only layer.""" + return replace(task, layers=Layers(dep_caps=caps)) + + +def capped_day() -> Task: + """Five departures from JFK, two of them on aircraft landing from a GDP with slots at 180, 200 and 260, under a + departure cap of one in hour 2 and two in hour 3.""" + flights = [flight(0, "BUF", "JFK", 100, 60), flight(1, "DCA", "JFK", 110, 60, pax=60), + flight(2, "JFK", "MCO", 125, 150, pax=180), flight(3, "JFK", "BUF", 130, 60, pax=50), + flight(4, "JFK", "DCA", 150, 60, pax=120), flight(5, "JFK", "PWM", 200, 70), + flight(6, "JFK", "BUF", 215, 60, pax=90)] + tails = [tail("N1", "BUF", end="PWM"), tail("N2", "DCA", end="BUF"), tail("N3", "JFK", end="MCO"), + tail("N4", "JFK", end="BUF"), tail("N5", "JFK", end="DCA")] + return capped(day(flights, tails, segments=(segment("g", 0, 1000, 150, 400, (180, 200, 260)),)), + {"JFK": {2: 1, 3: 2}}) + + +def shared_hour_day() -> Task: + """BOS into JFK's GDP (slots 130 and 200) and BOS to DCA, both ready in hour 1, which BOS caps at one departure: + the slotted one takes the hour.""" + return capped(day([flight(0, "BOS", "JFK", 60, 60), flight(1, "BOS", "DCA", 75, 60)], + [tail("N1", "BOS", end="JFK"), tail("N2", "BOS", end="DCA")], + segments=(segment("g", 0, 1000, 100, 400, (130, 200)),)), {"BOS": {1: 1}}) + + +def late_pin_day() -> Task: + """N1 is ready at JFK at 190 for flight 1, which a plan may pin to have left at 170 (hour 2); N2 is ready there + at 230 for flight 2 at 235 (hour 3). JFK caps hours 2 and 3 at one departure each.""" + flights = [flight(0, "BUF", "JFK", 100, 60), flight(1, "JFK", "DCA", 170, 60), + flight(2, "JFK", "BUF", 235, 60), flight(3, "DCA", "JFK", 140, 60)] + return capped(day(flights, [tail("N1", "BUF", end="DCA"), tail("N2", "DCA", end="BUF")]), {"JFK": {2: 1, 3: 1}}) + + +def two_from_jfk() -> Task: + """Two departures from JFK ready in hour 1, which JFK caps at one.""" + return capped(day([flight(0, "JFK", "BUF", 60, 60), flight(1, "JFK", "DCA", 65, 60)], + [tail("N1", "JFK", end="BUF"), tail("N2", "JFK", end="DCA")]), {"JFK": {1: 1}}) + + +def closed(task: Task, closures: dict[str, tuple[tuple[int, int, int, int], ...]], + rates: dict[str, float] | None = None) -> Task: + """The task with ramp closures per station (start, end, dep_cap, arr_cap), and the closure rates per station that + price one under way on the day as known, added to any layer it carries.""" + layers = task.layers or Layers() + return replace(task, layers=replace(layers, closures=closures, rates=layers.rates | (rates or {}))) + + +def closed_day(arr_cap: int = 2) -> Task: + """JFK's ramp is closed 120-180 with room for one departure and `arr_cap` arrivals (rate 0.5 as known): N1, N2 + and N3 are ready there for flights 0, 1 and 2 at 120, 130 and 140. N4 lands from BUF at 160 and N5 from DCA at + 170, both inside the closure, for flights 4 to PWM at 200 and 6 to BUF at 210.""" + flights = [flight(0, "JFK", "BUF", 120, 60), flight(1, "JFK", "DCA", 130, 60, pax=60), + flight(2, "JFK", "MCO", 140, 150, pax=180), flight(3, "BUF", "JFK", 100, 60), + flight(4, "JFK", "PWM", 200, 70), flight(5, "DCA", "JFK", 110, 60, pax=80), + flight(6, "JFK", "BUF", 210, 60)] + tails = [tail("N1", "JFK", end="BUF"), tail("N2", "JFK", end="DCA"), tail("N3", "JFK", end="MCO"), + tail("N4", "BUF", end="PWM"), tail("N5", "DCA", end="BUF")] + return closed(day(flights, tails), {"JFK": ((120, 180, 1, arr_cap),)}, {"JFK": 0.5}) + + +def outcapped(task: Task, caps: dict[str, dict[int, int]]) -> Task: + """The task with arrival caps per outstation and hour, added to any layer it carries.""" + return replace(task, layers=replace(task.layers or Layers(), arr_caps=caps)) + + +def outcapped_day() -> Task: + """N1 lands at BUF from JFK at 120 and N2 from DCA at 130, both in hour 2, which BUF caps at one arrival; N3 lands + at PWM, uncapped, at 125.""" + flights = [flight(0, "JFK", "BUF", 60, 60), flight(1, "DCA", "BUF", 70, 60, pax=60), + flight(2, "JFK", "PWM", 55, 70)] + tails = [tail("N1", "JFK", end="BUF"), tail("N2", "DCA", end="BUF"), tail("N3", "JFK", end="PWM")] + return outcapped(day(flights, tails), {"BUF": {2: 1}}) + + def shortened(task: Task, slack: int = 150) -> Task: """The task with every deadline at most `slack` after the earliest departure, to keep a test's MIP small.""" return replace(task, flights=tuple(replace(f, deadline=min(f.deadline, task.earliest(f, f.lb) + slack)) @@ -214,3 +291,34 @@ def random_day(rng: random.Random, n_tails: int = 3) -> Task: return replace(task, tails=tuple(replace(t, connections=tuple( Connection(a, b, rng.randrange(0, 2 * TURN)) for a, b in zip(t.legs, t.legs[1:], strict=False) if task.flight(a).dest == task.flight(b).orig and rng.random() < 0.6)) for t in task.tails)) + + +def based(f: Flight, deadline: int) -> Flight: + """f leaving a crew base on a pairing whose crew deadline, with a finite reserve pool there, is `deadline`.""" + report = f.sched_dep - 45 + return replace(f, crew=Crew(f"{f.actual.tail}/0", report, f.orig, 2, deadline - report - EXTENSION + f.sched_block, + None, None)) + + +def reserved(task: Task, pools: dict[str, int]) -> Task: + """The task with a reserve pool per crew base, added to any layer it carries.""" + return replace(task, layers=replace(task.layers or Layers(), reserves=pools)) + + +def reserve_day() -> Task: + """Two JFK departures held past their crew deadline (150) by a known delay, their rest ending past their deadline + (700), and a PWM departure whose outstation crew must leave by 480; JFK's pool holds one reserve.""" + flights = [based(flight(0, "JFK", "BUF", 100, 60, lb=100, deadline=700), 150), + based(flight(1, "JFK", "PWM", 105, 70, pax=120, lb=100, deadline=700), 150), + crewed(flight(2, "PWM", "JFK", 400, 70, deadline=640), 480)] + return reserved(day(flights, [tail("N1", "JFK", end="BUF"), tail("N2", "JFK", end="JFK")]), {"JFK": 1}) + + +def with_crews(task: Task, rng: random.Random, pools: dict[str, int]) -> Task: + """The task with a crew on every flight, its crew deadline 0-150 after its scheduled departure (from a hub, a + base with a pool of `pools`), and those pools.""" + flights = [] + for f in task.flights: + d = f.sched_dep + rng.randrange(0, 150) + flights.append(based(f, d) if f.orig in HUBS else crewed(f, d)) + return reserved(replace(task, flights=tuple(flights)), pools) diff --git a/tests/programs/test_calibrate.py b/tests/programs/test_calibrate.py new file mode 100644 index 0000000..609a7e9 --- /dev/null +++ b/tests/programs/test_calibrate.py @@ -0,0 +1,142 @@ +from dataclasses import replace + +import pandas as pd +from day_helpers import based, crewed, day, flight, tail + +from agentenv_airops.programs import references +from agentenv_airops.programs.candidates import midnight +from agentenv_airops.programs.layers import calibrate, config +from agentenv_airops.programs.model import Outcome + +DATE = "2024-01-01" + + +def flew(i: int, orig: str, dest: str, sched: int, dep: int, tail_: str, deadline: int = 700): + """A base departure on a pairing whose crew deadline is 150, JetBlue leaving at `dep`.""" + return based(flight(i, orig, dest, sched, 60, deadline=deadline, + actual=Outcome(False, False, "", dep, dep + 60, dest, tail_)), 150) + + +def two_late_at_jfk(): + """JetBlue flew two JFK departures past their crew deadline (their rest ending past their deadline, so one without + a reserve auto-cancels) and one before it, and one BOS departure past it whose rest ends before its deadline (900): + without a reserve it waits out the rest and still flies.""" + flights = [flew(0, "JFK", "BUF", 100, 200, "N1"), flew(1, "JFK", "PWM", 105, 205, "N2"), + flew(2, "JFK", "DCA", 110, 120, "N3"), flew(3, "BOS", "BUF", 100, 200, "N4", deadline=900)] + tails = [tail("N1", "JFK", end="BUF"), tail("N2", "JFK", end="PWM"), tail("N3", "JFK", end="DCA"), + tail("N4", "BOS", end="BUF")] + return replace(day(flights, tails), bases=("BOS", "JFK"), base=midnight(DATE), date=DATE) + + +def with_on_time(task, n: int): + """The task with n more flights JetBlue flew on time, outstation to outstation without a crew deadline, so its + airline replay counts n more flights and auto-cancels none of them.""" + fill = [flight(len(task.flights) + k, "BUF", "PWM", 300 + k, 60, + actual=Outcome(False, False, "", 300 + k, 360 + k, "PWM", f"F{k}")) for k in range(n)] + return replace(task, flights=(*task.flights, *fill), + tails=(*task.tails, *(tail(f"F{k}", "BUF", end="PWM") for k in range(n)))) + + +def three_late_at_jfk(): + """two_late_at_jfk with a third JFK departure flown past its crew deadline, its rest ending past its deadline.""" + t = two_late_at_jfk() + return replace(t, flights=(*t.flights, flew(4, "JFK", "MCO", 115, 210, "N5")), + tails=(*t.tails, tail("N5", "JFK", end="MCO"))) + + +def one_late_at_jfk(): + t = two_late_at_jfk() + return replace(t, date="2024-01-02", base=midnight("2024-01-02"), + flights=(t.flights[0], replace(t.flights[1], actual=replace(t.flights[1].actual, dep=120, arr=190)), + *t.flights[2:])) + + +def late_at_bos_turning_at_jfk(): + """JetBlue flew a BOS departure past its crew deadline (150) and the aircraft's next leg out of JFK on time, before + that leg's crew deadline (400). Denied a reserve, the BOS crew waits out its rest (to 750) and still flies, so the + JFK leg leaves at 840: on unlimited JFK reserves it flies, but on a JFK pool its crew rests to 1000, past its + deadline (900), and it auto-cancels.""" + flights = [flew(0, "BOS", "JFK", 100, 200, "N1", deadline=900), + based(flight(1, "JFK", "BUF", 300, 60, deadline=900, + actual=Outcome(False, False, "", 300, 360, "BUF", "N1")), 400)] + return replace(day(flights, [tail("N1", "BOS", end="BUF")]), bases=("BOS", "JFK"), base=midnight(DATE), date=DATE) + + +def test_a_pool_that_loses_a_flight_only_with_another_bases_pool_lifts_the_bases_to_that_dates_calls(): + task = late_at_bos_turning_at_jfk() + assert calibrate.least(task) == ({"BOS": 0, "JFK": 0}, {"BOS": 1, "JFK": 0}) + assert calibrate.auto(task, {"BOS": 0, "JFK": 0}) == 1 > calibrate.auto(task, {}) == 0 + pools = calibrate.pools([task]) + assert pools == {"BOS": 1, "JFK": 0} and calibrate.auto(task, pools) == 0 + + +def test_a_bases_pool_is_the_smallest_that_keeps_the_replay_within_g1s_share_and_count_of_auto_cancels(): + """Two JFK crews JetBlue flew late need a reserve each to fly. Among 104 counted flights one auto-cancel is within + 1% and two are not, so JFK needs one reserve; among 204 two are within both, so it needs none; three late among + 305 are within 1% but over two, so it needs one.""" + small, large, three = with_on_time(two_late_at_jfk(), 100), with_on_time(two_late_at_jfk(), 200), \ + with_on_time(three_late_at_jfk(), 300) + assert [references.airline(t).flew for t in (small, large, three)] == [104, 204, 305] + assert [calibrate.auto(t, {"JFK": 0}) for t in (small, large, three)] == [2, 2, 3] + assert calibrate.least(small) == ({"BOS": 0, "JFK": 1}, {"BOS": 1, "JFK": 2}) + assert calibrate.least(large) == ({"BOS": 0, "JFK": 0}, {"BOS": 1, "JFK": 2}) + assert calibrate.least(three) == ({"BOS": 0, "JFK": 1}, {"BOS": 1, "JFK": 3}) + assert calibrate.pools([large]) == {"BOS": 0, "JFK": 0} + assert calibrate.pools([large, small]) == calibrate.pools([three]) == {"BOS": 0, "JFK": 1} + assert calibrate.auto(small, {"JFK": 1}) == 1 and calibrate.auto(three, {"JFK": 1}) == 2 + + +def test_two_bases_within_g1_alone_but_not_together_are_lifted_to_that_dates_calls(): + """A late JFK crew and a late BOS crew, each one whose rest ends past its deadline: among 150 counted flights + either base alone at 0 auto-cancels one (within 1%), together two (over 1%), so the date lifts both to its calls.""" + t = with_on_time(replace(day([flew(0, "JFK", "BUF", 100, 200, "N1"), flew(1, "BOS", "BUF", 100, 200, "N2")], + [tail("N1", "JFK", end="BUF"), tail("N2", "BOS", end="BUF")]), + bases=("BOS", "JFK"), base=midnight(DATE), date=DATE), 148) + assert references.airline(t).flew == 150 + assert calibrate.least(t) == ({"BOS": 0, "JFK": 0}, {"BOS": 1, "JFK": 1}) + assert calibrate.auto(t, {"BOS": 0}) == calibrate.auto(t, {"JFK": 0}) == 1 < calibrate.auto(t, {"BOS": 0, "JFK": 0}) + assert calibrate.pools([t]) == {"BOS": 1, "JFK": 1} + + +def test_a_date_out_of_g1_even_with_unlimited_reserves_holds_the_pool_to_no_more_auto_cancels_than_that(): + """A late JFK crew and an outstation crew JetBlue flew past its crew deadline, which auto-cancels whatever the + pool: on two flights that one is already out of G1, so the pool only has to keep the replay at it.""" + away = crewed(flight(1, "BUF", "PWM", 100, 60, deadline=300, + actual=Outcome(False, False, "", 200, 260, "PWM", "N2")), 150) + t = replace(day([flew(0, "JFK", "BUF", 100, 200, "N1"), away], + [tail("N1", "JFK", end="BUF"), tail("N2", "BUF", end="PWM")]), + bases=("BOS", "JFK"), base=midnight(DATE), date=DATE) + assert references.airline(t).flew == 2 and calibrate.auto(t, {}) == 1 < calibrate.auto(t, {"JFK": 0}) + assert calibrate.least(t) == ({"BOS": 0, "JFK": 1}, {"BOS": 0, "JFK": 1}) + assert calibrate.pools([t]) == {"BOS": 0, "JFK": 1} + + +def test_on_a_few_flights_g1_allows_no_auto_cancel_and_a_bases_pool_is_the_largest_over_the_dates(): + two, one = two_late_at_jfk(), one_late_at_jfk() + assert calibrate.least(two) == ({"BOS": 0, "JFK": 2}, {"BOS": 1, "JFK": 2}) + assert calibrate.least(one) == ({"BOS": 0, "JFK": 1}, {"BOS": 1, "JFK": 1}) + assert calibrate.auto(two, {"JFK": 1}) == 1 > calibrate.auto(two, {}) == 0 == calibrate.auto(two, {"BOS": 0}) + pools = calibrate.pools([two, one]) + assert pools == {"BOS": 0, "JFK": 2} + for t in (two, one): + assert references.airline(calibrate.pooled(t, pools)).run.flights[0].status == "flown" + assert calibrate.auto(t, pools) == calibrate.auto(t, {}) + + +def test_the_fit_rates_closures_on_the_train_dates_alone_and_pools_reserves_on_the_layered_train_tasks(): + """JFK pushed back 10 in the hour before a closure on the train date and 7 inside it; a closure on another date + (2 before, 2 inside) is left out. The cap clauses stay at 0.9 and 5.""" + train, other = midnight(DATE), midnight("2024-01-05") + spans = {"JFK": [(train + 600, train + 660), (other + 600, other + 660)], "BOS": []} + pushed = pd.DataFrame([("JFK", float(a + 600 + k)) for a, n_before, n_in in ((train, 10, 7), (other, 2, 2)) + for k in [*range(-60, -60 + n_before), *range(n_in)]], columns=["Origin", "act_dep"]) + empty = pd.DataFrame(columns=["Origin", "Dest", "sched_dep", "act_dep", "sched_arr", "act_arr"], dtype=float) + tasks = [two_late_at_jfk(), one_late_at_jfk()] + cfg = calibrate.fit([DATE, "2024-01-02"], tasks, lambda d: empty, spans, pushed) + assert cfg.rate == {"JFK": 0.7} and (cfg.short, cfg.min_sched) == (0.9, 5) + assert cfg.dates == ("2024-01-01", "2024-01-02") + layered = [replace(t, layers=config.build(t, replace(cfg, reserves={}), empty, spans)) for t in tasks] + assert layered[0].layers.closures == {"JFK": ((600, 660, 0, 0),)} + assert cfg.reserves == calibrate.pools(layered) == {"BOS": 0, "JFK": 2} + assert config.Config.from_dict(cfg.to_dict()) == cfg + assert calibrate.fit(["2024-01-02"], tasks, lambda d: empty, spans, pushed).reserves == {"BOS": 0, "JFK": 1} diff --git a/tests/programs/test_closures.py b/tests/programs/test_closures.py new file mode 100644 index 0000000..b83dc58 --- /dev/null +++ b/tests/programs/test_closures.py @@ -0,0 +1,223 @@ +import csv +from dataclasses import replace +from datetime import UTC, datetime + +import pandas as pd +import pytest +from day_helpers import closed, day, flight, tail +from program_helpers import SLICE + +from agentenv_airops.build import bts +from agentenv_airops.flow import sources +from agentenv_airops.programs import references +from agentenv_airops.programs.candidates import midnight +from agentenv_airops.programs.layers import closures +from agentenv_airops.programs.model import Outcome + + +def at(s: str) -> int: + return bts.epoch_minutes(datetime.strptime(s, "%Y-%m-%d %H:%M").replace(tzinfo=UTC)) + + +def reports(path, rows): + with open(path, "w", newline="") as fh: + w = csv.writer(fh) + w.writerow(["station", "valid", "wxcodes", "metar"]) + for station, valid, wx, remarks in rows: + w.writerow([station, valid, wx, f"K{station} 000000Z 10SM {wx} A2990 RMK {remarks}"]) + return path + + +ROUTINE = [("JFK", "2024-06-14 21:51", "", "AO2"), + ("JFK", "2024-06-14 22:51", "TS", "AO2 LTG DSNT SW TSB47"), + ("JFK", "2024-06-14 23:51", "+TSRA", "AO2"), + ("JFK", "2024-06-15 00:51", "RA", "AO2 LTG DSNT NE TSE10"), + ("JFK", "2024-06-15 01:51", "VCTS", "AO2 LTG DSNT ALQDS"), + ("JFK", "2024-06-15 02:51", "TS", "AO2"), + ("JFK", "2024-06-15 03:51", "", "AO2"), + ("JFK", "2024-06-15 04:51", "", "AO2 TSB0412E0430"), + ("BOS", "2024-06-15 00:51", "TS", "AO2 TSB30")] +SPECI = [("JFK", "2024-06-15 02:20", "TS", "AO2 TSB18"), + ("JFK", "2024-06-15 03:05", "", "AO2 TSE03")] + + +def test_intervals_read_ts_at_the_field_from_its_begin_and_end_remarks_and_skip_vcts(tmp_path): + metar = reports(tmp_path / "JFK_2024_06.csv", ROUTINE) + assert closures.intervals("JFK", [metar], [tmp_path / "missing.csv"]) == [ + (at("2024-06-14 22:47"), at("2024-06-15 00:10")), (at("2024-06-15 02:51"), at("2024-06-15 03:51")), + (at("2024-06-15 04:12"), at("2024-06-15 04:30"))] + + +def test_intervals_take_onset_and_end_to_the_minute_from_the_specis(tmp_path): + metar = reports(tmp_path / "metar.csv", ROUTINE) + speci = reports(tmp_path / "speci.csv", SPECI) + assert closures.intervals("JFK", [metar], [speci]) == [ + (at("2024-06-14 22:47"), at("2024-06-15 00:10")), (at("2024-06-15 02:18"), at("2024-06-15 03:03")), + (at("2024-06-15 04:12"), at("2024-06-15 04:30"))] + assert closures.intervals("BOS", [metar], [speci]) == [(at("2024-06-15 00:30"), at("2024-06-15 00:51"))] + + +def test_intervals_on_the_slice_close_one_still_open_at_the_last_report(): + month = "2023-06" + metar = SLICE / "iem" / "metar" / "JFK_2023_06.csv" + assert not sources.speci_path(SLICE, "JFK", month).exists() + assert closures.intervals("JFK", [metar], [sources.speci_path(SLICE, "JFK", month)]) == [ + (at("2023-06-26 14:29"), at("2023-06-26 15:00")), (at("2023-06-27 05:16"), at("2023-06-27 05:51"))] + + +def leaving(i: int, orig: str, dep: int, pushed: int | None): + f = flight(i, orig, "BUF", dep, 60) + return replace(f, actual=replace(f.actual, cancelled=pushed is None, dep=pushed, arr=None)) + + +def test_build_caps_each_closure_at_the_rate_of_jetblues_normal_hourly_departures_never_below_what_it_pushed_back(): + """JFK closed 600-660: 4 scheduled in hour 10, 1 pushed back inside, 0.5 x 4/h x 1 h = 2. Closed 700-760: 1 + scheduled in hours 11-12, 2 pushed back inside (flight 2, late, and flight 4), so 2. One before the first watch and + one past the span drop. BOS closes 650-700 with no JetBlue flight scheduled inside it but 3 in hours 10-11, all + pushed back before it: 0.75 x 1.5/h x 50/60 h = 0.94, so 1 (to the nearest flight, not down).""" + base = 1_000_000 + flights = [leaving(0, "JFK", 600, 605), leaving(1, "JFK", 610, 680), leaving(2, "JFK", 620, 700), + leaving(3, "JFK", 650, None), leaving(4, "JFK", 720, 725), leaving(5, "BOS", 600, 600), + leaving(6, "BOS", 610, 610), leaving(7, "BOS", 615, 615)] + task = replace(day(flights, [tail("N1", "JFK")], start=300), base=base) + spans = {"JFK": [(base + 100, base + 200), (base + 600, base + 660), (base + 700, base + 760), + (base + 5000, base + 5100)], "BOS": [(base + 650, base + 700)]} + assert closures.build(task, spans, {"JFK": 0.5, "BOS": 0.75}) == { + "JFK": ((600, 660, 2, 0), (700, 760, 2, 0)), "BOS": ((650, 700, 1, 0),)} + assert closures.build(task, spans, {"JFK": 1.0, "BOS": 0.75})["JFK"] == ((600, 660, 4, 0), (700, 760, 2, 0)) + assert closures.build(task, spans, {"JFK": 1.0, "BOS": 0.25})["BOS"] == ((650, 700, 0, 0),) + + +def landing(i: int, dest: str, arr: int, gated: int | None, end: str | None = None): + f = flight(i, "BUF", dest, arr - 60, 60) + return replace(f, actual=replace(f.actual, cancelled=gated is None, dep=None if gated is None else gated - 60, + arr=gated, end=None if gated is None else end or dest)) + + +def test_build_caps_each_closures_gate_ins_at_the_rate_of_jetblues_normal_hourly_arrivals_never_below_what_arrived(): + """JFK closed 600-660: 5 scheduled to arrive in hour 10 (flight 3 cancelled), and 5 arrive inside as the sim times + them, at pushback plus truth block: flights 0, 1, 2, 4 (scheduled at 580, late) and 5, which diverted to EWR but + the sim flies to JFK. At 0.5, 0.5 x 5/h x 1 h = 2.5, so 3, floored at 5; at 2.0, 10. Flight 6, scheduled into BOS + and diverted to JFK, arrives inside at neither. BOS closes 650-680 with no arrival scheduled inside but 4 in hours + 10-11: 0.75 x 2/h x 0.5 h = 0.75, so 1.""" + base = 1_000_000 + flights = [landing(0, "JFK", 600, 610), landing(1, "JFK", 620, 630), landing(2, "JFK", 640, 650), + landing(3, "JFK", 650, None), landing(4, "JFK", 580, 655), landing(5, "JFK", 630, 640, "EWR"), + landing(6, "BOS", 600, 620, "JFK"), landing(7, "BOS", 610, 610), landing(8, "BOS", 615, 615), + landing(9, "BOS", 620, 620)] + task = replace(day(flights, [tail("N1", "BUF")], start=300), base=base) + spans = {"JFK": [(base + 600, base + 660)], "BOS": [(base + 650, base + 680)]} + assert closures.build(task, spans, {"JFK": 0.5, "BOS": 0.75}) == { + "JFK": ((600, 660, 0, 5),), "BOS": ((650, 680, 0, 1),)} + assert closures.build(task, spans, {"JFK": 2.0, "BOS": 0.75})["JFK"] == ((600, 660, 0, 10),) + + +def test_fit_rate_is_every_carriers_pushbacks_inside_over_the_same_minutes_before_on_the_dates_given(): + """JFK closes 30 min on the 14th: 3 pushbacks inside, 4 in the 30 min before; its closure on the 15th, and BOS's + with nothing before it, don't count.""" + a = midnight("2024-06-14") + 1200 + b = midnight("2024-06-15") + 1200 + rows = [("JFK", a + k) for k in (2, 9, 20)] + [("JFK", a - 30 + k) for k in (0, 5, 10, 29)] + [("JFK", a - 31)] + rows += [("JFK", b + k) for k in range(20)] + [("JFK", float("nan")), ("BOS", a + 1)] + frame = pd.DataFrame(rows, columns=["Origin", "act_dep"]) + spans = {"JFK": [(a, a + 30), (b, b + 30)], "BOS": [(a, a + 10)]} + assert closures.fit_rate(["2024-06-14"], frame, spans) == {"JFK": 0.75} + assert closures.fit_rate(["2024-06-14", "2024-06-15"], frame, spans) == {"JFK": 23 / 4} + + +def test_fit_rate_leaves_out_a_closure_whose_minutes_before_reach_into_another(): + """A steady pushback a minute, one every two inside closures 100-160 and 170-230: the second's 60 minutes before + hold the first closure, so only the first counts.""" + m = midnight("2024-06-14") + deps = [m + t for t in range(400) if not ((100 <= t < 160 or 170 <= t < 230) and t % 2)] + frame = pd.DataFrame({"Origin": "JFK", "act_dep": [float(x) for x in deps]}) + spans = {"JFK": [(m + 100, m + 160), (m + 170, m + 230)]} + assert closures.fit_rate(["2024-06-14"], frame, spans) == {"JFK": 0.5} + + +def test_an_end_remark_older_than_the_open_closure_belongs_to_an_earlier_storm(tmp_path): + """BOS 2024-06-14 as reported: TSB22 at 17:24, "TSE13B24" at 17:40 and 17:54, TS until TSE36 at 18:36.""" + rows = [("BOS", "2024-06-14 16:54", "", "AO2 LTG DSNT W"), + ("BOS", "2024-06-14 17:24", "TS", "AO2 TSB22"), + ("BOS", "2024-06-14 17:40", "+TSRA", "AO2 RAB30 TSE13B24"), + ("BOS", "2024-06-14 17:54", "TSRA BR", "AO2 RAB30 TSE13B24"), + ("BOS", "2024-06-14 18:36", "", "AO2 RAE36 TSE36")] + assert closures.intervals("BOS", [reports(tmp_path / "m.csv", rows)]) == [ + (at("2024-06-14 17:22"), at("2024-06-14 18:36"))] + + +def test_a_remark_minute_past_its_reports_is_in_the_hour_or_day_before(tmp_path): + """TSB55 in the 00:51 report began at 23:55 the day before; TSE2358 in the 00:20 report ended at 23:58.""" + rows = [("JFK", "2024-06-15 00:51", "TS", "AO2 TSB55"), ("JFK", "2024-06-15 01:51", "", "AO2 TSE20"), + ("BOS", "2024-06-14 23:51", "TS", "AO2"), ("BOS", "2024-06-15 00:20", "", "AO2 TSE2358")] + path = reports(tmp_path / "m.csv", rows) + assert closures.intervals("JFK", [path]) == [(at("2024-06-14 23:55"), at("2024-06-15 01:20"))] + assert closures.intervals("BOS", [path]) == [(at("2024-06-14 23:51"), at("2024-06-14 23:58"))] + + +def test_build_names_a_closed_hub_that_fit_rate_gave_no_rate(): + """fit_rate gives BOS no rate (nothing pushed back before its closure); building a task over that closure says so + rather than failing on a bare key, and a hub with no closure over the task needs no rate.""" + m = midnight("2024-06-14") + frame = pd.DataFrame({"Origin": ["JFK", "JFK"], "act_dep": [float(m + 50), float(m + 105)]}) + spans = {"JFK": [(m + 100, m + 160)], "BOS": [(m + 100, m + 160)]} + rate = closures.fit_rate(["2024-06-14"], frame, spans) + assert rate == {"JFK": 1.0} + task = replace(day([flight(0, "JFK", "BUF", 120, 60), flight(1, "BOS", "JFK", 120, 60)], + [tail("N1", "JFK"), tail("N2", "BOS")]), base=m) + with pytest.raises(ValueError, match="BOS"): + closures.build(task, spans, rate) + assert closures.build(task, {"JFK": spans["JFK"], "BOS": [(m + 5000, m + 5100)]}, rate) == { + "JFK": ((100, 160, 1, 0),)} + + +def test_the_airline_replay_of_a_recorded_turn_inside_a_built_closure_flies_as_on_the_open_day(): + """N4 landed from BUF at 160 and pushed back for PWM at 195, both inside JFK's closure 150-220: the floors keep + both inside its caps, so the replay is the open day's (a gate hold to 220 took it from 670 to 19740).""" + base = 1_000_000 + task = replace(day([flight(3, "BUF", "JFK", 100, 60, actual=Outcome(False, False, "", 100, 160, "JFK", "N4")), + flight(4, "JFK", "PWM", 190, 70, actual=Outcome(False, False, "", 195, 265, "PWM", "N4"))], + [tail("N4", "BUF", end="PWM")]), base=base) + shut = closed(task, closures.build(task, {"JFK": [(base + 150, base + 220)]}, {"JFK": 0.75})) + assert shut.layers.closures == {"JFK": ((150, 220, 1, 1),)} + held, open_ = references.airline(shut), references.airline(task) + assert held.auto == open_.auto == 0 and held.run.cost == open_.run.cost and held.run.rows() == open_.run.rows() + + +def test_the_airline_replay_of_a_diversion_the_sim_lands_inside_a_built_closure_flies_as_on_the_open_day(): + """Flight 5 left DCA at 92 and diverted to EWR, but the replay flies it to JFK, landing at 152, inside JFK's + closure 150-220 with N4's recorded gate-in at 160: the floor counts both, so neither is held.""" + base = 1_000_000 + task = replace(day([flight(3, "BUF", "JFK", 100, 60, actual=Outcome(False, False, "", 100, 160, "JFK", "N4")), + flight(4, "JFK", "PWM", 190, 70, actual=Outcome(False, False, "", 195, 265, "PWM", "N4")), + flight(5, "DCA", "JFK", 90, 60, actual=Outcome(False, True, "", 92, 175, "EWR", "N5"))], + [tail("N4", "BUF", end="PWM"), tail("N5", "DCA", end="JFK")]), base=base) + shut = closed(task, closures.build(task, {"JFK": [(base + 150, base + 220)]}, {"JFK": 0.0})) + assert shut.layers.closures == {"JFK": ((150, 220, 1, 2),)} + held, open_ = references.airline(shut), references.airline(task) + assert held.run.cost == open_.run.cost and held.run.rows() == open_.run.rows() + + +def test_the_airline_replay_of_a_held_taxi_the_sim_lands_inside_a_built_closure_flies_as_on_the_open_day(): + """Flight 3 left BUF at 100 and gated in at JFK at 175 after a held taxi-out its truth block of 60 leaves out, so + the replay lands it at 160, inside JFK's closure 150-170 though its gate-in is past it: the floor counts it.""" + base = 1_000_000 + task = replace(day([flight(3, "BUF", "JFK", 100, 60, actual=Outcome(False, False, "", 100, 175, "JFK", "N4")), + flight(4, "JFK", "PWM", 190, 70, actual=Outcome(False, False, "", 190, 260, "PWM", "N4"))], + [tail("N4", "BUF", end="PWM")]), base=base) + shut = closed(task, closures.build(task, {"JFK": [(base + 150, base + 170)]}, {"JFK": 0.0})) + assert shut.layers.closures == {"JFK": ((150, 170, 0, 1),)} + held, open_ = references.airline(shut), references.airline(task) + assert held.run.cost == open_.run.cost and held.run.rows() == open_.run.rows() + + +def test_the_airline_replay_under_a_built_closure_in_any_hour_of_the_fixture_day_auto_cancels_nothing_more(task): + """The replay flies every flight it flies on the open day: a closure can only delay one, as when the GDP's slots + move a recorded arrival into a closure its recorded gate-in was outside of.""" + open_ = references.airline(task) + status = {i: r.status for i, r in open_.run.flights.items()} + for rate in (0.0, 0.3, 0.7): + for a in range(task.start, task.start + 600, 60): + shut = closed(task, closures.build(task, {"JFK": [(task.base + a, task.base + a + 60)]}, {"JFK": rate})) + held = references.airline(shut) + assert held.auto == open_.auto and {i: r.status for i, r in held.run.flights.items()} == status, (rate, a) diff --git a/tests/programs/test_day_sim.py b/tests/programs/test_day_sim.py index b0fd8f9..af17858 100644 --- a/tests/programs/test_day_sim.py +++ b/tests/programs/test_day_sim.py @@ -4,24 +4,44 @@ GDP, broken_day, busy_day, + capped, + capped_day, + closed, + closed_day, crewed, day, flight, + late_pin_day, moved_day, + outcapped, + outcapped_day, quick_day, + reserve_day, + reserved, + shared_hour_day, stop, tail, three_into_a_program, turned_through_day, + two_from_jfk, ) from agentenv_airops.programs import sim +def deps(run): + return {i: r.dep for i, r in run.flights.items()} + + def slots(run): return {i: (r.dep, r.slot) for i, r in run.flights.items()} +def arrivals(run): + """Departure and arrival of the flights into JFK on closed_day.""" + return {i: (run.flights[i].dep, run.flights[i].arr) for i in (3, 5)} + + def test_controlled_flights_leave_at_the_edct_of_the_earliest_free_slot_and_a_cancellation_moves_the_queue_up(): task = three_into_a_program() assert slots(sim.execute(task, {})) == {0: (120, 180), 1: (180, 240), 2: (240, 300)} @@ -167,6 +187,45 @@ def test_a_crew_past_its_deadline_rests_ten_hours_or_its_flight_auto_cancels_the assert sim.execute(replace(task, start=200), {}).flights[1].decided == 200 +def test_with_one_reserve_the_first_late_base_departure_by_id_flies_on_it_and_the_second_auto_cancels_at_its_deadline(): + task = reserve_day() + calls = {0: {"reserve": True}, 1: {"reserve": True}} + run = sim.execute(task, calls) + assert run.reserved == sim.granted(task, calls) == {0} + assert [(r.status, r.dep, r.decided) for r in run.flights.values()][:2] == [ + ("flown", 200, None), ("auto_cancelled", None, 150)] + assert (task.auto_at(task.flight(1)), task.auto_at(task.flight(1), reserve=True)) == (150, 700) + assert task.crew(task.flight(0)).deadline == 150 and task.flight(0).crew.deadline is None + uncalled = sim.execute(task, {}) + assert [uncalled.flights[i].status for i in (0, 1)] == ["auto_cancelled", "auto_cancelled"] + second = sim.execute(task, {1: {"reserve": True}}) + assert (second.reserved, second.flights[0].status, second.flights[1].dep) == ({1}, "auto_cancelled", 205) + assert sim.granted(task, {0: {"reserve": True, "cancel": True}, 1: {"reserve": True}}) == {1} + two = sim.execute(reserved(task, {"JFK": 2}), calls) + assert two.reserved == {0, 1} and [two.flights[i].dep for i in (0, 1)] == [200, 205] + + +def test_a_plan_entry_for_a_flight_outside_the_task_changes_nothing_with_or_without_a_pool(): + for task in (two_from_jfk(), reserve_day()): + assert sim.execute(task, {999: {"not_before": 0, "reserve": True}}).rows() == sim.execute(task, {}).rows() + assert sim.granted(reserve_day(), {999: {"reserve": True}, "1": {"reserve": True}}) == {1} + + +def test_without_a_pool_a_base_departure_keeps_unlimited_reserves_and_a_call_changes_nothing(): + task = replace(reserve_day(), layers=None) + run = sim.execute(task, {}) + assert [run.flights[i].dep for i in (0, 1)] == [200, 205] and run.reserved == frozenset() + assert sim.execute(task, {0: {"reserve": True}}).rows() == run.rows() + elsewhere = reserved(task, {"BOS": 3}) + assert sim.execute(elsewhere, {}).rows() == run.rows() and not elsewhere.reservable(elsewhere.flight(0)) + + +def test_a_pinned_base_departure_leaves_at_its_minute_past_its_crew_deadline_and_holds_the_reserve_it_called(): + task = reserve_day() + run = sim.execute(task, {0: {"left": 210, "reserve": True}, 1: {"reserve": True}}) + assert run.flights[0].dep == 210 and run.reserved == {0} and run.flights[1].status == "auto_cancelled" + + def test_a_turn_jetblue_flew_faster_than_the_rule_holds_through_the_moves_its_aircraft_passes(): run = sim.execute(turned_through_day(), {1: {"cancel": True}}) assert (run.flights[2].tail, run.flights[2].dep, run.moves) == ("N1", 100, {1: 110}) @@ -182,3 +241,109 @@ def test_a_turn_jetblue_flew_faster_than_the_rule_is_allowed_for_that_connection assert sim.execute(alone, {1: {"cancel": True}}).flights[2].dep == 190 assert sim.execute(alone, {}).flights[1].dep == 170 assert sim.execute(quick_day(40), {}).flights[1].dep == sim.execute(quick_day(None), {}).flights[1].dep + + +def test_a_full_departure_hour_pushes_a_departure_to_the_next_hour(): + flights = [flight(0, "JFK", "BUF", 60, 60), flight(1, "JFK", "DCA", 70, 60), flight(2, "JFK", "MCO", 80, 150)] + tails = [tail("N1", "JFK", end="BUF"), tail("N2", "JFK", end="DCA"), tail("N3", "JFK", end="MCO")] + task = capped(day(flights, tails), {"JFK": {1: 1, 2: 1}}) + assert deps(sim.execute(task, {})) == {0: 60, 1: 120, 2: 180} + assert deps(sim.execute(task, {0: {"cancel": True}})) == {0: None, 1: 70, 2: 120} + + +def test_a_capped_hub_spreads_its_departures_over_the_hours_and_leaves_its_arrivals_alone(): + run = sim.execute(capped_day(), {}) + assert {i: (r.dep, r.slot) for i, r in run.flights.items()} == { + 0: (120, 180), 1: (140, 200), 2: (125, None), 3: (180, None), 4: (180, None), 5: (240, None), 6: (240, None)} + assert deps(sim.execute(replace(capped_day(), layers=None), {})) == { + 0: 120, 1: 140, 2: 125, 3: 130, 4: 150, 5: 210, 6: 230} + + +def test_a_pinned_departure_uses_up_its_hour_before_the_others_leave(): + run = sim.execute(two_from_jfk(), {1: {"left": 100}}) + assert (run.flights[0].dep, run.flights[1].dep) == (120, 100) + + +def test_a_pinned_departure_its_aircraft_makes_late_counts_in_the_hour_it_leaves(): + task = late_pin_day() + assert deps(sim.execute(task, {1: {"left": 170}})) == {0: 100, 1: 190, 2: 240, 3: 140} + assert deps(sim.execute(task, {})) == {0: 100, 1: 190, 2: 240, 3: 140} + + +def test_a_slotted_departure_uses_up_its_hour_of_leaving(): + assert slots(sim.execute(shared_hour_day(), {})) == {0: (70, 130), 1: (120, None)} + + +def test_a_ramp_closure_cuts_departures_to_its_cap_and_the_rest_leave_at_its_end(): + run = sim.execute(closed_day(), {}) + assert deps(run) == {0: 120, 1: 180, 2: 180, 3: 100, 4: 200, 5: 110, 6: 210} + assert deps(sim.execute(replace(closed_day(), layers=None), {})) == { + 0: 120, 1: 130, 2: 140, 3: 100, 4: 200, 5: 110, 6: 210} + assert deps(sim.execute(closed_day(), {0: {"cancel": True}})) == { + 0: None, 1: 130, 2: 180, 3: 100, 4: 200, 5: 110, 6: 210} + + +def test_a_full_ramp_closure_holds_an_arrival_so_that_it_arrives_at_its_end_and_its_aircraft_turns_from_there(): + """Room for one arrival: flight 3 lands at 160, inside, and flight 5, which would land at 170, leaves DCA at 120 + to arrive at 180. With none, both arrive at 180, and flight 4 waits for an aircraft until 210. An arrival inside a + closure with room reaches its gate on landing: no gate hold.""" + room, one, none = (sim.execute(closed_day(n), {}) for n in (2, 1, 0)) + assert arrivals(room) == {3: (100, 160), 5: (110, 170)} + assert arrivals(one) == {3: (100, 160), 5: (120, 180)} + assert arrivals(none) == {3: (120, 180), 5: (120, 180)} + assert (one.flights[4].dep, none.flights[4].dep) == (200, 210) + assert none.cost.total > one.cost.total > room.cost.total + + +def test_a_pinned_arrival_uses_up_its_ramp_closure_before_the_others_arrive(): + assert arrivals(sim.execute(closed_day(1), {5: {"left": 110}})) == {3: (120, 180), 5: (110, 170)} + + +def test_a_pinned_departure_uses_up_its_ramp_closure_before_the_others_leave(): + run = sim.execute(closed_day(), {1: {"left": 125}}) + assert deps(run) == {0: 180, 1: 125, 2: 180, 3: 100, 4: 200, 5: 110, 6: 210} + + +def test_a_ramp_closure_with_no_room_holds_its_stations_departures_to_its_end(): + task = closed(closed_day(), {"JFK": ((120, 180, 0, 2),), "BUF": ((0, 130, 0, 2),)}) + run = sim.execute(task, {}) + assert deps(run) == {0: 180, 1: 180, 2: 180, 3: 130, 4: 200, 5: 110, 6: 220} and run.flights[3].arr == 190 + + +def test_a_ramp_closure_counts_an_arrival_at_its_truth_block_not_its_scheduled_one(): + """Flight 0 leaves BUF at 120 with a 60-minute scheduled block but a 45-minute truth one: it would land at 165, + inside JFK's closure 150-170 with no room for arrivals (by its scheduled block, 180, it would not), so it leaves at + 125 to arrive at 170.""" + task = closed(day([flight(0, "BUF", "JFK", 120, 45, sched_block=60)], [tail("N1", "BUF", end="JFK")]), + {"JFK": ((150, 170, 9, 0),)}) + run = sim.execute(task, {}) + assert (run.flights[0].dep, run.flights[0].arr) == (125, 170) + + +def times(run): + """Every flight's departure and arrival.""" + return {i: (r.dep, r.arr) for i, r in run.flights.items()} + + +def test_a_full_outstation_hour_pushes_an_arrival_on_to_the_next_hour_and_leaves_other_stations_alone(): + """BUF caps hour 2 at one arrival: flight 0 lands at 120, so flight 1, ready to land at 130, leaves DCA at 120 to + land at 180; PWM is uncapped.""" + run = sim.execute(outcapped_day(), {}) + assert times(run) == {0: (60, 120), 1: (120, 180), 2: (55, 125)} + assert times(sim.execute(replace(outcapped_day(), layers=None), {})) == {0: (60, 120), 1: (70, 130), + 2: (55, 125)} + assert times(sim.execute(outcapped(outcapped_day(), {"BUF": {2: 2}}), {})) == { + 0: (60, 120), 1: (70, 130), 2: (55, 125)} + + +def test_a_pinned_arrival_uses_up_its_outstation_hour_before_the_later_ones_arrive(): + """At a watch at 75, flight 1 left DCA at 70 to land at 130: flight 0 can't land in hour 2 too.""" + run = sim.execute(outcapped_day(), {0: {"not_before": 75}, 1: {"left": 70}}) + assert times(run) == {0: (120, 180), 1: (70, 130), 2: (55, 125)} + + +def test_outstation_arrival_caps_join_the_truths_nominal_caps_the_known_days_within_cap_look_and_not_the_calm_days(): + task = outcapped_day() + assert sim.truth(task).nominal == sim.nominal_caps(task) | {"BUF": {2: 1}} + assert sim.known(task, 0).nominal == sim.truth(task).nominal and "BUF" not in sim.calm(task).nominal + assert "BUF" not in sim.known(outcapped(task, {"BUF": {9: 1}}), 0).nominal diff --git a/tests/programs/test_desk_view.py b/tests/programs/test_desk_view.py new file mode 100644 index 0000000..9102bd0 --- /dev/null +++ b/tests/programs/test_desk_view.py @@ -0,0 +1,237 @@ +import csv +import io +import json +import random +import shutil +from dataclasses import replace +from datetime import UTC, datetime + +import pytest +from day_helpers import ( + capped, + closed, + closed_day, + day, + flight, + outcapped, + random_day, + reserve_day, + tail, + three_into_a_program, +) +from program_helpers import adv +from test_reference_plays import stopped_then_released + +from agentenv_airops.build import bts +from agentenv_airops.core.known import CAP_LOOK, FREEZE, STEP +from agentenv_airops.programs import references, sim +from agentenv_airops.programs.layers import closures, weather +from agentenv_airops.programs.model import LAGS, Layers, Task +from agentenv_airops.v3day import clock +from agentenv_airops.v3day.day import Day + + +def two_days_of_caps() -> Task: + """JFK caps hours 2 and 5 at one departure, BUF hours 2 and 6 at one arrival.""" + task = day([flight(0, "JFK", "BUF", 100, 60), flight(1, "JFK", "MCO", 500, 150)], + [tail("N1", "JFK", end="BUF"), tail("N2", "JFK", end="MCO")]) + return outcapped(capped(task, {"JFK": {2: 1, 5: 1}}), {"BUF": {2: 1, 6: 1}}) + + +def test_known_carries_dep_and_outstation_caps_only_cap_look_ahead(): + task = two_days_of_caps() + w = sim.known(task, 0) + assert w.dep_caps == {"JFK": {2: 1}} and w.nominal["BUF"] == {2: 1} + w = sim.known(task, 120) + assert w.dep_caps == {"JFK": {2: 1, 5: 1}} and w.nominal["BUF"] == {2: 1, 6: 1} + assert all(60 * h <= 60 + CAP_LOOK for h in sim.known(task, 60).dep_caps["JFK"]) + assert sim.known(task, 0).nominal["JFK"] == sim.truth(task).nominal["JFK"] + + +def test_known_carries_a_closure_once_begun_expected_guess_on_until_its_end_comes(): + task = closed_day() + assert sim.known(task, 119).closures == {} + assert sim.known(task, 120).closures == {"JFK": ((120, 120 + sim.GUESS, 1, 1),)} + assert sim.known(task, 170).closures == {"JFK": ((120, 170 + sim.GUESS, 3, 1),)} + assert sim.known(task, 180).closures == sim.known(task, 300).closures == {"JFK": ((120, 180, 1, 2),)} + + +def two_closures_but_their_ends() -> tuple[Task, Task]: + """Eighteen departures from JFK every 10 minutes from 120, its ramp closed from 120 to 150 on one day and to 300 + on the other, each priced at rate 0.75 over its true length (closures.build).""" + base = day([flight(i, "JFK", "BUF", 120 + 10 * i, 60) for i in range(18)], + [tail(f"N{i}", "JFK", end="BUF") for i in range(18)]) + return tuple(closed(base, closures.build(base, {"JFK": [(base.base + 120, base.base + end)]}, {"JFK": 0.75}), + {"JFK": 0.75}) for end in (150, 300)) + + +def test_two_closures_differing_only_in_their_true_end_look_the_same_until_it_comes(): + short, long = two_closures_but_their_ends() + assert short.layers.closures["JFK"][0][2] < long.layers.closures["JFK"][0][2] + for t in (120, 135): + assert sim.known(short, t).closures == sim.known(long, t).closures + assert sim.known(short, t).closures["JFK"][0][:2] == (120, t + sim.GUESS) + assert closures_situation(short, 120) == closures_situation(long, 120) + assert sim.known(short, 150).closures == short.layers.closures != sim.known(long, 150).closures + + +def closures_situation(task: Task, t: int) -> list[dict]: + d = Day(task) + while d.t < t: + d.advance() + return d.situation()["closures"]["JFK"] + + +def test_a_closure_under_way_at_a_hub_without_a_rate_cant_be_known(): + task = closed(day([flight(0, "JFK", "BUF", 400, 60)], [tail("N1", "JFK", end="BUF")]), {"JFK": ((120, 180, 1, 1),)}) + assert sim.known(task, 60).closures == {} and sim.known(task, 180).closures == {"JFK": ((120, 180, 1, 1),)} + with pytest.raises(ValueError, match="no rate"): + sim.known(task, 150) + + +def test_a_layered_tasks_watches_run_until_every_cap_is_known(): + task = outcapped(day([flight(0, "JFK", "SFO", 300, 360)], [tail("N1", "JFK", end="SFO")]), {"SFO": {11: 0}}) + ts = references.watch_times(task) + assert ts[-1] >= 60 * 11 - CAP_LOOK and sim.known(task, ts[-1]).nominal["SFO"] == {11: 0} + known = sim.execute(task, {}, sim.known(task, ts[-1])).flights[0] + assert known == sim.execute(task, {}).flights[0] and known.dep == 360 + + +def test_known_keeps_the_reserve_pools_of_the_truth(): + task = reserve_day() + plan = {0: {"reserve": True}, 1: {"reserve": True}} + assert sim.execute(task, plan, sim.known(task, 0)).reserved == sim.execute(task, plan).reserved == {0} + + +@pytest.mark.parametrize("seed", range(4)) +def test_without_layers_known_and_watch_times_are_v2s(seed): + for task in (random_day(random.Random(seed)), three_into_a_program(), stopped_then_released()): + for t in references.watch_times(task): + w = sim.known(task, t) + assert w == sim.known(replace(task, layers=Layers()), t) + assert w.dep_caps == {} and w.closures == {} and w.nominal == sim.nominal_caps(task) + assert repr(w) == repr(sim.World(w.lb, w.block, w.segments, w.stops, sim.nominal_caps(task))) + ts = references.watch_times(task) + assert ts == references.watch_times(replace(task, layers=Layers())) + assert ts == list(range(task.start, ts[-1] + 1, STEP)) + + +def eventful() -> Task: + """closed_day (JFK closed 120-180) with a ground-stop advisory signed at 200 (for 11:40-12:00, when nothing lands) + and a SPECI observed at 300.""" + task = closed_day() + jfk = task.programs["JFK"] + task = replace(task, programs=task.programs | {"JFK": replace(jfk, advisories=jfk.advisories + ( + adv("a1", "gs", 200, 700, 720),))}) + return replace(task, layers=replace(task.layers, weather=((300, "speci", "JFK", "KJFK 2605Z TS"),))) + + +def test_a_layered_tasks_watches_wake_on_news_and_closures_15_to_60_apart(): + task = eventful() + ts = references.watch_times(task) + assert references.events(task) == [120, 180, 200, 300 + LAGS["speci"]] + assert {200, 305} <= set(ts) and 120 in ts + assert ts == [0, 60, 120, 180, 200, 260, 305] + assert all(references.WATCH_MIN <= b - a <= STEP for a, b in zip(ts, ts[1:], strict=False)) + assert references.watch_times(replace(task, layers=None)) == [0, 60, 120] + + +def test_an_event_close_to_a_watch_moves_to_watch_min_after_it_absorbing_the_rest(): + task = closed(day([flight(0, "JFK", "BUF", 400, 60)], [tail("N1", "JFK", end="BUF")]), + {"JFK": ((125, 160, 1, 1), (130, 170, 1, 1))}) + ts = references.watch_times(task) + assert ts[:4] == [0, 60, 120, 135] and ts[4:7] == [160, 175, 190] + + + +def test_a_closure_outlasting_the_hourly_watches_is_watched_until_its_end_comes(): + flights = [flight(i, "JFK", "BUF", 200 + 20 * i, 60, deadline=600 + 20 * i) for i in range(6)] + task = closed(day(flights, [tail(f"N{i}", "JFK", end="BUF") for i in range(6)]), {"JFK": ((200, 420, 1, 1),)}, + {"JFK": 0.5}) + ts = references.watch_times(task) + assert ts == [0, 60, 120, 180, 200, 260, 320, 380, 420] + assert sim.known(task, 380).closures["JFK"][0][1] == 380 + sim.GUESS + assert sim.known(task, ts[-1]).closures == task.layers.closures + assert all(references.WATCH_MIN <= b - a <= STEP for a, b in zip(ts, ts[1:], strict=False)) + + +def test_an_event_just_before_the_last_hourly_watch_moves_it_onto_the_last_minute(): + f = flight(0, "JFK", "BUF", 600, 60, deadline=665) + capped_far = replace(day([f], [tail("N1", "JFK", end="BUF")]), layers=Layers(dep_caps={"JFK": {30: 5}})) + last = f.deadline - FREEZE + assert references.watch_times(capped_far)[-1] == 600 + task = replace(capped_far, layers=replace(capped_far.layers, weather=((590, "speci", "JFK", "KJFK SPECI TS"), + (598, "speci", "JFK", "KJFK SPECI +TS")))) + ts = references.watch_times(task) + assert ts[-3:] == [540, 595, last] + news = {n for w in clock.timetable(task) for n in w.news} + assert {"speci-jfk-590", "speci-jfk-598"} <= news + + +def test_a_negative_lag_and_an_advisory_lag_the_known_programs_would_not_wait_for_are_refused(): + with pytest.raises(ValueError, match="not a whole number"): + Layers(lags={"speci": -60}) + with pytest.raises(ValueError, match="not a whole number"): + Layers(lags={"taf": 2.5}) + with pytest.raises(ValueError, match="advisory lag must be 0"): + Layers(lags={"advisory": 30}) + assert Layers(lags={"advisory": 0, "speci": 0}).lags == LAGS | {"speci": 0} + +def test_the_follower_on_a_layered_day_wakes_on_events_and_its_plan_replays(): + task = eventful() + followed = references.follow(task, time_limit=60) + ts = [w["t"] for w in followed.watches] + assert ts == references.watch_times(task) and 305 in ts and any(t % STEP for t in ts) + again = sim.execute(task, followed.plan) + assert again.rows() == followed.run.rows() and again.cost == followed.run.cost + _, anchor = references.anchor(task, time_limit=60) + assert followed.cost >= anchor.cost.total + + +def test_lags_left_out_keep_their_default_and_an_unknown_kind_is_refused(): + layers = Layers.from_dict({"dep_caps": {}, "arr_caps": {}, "closures": {}, "reserves": {}, + "lags": {"speci": 7}}) + assert layers.lags == LAGS | {"speci": 7} and layers.to_dict()["lags"] == layers.lags + assert replace(closed_day(), layers=layers).lag("taf") == 10 + with pytest.raises(ValueError, match="unknown kind"): + Layers(lags={"metra": 5}) + with pytest.raises(KeyError): + closed_day().lag("metra") + + +def test_weather_and_lags_round_trip_and_are_written_only_when_set(): + task = closed_day() + assert "weather" not in task.layers.to_dict() and "lags" not in task.layers.to_dict() + layers = replace(task.layers, weather=((50, "metar", "JFK", "KJFK 260051Z"),), lags=LAGS | {"taf": 20}) + back = Task.from_dict(json.loads(replace(task, layers=layers).to_json())) + assert back.layers == layers and back.lag("taf") == 20 and back.lag("advisory") == 0 + assert day([flight(0, "JFK", "BUF", 100, 60)], [tail("N1", "JFK")]).lag("metar") == LAGS["metar"] == 5 + + +def minute(row: dict, task: Task) -> int: + return bts.epoch_minutes(datetime.strptime(row["valid"], "%Y-%m-%d %H:%M").replace(tzinfo=UTC)) - task.base + + +def test_the_weather_builder_reads_the_hubs_metars_specis_and_tafs_over_the_span(task, slice_inputs, tmp_path): + root = tmp_path / "inputs" + shutil.copytree(slice_inputs / "iem", root / "iem") + metars = (root / "iem" / "metar" / "JFK_2023_06.csv").read_text() + rows = list(csv.DictReader(io.StringIO(metars))) + hi = max(f.deadline for f in task.flights) + seen = next(r for r in rows if task.start <= minute(r, task) <= hi) + special = dict(seen, valid=seen["valid"][:-2] + "07", metar=seen["metar"].replace("51Z", "07Z")) + out = io.StringIO() + w = csv.DictWriter(out, fieldnames=list(rows[0])) + w.writeheader() + w.writerows([seen, special]) + path = root / "iem" / "speci" / "JFK_2023_06.csv" + path.parent.mkdir(parents=True) + path.write_text(out.getvalue()) + items = weather.build(task, root) + kinds = {k for _, k, _, _ in items} + assert kinds == {"metar", "speci", "taf"} and {s for _, _, s, _ in items} == set(task.storms) + assert [x[0] for x in items] == sorted(x[0] for x in items) + assert all(task.start - weather.LEAD_TAF <= m <= hi for m, _, _, _ in items) + assert sum(k == "speci" for _, k, _, _ in items) == 1 + assert any(k == "taf" and m <= task.start for m, k, _, _ in items) + assert any(k == "metar" and task.start - weather.LEAD_OBS <= m <= task.start for m, k, _, _ in items) diff --git a/tests/programs/test_hindsight_mip.py b/tests/programs/test_hindsight_mip.py index fd81005..f82a56d 100644 --- a/tests/programs/test_hindsight_mip.py +++ b/tests/programs/test_hindsight_mip.py @@ -4,29 +4,51 @@ import numpy as np import pytest from day_helpers import ( + PLACES, + based, broken_day, busy_day, + capped, + capped_day, + closed, + closed_day, crewed, day, flight, + late_pin_day, moved_day, network_day, + outcapped, + outcapped_day, quick_day, random_day, + reserve_day, + reserved, segment, + shared_hour_day, shortened, stop, tail, three_into_a_program, turned_through_day, + two_from_jfk, + with_crews, ) -from agentenv_airops.programs import mip, references, sim +from agentenv_airops.programs import candidates, mip, references, sim +from agentenv_airops.programs.advisories import HUBS from agentenv_airops.programs.cost import cancel_price +from agentenv_airops.programs.layers import arrcaps, closures, depcaps from agentenv_airops.programs.model import Task RANDOM = range(8) NETWORK = range(8) +CAPPED = range(4) +TIGHT = {c: {h: h % 3 for h in range(24)} for c in PLACES} +OUT_TIGHT = {c: {h: h % 3 for h in range(24)} for c in PLACES if c not in HUBS} +POOLS = {"JFK": 1, "BOS": 0} +SHUT = {"JFK": ((80, 160, 1, 0), (220, 250, 0, 1)), "BOS": ((180, 230, 0, 1),), "BUF": ((290, 330, 1, 0),), + "DCA": ((210, 280, 0, 0),)} def days() -> dict[str, Task]: @@ -42,7 +64,24 @@ def days() -> dict[str, Task]: "lone_quick": replace(quick_day(), tails=quick_day().tails[:1]), "families": families(), "crew": crew(), "turned_through": turned_through_day(), **{f"random{seed}": random_day(random.Random(seed)) for seed in RANDOM}, - **{f"network{seed}": network_day(random.Random(seed)) for seed in NETWORK}} + **{f"network{seed}": network_day(random.Random(seed)) for seed in NETWORK}, + "capped": capped_day(), "shared_hour": shared_hour_day(), + **{f"capped_random{seed}": capped(random_day(random.Random(seed)), TIGHT) for seed in CAPPED}, + **{f"capped_network{seed}": capped(network_day(random.Random(seed)), TIGHT) for seed in CAPPED}, + "closed": closed_day(1), "closed_shut": closed_day(0), + **{f"closed_random{seed}": closed(random_day(random.Random(seed)), SHUT) for seed in CAPPED}, + **{f"closed_network{seed}": closed(network_day(random.Random(seed)), SHUT) for seed in CAPPED}, + "closed_capped_network1": closed(capped(network_day(random.Random(1)), TIGHT), SHUT), + "outcapped": outcapped_day(), + **{f"outcapped_random{seed}": outcapped(random_day(random.Random(seed)), OUT_TIGHT) for seed in CAPPED}, + **{f"outcapped_network{seed}": outcapped(network_day(random.Random(seed)), OUT_TIGHT) for seed in CAPPED}, + "outcapped_closed_capped_network1": outcapped(closed(capped(network_day(random.Random(1)), TIGHT), SHUT), + OUT_TIGHT), + "reserves": reserve_day(), "reserves_none": reserved(reserve_day(), {"JFK": 0}), + **{f"reserves_random{seed}": with_crews(random_day(random.Random(seed)), random.Random(seed), POOLS) + for seed in CAPPED}, + **{f"reserves_network{seed}": with_crews(network_day(random.Random(seed)), random.Random(seed), POOLS) + for seed in CAPPED}} def crew() -> Task: @@ -67,9 +106,31 @@ def e190(f): return replace(day(flights, tails, stops=(stop(100, 160),)), turn={"A320": 30, "E190": 25}) -@pytest.fixture(scope="module", params=["task", "crewed"]) +@pytest.fixture(scope="module") +def capped_task(task, slice_inputs, tmp_path_factory) -> Task: + """The fixture day under the departure caps the slice's BTS pushbacks give it.""" + return capped(task, depcaps.build(task, candidates.frame(slice_inputs, tmp_path_factory.mktemp("derived"), + task.date))) + + +@pytest.fixture(scope="module") +def closed_task(task) -> Task: + """The fixture day with JFK's ramp closed 18:00-19:00 at half its departure and arrival rates.""" + return closed(task, closures.build(task, {"JFK": [(task.base + 1080, task.base + 1140)]}, {"JFK": 0.5})) + + +@pytest.fixture(scope="module") +def outcapped_task(task, slice_inputs, tmp_path_factory) -> Task: + """The fixture day under the outstation arrival caps the slice's BTS arrivals give it, every hour with one + arrival scheduled counted (the slice holds few other carriers' flights).""" + return outcapped(task, arrcaps.build(task, candidates.frame(slice_inputs, tmp_path_factory.mktemp("derived"), + task.date), min_sched=1)) + + +@pytest.fixture(scope="module", params=["task", "crewed", "capped_task", "closed_task", "outcapped_task"]) def fixture_day(request) -> Task: - """The fixture day, and the same day with the crew model.""" + """The fixture day, the same day with the crew model, under departure caps, with a ramp closure, and under + outstation arrival caps.""" return shortened(request.getfixturevalue(request.param)) @@ -141,7 +202,11 @@ def test_a_day_with_legs_cancelled_on_either_side_of_its_breaks_is_a_solution_at assert sol.deps[3] is None and replays(task, sol) -@pytest.mark.parametrize("name", ["slots", "stop", "moved", "broken", "busy", "quick", "crew", "random3", "network2"]) +@pytest.mark.parametrize("name", ["slots", "stop", "moved", "broken", "busy", "quick", "crew", "random3", "network2", + "capped", "capped_random1", "capped_network2", "closed", "closed_shut", + "closed_random1", "closed_network0", "closed_capped_network1", "outcapped", + "outcapped_random1", "outcapped_network2", "outcapped_closed_capped_network1", + "reserves", "reserves_random1", "reserves_network2"]) def test_a_day_with_its_history_pinned_is_a_solution_of_the_model_with_those_pins(name): task = days()[name] first = sim.execute(task, {}) @@ -155,6 +220,112 @@ def test_a_day_with_its_history_pinned_is_a_solution_of_the_model_with_those_pin assert round(sum(c * v for c, v in zip(net.m.cost, x, strict=True))) == run.cost.total +RESERVED = [n for n in days() if n.startswith("reserves")] + + +def reserve_plans(task: Task, rng: random.Random) -> list[dict]: + """Random plans that call reserves for most flights, so the pools bind.""" + return [{f.id: {"cancel": rng.random() < 0.15, "decided": rng.randrange(0, 200), + "not_before": rng.randrange(0, 400), "reserve": rng.random() < 0.7} + for f in task.flights if rng.random() < 0.8} for _ in range(10)] + + +@pytest.mark.parametrize("name", RESERVED) +def test_every_day_that_calls_reserves_from_a_finite_pool_is_a_solution_of_the_model_at_its_cost(name): + task = days()[name] + for plan in reserve_plans(task, random.Random(13)): + run = sim.execute(task, plan) + assert run.reserved == sim.granted(task, plan) + decided = {f.id: run.flights[f.id].decided for f in task.flights} + net = mip.Network(task, price={f.id: cancel_price(f, decided[f.id] or 0) for f in task.flights}) + x = net.vector(run) + assert x is not None and feasible(net, x) + assert round(sum(c * v for c, v in zip(net.m.cost, x, strict=True))) == run.cost.total + + +@pytest.mark.parametrize("name", RESERVED) +def test_a_reserve_day_with_its_history_pinned_on_its_reserves_is_a_solution_with_those_pins(name): + """Pinned flights that called a reserve hold it: the pool row has room for the rest only, and a pinned flight + auto-cancelling on a reserve crew is priced at its deadline.""" + task = days()[name] + for plan in reserve_plans(task, random.Random(17))[:5]: + first = sim.execute(task, plan) + pins = {i for i, r in first.flights.items() if i % 2 == 0 and r.status != "cancelled"} + pinned = {i: {"left": first.flights[i].dep} | ({"reserve": True} if plan.get(i, {}).get("reserve") else {}) + if first.flights[i].status == "flown" else dict(plan.get(i, {})) for i in pins} + run = sim.execute(task, {**plan, **pinned}) + decided = {f.id: run.flights[f.id].decided for f in task.flights} + fixed = {i: run.flights[i].dep for i in pins} + lapsed = {i for i in pins if run.flights[i].status == "auto_cancelled"} + net = mip.Network(task, price={f.id: cancel_price(f, decided[f.id] or 0) for f in task.flights}, + fixed=fixed, lapsed=lapsed, reserved=run.reserved & pins) + x = net.vector(run) + assert x is not None and feasible(net, x) + assert round(sum(c * v for c, v in zip(net.m.cost, x, strict=True))) == run.cost.total + + +def test_a_binding_pool_is_what_the_optimum_spends_and_its_plan_calls_exactly_those_reserves(): + """With one reserve at JFK the optimum flies the larger of the two late JFK departures on it and cancels the + other; with none it cancels both; the plan calls the reserve it uses and the sim grants it.""" + one, none = reserve_day(), reserved(reserve_day(), {"JFK": 0}) + sol = mip.solve(one) + assert sol.proven and replays(one, sol) and sol.reserve == {1} + assert sol.plan(one.start)[1]["reserve"] and sim.execute(one, sol.plan(one.start)).reserved == {1} + assert sol.deps[1] is not None and sol.deps[0] is None + nil = mip.solve(none) + assert nil.proven and replays(none, nil) and nil.reserve == frozenset() + assert nil.deps[0] is None and nil.deps[1] is None and nil.objective > sol.objective + unlimited = replace(one, layers=None) + free = mip.solve(unlimited) + assert free.deps[0] is not None and free.deps[1] is not None and free.objective < sol.objective + + +def test_a_pinned_flight_holding_the_pools_reserve_leaves_none_for_the_rest_of_the_re_solve(): + """f1 left at 205 on JFK's one reserve: re-solving from that pin, f0 can't fly past its crew deadline (150) too and + is cancelled, the re-solve replays with the pin, and it costs more than one that forgets f1's reserve.""" + task = reserve_day() + pin = {1: {"left": 205, "reserve": True}} + sol = mip.solve(task, fixed={1: 205}, reserved={1}) + assert sol.proven and sol.reserve == {1} and sol.deps[0] is None + run = sim.execute(task, {**sol.plan(task.start), **pin}) + assert run.reserved == {1} and run.cost.total == sol.objective and run.flights[0].status != "flown" + forgot = mip.solve(task, fixed={1: 205}) + assert forgot.deps[0] is not None and forgot.objective < sol.objective + + +def test_a_coarse_step_keeps_the_minute_a_pooled_base_crews_rest_ends(): + """With no reserve left at JFK, f0 (known 100 minutes late, crew deadline 150, rest to 750, deadline 900) leaves + when its crew's rest ends, 750, a minute a 7-minute step doesn't reach: the sim's day is still a solution.""" + task = reserved(day([based(flight(0, "JFK", "BUF", 100, 60, lb=100, deadline=900), 150)], + [tail("N1", "JFK", end="BUF")]), + {"JFK": 0}) + run = sim.execute(task, {}) + assert run.flights[0].dep == 750 and task.crew(task.flight(0)).rest == 750 + net = mip.Network(task, step=7) + x = net.vector(run) + assert x is not None and feasible(net, x) + assert round(sum(c * v for c, v in zip(net.m.cost, x, strict=True))) == run.cost.total + sol = mip.solve(task, step=7) + assert sol.proven and replays(task, sol) and sol.objective <= run.cost.total + + +def test_a_day_with_a_departure_pinned_before_its_aircraft_is_ready_is_a_solution_pinned_where_it_left(): + task = late_pin_day() + run = sim.execute(task, {1: {"left": 170}}) + net = mip.Network(task, fixed={1: run.flights[1].dep}) + x = net.vector(run) + assert x is not None and feasible(net, x) + assert round(sum(c * v for c, v in zip(net.m.cost, x, strict=True))) == run.cost.total + + +def test_a_pinned_departure_leaves_the_others_only_the_rest_of_its_hours_cap(): + task = two_from_jfk() + sol = mip.solve(task, fixed={1: 100}) + run = sim.execute(task, {**sol.plan(task.start), 1: {"left": 100}}) + assert sol.deps == {0: 120, 1: 100} == {i: r.dep for i, r in run.flights.items()} + assert run.cost.total == sol.objective + + def test_a_canonical_pass_out_of_time_keeps_the_proven_plan_flagged_as_not_canonical(monkeypatch): task = days()["slots"] proven = mip.solve(task, canonical=False) @@ -195,6 +366,15 @@ def test_a_coarse_step_keeps_every_slots_edct(): assert {d for d in sol.deps.values()} == {120, 180, 240} +def test_a_coarse_step_keeps_every_ramp_closures_end(): + """At a 7-minute step the closure's end, 180, is still a minute flights 0 and 1 may leave JFK at, and with no room + for arrivals the end less the block, 120, one flights 3 and 5 may leave for JFK at.""" + task = closed_day(0) + sol = mip.solve(task, step=7) + assert sol.proven and replays(task, sol) + assert (sol.deps[0], sol.deps[1], sol.deps[3], sol.deps[5]) == (180, 180, 120, 120) + + def test_pins_and_the_earliest_minute_are_kept(fixture_day): task = fixture_day a, b = task.flights[3], task.flights[10] @@ -267,3 +447,49 @@ def test_a_day_whose_lp_relaxation_is_fractional_proves_through_the_mip_to_the_s fast, slow = mip.solve(task), mip.solve(task, fix=False) assert fast.proven and fast.canonical and replays(task, fast) assert (fast.objective, fast.deps) == (slow.objective, slow.deps) + + +def test_a_ramp_closure_raises_the_optimum_and_the_optimum_replays_under_it(): + task = closed_day(1) + sol = mip.solve(task) + assert sol.proven and replays(task, sol) + assert sol.objective > mip.solve(closed_day()).objective > mip.solve(replace(task, layers=None)).objective + assert sum(sol.deps[i] is not None and 120 <= sol.deps[i] < 180 for i in (0, 1, 2, 4, 6)) <= 1 + assert sum(sol.deps[i] is not None and 120 <= sol.deps[i] + 60 < 180 for i in (3, 5)) == 1 + + +def test_an_outstation_arrival_cap_raises_the_optimum_and_the_optimum_replays_under_it(): + """BUF takes one arrival in hour 2: the optimum lands the 60-pax flight 1 at 180, at 60 x 50 minutes late, plus + its aircraft's 50 minutes.""" + task = outcapped_day() + sol = mip.solve(task) + assert sol.proven and replays(task, sol) + assert sol.deps == {0: 60, 1: 120, 2: 55} and sol.objective > mip.solve(replace(task, layers=None)).objective == 0 + + +def test_a_pinned_arrival_at_an_outstation_leaves_the_others_the_rest_of_its_hour(): + task = outcapped_day() + sol = mip.solve(task, fixed={1: 70}) + run = sim.execute(task, {**sol.plan(task.start), 1: {"left": 70}}) + assert sol.deps == {0: 120, 1: 70, 2: 55} == {i: r.dep for i, r in run.flights.items()} + assert run.cost.total == sol.objective + + +def test_a_pinned_departure_inside_a_ramp_closure_leaves_the_others_the_rest_of_its_cap(): + task = closed_day() + sol = mip.solve(task, fixed={1: 125}) + run = sim.execute(task, {**sol.plan(task.start), 1: {"left": 125}}) + assert all(d is None or not 120 <= d < 180 for i, d in sol.deps.items() if i != 1 and task.flight(i).orig == "JFK") + assert {i: r.dep for i, r in run.flights.items() if r.status == "flown"} == { + i: d for i, d in sol.deps.items() if d is not None} + assert run.cost.total == sol.objective + + +def test_a_pinned_arrival_inside_a_ramp_closure_leaves_the_others_the_rest_of_its_cap(): + task = closed_day(1) + sol = mip.solve(task, fixed={5: 110}) + run = sim.execute(task, {**sol.plan(task.start), 5: {"left": 110}}) + assert sol.deps[3] + 60 >= 180 + assert {i: r.dep for i, r in run.flights.items() if r.status == "flown"} == { + i: d for i, d in sol.deps.items() if d is not None} + assert run.cost.total == sol.objective diff --git a/tests/programs/test_layers.py b/tests/programs/test_layers.py new file mode 100644 index 0000000..0e1f4a5 --- /dev/null +++ b/tests/programs/test_layers.py @@ -0,0 +1,152 @@ +import json +from collections import Counter +from dataclasses import replace + +import pandas as pd +import pytest +from day_helpers import day, flight, outcapped, tail + +from agentenv_airops.programs import candidates, references +from agentenv_airops.programs.layers import arrcaps, depcaps +from agentenv_airops.programs.model import LAYERED, VERSION, Layers, Outcome, Task + + +@pytest.mark.parametrize("name", ["task", "crewed"]) +def test_a_task_without_layers_serialises_as_a_v2_task_byte_for_byte(name, request): + task = request.getfixturevalue(name) + line = task.to_json() + d = json.loads(line) + assert task.layers is None and "layers" not in d and d["version"] == VERSION + assert list(d)[-1] == "needs" + assert Task.from_dict(d).to_json() == line + + +def test_a_task_with_layers_round_trips_at_version_4(): + layers = Layers(dep_caps={"JFK": {17: 9, 18: 7}}, arr_caps={"PWM": {19: 2}}, + closures={"BOS": ((1000, 1045, 3, 2),)}, reserves={"JFK": 6}) + task = replace(day([flight(0, "JFK", "BUF", 1000, 60)], [tail("N1", "JFK", end="BUF")]), layers=layers) + d = json.loads(task.to_json()) + assert d["version"] == LAYERED == 4 and d["layers"]["dep_caps"] == {"JFK": {"17": 9, "18": 7}} + back = Task.from_dict(d) + assert back == task and back.to_json() == task.to_json() + + +def test_a_task_whose_layers_are_stripped_or_empty_serialises_as_the_v2_task(): + task = day([flight(0, "JFK", "BUF", 1000, 60)], [tail("N1", "JFK", end="BUF")]) + loaded = Task.from_dict(json.loads(replace(task, layers=Layers(dep_caps={"JFK": {16: 1}})).to_json())) + assert replace(loaded, layers=None).to_json() == task.to_json() + assert replace(task, layers=Layers()).to_json() == task.to_json() + + +def leaving_jfk(i: int, dep: int, pushed: int | None): + return flight(i, "JFK", "BUF", dep, 60, actual=Outcome(pushed is None, False, "", pushed, None, None, "N1")) + + +def test_depcaps_caps_only_short_hours_at_the_share_never_below_what_jetblue_pushed(): + """Every carrier at JFK, per hour (scheduled, pushed back): 17 (10, 6) and 18 (10, 5) short of 90%, 19 (10, 9) + not, 20 (4, 1) under MIN_SCHED, 21 (10, 2) short but with no JetBlue flight scheduled in it. JetBlue scheduled 4 + in hour 17 and pushed back 3 in it: max(3, 4/10 x 6) = 3; 2 in 18, one cancelled and one pushed back in 19: + max(0, 2/10 x 5) = 1. BOS had no JetBlue flight in the task.""" + base = 1_000_000 + flights = [leaving_jfk(0, 1020, 1030), leaving_jfk(1, 1030, 1040), leaving_jfk(2, 1040, 1050), + leaving_jfk(3, 1050, 1150), leaving_jfk(4, 1090, 1150), leaving_jfk(5, 1100, None), + leaving_jfk(6, 1140, 1145), leaving_jfk(7, 1200, 1210)] + task = replace(day(flights, [tail("N1", "JFK")], start=960), base=base) + rows = [("JFK", base + 60 * h + k, base + 60 * h + k + 5 if k < pushed else None) + for h, sched, pushed in ((17, 10, 6), (18, 10, 5), (19, 10, 9), (20, 4, 1), (21, 10, 2)) + for k in range(sched)] + rows += [("BOS", base + 60 * 17 + k, None) for k in range(10)] + frame = pd.DataFrame(rows, columns=["Origin", "sched_dep", "act_dep"]).astype({"act_dep": float}) + assert depcaps.build(task, frame) == {"JFK": {17: 3, 18: 1}} + assert depcaps.build(task, frame, short=0.5) == {} + assert depcaps.build(task, frame, min_sched=4) == {"JFK": {17: 3, 18: 1, 20: 1}} + + +def test_depcaps_on_the_slice_reads_the_bts_frame_and_keeps_jetblues_pushbacks_feasible(task, slice_inputs, tmp_path): + caps = depcaps.build(task, candidates.frame(slice_inputs, tmp_path, task.date)) + flew = Counter((f.orig, f.actual.dep // 60) for f in task.flights if f.actual.dep is not None) + assert caps == {"JFK": {17: 1, 18: 1, 19: 1}} + assert all(cap >= flew[(hub, h)] for hub, by in caps.items() for h, cap in by.items()) + + +@pytest.mark.parametrize("hub", ["JFK", "BOS"]) +def test_an_arrival_cap_at_a_hub_is_rejected_as_its_arrivals_answer_to_its_programs(hub): + with pytest.raises(ValueError, match=f"arrival caps at hub.*{hub}"): + Layers(arr_caps={"PWM": {19: 2}, hub: {19: 3}}) + d = Layers(arr_caps={"PWM": {19: 2}}).to_dict() + with pytest.raises(ValueError, match=hub): + Layers.from_dict(d | {"arr_caps": d["arr_caps"] | {hub: {"19": 3}}}) + + +def into(i: int, orig: str, dest: str, dep: int, block: int, gated: int | None, end: str | None = None): + """A JetBlue flight scheduled to land at dep + block, gated in at `gated` (None: it didn't fly) at `end`.""" + return flight(i, orig, dest, dep, block, actual=Outcome(gated is None, False, "", None if gated is None else dep, + gated, end or (None if gated is None else dest), "N1")) + + +def test_arrcaps_caps_only_short_hours_at_outstations_at_the_share_never_below_what_the_replay_lands(): + """Every carrier at PWM, per hour (scheduled, arrived): 14 (10, 2), before the first watch's hour 15; 16 (10, 5), + 17 (10, 6) and 18 (10, 2) short of 90%; 19 (10, 9) exactly at it, not short; 20 (4, 1) under MIN_SCHED; 21 (10, 2) + short but with no JetBlue flight scheduled to land in it. JetBlue's flights into PWM, by the hour the replay lands + them (pushback plus block): in 14 one, outside the span; in 16 three, two cancelled: max(1, 3/10 x 5 = 1.5) = 2, + rounded to the nearest flight; in 17 four, one of them gating in only in hour 19: max(4, 4/10 x 6 = 2.4) = 4; in 18 + two, one cancelled and one diverted to BOS, which the replay still lands at PWM: max(1, 2/10 x 2 = 0.4) = 1; in 19 + one; in 20 one: max(1, 1/4 x 1) = 1. A flight bound for BUF that diverted into PWM in hour 17 doesn't count there. + JFK, short at 17, is a hub: its arrivals answer to its programs.""" + base = 1_000_000 + flights = [into(0, "JFK", "PWM", 960, 60, 1030), into(1, "JFK", "PWM", 970, 60, 1040), + into(2, "BOS", "PWM", 990, 40, 1050), into(3, "JFK", "PWM", 1000, 60, 1150), + into(4, "JFK", "PWM", 1030, 60, None), into(5, "JFK", "PWM", 1040, 60, 1110, end="BOS"), + into(6, "JFK", "PWM", 1100, 60, 1165), into(7, "PWM", "JFK", 1000, 60, 1070), + into(8, "JFK", "BUF", 980, 60, 1060, end="PWM"), into(9, "JFK", "PWM", 1150, 60, 1215), + into(10, "JFK", "PWM", 790, 60, 850), into(11, "JFK", "PWM", 920, 60, 985), + into(12, "JFK", "PWM", 930, 60, None), into(13, "JFK", "PWM", 940, 60, None)] + task = replace(day(flights, [tail("N1", "JFK")], start=900), base=base) + rows = [("PWM", base + 60 * h + k, base + 60 * h + k + 5 if k < arrived else None) + for h, sched, arrived in ((14, 10, 2), (16, 10, 5), (17, 10, 6), (18, 10, 2), (19, 10, 9), (20, 4, 1), + (21, 10, 2)) + for k in range(sched)] + rows += [("JFK", base + 60 * 17 + k, None) for k in range(10)] + frame = pd.DataFrame(rows, columns=["Dest", "sched_arr", "act_arr"]).astype({"act_arr": float}) + assert arrcaps.build(task, frame) == {"PWM": {16: 2, 17: 4, 18: 1}} + assert arrcaps.build(task, frame, short=0.5) == {"PWM": {18: 1}} + assert arrcaps.build(task, frame, min_sched=4) == {"PWM": {16: 2, 17: 4, 18: 1, 20: 1}} + + +def test_the_airline_replay_of_a_diversion_and_a_late_gate_in_inside_built_caps_flies_as_on_the_uncapped_day(): + """N1's JFK-PWM pushed back at 100 and diverted to BOS; N2's JFK-BUF pushed back at 110 and gated in only at 300. + The replay lands both in hour 2, which every carrier's arrivals (one of five) cap at none by the share alone: the + floor at what the replay lands keeps both in it, so the replay is the uncapped day's.""" + base = 1_000_000 + task = replace(day([into(0, "JFK", "PWM", 100, 60, 200, end="BOS"), into(1, "JFK", "BUF", 110, 60, 300)], + [tail("N1", "JFK", end="BOS"), tail("N2", "JFK", end="BUF")]), base=base) + task = replace(task, flights=(task.flights[0], replace(task.flights[1], actual=replace(task.flights[1].actual, + tail="N2")))) + rows = [(s, base + 120 + k, base + 125 if k == 0 else None) for s in ("PWM", "BUF") for k in range(5)] + frame = pd.DataFrame(rows, columns=["Dest", "sched_arr", "act_arr"]).astype({"act_arr": float}) + caps = arrcaps.build(task, frame) + assert caps == {"BUF": {2: 1}, "PWM": {2: 1}} + capped, free = references.airline(outcapped(task, caps)), references.airline(task) + assert capped.auto == free.auto == 0 and capped.run.cost == free.run.cost and capped.run.rows() == free.run.rows() + + +def test_the_airline_replay_under_built_caps_on_the_fixture_day_flies_as_on_the_uncapped_day(task, slice_inputs, + tmp_path): + caps = arrcaps.build(task, candidates.frame(slice_inputs, tmp_path, task.date), min_sched=1) + capped, free = references.airline(outcapped(task, caps)), references.airline(task) + assert capped.auto == free.auto and capped.run.cost == free.run.cost and capped.run.rows() == free.run.rows() + + +def test_arrcaps_on_the_slice_reads_the_bts_frame_and_keeps_the_replays_arrivals_within_its_caps(task, slice_inputs, + tmp_path): + """The slice holds few flights per outstation hour, under MIN_SCHED; counting every hour with one scheduled caps + PBI's hour 20 (JetBlue's two scheduled, one of the two arrived there) at one, and the hours whose one flight, + JetBlue's cancelled one, never arrived at none.""" + frame = candidates.frame(slice_inputs, tmp_path, task.date) + assert arrcaps.build(task, frame) == {} + caps = arrcaps.build(task, frame, min_sched=1) + assert caps == {"ATL": {23: 0}, "BUF": {21: 0}, "DTW": {23: 0}, "PBI": {20: 1}, "PWM": {19: 0}, "RNO": {26: 0}, + "SMF": {24: 0}} + landed = Counter((f.dest, (f.actual.dep + f.block) // 60) for f in task.flights if f.actual.dep is not None) + assert all(cap >= landed[(s, h)] for s, by in caps.items() for h, cap in by.items()) + assert not set(caps) & {"JFK", "BOS"} diff --git a/tests/programs/test_network.py b/tests/programs/test_network.py index 797a637..b7e29bd 100644 --- a/tests/programs/test_network.py +++ b/tests/programs/test_network.py @@ -4,13 +4,17 @@ from datetime import date, timedelta import pandas as pd +import pytest from day_helpers import TURN, day, flight, tail from program_helpers import CACHE, DATE, DERIVED, WINDOW, needs_cache from agentenv_airops.build import pack from agentenv_airops.build.fleet import Aircraft -from agentenv_airops.programs import candidates, mip, network, references, sim, unseen -from agentenv_airops.programs.model import Busy, Move, Outcome, Tail, Task +from agentenv_airops.programs import candidates, mip, network, references, repairs, sim, unseen +from agentenv_airops.programs.advisories import HUBS +from agentenv_airops.programs.cost import cancel_price +from agentenv_airops.programs.layers import arrcaps, closures, config, depcaps, weather +from agentenv_airops.programs.model import LAGS, LAYERED, Busy, Layers, Move, Outcome, Tail, Task START = 360 RECORD = ("Tail_Number", "Origin", "Dest", "sd", "sa", "ad", "aa", "CRSElapsedTime", "Cancelled", "end") @@ -262,3 +266,88 @@ def test_storm_dates_union_the_hub_candidates_and_the_control_rule_picks_two_dat assert Counter(storms.values()) == {("JFK", "BOS"): 87, ("JFK",): 67, ("BOS",): 53} assert network.control_dates(CACHE, DERIVED) == {"2024-07-03": {"JFK": (1080, 1320), "BOS": (1020, 1260)}, "2025-01-15": {"JFK": (1080, 1320), "BOS": (420, 660)}} + + + +def test_a_storm_date_with_crew_and_layers_carries_the_builders_layers_and_without_them_is_unchanged( + slice_inputs, fits, tmp_path_factory): + """With crew bases every leg has build_candidate's crew and the task its bases; with a layer config its layers are + the builders' on the date's frame and closures, the pools at its bases, the closure rates and the hubs' weather + news at the default lags (the desk's view, sim.known); stripped of both it is the plain build + byte for byte. Layered, its airline replay auto-cancels what the crew alone does (from 04:00 the crew model times + out a leg on this date), flies what the plain replay flies, is a solution of the model at its cost, and the + optimum replays exactly.""" + derived = tmp_path_factory.mktemp("derived") + ones = {"JFK": 1.0, "BOS": 1.0} + e_fit, e_median = unseen.table(fits, ones) + args = (DATE, ("JFK",), slice_inputs, derived, e_fit, e_median, ones) + plain = network.build(*args, windows={"JFK": WINDOW}, split="control").task + cfg = config.Config(rate={"JFK": 0.7, "BOS": 0.75}, reserves={"JFK": 2, "BOS": 1, "SJU": 3}, dates=("2023-06-25",)) + built = network.build_all([(DATE, ("JFK",), {"JFK": WINDOW}, "control")], slice_inputs, derived, e_fit, e_median, + ones, bases=repairs.BASES, layers=cfg) + task = built[0].task + assert task.bases == repairs.BASES and all(f.crew is not None for f in task.flights) + assert any(f.crew.deadline is not None for f in task.flights) + frame = candidates.frame(slice_inputs, derived, DATE) + spans = config.spans(slice_inputs, tuple(candidates.months_of(DATE))) + assert task.layers == Layers(depcaps.build(task, frame), arrcaps.build(task, frame), + closures.build(task, spans, cfg.rate), {"JFK": 2, "BOS": 1}, + weather=weather.build(task, slice_inputs), rates=cfg.rate) + assert task.layers.dep_caps and task.layers.closures and task.layers.weather and task.layers.lags == LAGS + line = task.to_json() + assert json.loads(line)["version"] == LAYERED and Task.from_dict(json.loads(line)).to_json() == line + bare = replace(task, bases=(), layers=None, flights=tuple(replace(f, crew=None) for f in task.flights)) + assert bare.to_json() == plain.to_json() + replay, crewed = references.airline(task), references.airline(replace(task, layers=None)) + assert replay.auto == crewed.auto and replay.flew == references.airline(plain).flew + price = {f.id: cancel_price(f, task.start if replay.run.flights[f.id].decided is None + else replay.run.flights[f.id].decided) for f in task.flights} + net = mip.Network(task, price=price) + x = net.vector(replay.run) + assert x is not None and all(lo - 1e-6 <= sum(v * x[c] for c, v in coefs.items()) <= up + 1e-6 + for coefs, lo, up in net.m.rows) + assert round(sum(c * v for c, v in zip(net.m.cost, x, strict=True))) == replay.run.cost.total + sol = mip.solve(task, start=replay.run) + run = sim.execute(task, sol.plan(task.start)) + assert sol.proven and run.cost.total == sol.objective <= replay.run.cost.total + assert all((run.flights[i].dep if run.flights[i].status == "flown" else None) == d for i, d in sol.deps.items()) + + +def test_the_follower_plays_a_layered_storm_date_through_a_closure_the_desk_prices_at_the_fitted_rate( + slice_inputs, fits, tmp_path_factory): + """The slice's layered date has a watch inside a JFK closure: the day as known there prices the closure at + the rate the build carries (without it, sim.known can't), and the follower plays every watch to a proven optimum, + no cheaper than hindsight's.""" + ones = {"JFK": 1.0, "BOS": 1.0} + e_fit, e_median = unseen.table(fits, ones) + cfg = config.Config(rate={"JFK": 0.7, "BOS": 0.75}, reserves={"JFK": 2, "BOS": 1}, dates=("2023-06-25",)) + task = network.build(DATE, ("JFK",), slice_inputs, tmp_path_factory.mktemp("derived"), e_fit, e_median, ones, + windows={"JFK": WINDOW}, split="control", bases=repairs.BASES, layers=cfg).task + ts = references.watch_times(task) + a, t = next((a, t) for a, b, _, _ in task.layers.closures["JFK"] for t in ts if a <= t < b) + assert task.layers.rates == cfg.rate and sim.known(task, t).closures["JFK"][-1][:2] == (a, t + sim.GUESS) + with pytest.raises(ValueError, match="no rate"): + sim.known(replace(task, layers=replace(task.layers, rates={})), t) + followed = references.follow(task) + assert [w["t"] for w in followed.watches] == ts and all(w["status"] == "Optimal" for w in followed.watches) + assert followed.cost == sim.execute(task, followed.plan).cost.total >= mip.solve(task).objective + + +@needs_cache +def test_the_follower_plays_a_real_layered_storm_date_through_its_closures_and_event_watches(): + """15 July 2024 (BOS closes three times) with crew and every layer at the pack's fitted constants: the watches wake + on its events, the day as known prices the closures under way at the build's rates, and the follower proves every + watch, no cheaper than hindsight's optimum.""" + d = "2024-07-15" + storms, _ = network.storms(CACHE, ("2024-07",)) + ones = dict.fromkeys(HUBS, 1.0) + e_fit, e_median = unseen.table(candidates.e_table(CACHE, DERIVED), ones) + cfg = config.Config(rate={"BOS": 0.678, "JFK": 0.755}, reserves={"BOS": 1, "FLL": 1, "JFK": 1, "MCO": 3}) + task = network.build(d, storms[d], CACHE, DERIVED, e_fit, e_median, ones, bases=repairs.BASES, layers=cfg).task + ts = references.watch_times(task) + assert task.layers.closures["BOS"] and task.layers.weather and any(t % 60 != task.start % 60 for t in ts) + under = [t for t in ts if any(a <= t < b for a, b, _, _ in task.layers.closures["BOS"])] + assert under and all(sim.known(task, t).closures["BOS"][-1][1] == t + sim.GUESS for t in under) + followed = references.follow(task, time_limit=600.0) + assert [w["t"] for w in followed.watches] == ts and all(w["status"] == "Optimal" for w in followed.watches) + assert followed.cost == sim.execute(task, followed.plan).cost.total >= mip.solve(task).objective diff --git a/tests/programs/test_probe.py b/tests/programs/test_probe.py new file mode 100644 index 0000000..074b33b --- /dev/null +++ b/tests/programs/test_probe.py @@ -0,0 +1,55 @@ +from day_helpers import day, flight, tail + +from agentenv_airops.programs import probe, references, sim +from agentenv_airops.programs.model import Outcome + + +def cancelled(i, orig, dest, dep, block=60): + return flight(i, orig, dest, dep, block, actual=Outcome(True, False, "B", None, None, None, "N1")) + + +def out_and_back(): + """N1 flies JFK-BUF and back; JetBlue cancelled the JFK-BOS turn after it (the aircraft is due at JFK).""" + return day([flight(0, "JFK", "BUF", 100, 60), flight(1, "BUF", "JFK", 200, 60), + cancelled(2, "JFK", "BOS", 320), cancelled(3, "BOS", "JFK", 440)], + [tail("N1", "JFK", end="JFK")]) + + +def test_an_out_and_back_flies_for_free_only_as_a_pair_and_its_restore_counts_once(): + task = out_and_back() + plan = references.airline_plan(task) + base = sim.execute(task, plan) + alone = probe.restore(task, plan, base, [2]) + assert alone.flew and not alone.knocked and alone.d_ferry > 0 and alone.verdict == "strands" + assert probe.restore(task, plan, base, [3]).verdict == "forced" + assert probe.partner(task.flight(3), [task.flight(2), task.flight(3)]) == task.flight(2) + p = probe.probe(task) + assert p.rows == {2: "pair_clean", 3: "pair_clean"} and p.restores == {(2, 3): "pair_clean"} + assert (p.cancelled, p.feasible, p.feasible_rows) == (2, 1, 2) + assert p.to_dict()["pairs"] == 1 and p.to_dict()["restore_verdicts"] == {"pair_clean": 1} + + +def test_a_restore_that_takes_a_flown_flights_aircraft_displaces_it(): + task = day([cancelled(0, "JFK", "BOS", 100), flight(1, "JFK", "PWM", 110, 60, deadline=200)], + [tail("N1", "JFK", end="BOS")]) + p = probe.probe(task) + assert p.rows == {0: "displaces"} and p.feasible == 0 + plan = references.airline_plan(task) + r = probe.restore(task, plan, sim.execute(task, plan), [0]) + assert r.knocked == (1,) and r.flew + + +def test_restoring_nothing_is_clean_and_a_day_without_cancellations_has_none(): + task = out_and_back() + plan = references.airline_plan(task) + none = probe.restore(task, plan, sim.execute(task, plan), []) + assert none.verdict == "clean" and none.d_cost == 0 + flown = day([flight(0, "JFK", "BUF", 100, 60)], [tail("N1", "JFK", end="BUF")]) + assert probe.probe(flown).to_dict() == {"cancelled": 0, "feasible": 0, "feasible_rows": 0, "restores": 0, + "pairs": 0, "verdicts": {}, "restore_verdicts": {}} + + +def test_a_restore_that_moves_another_flight_past_shift_ok_displaces_it(): + late = probe.Restore((5,), True, (), probe.SHIFT_OK + 1, 0, 0) + assert late.verdict == "displaces" and probe.Restore((5,), True, (), probe.SHIFT_OK, 0, 0).verdict == "clean" + assert probe.Restore((5,), False, (), 0, 0, 0).verdict == "forced" diff --git a/tests/programs/test_reference_plays.py b/tests/programs/test_reference_plays.py index 4eab8b4..c8efcdf 100644 --- a/tests/programs/test_reference_plays.py +++ b/tests/programs/test_reference_plays.py @@ -2,7 +2,20 @@ from dataclasses import replace import pytest -from day_helpers import GDP, crewed, day, flight, network_day, random_day, shortened, stop, tail +from day_helpers import ( + GDP, + based, + crewed, + day, + flight, + network_day, + random_day, + reserve_day, + reserved, + shortened, + stop, + tail, +) from program_helpers import adv from agentenv_airops.programs import mip, references, sim @@ -178,6 +191,62 @@ def test_the_airline_replay_counts_no_leg_whose_aircraft_came_on_a_leg_flown_pas assert references.counted(task) == [2] and (replay.flew, replay.auto) == (1, 0) +def test_the_airline_replay_calls_a_reserve_for_each_base_departure_flown_past_its_crew_deadline(): + """JetBlue flew both JFK departures past their crew deadline (150): with two reserves the replay is the one with + unlimited reserves; with one the first by id flies on it and the other auto-cancels at its crew deadline.""" + flights = [based(flight(0, "JFK", "BUF", 100, 60, deadline=700, + actual=Outcome(False, False, "", 200, 260, "BUF", "N1")), 150), + based(flight(1, "JFK", "PWM", 105, 70, deadline=700, + actual=Outcome(False, False, "", 205, 275, "PWM", "N2")), 150), + based(flight(2, "JFK", "DCA", 110, 60, actual=Outcome(False, False, "", 120, 180, "DCA", "N3")), 150)] + task = day(flights, [tail("N1", "JFK", end="BUF"), tail("N2", "JFK", end="PWM"), tail("N3", "JFK", end="DCA")]) + v2 = references.airline(task).run + plan = references.airline_plan(reserved(task, {"JFK": 1})) + assert [plan[i].get("reserve", False) for i in range(3)] == [True, True, False] + assert "reserve" not in str(references.airline_plan(task)) + assert references.airline(reserved(task, {"JFK": 2})).run.rows() == v2.rows() + one = references.airline(reserved(task, {"JFK": 1})) + assert [(r.status, r.dep, r.decided) for r in one.run.flights.values()] == [ + ("flown", 200, None), ("auto_cancelled", None, 150), ("flown", 120, None)] + assert one.auto == 1 and references.airline(task).auto == 0 + + +def test_the_airline_replay_calls_a_reserve_for_a_base_departure_its_aircraft_makes_leave_past_its_crew_deadline(): + """JetBlue left at 140, before the crew deadline (150), but the replay's aircraft is ready only at 170: the call + follows the replay's departure, so with a pool to spare the replay is the one with unlimited reserves.""" + flights = [based(flight(0, "JFK", "BUF", 100, 60, deadline=700, + actual=Outcome(False, False, "", 140, 200, "BUF", "N1")), 150)] + task = day(flights, [tail("N1", "JFK", ready=170, end="BUF")]) + v2 = references.airline(task) + assert [(r.status, r.dep) for r in v2.run.flights.values()] == [("flown", 170)] + assert references.airline_plan(reserved(task, {"JFK": 5}))[0]["reserve"] + assert references.airline(reserved(task, {"JFK": 5})).run.rows() == v2.run.rows() + none = references.airline(reserved(task, {"JFK": 0})) + assert [(r.status, r.decided) for r in none.run.flights.values()] == [("auto_cancelled", 150)] and none.auto == 1 + + +def test_the_airline_replay_on_the_crewed_evening_with_empty_pools_is_its_v2_replay(crewed): + """Neither JetBlue nor its replay with unlimited reserves flew a departure from a base past its crew deadline on the + fixture evening, so with every base's pool empty the replay calls no reserve and flies as with unlimited + reserves.""" + task = reserved(crewed, {b: 0 for b in crewed.bases}) + assert sum(task.reservable(f) for f in task.flights) > 0 + assert not [f for f in task.flights if f.actual.dep is not None and task.late(f, f.actual.dep)] + assert "reserve" not in str(references.airline_plan(task)) + assert references.airline(task).run.rows() == references.airline(crewed).run.rows() + + +def test_the_follower_keeps_its_solves_reserve_calls_and_the_day_so_far_keeps_them_on_flights_gone(): + task = reserve_day() + followed = references.follow(task) + assert followed.plan[1].get("reserve") and followed.run.reserved == {1} + assert followed.run.flights[1].status == "flown" and followed.run.flights[0].status != "flown" + assert followed.cost == references.anchor(task)[1].cost.total + past = references.so_far(task, followed.plan, followed.run.flights[1].dep + 1) + assert past[1] == {"left": followed.run.flights[1].dep, "reserve": True} + assert "reserve" not in str(references.follow(replace(task, layers=None)).plan) + + def test_no_reference_costs_less_than_the_anchor(fixture_day): none_below_the_anchor(fixture_day) diff --git a/tests/programs/test_v3_check.py b/tests/programs/test_v3_check.py new file mode 100644 index 0000000..ed8fec9 --- /dev/null +++ b/tests/programs/test_v3_check.py @@ -0,0 +1,77 @@ +import importlib.util +import sys + +from program_helpers import ROOT + +sys.path.insert(0, str(ROOT / "scripts")) # v3_check imports v3_pack and world_check beside it, as a script run does +SPEC = importlib.util.spec_from_file_location("v3_check", ROOT / "scripts" / "v3_check.py") +v3_check = importlib.util.module_from_spec(SPEC) +SPEC.loader.exec_module(v3_check) + + +def refs(anchor=100, naive=110, follower=104, recorded=120, cancels=(3, 1), jetblue=(10, 90), free=6, flown=88, + within=80, proven=True, exact=True, split="eval"): + """A task's references as v3_pack.refs writes them, the numbers the criteria read.""" + return {"split": split, "refs": ["naive", "anchor", "follower", "recorded"], + "anchor": {"objective": anchor, "total": anchor, "proven": proven, "exact": exact, "status": "Optimal", + "gap_pct": 0.0 if proven else 4.0, "cancelled": cancels[0], "auto_cancelled": cancels[1]}, + "naive": {"total": naive}, "follower": {"total": follower}, "recorded": {"total": recorded}, + "jetblue": {"cancelled": jetblue[0], "flown": jetblue[1]}, + "probe": {"feasible": free, "cancelled": jetblue[0]}, + "fidelity": {"flown": flown, "jetblue_flown": jetblue[1], "within": within}} + + +TESTS = {"agreement": {"pass": True, "summary": "40 passed"}, "playable": {"pass": True, "summary": "1 passed"}} + + +def test_harder_compares_the_median_excesses_over_the_anchor_on_the_same_dates(): + v2 = {"a": refs(naive=110, follower=102), "b": refs(naive=106, follower=104), "c": refs(naive=200)} + v3 = {"a": refs(naive=115, follower=103), "b": refs(naive=113, follower=106)} + c = v3_check.criteria(v3, v2, TESTS) + do = c["harder_do_nothing"] + assert (do["n"], do["v3"], do["v2"], do["value"], do["pass"]) == (2, 0.14, 0.08, 1.75, True) + f = c["harder_follower"] + assert (f["v3"], f["v2"], f["value"], f["pass"]) == (0.045, 0.03, 1.5, True) + v3["b"]["follower"]["total"] = 105 + assert not v3_check.criteria(v3, v2, TESTS)["harder_follower"]["pass"] + + +def test_an_unproven_anchor_drops_its_date_from_the_excesses_and_is_flagged_not_failed(): + v2 = {"a": refs(), "b": refs(naive=150)} + v3 = {"a": refs(naive=130), "b": refs(naive=101, proven=False)} + c = v3_check.criteria(v3, v2, TESTS) + assert c["harder_do_nothing"]["n"] == 1 and c["harder_do_nothing"]["value"] == 3.0 + p = c["sound_anchors_proven"] + assert p["pass"] and p["flagged"] == {"b": {"status": "Optimal", "gap_pct": 4.0}} and p["value"] == 1 + v3["b"]["anchor"] = {"error": "RuntimeError: boom"} + p = v3_check.criteria(v3, v2, TESTS)["sound_anchors_proven"] + assert not p["pass"] and p["failed"] == ["b"] + assert not v3_check.criteria(v3, v2, TESTS)["sound_anchors_exact"]["pass"] + + +def test_realistic_pools_the_counts_over_the_dates_and_compares_with_v2(): + v2 = {"a": refs(cancels=(2, 0), free=7, within=86), "b": refs(cancels=(1, 0), free=6, within=84)} + v3 = {"a": refs(cancels=(3, 1), free=5, flown=88, within=80), + "b": refs(cancels=(3, 0), free=4, flown=87, within=79), "x": refs(split="control", cancels=(0, 0))} + c = v3_check.criteria(v3, v2, TESTS) + o = c["realistic_optimum_cancels"] + assert (o["v3"], o["v2"], o["v3_counts"], o["pass"]) == (0.35, 0.15, [7, 20], True) + free = c["realistic_free_share"] + assert (free["v3"], free["v2"], free["pass"]) == (0.45, 0.65, True) + flown = c["realistic_replay_flown"] + assert (flown["v3"], flown["v3_counts"], flown["pass"]) == (0.9722, [175, 180], True) + within = c["realistic_replay_within_15"] + assert within["v3"] == round(159 / 175, 4) and within["v2"] == round(170 / 176, 4) and not within["pass"] + assert c["realistic_recorded_excess"]["v3"] == c["realistic_recorded_excess"]["v2"] == 0.2 + assert not c["realistic_recorded_excess"]["pass"] + v3["a"]["probe"]["feasible"] = 8 + assert not v3_check.criteria(v3, v2, TESTS)["realistic_free_share"]["pass"] + + +def test_sound_and_playable_read_the_anchors_and_the_tests_and_a_test_not_run_fails(): + v3 = {"a": refs(), "x": refs(split="control", exact=False)} + c = v3_check.criteria(v3, {"a": refs()}, TESTS) + assert c["sound_anchors_exact"]["not_exact"] == ["x"] and not c["sound_anchors_exact"]["pass"] + assert c["sound_agreement_tests"]["pass"] and c["playable"]["value"] == "1 passed" + c = v3_check.criteria(v3, {"a": refs()}, {}) + assert not c["playable"]["pass"] and c["playable"]["value"] == "not run" diff --git a/tests/programs/test_v3_pack.py b/tests/programs/test_v3_pack.py new file mode 100644 index 0000000..e774508 --- /dev/null +++ b/tests/programs/test_v3_pack.py @@ -0,0 +1,164 @@ +import errno +import importlib.util +import json +import sys +from dataclasses import replace + +import pytest +from day_helpers import day, flight, tail +from program_helpers import CACHE, DERIVED, ROOT, needs_cache + +from agentenv_airops.build import fetch +from agentenv_airops.programs import candidates, network, rbs, references, unseen +from agentenv_airops.programs.candidates import Built +from agentenv_airops.programs.layers import config +from agentenv_airops.programs.model import LAYERED, Task + +sys.path.insert(0, str(ROOT / "scripts")) # v3_pack imports world_check beside it, as a script run does +SPEC = importlib.util.spec_from_file_location("v3_pack", ROOT / "scripts" / "v3_pack.py") +v3_pack = importlib.util.module_from_spec(SPEC) +sys.modules["v3_pack"] = v3_pack # its build workers' function is pickled by module name +SPEC.loader.exec_module(v3_pack) +MONTHS = ("2023-12", "2024-01", "2025-01", "2026-01") +CONTROL = ("2025-02-04", {"BOS": (420, 660)}) + + +@needs_cache +def test_the_pack_splits_and_fits_on_its_train_dates_and_a_quick_run_writes_the_full_packs_tasks(tmp_path, + monkeypatch): + """Over the storm dates of four winter months (so the test builds 23, not 207; with two every event has an eval + date, network.split, and none trains) and one control date: every split + date is written with layers and no crews (v3's default) at constants fitted on the train dates, rescaled to the + unseen scale fitted on them, the control after them alike; `--only` two of them, resumed, writes those same + lines.""" + storms, counts = network.storms(CACHE, MONTHS) + monkeypatch.setattr(network, "storms", lambda inputs: (storms, counts)) + monkeypatch.setattr(network, "control_dates", lambda inputs, derived: dict([CONTROL])) + v3_pack.main(["--out", str(tmp_path), "--workers", "4"]) + manifest = json.loads((tmp_path / "manifest.json").read_text()) + lines = (tmp_path / "tasks.jsonl").read_text().splitlines() + control = Task.from_dict(json.loads(lines.pop())) + assert control.split == "control" and control.date == CONTROL[0] and not control.bases and control.layered + assert manifest["controls"] == {CONTROL[0]: {"hubs": ["BOS"], "windows": {"BOS": [420, 660]}, + "task_id": control.task_id}} + rows = {d: json.loads((tmp_path / "built" / f"{d}.json").read_text())["task"] for d in storms} + built = {d: tuple(task["hubs"]) for d, task in rows.items() if task} + split = network.split(built, candidates.events(storms), 0) + train = sorted(d for d, v in split.items() if v == "train") + assert manifest["split"] == split and manifest["constants"]["dates"] == train and train + assert manifest["constants"]["reserves"] == {} and manifest["bases"] == [] + assert (manifest["constants"]["short"], manifest["constants"]["min_sched"]) == (0.9, 5) + tasks = [Task.from_dict(json.loads(line)) for line in lines] + assert [t.date for t in tasks] == sorted(split) and all(t.split == split[t.date] for t in tasks) + assert all(json.loads(line)["version"] == LAYERED for line in lines) + assert all(not t.bases and not any(f.crew for f in t.flights) and not t.layers.reserves for t in tasks) + assert manifest["counts"]["total"]["flights"] == sum(len(t.flights) for t in [*tasks, control]) + fits = candidates.e_table(CACHE, DERIVED) + plain = {d: Task.from_dict(json.loads((tmp_path / "built" / f"{d}.json").read_text())["task"]) for d in split} + scale = unseen.fit_scale([plain[d] for d in train], fits) + assert manifest["scale"] == scale and scale != dict.fromkeys(scale, 1.0) + cfg, shipped = config.Config.from_dict(manifest["constants"]), unseen.table(fits, scale) + assert [t.to_json() for t in tasks] == [ + network.layered(rbs.rescale(replace(plain[d], split=split[d]), scale, *shipped), cfg, CACHE, DERIVED).to_json() + for d in sorted(split)] + held = Task.from_dict(json.loads((tmp_path / "built" / f"control-{CONTROL[0]}.json").read_text())["task"]) + assert control.to_json() == network.layered(rbs.rescale(replace(held, split="control"), scale, *shipped), cfg, + CACHE, DERIVED).to_json() + assert any(t.layers.dep_caps for t in tasks) and any(t.layers.arr_caps for t in tasks) + assert all(t.layers.rates == manifest["constants"]["rate"] and t.layers.weather for t in tasks) + tafs = sum(k == "taf" for t in [*tasks, control] for _, k, _, _ in t.layers.weather) + assert manifest["counts"]["total"]["weather"]["taf"] == tafs > 0 + for key in ("iem/speci/JFK_2026_01.csv", "iem/metar/BOS_2023_12.csv", "bts/ontime_2026_07.zip", + "iem/afos/TAFBOS_2023_12.txt"): + assert manifest["inputs"][key] == fetch.sha256(CACHE / key) + + chosen = [min(train), min(d for d, v in split.items() if v == "eval")] + stamps = {d: (tmp_path / "built" / f"{d}.json").stat().st_mtime_ns for d in [*storms, f"control-{CONTROL[0]}"]} + v3_pack.main(["--out", str(tmp_path), "--workers", "4", "--resume", "--only", ",".join(chosen)]) + assert stamps == {d: (tmp_path / "built" / f"{d}.json").stat().st_mtime_ns for d in stamps} + quick = (tmp_path / "tasks.jsonl").read_text().splitlines() + assert quick == [lines[sorted(split).index(d)] for d in sorted(chosen)] + assert json.loads((tmp_path / "manifest.json").read_text())["constants"] == manifest["constants"] + + +def test_a_resumed_pack_keeps_each_dates_build_and_rebuilds_a_date_left_unbuilt_or_cut_short(tmp_path): + """A date an earlier run couldn't build (its input since fetched) or whose file a killed run cut short is built + again; a built date is read back as it was written, and one the build's rules left out is kept left out.""" + task = replace(day([flight(0, "JFK", "BUF", 100, 60)], [tail("N1", "JFK")]), date="2023-12-03") + v3_pack.save(tmp_path / "2023-12-03.json", Built(task, {"date": "2023-12-03"})) + v3_pack.save(tmp_path / "2023-12-04.json", Built(None, {"date": "2023-12-04", "reason": "error: registry"})) + (tmp_path / "2023-12-05.json").write_text('{"row": {"date": "2023-12-05", "hu') + left = {"date": "2023-12-07", "reason": "fewer than 5 JetBlue flights controlled or held"} + v3_pack.save(tmp_path / "2023-12-07.json", Built(None, left)) + kept = v3_pack.kept(tmp_path, ["2023-12-03", "2023-12-04", "2023-12-05", "2023-12-06", "2023-12-07"]) + assert list(kept) == ["2023-12-03", "2023-12-07"] and kept["2023-12-03"].task.to_json() == task.to_json() + assert kept["2023-12-07"] == Built(None, left) + assert sorted(p.name for p in tmp_path.iterdir()) == ["2023-12-03.json", "2023-12-04.json", "2023-12-05.json", + "2023-12-07.json"] + + +def test_a_date_missing_an_input_is_unbuilt_with_its_reason_and_any_other_error_stops_the_pack(monkeypatch): + def missing(job): + raise FileNotFoundError("cache/inputs/faa/ReleasableAircraft.zip") + + monkeypatch.setattr(network, "build_one", missing) + b = v3_pack.build_one(("2026-07-02", ("JFK",))) + assert b.task is None and b.row == {"date": "2026-07-02", "hubs": ["JFK"], "task_id": None, + "reason": "error: FileNotFoundError: cache/inputs/faa/ReleasableAircraft.zip"} + monkeypatch.setattr(network, "build_one", lambda job: {}["N3291J"]) + with pytest.raises(KeyError): + v3_pack.build_one(("2026-07-02", ("JFK",))) + + def too_many(job): + raise OSError(errno.EMFILE, "Too many open files") + + monkeypatch.setattr(network, "build_one", too_many) + with pytest.raises(OSError): + v3_pack.build_one(("2026-07-02", ("JFK",))) + + +def test_only_names_each_date_once(): + assert v3_pack.dates_of(" 2024-08-06,2024-07-15,,2024-08-06 ") == ["2024-07-15", "2024-08-06"] + assert v3_pack.dates_of("") == [] + + +def test_the_refs_stage_stores_world_checks_references_the_probe_and_the_costs_a_load_reads(tmp_path, crewed): + """On the fixture slice's crewed evening and the same day as a control, at small time limits: one JSON per task + with world_check's references (the flat anchor on the control alone), the replay's fidelity and the probe; refs.json + the anchor's and the follower's costs with the task's digest; a rerun keeps every result and runs nothing.""" + control = replace(crewed, task_id=crewed.task_id + "-c", split="control") + got = v3_pack.refs(tmp_path, [crewed, control], 2, (60.0, 30.0)) + r, c = got[crewed.task_id], got[control.task_id] + for k in (*v3_pack.REFS, "fidelity", "probe", "jetblue"): + assert "error" not in r[k], (k, r[k]) + assert "flat" in c and "flat" not in r and not v3_pack.failed(got) + assert r["anchor"]["proven"] and r["anchor"]["exact"] and r["follower"]["total"] >= r["anchor"]["objective"] + assert r["jetblue"]["cancelled"] == r["probe"]["cancelled"] == sum(f.actual.dep is None for f in crewed.flights) + assert r["fidelity"]["flown"] <= r["fidelity"]["jetblue_flown"] == r["jetblue"]["flown"] + assert json.loads((tmp_path / "refs" / f"{crewed.task_id}.json").read_text()) == r + assert json.loads((tmp_path / "refs.json").read_text())[crewed.task_id] == { + "anchor": r["anchor"]["total"], "follower": r["follower"]["total"], "task": references.digest(crewed)} + + def rerun(job): + raise AssertionError(f"ran {job[0]} again") + + monkey = pytest.MonkeyPatch() + monkey.setattr(v3_pack, "refs_job", rerun) + try: + assert v3_pack.refs(tmp_path, [crewed, control], 2, (60.0, 30.0)) == got + finally: + monkey.undo() + + +def test_a_follower_stopped_by_an_unproven_watch_is_captured_and_flagged(monkeypatch, crewed): + def unproven(task, *a, **k): + raise RuntimeError(f"{task.task_id}: watch 60 solve Time limit reached at gap 3.1%") + + monkeypatch.setattr(references, "follow", unproven) + names = ("naive", "anchor", "follower") + r = v3_pack.refs_job((crewed.task_id, crewed.to_json(), "sig", names, (60.0, 30.0))) + assert r["follower"]["unproven_watch"] and "at gap 3.1%" in r["follower"]["error"] + assert "total" in r["naive"] and r["anchor"]["proven"] + assert v3_pack.failed({crewed.task_id: r}) == {crewed.task_id: ["follower"]} + assert v3_pack.stored([crewed], {crewed.task_id: r}) == { + crewed.task_id: {"anchor": r["anchor"]["total"], "task": references.digest(crewed)}} diff --git a/tests/test_cli_imports.py b/tests/test_cli_imports.py index 0b9eea8..5590651 100644 --- a/tests/test_cli_imports.py +++ b/tests/test_cli_imports.py @@ -14,7 +14,7 @@ ROOT = Path(__file__).resolve().parents[1] PKG = "agentenv_airops" -CLIS = ("agentenv_airops.cli", "agentenv_airops.occ.cli") +CLIS = ("agentenv_airops.cli", "agentenv_airops.occ.cli", "agentenv_airops.v3day.cli") def test_the_cli_plugins_import_only_what_a_clean_install_has(): diff --git a/tests/v3day/conftest.py b/tests/v3day/conftest.py new file mode 100644 index 0000000..2b05581 --- /dev/null +++ b/tests/v3day/conftest.py @@ -0,0 +1,22 @@ +"""The programs tests' hand-made days and fixture slice, shared with the playable day's tests, and the fake LiteLLM +and airops-llm the live tests play with.""" + +import importlib.util +import sys +from pathlib import Path + +import pytest + +TESTS = Path(__file__).resolve().parents[1] +PROGRAMS = TESTS / "programs" +sys.path[:0] = [str(PROGRAMS), str(TESTS), str(TESTS / "agent")] +_spec = importlib.util.spec_from_file_location("programs_conftest", PROGRAMS / "conftest.py") +_programs = importlib.util.module_from_spec(_spec) +_spec.loader.exec_module(_programs) +slice_inputs, fits, built, task, crewed = (_programs.slice_inputs, _programs.fits, _programs.built, _programs.task, + _programs.crewed) + + +@pytest.fixture +def anyio_backend(): + return "asyncio" diff --git a/tests/v3day/served_v3.py b/tests/v3day/served_v3.py new file mode 100644 index 0000000..149e78d --- /dev/null +++ b/tests/v3day/served_v3.py @@ -0,0 +1,62 @@ +"""A real airops-v3-day env serving programs tasks from a tasks.jsonl on a free port, with a stand-in for the +gateway's clock routes on the same server that records each re-arm, and a client calling its tools over MCP.""" + +import json +from contextlib import contextmanager +from pathlib import Path + +from fastmcp import Client +from served import serve +from starlette.responses import JSONResponse + +from agentenv_airops.programs.model import Task, write_tasks +from agentenv_airops.v3day.clock import virtual_time +from agentenv_airops.v3day.live import TASKS_VAR, AirOpsV3LiveEnv + + +@contextmanager +def served_v3(monkeypatch, tmp_path: Path, tasks: list[Task], task_id: str | None = None, synced: bool = True, + refuse: int = 0, **refs): + """A fresh env on `tasks`, the day `task_id` (default the first) loaded with `refs` (anchor, follower): (base + url, env, the clock's PUTs). The clock answers the first `refuse` PUTs with a 503, as a gateway hiccup.""" + monkeypatch.setenv(TASKS_VAR, str(write_tasks(tasks, tmp_path / "tasks.jsonl"))) + env = AirOpsV3LiveEnv() + mcp = env.create_app() + puts: list[dict] = [] + refused: list[dict] = [] + task = next(t for t in tasks if t.task_id == (task_id or tasks[0].task_id)) + + @mcp.custom_route("/clock/time", methods=["GET"]) + async def time(request): + return JSONResponse({"virtual_time": puts[-1]["virtual_time"] if puts else virtual_time(task, task.start)}) + + @mcp.custom_route("/clock/set-time", methods=["PUT"]) + async def set_time(request): + if len(refused) < refuse: + refused.append(await request.json()) + return JSONResponse({"error": "gateway hiccup"}, status_code=503) + puts.append(await request.json()) + return JSONResponse({"armed": True}) + + env.live_load(task.task_id, **refs) + with serve(mcp.http_app()) as url: + if synced: + env.set_time_url = f"{url}/clock/set-time" + yield url, env, puts + + +class Tools: + """Calls tools as an MCP client does, through argument validation and the env's middleware; results are JSON.""" + + def __init__(self, client: Client): + self.client = client + + async def __call__(self, tool: str, /, **arguments) -> dict: + result = await self.client.call_tool_mcp(tool, arguments) + assert not result.isError, result.content[0].text + return json.loads(result.content[0].text) + + async def error(self, tool: str, /, **arguments) -> str: + result = await self.client.call_tool_mcp(tool, arguments) + assert result.isError + return result.content[0].text diff --git a/tests/v3day/test_v3_agent.py b/tests/v3day/test_v3_agent.py new file mode 100644 index 0000000..f9ab9cf --- /dev/null +++ b/tests/v3day/test_v3_agent.py @@ -0,0 +1,67 @@ +"""airops-llm on scripted turns from the fake LiteLLM plays a v3 day end to end against a real airops-v3-day env +serving the fixture slice's JFK evening: the v3 rules and briefing as its prompts, a cancellation at the first watch, +then advance to the last watch's done. The reward it reports is the env's grade, and the grade's cost is +sim.execute of the plan on the truth. No model is called.""" + +import json + +import airops_llm +import pytest +from agentenv_protocol.a2a_agent import TaskOutcome, TaskRequest, TextPart +from fake_litellm import FakeLiteLLM +from served_v3 import served_v3 + +from agentenv_airops.programs import sim +from agentenv_airops.v3day import tasks as v3_tasks +from agentenv_airops.v3day.clock import virtual_time +from agentenv_airops.v3day.day import Day +from agentenv_airops.v3day.grade import grade +from agentenv_airops.v3day.live import ENV + +pytestmark = pytest.mark.anyio +SONNET = "anthropic/claude-sonnet-5-5" + + +def call(name: str, arguments: dict, i: int) -> dict: + return {"id": f"call_{name}_{i}", "name": name, "arguments": json.dumps(arguments)} + + +def turn(*calls: dict) -> dict: + return {"content": "", "reasoning": "", "stop": "tool_use", "tool_calls": list(calls), "usage": {}} + + +@pytest.fixture(autouse=True) +def environ(monkeypatch): + for var in ["LITELLM_BASE_URL", "LITELLM_API_KEY", "AIROPS_MAX_COST_USD", "ANTHROPIC_API_KEY", + "ANTHROPIC_AUTH_TOKEN", "OPENAI_API_KEY", "HF_BILL_TO"]: + monkeypatch.delenv(var, raising=False) + + +@pytest.mark.parametrize("name", ["task", "crewed"]) +async def test_an_llm_plays_a_v3_day_through_the_server_graded_on_the_truth(name, request, monkeypatch, tmp_path): + task = request.getfixturevalue(name) + watches = len(Day(task).watches) + cancel = [{"flight": "f3", "action": "cancel", "not_before": None}] + turns = [turn(call("get_situation", {}, 0), call("check_plan", {"changes": cancel}, 1), + call("confirm_changes", {"changes": cancel}, 2), call("advance", {}, 3))] + turns += [turn(call("advance", {}, 4 + k)) for k in range(watches - 1)] + with served_v3(monkeypatch, tmp_path, [task]) as (url, env, puts), FakeLiteLLM(turns) as fake: + monkeypatch.setenv("LITELLM_BASE_URL", fake.url) + monkeypatch.setenv("LITELLM_API_KEY", "sk-fake") + result = await airops_llm.AirOpsLLM().run(TaskRequest( + task_id="t", context_id="c", parts=(TextPart(text=v3_tasks.briefing(Day(task))),), + config=airops_llm.AirOpsConfig(model=SONNET, system_prompt=v3_tasks.rules(task), + max_turns=v3_tasks.max_turns(Day(task))), + mcp_servers={ENV: {"url": f"{url}/mcp"}})) + d, summary = env.day, result.parts[1].data["structured_output"] + first = fake.requests[0][2] + assert first["system"] == v3_tasks.rules(task) + assert first["messages"][0]["content"][0]["text"] == v3_tasks.briefing(Day(task)) + assert result.outcome is TaskOutcome.SUCCEEDED and len(fake.requests) == watches + assert (summary["end_reason"], summary["checks"], summary["confirms"]) == ("done", 1, 1) + plan = {3: {"cancel": True, "decided": task.start + 2}} + assert d.done and d.end_reason == "done" and d.plan == plan and d.refusals == [] + assert d.result == grade(task, plan) and d.result["cost"] == sim.execute(task, plan).cost.to_dict() + assert summary["reward"] == d.result["reward"] + assert puts == [{"virtual_time": virtual_time(task, w.t), "virtual_seconds_per_real_second": 0} + for w in d.watches[1:]] diff --git a/tests/v3day/test_v3_bundle.py b/tests/v3day/test_v3_bundle.py new file mode 100644 index 0000000..351c448 --- /dev/null +++ b/tests/v3day/test_v3_bundle.py @@ -0,0 +1,113 @@ +"""The bundle airops-v3: what `agent-env airops-v3 tasks` writes from a pack, the packaged bundle and data/b6-v3 it +ships, and scripts/ship_v3_pack.py, which turns a v3_pack.py --refs folder into data/b6-v3.""" + +import gzip +import importlib.util +import json +from dataclasses import replace +from pathlib import Path + +import pytest +from click.testing import CliRunner + +from agentenv_airops.programs import references +from agentenv_airops.programs.model import load_tasks +from agentenv_airops.schedule import VERIFIER +from agentenv_airops.v3day import tasks as v3_tasks +from agentenv_airops.v3day.cli import airops_v3 + +ROOT = Path(__file__).resolve().parents[2] +SPEC = importlib.util.spec_from_file_location("ship_v3_pack", ROOT / "scripts" / "ship_v3_pack.py") +ship_v3_pack = importlib.util.module_from_spec(SPEC) +SPEC.loader.exec_module(ship_v3_pack) + + +def pack(folder: Path, tasks: list, refs: dict) -> Path: + """A v3_pack.py --refs folder: tasks.jsonl, refs.json and a manifest.""" + folder.mkdir(parents=True, exist_ok=True) + (folder / "tasks.jsonl").write_text("".join(t.to_json() + "\n" for t in tasks)) + (folder / "refs.json").write_text(json.dumps(refs)) + (folder / "manifest.json").write_text(json.dumps({"code": "abc123", "scale": {"JFK": 0.35}, "seed": 0})) + return folder + + +@pytest.fixture +def two(task): + """The slice's day as an eval and a train task, the eval one with stored costs run on it, the train one with stale + ones (run on another task).""" + ev, tr = replace(task, task_id="b6-eval", split="eval"), replace(task, task_id="b6-train", split="train") + return ev, tr, {ev.task_id: {"anchor": 100, "follower": 120, "task": references.digest(ev)}, + tr.task_id: {"anchor": 90, "follower": 95, "task": references.digest(ev)}} + + +def test_a_bundle_has_each_days_steps_with_the_costs_stored_for_that_very_task_and_a_noplay(tmp_path, two): + ev, tr, refs = two + folder = pack(tmp_path / "pack", [ev, tr], refs) + out = tmp_path / "bundle" + assert v3_tasks.generate(out, split="all", pack=folder, noplay=True) == [ev.task_id, tr.task_id, v3_tasks.NOPLAY] + read = {p.stem: json.loads(p.read_text()) for p in (out / "tasks").iterdir()} + assert read[ev.task_id] == v3_tasks.steps(ev, 100, 120) + assert read[tr.task_id] == v3_tasks.steps(tr) + load = next(s for s in read[tr.task_id] if s["id"] == "load-task") + assert load["directives"][0]["args"] == {"task_id": tr.task_id} and load["timeout_seconds"] > 1800 + assert [s["id"] for s in read[v3_tasks.NOPLAY]] == ["deploy", "load-task", "clock", "end-day", "grade"] + assert read[v3_tasks.NOPLAY] == [s for s in read[ev.task_id] if s["id"] not in ("deploy-agent", "play")] + verifier = v3_tasks.V1_BUNDLE / "artifacts" / VERIFIER / "verify.py" + assert (out / "artifacts" / VERIFIER / "verify.py").read_bytes() == verifier.read_bytes() + assert (out / "README.md").read_text() == v3_tasks.README + assert v3_tasks.generate(tmp_path / "eval", split="eval", pack=folder) == [ev.task_id] + + +def test_the_packaged_bundle_is_the_shipped_packs_eval_days_as_generate_writes_them(tmp_path): + out = tmp_path / "bundle" + names = v3_tasks.generate(out, split="eval", noplay=True) + written = {p.relative_to(out).as_posix(): p.read_bytes() for p in out.rglob("*") if p.is_file()} + packaged = Path(str(v3_tasks.BUNDLE)) + assert written == {p.relative_to(packaged).as_posix(): p.read_bytes() for p in packaged.rglob("*") if p.is_file()} + assert len(names) == 25 and names[-1] == v3_tasks.NOPLAY + + +def test_the_shipped_pack_stores_an_anchor_run_on_every_one_of_its_tasks(): + tasks, refs = v3_tasks.pack_refs() + manifest = json.loads((Path(str(v3_tasks.PACK)) / "manifest.json").read_text()) + assert manifest["pack"] == "b6-v3" and manifest["bases"] == [] + assert manifest["tasks"] == {t.task_id: {"date": t.date, "split": t.split} for t in tasks} + assert all(t.layered and not t.bases for t in tasks) + assert all(refs[t.task_id]["task"] == references.digest(t) and "anchor" in refs[t.task_id] for t in tasks) + + +def test_tasks_load_from_a_gzipped_file_or_a_folder_with_one(tmp_path, task): + other = replace(task, task_id="b6-other") + line = "".join(t.to_json() + "\n" for t in (task, other)).encode() + (tmp_path / "tasks.jsonl.gz").write_bytes(gzip.compress(line)) + assert load_tasks(tmp_path) == load_tasks(tmp_path / "tasks.jsonl.gz") == [task, other] + (tmp_path / "tasks.jsonl").write_bytes(line[:len(task.to_json()) + 1]) + assert load_tasks(tmp_path) == [task] + + +def test_shipping_a_pack_writes_its_lines_gzipped_its_refs_and_what_it_is_and_refuses_stale_refs(tmp_path, two): + ev, tr, refs = two + folder = pack(tmp_path / "pack", [ev], refs) + out = tmp_path / "b6-v3" + manifest = ship_v3_pack.ship(folder, out) + assert gzip.decompress((out / "tasks.jsonl.gz").read_bytes()) == (folder / "tasks.jsonl").read_bytes() + assert json.loads((out / "refs.json").read_text()) == {ev.task_id: refs[ev.task_id]} + assert manifest == json.loads((out / "manifest.json").read_text()) == { + "pack": "b6-v3", "code": "abc123", "seed": 0, "scale": {"JFK": 0.35}, + "tasks": {ev.task_id: {"date": ev.date, "split": "eval"}}} + first = (out / "tasks.jsonl.gz").read_bytes() + ship_v3_pack.ship(folder, out) + assert (out / "tasks.jsonl.gz").read_bytes() == first + with pytest.raises(SystemExit, match="b6-train"): + ship_v3_pack.ship(pack(tmp_path / "stale", [ev, tr], refs), tmp_path / "never") + assert not (tmp_path / "never").exists() + + +def test_the_cli_writes_the_bundle_and_names_unknown_days(tmp_path, two): + ev, tr, refs = two + folder = pack(tmp_path / "pack", [ev, tr], refs) + run = CliRunner().invoke(airops_v3, ["tasks", "--pack", str(folder), "--out", str(tmp_path / "b"), "--noplay"]) + assert run.exit_code == 0 and sorted(p.stem for p in (tmp_path / "b" / "tasks").iterdir()) == [ + ev.task_id, v3_tasks.NOPLAY] + run = CliRunner().invoke(airops_v3, ["tasks", "--pack", str(folder), "--task", "b6-nope"]) + assert run.exit_code == 2 and "unknown task ids: b6-nope" in run.output diff --git a/tests/v3day/test_v3_day.py b/tests/v3day/test_v3_day.py new file mode 100644 index 0000000..932e000 --- /dev/null +++ b/tests/v3day/test_v3_day.py @@ -0,0 +1,443 @@ +import json +import math +import random +from dataclasses import replace + +from day_helpers import ( + based, + capped, + crewed, + day, + flight, + network_day, + random_day, + reserve_day, + reserved, + tail, + three_into_a_program, +) +from program_helpers import adv +from test_reference_plays import committed_then_stopped, delay_revealed_late, stopped_then_released + +from agentenv_airops.core.model import hhmm +from agentenv_airops.core.sim import FLOWN +from agentenv_airops.programs import mip, references, sim +from agentenv_airops.v3day import clock +from agentenv_airops.v3day.day import Day, changes_to, play +from agentenv_airops.v3day.grade import grade, reward +from agentenv_airops.v3day.situation import KEYS + + +def held_then_released(): + """f0 JFK-BUF at 01:40 and f1 JFK-MCO at 08:20, each on its own aircraft at JFK.""" + return day([flight(0, "JFK", "BUF", 100, 60), flight(1, "JFK", "MCO", 500, 150)], + [tail("N1", "JFK", end="BUF"), tail("N2", "JFK", end="MCO")]) + + +def cancel(i: int) -> list[dict]: + return [{"flight": f"f{i}", "action": "cancel"}] + + +def test_watches_are_the_followers_watch_times(): + task = stopped_then_released() + assert [w.t for w in Day(task).watches] == references.watch_times(task) == clock.watch_times(task) + + +def test_news_arrives_at_the_first_watch_after_its_signature(): + d = Day(stopped_then_released()) + assert [n["id"] for n in d.drain()] == ["s1"] and d.drain() == [] + for _ in range(3): + assert d.advance()["news"] == [] + assert d.t == 180 and d.drain() == [] + assert d.advance() == {"watch": 4, "time": "04:00", "freeze_line": "05:00", "frozen": 1, "news": ["c1"]} + assert [(n["id"], n["at"], n["kind"]) for n in d.drain()] == [("c1", "03:20", "gs_cnx")] + assert [(e["news_id"], e["watch"], e["via"]) for e in d.log] == [("s1", 0, "load"), ("c1", 4, "watch")] + + +def test_each_call_costs_a_minute_of_the_watch_and_acts_at_the_clock(): + d = Day(stopped_then_released()) + assert d.clock == 0 + assert d.situation()["clock"] == "00:00" and d.clock == clock.CALL_MIN + assert d.check(cancel(1))["now"] == "00:02" + d.confirm(cancel(1)) + assert d.plan == {1: {"cancel": True, "decided": 2}} and d.clock == 3 and d.calls == 3 + assert clock.virtual_time(d.task, d.clock) == "2024-01-01T05:03:00Z" + + +def test_the_watch_ends_when_its_minutes_run_out(): + d = Day(stopped_then_released()) + for _ in range(59): + assert "watch_over" not in d.situation() + out = d.situation() + assert out["watch_over"]["watch"] == 1 and d.t == 60 and d.clock == 60 + while not d.last: + d.advance() + for _ in range(59): + d.situation() + assert d.situation()["watch_over"]["done"] and d.done and d.end_reason == "time" + assert d.situation() == {"error": "the day is over"} + + +def test_a_flight_leaving_before_the_freeze_line_commits(): + task = committed_then_stopped() + d = Day(task) + d.advance() + assert d.t == 60 and d.frozen == {0} + out = d.confirm(cancel(0)) + assert out["confirmed"] == [] and out["refused"][0]["flight"] == "f0" and "frozen" in out["refused"][0]["reason"] + assert d.plan == {} and d.situation()["flights"][0]["status"] == "frozen" + + +def test_a_cancellation_is_final_from_the_next_watch(): + d = Day(stopped_then_released()) + d.confirm(cancel(0)) + d.confirm([{"flight": "f0", "action": "restore"}]) + assert d.plan == {} + d.confirm(cancel(0)) + d.advance() + assert 0 in d.frozen + out = d.confirm([{"flight": "f0", "action": "restore"}]) + assert out["refused"] and d.plan == {0: {"cancel": True, "decided": 2}} + assert d.situation()["flights"][0]["status"] == "cancelled" + + +def test_an_open_flight_is_held_to_the_freeze_line(): + d = Day(held_then_released()) + d.confirm([{"flight": "f0", "action": "hold", "not_before": "03:20"}]) + d.advance() + assert d.t == 60 and 0 not in d.frozen + preview = d.check([{"flight": "f0", "action": "restore"}]) + assert preview["held_to_freeze_line"] == ["f0"] and d.plan == {0: {"not_before": 200}} + out = d.confirm([{"flight": "f0", "action": "restore"}]) + assert out["confirmed"] == ["f0"] and out["held_to_freeze_line"] == ["f0"] + assert d.plan == {0: {"not_before": 120}} and d.project(d.plan).flights[0].dep == 120 + assert d.changes[-1]["now"] == {"not_before": 120} + + +def test_check_previews_without_changing_the_plan(): + d = Day(stopped_then_released()) + out = d.check(cancel(1)) + assert d.plan == {} and out["cost_now"] == d.project({}).cost.total + assert out["cost"]["total"] == d.project({1: {"cancel": True, "decided": 0}}).cost.total + assert [r.split()[0] for r in out["flights"]] == ["f1"] and "cancelled" in out["flights"][0] + + +def test_bad_changes_are_reported(): + d = Day(stopped_then_released()) + assert "not valid JSON" in d.confirm("cancel f0")["error"] + out = d.confirm([{"flight": "f9", "action": "cancel"}, {"flight": "f0", "action": "divert"}, + {"flight": "f1", "action": "hold", "not_before": "9pm"}]) + assert len(out["problems"]) == 3 and d.plan == {} and d.calls == 2 + + +def test_situation_keys_are_all_there_and_json_able(): + d = Day(stopped_then_released()) + s = d.situation() + assert set(KEYS) <= set(s) and json.loads(json.dumps(s))["watch"] == 0 + assert s["programs"]["JFK"]["stops"] == [{"chain": "s1", "from": "00:00", "to": "10:00"}] + row = s["flights"][0] + assert {"id", "status", "known_delay", "plan", "dep", "arr", "late", "tail", "slot", "hold"} <= set(row) + assert row["status"] == "auto-cancel" and row["dep"] is None and s["aircraft"]["stations"]["BUF"][0]["tail"] == "N1" + assert "First watch" in d.text() and "## Flights" in d.text() + d.advance() + assert "Freeze line 02:00" in d.text() + + +def test_programs_as_issued_show_a_gdp_and_its_slots(): + s = Day(three_into_a_program()).situation() + gdps = s["programs"]["JFK"]["gdps"] + assert [g["id"] for g in gdps] == [s.id for s in sim.known(three_into_a_program(), 0).segments["JFK"]] + assert gdps[0]["kind"] == "gdp" and gdps[0]["period"] == ["02:30", "06:40"] + + +def test_departure_caps_are_known_cap_look_ahead(): + task = capped(held_then_released(), {"JFK": {2: 1, 5: 1}}) + d = Day(task) + assert d.situation()["dep_caps"] == {"JFK": {"02": 1}} + d.advance() + d.advance() + assert d.t == 120 and d.situation()["dep_caps"] == {"JFK": {"02": 1, "05": 1}} + assert Day(held_then_released()).situation()["dep_caps"] == {} + + +def test_crew_deadline_and_rest_are_shown(): + task = held_then_released() + task = replace(task, flights=(crewed(task.flight(0), 200), task.flight(1))) + rows = Day(task).situation()["flights"] + assert rows[0]["crew"] == {"pairing": "N1/0", "deadline": "03:20", "rest": "13:20"} and "crew" not in rows[1] + + +def call(i: int) -> list[dict]: + return [{"flight": f"f{i}", "action": "call_reserve"}] + + +def test_a_reserve_call_flies_a_base_departure_past_its_crew_deadline_while_the_pool_lasts(): + d = Day(reserve_day()) + before = d.situation() + assert before["reserves"] == {"JFK": {"pool": 1, "called": [], "left": 1}} + assert before["flights"][0]["crew"] == {"pairing": "N1/0", "deadline": "02:30", "rest": "12:30", "reserve": False} + assert before["flights"][0]["status"] == "auto-cancel" + out = d.confirm(call(1)) + assert out["confirmed"] == ["f1"] and d.plan == {1: {"reserve": True}} and out["auto_cancelled"] == ["f0"] + s = d.situation() + assert s["reserves"]["JFK"] == {"pool": 1, "called": ["f1"], "left": 0} + row = next(r for r in s["flights"] if r["id"] == "f1") + assert row["crew"]["reserve"] and row["dep"] == "03:25" and row["plan"] == "reserve" + assert "JFK: 0 of 1 left (called: f1)" in d.text() and "02:30/12:30+R" in d.text() + refused = d.confirm(call(0))["refused"] + assert len(refused) == 1 and "no reserve crew is left at JFK" in refused[0]["reason"] and 0 not in d.plan + + +def test_a_reserve_is_refused_off_a_pooled_base_and_on_a_cancelled_flight_and_kept_by_a_hold(): + d = Day(reserve_day()) + assert "doesn't leave a crew base" in d.confirm(call(2))["refused"][0]["reason"] + d.confirm(cancel(1)) + assert "is cancelled" in d.confirm(call(1))["refused"][0]["reason"] + d.confirm([{"flight": "f1", "action": "restore"}, *call(1), {"flight": "f1", "action": "hold", + "not_before": "03:40"}]) + assert d.plan[1] == {"not_before": 220, "reserve": True} + assert d.check(call(1))["refused"] == [] and d.confirm(call(1))["unchanged"] == ["f1"] + d.confirm(cancel(1)) + assert d.plan[1] == {"cancel": True, "decided": d.clock - 1} and d.situation()["reserves"]["JFK"]["left"] == 1 + + +def test_a_reserve_is_released_and_a_target_that_moves_it_to_another_flight_is_reached(): + d = Day(reserve_day()) + d.confirm(call(1)) + assert "release one first" in d.confirm(call(0))["refused"][0]["reason"] + rows = changes_to(d, {0: {"reserve": True}}) + assert rows == [{"flight": "f0", "action": "call_reserve"}, {"flight": "f1", "action": "release_reserve"}] + out = d.confirm(rows) + assert out["confirmed"] == ["f1", "f0"] and out["refused"] == [] and d.plan == {0: {"reserve": True}} + assert d.situation()["reserves"]["JFK"] == {"pool": 1, "called": ["f0"], "left": 0} + d.confirm([{"flight": "f0", "action": "hold", "not_before": "03:40"}]) + assert d.confirm([{"flight": "f0", "action": "release_reserve"}])["confirmed"] == ["f0"] + assert d.plan == {0: {"not_before": 220}} and d.confirm([{"flight": "f0", "action": "release_reserve"}])[ + "unchanged"] == ["f0"] + + +def test_a_reserve_past_its_flights_crew_deadline_stands_and_a_cancellation_then_is_priced_at_the_clock(): + f0 = based(flight(0, "JFK", "BUF", 100, 60, lb=400, deadline=700), 150) + task = reserved(day([f0, flight(1, "BOS", "DCA", 700, 60, deadline=1200)], + [tail("N1", "JFK", end="BUF"), tail("N2", "BOS", end="DCA")]), {"JFK": 1}) + d = Day(task) + d.confirm(call(0)) + while d.t < 240: + d.advance() + assert changes_to(d, {}) == [] + out = d.confirm([{"flight": "f0", "action": "release_reserve"}]) + assert out["confirmed"] == [] + assert "keeps its reserve: its crew deadline passed at 02:30" in out["refused"][0]["reason"] + assert d.plan == {0: {"reserve": True}} and d.project(d.plan).flights[0].dep == 500 + at = d.clock + assert d.confirm(cancel(0))["confirmed"] == ["f0"] and sim.execute(task, d.plan).flights[0].decided == at + + +def test_a_batch_counts_a_flights_last_reserve_row_and_a_cancellation_over_a_call_whatever_their_order(): + for rows in ([*call(1), *cancel(1)], [*cancel(1), *call(1)]): + d = Day(reserve_day()) + out = d.confirm(rows) + assert out["confirmed"] == ["f1"] and out["refused"] == [] and d.plan[1] == {"cancel": True, "decided": 0} + assert out["problems"] == ["f1 is cancelled and calls a reserve: the cancellation counts and drops the call"] + d = Day(reserve_day()) + out = d.confirm([*call(0), *call(0)]) + assert out["confirmed"] == ["f0"] and out["problems"] == ["f0 has more than one reserve call or release: the last " + "counts"] + out = Day(reserve_day()).check([{"flight": "f0", "action": "reserve"}]) + assert out["problems"] == ['f0: action must be cancel, restore, hold, call_reserve or release_reserve, not ' + '"reserve"'] + assert "its pool is empty" in Day(reserved(reserve_day(), {"JFK": 0})).confirm(call(0))["refused"][0]["reason"] + + +def test_a_scripted_policy_playing_the_anchors_reserve_calls_scores_the_anchors_cost(): + task = reserve_day() + sol = mip.solve(task) + target = sol.plan(task.start) + rows = changes_to(Day(task), target) + assert {"flight": "f1", "action": "call_reserve"} in rows + played = play(task, lambda d: target, anchor=sol.objective) + assert played.plan[1]["reserve"] and played.result["cost"]["total"] == sol.objective + + +def test_without_a_pool_the_situation_shows_no_reserves(): + task = replace(reserve_day(), layers=None) + d = Day(task) + assert d.situation()["reserves"] == {} and "Reserve crews" not in d.text() + assert "reserve" not in d.situation()["flights"][0]["crew"] + + +def test_reward_is_step0s_curve_one_at_the_anchor_and_never_below_the_floor_even_on_a_day_costing_nothing(): + assert reward(50, 100, 50) == 1.0 and reward(40, 100, 50) == 1.0 + assert reward(100, 100, 50) == 0.2 + 0.8 * math.exp(-2) + assert reward(75, 100, 50) == 0.2 + 0.8 * math.exp(-1) + assert 0.2 <= reward(10_000, 100, 50) < 0.2 + 1e-9 + assert reward(101, 100, 100) == 0.2 + 0.8 * math.exp(-0.1 / 0.5) + assert (reward(0, 0, 0), reward(5, 0, 0)) == (1.0, 0.2) + + +def test_grade_prices_the_plan_on_the_truth_against_naive_and_anchor(): + task = stopped_then_released() + plan = {0: {"cancel": True, "decided": 0}} + g = grade(task, plan) + assert g["cost"]["total"] == sim.execute(task, plan).cost.total + assert g["naive"] == references.naive(task).cost.total and g["anchor"] == references.anchor(task)[1].cost.total + assert g["reward"] == round(reward(g["cost"]["total"], g["naive"], g["anchor"]), 6) < 1 + rule = references.rule(task).cost + assert g["references"] == {"rule": {"cost": rule, "reward": round(reward(rule, g["naive"], g["anchor"]), 6)}, + "follower": None} + assert grade(task, {}, anchor=g["anchor"])["reward"] == reward(g["naive"], g["naive"], g["anchor"]) + assert grade(task, plan, anchor=g["anchor"], follower=g["naive"])["references"]["follower"] == \ + {"cost": g["naive"], "reward": round(reward(g["naive"], g["naive"], g["anchor"]), 6)} + + +def test_the_hubs_advisories_are_the_news(): + task = day([flight(0, "BUF", "JFK", 100, 60)], [tail("N1", "BUF", end="JFK")], + advisories=(adv("a2", "gdp_proposed", 50, 200, 400, (30,) * 4), adv("a1", "gs", 10, 10, 90))) + assert [(n.id, n.at) for n in clock.news(task)] == [("a1", 10), ("a2", 50)] + assert "proposed ground delay program 03:20-06:40" in clock.news(task)[1].text + + +def early_leaver(): + """f0 JFK-BOS at 00:10, ten minutes into the first watch, and f1 back at 03:20, on one aircraft.""" + return day([flight(0, "JFK", "BOS", 10, 60), flight(1, "BOS", "JFK", 200, 60)], [tail("N1", "JFK")]) + + +def test_a_flight_gone_by_the_clock_at_the_first_watch_stands(): + d = Day(early_leaver()) + for _ in range(40): + d.situation() + assert d.clock == 40 and d.situation()["flights"][0]["status"] == "airborne" + for change in (cancel(0), [{"flight": "f0", "action": "hold", "not_before": "00:50"}]): + out = d.confirm(change) + assert out["confirmed"] == [] and "is gone: it left at 00:10" in out["refused"][0]["reason"] + assert d.plan == {} and d.project(d.plan).flights[0].dep == 10 + + +def test_a_flight_restored_at_the_first_watch_leaves_no_earlier_than_the_clock(): + d = Day(early_leaver()) + d.confirm(cancel(0)) + for _ in range(20): + d.situation() + out = d.confirm([{"flight": "f0", "action": "restore"}]) + assert out["confirmed"] == ["f0"] and out["held_to_freeze_line"] == ["f0"] + assert d.plan == {0: {"not_before": 21}} and d.project(d.plan).flights[0].dep == 21 + + +def changes_keep_the_day_so_far(seed: int) -> list[tuple]: + """Random cancels, restores and holds at every watch after the first; what moved among the flights frozen or + gone by the clock (outcome, departure, aircraft), and the open flights left before the freeze line.""" + rng = random.Random(seed) + task = network_day(rng) if seed % 2 else random_day(rng) + d, bad = Day(task, anchor=0), [] + while not d.done: + if d.watch > 0: + before, at = d.project(d.plan).flights, d.clock + pinned = d.frozen | {i for i, r in before.items() if r.status == FLOWN and r.dep < at} + rows = [{"flight": f"f{i}", "action": (a := rng.choice(["cancel", "restore", "hold"])), + "not_before": hhmm(task.flight(i).sched_dep + rng.randint(0, 200)) if a == "hold" else None} + for i in rng.sample([f.id for f in task.flights], min(3, len(task.flights)))] + out = d.confirm(rows) + if d.done or "watch_over" in out: + continue + after, truth = d.project(d.plan).flights, sim.execute(task, d.plan).flights + bad += [(seed, d.watch, i) for i in pinned if _kept(before[i]) != _kept(after[i])] + bad += [(seed, d.watch, i, "open") for i, r in after.items() + if r.status == FLOWN and i not in d.frozen and at <= r.dep < d.line + and not (truth[i].status == FLOWN and truth[i].dep < d.clock)] + d.advance() + return bad + + +def _kept(r) -> tuple: + return r.status, r.dep, r.tail + + +def test_no_change_reaches_back_past_the_freeze_or_the_clock(): + assert [b for seed in range(130) for b in changes_keep_the_day_so_far(seed)] == [] + + +def changes_keep_the_truth_so_far(seed: int) -> list[tuple]: + """Random changes after a random stretch of thinking at every watch; what moved, on the truth the grade prices, + among the flights that had left or auto-cancelled on the truth by the clock.""" + rng = random.Random(seed) + task = network_day(rng) if seed % 2 else random_day(rng) + d, bad = Day(task, anchor=0), [] + while not d.done: + for _ in range(rng.randint(0, 50)): + if "watch_over" in d.situation(): + break + if d.done: + break + before, at = sim.execute(task, d.plan).flights, d.clock + gone = {i for i, r in before.items() if (r.status == FLOWN and r.dep < at) + or (r.status == "auto_cancelled" and r.decided < at)} + rows = [{"flight": f"f{i}", "action": (a := rng.choice(["cancel", "restore", "hold"])), + "not_before": hhmm(task.flight(i).sched_dep + rng.randint(0, 200)) if a == "hold" else None} + for i in rng.sample([f.id for f in task.flights], min(3, len(task.flights)))] + out = d.confirm(rows) + after = sim.execute(task, d.plan).flights + bad += [(seed, d.watch, i) for i in gone if _kept(before[i]) != _kept(after[i])] + if not d.done and "watch_over" not in out: + d.advance() + return bad + + +def test_no_change_reaches_back_past_what_has_left_on_the_truth(): + assert [b for seed in range(60) for b in changes_keep_the_truth_so_far(seed)] == [] + + +def test_a_flight_gone_on_the_truth_by_the_clock_is_shown_gone_and_stands(): + task = random_day(random.Random(48)) + d = Day(task, anchor=0) + d.advance() + while d.clock < 109: + d.situation() + assert (sim.execute(task, d.plan).flights[1].status, sim.execute(task, d.plan).flights[1].dep) == (FLOWN, 62) + assert d.situation()["flights"][1]["status"] in ("airborne", "flown") + out = d.confirm(cancel(1)) + assert out["confirmed"] == [] and "is gone: it left at 01:02" in out["refused"][0]["reason"] + assert d.plan == {} and sim.execute(task, d.plan).flights[1].status == FLOWN + + +def test_a_delay_shows_only_once_it_is_known(): + d = Day(delay_revealed_late()) + assert d.situation()["flights"][0]["known_delay"] is None + assert "B6 100 DCA-JFK".split()[-1] in d.text() and " ? " in d.text().split("## Flights")[1] + while d.t + 120 < 400: + d.advance() + assert d.situation()["flights"][0]["known_delay"] == 300 and " 300 " in d.text().split("## Flights")[1] + + +def test_news_signed_on_a_watch_minute_arrives_at_that_watch(): + task = replace(held_then_released(), programs=day( + [flight(0, "JFK", "BUF", 100, 60)], [tail("N1", "JFK")], + advisories=(adv("a1", "gs", 60, 60, 120),)).programs) + d = Day(task) + assert d.drain() == [] and d.advance()["news"] == ["a1"] and d.t == 60 + + +def test_each_flight_row_is_its_projection(): + d = Day(three_into_a_program()) + run, rows = d.project(d.plan).flights, d.situation()["flights"] + for row in rows: + r, f = run[int(row["id"][1:])], d.task.flight(int(row["id"][1:])) + assert (row["dep"], row["arr"], row["tail"]) == (r.dep and hhmm(r.dep), r.arr and hhmm(r.arr), r.tail) + assert row["late"] == (r.arr - f.sched_arr if r.status == FLOWN else None) + assert row["slot"] == (r.slot and {"program": r.program, "at": hhmm(r.slot)}) + assert [(r["status"], r["dep"], r["arr"], r["late"], r["tail"]) for r in rows] == [ + ("auto-cancel", None, None, None, None), ("auto-cancel", None, None, None, None), + ("open", "05:41", "06:41", 241, "N3")] + + +def test_every_aircraft_is_somewhere_at_every_watch(): + rng = random.Random(4) + for _ in range(6): + d = Day(network_day(rng), anchor=0) + while not d.done: + a = d.situation()["aircraft"] + if "watch_over" in a: + break + where = [x["tail"] for xs in a["stations"].values() for x in xs] + [x["tail"] for x in a["airborne"]] + assert sorted(where) == sorted(t.tail for t in d.task.tails) + assert all(x["lands"] > hhmm(d.clock - 1) for x in a["airborne"]) + d.advance() diff --git a/tests/v3day/test_v3_desk.py b/tests/v3day/test_v3_desk.py new file mode 100644 index 0000000..cf74226 --- /dev/null +++ b/tests/v3day/test_v3_desk.py @@ -0,0 +1,140 @@ +import json +from dataclasses import replace + +from day_helpers import closed, closed_day, day, flight, outcapped, tail + +from agentenv_airops.programs import references, sim +from agentenv_airops.programs.model import LAGS, Task +from agentenv_airops.v3day import clock +from agentenv_airops.v3day import tasks as v3_tasks +from agentenv_airops.v3day.day import Day +from agentenv_airops.v3day.situation import KEYS + +WEATHER = ((-100, "taf", "JFK", "TAF\nKJFK 260420Z 2605/2706 18010KT P6SM"), + (-9, "metar", "JFK", "KJFK 260451Z 18010KT 10SM"), + (50, "metar", "JFK", "KJFK 260551Z 18012KT 10SM"), + (150, "speci", "JFK", "KJFK 260730Z 27020G35KT 1SM +TSRA"), + (140, "taf", "JFK", "TAF AMD\nKJFK 260720Z 2608/2712 27015KT 3SM TSRA")) + + +def stormy() -> Task: + """closed_day (JFK's ramp closed 120-180) with JFK's weather, and BUF capping hours 3 and 6 at one arrival.""" + task = outcapped(closed_day(), {"BUF": {3: 1, 6: 1}}) + return replace(task, layers=replace(task.layers, weather=WEATHER)) + + +def test_weather_reaches_the_desk_at_the_first_watch_after_its_minute_plus_its_lag(): + task = stormy() + d = Day(task) + assert [w.t for w in d.watches] == references.watch_times(task) == clock.watch_times(task) + due = {n.id: n.due for n in clock.news(task)} + assert due == {f"{k}-jfk-{m}": m + LAGS[k] for m, k, _, _ in WEATHER} + while not d.done: + d.advance() + when = {e["news_id"]: e["t"] for e in d.log} + times = [w.t for w in d.watches] + assert set(when) == set(due) + for n, t in when.items(): + assert t == next(x for x in times if x >= due[n]) + assert times == [0, 60, 120, 155, 180] and when["speci-jfk-150"] == 155 and when["taf-jfk-140"] == 155 + assert when["metar-jfk-50"] == 60 and when["taf-jfk--100"] == when["metar-jfk--9"] == 0 + + +def test_news_lags_carry_it_past_a_watch_and_the_tasks_own_lags_move_its_delivery_and_its_watch(): + task = replace(stormy(), layers=replace(stormy().layers, weather=WEATHER + ((58, "metar", "JFK", "KJFK 260558Z"),))) + when = delivered(task) + assert when["metar-jfk-58"] == 120 and next(t for t in clock.watch_times(task) if t >= 58) == 60 + slow = replace(task, layers=replace(task.layers, lags=LAGS | {"metar": 15, "speci": 20})) + assert 170 in references.events(slow) and 155 not in references.events(slow) + when = delivered(slow) + assert when["speci-jfk-150"] == 170 and when["metar-jfk-50"] == 120 + + +def delivered(task: Task) -> dict[str, int]: + d = Day(task) + while not d.done: + d.advance() + return {e["news_id"]: e["t"] for e in d.log} + + +def test_the_latest_observation_is_the_one_observed_last_when_lags_bring_an_older_one_with_it(): + wx = ((40, "speci", "JFK", "KJFK 260540Z TS"), (51, "metar", "JFK", "KJFK 260551Z")) + task = replace(closed_day(), layers=replace(closed_day().layers, weather=wx, lags=LAGS | {"speci": 20})) + d = Day(task) + d.advance() + assert d.t == 60 and d.delivered.index("speci-jfk-40") > d.delivered.index("metar-jfk-51") + assert d.situation()["weather"]["JFK"]["observation"]["id"] == "metar-jfk-51" + + +def test_two_weather_items_of_one_kind_hub_and_minute_each_reach_the_desk_once(): + same = ((50, "metar", "JFK", "KJFK 260550Z 18012KT 10SM RMK AO2"), + (50, "metar", "JFK", "KJFK 260550Z AUTO 18012KT 10SM RMK MADISHF")) + task = replace(closed_day(), layers=replace(closed_day().layers, weather=same)) + ids = [n.id for n in clock.news(task)] + assert len(set(ids)) == 2 + d = Day(task) + d.advance() + texts = [d.items[i].text for i in d.delivered] + assert len(d.delivered) == 2 and sorted(texts) == sorted(" ".join(x[3].split()) for x in same) + + +def test_the_situation_shows_outstation_caps_closures_and_the_latest_weather(): + d = Day(stormy()) + s = d.situation() + assert set(KEYS) <= set(s) and json.loads(json.dumps(s)) == s + assert s["arr_caps"] == {"BUF": {"03": 1}} and s["closures"] == {} + assert s["weather"]["JFK"]["observation"]["text"].startswith("KJFK 260451Z") + assert s["weather"]["JFK"]["taf"]["text"].startswith("TAF KJFK 260420Z") + while d.t < 155: + d.advance() + s = d.situation() + assert s["arr_caps"] == {"BUF": {"03": 1, "06": 1}} + assert s["closures"] == {"JFK": [{"from": "02:00", "to": "03:05", "reported": False, "dep_cap": 3, + "arr_cap": 1}]} + assert "+TSRA" in s["weather"]["JFK"]["observation"]["text"] and s["weather"]["JFK"]["observation"]["due"] + text = d.text() + assert "## Outstation arrival caps" in text and "BUF: 03h 1 06h 1" in text + assert "JFK 02:00-03:05 (end expected)" in text and "+TSRA" in text + assert s["weather"]["JFK"]["taf"]["text"].startswith("TAF AMD KJFK 260720Z") + + +def test_a_day_without_layers_shows_no_caps_closures_or_weather(): + task = replace(closed_day(), layers=None) + s = Day(task).situation() + assert s["arr_caps"] == s["closures"] == s["weather"] == {} and s["news"] == [] + text = Day(task).text() + assert "## Ramp closures (lightning at the field; known once begun)\nNone." in text + assert "known 240 min ahead\nNone known." in text and "## Latest weather (METAR or SPECI, and TAF)\nNone." in text + + +def test_a_closure_ending_on_a_watch_is_reported_over_at_it(): + d = Day(closed(day([flight(0, "JFK", "BUF", 400, 60)], [tail("N1", "JFK", end="BUF")]), + {"JFK": ((120, 180, 1, 2),)}, {"JFK": 0.5})) + while d.t < 180: + d.advance() + assert d.t == 180 and d.situation()["closures"]["JFK"] == [ + {"from": "02:00", "to": "03:00", "reported": True, "dep_cap": 1, "arr_cap": 2}] + + +def test_a_closure_is_reported_over_only_once_its_end_has_come_even_when_the_guess_matches_it(): + task = closed(day([flight(0, "JFK", "BUF", 400, 60)], [tail("N1", "JFK", end="BUF")]), + {"JFK": ((120, 120 + sim.GUESS, 1, 1),)}, {"JFK": 0.5}) + d = Day(task) + while d.t < 120: + d.advance() + assert d.situation()["closures"]["JFK"][0]["reported"] is False + d.advance() + assert d.t == 120 + sim.GUESS and d.situation()["closures"]["JFK"] == [ + {"from": "02:00", "to": "02:30", "reported": True, "dep_cap": 1, "arr_cap": 1}] + + +def test_the_prompt_on_a_layered_day_tells_of_event_watches_lags_outstation_caps_closures_and_weather(): + rules, plain = v3_tasks.rules(stormy()), v3_tasks.rules(replace(stormy(), layers=None)) + assert "in watches, one an hour, starting at watch 0" in plain and "one an hour" in rules + assert "Outstation arrival caps" not in plain and "SPECI" not in plain and "Ramp closures" not in plain + for words in ["15 to 60 minutes apart", "a METAR 5 and a SPECI 5 minutes after its observation", + "a TAF 10 minutes after its issue", "- Outstation arrival caps:", "- Ramp closures:", + f"expected to last {sim.GUESS} minutes more", "the latest METAR or SPECI and TAF per hub"]: + assert words in rules + slow = replace(stormy(), layers=replace(stormy().layers, lags=LAGS | {"taf": 25})) + assert "a TAF 25 minutes after its issue" in v3_tasks.rules(slow) diff --git a/tests/v3day/test_v3_live.py b/tests/v3day/test_v3_live.py new file mode 100644 index 0000000..315aa3e --- /dev/null +++ b/tests/v3day/test_v3_live.py @@ -0,0 +1,366 @@ +"""airops-v3-day served on a free port: its card, routes and tools beside v1's, a layered task loaded from a +tasks.jsonl line, a scripted desk playing whole days through the tools to the sim's cost on the truth, bad changes, +the clock (each call's minute, the re-arm at every new watch, before the Day moves), the news in each reply, the +news audit v1's verifier reads, the anchor solved at load, the end-day grade and the v3 prompts.""" + +import asyncio +import json +import types +from dataclasses import replace +from importlib.resources import files + +import httpx +import pytest +from agent_env.task_step.task_steps.apply_server_config import ApplyServerConfigStep +from agentenv_protocol import client +from day_helpers import adv, capped, day, flight, reserve_day, tail +from fastmcp import Client +from served_v3 import Tools, served_v3 +from test_v3_play import airline, airline_expected + +from agentenv_airops import live as v1_live +from agentenv_airops import tasks as v1_tasks +from agentenv_airops.core.model import hhmm +from agentenv_airops.programs import references, sim +from agentenv_airops.programs.model import LAYERED, Layers, load_tasks +from agentenv_airops.schedule import CLOCK_URI +from agentenv_airops.v3day import tasks as v3_tasks +from agentenv_airops.v3day.clock import CALL_MIN, virtual_time +from agentenv_airops.v3day.day import Day, changes_to +from agentenv_airops.v3day.grade import grade +from agentenv_airops.v3day.live import END_DAY_URI, ENV, LIVE_LOAD_URI, TOOLS, AirOpsV3LiveEnv, audit + +pytestmark = pytest.mark.anyio + + +def two_flights(): + """f0 JFK-BUF at 01:40 and f1 JFK-MCO at 08:20, each on its own aircraft at JFK: hourly watches from 00:00.""" + return day([flight(0, "JFK", "BUF", 100, 60), flight(1, "JFK", "MCO", 500, 150)], + [tail("N1", "JFK", end="BUF"), tail("N2", "JFK", end="MCO")]) + + +def with_news(): + """two_flights with a ground stop advisory signed before the first watch and one signed at 00:10, which reaches + the desk at the 01:00 watch.""" + return replace(two_flights(), programs={h: replace(p, advisories=(adv("a0", "gs", 0, 0, 30), + adv("a1", "gs", 10, 10, 90))) + if h == "JFK" else p for h, p in two_flights().programs.items()}) + + +def v1_verifier() -> types.ModuleType: + """v1's airops-verifier as its step runs it.""" + path = files("agentenv_airops.bundles").joinpath("airops/artifacts/airops-verifier/verify.py") + module = types.ModuleType("airops_verifier") + exec(compile(path.read_text(), str(path), "exec"), module.__dict__) + return module + + +async def invoke(http, uri: str, **params) -> httpx.Response: + card = (await http.get("/.well-known/agent-env.json")).json() + return await http.post(client.extension_params(card, uri)["endpoint"], json=params) + + +async def data(http) -> dict: + response = await http.post("/agentenv", json={"jsonrpc": "2.0", "id": 1, "method": "data/get"}) + return response.json()["result"]["parts"][0]["data"] + + +async def test_the_card_routes_and_tools_sit_beside_v1s(monkeypatch, tmp_path): + with served_v3(monkeypatch, tmp_path, [two_flights()]) as (url, env, _): + async with httpx.AsyncClient(base_url=url) as http: + card = (await http.get("/.well-known/agent-env.json")).json() + async with Client(f"{url}/mcp") as mcp: + listed = await mcp.list_tools() + assert card["name"] == ENV != v1_live.ENV and client.mcp_path(card) == "/mcp" + assert {e["uri"] for e in card["capabilities"]["extensions"]} == {LIVE_LOAD_URI, END_DAY_URI, CLOCK_URI} + assert LIVE_LOAD_URI != v1_live.LIVE_LOAD_URI and END_DAY_URI != v1_live.END_DAY_URI + assert [t.name for t in listed] == list(TOOLS) == ["get_situation", "check_plan", "confirm_changes", "advance"] + assert all("\n" not in t.description for t in listed) + item = listed[1].inputSchema["properties"]["changes"]["anyOf"][0]["items"] + assert (item["required"], item["additionalProperties"]) == (["flight", "action", "not_before"], False) + assert item["properties"]["action"]["enum"] == ["cancel", "restore", "hold", "call_reserve", "release_reserve"] + + +async def test_a_layered_task_loads_from_a_tasks_jsonl_line_and_its_caps_show(monkeypatch, tmp_path, task): + layered = replace(capped(task, {"JFK": {18: 1, 19: 2}}), task_id=f"{task.task_id}-capped") + with served_v3(monkeypatch, tmp_path, [task, layered], layered.task_id) as (url, env, _): + async with Client(f"{url}/mcp") as mcp: + out = await Tools(mcp)("get_situation") + line = (tmp_path / "tasks.jsonl").read_text().splitlines()[1] + assert '"version":4' in line.replace(" ", "") and LAYERED == 4 + assert load_tasks(tmp_path / "tasks.jsonl") == [task, layered] and set(env.tasks) == {task.task_id, + layered.task_id} + assert env.day.task.layers == Layers(dep_caps={"JFK": {18: 1, 19: 2}}) + assert "## Departure caps" in out["situation"] and "JFK: 18h 1 19h 2" in out["situation"] + assert (out["watch"], out["clock"], out["now"]) == (0, hhmm(task.start), hhmm(task.start + CALL_MIN)) + + +@pytest.mark.parametrize("name", ["task", "crewed"]) +async def test_a_scripted_desk_plays_the_day_through_the_tools_to_the_sims_cost_on_the_truth( + name, request, monkeypatch, tmp_path): + task = request.getfixturevalue(name) + with served_v3(monkeypatch, tmp_path, [task]) as (url, env, puts): + async with Client(f"{url}/mcp") as mcp, httpx.AsyncClient(base_url=url) as http: + tools, d = Tools(mcp), env.day + while True: + if rows := changes_to(d, airline(d)): + assert (await tools("confirm_changes", changes=rows))["refused"] == [] + out = await tools("advance") + if out.get("done"): + break + got = await data(http) + result = d.result + again = (await invoke(http, END_DAY_URI)).json() + assert await tools.error("advance") == "Error calling tool 'advance': the day is over" + assert (again["end_reason"], again["cost"], again["reward"]) == ("done", out["cost"], out["reward"]) + assert d.end_reason == "done" and d.result is result + expected = airline_expected(task) + assert d.plan == expected and out["cost"] == sim.execute(task, expected).cost.total + assert out["reward"] == d.result["reward"] and got["grade"] == grade(task, expected) == d.result + assert got["done"] and got["reward"] == out["reward"] and got["audit"] == {"ok": True, "problems": []} + assert puts == [{"virtual_time": virtual_time(task, w.t), "virtual_seconds_per_real_second": 0} + for w in d.watches[1:]] + + +async def test_bad_changes_come_back_as_errors_problems_and_refusals(monkeypatch, tmp_path): + with served_v3(monkeypatch, tmp_path, [two_flights()]) as (url, env, _): + async with Client(f"{url}/mcp") as mcp: + tools = Tools(mcp) + bad = await tools("confirm_changes", changes="[{flight") + assert bad["error"].startswith("changes are not valid JSON") + unknown = await tools("check_plan", changes=[{"flight": "f9", "action": "cancel", "not_before": None}]) + assert unknown["problems"] == ['unknown flight "f9": use the ids from the flight table (f0, f1, ...)'] + soon = await tools("confirm_changes", changes=[{"flight": "f1", "action": "hold", "not_before": "soon"}]) + assert soon["confirmed"] == [] and soon["problems"] == ['f1: not_before "soon" is not a time: write HH:MM, ' + "or HH:MM+1 after midnight"] + assert "validation error" in await tools.error("confirm_changes", changes=[{"flight": "f1"}]) + await tools("advance") + frozen = await tools("confirm_changes", changes=[{"flight": "f0", "action": "cancel", "not_before": None}]) + assert env.day.plan == {} and frozen["confirmed"] == [] + assert [r["flight"] for r in frozen["refused"]] == ["f0"] and "is frozen" in frozen["refused"][0]["reason"] + assert env.day.calls == 4 and env.day.refusals[0]["flight"] == "f0" + + +async def test_each_call_costs_a_minute_and_the_watch_running_out_rearms_the_clock(monkeypatch, tmp_path): + task = two_flights() + with served_v3(monkeypatch, tmp_path, [task]) as (url, env, puts): + async with Client(f"{url}/mcp") as mcp: + tools, step = Tools(mcp), env.day.watches[1].t - env.day.watches[0].t + for k in range(1, step // CALL_MIN): + assert (await tools("get_situation"))["now"] == hhmm(k * CALL_MIN) and puts == [] + out = await tools("check_plan", changes=[]) + assert out["watch_over"] == {"watch": 1, "time": hhmm(step), "freeze_line": hhmm(step + 60), + "frozen": 1, "news": []} + assert puts == [{"virtual_time": virtual_time(task, step), "virtual_seconds_per_real_second": 0}] + assert (env.day.watch, env.day.clock) == (1, step) + out = await tools("advance") + assert (out["watch"], out["time"]) == (2, hhmm(2 * step)) and len(puts) == 2 + + +async def test_a_watch_change_needs_the_synced_clock_except_after_the_last_watch(monkeypatch, tmp_path): + with served_v3(monkeypatch, tmp_path, [two_flights()], synced=False) as (url, env, puts): + async with Client(f"{url}/mcp") as mcp: + tools = Tools(mcp) + assert (await tools("get_situation"))["watch"] == 0 + assert await tools.error("advance") == ("Error calling tool 'advance': the gateway clock is not synced: " + f"call {CLOCK_URI} sync_time first") + while env.day.clock + CALL_MIN < env.day.ends: + await tools("get_situation") + at = (env.day.watch, env.day.clock, env.day.calls) + assert "the gateway clock is not synced" in await tools.error("get_situation") + assert (env.day.watch, env.day.clock, env.day.calls) == at + while not env.day.last: + env.day.advance() + out = await tools("advance") + assert out["done"] and out["end_reason"] == "done" and out["cost"] == env.day.result["cost"]["total"] + assert puts == [] + + +async def test_a_failed_rearm_leaves_the_day_at_its_watch_and_the_retry_opens_the_next(monkeypatch, tmp_path): + task = two_flights() + with served_v3(monkeypatch, tmp_path, [task], refuse=2) as (url, env, puts): + async with Client(f"{url}/mcp") as mcp: + tools = Tools(mcp) + assert "503 Service Unavailable" in await tools.error("advance") + assert (env.day.watch, env.day.clock, env.day.frozen, puts) == (0, task.start, set(), []) + while env.day.clock + CALL_MIN < env.day.ends: + await tools("get_situation") + cancel = [{"flight": "f1", "action": "cancel", "not_before": None}] + assert "503 Service Unavailable" in await tools.error("confirm_changes", changes=cancel) + assert (env.day.watch, env.day.plan, env.day.changes) == (0, {}, []) + out = await tools("confirm_changes", changes=cancel) + assert out["confirmed"] == ["f1"] and out["watch_over"]["watch"] == env.day.watch == 1 + assert puts == [{"virtual_time": virtual_time(task, env.day.t), "virtual_seconds_per_real_second": 0}] + + +async def test_a_call_that_fails_after_the_rearm_puts_the_gateway_clock_back_at_its_watch(monkeypatch, tmp_path): + task = two_flights() + with served_v3(monkeypatch, tmp_path, [task]) as (url, env, puts): + async with Client(f"{url}/mcp") as mcp: + tools = Tools(mcp) + while env.day.clock + CALL_MIN < env.day.ends: + await tools("get_situation") + at = (env.day.watch, env.day.clock, env.day.calls) + assert "invalid literal" in await tools.error( + "check_plan", changes=[{"flight": "f\u00b2", "action": "cancel", "not_before": None}]) + assert (env.day.watch, env.day.clock, env.day.calls) == at + assert puts[-1]["virtual_time"] == virtual_time(task, env.day.t) + out = await tools("get_situation") + assert out["watch_over"]["watch"] == env.day.watch == 1 + assert puts[-1]["virtual_time"] == virtual_time(task, env.day.t) + + +async def test_planner_calls_made_at_once_run_one_at_a_time_on_the_clock(monkeypatch, tmp_path): + task = two_flights() + with served_v3(monkeypatch, tmp_path, [task]) as (url, env, puts): + async with Client(f"{url}/mcp") as mcp: + await asyncio.gather(mcp.call_tool_mcp("advance", {}), mcp.call_tool_mcp("advance", {})) + assert env.day.watch == 2 + assert [p["virtual_time"] for p in puts] == [virtual_time(task, task.start + 60), virtual_time(task, env.day.t)] + + +async def test_each_watchs_news_comes_once_in_the_reply_that_opens_it_and_v1s_verifier_scores_the_day( + monkeypatch, tmp_path): + verifier = v1_verifier() + with served_v3(monkeypatch, tmp_path, [with_news()]) as (url, env, _): + assert [w.news for w in env.day.watches[:2]] == [("a0",), ("a1",)] + async with Client(f"{url}/mcp") as mcp: + tools = Tools(mcp) + assert (await tools("get_situation"))["messages"] == [] + with pytest.raises(RuntimeError, match="can't be scored"): + await verifier.verify(f"{url}/mcp") + opened = await tools("advance") + assert opened["news"] == ["a1"] and [m["id"] for m in opened["messages"]] == ["a1"] + assert (await tools("get_situation"))["messages"] == [] + while not (await tools("advance")).get("done"): + pass + rows = await verifier.verify(f"{url}/mcp") + assert [(e["news_id"], e["watch"], e["via"]) for e in env.day.log] == [("a0", 0, "load"), ("a1", 1, "watch")] + assert rows[0]["score"] == env.day.result["reward"] + + +def test_the_audit_names_news_dropped_or_delivered_at_the_wrong_watch(): + d = Day(with_news()) + d.advance() + assert audit(d) == {"ok": True, "problems": []} + d.log[1]["watch"] = 0 + assert audit(d) == {"ok": False, "problems": ["watch 0 got ['a0', 'a1'] instead of ['a0']", + "watch 1 got [] instead of ['a1']"]} + del d.log[0] + assert audit(d)["problems"][0] == "watch 0 got ['a1'] instead of ['a0']" + + +async def test_the_anchor_is_solved_at_load_so_the_days_last_call_runs_no_mip(monkeypatch, tmp_path): + task, solves = two_flights(), [] + solve = references.anchor + monkeypatch.setattr(references, "anchor", lambda t, *a, **k: solves.append(t.task_id) or solve(t, *a, **k)) + with served_v3(monkeypatch, tmp_path, [task]) as (url, env, _): + assert solves == [task.task_id] + async with Client(f"{url}/mcp") as mcp: + while not (out := await Tools(mcp)("advance")).get("done"): + pass + assert solves == [task.task_id] and env.day.result["anchor"] == solve(task)[1].cost.total + assert out["reward"] == env.day.result["reward"] + + +async def test_the_anchor_and_follower_given_at_load_are_graded_against_without_a_solve(monkeypatch, tmp_path): + task, solves = two_flights(), [] + monkeypatch.setattr(references, "anchor", lambda t, *a, **k: solves.append(t.task_id)) + with served_v3(monkeypatch, tmp_path, [task], anchor=0, follower=0) as (url, env, _): + async with httpx.AsyncClient(base_url=url) as http: + out = (await invoke(http, END_DAY_URI)).json() + got = await data(http) + assert solves == [] and got["grade"]["anchor"] == 0 + assert got["grade"]["references"]["follower"] == {"cost": 0, "reward": 1.0} and out["reward"] == got["reward"] + + +async def test_the_load_takes_the_packs_stored_costs_for_the_task_they_ran_on_and_solves_a_stale_ones(monkeypatch, + tmp_path): + task, other, solves = two_flights(), replace(two_flights(), task_id="b6-jfk-20240102-0100"), [] + solve = references.anchor + monkeypatch.setattr(references, "anchor", lambda t, *a, **k: solves.append(t.task_id) or solve(t, *a, **k)) + stale = replace(other, cutoff=other.cutoff - 1) + (tmp_path / "refs.json").write_text(json.dumps({ + task.task_id: {"anchor": 3, "follower": 4, "task": references.digest(task)}, + other.task_id: {"anchor": 3, "follower": 4, "task": references.digest(stale)}})) + with served_v3(monkeypatch, tmp_path, [task, other]) as (url, env, _): + async with httpx.AsyncClient(base_url=url) as http: + await invoke(http, END_DAY_URI) + got = await data(http) + assert solves == [] and got["grade"]["anchor"] == 3 and got["grade"]["references"]["follower"]["cost"] == 4 + with served_v3(monkeypatch, tmp_path, [task, other], task_id=other.task_id) as (url, env, _): + assert solves == [other.task_id] and (env.day.anchor, env.day.follower) == (solve(other)[1].cost.total, None) + + +async def test_sync_time_reads_the_gateway_clock(monkeypatch, tmp_path): + task = two_flights() + with served_v3(monkeypatch, tmp_path, [task], synced=False) as (url, env, _): + async with httpx.AsyncClient(base_url=url) as http: + got = (await invoke(http, CLOCK_URI, env_get_time_url=f"{url}/clock/time")).json() + assert got == {"env_get_time_url": f"{url}/clock/time", "virtual_time": virtual_time(task, task.start)} + assert env.set_time_url == f"{url}/clock/set-time" + + +async def test_end_day_grades_the_plan_on_the_truth_and_data_get_reports_it(monkeypatch, tmp_path): + task = two_flights() + cancel = [{"flight": "f1", "action": "cancel", "not_before": None}] + with served_v3(monkeypatch, tmp_path, [task]) as (url, env, _): + async with Client(f"{url}/mcp") as mcp, httpx.AsyncClient(base_url=url) as http: + assert (await Tools(mcp)("confirm_changes", changes=cancel))["confirmed"] == ["f1"] + out = (await invoke(http, END_DAY_URI)).json() + got = await data(http) + plan = {1: {"cancel": True, "decided": 0}} + assert env.day.plan == plan and got["grade"] == grade(task, plan) + assert out == {"end_reason": "end_day", "watch": 0, "cost": sim.execute(task, plan).cost.total, + "reward": got["reward"], "audit": {"ok": True, "problems": []}} + + +async def test_no_day_loaded_and_one_day_per_env(monkeypatch, tmp_path): + monkeypatch.setenv("AIROPS_V3_TASKS", str(tmp_path / "none.jsonl")) + (tmp_path / "none.jsonl").write_text("") + env = AirOpsV3LiveEnv() + env.create_app() + async with Client(env.mcp) as mcp: + no_day = f"no day loaded: load one with {LIVE_LOAD_URI}" + assert await Tools(mcp).error("get_situation") == f"Error calling tool 'get_situation': {no_day}" + with pytest.raises(ValueError, match="unknown task id 'x'"): + env.live_load("x") + env.tasks = {"d": two_flights()} + assert env.live_load("d") == {"task_id": "d", "watches": len(env.day.watches)} + with pytest.raises(ValueError, match="already loaded"): + env.live_load("d") + + +def test_the_v3_prompts_describe_the_programs_world(task, crewed): + rules, crew_rules = v3_tasks.rules(task), v3_tasks.rules(crewed) + for words in ["ground delay programs", "EDCT", "Ground stops", "Departure caps", "check_plan(changes)", + "decided later than 2 hours"]: + assert words in rules + assert "Crews:" in crew_rules and "Crews:" not in rules and rules != v1_tasks.AIROPS_RULES + d = Day(task) + assert v3_tasks.briefing(d).startswith(d.text()) and d.calls == 0 + steps = v3_tasks.steps(task) + assert [s["id"] for s in steps] == ["deploy", "load-task", "deploy-agent", "clock", "play", "end-day", "grade"] + assert steps[1]["directives"] == [{"service": ENV, "uri": LIVE_LOAD_URI, "args": {"task_id": task.task_id}}] + assert ApplyServerConfigStep.from_dict(steps[1]).timeout_seconds > references.TIME_LIMIT + given = v3_tasks.steps(task, anchor=5, follower=7)[1] + assert given["directives"][0]["args"] == {"task_id": task.task_id, "anchor": 5, "follower": 7} + assert ApplyServerConfigStep.from_dict(given).timeout_seconds < references.TIME_LIMIT + assert steps[3]["virtual_time"] == virtual_time(task, task.start) + assert steps[4]["system_prompt"] == rules and steps[4]["max_turns"] == 5 * len(d.watches) + 4 + + +async def test_a_reserve_call_in_list_form_flies_a_late_base_departure_through_the_tools(monkeypatch, tmp_path): + """The live tools take v3's reserve actions as list items (the strict schema's enum), as the Day does.""" + task = reserve_day() + with served_v3(monkeypatch, tmp_path, [task]) as (url, env, _): + async with Client(f"{url}/mcp") as mcp: + tools = Tools(mcp) + before = await tools("get_situation") + assert "Reserve crews" in before["situation"] + out = await tools("confirm_changes", changes=[{"flight": "f1", "action": "call_reserve", + "not_before": None}]) + assert out["confirmed"] == ["f1"] and env.day.plan[1] == {"reserve": True} + again = await tools("confirm_changes", changes=[{"flight": "f0", "action": "call_reserve", + "not_before": None}]) + assert "no reserve crew is left at JFK" in again["refused"][0]["reason"] diff --git a/tests/v3day/test_v3_play.py b/tests/v3day/test_v3_play.py new file mode 100644 index 0000000..2f42d6b --- /dev/null +++ b/tests/v3day/test_v3_play.py @@ -0,0 +1,93 @@ +import math +import random + +import pytest +from day_helpers import network_day, random_day +from test_reference_plays import committed_then_stopped, released_early, stopped_then_released + +from agentenv_airops.core.known import FREEZE +from agentenv_airops.core.sim import AUTO_CANCELLED +from agentenv_airops.programs import references, sim +from agentenv_airops.programs.cost import NOTICE +from agentenv_airops.v3day.day import Day, play +from agentenv_airops.v3day.grade import reward + + +def nothing(day: Day) -> dict: + return {} + + +def airline(day: Day) -> dict: + """JetBlue's decisions: its recorded departures as holds from the first watch, each cancellation at the last + watch at or before it was due (sched - NOTICE).""" + upto = math.inf if day.last else day.watches[day.watch + 1].t + return {f.id: {"cancel": True} if f.actual.dep is None else {"not_before": f.actual.dep} + for f in day.task.flights if f.actual.dep is not None or max(f.sched_dep - NOTICE, day.task.start) < upto} + + +def airline_expected(task) -> dict: + times = references.watch_times(task) + return {f.id: {"not_before": f.actual.dep} if f.actual.dep is not None else + {"cancel": True, "decided": max(t for t in times if t <= max(f.sched_dep - NOTICE, task.start))} + for f in task.flights} + + +def rule(day: Day) -> dict: + """references.rule as a desk: cancel what the plan auto-cancels on the day as known while it is still open.""" + run = day.project(day.plan) + return day.plan | {i: {"cancel": True} for i, r in run.flights.items() + if r.status == AUTO_CANCELLED and i not in day.frozen and r.decided >= day.t + FREEZE} + + +def hand_and_random_days(): + rng = random.Random(9) + return ([stopped_then_released(), committed_then_stopped(), released_early()] + + [random_day(rng) for _ in range(12)] + [network_day(rng) for _ in range(12)]) + + +@pytest.mark.parametrize("name", ["task", "crewed"]) +def test_airline_replay_through_the_day_costs_what_the_sim_says(name, request): + task = request.getfixturevalue(name) + d = play(task, airline, anchor=0) + expected = airline_expected(task) + assert d.refusals == [] and [c for c in d.changes if c["by"] == "freeze_line"] == [] + assert d.plan == expected and d.result["cost"] == sim.execute(task, expected).cost.to_dict() + + +def test_the_airline_replay_on_random_network_days_costs_what_the_sim_says(): + rng = random.Random(4) + for _ in range(20): + task = network_day(rng) + d = play(task, airline, anchor=0) + assert d.plan == airline_expected(task) and d.refusals == [] + + +@pytest.mark.parametrize("name", ["task", "crewed"]) +def test_doing_nothing_on_the_fixture_costs_the_naive_day(name, request): + task = request.getfixturevalue(name) + d = play(task, nothing, anchor=0) + assert d.plan == {} and d.result["cost"]["total"] == d.result["naive"] == references.naive(task).cost.total + + +def test_doing_nothing_costs_the_naive_day_and_scores_zero(): + for task in hand_and_random_days(): + d = play(task, nothing) + assert d.plan == {} and d.result["cost"]["total"] == d.result["naive"] == references.naive(task).cost.total + assert d.result["reward"] == round(reward(d.result["naive"], d.result["naive"], d.result["anchor"]), 6) + + +def test_the_rule_played_through_the_day_is_the_rule_reference(): + """Except on day 15, where the reference's cancellation of f12 at 08:00 reroutes N1 and auto-cancels f6, which + left at 03:38: the desk can't reach back past the day so far, so the Day refuses it.""" + differ = [] + for k, task in enumerate(hand_and_random_days()): + d, ref = play(task, rule, anchor=0), references.rule(task) + if d.plan == ref.plan: + assert d.result["cost"]["total"] == ref.cost and d.refusals == [] + else: + differ.append(k) + assert {r["flight"] for r in d.refusals} == {"f12"} and "move f6" in d.refusals[0]["reason"] + assert d.plan == {i: e for i, e in ref.plan.items() if i != 12} + assert sim.execute(task, ref.plan).flights[6].status == AUTO_CANCELLED + assert sim.execute(task, d.plan).flights[6].dep == 218 + assert differ == [15]