Time at Home During COVID-19

This post was updated on Saturday, 4 July 2020

I’m fortunate that my health and finances have both been well during the COVID-19 crisis. Nonetheless, my job temporarily suspended travel for several months, and I didn’t take any vacations while my state had a stay-at-home order in place. This was a bit of a change of pace when I’m used to constant trips.

This stay-at-home was the longest period I’ve been home since my first work trip:

RankNights at HomeFromTo
12 Mar 2020
3 Jul 2020
28 Apr 2011
20 Jun 2011
14 Feb 2014
31 Mar 2014
30 Dec 2013
10 Feb 2014
27 Jan 2011
9 Mar 2011

A Decade in Travel: 2010–2019

I started my travel-heavy position at my job in 2009, so the 2010s were the first decade where I really frequently traveled throughout the decade.

Since then, I started tracking my flights in a spreadsheet, then eventually wrote an entire flight logging database website. I learned how to extract history from GPS navigation devices and started logging my driving. I also started tracking hotel stays and a myriad of other travel activities as well.

As a result, I have quite a lot of data built up on my travels over the last decade. For the past seven years, I’ve put together annual end-of-year travel summaries. With the turning of the decade, it seemed to be a good time to make myself a decade travel summary. While there’s a small overlap between the decade and annual summaries, I’ve generally tried to focus the decade summary more on areas that make more sense on a 10-year scale, so even readers of my previous summaries should see some new statistics!

In the Air

From 2010 through 2019, I flew on 824 flights, with a total distance of 555 874 miles (894 590 km).

Flight maps generated by Paul Bogard using the Great Circle Mapper – copyright © Karl L. Swartz

My first international trip of the decade was a business trip to Germany in February 2010, and I finished my international travel with a Nordic vacation in August 2019. In between, I picked another multi-country Europe trip, as well as travel to Canada, Australia, New Zealand, and Japan.

Within the U.S., I’ve now been to every major hub airport, and a lot of minor airports as well.

I somehow managed to visit four German airports (Frankfurt, Munich, Nuremburg, and Berlin) while visiting no more than one airport in any other European country.

Grid showing all new airports visited between 2010-2019, and highlighting the airports first visited each year. Visited 2010-2019: DAY CVG SFO ATL IND SEA ORD CLE JFK LGA STL DFW CLT CHM FRA SAV MCO. First visit 2010: SLC LAS PHX IAD BWI ABI. First visit 2011: AVP TOL DCA. First visit 2012: LAX HNL CHS OKC PHL EWR MSP RAP. First visit 2013: AUS BOS DTW DEN GRK ITO PDX TUL IAH MHT MDW. First visit 2014: ICT TUS FLG LAW SAN SJU. First visit 2015: LIT YVR YYZ SPS COS BNA. First visit 2016: AMA SAT MUC NUE TXL LHR CDG KEF ONT PWM DSM BUR RDU. First visit 2017: OAJ VPS BFL TPA PIA. First visit 2018: SYD PER MEL CHC DUD AKL LBB PVD. First visit 2019: NRT FLL FAY PIT BHM MCI HEL ARN MIA ILM.

I visited 93 airports this decade, 76 for the first time.

Chart with years 2010–2019 on the x-axis and Flights on the y-axis, showing number of flights each year for airlines with at least 20 flights.

When I’m flying for work, contracts with airlines for particular routes drive which airlines I can fly, which means my most-flown airlines change year to year. I started out the decade flying mostly American, ended up primarily United in the middle of the decade, then went back to American by the end.

Chart with years 2010–2019 on the x-axis and Flights on the y-axis, showing number of flights each year for aircraft families with at least 20 flights.

With Dayton as my primary airport, I fly on a lot of regional jets. At the start of the decade, the 50-seat ERJ-145 dominated my flights. By the end of the decade, I was mostly flying the larger 70–90 seat E-170/175/190 and CRJ-700/900 jets.

Node-edge graph showing the routes between airports

My most traveled routes were by far Dayton to Dallas/Fort Worth or Chicago O’Hare. Dayton requires a layover for most of my trips, and most of my flights were on American or United this decade. DFW is American’s largest hub, and ORD is a large hub for both airlines.

Map of flights within single states
Directed graph of intrastate flights

Not counting my two flights that returned to the same airport, I had 42 flights (18 unique routes) between pairs of airports within in a single U.S. state.

On the Ground

I drove approximately 207 331 miles (333 667 km) this decade.

Personal Vehicles154 363 mi248 423 km
Rental Vehicles52 968 mi85 243 km
Total207 331 mi333 667 km
Chart of hotel nights by year. 2019 shows 24765 total miles (15418 personal cars, 9347 rental cars)

2016 far exceeded all my other years for driving, mostly because of my summer project to visit every one of Ohio’s 88 counties.

Map showing 2010-2019 driving routes in the United States and Canada

My driving in the U.S. has generally connected into two large clusters, with a bunch of smaller areas. The largest cluster is based in my home state of Ohio, and it largely extends to places I’ve driven to from home, although that started to overlap a few places I’ve flown to (particularly in the Carolinas). I also have a Texas-Oklahoma cluster, since I started the decade frequently traveling to Dallas and Abilene TX, and ended the decade with a lot of trips to Tulsa and Altus OK.

Map showing 2010-2019 driving routes in Germany and Iceland

Within Europe, though I’ve been to other countries, I’ve only driven in Germany and Iceland.

Map showing 2010-2019 driving routes in Australia and New Zealand

Likewise, I’ve visited other cities in Australia and New Zealand, but Perth and Dunedin were the only areas I drove in. Perth was my first experience driving on the left side of the road – I lived in the UK for three years as a child, but I was not old enough to drive.


Heatmap of the US and the world, showing overnight stays (excluding home) from 2010 to 2019. The ten hottest areas are Tulsa OK, Orlando FL, Altus OK, Seattle WA, Washington DC, St. Louis MO, Charleston SC, Abilene TX, Wichita KS, and Chicago IL.

I visited a good portion of the United States and some of the world, but quite a bit of my travel was focused in Oklahoma and northern Texas.

My top 10 metro areas (excluding home) by number of nights I’ve stayed there this past decade are as follows:

RankMetropolitan AreaTotal Nights Visited
#1Tulsa, Oklahoma, U.S.97
#2Orlando, Florida, U.S.96
#3Altus, Oklahoma, U.S.71
#4Seattle, Washington, U.S.60
#5Washington, D.C., U.S.55
#6St. Louis, Missouri, U.S.50
#7Charleston, South Carolina, U.S.41
#8Abilene, Texas, U.S.40
Wichita, Kansas, U.S.40
#10Chicago, Illinois, U.S.36

For each year, my most visited metro area (by number of nights stayed):

YearMost Visited Metropolitan Area
2010Washington, D.C., U.S.
2011Washington, D.C., U.S.
2012Charleston, South Carolina, U.S.
Charleston, South Carolina, U.S.
Chicago, Illinois, U.S.
Honolulu, Hawaii, U.S.
2014Orlando, Florida, U.S.
2015Orlando, Florida, U.S.
2016Tulsa, Oklahoma, U.S.
2017Tulsa, Oklahoma, U.S.
2018Altus, Oklahoma, U.S.
2019Wichita, Kansas, U.S.
World map showing visited countries. First visit in 2010s: Austria, Iceland, France, Australia New Zealand, Japan, Sweden. Visited in 2010s: United States, Germany, United Kingdom, Canada. Home: United States.

I visited 11 countries this past decade, 7 for the first time. (I also had a layover in Finland this year, but since I did not leave the airport, it’s not counted as a visited country on this map.) Every country in the world that I have ever visited, I also visited at some point this decade.


My favorite airport restaurant (and the one I’ve eaten at the most) is Tortas Frontera, with three locations at Chicago O’Hare.

Chart of unexpected overnight stays, with six in 2014, one in 2015, and one in 2018

I’ve generally been pretty lucky with avoiding major travel disruptions, but 2014 was not my lucky year – I got stuck overnight six times due to weather or other flight delays and cancellations. Three times were in Chicago, one was in Baltimore, one was in Orlando, and one was in Charlotte.

I also got stuck overnight in Little Rock in 2015 due to a thunderstorm. In 2018, a series of weather and mechanical delays caused me to miss my connection at DFW and spend the night in Dallas.

In 2015, I had a flight from Wichita Falls to Dallas/Fort Worth, Texas which was cancelled, but the flight was a short enough distance that the airline had a taxi company transport us on a fleet of 10-passenger vans. I even received a boarding pass for that “flight.”

2019 Year in Travel

2019 wasn’t quite a record-setting travel year for me, but it was still among my busiest. Internationally, I got to visit Japan in the winter, and Sweden and Iceland in the summer. Domestically, I spent a lot of time on the east coast and in the Midwest, but somehow managed not to ever make it out to the Pacific time zone.


Chart of hotel nights by year. 2019 shows 112 total nights (77 business, 35 personal)

Travel was down slightly this year, but I still ended up spending 112 nights away from home – 77 for work, and 35 for myself. The plurality of my personal nights were for my summer trip to Sweden and Iceland; most of the rest consisted of a lot of short weekend trips or visits to friends and family.


I ended the year with 106 flights, totaling 74 110 miles (119 268 km).

Flight maps generated by Paul Bogard using the Great Circle Mapper – copyright © Karl L. Swartz

This was my first year with two separate international trips. I had a work trip to Tokyo in February, and a vacation to Stockholm and Reykjavík in August.

The Tokyo trip was my first time trying out American Airlines’ 777 premium economy class; my job only pays for economy flights, but I was able to purchase a same-day upgrade with my own money for a reasonable price on my Dallas to Tokyo flight. For a 13–hour flight, it was pretty much exactly what I needed; lots of extra legroom, a little extra width, and a nice side pocket to keep devices while they’re charging.

I also upgraded to premium cabins for some of the flights on our vacation; we upgraded to business class at check-in on the Finnair Chicago to Helsinki flight, and won a bid on business class upgrades on the Icelandair Reykjavík to Chicago flight.

The Icelandair 757 business class was closer to a domestic first class flight – lots more room, better service, but no lay-flat bed. Since it was a daytime flight, beds weren’t necessary.

The Finnair A330-300 business class had lay-flat beds, which was nice for the overnight flight. However, at 6′5″ (196 cm), I’m too tall for the bed, so I didn’t really sleep any better in the bed than in my AA premium economy seat. I don’t believe that flight had a premium economy option, but for my future long-haul flights, I’ll probably just upgrade to premium economy rather than business since the beds don’t provide me enough extra benefit for the enormous cost difference.

Domestically, I spent a lot of time in the Great Plains (particularly Oklahoma) and the east coast.

Directed graph with airports as nodes and flights as edges. Airport nodes are sized proportional to the number of visits, and flight edges are color coded by airline.

I decided to try a new visualization of how I flew using a directed graph. I wrote a small module for Flight Historian that could convert flights from my database into a GraphML file, then used yEd Graph Editor to convert it to a radial arrangement.

On this graph, each circle is an airport I visited at least once this year, and each arrow is a flight I took this year. (The circular arrow by OKC shows my flight where we took off from Oklahoma City, and had to return to Oklahoma City due to a mechanical issue.)

My busiest routes were between DAY and DFW or DAY and ORD, with strong showings for DAY ⇄ CLT and DAY ⇄ PHL as well. This makes sense, as Dayton is my home airport, these other airports are all American hubs that serve DAY, and American was my most flown airline this year.

In the last few months of the year, I flew a number of trips on Delta, which brought me a decent number of flights between DAY and ATL.

New Airports

Terminal silhouettes of NRT, FLL, FAY, PIT, BHM, MCI, HEL, ARN, MIA, AND ILM

I visited 10 new airports this year.

#87NRTTokyo–Narita, Japan
#88FLLFort Lauderdale, Florida, United States
#89FAYFayetteville, North Carolina, United States
#90PITPittsburgh, Pennsylvania, United States
#91BHMBirmingham, Alabama, United States
#92MCIKansas City, Missouri, United States
#93HELHelsinki, Finland
#94ARNStockholm–Arlanda, Sweden
#95MIAMiami, Florida, United States
#96ILMWilmington, North Carolina, United States

By picking up FLL and MIA this year, I finally visited all of the large hubs in the United States.

New Airlines

Finnair was my only new airline in 2019. As they are a Oneworld alliance member, I was able to use my American Airlines miles to book them for my trip to Stockholm (via a layover in Helsinki).

New Aircraft

I did not fly any new aircraft families in 2019.


I drove approximately 24 765 miles (39 855 km) in 2019.

Personal Car15 418 mi24 813 km
Rental Vehicles9 347 mi15 043 km
Total24 765 mi39 855 km
Map showing 2019 driving and passenger routes in the United States, Japan, Sweden, and Iceland

Altus (in southwestern Oklahoma) contributed to a lot of my rental driving – it’s not possible to drive directly into Altus, so I’ve flown into a variety of airports in the region (largely Oklahoma City, Dallas/Fort Worth, and Amarillo). I also had one trip where I flew into Kansas City to drive to Wichita, rather than flying into ICT directly.

Similarly, I didn’t have the option to fly directly into Portsmouth, New Hampshire on several trips there this year, which lead to some driving to other New England airports.

I visited Key West and drove the Overseas Highway (the southern terminus of U.S. Highway 1) for the first time this year.

States and Countries

Map of the United States. New Mexico, Delaware, Alabama, Minnesota, and Vermont are labeled "first visit in 2009." Colorado, Kansas, Oklahoma, Texas, Missouri, Illinois, Indiana, Ohio, Kentucky, West Virginia, Virginia, North Carolina, South Carolina, Florida, Pennsylvania, New Jersey, Massachusetts, New Hampshire, and Maine are labeled as "Visited in 2019." Washington, California, Nevada, Arizona, Utah, Wyoming, South Dakota, Iowa, Wisconsin, Michigan, Arkansas, Tennessee, Alabama, New York, Connecticut, Rhode Island, Maryland, and DC are labeled "Visited."

I visited 24 states this year, five for the first time – New Mexico, Delaware, Alabama, Minnesota, and Vermont.

Map of the world. Japan and Sweden are labeled "First visit in 2019." Iceland and United States are labeled "Visited in 2019." Canada, UK, France, Germany, Austria, Australia, and New Zealand are labeled "Visited."

I also visited four countries this year, two for the first time – Japan and Sweden. (I also had a layover in Finland, but since I did not leave the airport, I don’t count it as a visited country for the purposes of this map.)

Frequent Traveler Status

Chart of frequent traveler status in various programs by year. For 2019, American AAdvantage Platinum, Hilton Honors Diamond, and IHG Rewards Club Gold were earned.

For the first time, I earned status with IHG (from a number of Holiday Inn stays), reaching their gold tier. I also maintained my Diamond status with Hilton, and my Platinum status with American.


Map showing a route between Dallas/Fort Worth and Tokyo, a route between Charlotte and Fayetteville, and a marker for Oklahoma City

Map generated by Paul Bogard using the Great Circle Mapper – copyright © Karl L. Swartz

  • My longest two flights were my 6 414 mile (10 322 km) flight between Dallas and Tokyo, and the same route in reverse coming home.
  • My shortest flight took off from and returned to OKC due to a mechanical issue, traveling a net zero distance.
  • My shortest flights that actually went somewhere were my 117 mile (188 km) flight from Charlotte to Fayetteville, North Carolina, and the same route in reverse.
  • I drove at my highest elevation ever (approximately 14 132 feet or 4 307 meters) by driving up Mount Evans via Colorado State Highway 5 – the highest paved road in North America.
    • That’s a higher elevation than my OKC–OKC flight, which only reached 11 076 feet before returning to the airport.

What I Packed for PAX West 2018

Across the various PAX events I’ve been to, I’ve seen multiple people ask for suggestions for what to bring.

While everyone has different packing needs, I’ve been to 10 PAXen to date, and I also travel 2–3 weeks per month for work. Thus, I’ve got a lot of experience with packing in general, and packing for PAX in particular.

I decidedly fall into the “pack light” camp. I like to pack only what I know I’ll need, and I don’t worry about bringing things “just in case” – if I end up needing anything else, I can just buy it when I get there. That’s not a strategy that works for everybody. But even if it doesn’t, I can at least show you what I do pack, and you can use it to get ideas for your own packing list.

Here’s everything I brought to PAX West 2018:

Continue reading “What I Packed for PAX West 2018”

My “Worst” Layovers

Flying out of a smaller city like Dayton, I’m used to having flight layovers on the way to nearly everywhere I travel. While any layover is going to lengthen a trip, one of the most common complaints I hear from traveling companions is when a layover forces them to fly east to go west, or vice versa.

Traveling east (DAY–IAD) to go west (TUL)

[All maps in this post are generated by Paul Bogard using the Great Circle Mapper – copyright © Karl L. Swartz]

I started thinking about a way to quantify how bad a layover was, and ultimately decided that it would be best to compare the sum of the (great circle) distances for each of the flights flown compared to the (great circle) distance of a direct flight from the origin to the destination:

{ratio}_{layover} = \dfrac{distance_1+distance_2+\ldots+distance_n}{distance_\text{direct}}

This would give me a ratio of how much further I flew than I needed to, where a higher ratio would mean a worse layover. A ratio of 2 would mean I flew twice as far as I needed to, a ratio of 3 would mean three times as far, and so on. A ratio of 1 would mean a layover didn’t add any extra distance at all.

My Worst 5 Layovers

Since I keep track of all of my flight data, I can use this ratio to determine my worst layovers.

Note: these layovers are the “worst” in a mathematical sense only –
the ones that add the most distance relative to the shortest theoretical distance. None of these were subjectively bad – the worst in that sense would probably be awarded to some of the weather/mechanical IRROPS that added extra unplanned layovers and days to my travel time. My intent is not to complain that any of the below are bad, but just to come up with an interesting way to quantify some of my flight data.

#5 Worst: Nashville–Charlotte–Dayton

Flown: 697 mi · Direct: 293 mi · Ratio: 2.379

A lot of my bad layovers come from trips that are just on the threshold where either driving or flying could make sense (for me, about a six hour drive). Because these are some of the shortest direct distances I fly, any deviation in the layover tends to greatly increase the length of the trip. In this case, the route was about 2.3 times longer than a direct flight would have been.

#4 Worst: St Louis–Charlotte–Dayton (both directions)

Flown: 944 mi · Direct: 338 mi · Ratio: 2.793

Similarly, St. Louis is right on the drive/fly threshold for me.

There used to be a direct flight between Dayton and St. Louis back when American Airlines was still operating St. Louis as a hub it inherited from TWA, but now it takes a layover to get there. Usually I can at least go through Chicago O’Hare which is more direct (ratio of 1.467), but occasionally I end up having to fly through Charlotte to get a flight at the right time of day.

#3 Worst: Dayton–Dallas/Fort Worth–Boston

Flown: 2,419 mi · Direct: 707 mi · Ratio: 3.421

This is the one that I thought would be my worst layover. I got this trip for free with frequent flier miles, so I wasn’t going to complain too much about the routing, but I’ve always thought this was a pretty ridiculous-looking map.

#2 Worst: Milwaukee–Atlanta–Dayton

Flown: 1,103 mi · Direct: 283 mi · Ratio: 3.898

All I can guess is that it was probably the cheapest flight available when I booked it, and I wasn’t a very experienced traveler at the time.

#1 Worst: Des Moines–Houston–Wichita

Flown: 1,346 mi · Direct: 335 mi · Ratio: 4.018

This is one of my few short trips that didn’t start at home. I had a work trip where I had to be in Des Moines for the first half of the week, and Wichita the second half. Again, it’s about a six hour drive between the two cities, but with as out of the way as this layover turned out to be (more than quadrupling my distance traveled!), I might have been better off driving.

My Best 5 Layovers

#5 Best: Chicago–Toronto–Munich

Flown: 4,561 mi · Direct: 4,517 mi · Ratio: 1.010

While there are nonstop flights available between Chicago and Munich, I booked this route on frequent flier miles and had to take a layover to do so. That said, it only added a percent to the length of the trip (and at least made the transatlantic flight slightly shorter), so it worked out fine.

#4 Best: Dayton–Denver–Burbank

Flown: 1,930 mi · Direct: 1,911 mi · Ratio: 1.010

Dayton doesn’t have any direct flights to west coast airports (in fact, Denver is the longest direct flight from Dayton), so this routing was pretty decent to get to Burbank.

#3 Best: Charleston–Charlotte–Dayton

Flown: 538 mi · Direct: 536 mi · Ratio: 1.004

Normally my job had me flying United when I went to Charleston, so I had a lot of layovers at Washington Dulles. However, my very first return flight from Charleston was right after United had merged their reservation system with Continental. They were having a lot of issues and my flight got cancelled, so United ended up putting me on a US Airways flight through Charlotte, which was a better layover anyway.

#2 Best: Dayton–Chicago–Seattle (both directions)

Flown: 1,955 mi · Direct: 1,952 mi · Ratio: 1.002

This route was what I expected my best layover to be, and it looks like I was only one place off. The stop in Chicago only adds two tenths of a percent to the length of this route.

#1 Best: Chicago–Cleveland–New York

Flown: 738 mi · Direct: 738 mi · Ratio: 1.000

So while obviously a trip with a layover is still going to take longer than a direct flight, this is about the best layover you can get: any increase in distance for the layover is within the rounding error, and the stop didn’t add a single extra mile.

Interestingly enough, this trip section was part of the same trip that had my second-worst layover of Milwaukee–Atlanta–Dayton, shown above.


My flight log’s table of flights contains a trip_id and a trip_section number for that trip, and since layovers are going to be contained within trip sections, I needed to first determine every unique trip_id and trip_section combinations in my flight log:

Flight.all.map{|f| [f.trip_id, f.trip_section]}.uniq

Then I used that to create an array of trip sections, each entity of which contained an array of pairs of airport codes (for example, [["DAY","CLT"],["CLT","STL"]]):

.map{|ts| Flight.where(trip_id: ts.first, trip_section: ts.last).order(:departure_utc).map{|f| [f.origin_airport.iata_code, f.destination_airport.iata_code]}}

Once I had that, I used uniq to remove duplicate routes. Since there was no point in evaluating direct flights (e.g., routes with just a single flight), I also used a select block to keep only routes that had more than one flight:

.uniq.select{|f| f.count > 1}

So now that I had a collection of trip sections with layovers, I had to calculate their total distance, and the direct distance between the first flight’s origin and the last flight’s destination.

Every Airport in my flight log has a latitude and longitude stored, and my flight log already has a Route.distance_by_iata(iata1, iata2) method to find the great circle distance between two airport codes (using the haversine formula).

To get the total trip section route distance flown, I used a map command to create an array of trip distances, and a reduce command to sum them (assuming ts is the array of flight airport code pairs in a trip section):

rd = ts.map{|f| Route.distance_by_iata(f.first, f.last)}.reduce(0, :+)

Best distance (direct flight distance) is easier, since I just need to run the distance calculation on the first flight’s first airport, and the last flight’s last airport:

bd = Route.distance_by_iata(ts.first.first, ts.last.last)

So combining these, we can use a map on the collection of trip sections to create an array of hashes of trip section routes, distances, best distances, and ratios:

.map{|ts| rd = ts.map{|f| Route.distance_by_iata(f.first, f.last)}.reduce(0, :+); bd = Route.distance_by_iata(ts.first.first, ts.last.last); {route: ts.map{|f| f.first}.push(ts.last.last).join("-"), route_distance: rd, best_distance: bd, ratio: (rd.to_f/bd.to_f).round(3)}}

And sort it by ratio descending:

.sort_by{|f| -f[:ratio]}

Combining these all into a single statement:

output = Flight.all.map{|f| [f.trip_id, f.trip_section]}.uniq.map{|ts| Flight.where(trip_id: ts.first, trip_section: ts.last).order(:departure_utc).map{|f| [f.origin_airport.iata_code, f.destination_airport.iata_code]}}.uniq.select{|f| f.count > 1}.map{|ts| rd = ts.map{|f| Route.distance_by_iata(f.first, f.last)}.reduce(0, :+); bd = Route.distance_by_iata(ts.first.first, ts.last.last); {route: ts.map{|f| f.first}.push(ts.last.last).join("-"), route_distance: rd, best_distance: bd, ratio: (rd.to_f/bd.to_f).round(3)}}.sort_by{|f| -f[:ratio]}

Running it on my flight log provided me my results:

And for ease of comparison, I decided to convert it into CSV-formatted output so I could import it into Excel:

output.map{|f| puts f[:route] + "," + f[:route_distance].to_s + "," + f[:best_distance].to_s + "," + f[:ratio].to_s + "\n"}

With that, I had all the information I needed to create my 5 best and 5 worst layovers list.

[Edit on 11 Feb 2019: I have now updated Flight Historian so that trip section pages with a layover show the layover ratio.]

2018 Year in Travel

In 2018, I visited Australia and New Zealand, each for the first time. Other than that, my travel was largely similar in nature and quantity to 2017 – frequent routine business trips, with a few weekend vacations thrown in.


I stayed in hotels a record 124 nights this year. Business travel was down slightly, but my three-week Australia and New Zealand vacation added a lot of personal hotel nights.


I ended up flying 109 flights this year, totaling 87,306 miles (140,505 km).

My 2018 flights worldwide
My 2018 flights within the United States

Maps generated by Paul Bogard using the Great Circle Mapper – copyright © Karl L. Swartz

New Airports

I visited eight airports for the first time this year:

#79SYDSydney, New South Wales, Australia
#80PERPerth, Western Australia, Australia
#81MELMelbourne, Victoria, Australia
#82CHCChristchurch, New Zealand
#83DUDDunedin, New Zealand
#84AKLAuckland, New Zealand
#85LBBLubbock, Texas, United States
#86PVDProvidence, Rhode Island, United States

With 86 airports visited to date, I have only 14 to go to reach my goal of visiting 100 airports.

New Airlines

I flew on two airlines for the first time this year:

New Aircraft

I flew on three aircraft families for the first time this year; all three were from my Australia and New Zealand vacation.

Airbus A380
Boeing 787
ATR 72

Aircraft illustrations created by Norebbo


My longest flight was 8,580 miles (13,808 km) from Dallas to Sydney. This 17–hour flight was the longest I’ve ever been on. I also flew my second-longest flight ever this year: 6,516 miles (10,486 km) from Auckland to Los Angeles.

My shortest flight was 139 miles (223 km) from Dallas to Lawton.

Map generated by Paul Bogard using the Great Circle Mapper – copyright © Karl L. Swartz


I drove approximately 22,587 miles (36,350 km) this year – 11,616 miles (18,694 km) in my own car, and 10,971 miles (17,656 km) in rental cars.

2018 US driving (rental cars in red, my car in blue)
2018 Australia and New Zealand driving

Map tiles by CartoDB, under CC BY 3.0. map data © OpenStreetMap contributors under ODbL

Frequent Traveler Status

This year, I maintained Platinum status with American Airlines and Diamond status with Hilton. I did not earn any other status this year.

A Primer on Car Rentals

[This article is slightly modified from a post I made on the Starmen.Net Forum.]

I travel a lot for work and leisure, and I have rented over 150 cars, so I’ve got some experience on the customer side of car rentals. I’ll try to help you out with what I’ve learned.

Can I Rent a Car?

In general, if you are at least 25 years old and have a valid driver’s license (including non-US driver’s licenses) and a credit card, you can easily rent a car in the US.

Many car rental agencies will not rent to drivers under 25. Some places will rent to drivers that are at least 21, but they will generally add a large daily underage fee to those under 25.

Credit cards are the preferred way to pay for a rental car. Some places may take debit cards, but they will generally place a large hold on your card. They may also require that you have a ticket for a return flight that matches the date you’re planning to return the car. It’s much, much easier to use a credit card if you have that option. (Certain credit cards may also help you out with rental car insurance, as described in the Insurance section below.)

How to Rent a Car

If you have a particular car rental agency you want to rent from, you can go to that agency’s website. However, if you don’t care who you rent from, you can use pretty much any travel search engine. I generally use Kayak.

You can see in the screenshot below when I start typing an airport code, the search engine will offer me the choice between “Airport” and “City.”

Screenshot 2018-04-29 10.14.47.png

If you’re flying in, you’ll generally want to get a car rental at the airport.  Car rental agencies that are in the city you’re going to but not at the airport can often be cheaper; however, you’ll have to figure out how to get there and back, and that’ll often involve a pair of taxi rides that cost more than you save.

Select your pick-up location and time, and your drop-off time. Generally, I set my pick-up time to be within a half hour after my plane lands, and my drop-off time to be about an hour before my departure flight. Both times are approximate, but I like to set them for the longest I could conceivably have the car, since the longer you have the car the more you risk being charged for extra hours or days on your rental. (I’d rather have the car for a shorter duration than expected and have the final bill be slightly cheaper than the estimate, than have the car for longer than expected and have the final bill be higher than the estimate.)

Once you set your location and pickup times, you should see a bunch of cars to choose from:

Screenshot 2018-04-29 10.35.54.png

There are a few things you’ll want to pay attention to here. First, in the upper left (and on specific cars), you’ll see it say Terminal, Shuttle, or Other.  Terminal means that the rental car agency is literally on airport property (though, at some larger airports, not necessarily at the terminal); shuttle means it’s near the airport, but the car rental agency will provide you a free shuttle bus to and from the airport terminal. Ignore any cars that say Other, since they’re the ones where you’re on your own to figure out how to get there.

You can filter by size and type of car, as well. Different agencies call them different things, but here are the types of cars you can generally pick from:

Economy1-2 people and I don’t care if I have cruise control
Compact / Small1-2 people
Mid-Size / Intermediate / Medium3-5 people, light packers
Full-Size / Large3-5 people, heavy packers
Van / MinivanI care more about fitting the maximum number of people into the minimum number of vehicles than I care about my wallet
Anything elseI enjoy lighting money on fire

The other thing to notice that most of the cars say “Free Cancellation.” In general, most rental cars can be cancelled at any time without penalty (though some may still have you put in your credit card number when you make the reservation).  However, sometimes you’ll see a rate that’s paid in advance (e.g. when you make the reservation), and you likely won’t be able to get a refund on those if your plans change. Just pay attention when you book so you know which you’re getting.

About Those Daily Rates

Be aware that you want to pay attention to the total cost, rather than the advertised daily rate. There are a ton of mandatory fees that the rental car agencies add in, and sales tax on rental cars is often very high (most of the people affected by a rental car sales tax are visitors who don’t vote in that district).

For example, here’s a receipt from a recent rental I had:

Screenshot 2018-04-29 11.14.18.png

So the rental car agency would have advertised this rental at $35 per day ($140 for 4 days). However, once all the fees and taxes are added in, I actually ended up paying $242.01, or $60.50 per day — 73% higher than advertised. Some airports have higher fees than others, but it’s always a substantial increase.


Fortunately, many travel search engines will show you the total rate with all those fees factored in – but just make sure you pay attention. Always, always, look for a final total cost.

Picking up Your Car (or, Rental Car Agencies are Fee Extraction Mercenaries)

Once you arrive, use the signs at the airport to find your way to rental cars or rental car shuttles (sometimes the airport signs will only point you to “ground transportation”), and head to the rental car desk. They’ll need to see your driver’s license and credit card. Then, they will try to upsell you on everything.

By the way, remember that 73% increase above the advertised rate in my example above? That was only the mandatory fees and taxes. If I’d bought any of the below, the end cost would have been even higher.

Here’s some of the common things they’ll try to sell you:


This is the big one. Car rental agencies will try to get you to buy extra insurance for the vehicle.

What they’re selling you isn’t the liability insurance required by law that you have to buy for your own car – they’re the owner of the vehicle, and they’re responsible for that (even though I’ve had rental agents outright lie to me in the past and say they aren’t). You’ll find some sort of proof of insurance card in the glovebox of any car you rent from any reputable agency, and regardless, if you get pulled over for some reason, you can generally just give the police your rental contract in place of proof of insurance.

Instead, the insurance that they’re trying to sell you is to protect the car itself — if you’re in a wreck with their rental car (or even if someone just dings the door in a parking lot), then the insurance they sell you ensures you won’t have to pay for repairing the car, and for the business they lose while the car is being repaired.

Being covered for damage isn’t a terrible idea itself — many people can’t afford to repair or replace someone else’s car — but like everything else in the world of rental cars, this insurance is overpriced, and you may be able to get it cheaper another way.

First, if you have your own car insurance at home, check with them to see if they cover rental cars. Some policies do if the car you rent is similar to the car you own (e.g. an insurance policy on an average car probably won’t cover renting a luxury car or a truck). Look through your insurance paperwork to see what they cover, or call your insurance company and ask. If your own car insurance will cover you, you likely don’t need to buy it from the rental agency.

Also, certain credit cards offer rental car coverage if you rent the car using their card. I have a Visa Signature card which covers me when I use it, but a number of other credit cards do as well. Check with your credit card issuer(s) to see if they offer any coverage.

If you don’t have coverage from anywhere else, feel free to buy it from the rental car agency — but don’t expect it to be cheap, as it’s generally an extra cost per day.

Prepaid Fuel

Normally, when you rent a car, they’ll give it to you with a full tank of gas, and you have to return it with a full tank of gas (so you need to fill it up somewhere near the airport before you return it). If you forget and return it with less fuel than you started with, they’ll charge you for the difference in gas ­— and they’ll often do so somewhere around $8–$11 per gallon. Do not forget to refill it.

However, most rental car agencies nowadays will try to offer you a prepaid fuel service, where you can pay in advance for the cost of a full tank of gas at something like 10 cents per gallon cheaper than what gas stations are charging — and then you can bring the car back empty if you want to.

They will try to make it sound like this is a great deal, but it’s really only a good deal if you can bring the car back completely empty. If you still have gas in the car, they won’t refund you for the difference. If you bring the car back half full, then you will have paid for a full tank of gas, and only used half a tank — It’s not a good deal.

Decline the prepaid fuel, and just fill it up before you return it.


Sometimes, at the counter, they will try to convince you to upgrade to a bigger or nicer car “for only $5 a day more,” or some price like that.

Just remember that when they offer, that $5 is on the advertised rate, and it’s per day. Using the example receipt I’d linked above, assume that $5 is 73% more expensive (not exact, since some of the fees are a flat daily rate rather than a percentage, but close enough for an estimate).  That $5/day upgrade becomes $8.65 per day, or an extra $34.60 on my four-day rental. Not terrible, but not as cheap as they make it sound. And a lot of times, the boundaries between what’s, say, a midsize and a full-size car can become very fuzzy depending on what they have on the lot — so you may pay for an “upgrade” and then end up with the car that they were actually going to give you anyway.

Toll Transponders

Many toll roads around the country are going cashless — there is no longer a booth that you can stop at to pay. Instead, some places require a toll transponder, or some places will just photograph a license plate and send a bill to the owner of the car.

If you’re in a rental car, though, then that transponder or that bill is the responsibility of the rental car agency, and they’ll charge you for the convenience.

Generally, if you use the rental car agency’s toll transponder (or let their license plate be photographed), they will charge you a “convenience fee” of something like $4.95 per day (for the entire duration of your rental, even days you don’t go on a toll road), plus the cost of the tolls. Because of the lag of communication between the tolling agency and the rental car agency, you may not get this fee until several weeks after you return the car, when it will just show up on your credit card from the car rental agency.

Some agencies in some cities have been switching to flat rate tolling — they’ll charge you something like $10–$15 per day, but you can go through all the tolls you want for that price. Because it’s flat rate, they should be able to put it on your bill when you return the car.

Either way, it’s generally easier to try to avoid toll roads when you’re in a rental car. If that’s not possible, however, make sure you ask the agency, so you know how much you’ll be paying.

Additional Drivers

Generally, only the person who rents the car is allowed to drive it. Your name will be listed on the rental contract, and if you let anyone else drive the car, any insurance you have is likely null and void if something happens to it. Similarly, if you get pulled over and the driver’s not on the rental agreement, the person driving is technically driving a car without the owner’s permission. So, if you’re going to want to share driving, you’ll need to add an additional driver to your rental.

The additional driver will have to meet the same requirements as the main driver (must have a valid driver’s license, likely must be at least age 25) and will have to be present when you pick up the car, so they can show the rental agent their driver’s license as well. There’s also likely a fee for an additional driver (although in many cases, the legal spouse of the renter can be added as an authorized driver for no additional fee).

Other Tips

When you pick up the car, inspect it for damage, and if there is any damage be sure to let the rental company know before you take it off the lot. Otherwise, you can be charged for damage the car already had. The general metric with damage is that if it’s a ding/dent/scratch smaller than the size of a US quarter, they don’t care, but if it’s bigger than that you may be charged for it.

Keep your rental contract in your car. If for some reason you need to demonstrate that you have permission to drive the vehicle (traffic stop, border crossing, etc.), the rental contract will function as your proof.

2017-07-26 11.59.10.jpg

If your car breaks down, call the rental agency to have them tow it away and get a replacement. If it’s something like a flat tire or locking your keys in the car, though, the rental agency may charge you for the roadside assistance. (However, if you have AAA, you can use it with rental cars too!)

2017 Year in Travel


With 113 total flights, this was a record flying year for me – the first year I’ve ever exceeded 100 flights. My work flights alone this year exceeded my total flights last year.



My hotel nights were pretty consistent with the prior three years; I ended the year with 109 total nights.


New Airports

I only visited five new airports this year, which puts me at a total of 78 airports visited so far.

New Airports 2017
#74OAJJacksonville, North Carolina, United States
#75VPSDestin/Fort Walton Beach, Florida, United States
#76BFLBakersfield, California, United States
#77TPATampa, Florida, United States
#78PIAPeoria, Illinois, United States

Peoria wasn’t a planned visit – we ended up diverting there and deplaning due to weather in Chicago.

Elite Status

I maintained American Platinum and Hilton Diamond this year, and earned Silver status for both United and Marriott.

EOY Status

So, for the first time, I have legitimate Marriott status – my previous Marriott Gold was a reward for having Gold status on United.


2016 Year in Travel

Overall, my travel increased slightly this year. Unlike in 2015, my travel was relatively evenly spread throughout the year.


Map created with Great Circle Mapper

I took 94 flights in 2016, which beat my 2015 record by five flights.


This year, I had 56 flights on business-only trips (my employer paid for all hotel nights), 4 flights on personal-only trips (I paid for all hotel nights), and 34 flights on trips that were mixed business and personal (my employer and I each paid for at least one hotel night).

At my job, we have contracted rates with the airlines, so the flights between two cities have the same cost no matter what day they take place. As a result, we’re allowed to extend business trips by flying there earlier or flying home later, as long as we’re responsible for any expenses incurred on the additional days. I was able to use that benefit a good deal this year, as the chart above indicates.

However, the plurality of those mixed trip flights came from a single trip: my two-week vacation across Europe, from which I ended up having to go straight to a business trip in Tulsa without stopping home first. Thus, I paid for all of the European flights, my employer paid for the flights that took place after I returned to the US, and we each paid for hotel rooms on the appropriate parts of the trip. This led to a trip with 9 flights being considered a mixed trip, which on its own already exceeds the number of mixed trip flights I’ve had in any prior year.

Hotel Nights


I spent 113 nights in hotels in 2016, up four from the prior year. 71 were business (my employer paid for the hotel) and 42 were personal (I paid for the hotel).

My business travel nights were slightly down this year, but I made up for it with more personal nights. Again, the Europe trip contributed substantially to my personal hotel nights.

New Airports

I visited 13 new airports in 2016:

#61AMAAmarillo, Texas, United States
#62SATSan Antonio, Texas, United States
#63MUCMunich, Germany
#64NUENuremberg, Germany
#65TXLBerlin–Tegel, Germany
#66LHRLondon–Heathrow, United Kingdom
#67CDGParis–Charles de Gaulle, France
#68KEFReykjavík–Keflavík, Iceland
#69ONTOntario, California, United States
#70PWMPortland, Maine, United States
#71DSMDes Moines, Iowa, United States
#72BURBurbank, California, United States
#73RDURaleigh/Durham, North Carolina, United States

Elite Status


This year, my travel was weighted more heavily toward American Airlines (61 out of 94 flights), so I was able to get AAdvantage Platinum for the first time.

United renewed my MileagePlus Gold status at the end of 2015 even though I didn’t earn it, which meant that I still had Gold benefits through the end of 2016. I didn’t even earn United Silver this year. However, due to United’s partnership with Marriott, because I was still considered United Gold at the end of this year, Marriott renewed my Marriott Rewards Gold Elite status.

I easily earned Hilton HHonors Diamond again this year – I got the required 60 nights by July, and ended the year with 95 nights spent in Hilton properties.


Ohio County Courthouses


I play the geocaching game Ingress, and one of its features is the option to do “missions” – specific collections of waypoints to visit. Most of these are relatively short, with under 20 waypoints in a relatively small geographic area.

However, on a road trip that I took earlier this year, I pulled out Ingress on a break and noticed a mission called Ohio County Courthouses, which required visiting the courthouse in each of Ohio’s eighty-eight counties.


I didn’t have time to pick up the mission then, but I kept it in the back of my mind until June, when Amy and I decided we would try to complete the mission over several days.

Mapping the Waypoints

With as large as this mission was, I needed to plan out a logical route, and to do that, I needed a map. Ingress does include an in-game mission map, but at the scale of this mission, it’s too difficult to be able to see every waypoint while still being able to see the roads between them, so I decided to plot them all on Google Maps.

In order to do this, I needed the exact location of every portal. Ingress does provide an address of each portal, but it’s often just a rough range of addresses (e.g. 900-999 Main Street). Even with a specific address, you’re only finding the lot that it’s on, not the specific location of the portal itself.

Although it would take a little research up front, I decided it would be a lot easier in the long run to work with the latitude and longitude of each of the 88 portals. I could use these coordinates to plan out my route, and once I started, I could enter the coordinates directly into my GPS.

While the Ingress app doesn’t show the latitude and longitude, the Ingress Intel Map does. Click on one of the portals on the mission, then click the Share link, and you’ll see a link that looks something like this:


The second pair of numbers (after the “pll=”) are the latitude and longitude of this portal, in decimal degree format. The positive first number means the portal is in the northern hemisphere (south is negative), and the negative second number means the portal is in the western hemisphere (east is positive). Thus, the coordinates of this portal are N41.474095°, W84.551716°.

I got the latitude and longitude of all 88 portals, and placed them in an Excel spreadsheet:

Screenshot 2016-07-02 13.29.09

I then used GPS Visualizer to export these waypoints to Google Maps:


From there, I was able to begin planning a candidate route.

2016-06-04 08.39.02

Starting the Mission

Day Zero: Williams County to Defiance County


The first issue with this mission was that its first portal was in Williams county in the far northwest of Ohio, and since the Ingress mission list is sorted by distance from our current location, we had to drive up to the northwest corner of the state to even be able to start the mission. Thus, we had to drive right past a number of county seats near Interstate 75 before we could even start the mission.

We started this mission on a Friday evening after I got home from work, so by the time we started the mission and collected the first three counties’ portals, it was nearly midnight. We checked into a hotel that we’d reserved in Defiance.

Day One: Henry County to Richland County


We quickly realized that traveling between county seats on back roads was not nearly as quick as we’d expected it to be. My initial estimate for doing all 88 counties was three full days (plus the few counties we’d done in day zero). However, by the time we reached Ashtabula county, it was already dinner time, and it was after midnight by the time we reached Richland county. At that point, with only 23 counties done, we had to return home.

Replanning for Realistic Travel Times

We’d wasted a lot of driving time by going home from Richland county without stopping at any further portals, and I wanted to make sure that we didn’t end up in that situation again.

I went back to my Excel sheet and Google Maps, and started planning mission days that met the following requirements:

  • The mission day must be a round trip that start and ends at my home in Greene county
  • The entire round trip must be less than 12 hours of driving according to Google Maps (which would keep the mission day under 16 hours including breaks and meals)

Thus, any free weekend day we had, we would be able to go out, collect a number of mission portals, and still be home at night. I came up with the following mission day groupings, including the counties we’d already completed:

Ohio Counties Map.png

This gave us a number of roughly equal length mission days, plus a short four-county mission day in the southwest corner of the state.

Continuing the Mission

Day Two: Warren County to Clermont County


The four-county mission ended up being quite useful. One weekend, we had plans to visit a friend for dinner in the Kentucky suburbs of Cincinnati, so we picked up four quick portals on the way.

Day Three: Clark County to Champaign County


We had a free day, so we decided to try out one of the longer missions. We saw online that there was a small festival occurring in Columbiana county that day, so we decided we’d leave early in the morning, stop at the festival for a late lunch, and continue on back home.

As we approached Columbiana county, though, Amy had been looking for more information on the festival while I’d been driving. She discovered that it was less of a festival and more of a social hosted by a local church – with lunch served at a specific time that had already passed. We decided we’d just get lunch at a restaurant instead, and ended up at the Court House Inn & Restaurant. The food was pretty good, and it had one of the oddest restrooms I’ve ever seen.

Amy said that it felt like going to the bathroom inside a chandelier.

We continued the mission, and things were relatively uneventful until we started heading west between Morrow and Hardin counties. Apparently, there had been substantial rainfall in the area over the prior week, and there was a good amount of flooding going on in the area. Fortunately, although there were points where one lane was covered in water, our road was never completely flooded.

We got past all the flooding, and ended up hitting the last portal while the sun was still up. My mission day length planning had been successful.

Day Four: Montgomery County to Miami County


Yet again, we looked up festivals in the state, and found an antique tractor festival in Van Wert. I couldn’t say I’d ever been to such a festival before, so we figured it was as good a reason as any to select the mission day that included Van Wert.

Unfortunately, US-127 was under construction just outside the Van Wert fairgrounds, forcing us to do a bit of a detour. When we were done with the festival, we tried to get lunch, and the restaurant we were trying to get to was on the closed section of road. They did have a sign posted under “ROAD CLOSED” stating that the road was open to local businesses, with our restaurant specifically listed, so we followed the signs, along with several other cars – right through the middle of an active construction site.

I’ll admit that I only had an inspector job at the Ohio Department of Transportation for one summer during college, but the way that site was set up, I don’t see any possible way that site was safe for non-construction traffic to be allowed through. It really felt like the project wasn’t planned properly to allow business access during construction, so they just let traffic come through at its own risk.

The day became relatively easy after that. Once we completed Crawford county; the remainder of the trip used US-30 and I-75, both freeways, to travel between counties, substantially speeding things up.

Day Five: Ross County to Greene County


I’ve not spent much time in the southern part of the state, which includes rural foothills of the Appalachian mountains. As such, although the distance wasn’t too great, it ended up being one of my longer mission days, since much of the travel was on curvy mountain roads.

At one point between the Gallia and Lawrence county courthouses, one of the roads we were meant to take was closed, and we began to follow the detour signs instead. However, after a while, the detour signs disappeared. I don’t know if they were missing, or if we’d missed a turn, but we ended up having the GPS find us a detour instead… which ended up being fifteen miles of gravel back roads.

We ended up stopping for dinner in Scioto county, and by the time we left it was getting dark. We didn’t end up getting home until slightly after midnight.

Day Six: Madison County to Fairfield County


At this point, we only had one mission day left. However, we weren’t able to leave until later in the morning, and we were able to find an inexpensive hotel in Lancaster (Fairfield county), so we decided to do most of the remaining portals in one day and get a hotel for the night.

Day Seven: Pickaway County and Fayette County


For the easiest day of all, we only had two portals remaining. So as a fitting end to the mission, I somehow ended up getting Ingress speed locked going into Fayette county, and had to wait around fifteen minutes before I could interact with the final portal.


Eight days later, and I had completed what was by far my longest mission. It was exhausting at times, but in the end, it was nice to be the first two people to complete the mission.

2016-07-04 09.51.16
Amy and I, parked in front of the final courthouse as we completed the mission.