Skip to content

Instantly share code, notes, and snippets.

@bwbroersma
Created May 3, 2020 19:08
Show Gist options
  • Save bwbroersma/4dcd83b14673dbcdd690f855fcc3007b to your computer and use it in GitHub Desktop.
Save bwbroersma/4dcd83b14673dbcdd690f855fcc3007b to your computer and use it in GitHub Desktop.
Schiphol flight data
#!/bin/bash
#Get a key at https://developer.schiphol.nl/
APP_ID="********"
APP_KEY="********************************"
#Check page count with:
# curl 'https://api.schiphol.nl/public-flights/flights?includedelays=false&scheduleDate=2019-11-10&page=0&sort=%2BscheduleTime' -sSfA '' --compressed -H 'Accept: application/json' -H "app_id: $APP_ID" -H "app_key: $APP_KEY" -H 'ResourceVersion: v4' -i | grep -i '^link' | grep -Po '=([0-9]+)>; rel="last' | grep -Po '[0-9]+'
#Fetch data:
curl 'https://api.schiphol.nl/public-flights/flights?includedelays=false&scheduleDate=2019-11-04&page=[0-248]&sort=%2BscheduleTime' -sSfA '' --compressed -H 'Accept: application/json' -H "app_id: $APP_ID" -H "app_key: $APP_KEY" -H 'ResourceVersion: v4' > flights-2019-11-04.jsonl
curl 'https://api.schiphol.nl/public-flights/flights?includedelays=false&scheduleDate=2019-11-05&page=[0-241]&sort=%2BscheduleTime' -sSfA '' --compressed -H 'Accept: application/json' -H "app_id: $APP_ID" -H "app_key: $APP_KEY" -H 'ResourceVersion: v4' > flights-2019-11-05.jsonl
curl 'https://api.schiphol.nl/public-flights/flights?includedelays=false&scheduleDate=2019-11-06&page=[0-244]&sort=%2BscheduleTime' -sSfA '' --compressed -H 'Accept: application/json' -H "app_id: $APP_ID" -H "app_key: $APP_KEY" -H 'ResourceVersion: v4' > flights-2019-11-06.jsonl
curl 'https://api.schiphol.nl/public-flights/flights?includedelays=false&scheduleDate=2019-11-07&page=[0-257]&sort=%2BscheduleTime' -sSfA '' --compressed -H 'Accept: application/json' -H "app_id: $APP_ID" -H "app_key: $APP_KEY" -H 'ResourceVersion: v4' > flights-2019-11-07.jsonl
curl 'https://api.schiphol.nl/public-flights/flights?includedelays=false&scheduleDate=2019-11-08&page=[0-255]&sort=%2BscheduleTime' -sSfA '' --compressed -H 'Accept: application/json' -H "app_id: $APP_ID" -H "app_key: $APP_KEY" -H 'ResourceVersion: v4' > flights-2019-11-08.jsonl
curl 'https://api.schiphol.nl/public-flights/flights?includedelays=false&scheduleDate=2019-11-09&page=[0-223]&sort=%2BscheduleTime' -sSfA '' --compressed -H 'Accept: application/json' -H "app_id: $APP_ID" -H "app_key: $APP_KEY" -H 'ResourceVersion: v4' > flights-2019-11-09.jsonl
curl 'https://api.schiphol.nl/public-flights/flights?includedelays=false&scheduleDate=2019-11-10&page=[0-243]&sort=%2BscheduleTime' -sSfA '' --compressed -H 'Accept: application/json' -H "app_id: $APP_ID" -H "app_key: $APP_KEY" -H 'ResourceVersion: v4' > flights-2019-11-10.jsonl
#Make JSON from JSONL
jq -cs 'map(.[][])' flights-2019-11-04.jsonl > flights-2019-11-04.json
jq -cs 'map(.[][])' flights-2019-11-05.jsonl > flights-2019-11-05.json
jq -cs 'map(.[][])' flights-2019-11-06.jsonl > flights-2019-11-06.json
jq -cs 'map(.[][])' flights-2019-11-07.jsonl > flights-2019-11-07.json
jq -cs 'map(.[][])' flights-2019-11-08.jsonl > flights-2019-11-08.json
jq -cs 'map(.[][])' flights-2019-11-09.jsonl > flights-2019-11-09.json
jq -cs 'map(.[][])' flights-2019-11-10.jsonl > flights-2019-11-10.json
#Make route listing
jq 'map(select(.mainFlight==.flightName)|{dest:(.route.destinations? //["unknown"]),dir:.flightDirection,air:(.prefixICAO//.prefixIATA//"prefixless")})' flights-2019-11-{04,05,06,07,08,09,10}.json | jq -s 'map(.[])|group_by(.dest)|map({key:.[0].dest|join("-"),value:group_by(.air)|map({key:.[0].air,value:group_by(.dir)|map({key:.[0].dir,value:length})|from_entries})|from_entries})|from_entries' > routes-2019-11-04_2019-11-10.json
{
"AAL": {
"CTM": {
"A": 1
},
"KLM": {
"A": 21,
"D": 21
}
},
"ABZ": {
"KLM": {
"A": 31,
"D": 31
}
},
"ACC": {
"KLM": {
"A": 7,
"D": 7
}
},
"ACE": {
"EJU": {
"A": 2,
"D": 2
},
"TRA": {
"A": 3,
"D": 3
}
},
"ACE-FUE": {
"TFL": {
"A": 1,
"D": 1
}
},
"ACH": {
"DCS": {
"D": 1
}
},
"ADB": {
"SXS": {
"A": 3,
"D": 3
}
},
"AES": {
"KLM": {
"A": 7,
"D": 7
}
},
"AGA": {
"EJU": {
"A": 1,
"D": 1
},
"TRA": {
"A": 3,
"D": 3
}
},
"AGP": {
"EJU": {
"A": 2,
"D": 2
},
"KLM": {
"A": 3,
"D": 3
},
"RYR": {
"A": 5,
"D": 5
},
"TRA": {
"A": 14,
"D": 14
},
"VLG": {
"A": 5,
"D": 5
}
},
"ALC": {
"EJU": {
"A": 2,
"D": 2
},
"FYG": {
"A": 1,
"D": 1
},
"KLM": {
"A": 2,
"D": 2
},
"TRA": {
"A": 13,
"D": 13
},
"VLG": {
"A": 3,
"D": 3
}
},
"AMM": {
"RJA": {
"A": 3,
"D": 3
},
"TRA": {
"A": 3,
"D": 3
}
},
"AMS": {
"CND": {
"A": 1,
"D": 1
},
"KLM": {
"A": 3,
"D": 1
},
"NCG": {
"A": 13,
"D": 14
},
"PHL": {
"A": 3,
"D": 3
},
"ZXP": {
"A": 47,
"D": 45
}
},
"AMS-SVO": {
"KLM": {
"D": 1
}
},
"AMS-TLV": {
"TRA": {
"D": 1
}
},
"ANR": {
"FYL": {
"D": 1
},
"PHT": {
"A": 1
}
},
"ARN": {
"KLM": {
"A": 39,
"D": 39
},
"NAX": {
"A": 6,
"D": 6
},
"SAS": {
"A": 14,
"D": 14
}
},
"ARN-ICN": {
"KAL": {
"D": 3
}
},
"ASR": {
"SXS": {
"A": 1,
"D": 1
}
},
"ATH": {
"AEE": {
"A": 7,
"D": 7
},
"AOJ": {
"D": 1
},
"KLM": {
"A": 14,
"D": 14
},
"TRA": {
"A": 7,
"D": 7
}
},
"ATL": {
"DAL": {
"A": 14,
"D": 14
},
"KLM": {
"A": 14,
"D": 14
}
},
"AUA-BON": {
"KLM": {
"A": 7,
"D": 7
},
"TFL": {
"A": 1,
"D": 1
}
},
"AUA-CUR": {
"TFL": {
"A": 1,
"D": 1
}
},
"AUH": {
"ETD": {
"A": 9,
"D": 9
},
"EY": {
"D": 1
},
"KLM": {
"A": 5,
"D": 5
}
},
"AYT": {
"CAI": {
"A": 5,
"D": 4
},
"TFL": {
"A": 2,
"D": 1
},
"TRA": {
"A": 1,
"D": 1
}
},
"BAH-KWI": {
"KLM": {
"A": 6
}
},
"BCN": {
"FOO": {
"A": 7,
"D": 7
},
"KLM": {
"A": 34,
"D": 34
},
"NJE": {
"A": 1
},
"TRA": {
"A": 12,
"D": 12
},
"VLG": {
"A": 22,
"D": 22
}
},
"BCN-DWC": {
"UAE": {
"D": 1
}
},
"BEG": {
"ASL": {
"A": 7,
"D": 7
},
"KLM": {
"A": 1
},
"TRA": {
"A": 5,
"D": 5
}
},
"BES": {
"AFR": {
"A": 3,
"D": 3
}
},
"BEY": {
"HV": {
"A": 1
},
"TRA": {
"A": 4,
"D": 4
}
},
"BFS": {
"EZY": {
"A": 6,
"D": 6
}
},
"BGO": {
"KLM": {
"A": 28,
"D": 28
}
},
"BGR": {
"NAF": {
"D": 1
},
"prefixless": {
"A": 1
}
},
"BGY": {
"PHM": {
"A": 1,
"D": 1
}
},
"BHD": {
"KLM": {
"A": 6,
"D": 6
}
},
"BHX": {
"BEE": {
"A": 42,
"D": 42
},
"KLM": {
"A": 28,
"D": 28
}
},
"BIO": {
"KLM": {
"A": 14,
"D": 14
},
"VLG": {
"A": 2,
"D": 2
}
},
"BJL": {
"CND": {
"A": 2,
"D": 2
},
"TFL": {
"A": 2,
"D": 2
}
},
"BKK": {
"KLM": {
"A": 7,
"D": 7
}
},
"BKK-TPE": {
"CAL": {
"D": 2
},
"EVA": {
"D": 3
}
},
"BLL": {
"KLM": {
"A": 35,
"D": 35
},
"MMD": {
"A": 1
}
},
"BLQ": {
"KLM": {
"A": 23,
"D": 23
},
"NJE": {
"A": 1
},
"SXN": {
"D": 1
}
},
"BLR": {
"KLM": {
"A": 3,
"D": 3
}
},
"BMA": {
"XRO": {
"D": 1
}
},
"BOD": {
"EJU": {
"A": 2,
"D": 2
},
"KLM": {
"A": 20,
"D": 20
}
},
"BOG-CTG": {
"KLM": {
"A": 6,
"D": 6
}
},
"BOG-MIA": {
"MPH": {
"A": 1
}
},
"BOG-MIA-STN": {
"MPH": {
"A": 1,
"D": 1
}
},
"BOM": {
"KLM": {
"A": 7,
"D": 7
}
},
"BON-CUR": {
"TFL": {
"A": 2,
"D": 2
}
},
"BOS": {
"DAL": {
"A": 7,
"D": 7
},
"KLM": {
"A": 3,
"D": 3
}
},
"BQH": {
"GDK": {
"A": 1,
"D": 1
},
"NJE": {
"D": 1
},
"NTF": {
"A": 1
},
"PHT": {
"D": 1
}
},
"BRE": {
"KLM": {
"A": 20,
"D": 20
}
},
"BRI": {
"TRA": {
"A": 4,
"D": 4
}
},
"BRS": {
"EZY": {
"A": 12,
"D": 12
},
"KLM": {
"A": 27,
"D": 27
}
},
"BRU": {
"JAF": {
"A": 1
},
"KLM": {
"A": 35,
"D": 35
}
},
"BSL": {
"AOJ": {
"A": 1
},
"EJU": {
"A": 6,
"D": 6
},
"EZS": {
"A": 10,
"D": 10
},
"KLM": {
"A": 20,
"D": 20
},
"VPC": {
"A": 1,
"D": 1
}
},
"BUD": {
"EJU": {
"A": 3,
"D": 3
},
"KLM": {
"A": 21,
"D": 21
},
"prefixless": {
"A": 1,
"D": 1
}
},
"BVC-SID": {
"TFL": {
"A": 2,
"D": 2
}
},
"BWE": {
"WGT": {
"D": 1
}
},
"BZM": {
"TRA": {
"A": 1,
"D": 1
}
},
"CAI": {
"MPH": {
"A": 1,
"D": 1
},
"MSR": {
"A": 7,
"D": 7
}
},
"CAN": {
"CSN": {
"A": 10,
"D": 13
}
},
"CAN-CKG": {
"CSN": {
"A": 3
}
},
"CAT": {
"BOO": {
"A": 1,
"D": 1
}
},
"CBG": {
"VJT": {
"D": 1
},
"XRO": {
"A": 1,
"D": 1
}
},
"CDG": {
"AFR": {
"A": 41,
"D": 41
},
"FDX": {
"A": 5,
"D": 4
},
"FPO": {
"D": 1
},
"KLM": {
"A": 42,
"D": 42
}
},
"CEQ": {
"GAC": {
"D": 1
},
"MIF": {
"A": 1
},
"XRO": {
"A": 1,
"D": 1
}
},
"CFE": {
"AFR": {
"A": 4,
"D": 4
}
},
"CGK-KUL": {
"KLM": {
"A": 7
}
},
"CGN": {
"NJE": {
"A": 1
}
},
"CGO": {
"YZR": {
"A": 2
}
},
"CGO-SVO": {
"ABW": {
"A": 1
}
},
"CIA": {
"LSA": {
"A": 1,
"D": 1
},
"MBH": {
"D": 1
},
"XRO": {
"A": 1,
"D": 1
}
},
"CKG": {
"CAO": {
"A": 2
}
},
"CKG-PVG": {
"CSN": {
"D": 2
}
},
"CMN": {
"RAM": {
"A": 7,
"D": 7
},
"TRA": {
"A": 3,
"D": 3
}
},
"CPH": {
"CTM": {
"D": 1
},
"IBK": {
"A": 6,
"D": 6
},
"KLM": {
"A": 48,
"D": 48
},
"SAS": {
"A": 31,
"D": 31
}
},
"CPT": {
"KLM": {
"A": 7,
"D": 7
}
},
"CTA": {
"KLM": {
"A": 2,
"D": 2
},
"TRA": {
"A": 3,
"D": 3
}
},
"CTU": {
"KLM": {
"A": 3,
"D": 3
}
},
"CUR": {
"KLM": {
"A": 11,
"D": 11
},
"TFL": {
"A": 3,
"D": 3
}
},
"CUR-AUA": {
"TFL": {
"A": 1,
"D": 1
}
},
"CUR-BON": {
"TFL": {
"A": 1,
"D": 1
}
},
"CVG": {
"CKS": {
"A": 1
}
},
"CWL": {
"KLM": {
"A": 20,
"D": 20
}
},
"DBV": {
"FHM": {
"A": 1,
"D": 1
}
},
"DEL": {
"KLM": {
"A": 7,
"D": 7
}
},
"DEL-HKG": {
"CPA": {
"D": 1
}
},
"DHR": {
"NCG": {
"A": 1,
"D": 1
}
},
"DME": {
"YZR": {
"D": 1
}
},
"DME-KGF": {
"ABW": {
"D": 1
}
},
"DME-KGF-HKG": {
"ABW": {
"D": 1
}
},
"DME-SHE-PVG": {
"YZR": {
"D": 1
}
},
"DMM-MCT": {
"KLM": {
"D": 5
}
},
"DOH": {
"QTR": {
"A": 14,
"D": 14
}
},
"DPS-SIN": {
"KLM": {
"A": 7
}
},
"DRS": {
"KLM": {
"A": 7,
"D": 7
},
"WGT": {
"A": 1
}
},
"DSS-BJL": {
"TFL": {
"A": 2,
"D": 2
}
},
"DTM": {
"GDK": {
"A": 1
}
},
"DTW": {
"DAL": {
"A": 21,
"D": 21
}
},
"DUB": {
"EIN": {
"A": 27,
"D": 27
},
"GAC": {
"A": 1,
"D": 1
},
"KLM": {
"A": 28,
"D": 28
},
"MDM": {
"A": 1,
"D": 1
},
"NJE": {
"A": 1,
"D": 1
},
"RYR": {
"A": 28,
"D": 28
}
},
"DUS": {
"KLM": {
"A": 35,
"D": 35
},
"T7M": {
"D": 1
},
"TFL": {
"A": 1
}
},
"DWC": {
"AOJ": {
"A": 1
},
"UAE": {
"D": 4
}
},
"DWC-EDL-NBO": {
"UAE": {
"A": 1
}
},
"DXB": {
"KLM": {
"A": 7,
"D": 7
},
"TRA": {
"A": 4,
"D": 4
},
"UAE": {
"A": 18,
"D": 18
}
},
"EDI": {
"EJU": {
"A": 5,
"D": 5
},
"EZY": {
"A": 9,
"D": 9
},
"KLM": {
"A": 28,
"D": 28
},
"NJE": {
"A": 1,
"D": 1
}
},
"EIN": {
"CND": {
"A": 1,
"D": 1
},
"NCG": {
"A": 2,
"D": 2
},
"OOM": {
"A": 1,
"D": 1
},
"PHL": {
"A": 1,
"D": 1
},
"SXN": {
"A": 2,
"D": 1
},
"XRO": {
"A": 1,
"D": 1
},
"ZXP": {
"D": 1
}
},
"EMA": {
"BCS": {
"A": 6
},
"BEE": {
"A": 6,
"D": 6
},
"KLM": {
"A": 1
}
},
"ESB": {
"SXS": {
"A": 1,
"D": 1
}
},
"ETM": {
"TRA": {
"A": 2,
"D": 2
}
},
"EWR": {
"UAL": {
"A": 7,
"D": 7
}
},
"EXT": {
"BEE": {
"A": 11,
"D": 11
},
"EGL": {
"A": 1
}
},
"EZE-SCL": {
"KLM": {
"D": 7
}
},
"FAB": {
"DCF": {
"A": 1
},
"FLJ": {
"D": 1
},
"NJE": {
"A": 1,
"D": 1
},
"VJT": {
"A": 3,
"D": 5
}
},
"FAO": {
"TRA": {
"A": 9,
"D": 9
}
},
"FCO": {
"AZA": {
"A": 14,
"D": 14
},
"EJU": {
"A": 4,
"D": 4
},
"FOO": {
"A": 10,
"D": 10
},
"KLM": {
"A": 34,
"D": 34
}
},
"FEZ": {
"MAC": {
"A": 2,
"D": 2
}
},
"FKB": {
"LXA": {
"D": 1
},
"VJT": {
"D": 1
}
},
"FLR": {
"KLM": {
"A": 14,
"D": 14
},
"VLG": {
"A": 4,
"D": 4
}
},
"FMO": {
"XRO": {
"A": 1
}
},
"FNC": {
"TRA": {
"A": 3,
"D": 3
}
},
"FOR": {
"KLM": {
"A": 4,
"D": 4
}
},
"FRA": {
"AZE": {
"A": 1
},
"DLH": {
"A": 43,
"D": 43
},
"KLM": {
"A": 40,
"D": 40
},
"NJE": {
"A": 1,
"D": 1
}
},
"FRA-BOM-HKG": {
"CPA": {
"D": 1
}
},
"FRA-SID-VCP-SCL": {
"LCO": {
"D": 1
}
},
"FUE": {
"EJU": {
"A": 2,
"D": 2
},
"FOO": {
"A": 1,
"D": 1
},
"TRA": {
"A": 3,
"D": 3
}
},
"FUE-ACE": {
"TFL": {
"D": 1
}
},
"GDN": {
"KLM": {
"A": 21,
"D": 21
}
},
"GIG": {
"KLM": {
"A": 7,
"D": 7
}
},
"GLA": {
"EZY": {
"A": 4,
"D": 4
},
"KLM": {
"A": 27,
"D": 27
},
"NJE": {
"D": 1
}
},
"GLZ": {
"PHL": {
"A": 1,
"D": 1
},
"ZXP": {
"A": 1
}
},
"GME": {
"UPS": {
"D": 1
}
},
"GOA": {
"KLM": {
"A": 6,
"D": 7
}
},
"GOT": {
"KLM": {
"A": 28,
"D": 28
}
},
"GRQ": {
"PHL": {
"A": 1,
"D": 1
},
"prefixless": {
"D": 1
}
},
"GRU": {
"KLM": {
"A": 7,
"D": 7
}
},
"GRZ": {
"KLM": {
"A": 6,
"D": 6
}
},
"GUA-BOG-UIO-MIA": {
"MPH": {
"A": 1,
"D": 1
}
},
"GUW": {
"KZR": {
"A": 4,
"D": 3
}
},
"GUW-ALA": {
"KZR": {
"D": 1
}
},
"GVA": {
"AHO": {
"A": 1
},
"EJU": {
"A": 4,
"D": 4
},
"EZS": {
"A": 9,
"D": 9
},
"GAC": {
"D": 1
},
"KLM": {
"A": 42,
"D": 42
},
"VCN": {
"D": 1
},
"prefixless": {
"D": 1
}
},
"GWT": {
"NJE": {
"A": 1
}
},
"GYD": {
"AZG": {
"A": 4,
"D": 4
}
},
"HAJ": {
"KLM": {
"A": 28,
"D": 28
},
"SWT": {
"A": 1
}
},
"HAM": {
"EWG": {
"A": 11,
"D": 11
},
"KLM": {
"A": 28,
"D": 28
},
"NJE": {
"A": 1
},
"SYB": {
"D": 1
}
},
"HAU": {
"MDT": {
"A": 1
}
},
"HAV": {
"KLM": {
"A": 5,
"D": 5
}
},
"HEL": {
"FIN": {
"A": 14,
"D": 14
},
"KLM": {
"A": 27,
"D": 27
},
"TRA": {
"A": 3,
"D": 3
}
},
"HER": {
"TRA": {
"A": 2,
"D": 2
}
},
"HGH": {
"KLM": {
"A": 2,
"D": 2
}
},
"HHN": {
"JCL": {
"D": 1
},
"SGX": {
"D": 1
}
},
"HKG": {
"CPA": {
"A": 7,
"D": 7
},
"GTI": {
"D": 1
},
"KLM": {
"A": 7,
"D": 7
}
},
"HKG-DEL-FRA": {
"CPA": {
"A": 2
}
},
"HKG-DME": {
"ABW": {
"A": 1
}
},
"HKG-DWC": {
"CPA": {
"A": 1
}
},
"HKG-SVO": {
"ABW": {
"A": 3
}
},
"HOG-CUN": {
"TFL": {
"A": 1,
"D": 1
}
},
"HRG": {
"CND": {
"A": 3,
"D": 3
},
"TFL": {
"A": 2,
"D": 2
},
"TRA": {
"A": 3,
"D": 3
}
},
"HUY": {
"KLM": {
"A": 20,
"D": 20
}
},
"IAD": {
"KLM": {
"A": 7,
"D": 7
},
"UAL": {
"A": 7,
"D": 7
}
},
"IAH": {
"KLM": {
"A": 7,
"D": 7
},
"UAL": {
"A": 7,
"D": 7
}
},
"IBZ": {
"TRA": {
"A": 4,
"D": 4
}
},
"ICN": {
"KAL": {
"A": 7,
"D": 4
},
"KLM": {
"A": 7,
"D": 7
}
},
"ICN-HKG-SVO": {
"ABW": {
"A": 1
}
},
"IGS": {
"OEG": {
"D": 1
},
"WGT": {
"A": 1
}
},
"IKA": {
"IRA": {
"A": 2,
"D": 3
}
},
"INN": {
"TRA": {
"A": 2,
"D": 2
}
},
"INV": {
"KLM": {
"A": 7,
"D": 7
}
},
"ISL": {
"MNB": {
"D": 2
},
"THY": {
"A": 1,
"D": 1
}
},
"ISL-LTN": {
"MNB": {
"A": 2
}
},
"IST": {
"KKK": {
"A": 7,
"D": 7
},
"KLM": {
"A": 7,
"D": 7
},
"THY": {
"A": 28,
"D": 28
}
},
"JED": {
"SVA": {
"A": 6,
"D": 3
}
},
"JER": {
"NJE": {
"A": 1,
"D": 1
}
},
"JFK": {
"CKS": {
"D": 1
},
"DAL": {
"A": 18,
"D": 18
},
"KLM": {
"A": 14,
"D": 14
},
"NAX": {
"A": 7,
"D": 7
}
},
"JNB": {
"KLM": {
"A": 7,
"D": 7
}
},
"JNB-DAR-NBO": {
"MPH": {
"A": 1,
"D": 1
}
},
"JNB-HRE-NBO": {
"MPH": {
"A": 1,
"D": 1
}
},
"JNB-LUN-HRE-NBO": {
"MPH": {
"A": 1,
"D": 1
}
},
"JNB-NBO": {
"CLX": {
"A": 2
},
"MPH": {
"A": 1,
"D": 1
}
},
"JNB-UTN-HRE-NBO": {
"MPH": {
"A": 1,
"D": 1
}
},
"JRO-DAR": {
"KLM": {
"A": 7,
"D": 7
}
},
"KBP": {
"AUI": {
"A": 7,
"D": 7
},
"KLM": {
"A": 7,
"D": 7
},
"T7M": {
"A": 1
}
},
"KEF": {
"ICE": {
"A": 7,
"D": 7
},
"TRA": {
"A": 2,
"D": 2
}
},
"KGL-EBB": {
"KLM": {
"A": 7,
"D": 7
}
},
"KIX": {
"KLM": {
"A": 7,
"D": 7
}
},
"KJK": {
"9HJ": {
"A": 1,
"D": 1
}
},
"KNO-DPS": {
"GIA": {
"A": 6,
"D": 6
}
},
"KOI": {
"EGL": {
"D": 1
}
},
"KRK": {
"KLM": {
"A": 21,
"D": 21
}
},
"KRS": {
"KLM": {
"A": 14,
"D": 14
}
},
"KTW": {
"TRA": {
"A": 2,
"D": 2
}
},
"KUL-CGK": {
"KLM": {
"D": 7
}
},
"KWI": {
"CKS": {
"A": 1
}
},
"KWI-BAH": {
"KLM": {
"D": 6
}
},
"KYA": {
"JCL": {
"A": 1
}
},
"LAD-WDH": {
"KLM": {
"D": 2
}
},
"LAS": {
"KLM": {
"A": 3,
"D": 3
}
},
"LAX": {
"KLM": {
"A": 7,
"D": 7
}
},
"LAX-ATL": {
"ABW": {
"A": 1
}
},
"LAX-DFW": {
"ABW": {
"A": 2
}
},
"LBA": {
"EXS": {
"A": 8,
"D": 8
},
"KLM": {
"A": 20,
"D": 20
}
},
"LBG": {
"DSO": {
"A": 1
},
"GAC": {
"A": 1,
"D": 1
},
"JSY": {
"D": 1
},
"MJF": {
"A": 1
},
"NJE": {
"A": 1,
"D": 1
},
"XRO": {
"A": 2,
"D": 2
},
"prefixless": {
"A": 1
}
},
"LCA": {
"TRA": {
"A": 3,
"D": 3
}
},
"LCK": {
"ETD": {
"A": 1
}
},
"LCY": {
"BAW": {
"A": 37,
"D": 37
},
"BEE": {
"A": 9,
"D": 9
},
"GAC": {
"A": 1,
"D": 1
},
"KLM": {
"A": 50,
"D": 51
},
"NJE": {
"A": 1,
"D": 2
}
},
"LED": {
"KLM": {
"A": 7,
"D": 7
}
},
"LEJ": {
"BCS": {
"A": 6,
"D": 11
}
},
"LEY": {
"2ZE": {
"D": 1
},
"PHK": {
"A": 1,
"D": 1
},
"PHT": {
"A": 1,
"D": 1
},
"PHW": {
"A": 1,
"D": 1
},
"ZXP": {
"A": 2,
"D": 2
}
},
"LGG-PVG": {
"CAO": {
"D": 1
}
},
"LGW": {
"BAW": {
"A": 23,
"D": 23
},
"EJU": {
"A": 20,
"D": 20
},
"EZY": {
"A": 29,
"D": 29
},
"KLM": {
"A": 1
},
"TFL": {
"A": 2,
"D": 2
}
},
"LHR": {
"BAW": {
"A": 61,
"D": 61
},
"KLM": {
"A": 72,
"D": 72
},
"SIA": {
"D": 2
}
},
"LIL": {
"NCR": {
"D": 1
}
},
"LIM": {
"KLM": {
"A": 7,
"D": 7
}
},
"LIN": {
"AZA": {
"A": 21,
"D": 21
},
"DIA": {
"A": 1
},
"EJU": {
"A": 7,
"D": 7
},
"GAC": {
"D": 1
},
"KLM": {
"A": 8,
"D": 8
},
"MJF": {
"D": 1
}
},
"LIS": {
"EJU": {
"A": 4,
"D": 4
},
"FOO": {
"A": 6,
"D": 6
},
"KLM": {
"A": 14,
"D": 14
},
"TAP": {
"A": 21,
"D": 22
},
"TRA": {
"A": 7,
"D": 7
}
},
"LJU": {
"JP": {
"A": 1
},
"TRA": {
"A": 2,
"D": 2
}
},
"LNZ": {
"CND": {
"D": 1
}
},
"LOS": {
"KLM": {
"A": 7,
"D": 7
}
},
"LPA": {
"CND": {
"A": 1,
"D": 1
},
"TFL": {
"A": 5,
"D": 5
},
"TRA": {
"A": 8,
"D": 8
}
},
"LPA-TFS": {
"CND": {
"A": 1,
"D": 1
},
"TFL": {
"A": 1,
"D": 1
}
},
"LPI": {
"KLM": {
"A": 20,
"D": 20
}
},
"LPL": {
"EZY": {
"A": 16,
"D": 16
},
"VJT": {
"A": 1
},
"prefixless": {
"A": 1,
"D": 1
}
},
"LTN": {
"BCS": {
"A": 1,
"D": 1
},
"EDC": {
"A": 1,
"D": 1
},
"EJU": {
"A": 6,
"D": 6
},
"EZY": {
"A": 37,
"D": 37
},
"FOO": {
"A": 14,
"D": 14
},
"GAC": {
"A": 1
},
"LXA": {
"A": 1,
"D": 1
},
"NJE": {
"A": 1
},
"VJT": {
"A": 1,
"D": 1
},
"VPC": {
"A": 1,
"D": 1
},
"prefixless": {
"A": 1,
"D": 1
}
},
"LUG": {
"MNT": {
"A": 1,
"D": 1
}
},
"LUX": {
"CLX": {
"D": 8
},
"KLM": {
"A": 27,
"D": 27
},
"prefixless": {
"A": 1
}
},
"LYS": {
"KLM": {
"A": 27,
"D": 27
}
},
"MAD": {
"AEA": {
"A": 14,
"D": 14
},
"BCS": {
"A": 2,
"D": 2
},
"IBS": {
"A": 14,
"D": 14
},
"KLM": {
"A": 34,
"D": 34
},
"SLM": {
"A": 2,
"D": 2
},
"VJT": {
"A": 1,
"D": 1
}
},
"MAD-SID-GRU-SCL": {
"LCO": {
"D": 1
}
},
"MAN": {
"BEE": {
"A": 28,
"D": 28
},
"EZY": {
"A": 21,
"D": 21
},
"FYL": {
"D": 1
},
"KLM": {
"A": 34,
"D": 34
},
"STK": {
"D": 1
}
},
"MCO": {
"DAL": {
"A": 4,
"D": 5
}
},
"MCT-DMM": {
"KLM": {
"A": 5
}
},
"MEX": {
"AMX": {
"A": 7,
"D": 7
},
"KLM": {
"A": 7,
"D": 7
}
},
"MEX-UIO-BQN": {
"UAE": {
"A": 1
}
},
"MIA": {
"KLM": {
"A": 3,
"D": 3
}
},
"MIA-BOG": {
"MPH": {
"D": 1
}
},
"MLA": {
"AHO": {
"D": 2
},
"AHU": {
"D": 1
},
"AMC": {
"A": 4,
"D": 4
},
"VJT": {
"D": 1
}
},
"MME": {
"KLM": {
"A": 18,
"D": 18
}
},
"MNL-TPE": {
"KLM": {
"A": 7
}
},
"MPL": {
"KLM": {
"A": 6,
"D": 6
}
},
"MRS": {
"AFR": {
"A": 21,
"D": 21
},
"NJE": {
"A": 1
}
},
"MSP": {
"DAL": {
"A": 14,
"D": 14
},
"KLM": {
"A": 4,
"D": 4
}
},
"MSQ": {
"BRU": {
"A": 6,
"D": 6
}
},
"MST": {
"GAC": {
"A": 1
}
},
"MUC": {
"DLH": {
"A": 39,
"D": 39
},
"FPO": {
"A": 1
},
"KLM": {
"A": 41,
"D": 41
},
"NJE": {
"A": 1
},
"WGT": {
"D": 1
}
},
"MXP": {
"CLX": {
"D": 1
},
"EJU": {
"A": 27,
"D": 27
},
"FOO": {
"A": 5,
"D": 5
},
"KLM": {
"A": 26,
"D": 26
}
},
"MXP-NRT": {
"NCA": {
"D": 4
}
},
"MXP-SVO-PVG": {
"ABW": {
"D": 1
}
},
"NAP": {
"EJU": {
"A": 7,
"D": 7
},
"KLM": {
"A": 3,
"D": 3
},
"TRA": {
"A": 7,
"D": 7
}
},
"NAS": {
"VCN": {
"A": 1
}
},
"NBE": {
"OR": {
"A": 1
},
"TFL": {
"A": 1
}
},
"NBO": {
"CLX": {
"A": 3
},
"KLM": {
"A": 7,
"D": 7
},
"KQA": {
"A": 7,
"D": 7
},
"SIA": {
"A": 1
}
},
"NCE": {
"EJU": {
"A": 4,
"D": 4
},
"GDK": {
"D": 1
},
"GHC": {
"D": 1
},
"KLM": {
"A": 21,
"D": 21
},
"MBH": {
"A": 1
},
"PHM": {
"A": 1
},
"TRA": {
"A": 7,
"D": 7
},
"XRO": {
"D": 1
}
},
"NCL": {
"KLM": {
"A": 28,
"D": 28
}
},
"NDR": {
"MAC": {
"A": 3,
"D": 3
}
},
"NRT": {
"KLM": {
"A": 7,
"D": 7
},
"NCA": {
"A": 4
}
},
"NTE": {
"AFR": {
"A": 19,
"D": 19
},
"GAC": {
"A": 1,
"D": 1
}
},
"NUE": {
"IFA": {
"D": 1
},
"JEI": {
"D": 1
},
"KLM": {
"A": 20,
"D": 20
}
},
"NWI": {
"KLM": {
"A": 19,
"D": 20
}
},
"OLB": {
"TRA": {
"A": 2,
"D": 2
}
},
"OPO": {
"KLM": {
"A": 7,
"D": 7
},
"TAP": {
"A": 7,
"D": 7
},
"TRA": {
"A": 6,
"D": 6
}
},
"ORD": {
"ABW": {
"A": 2
},
"KLM": {
"A": 5,
"D": 5
},
"QTR": {
"A": 2,
"D": 2
},
"UAL": {
"A": 7,
"D": 7
}
},
"ORD-DFW": {
"ABW": {
"A": 1
}
},
"ORK": {
"EIN": {
"A": 12,
"D": 12
}
},
"ORY": {
"TRA": {
"A": 6,
"D": 6
},
"TVF": {
"A": 4,
"D": 4
}
},
"OSL": {
"KLM": {
"A": 34,
"D": 34
},
"NAF": {
"A": 1
},
"NAX": {
"A": 6,
"D": 6
},
"SAS": {
"A": 13,
"D": 13
}
},
"OST": {
"NCG": {
"A": 1,
"D": 1
},
"PHP": {
"D": 1
}
},
"OTP": {
"KLM": {
"A": 14,
"D": 14
},
"ROT": {
"A": 13,
"D": 13
}
},
"OVB": {
"SAY": {
"A": 1
}
},
"PAD": {
"LXG": {
"D": 1
},
"SYB": {
"A": 1
}
},
"PBM": {
"KLM": {
"A": 5,
"D": 5
},
"SLM": {
"A": 4,
"D": 4
},
"TFL": {
"A": 2,
"D": 2
}
},
"PDX": {
"DAL": {
"A": 7,
"D": 7
}
},
"PEK": {
"CSN": {
"A": 7,
"D": 7
},
"KLM": {
"A": 7,
"D": 7
}
},
"PEK-CGO-SVO": {
"ABW": {
"A": 2
}
},
"PEK-SVO": {
"ABW": {
"A": 1
}
},
"PHL": {
"AAL": {
"A": 7,
"D": 7
}
},
"PMI": {
"ECA": {
"A": 1
},
"NJE": {
"D": 1
},
"OEF": {
"A": 1,
"D": 1
},
"TRA": {
"A": 3,
"D": 3
}
},
"PRG": {
"CSA": {
"A": 14,
"D": 14
},
"EJU": {
"A": 11,
"D": 11
},
"KLM": {
"A": 28,
"D": 28
},
"NTF": {
"D": 1
}
},
"PSA": {
"EJM": {
"A": 1
},
"TRA": {
"A": 3,
"D": 3
}
},
"PTY": {
"KLM": {
"A": 7,
"D": 7
}
},
"PUJ-AUA": {
"TFL": {
"A": 1,
"D": 1
}
},
"PUJ-MBJ": {
"TFL": {
"A": 1,
"D": 1
}
},
"PVG": {
"CAO": {
"A": 5,
"D": 5
},
"CES": {
"A": 4,
"D": 4
},
"CKK": {
"A": 8,
"D": 7
},
"CSN": {
"A": 6,
"D": 4
},
"KLM": {
"A": 11,
"D": 11
},
"YZR": {
"A": 1
}
},
"PVG-CKG-SVO": {
"ABW": {
"A": 1
}
},
"RAI-SID": {
"TFL": {
"A": 1,
"D": 1
}
},
"RAK": {
"TRA": {
"A": 7,
"D": 7
}
},
"REU": {
"PHM": {
"D": 1
}
},
"RIX": {
"BTI": {
"A": 14,
"D": 14
},
"GTI": {
"D": 1
}
},
"RMF": {
"TFL": {
"A": 2,
"D": 2
},
"TRA": {
"A": 2,
"D": 2
}
},
"RMF-HRG": {
"TFL": {
"A": 1,
"D": 1
}
},
"RMI": {
"XRO": {
"A": 1
}
},
"RNS": {
"AFR": {
"A": 7,
"D": 7
}
},
"ROG": {
"prefixless": {
"A": 1
}
},
"RTM": {
"PHT": {
"A": 1,
"D": 1
},
"TRA": {
"D": 3
},
"XRO": {
"A": 1,
"D": 1
},
"ZXP": {
"D": 3
}
},
"RUH": {
"SVA": {
"D": 3
}
},
"SAV": {
"AOJ": {
"D": 1
}
},
"SAW": {
"PGT": {
"A": 17,
"D": 17
},
"THY": {
"A": 7,
"D": 7
}
},
"SCL-EZE": {
"KLM": {
"A": 7
}
},
"SCL-UIO-MIA": {
"LCO": {
"A": 2
}
},
"SCQ": {
"VLG": {
"A": 2,
"D": 2
}
},
"SDR": {
"FYL": {
"A": 1
}
},
"SEA": {
"DAL": {
"A": 7,
"D": 7
}
},
"SEN": {
"EZY": {
"A": 15,
"D": 15
}
},
"SFB-MIA": {
"TFL": {
"A": 2,
"D": 2
}
},
"SFO": {
"KLM": {
"A": 7,
"D": 7
}
},
"SHJ-SIN": {
"SIA": {
"D": 3
}
},
"SID-CNF": {
"TRA": {
"D": 3
}
},
"SIN": {
"SIA": {
"A": 7,
"D": 7
}
},
"SIN-DPS": {
"KLM": {
"D": 7
}
},
"SIN-MAA-SHJ": {
"SIA": {
"A": 2
}
},
"SIN-SHJ": {
"SIA": {
"A": 2
}
},
"SIR": {
"NJE": {
"D": 1
}
},
"SJO-LIR": {
"KLM": {
"A": 3,
"D": 3
}
},
"SKG": {
"TRA": {
"A": 5,
"D": 5
}
},
"SLC": {
"DAL": {
"A": 6,
"D": 6
}
},
"SNN": {
"KLM": {
"A": 1,
"D": 1
}
},
"SOF": {
"LZB": {
"A": 7,
"D": 7
},
"TRA": {
"A": 3,
"D": 3
}
},
"SOU": {
"BEE": {
"A": 33,
"D": 33
},
"FYL": {
"A": 1
}
},
"SPC": {
"TRA": {
"A": 2,
"D": 2
}
},
"STN": {
"EZY": {
"A": 26,
"D": 26
},
"NJE": {
"D": 1
},
"SWT": {
"A": 5,
"D": 4
}
},
"STR": {
"EWG": {
"A": 10,
"D": 10
},
"KLM": {
"A": 33,
"D": 33
}
},
"SVG": {
"KLM": {
"A": 28,
"D": 28
}
},
"SVO": {
"ABW": {
"D": 2
},
"AFL": {
"A": 21,
"D": 21
},
"DSO": {
"D": 1
},
"KLM": {
"A": 14,
"D": 14
}
},
"SVO-ICN-HKG": {
"ABW": {
"D": 1
}
},
"SVO-LGG": {
"ABW": {
"D": 1
}
},
"SVO-NRT-ICN": {
"ABW": {
"D": 1
}
},
"SVO-PEK": {
"ABW": {
"A": 1
}
},
"SVO-PVG": {
"ABW": {
"D": 2
}
},
"SVO-PVG-CKG": {
"ABW": {
"D": 1
}
},
"SVO-TPE-HAN": {
"ABW": {
"D": 2
}
},
"SVQ": {
"TRA": {
"A": 9,
"D": 9
}
},
"SVX-HKG": {
"ABW": {
"D": 1
}
},
"SVX-PVG": {
"ABW": {
"D": 1
}
},
"SXB": {
"AFR": {
"A": 19,
"D": 19
}
},
"SXF": {
"EJU": {
"A": 19,
"D": 19
},
"GAC": {
"A": 1,
"D": 1
}
},
"SXM": {
"KLM": {
"A": 2,
"D": 2
},
"MMD": {
"D": 1
},
"WGT": {
"A": 1
}
},
"TBS": {
"TGZ": {
"A": 3,
"D": 3
}
},
"TBS-KWI-AUH": {
"ETD": {
"D": 1
}
},
"TEB": {
"EJM": {
"D": 1
},
"XRO": {
"A": 1
}
},
"TFS": {
"EJU": {
"A": 2,
"D": 2
},
"JEI": {
"A": 1
},
"TFL": {
"A": 4,
"D": 4
},
"TRA": {
"A": 5,
"D": 5
}
},
"TFS-NAT": {
"CND": {
"D": 1
}
},
"TIA": {
"TRA": {
"A": 2,
"D": 2
}
},
"TLL": {
"BTI": {
"A": 7,
"D": 7
}
},
"TLS": {
"KLM": {
"A": 20,
"D": 20
}
},
"TLV": {
"AIZ": {
"A": 2,
"D": 2
},
"EJU": {
"A": 5,
"D": 5
},
"ELY": {
"A": 12,
"D": 12
},
"KLM": {
"A": 7,
"D": 7
},
"T7V": {
"A": 1,
"D": 1
},
"TRA": {
"A": 8,
"D": 7
}
},
"TLV-AMS": {
"TRA": {
"A": 1
}
},
"TNG": {
"3O": {
"D": 1
},
"MAC": {
"A": 5,
"D": 5
}
},
"TPE": {
"CAL": {
"A": 4,
"D": 4
}
},
"TPE-BKK": {
"EVA": {
"A": 3
}
},
"TPE-BKK-DWC": {
"CAL": {
"A": 2
}
},
"TPE-MNL": {
"KLM": {
"D": 7
}
},
"TRD": {
"KLM": {
"A": 14,
"D": 14
}
},
"TRF": {
"KLM": {
"A": 13,
"D": 13
}
},
"TRN": {
"KLM": {
"A": 15,
"D": 14
}
},
"TSE": {
"TRA": {
"A": 1,
"D": 1
}
},
"TSN-PVG": {
"YZR": {
"D": 1
}
},
"TUF": {
"NJE": {
"A": 1
}
},
"TUN": {
"TAR": {
"A": 2,
"D": 2
}
},
"TXL": {
"KLM": {
"A": 42,
"D": 42
}
},
"UDE": {
"ZXP": {
"A": 2,
"D": 1
}
},
"UIO-BOG-BQN": {
"CLX": {
"A": 1
}
},
"UIO-BQN": {
"UAE": {
"A": 1
}
},
"UIO-GYE": {
"KLM": {
"A": 7,
"D": 7
}
},
"UIO-MIA": {
"GTI": {
"A": 2
}
},
"VCE": {
"EJU": {
"A": 7,
"D": 7
},
"KLM": {
"A": 21,
"D": 21
},
"LXG": {
"A": 1
}
},
"VCP-EZE-UIO-MIA": {
"MPH": {
"A": 1,
"D": 1
}
},
"VCP-LIM-UIO-MIA": {
"MPH": {
"A": 1,
"D": 1
}
},
"VCP-SCL-UIO-BOG-BQN": {
"CLX": {
"A": 1
}
},
"VCP-SCL-UIO-MIA": {
"MPH": {
"A": 3,
"D": 3
}
},
"VCP-UIO-BOG-BQN": {
"CLX": {
"A": 2
}
},
"VCP-UIO-BQN": {
"UAE": {
"A": 2
}
},
"VIE": {
"AUA": {
"A": 32,
"D": 32
},
"EJU": {
"A": 8,
"D": 8
},
"FOO": {
"A": 6,
"D": 6
},
"GDK": {
"A": 1
},
"KLM": {
"A": 21,
"D": 21
},
"PHM": {
"A": 1,
"D": 1
},
"VK": {
"A": 1,
"D": 1
}
},
"VKO": {
"NJE": {
"A": 1,
"D": 1
},
"UPS": {
"A": 1
},
"VJT": {
"A": 1
}
},
"VLC": {
"KLM": {
"A": 14,
"D": 14
},
"TRA": {
"A": 9,
"D": 9
},
"VLG": {
"A": 4,
"D": 4
}
},
"VNO": {
"BTI": {
"A": 7,
"D": 7
}
},
"VRA-CUN": {
"TFL": {
"A": 2,
"D": 2
}
},
"VRN": {
"TRA": {
"A": 2,
"D": 2
}
},
"VXE-SID": {
"TFL": {
"A": 2,
"D": 2
}
},
"VXO": {
"KLM": {
"A": 5,
"D": 5
}
},
"WAW": {
"ANE": {
"D": 1
},
"KLM": {
"A": 21,
"D": 21
},
"LOT": {
"A": 21,
"D": 21
},
"PLF": {
"A": 3,
"D": 3
}
},
"WDH-LAD": {
"KLM": {
"A": 2
}
},
"WIE": {
"DUK": {
"A": 1,
"D": 1
}
},
"WRO": {
"KLM": {
"A": 6,
"D": 6
}
},
"XHE": {
"FYG": {
"A": 1,
"D": 1
},
"VPC": {
"D": 1
}
},
"XMN": {
"CXA": {
"A": 2,
"D": 2
},
"KLM": {
"A": 2,
"D": 2
}
},
"XXX": {
"CTM": {
"D": 1
},
"DCF": {
"D": 1
},
"DCS": {
"A": 1
},
"NWS": {
"A": 1
},
"OOD": {
"A": 1,
"D": 1
},
"PHT": {
"A": 1,
"D": 1
},
"ZXP": {
"A": 1,
"D": 1
}
},
"YEG": {
"KLM": {
"A": 3,
"D": 3
}
},
"YUL": {
"KLM": {
"A": 4,
"D": 4
}
},
"YVR": {
"KLM": {
"A": 4,
"D": 4
}
},
"YYC": {
"KLM": {
"A": 7,
"D": 7
}
},
"YYT": {
"ASP": {
"A": 1,
"D": 1
}
},
"YYZ": {
"ACA": {
"A": 3,
"D": 3
},
"KLM": {
"A": 9,
"D": 9
}
},
"ZAG": {
"CTN": {
"A": 7,
"D": 7
},
"KLM": {
"A": 6,
"D": 6
}
},
"ZAZ": {
"CKK": {
"D": 1
}
},
"ZAZ-TSN-PVG": {
"CAO": {
"D": 1
}
},
"ZIA": {
"SVR": {
"A": 2,
"D": 2
}
},
"ZNZ-MBA": {
"TFL": {
"D": 1
}
},
"ZRH": {
"ANE": {
"A": 1
},
"EJU": {
"A": 3,
"D": 3
},
"KLM": {
"A": 41,
"D": 41
},
"NJE": {
"A": 2,
"D": 1
},
"OEG": {
"A": 1
},
"SWR": {
"A": 28,
"D": 28
},
"SYB": {
"A": 1
},
"TJS": {
"D": 1
},
"VJT": {
"A": 1
},
"VPC": {
"A": 1
}
},
"unknown": {
"CTM": {
"A": 1
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment