{"description":"UNTESTED, needs login: lists the trips booked in the user's bahn.de customer account (date, route, trains, ticket type, booking number). Skeleton only: bahn.de is paused for automated checks, so no endpoint was probed; every path here is a placeholder to replace from a recording.","effect":"read","id":"bahn.de/my-bookings","keywords":["bahn","meine reisen","buchung","ticket","fahrkarte","auftragsnummer","my trips","my bookings","train ticket"],"login_check":{"description":"PLACEHOLDER path; replace with the cheapest logged-in-only call from the recording.","expect":{"login_required_if":{"status":[401,403]},"status":[200]},"id":"login_check","request":{"headers":{"Accept":"application/json"},"method":"GET","url":"/web/api/kundenkonto/kunde"}},"output":{"schema":{"properties":{"trips":{"items":{"type":"object"},"type":"array"}},"required":["trips"],"type":"object"},"value":"{trips: steps.trips.items}"},"params":{"additionalProperties":false,"properties":{},"type":"object"},"provenance":{"method":"manual","notes":"UNTESTED SKELETON. Not probed: bahn.de is paused (Akamai flagged Victor's session after today's automated volume; wait for C2). Paths and fields are placeholders. Record 'Meine Reisen' logged in with tools/har2recipe once C2 clears bahn.de.","recorded_at":"2026-11-07T12:41:00+01:00","recorded_by":"C4"},"requires_login":true,"schema":"https://wield.run/schema/recipe/v1.json","site":{"country":"DE","id":"bahn.de","language":"de","login_url":"https://www.bahn.de/buchung/login","name":"Deutsche Bahn","origin":"https://www.bahn.de","origins":["https://www.bahn.de"]},"steps":[{"description":"PLACEHOLDER path.","expect":{"content_type":"json","login_required_if":{"status":[401,403]},"status":[200]},"extract":{"json":{"items":"(reisen || trips || @)[].{booking_number: auftragsnummer || orderNumber || `null`, departure: abfahrt.zeit || abfahrtsZeitpunkt || `null`, from: abfahrtsOrt || start.name || `null`, to: ankunftsOrt || ziel.name || `null`, trains: verbindungsAbschnitte[].verkehrsmittel.mittelText || `[]`, ticket: angebot.name || tarif || `null`}"}},"id":"trips","request":{"headers":{"Accept":"application/json"},"method":"GET","url":"/web/api/reisen/reisen"}}],"task":"List the user's upcoming Deutsche Bahn trips and tickets","tos":{"notes":"Reads the user's own bookings from their own session, on request. Never books or cancels.","reviewed":false},"verify":{"checks":["output.trips != `null`"],"example_params":{}},"version":1}