- Eurostar scraper now fetches both Standard and Plus (PLUS class code) prices/seats in a single API call; each service dict gains plus_price and plus_seats fields - GWR fares scraper gains fetch_advance() which makes two sets of paginated calls (standard advance + first-class advance) and returns cheapest per departure; shared _run_pages() generator reduces duplication in fetch() - New /api/advance_fares/<station_crs>/<travel_date> endpoint returns advance fares as JSON, cached for 24 hours - Results page gains NR ticket selector (Walk-on / Std Advance / 1st Advance) and Eurostar selector (Standard / Plus); total column is JS-computed from the selected combination with cheapest/priciest highlighting - Load advance prices button fetches the API lazily; if advance fares are already cached they are embedded in the page and applied on load so the button is hidden automatically Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
17 lines
1 KiB
Markdown
17 lines
1 KiB
Markdown
Right now the site just shows National Rail (NR) walk on fares in Standard Class and Eurostar Standard prices.
|
|
|
|
I'd like to see more prices, specifically:
|
|
|
|
Eurostar Plus
|
|
National Rail Standard advance tickets
|
|
National Rail First class advance tickets
|
|
|
|
Optionally we could include First class walk on fares, although they'll be expensive, I wouldn't never buy one.
|
|
|
|
Our existing Eurostar scraper is already getting the Eurostar Plus prices, we could have a way to make them appear in the UI.
|
|
|
|
Getting NR advanced fares is more tricky, we need to scrape the GWR booking system, it'll take multiple requests. We shouldn't get this price data by default. We could have a button to get the extra GWR prices then for each NR service show standard walk on, standard advance and 1st class advance prices.
|
|
|
|
Not sure what to do about total price column, lots of combinations now. Maybe selectors so the user can pick which type of ticket they want for NR plus the type for Eurostar.
|
|
|
|
I hope that makes some sense, can you have a go implementing. Ask me if I've left anything out.
|