Pricing module state matrix
How the destination-detail pricing module adapts as the agent learns more about the trip. Change what’s known to see the module, the rule behind it and what the agent should ask next.
- Entry
- EXP-001
- Type
- Spec
- Version
- v0.4
- Surface
- AI Trip Planner · destination detail
- Status
- Live
- Last updated
- 23 Oct 2026
Prototype fixtures. Prices, dates and journey times are representative values for demonstrating the rules, not live fares or timetables. This is a UX specification, not booking logic.
Known trip parameters
Passengers
Always priced for 1 adult, whatever passengers the customer mentions in the chat.
Example customer message
What is there to do in Paris?
Preview · Destination detail, Paris
State D-01 · Approved
No dates yet. The module shows the lowest each-way fare, based on a return trip, for 1 adult with its legal footnote, and leads to the lowest fare finder.
14 pricing states
Every distinct state of the module, by route and dates. Select a row to load it into the preview.
14 states
| State | Route | Dates | Journey | Shows | CTA | Approved | Action |
|---|---|---|---|---|---|---|---|
| D-01 | Direct | No dates | Unknown | 1 adultFrom £39 each way* | Find lowest fares | Approved | |
| D-02 | Direct | No dates | Return | 1 adultFrom £78 return | Find lowest fares | Approved | |
| D-03 | Direct | No dates | One way | 1 adultFrom £53 one way | Find lowest fares | Approved | |
| D-04 | Direct | Broad dates | Unknown | Leaving 1 Sep - 30 Sep • 1 adultFrom £39 each way* | Find lowest fares | Approved | |
| D-05 | Direct | Broad dates | Return | Leaving 1 Sep - 30 Sep • 1 adultFrom £78 return | Find lowest fares | Approved | |
| D-06 | Direct | Broad dates | One way | Leaving 1 Sep - 30 Sep • 1 adultFrom £53 one way | Find lowest fares | Approved | |
| D-07 | Direct | Specific dates | One way | 10 Sep • 1 adultFrom £63 one way | View trains | Approved | |
| D-08 | Direct | Specific dates | Return | 10 Sep - 15 Sep • 1 adultFrom £94 return | View trains | Approved | |
| C-01 | Connection | No dates | Unknown / Return | Based on 12 Nov - 15 Nov • 1 adultFrom £177 return | View trains | Approved | |
| C-02 | Connection | No dates | One way | Based on 12 Nov • 1 adultFrom £95 one way | View trains | Approved |
Decisions
8 decisions
| Number | Decision | Why | Agreed by |
|---|---|---|---|
| 1 | Always show the price for 1 adult, and carry the party forward. Whatever passengers the customer mentions, the module quotes a single adult fare. The button passes the customer’s party on to train results or the lowest fare finder. | Consistent with journey search, which only shows totals in the basket. Customers are comparing destinations at this stage, and an accurate total would need every passenger’s age. Child fares also aren’t easy to retrieve. | Design, Product, Dev |
| 2 | Unknown journeys show the each-way price; returns show the return price. Without exact dates, an unknown journey shows “From £39 each way*”, based on a return trip. A known return shows “From £78 return”, and one way shows “From £53 one way”, with no star or footnote. | The each-way price follows the existing landing-page convention when we don’t know the journey. Once the customer says it’s a return, the full return price is more useful. | Design, Product, Dev |
| 3 | Only the each-way “From” price carries a legal footnote. Retain the approved fare copy on the each-way price (“From £39 each way*”), with destination-specific wording, fixed grammar (“between … and …”), and “lowest fare finder” as plain text rather than a link. No footnote is required for return, one-way or exact-date prices, or the Lowest Fare Finder page. | Return and one-way prices already specify the journey type. The destination-specific Lowest Fare Finder guarantees the advertised “From” fare on the trains page, making additional footnotes unnecessary. | Legal, Design, Product |
| 4 | Other travel classes will change the price and the class name. Approved for later, not in the MVP: Eurostar Plus shows “from £70” and Eurostar Premier “from £250”, with the footnote’s heading price and class name following. | The footnote has to match the price and class shown. | Legal, Design |
| 5 | One date shows the one-way price; two dates show the return price. With only one date, the agent follows up to check whether the customer needs a return. | Doesn’t invent a return date, and matches what the train search shows for a single date. The follow-up catches a forgotten return. | Design |
| 6 | Broad date ranges have a maximum length. Searches stay simple, with no complex logic such as checking every weekend for the next three months. The prototype currently caps a range at 62 days. | Long date horizons mean many searches and slower, costlier pricing. | Dev, Product, Design |
| 7 | Connections follow the route map treatment, with no “Choose dates” step. The module shows an example price and the dates it’s based on, then “View trains” goes straight to train results for those dates. The example trip is three nights, eight weeks ahead, or at the start of the customer’s range when they give broad dates. The dates and “1 adult” share the first line, and the price says “From”, as on direct routes (Option B, approved by Legal on 29 October 2026). | Matches the route map, an approved, live pattern. Legal is unlikely to accept an example price followed by a date picker without prices, and it avoids a blank fare calendar. | Design, Product, Legal |
| 8 | Journey details sit behind “Getting there with Eurostar”. For connections, a next-level page shows the route with actual times for a specific train, probably the earliest of the day, along with the journey time disclaimer. | Keeps the pricing module simple by moving the journey time disclaimer, which is legal copy, to the next page. Connection journey times also vary by train. | Design |
Open questions
- 1How is the footnote’s date range set? The approved wording says “for travel between 21/10/2026 and 31/01/2027”. How that range is determined isn’t decided. The Lowest Fare Finder’s search window is closer to 11 months and is being investigated, so the footnote’s range may need to match it. The dates shown are placeholders from the review board. · Product, Dev, Legal
- 2Where does the “Correct as at” date come from? A content question rather than a design one. Until it’s settled, the board’s example date (30/09/2026) is shown. · Product
- 3What disclaimer should the AI chat show? “AI can make mistakes. Check important info.” was not approved. As the merchant, Eurostar is accountable for what it tells customers, such as price and destination, so a vague, generic disclaimer isn’t acceptable. The designs now borrow “AI can make mistakes. Verify any answers that seem off.” from the new service bot designs, which Legal approved for the app; Lorraine is checking internally whether this condensed disclaimer applies to mobile and desktop web. This isn’t part of the pricing module. · Legal, Product
- 4What’s the maximum broad date range? And how should the agent read school holidays and similar phrases? · Dev, Design, Product
Later
- Class of travel. The lowest fare finder lets customers choose a class. Legal has approved the footnote copy for Eurostar Plus and Premier, but it isn’t in the MVP.
- No price available. What does the module show for a sold-out date?
Constraints
- 1The lowest fare finder only returns adult fares. So without exact dates, prices can only be for 1 adult.
- 2Connections can’t be priced for a date range. They need a specific outbound date.
- 3Connection pricing calls have a cost. Price only once the customer has shown interest, not across many destinations at once.
- 4One destination and date range at a time. Mixing route types, such as direct and connecting, would need a second footnote.
Principles
- 1Get more specific as the agent learns more. No dates gives a “From” price; exact dates give the price for those dates and lead to trains.
- 2Quote one adult, consistently. Whatever the party, the module shows the price for 1 adult, as journey search does.
- 3Only show prices we can stand behind. No calculated child fares, and no connection price for a date range. Show an example or ask for dates instead.
- 4Say what the price is based on. Example prices name their dates, and date ranges say they’re when the customer leaves. “From” prices carry their legal footnote, and every price says it’s for 1 adult.