Initial commit: SportsTime trip planning app

- Three-scenario planning engine (A: date range, B: selected games, C: directional routes)
- GeographicRouteExplorer with anchor game support for route exploration
- Shared ItineraryBuilder for travel segment calculation
- TravelEstimator for driving time/distance estimation
- SwiftUI views for trip creation and detail display
- CloudKit integration for schedule data
- Python scraping scripts for sports schedules

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Trey t
2026-01-07 00:46:40 -06:00
commit 9088b46563
84 changed files with 180371 additions and 0 deletions

5098
Scripts/data/games.csv Normal file

File diff suppressed because it is too large Load Diff

76457
Scripts/data/games.json Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

93
Scripts/data/stadiums.csv Normal file
View File

@@ -0,0 +1,93 @@
id,name,city,state,latitude,longitude,capacity,sport,team_abbrevs,source,year_opened
manual_nba_atl,State Farm Arena,Atlanta,,33.7573,-84.3963,0,NBA,['ATL'],manual,
manual_nba_bos,TD Garden,Boston,,42.3662,-71.0621,0,NBA,['BOS'],manual,
manual_nba_brk,Barclays Center,Brooklyn,,40.6826,-73.9754,0,NBA,['BRK'],manual,
manual_nba_cho,Spectrum Center,Charlotte,,35.2251,-80.8392,0,NBA,['CHO'],manual,
manual_nba_chi,United Center,Chicago,,41.8807,-87.6742,0,NBA,['CHI'],manual,
manual_nba_cle,Rocket Mortgage FieldHouse,Cleveland,,41.4965,-81.6882,0,NBA,['CLE'],manual,
manual_nba_dal,American Airlines Center,Dallas,,32.7905,-96.8103,0,NBA,['DAL'],manual,
manual_nba_den,Ball Arena,Denver,,39.7487,-105.0077,0,NBA,['DEN'],manual,
manual_nba_det,Little Caesars Arena,Detroit,,42.3411,-83.0553,0,NBA,['DET'],manual,
manual_nba_gsw,Chase Center,San Francisco,,37.768,-122.3879,0,NBA,['GSW'],manual,
manual_nba_hou,Toyota Center,Houston,,29.7508,-95.3621,0,NBA,['HOU'],manual,
manual_nba_ind,Gainbridge Fieldhouse,Indianapolis,,39.764,-86.1555,0,NBA,['IND'],manual,
manual_nba_lac,Intuit Dome,Inglewood,,33.9425,-118.3419,0,NBA,['LAC'],manual,
manual_nba_lal,Crypto.com Arena,Los Angeles,,34.043,-118.2673,0,NBA,['LAL'],manual,
manual_nba_mem,FedExForum,Memphis,,35.1382,-90.0506,0,NBA,['MEM'],manual,
manual_nba_mia,Kaseya Center,Miami,,25.7814,-80.187,0,NBA,['MIA'],manual,
manual_nba_mil,Fiserv Forum,Milwaukee,,43.0451,-87.9174,0,NBA,['MIL'],manual,
manual_nba_min,Target Center,Minneapolis,,44.9795,-93.2761,0,NBA,['MIN'],manual,
manual_nba_nop,Smoothie King Center,New Orleans,,29.949,-90.0821,0,NBA,['NOP'],manual,
manual_nba_nyk,Madison Square Garden,New York,,40.7505,-73.9934,0,NBA,['NYK'],manual,
manual_nba_okc,Paycom Center,Oklahoma City,,35.4634,-97.5151,0,NBA,['OKC'],manual,
manual_nba_orl,Kia Center,Orlando,,28.5392,-81.3839,0,NBA,['ORL'],manual,
manual_nba_phi,Wells Fargo Center,Philadelphia,,39.9012,-75.172,0,NBA,['PHI'],manual,
manual_nba_pho,Footprint Center,Phoenix,,33.4457,-112.0712,0,NBA,['PHO'],manual,
manual_nba_por,Moda Center,Portland,,45.5316,-122.6668,0,NBA,['POR'],manual,
manual_nba_sac,Golden 1 Center,Sacramento,,38.5802,-121.4997,0,NBA,['SAC'],manual,
manual_nba_sas,Frost Bank Center,San Antonio,,29.427,-98.4375,0,NBA,['SAS'],manual,
manual_nba_tor,Scotiabank Arena,Toronto,,43.6435,-79.3791,0,NBA,['TOR'],manual,
manual_nba_uta,Delta Center,Salt Lake City,,40.7683,-111.9011,0,NBA,['UTA'],manual,
manual_nba_was,Capital One Arena,Washington,,38.8982,-77.0209,0,NBA,['WAS'],manual,
manual_mlb_ari,Chase Field,Phoenix,AZ,33.4453,-112.0667,48686,MLB,['ARI'],manual,
manual_mlb_atl,Truist Park,Atlanta,GA,33.8907,-84.4678,41084,MLB,['ATL'],manual,
manual_mlb_bal,Oriole Park at Camden Yards,Baltimore,MD,39.2838,-76.6218,45971,MLB,['BAL'],manual,
manual_mlb_bos,Fenway Park,Boston,MA,42.3467,-71.0972,37755,MLB,['BOS'],manual,
manual_mlb_chc,Wrigley Field,Chicago,IL,41.9484,-87.6553,41649,MLB,['CHC'],manual,
manual_mlb_chw,Guaranteed Rate Field,Chicago,IL,41.8299,-87.6338,40615,MLB,['CHW'],manual,
manual_mlb_cin,Great American Ball Park,Cincinnati,OH,39.0979,-84.5082,42319,MLB,['CIN'],manual,
manual_mlb_cle,Progressive Field,Cleveland,OH,41.4962,-81.6852,34830,MLB,['CLE'],manual,
manual_mlb_col,Coors Field,Denver,CO,39.7559,-104.9942,50144,MLB,['COL'],manual,
manual_mlb_det,Comerica Park,Detroit,MI,42.339,-83.0485,41083,MLB,['DET'],manual,
manual_mlb_hou,Minute Maid Park,Houston,TX,29.7573,-95.3555,41168,MLB,['HOU'],manual,
manual_mlb_kcr,Kauffman Stadium,Kansas City,MO,39.0517,-94.4803,37903,MLB,['KCR'],manual,
manual_mlb_laa,Angel Stadium,Anaheim,CA,33.8003,-117.8827,45517,MLB,['LAA'],manual,
manual_mlb_lad,Dodger Stadium,Los Angeles,CA,34.0739,-118.24,56000,MLB,['LAD'],manual,
manual_mlb_mia,LoanDepot Park,Miami,FL,25.7781,-80.2196,36742,MLB,['MIA'],manual,
manual_mlb_mil,American Family Field,Milwaukee,WI,43.028,-87.9712,41900,MLB,['MIL'],manual,
manual_mlb_min,Target Field,Minneapolis,MN,44.9817,-93.2776,38544,MLB,['MIN'],manual,
manual_mlb_nym,Citi Field,New York,NY,40.7571,-73.8458,41922,MLB,['NYM'],manual,
manual_mlb_nyy,Yankee Stadium,New York,NY,40.8296,-73.9262,46537,MLB,['NYY'],manual,
manual_mlb_oak,Sutter Health Park,Sacramento,CA,38.5802,-121.5097,14014,MLB,['OAK'],manual,
manual_mlb_phi,Citizens Bank Park,Philadelphia,PA,39.9061,-75.1665,42792,MLB,['PHI'],manual,
manual_mlb_pit,PNC Park,Pittsburgh,PA,40.4469,-80.0057,38362,MLB,['PIT'],manual,
manual_mlb_sdp,Petco Park,San Diego,CA,32.7076,-117.157,40209,MLB,['SDP'],manual,
manual_mlb_sfg,Oracle Park,San Francisco,CA,37.7786,-122.3893,41265,MLB,['SFG'],manual,
manual_mlb_sea,T-Mobile Park,Seattle,WA,47.5914,-122.3325,47929,MLB,['SEA'],manual,
manual_mlb_stl,Busch Stadium,St. Louis,MO,38.6226,-90.1928,45494,MLB,['STL'],manual,
manual_mlb_tbr,Tropicana Field,St. Petersburg,FL,27.7682,-82.6534,25000,MLB,['TBR'],manual,
manual_mlb_tex,Globe Life Field,Arlington,TX,32.7473,-97.0845,40300,MLB,['TEX'],manual,
manual_mlb_tor,Rogers Centre,Toronto,ON,43.6414,-79.3894,49282,MLB,['TOR'],manual,
manual_mlb_wsn,Nationals Park,Washington,DC,38.873,-77.0074,41339,MLB,['WSN'],manual,
manual_nhl_ana,Honda Center,Anaheim,CA,33.8078,-117.8765,17174,NHL,['ANA'],manual,
manual_nhl_ari,Delta Center,Salt Lake City,UT,40.7683,-111.9011,18306,NHL,['ARI'],manual,
manual_nhl_bos,TD Garden,Boston,MA,42.3662,-71.0621,17565,NHL,['BOS'],manual,
manual_nhl_buf,KeyBank Center,Buffalo,NY,42.875,-78.8764,19070,NHL,['BUF'],manual,
manual_nhl_cgy,Scotiabank Saddledome,Calgary,AB,51.0374,-114.0519,19289,NHL,['CGY'],manual,
manual_nhl_car,PNC Arena,Raleigh,NC,35.8034,-78.722,18680,NHL,['CAR'],manual,
manual_nhl_chi,United Center,Chicago,IL,41.8807,-87.6742,19717,NHL,['CHI'],manual,
manual_nhl_col,Ball Arena,Denver,CO,39.7487,-105.0077,18007,NHL,['COL'],manual,
manual_nhl_cbj,Nationwide Arena,Columbus,OH,39.9693,-83.0061,18500,NHL,['CBJ'],manual,
manual_nhl_dal,American Airlines Center,Dallas,TX,32.7905,-96.8103,18532,NHL,['DAL'],manual,
manual_nhl_det,Little Caesars Arena,Detroit,MI,42.3411,-83.0553,19515,NHL,['DET'],manual,
manual_nhl_edm,Rogers Place,Edmonton,AB,53.5469,-113.4978,18347,NHL,['EDM'],manual,
manual_nhl_fla,Amerant Bank Arena,Sunrise,FL,26.1584,-80.3256,19250,NHL,['FLA'],manual,
manual_nhl_lak,Crypto.com Arena,Los Angeles,CA,34.043,-118.2673,18230,NHL,['LAK'],manual,
manual_nhl_min,Xcel Energy Center,St. Paul,MN,44.9448,-93.101,17954,NHL,['MIN'],manual,
manual_nhl_mtl,Bell Centre,Montreal,QC,45.4961,-73.5693,21302,NHL,['MTL'],manual,
manual_nhl_nsh,Bridgestone Arena,Nashville,TN,36.1592,-86.7785,17159,NHL,['NSH'],manual,
manual_nhl_njd,Prudential Center,Newark,NJ,40.7334,-74.1712,16514,NHL,['NJD'],manual,
manual_nhl_nyi,UBS Arena,Elmont,NY,40.7161,-73.7246,17255,NHL,['NYI'],manual,
manual_nhl_nyr,Madison Square Garden,New York,NY,40.7505,-73.9934,18006,NHL,['NYR'],manual,
manual_nhl_ott,Canadian Tire Centre,Ottawa,ON,45.2969,-75.9272,18652,NHL,['OTT'],manual,
manual_nhl_phi,Wells Fargo Center,Philadelphia,PA,39.9012,-75.172,19543,NHL,['PHI'],manual,
manual_nhl_pit,PPG Paints Arena,Pittsburgh,PA,40.4395,-79.9892,18387,NHL,['PIT'],manual,
manual_nhl_sjs,SAP Center,San Jose,CA,37.3327,-121.901,17562,NHL,['SJS'],manual,
manual_nhl_sea,Climate Pledge Arena,Seattle,WA,47.6221,-122.354,17100,NHL,['SEA'],manual,
manual_nhl_stl,Enterprise Center,St. Louis,MO,38.6268,-90.2025,18096,NHL,['STL'],manual,
manual_nhl_tbl,Amalie Arena,Tampa,FL,27.9426,-82.4519,19092,NHL,['TBL'],manual,
manual_nhl_tor,Scotiabank Arena,Toronto,ON,43.6435,-79.3791,18819,NHL,['TOR'],manual,
manual_nhl_van,Rogers Arena,Vancouver,BC,49.2778,-123.1089,18910,NHL,['VAN'],manual,
manual_nhl_vgk,T-Mobile Arena,Las Vegas,NV,36.1028,-115.1784,17500,NHL,['VGK'],manual,
manual_nhl_wsh,Capital One Arena,Washington,DC,38.8982,-77.0209,18573,NHL,['WSH'],manual,
manual_nhl_wpg,Canada Life Centre,Winnipeg,MB,49.8928,-97.1436,15321,NHL,['WPG'],manual,
1 id name city state latitude longitude capacity sport team_abbrevs source year_opened
2 manual_nba_atl State Farm Arena Atlanta 33.7573 -84.3963 0 NBA ['ATL'] manual
3 manual_nba_bos TD Garden Boston 42.3662 -71.0621 0 NBA ['BOS'] manual
4 manual_nba_brk Barclays Center Brooklyn 40.6826 -73.9754 0 NBA ['BRK'] manual
5 manual_nba_cho Spectrum Center Charlotte 35.2251 -80.8392 0 NBA ['CHO'] manual
6 manual_nba_chi United Center Chicago 41.8807 -87.6742 0 NBA ['CHI'] manual
7 manual_nba_cle Rocket Mortgage FieldHouse Cleveland 41.4965 -81.6882 0 NBA ['CLE'] manual
8 manual_nba_dal American Airlines Center Dallas 32.7905 -96.8103 0 NBA ['DAL'] manual
9 manual_nba_den Ball Arena Denver 39.7487 -105.0077 0 NBA ['DEN'] manual
10 manual_nba_det Little Caesars Arena Detroit 42.3411 -83.0553 0 NBA ['DET'] manual
11 manual_nba_gsw Chase Center San Francisco 37.768 -122.3879 0 NBA ['GSW'] manual
12 manual_nba_hou Toyota Center Houston 29.7508 -95.3621 0 NBA ['HOU'] manual
13 manual_nba_ind Gainbridge Fieldhouse Indianapolis 39.764 -86.1555 0 NBA ['IND'] manual
14 manual_nba_lac Intuit Dome Inglewood 33.9425 -118.3419 0 NBA ['LAC'] manual
15 manual_nba_lal Crypto.com Arena Los Angeles 34.043 -118.2673 0 NBA ['LAL'] manual
16 manual_nba_mem FedExForum Memphis 35.1382 -90.0506 0 NBA ['MEM'] manual
17 manual_nba_mia Kaseya Center Miami 25.7814 -80.187 0 NBA ['MIA'] manual
18 manual_nba_mil Fiserv Forum Milwaukee 43.0451 -87.9174 0 NBA ['MIL'] manual
19 manual_nba_min Target Center Minneapolis 44.9795 -93.2761 0 NBA ['MIN'] manual
20 manual_nba_nop Smoothie King Center New Orleans 29.949 -90.0821 0 NBA ['NOP'] manual
21 manual_nba_nyk Madison Square Garden New York 40.7505 -73.9934 0 NBA ['NYK'] manual
22 manual_nba_okc Paycom Center Oklahoma City 35.4634 -97.5151 0 NBA ['OKC'] manual
23 manual_nba_orl Kia Center Orlando 28.5392 -81.3839 0 NBA ['ORL'] manual
24 manual_nba_phi Wells Fargo Center Philadelphia 39.9012 -75.172 0 NBA ['PHI'] manual
25 manual_nba_pho Footprint Center Phoenix 33.4457 -112.0712 0 NBA ['PHO'] manual
26 manual_nba_por Moda Center Portland 45.5316 -122.6668 0 NBA ['POR'] manual
27 manual_nba_sac Golden 1 Center Sacramento 38.5802 -121.4997 0 NBA ['SAC'] manual
28 manual_nba_sas Frost Bank Center San Antonio 29.427 -98.4375 0 NBA ['SAS'] manual
29 manual_nba_tor Scotiabank Arena Toronto 43.6435 -79.3791 0 NBA ['TOR'] manual
30 manual_nba_uta Delta Center Salt Lake City 40.7683 -111.9011 0 NBA ['UTA'] manual
31 manual_nba_was Capital One Arena Washington 38.8982 -77.0209 0 NBA ['WAS'] manual
32 manual_mlb_ari Chase Field Phoenix AZ 33.4453 -112.0667 48686 MLB ['ARI'] manual
33 manual_mlb_atl Truist Park Atlanta GA 33.8907 -84.4678 41084 MLB ['ATL'] manual
34 manual_mlb_bal Oriole Park at Camden Yards Baltimore MD 39.2838 -76.6218 45971 MLB ['BAL'] manual
35 manual_mlb_bos Fenway Park Boston MA 42.3467 -71.0972 37755 MLB ['BOS'] manual
36 manual_mlb_chc Wrigley Field Chicago IL 41.9484 -87.6553 41649 MLB ['CHC'] manual
37 manual_mlb_chw Guaranteed Rate Field Chicago IL 41.8299 -87.6338 40615 MLB ['CHW'] manual
38 manual_mlb_cin Great American Ball Park Cincinnati OH 39.0979 -84.5082 42319 MLB ['CIN'] manual
39 manual_mlb_cle Progressive Field Cleveland OH 41.4962 -81.6852 34830 MLB ['CLE'] manual
40 manual_mlb_col Coors Field Denver CO 39.7559 -104.9942 50144 MLB ['COL'] manual
41 manual_mlb_det Comerica Park Detroit MI 42.339 -83.0485 41083 MLB ['DET'] manual
42 manual_mlb_hou Minute Maid Park Houston TX 29.7573 -95.3555 41168 MLB ['HOU'] manual
43 manual_mlb_kcr Kauffman Stadium Kansas City MO 39.0517 -94.4803 37903 MLB ['KCR'] manual
44 manual_mlb_laa Angel Stadium Anaheim CA 33.8003 -117.8827 45517 MLB ['LAA'] manual
45 manual_mlb_lad Dodger Stadium Los Angeles CA 34.0739 -118.24 56000 MLB ['LAD'] manual
46 manual_mlb_mia LoanDepot Park Miami FL 25.7781 -80.2196 36742 MLB ['MIA'] manual
47 manual_mlb_mil American Family Field Milwaukee WI 43.028 -87.9712 41900 MLB ['MIL'] manual
48 manual_mlb_min Target Field Minneapolis MN 44.9817 -93.2776 38544 MLB ['MIN'] manual
49 manual_mlb_nym Citi Field New York NY 40.7571 -73.8458 41922 MLB ['NYM'] manual
50 manual_mlb_nyy Yankee Stadium New York NY 40.8296 -73.9262 46537 MLB ['NYY'] manual
51 manual_mlb_oak Sutter Health Park Sacramento CA 38.5802 -121.5097 14014 MLB ['OAK'] manual
52 manual_mlb_phi Citizens Bank Park Philadelphia PA 39.9061 -75.1665 42792 MLB ['PHI'] manual
53 manual_mlb_pit PNC Park Pittsburgh PA 40.4469 -80.0057 38362 MLB ['PIT'] manual
54 manual_mlb_sdp Petco Park San Diego CA 32.7076 -117.157 40209 MLB ['SDP'] manual
55 manual_mlb_sfg Oracle Park San Francisco CA 37.7786 -122.3893 41265 MLB ['SFG'] manual
56 manual_mlb_sea T-Mobile Park Seattle WA 47.5914 -122.3325 47929 MLB ['SEA'] manual
57 manual_mlb_stl Busch Stadium St. Louis MO 38.6226 -90.1928 45494 MLB ['STL'] manual
58 manual_mlb_tbr Tropicana Field St. Petersburg FL 27.7682 -82.6534 25000 MLB ['TBR'] manual
59 manual_mlb_tex Globe Life Field Arlington TX 32.7473 -97.0845 40300 MLB ['TEX'] manual
60 manual_mlb_tor Rogers Centre Toronto ON 43.6414 -79.3894 49282 MLB ['TOR'] manual
61 manual_mlb_wsn Nationals Park Washington DC 38.873 -77.0074 41339 MLB ['WSN'] manual
62 manual_nhl_ana Honda Center Anaheim CA 33.8078 -117.8765 17174 NHL ['ANA'] manual
63 manual_nhl_ari Delta Center Salt Lake City UT 40.7683 -111.9011 18306 NHL ['ARI'] manual
64 manual_nhl_bos TD Garden Boston MA 42.3662 -71.0621 17565 NHL ['BOS'] manual
65 manual_nhl_buf KeyBank Center Buffalo NY 42.875 -78.8764 19070 NHL ['BUF'] manual
66 manual_nhl_cgy Scotiabank Saddledome Calgary AB 51.0374 -114.0519 19289 NHL ['CGY'] manual
67 manual_nhl_car PNC Arena Raleigh NC 35.8034 -78.722 18680 NHL ['CAR'] manual
68 manual_nhl_chi United Center Chicago IL 41.8807 -87.6742 19717 NHL ['CHI'] manual
69 manual_nhl_col Ball Arena Denver CO 39.7487 -105.0077 18007 NHL ['COL'] manual
70 manual_nhl_cbj Nationwide Arena Columbus OH 39.9693 -83.0061 18500 NHL ['CBJ'] manual
71 manual_nhl_dal American Airlines Center Dallas TX 32.7905 -96.8103 18532 NHL ['DAL'] manual
72 manual_nhl_det Little Caesars Arena Detroit MI 42.3411 -83.0553 19515 NHL ['DET'] manual
73 manual_nhl_edm Rogers Place Edmonton AB 53.5469 -113.4978 18347 NHL ['EDM'] manual
74 manual_nhl_fla Amerant Bank Arena Sunrise FL 26.1584 -80.3256 19250 NHL ['FLA'] manual
75 manual_nhl_lak Crypto.com Arena Los Angeles CA 34.043 -118.2673 18230 NHL ['LAK'] manual
76 manual_nhl_min Xcel Energy Center St. Paul MN 44.9448 -93.101 17954 NHL ['MIN'] manual
77 manual_nhl_mtl Bell Centre Montreal QC 45.4961 -73.5693 21302 NHL ['MTL'] manual
78 manual_nhl_nsh Bridgestone Arena Nashville TN 36.1592 -86.7785 17159 NHL ['NSH'] manual
79 manual_nhl_njd Prudential Center Newark NJ 40.7334 -74.1712 16514 NHL ['NJD'] manual
80 manual_nhl_nyi UBS Arena Elmont NY 40.7161 -73.7246 17255 NHL ['NYI'] manual
81 manual_nhl_nyr Madison Square Garden New York NY 40.7505 -73.9934 18006 NHL ['NYR'] manual
82 manual_nhl_ott Canadian Tire Centre Ottawa ON 45.2969 -75.9272 18652 NHL ['OTT'] manual
83 manual_nhl_phi Wells Fargo Center Philadelphia PA 39.9012 -75.172 19543 NHL ['PHI'] manual
84 manual_nhl_pit PPG Paints Arena Pittsburgh PA 40.4395 -79.9892 18387 NHL ['PIT'] manual
85 manual_nhl_sjs SAP Center San Jose CA 37.3327 -121.901 17562 NHL ['SJS'] manual
86 manual_nhl_sea Climate Pledge Arena Seattle WA 47.6221 -122.354 17100 NHL ['SEA'] manual
87 manual_nhl_stl Enterprise Center St. Louis MO 38.6268 -90.2025 18096 NHL ['STL'] manual
88 manual_nhl_tbl Amalie Arena Tampa FL 27.9426 -82.4519 19092 NHL ['TBL'] manual
89 manual_nhl_tor Scotiabank Arena Toronto ON 43.6435 -79.3791 18819 NHL ['TOR'] manual
90 manual_nhl_van Rogers Arena Vancouver BC 49.2778 -123.1089 18910 NHL ['VAN'] manual
91 manual_nhl_vgk T-Mobile Arena Las Vegas NV 36.1028 -115.1784 17500 NHL ['VGK'] manual
92 manual_nhl_wsh Capital One Arena Washington DC 38.8982 -77.0209 18573 NHL ['WSH'] manual
93 manual_nhl_wpg Canada Life Centre Winnipeg MB 49.8928 -97.1436 15321 NHL ['WPG'] manual

1382
Scripts/data/stadiums.json Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff