add_activity
ChatGPTAdd an activity to a trip's itinerary. IMPORTANT: unless the user already stated it, FIRST ask what TYPE of activity it is (flight, accomodation, transporation, food, activity, other) and then ask for the details that matter for that type β never silently default to a generic 'activity'. flight β from/to, departure & arrival times, flight_number, pnr, cabin & checked baggage; accomodation β location, check-in/out, breakfast, free cancellation; transporation β mode (in title), from/to, times; food β place, reservation time; activity/other β location, start/end, links. Always also ask for the price (and on shared trips whether to split it). If a price is given, an expense is auto-created and linked.
add_expense
ChatGPTAdd an expense to a trip. split_with_everyone=true splits it among all participants.
add_packing_item
ChatGPTAdd an item to your packing list for a trip, grouped into a category.
add_participant
ChatGPTAdd a user to a trip as a participant. Always call search_users first and confirm the right person with the user before adding (use the user_id from search_users).
add_reminder
ChatGPTAdd a reminder to a trip. shared=true makes it visible to all participants.
add_visa
ChatGPTSave a visa or entry permit the user holds, so entry requirements for that country take it into account. Use it when the user says they obtained or already have a visa; ask for the expiry date when they do not give one.
create_trip
ChatGPTCreate a new trip for the user (they become owner + participant). Ask for title, destination, and dates. Free-plan users are limited to 1 trip.
delete_activities
ChatGPTDelete multiple activities from a trip's itinerary in one call; this also removes any linked expenses. Use this when the user wants to remove several itinerary items at once; call get_activities first to find the activity_ids and confirm with the user before deleting.
delete_activity
ChatGPTDelete an activity from a trip's itinerary (also removes its linked expense). Use get_activities first to find the activity_id. Confirm with the user before deleting.
delete_expense
ChatGPTDelete an expense from a trip (also unlinks it from any activity; works for settle-up payments too). Use get_expenses first to find the expense_id. Confirm with the user before deleting.
delete_packing_items
ChatGPTRemove items from the user's packing list for a trip, or clear the whole list. Pass item_names to remove specific items by name (optionally scoped to a category), or set clear_all=true to empty the entire list. Use this when the user wants to remove packing items; call get_packing_list first and confirm with the user before deleting.
delete_trip
ChatGPTPermanently delete a trip and ALL its activities, expenses, reminders and packing lists. Only the trip owner can do this. Confirm with the user first.
fetch
ChatGPTFetch the full content of a single Fridey item by an id returned from search (formats: trip:<id>, activity:<id>, expense:<id>, reminder:<id>). Returns id, title, text, url and metadata. Standard retrieval tool for ChatGPT deep research.
get_activities
ChatGPTAll activities (itinerary) for a trip, optionally filtered by type.
get_balances
ChatGPTWho owes whom on a trip: net balances + simplified settlements.
get_expenses
ChatGPTAll expenses for a trip with per-currency totals.
get_packing_list
ChatGPTPacking list (luggage) for a trip. scope 'me' (default) or 'all'.
get_reminders
ChatGPTReminders for a trip (yours + shared).
get_travel_time
ChatGPTUse this when the user asks how long it takes (or how far it is) to get from one place to another on a trip, by foot, public transport, car or bike, or which line to take; e.g. 'how long from the hotel to the Colosseum?', 'can I make it from lunch to the museum by 3pm?'. Also use it to PLAN A DAY ('organize tomorrow', 'in which order should I visit these?'): call it between the candidate stops (activity ids or places) and propose an order and times that minimise travel, then offer to add or update the activities. from/to: an activity_id of the trip (its place is used: where it ends for from, where it starts for to) OR a place as name + city or address. If a place matches several options (or none) the tool returns needs_selection / needs_info: ask the user and call again with from_place_id / to_place_id. mode: walk, transit, drive or bicycle; omit it to compare all four. depart_at / arrive_by: LOCAL time at the place, written 'YYYY-MM-DDTHH:MM' with no zone (e.g. '2026-10-02T09:30'); give one of them for real transit times and lines. Returns per mode the minutes, km, departure/arrival and, for transit, the lines (vehicle, line, stops, times). Pro-only: if it answers pro_required, tell the user kindly it is a Fridey Pro feature.
get_trip
ChatGPTFull details for a trip: activities, destinations, dates, participants.
get_visas
ChatGPTReturn the visas and entry permits the user saved in their profile, with country, kind and expiry. Use this before answering whether they need a visa for a country, or whether one they hold is still valid.
list_trips
ChatGPTList the user's trips (filter: upcoming/past/all). Returns id, title, destinations, dates, participant count.
search
ChatGPTSearch the user's Fridey trips, activities, expenses and reminders. Returns a list of results, each with id, title and url. Pass a returned id to the fetch tool to get the full content. Standard retrieval tool for ChatGPT deep research.
search_destinations
ChatGPTSearch popular travel destinations and countries the community has visited. Useful for trip planning/inspiration.
search_users
ChatGPTSearch Fridey users by name, username, email or phone. Returns id, name, email, photo. ALWAYS call this before add_participant and show the user the photo + name to confirm.
set_reminder_done
ChatGPTMark a reminder done or not done.
settle_debt
ChatGPTRecord a settle-up payment (marks a debt paid). Call get_balances first and confirm the amount.
update_activity
ChatGPTEdit an existing activity. Use get_activities to find the activity_id. Only pass the fields to change; if price/currency change, the linked expense is updated too.
update_expense
ChatGPTEdit an existing expense. Use get_expenses to find the expense_id. Only pass the fields to change; amount/currency changes rebuild the converted totals. Cannot edit settle-up payments.
update_trip
ChatGPTEdit a trip's title, destination, dates, currency, budget, or cover image. Only pass the fields to change.