This to add
With a 13-year-old in the group you are carrying a discount engine most visitors never switch on. ![]()
Transport, 2026 prices
Never buy a single. Contactless caps at £8.90 a day in Zones 1–2, then the day is free to keep riding
Buses £1.75, unlimited changes within an hour, £5.25 a day cap
11–15 Zip Oyster for the 13-year-old — 50%+ off every journey; apply before you fly, the photo card arrives by post
Under-11s ride free with a 5–10 Zip card
Free, and it feels expensive
British Museum · Natural History (the blue whale) · Science Museum · V&A · Tate Modern — all free ·
Sky Garden, free with an online booking ·
Winter Wonderland, free entry ·
Changing the Guard
The 2-for-1 trick — keep a paper rail ticket or Travelcard and National Rail 2FOR1 turns two entries into one paid ticket at the big attractions. ![]()
Sleep and eat —
short lets on OpenRent skip agency fees, Premier Inn family rooms beat the booking sites ·
supermarket meal deals, Too Good To Go in the evening, Wetherspoons for a cheap sit-down dinner
Two habits — always pay in GBP when a terminal offers the choice, and tap a Revolut or Wise card instead of your bank’s. ![]()
Flights: DAL over DFW, with alerts on Secret Flying and Fly4Free — Dec 3–7 lands just before the Christmas surge. ![]()
Everything above is the what. This is the build — five pieces you can put together in an evening, all free to start. ![]()
Your own flight-price watch (20 lines of Python)
fast-flights ★2.1k · MIT reads Google Flights directly, and the Amadeus Self-Service API gives you a free developer tier for real fare data. Run it nightly for DAL→LHR on Dec 3–7, log the price, and book the day it drops — that beats refreshing tabs for a week.
from fast_flights import FlightData, Passengers, get_flights
r = get_flights(
flight_data=[FlightData(date="2026-12-03", from_airport="DAL", to_airport="LHR")],
trip="one-way", seat="economy", passengers=Passengers(adults=2, children=1),
fetch_mode="fallback")
print(r.current_price)
Split My Fare — UK trains sold as one ticket cost more than the same trains sold in pieces. Split My Fare does the slicing automatically; on a family trip it routinely halves the fare. Cheap, fast, and it works from Dallas before you fly.
Free stays that are genuinely free — BeWelcome and Trustroots are hospitality networks with no fee and no subscription, unlike the ones that charge to look.
A water-and-toilets map you build yourself — Overpass Turbo runs one query against OpenStreetMap:
node["amenity"="drinking_water"](51.47,-0.20,51.55,0.00); out;
Add amenity=toilets and leisure=playground to the same query and you have a personalised family map of London — free water, free loos, and a playground whenever the 13-year-old needs a break. The Refill app does the water half if you would rather not build it.
Wasted-food dinners — Too Good To Go sells end-of-day restaurant boxes for a few pounds, and central London is dense with them. Three dinners, one tenth of the price. ![]()

!