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_findRead 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.
| Field | Type | Description |
|---|---|---|
| type | one of journey, card, pass, program | Record 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 | string | Return just this journey. |
| view | one 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). |
| kind | one of ride, rental, train, bus, ferry, transit_card | Journeys of this kind; with view 'stats', that mode's stats. |
| business | boolean | Only rides marked Business. |
| from | string | Earliest start date, inclusive. |
| to | string | Latest start date, inclusive. |
| tripId | string | Only journeys tagged to this trip. |
| query | string | Text to match: provider, place, code. |
| limit | integer | Rows to return, default 40. |
| detail | one of summary, full | 'summary' (default) compact rows; 'full' every field including codes, addresses, fees and notes. |
Example input
{
"view": "spend"
}transport_addCreatethrough vritto_createAdd 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.
| Field | Type | Description |
|---|---|---|
| type | one of journey, card, pass, program | Record 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* | object | The 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.kind | one of ride, rental, train, bus, ferry, transit_card | ride (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.status | one of booked, active, completed, cancelled | 'booked' for a future booking, 'completed' for a ride receipt or a finished trip, 'cancelled' when cancelled. |
| record.providerName | string | Who you booked with and who charged you: 'Uber', 'Budget', 'Amtrak', 'IRCTC', 'Clipper'. Always send it when the email or user names one. |
| record.providerDomain | string | The provider's own website or email domain, when shown. |
| record.bookedVia | string | A platform in between ('Expedia', 'MakeMyTrip'); omit when booked direct. |
| record.origin | object | Pickup or departure: where and the local time it starts. |
| record.destination | object | Drop-off, arrival, or for a rental the return location and return-by time. |
| record.startDate | string | The journey's date when no time is known; a local time on origin wins over it. |
| record.bookedOn | string | Date it was booked or paid, when it differs from the journey date. |
| record.travellerPersonIds | list of string | People IDs of others who travelled too. |
| record.withOwner | boolean | false when the booking is for someone else entirely. |
| record.costAmount | number | Total charged including fees and tip. |
| record.costCurrency | string | ISO currency of the charge ('USD', 'INR'). |
| record.fareAmount | number | |
| record.feesAmount | number | Booking, service, airport and other fees together. |
| record.tipAmount | number | |
| record.costStatus | one of paid, estimated | 'estimated' for a quote not yet charged (most rental confirmations); defaults to 'paid'. |
| record.confirmationCode | string | Booking reference, or the PNR for an Indian train. |
| record.providerRef | string | The provider's own trip or reservation id when shown (an Uber trip id). |
| record.freeCancelUntil | string | Free-cancellation deadline as ISO WITH offset. Set only when stated or confirmed; it schedules a reminder. |
| record.tripId | string | Trip this belongs to (resolve via the Trips module). '' clears it. |
| record.ride | object | |
| record.rental | object | |
| record.service | object | Train, bus and ferry details. |
| record.card | object | Transit card top-up details. |
| record.paidWith | object | How it was paid. Vritto fills this from the matched bank charge; set only cardId when the user names a card. |
| record.source | one of manual, gmail, outlook, sahai | Where this came from. Leave unset for a manual entry. |
| record.notes | string | |
| record.business | boolean | true for a work ride the person will be reimbursed for (an Uber for Business receipt). |
| record.reimbursement | object | A Business ride's reimbursement: 'submitted' once claimed, 'reimbursed' once paid back. |
| record.adjustments | list of object | Charges 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.checklist | list of object | A rental's Before You Go list (driving licence, the card used to book, insurance). Send the whole list. |
| record.cardId | string | The transit card (type 'card') a top-up belongs to; Vritto links it by card name and ending when omitted. |
| record.pass | object | When this journey buys a period pass (a monthly pass top-up, a rail season ticket). Never for single-ride tickets. |
| record.cardName | string | Type 'card': 'Clipper', 'Namma Metro Smart Card'. |
| record.cardEnding | string | Type 'card': the last digits of the card number. |
| record.balance | number | Type 'card': the balance as last stated. |
| record.balanceCurrency | string | |
| record.autoReload | object | Type 'card': auto reload. |
| record.lowBalanceBelow | number | Type 'card': warn when a stated balance falls below this. |
| record.commuterBenefits | boolean | Type 'card': paid from pre-tax commuter benefits (US). |
| record.expiresOn | string | Type 'card': when the card itself expires. |
| record.name | string | Type 'pass': a period or unlimited pass ('Caltrain Monthly Pass, Zones 1 to 3', 'Eurail Global Pass'). |
| record.passKind | one of rail, transit | Type 'pass': 'rail' or 'transit'. |
| record.validFrom | string | Type 'pass': first valid day. |
| record.validTo | string | Type 'pass': last valid day. A reminder comes three days before. |
| record.price | number | Type 'pass': what it cost. |
| record.currency | string | |
| record.programMode | one of rental, rail | Type 'program': 'rental' (Hertz, Avis, National) or 'rail' (Amtrak, IRCTC). |
| record.programName | string | Type 'program': 'Gold Plus Rewards', 'Guest Rewards'. |
| record.memberNumber | string | Type 'program': the member number as printed (masked digits stay masked). |
| record.tier | string | |
| record.tierExpires | string | |
| record.pointsBalance | integer | Type 'program': points as a whole number. |
| record.balanceAsOf | string | Type 'program': the statement's date (YYYY-MM-DD). Type 'card': when the balance was stated. |
| record.holderName | string | Type 'program': the member's name as printed. |
| record.holderPersonId | string | Type '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_updateChange 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.
| Field | Type | Description |
|---|---|---|
| type | one of journey, card, pass, program | Record 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* | object | The record's id plus the fields to change. |
| record.id* | string | Record ID (journey, card, pass or program) from a prior transport_find result, never invented. |
| record.kind | one of ride, rental, train, bus, ferry, transit_card | ride (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.status | one of booked, active, completed, cancelled | 'booked' for a future booking, 'completed' for a ride receipt or a finished trip, 'cancelled' when cancelled. |
| record.providerName | string | Who you booked with and who charged you: 'Uber', 'Budget', 'Amtrak', 'IRCTC', 'Clipper'. Always send it when the email or user names one. |
| record.providerDomain | string | The provider's own website or email domain, when shown. |
| record.bookedVia | string | A platform in between ('Expedia', 'MakeMyTrip'); omit when booked direct. |
| record.origin | object | Pickup or departure: where and the local time it starts. |
| record.destination | object | Drop-off, arrival, or for a rental the return location and return-by time. |
| record.startDate | string | The journey's date when no time is known; a local time on origin wins over it. |
| record.bookedOn | string | Date it was booked or paid, when it differs from the journey date. |
| record.travellerPersonIds | list of string | People IDs of others who travelled too. |
| record.withOwner | boolean | false when the booking is for someone else entirely. |
| record.costAmount | number | Total charged including fees and tip. |
| record.costCurrency | string | ISO currency of the charge ('USD', 'INR'). |
| record.fareAmount | number | |
| record.feesAmount | number | Booking, service, airport and other fees together. |
| record.tipAmount | number | |
| record.costStatus | one of paid, estimated | 'estimated' for a quote not yet charged (most rental confirmations); defaults to 'paid'. |
| record.confirmationCode | string | Booking reference, or the PNR for an Indian train. |
| record.providerRef | string | The provider's own trip or reservation id when shown (an Uber trip id). |
| record.freeCancelUntil | string | Free-cancellation deadline as ISO WITH offset. Set only when stated or confirmed; it schedules a reminder. |
| record.tripId | string | Trip this belongs to (resolve via the Trips module). '' clears it. |
| record.ride | object | |
| record.rental | object | |
| record.service | object | Train, bus and ferry details. |
| record.card | object | Transit card top-up details. |
| record.paidWith | object | How it was paid. Vritto fills this from the matched bank charge; set only cardId when the user names a card. |
| record.source | one of manual, gmail, outlook, sahai | Where this came from. Leave unset for a manual entry. |
| record.notes | string | |
| record.business | boolean | true for a work ride the person will be reimbursed for (an Uber for Business receipt). |
| record.reimbursement | object | A Business ride's reimbursement: 'submitted' once claimed, 'reimbursed' once paid back. |
| record.adjustments | list of object | Charges 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.checklist | list of object | A rental's Before You Go list (driving licence, the card used to book, insurance). Send the whole list. |
| record.cardId | string | The transit card (type 'card') a top-up belongs to; Vritto links it by card name and ending when omitted. |
| record.pass | object | When this journey buys a period pass (a monthly pass top-up, a rail season ticket). Never for single-ride tickets. |
| record.cardName | string | Type 'card': 'Clipper', 'Namma Metro Smart Card'. |
| record.cardEnding | string | Type 'card': the last digits of the card number. |
| record.balance | number | Type 'card': the balance as last stated. |
| record.balanceCurrency | string | |
| record.autoReload | object | Type 'card': auto reload. |
| record.lowBalanceBelow | number | Type 'card': warn when a stated balance falls below this. |
| record.commuterBenefits | boolean | Type 'card': paid from pre-tax commuter benefits (US). |
| record.expiresOn | string | Type 'card': when the card itself expires. |
| record.name | string | Type 'pass': a period or unlimited pass ('Caltrain Monthly Pass, Zones 1 to 3', 'Eurail Global Pass'). |
| record.passKind | one of rail, transit | Type 'pass': 'rail' or 'transit'. |
| record.validFrom | string | Type 'pass': first valid day. |
| record.validTo | string | Type 'pass': last valid day. A reminder comes three days before. |
| record.price | number | Type 'pass': what it cost. |
| record.currency | string | |
| record.programMode | one of rental, rail | Type 'program': 'rental' (Hertz, Avis, National) or 'rail' (Amtrak, IRCTC). |
| record.programName | string | Type 'program': 'Gold Plus Rewards', 'Guest Rewards'. |
| record.memberNumber | string | Type 'program': the member number as printed (masked digits stay masked). |
| record.tier | string | |
| record.tierExpires | string | |
| record.pointsBalance | integer | Type 'program': points as a whole number. |
| record.balanceAsOf | string | Type 'program': the statement's date (YYYY-MM-DD). Type 'card': when the balance was stated. |
| record.holderName | string | Type 'program': the member's name as printed. |
| record.holderPersonId | string | Type 'program': People ID of the member when not the user. |
Example input
{
"type": "journey",
"record": {
"id": "orders-abc123",
"status": "cancelled"
}
}transport_removeDeletethrough vritto_deleteDelete 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.
| Field | Type | Description |
|---|---|---|
| type | one of journey, card, pass, program | Record 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* | string | Record ID (journey, card, pass or program) from a prior transport_find result, never invented. |