Skip To Main Content
All modules

Trips

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.

Triptrip

A journey away from home (cities, dates, companions, members from every module, budget and spend), and with a type its ideas, activities, packing lists, suggestions and conflicts.

trips_findFindthrough vritto_find

Read Trips: a list of trips (compact rows), one trip by id (cities, nights, route, members by module, spend), or type 'money', 'ready', 'atlas', 'home', 'suggestion', 'conflict', 'idea', 'activity', 'packing_list' or 'packing_template'. Use for any travel question; detail 'full' only when complete records are needed.

FieldTypeDescription
typeone of trip, idea, activity, packing_list, packing_template, suggestion, conflict, money, ready, atlas, home, passport, stats, wishWhat to read: 'trip' (default; a list, or one trip with id), 'idea' (trip ideas), 'activity', 'packing_list', 'packing_template', 'suggestion' (Looks Like a Trip), 'conflict' (bookings that cannot both have happened), 'money' (what a trip cost, by category; needs id), 'ready' (what is left to book o
idstringOne trip (or suggestion, conflict) by id.
viewone of upcoming, past, all'upcoming' trips not yet over, 'past' finished ones newest first, 'all' (default).
fromstringEarliest date, inclusive (trips overlapping it count).
tostringLatest date, inclusive.
querystringText to match: a trip name or city.
yearintegeratlas: only this year.
kindone of vacation, home_visit, work, event, move, day_tripatlas and lists: only trips of this kind.
limitintegerRows to return, default 30.
detailone of summary, full'summary' (default) compact rows; 'full' every field including notes, legs and packing items.
Example input
{
  "view": "upcoming"
}
trips_addCreatethrough vritto_create

Add a trip, an idea, a Bucket List wish, an activity, a packing list or a packing template (type, default 'trip'). A wish needs a label. A trip needs a name; an activity needs tripId, title and startAt with the destination's UTC offset. Never a trip from a single booking.

Note: legs is the route in order; a trip is never made from one booking (bookings join trips on their own).

FieldTypeDescription
typeone of trip, idea, activity, packing_list, packing_template, wishRecord type; 'trip' when omitted.
record*objectThe record. Fields not named for the type are ignored.
record.idstringExisting trip ID to update. Omit to create.
record.namestringTrip name, e.g. 'Singapore + KL, October'. Required when creating.
record.statusone of idea, planning, upcoming, active, completed, canceledDefaults to 'planning'.
record.legslist of objectOrdered destinations. A one-city trip is one leg.
record.startDatestringFirst day. Derived from leg dates when omitted.
record.endDatestringLast day. Derived from leg dates when omitted.
record.companionPersonIdslist of stringPeople IDs of travel companions (resolve via the People module).
record.notesstring
record.budgetAmountnumberBudget envelope; null clears it.
record.budgetCurrencystringISO currency; leave out for the account's currency.
record.tagslist of string
record.pinnedbooleanPin the trip to the top of the list, only on explicit user ask.
record.primaryTimezonestringMain destination IANA zone, e.g. 'Asia/Tokyo', the trip's default clock when legs don't decide.
record.tripIdstringactivity, packing_list: the trip it belongs to (from trips_find).
record.kindone of activity, transit, food, noteactivity: 'activity', 'food' or 'note' (rides, rentals, trains, buses and ferries are Transport journeys).
record.transitModeone of train, car_rental, bus, ferry, rideshare, otherOnly meaningful when kind is 'transit'.
record.titlestringactivity: e.g. 'Dinner at Jumbo Seafood'.
record.startAtstringactivity: ISO 8601 with the destination's UTC offset.
record.endAtstringactivity: ISO 8601 with the destination's UTC offset.
record.timezonestringactivity: the IANA zone it happens in.
record.placeKeystringactivity: Places atlas key of the venue; wish: of the landmark. Only when known.
record.addressstring
record.costAmountnumberactivity: the price of this one item.
record.costCurrencystring
record.bookingRefstring
record.urlstring
record.forPersonIdstringpacking_list: People ID when the list is for one traveler.
record.fromTemplateIdstringpacking_list: template to seed a NEW list from.
record.itemslist of objectpacking_list, packing_template: the FULL item array (the server replaces the list).
record.seasonstringidea: a rough season, e.g. 'April' or 'Summer 2027'.
record.kindslist of one oftrip: its kinds, leading kind first.
record.toneone of bring_back, simple, quietHow to Remember This Trip: 'bring_back' resurfaces it (anniversaries), 'simple' keeps it without resurfacing, 'quiet' is for a hard trip (never resurfaced, told plainly). Set only when the person asks.
record.labelstringwish: the place or experience, e.g. 'Iceland', 'Kyoto' or 'See the northern lights'.
record.wishKindone of place, experiencewish: 'place' (default) or 'experience'.
record.placeKindone of city, country, landmarkwish: what the place is.
record.countryCodestringwish: ISO country code, required for a country.
record.notestringwish: why, or what to do there.
Example input
{
  "type": "trip",
  "record": {
    "name": "Japan in November",
    "status": "upcoming",
    "legs": [
      {
        "label": "Tokyo",
        "arrivalDate": "2026-11-03",
        "departureDate": "2026-11-08",
        "timezone": "Asia/Tokyo"
      },
      {
        "label": "Kyoto",
        "arrivalDate": "2026-11-08",
        "departureDate": "2026-11-12",
        "timezone": "Asia/Tokyo"
      }
    ]
  }
}
trips_changeUpdatethrough vritto_update

Change Trips: a record by record.id (sent fields merge; legs and items replace whole), a trip's membership, a suggestion (accept or dismiss), a conflict (keep the side that happened), an open journey (liveHere true or false), or 'assemble' to look for trips again. Resolve ids with trips_find first.

Note: legs and packing items replace whole when sent. Accept a suggestion with type 'suggestion' and decision 'accept'; attach a record with type 'membership'.

FieldTypeDescription
typeone of trip, idea, activity, packing_list, packing_template, membership, suggestion, conflict, home, assemble, wish, layoverWhat to change: 'trip' (default), 'idea', 'activity', 'packing_list', 'packing_template', 'membership' (attach a record to a trip or remove it), 'suggestion' (accept or dismiss a Looks Like a Trip), 'conflict' (say which of two bookings happened), 'home' (answer an open journey by its since: liveHer
idstringThe suggestion, conflict or trip to change.
idslist of stringsuggestion: several at once (Accept All).
recordobjectThe record. Fields not named for the type are ignored.
record.idstringExisting trip ID to update. Omit to create.
record.namestringTrip name, e.g. 'Singapore + KL, October'. Required when creating.
record.statusone of idea, planning, upcoming, active, completed, canceledDefaults to 'planning'.
record.legslist of objectOrdered destinations. A one-city trip is one leg.
record.startDatestringFirst day. Derived from leg dates when omitted.
record.endDatestringLast day. Derived from leg dates when omitted.
record.companionPersonIdslist of stringPeople IDs of travel companions (resolve via the People module).
record.notesstring
record.budgetAmountnumberBudget envelope; null clears it.
record.budgetCurrencystringISO currency; leave out for the account's currency.
record.tagslist of string
record.pinnedbooleanPin the trip to the top of the list, only on explicit user ask.
record.primaryTimezonestringMain destination IANA zone, e.g. 'Asia/Tokyo', the trip's default clock when legs don't decide.
record.tripIdstringactivity, packing_list: the trip it belongs to (from trips_find).
record.kindone of activity, transit, food, noteactivity: 'activity', 'food' or 'note' (rides, rentals, trains, buses and ferries are Transport journeys).
record.transitModeone of train, car_rental, bus, ferry, rideshare, otherOnly meaningful when kind is 'transit'.
record.titlestringactivity: e.g. 'Dinner at Jumbo Seafood'.
record.startAtstringactivity: ISO 8601 with the destination's UTC offset.
record.endAtstringactivity: ISO 8601 with the destination's UTC offset.
record.timezonestringactivity: the IANA zone it happens in.
record.placeKeystringactivity: Places atlas key of the venue; wish: of the landmark. Only when known.
record.addressstring
record.costAmountnumberactivity: the price of this one item.
record.costCurrencystring
record.bookingRefstring
record.urlstring
record.forPersonIdstringpacking_list: People ID when the list is for one traveler.
record.fromTemplateIdstringpacking_list: template to seed a NEW list from.
record.itemslist of objectpacking_list, packing_template: the FULL item array (the server replaces the list).
record.seasonstringidea: a rough season, e.g. 'April' or 'Summer 2027'.
record.kindslist of one oftrip: its kinds, leading kind first.
record.toneone of bring_back, simple, quietHow to Remember This Trip: 'bring_back' resurfaces it (anniversaries), 'simple' keeps it without resurfacing, 'quiet' is for a hard trip (never resurfaced, told plainly). Set only when the person asks.
record.labelstringwish: the place or experience, e.g. 'Iceland', 'Kyoto' or 'See the northern lights'.
record.wishKindone of place, experiencewish: 'place' (default) or 'experience'.
record.placeKindone of city, country, landmarkwish: what the place is.
record.countryCodestringwish: ISO country code, required for a country.
record.notestringwish: why, or what to do there.
decisionone of accept, dismiss, defer, undo, done, not_done, plan, remove, restore, undo_not_donesuggestion: 'accept' or 'dismiss' (Not a Trip); conflict: 'defer' (Not Sure); wish: 'done' (ticked by hand), 'not_done' (take a tick back; with tripId for a trip's tick), 'plan' (turn it into a trip idea); 'undo' reverses the last decision.
keepstringconflict: the key of the side that happened (the other is marked Canceled).
namestringsuggestion: a name to accept it under.
startDatestringsuggestion: a corrected first day.
endDatestringsuggestion: a corrected last day.
kindslist of one ofsuggestion: the kinds to accept it with.
toneone of bring_back, simple, quietHow to Remember This Trip: 'bring_back' resurfaces it (anniversaries), 'simple' keeps it without resurfacing, 'quiet' is for a hard trip (never resurfaced, told plainly). Set only when the person asks.
legslist of objectsuggestion accept: every destination in order, replacing the cities it found.
companionPersonIdslist of stringsuggestion accept: who came (People ids), replacing the ones it found.
excludeMemberslist of objectsuggestion accept: records from its members that were not part of the trip; they stay out.
tripIdstringmembership: the trip; tone: the trip to set.
moduleIdstringmembership: the module the record lives in: flights, stays, transport, dining, places, finance, movies, memories, journal or files.
entityIdstringmembership: the record's id in its module.
attachbooleanmembership: true attaches, false removes.
restoreTripIdstringUndo only: leave out.
restoreSourcestringUndo only: leave out.
sincestringhome: the open journey's first day (its since from trips_find type 'home').
liveHerebooleanhome: true when the person says they live there now, false when they are only visiting.
keystringlayover: the connection's key from trips_find type 'passport' (transit) or the trip's summary.
stopKindone of transit, stopoverlayover: 'transit' when the person stayed in the airport, 'stopover' when they went into the city; leave out to go back to Vritto's own call.
Example input
{
  "type": "trip",
  "record": {
    "id": "trip-abc123",
    "budgetAmount": 2000,
    "budgetCurrency": "USD"
  }
}
trips_removeDeletethrough vritto_delete

Remove one trip, idea, wish, activity, packing list or packing template (type, default 'trip'). Only for explicit removals: a finished trip stays. Removing a trip lets go of the records Vritto attached; records the person attached keep their choice.

FieldTypeDescription
typeone of trip, idea, activity, packing_list, packing_template, wishRecord type; 'trip' when omitted.
idstringThe record's id (from trips_find).
tripIdstringA trip's id (older name for id).
activityIdstringAn activity's id (older name for id).