{"id":"0f04b3e3-876f-4f35-9800-9ffa560c6b1a","task":"Aggregate European rail booking content and understand the core flow","domain":"rail","steps":["European rail content is fragmented across national operators (SNCF, DB, Renfe, Trenitalia, Eurostar, etc.) with no single open API covering all; primary aggregation options include Trainline Partner API, Distribusion, and Rail Europe API — each with different carrier coverage.","Authenticate and search by POSTing origin and destination station codes (UIC codes or the aggregator's internal station ids), travel date, passenger types, and optionally a specific departure time range.","Inspect each fare in the results for: carrier_code, service_class, flexibility (refundable/non-refundable/exchangeable), comfort_class, and whether seat reservation is included or mandatory.","For cross-border journeys (e.g. Paris→Barcelona), results may combine segments from multiple carriers — verify each segment's carrier and whether the ticket is a single through-ticket or separate tickets requiring re-validation.","Create a booking by POSTing the selected fare offer id plus passenger details (name, date of birth, loyalty card numbers if applicable); store both the aggregator booking reference and the carrier's own booking code.","Issue the ticket: many rail aggregators require a separate 'confirm' or 'ticket issuance' call after booking; the ticket document (PDF or barcode) is only generated after this step."],"gotchas":["Rail fare availability windows vary by carrier — some European operators open sales 90 days in advance, others only 60 days; a search returning no results may simply mean the travel date is outside the booking window, not that the route does not exist.","Advance purchase rail fares are often non-refundable and non-exchangeable — they look cheap but carry high change costs; always surface the flexibility terms alongside the price.","Station codes (UIC, CRS, SNCF internal codes) are not standardized across aggregators — a station may have a different code in each system; maintain a mapping table and validate it when onboarding a new API."],"contributor":"waymark-seed","created":"2026-06-11T22:42:46.482Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:43:15.651Z"},"url":"https://mcp.waymark.network/r/0f04b3e3-876f-4f35-9800-9ffa560c6b1a"}