Skip To Main Content
All modules

Transport

Fields marked * are required. Updates keep every field they are not given. An AI app can ask vritto_describe for the same details, filtered to what its connection may use.

Journeyjourney

A ride, rental car, train, bus, ferry, ticket purchase or transit-card top-up, with its route, local times and cost. The same operations reach transit cards (type 'card'), period and unlimited passes (type 'pass') and rental and rail loyalty programs (type 'program').

transport_findFindthrough vritto_find

Read Transport: journeys (one by id, or a filtered list by kind, view 'upcoming' or 'history', dates, trip, text), view 'spend' for totals by kind, view 'stats' with a kind for that mode's stats, or type 'card', 'pass' or 'program' for those records. Compact rows unless detail is 'full'.

Note: type 'card', 'pass' or 'program' reads those records; view 'stats' with a kind reads that mode's stats.

FieldTypeDescription
typeone of journey, card, pass, programRecord type: 'journey' (default) a ride, rental, train, bus, ferry, ticket or top-up; 'card' a transit card (Clipper) with its balance; 'pass' a period or unlimited pass (a monthly, a 30-day) with its validity; 'program' a rental or rail loyalty program (Hertz Gold, Amtrak Guest Rewards).
idstringReturn just this journey.
viewone of upcoming, history, spend, stats, all'upcoming' bookings ahead, 'history' past journeys newest first, 'spend' totals, 'stats' one mode's stats (with kind), 'all' (default).
kindone of ride, rental, train, bus, ferry, transit_cardJourneys of this kind; with view 'stats', that mode's stats.
businessbooleanOnly rides marked Business.
fromstringEarliest start date, inclusive.
tostringLatest start date, inclusive.
tripIdstringOnly journeys tagged to this trip.
querystringText to match: provider, place, code.
limitintegerRows to return, default 40.
detailone of summary, full'summary' (default) compact rows; 'full' every field including codes, addresses, fees and notes.
Example input
{
  "view": "spend"
}
transport_addCreatethrough vritto_create

Add one record: a journey (ride, rental car, train, bus, ferry or transit-card top-up; send kind, and providerName whenever one is named), a transit card, a pass or a loyalty program (set type). A journey whose provider trip id or booking code is already on file, or a card or program already on file, is updated instead of duplicated.

Note: Times are local wall times at each place ('YYYY-MM-DDTHH:mm'); a rental's destination is its return location and return-by time. type 'card', 'pass' or 'program' adds those instead.

FieldTypeDescription
typeone of journey, card, pass, programRecord type: 'journey' (default) a ride, rental, train, bus, ferry, ticket or top-up; 'card' a transit card (Clipper) with its balance; 'pass' a period or unlimited pass (a monthly, a 30-day) with its validity; 'program' a rental or rail loyalty program (Hertz Gold, Amtrak Guest Rewards).
record*objectThe record. A journey: kind, the provider, where from and to, local times, and cost. A card, pass or program: providerName and that type's fields.
record.kindone of ride, rental, train, bus, ferry, transit_cardride (Uber, Lyft, Ola, a taxi), rental (rental car or car share), train, bus, ferry, or transit_card (a Clipper or metro card top-up). Required when adding.
record.statusone of booked, active, completed, cancelled'booked' for a future booking, 'completed' for a ride receipt or a finished trip, 'cancelled' when cancelled.
record.providerNamestringWho you booked with and who charged you: 'Uber', 'Budget', 'Amtrak', 'IRCTC', 'Clipper'. Always send it when the email or user names one.
record.providerDomainstringThe provider's own website or email domain, when shown.
record.bookedViastringA platform in between ('Expedia', 'MakeMyTrip'); omit when booked direct.
record.originobjectPickup or departure: where and the local time it starts.
record.destinationobjectDrop-off, arrival, or for a rental the return location and return-by time.
record.startDatestringThe journey's date when no time is known; a local time on origin wins over it.
record.bookedOnstringDate it was booked or paid, when it differs from the journey date.
record.travellerPersonIdslist of stringPeople IDs of others who travelled too.
record.withOwnerbooleanfalse when the booking is for someone else entirely.
record.costAmountnumberTotal charged including fees and tip.
record.costCurrencystringISO currency of the charge ('USD', 'INR').
record.fareAmountnumber
record.feesAmountnumberBooking, service, airport and other fees together.
record.tipAmountnumber
record.costStatusone of paid, estimated'estimated' for a quote not yet charged (most rental confirmations); defaults to 'paid'.
record.confirmationCodestringBooking reference, or the PNR for an Indian train.
record.providerRefstringThe provider's own trip or reservation id when shown (an Uber trip id).
record.freeCancelUntilstringFree-cancellation deadline as ISO WITH offset. Set only when stated or confirmed; it schedules a reminder.
record.tripIdstringTrip this belongs to (resolve via the Trips module). '' clears it.
record.rideobject
record.rentalobject
record.serviceobjectTrain, bus and ferry details.
record.cardobjectTransit card top-up details.
record.paidWithobjectHow it was paid. Vritto fills this from the matched bank charge; set only cardId when the user names a card.
record.sourceone of manual, gmail, outlook, sahaiWhere this came from. Leave unset for a manual entry.
record.notesstring
record.businessbooleantrue for a work ride the person will be reimbursed for (an Uber for Business receipt).
record.reimbursementobjectA Business ride's reimbursement: 'submitted' once claimed, 'reimbursed' once paid back.
record.adjustmentslist of objectCharges after a rental (tolls, refuelling, damage, an extra day), each with its own date. On a change, sent lines are added to the ones on file.
record.checklistlist of objectA rental's Before You Go list (driving licence, the card used to book, insurance). Send the whole list.
record.cardIdstringThe transit card (type 'card') a top-up belongs to; Vritto links it by card name and ending when omitted.
record.passobjectWhen this journey buys a period pass (a monthly pass top-up, a rail season ticket). Never for single-ride tickets.
record.cardNamestringType 'card': 'Clipper', 'Namma Metro Smart Card'.
record.cardEndingstringType 'card': the last digits of the card number.
record.balancenumberType 'card': the balance as last stated.
record.balanceCurrencystring
record.autoReloadobjectType 'card': auto reload.
record.lowBalanceBelownumberType 'card': warn when a stated balance falls below this.
record.commuterBenefitsbooleanType 'card': paid from pre-tax commuter benefits (US).
record.expiresOnstringType 'card': when the card itself expires.
record.namestringType 'pass': a period or unlimited pass ('Caltrain Monthly Pass, Zones 1 to 3', 'Eurail Global Pass').
record.passKindone of rail, transitType 'pass': 'rail' or 'transit'.
record.validFromstringType 'pass': first valid day.
record.validTostringType 'pass': last valid day. A reminder comes three days before.
record.pricenumberType 'pass': what it cost.
record.currencystring
record.programModeone of rental, railType 'program': 'rental' (Hertz, Avis, National) or 'rail' (Amtrak, IRCTC).
record.programNamestringType 'program': 'Gold Plus Rewards', 'Guest Rewards'.
record.memberNumberstringType 'program': the member number as printed (masked digits stay masked).
record.tierstring
record.tierExpiresstring
record.pointsBalanceintegerType 'program': points as a whole number.
record.balanceAsOfstringType 'program': the statement's date (YYYY-MM-DD). Type 'card': when the balance was stated.
record.holderNamestringType 'program': the member's name as printed.
record.holderPersonIdstringType 'program': People ID of the member when not the user.
Example input
{
  "type": "journey",
  "record": {
    "kind": "ride",
    "providerName": "Uber",
    "origin": {
      "name": "Home",
      "local": "2026-10-03T07:40"
    },
    "destination": {
      "name": "SFO Terminal 2"
    },
    "costAmount": 42.18,
    "costCurrency": "USD",
    "ride": {
      "vehicleClass": "UberX"
    }
  }
}
transport_changeUpdatethrough vritto_update

Change one record by id (set type for a card, pass or program); sent fields merge. Cancel a journey with status 'cancelled', tag a trip with tripId or clear it with '', record a PNR status, mark a ride business or reimbursed, add a rental charge. Resolve the id with transport_find first.

Note: type 'card', 'pass' or 'program' changes those; a journey's adjustments are added to the ones on file.

FieldTypeDescription
typeone of journey, card, pass, programRecord type: 'journey' (default) a ride, rental, train, bus, ferry, ticket or top-up; 'card' a transit card (Clipper) with its balance; 'pass' a period or unlimited pass (a monthly, a 30-day) with its validity; 'program' a rental or rail loyalty program (Hertz Gold, Amtrak Guest Rewards).
record*objectThe record's id plus the fields to change.
record.id*stringRecord ID (journey, card, pass or program) from a prior transport_find result, never invented.
record.kindone of ride, rental, train, bus, ferry, transit_cardride (Uber, Lyft, Ola, a taxi), rental (rental car or car share), train, bus, ferry, or transit_card (a Clipper or metro card top-up). Required when adding.
record.statusone of booked, active, completed, cancelled'booked' for a future booking, 'completed' for a ride receipt or a finished trip, 'cancelled' when cancelled.
record.providerNamestringWho you booked with and who charged you: 'Uber', 'Budget', 'Amtrak', 'IRCTC', 'Clipper'. Always send it when the email or user names one.
record.providerDomainstringThe provider's own website or email domain, when shown.
record.bookedViastringA platform in between ('Expedia', 'MakeMyTrip'); omit when booked direct.
record.originobjectPickup or departure: where and the local time it starts.
record.destinationobjectDrop-off, arrival, or for a rental the return location and return-by time.
record.startDatestringThe journey's date when no time is known; a local time on origin wins over it.
record.bookedOnstringDate it was booked or paid, when it differs from the journey date.
record.travellerPersonIdslist of stringPeople IDs of others who travelled too.
record.withOwnerbooleanfalse when the booking is for someone else entirely.
record.costAmountnumberTotal charged including fees and tip.
record.costCurrencystringISO currency of the charge ('USD', 'INR').
record.fareAmountnumber
record.feesAmountnumberBooking, service, airport and other fees together.
record.tipAmountnumber
record.costStatusone of paid, estimated'estimated' for a quote not yet charged (most rental confirmations); defaults to 'paid'.
record.confirmationCodestringBooking reference, or the PNR for an Indian train.
record.providerRefstringThe provider's own trip or reservation id when shown (an Uber trip id).
record.freeCancelUntilstringFree-cancellation deadline as ISO WITH offset. Set only when stated or confirmed; it schedules a reminder.
record.tripIdstringTrip this belongs to (resolve via the Trips module). '' clears it.
record.rideobject
record.rentalobject
record.serviceobjectTrain, bus and ferry details.
record.cardobjectTransit card top-up details.
record.paidWithobjectHow it was paid. Vritto fills this from the matched bank charge; set only cardId when the user names a card.
record.sourceone of manual, gmail, outlook, sahaiWhere this came from. Leave unset for a manual entry.
record.notesstring
record.businessbooleantrue for a work ride the person will be reimbursed for (an Uber for Business receipt).
record.reimbursementobjectA Business ride's reimbursement: 'submitted' once claimed, 'reimbursed' once paid back.
record.adjustmentslist of objectCharges after a rental (tolls, refuelling, damage, an extra day), each with its own date. On a change, sent lines are added to the ones on file.
record.checklistlist of objectA rental's Before You Go list (driving licence, the card used to book, insurance). Send the whole list.
record.cardIdstringThe transit card (type 'card') a top-up belongs to; Vritto links it by card name and ending when omitted.
record.passobjectWhen this journey buys a period pass (a monthly pass top-up, a rail season ticket). Never for single-ride tickets.
record.cardNamestringType 'card': 'Clipper', 'Namma Metro Smart Card'.
record.cardEndingstringType 'card': the last digits of the card number.
record.balancenumberType 'card': the balance as last stated.
record.balanceCurrencystring
record.autoReloadobjectType 'card': auto reload.
record.lowBalanceBelownumberType 'card': warn when a stated balance falls below this.
record.commuterBenefitsbooleanType 'card': paid from pre-tax commuter benefits (US).
record.expiresOnstringType 'card': when the card itself expires.
record.namestringType 'pass': a period or unlimited pass ('Caltrain Monthly Pass, Zones 1 to 3', 'Eurail Global Pass').
record.passKindone of rail, transitType 'pass': 'rail' or 'transit'.
record.validFromstringType 'pass': first valid day.
record.validTostringType 'pass': last valid day. A reminder comes three days before.
record.pricenumberType 'pass': what it cost.
record.currencystring
record.programModeone of rental, railType 'program': 'rental' (Hertz, Avis, National) or 'rail' (Amtrak, IRCTC).
record.programNamestringType 'program': 'Gold Plus Rewards', 'Guest Rewards'.
record.memberNumberstringType 'program': the member number as printed (masked digits stay masked).
record.tierstring
record.tierExpiresstring
record.pointsBalanceintegerType 'program': points as a whole number.
record.balanceAsOfstringType 'program': the statement's date (YYYY-MM-DD). Type 'card': when the balance was stated.
record.holderNamestringType 'program': the member's name as printed.
record.holderPersonIdstringType 'program': People ID of the member when not the user.
Example input
{
  "type": "journey",
  "record": {
    "id": "orders-abc123",
    "status": "cancelled"
  }
}
transport_removeDeletethrough vritto_delete

Delete one record (a journey by default; set type for a card, pass or program). Only for explicit removals; a cancelled booking is a transport_change with status 'cancelled'. Resolve the id first.

Note: type 'card', 'pass' or 'program' removes those instead.

FieldTypeDescription
typeone of journey, card, pass, programRecord type: 'journey' (default) a ride, rental, train, bus, ferry, ticket or top-up; 'card' a transit card (Clipper) with its balance; 'pass' a period or unlimited pass (a monthly, a 30-day) with its validity; 'program' a rental or rail loyalty program (Hertz Gold, Amtrak Guest Rewards).
id*stringRecord ID (journey, card, pass or program) from a prior transport_find result, never invented.