Log a journey
log_journeyLog a new journey (a precise movement between countries) for the authenticated user. Journey routes are ordered legs[], one entry per continuous movement. Airside connections stay one journey with multiple legs; if the traveler left the airport or cleared immigration, split into separate journeys. Domestic/never-left-country journeys are valid but ignored for day counts. Journey output leg times are departureAt/arrivalAt; write inputs use departureDate/arrivalDate. If unfamiliar with TripLedger semantics, call get_tripledger_guide first. legs[] is required and defines the route, timing, transport modes, and country-presence stamps. Dates are ISO 8601 with an explicit offset (e.g. 2026-07-14T09:30:00+01:00); timezones are IANA names (e.g. Europe/London) — both required. Country accepts an ISO alpha-2 code or an English name (e.g. FR or France); the resolved names are echoed back in the result. Supply status: booked for booking confirmations, completed for user-confirmed travel. Ask the user when ambiguous. If omitted, the existing date-based capture default applies (past arrival completed, otherwise booked). Optionally pass costs (an array of { amountMinor, currency, category?, ... }) to log the price in the same entry — each line becomes an expense tied to this record (Pro). Use one line per charge: the main fare/room plus any addon (luggage, seat selection, breakfast) or upgrade lines. If a matching record already exists, this returns a warning naming its ID instead of inserting a duplicate — pass allowDuplicate: true to create it anyway. If unfamiliar with TripLedger semantics, call get_tripledger_guide first.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| legs | No | Ordered route legs. Required. One entry per continuous movement; airside connections are multiple entries. | |
| costs | No | ||
| notes | No | ||
| status | No | ||
| allowDuplicate | No | Set true to create even if a matching record already exists (see the duplicate-guard note above). Defaults to false. | |
| participantIds | No | Traveler IDs for this journey. Omit to use the self person; use list_people. |