A Trip is the central record in Trips — every proposal, invoice, file, to-do, note and message lives on a Trip. This article walks you field-by-field through what a Trip actually stores, so the Trip page stops feeling like a wall of widgets and starts feeling like something you can reason about.
The Trip record itself
A Trip is a slim record. It deliberately holds only the fields the agent edits directly — financials live on Invoices, per-leg detail lives on Destinations, contact identity lives on the linked Contacts. These are the columns on the Trip row:
Identity + display
Name — what you call the trip. Required, up to 200 characters. Shown everywhere — the index, the hero, the portal. "Smith Family Mexico" beats "SMITH-2027-001".
Description — optional one-liner, up to 500 characters. Shown on the Overview tab.
Trip type — a short label of your choice, up to 60 characters. Type whatever fits — Leisure, Honeymoon, Group cruise, Corporate. There's no fixed list, so use whatever language your agency uses.
Confirmation number — optional, up to 120 characters. The supplier or booking ref the client will quote back at you.
Dates + status
Start date / End date — both optional. Inquiry-stage trips usually leave them blank.
Trip status — a FK to your agency's pipeline (Inquiry, Proposed, Booked, etc.). Customize the list at Settings → Trip statuses.
Internal notes — long-form scratchpad, agent-only. Rendered on Overview when populated. This is not the Notes tab — see below.
Cover photo — optional upload (PNG/JPEG/WebP, up to 10 MB). Falls back to your agency default, then the platform default.
Travelers vs Primary traveler vs Travel team
Three different rosters live on every trip. They're easy to confuse — these are the differences:
Travelers — the contacts going on the trip. Many-to-many: a contact can be on many trips; a trip can have up to 30 travelers. Each row also carries a free-text role label ("guest", "lead", "dependent") if you want to tag who's who.
Primary traveler — exactly one of the travelers is flagged primary. That's the booking lead — the person whose name goes on the invoice, who gets the portal invite by default, who the messages thread defaults to. You set this when you create the trip; you can change it from the edit form.
Travel team (assignees) — the agency staff working the trip. Separate roster from travelers — these are your users, not contacts. One assignee carries the lead agent flag, which drives the default reply-to on outbound email and the client portal's Message button.
Destinations — the itinerary skeleton
A Trip has zero or more Destination rows (up to 20). Each row is one leg — a city, a country code, an arrival date, a departure date, and free-text notes. They're ordered by an explicit order field, which is why drag-to-reorder works on the edit form.
Destinations are intentionally separate from the Trip's top-level start/end dates. A two-city Italy trip might be May 3-7 in Rome then May 7-12 in Florence — the Trip's start_date is May 3, end_date is May 12, and the per-leg detail lives in two Destination rows. The Overview tab's Itinerary card renders the destinations as a numbered list; the dedicated Destinations tab is where you edit them.
What hangs off a Trip
Once a Trip exists, every other piece of work in Trips ties back to it. The tabs across the top of the Trip page are the views into each collection:
Tabs
Overview — the field summary + travelers rail. The landing tab.
Messages — client-facing email threads (and internal team chat) on this trip.
Destinations — the per-leg itinerary editor.
To-do — checklist items, due dates, reminders, assignees.
Notes — the team timeline. Each note is timestamped, attributed to its author, and can be flagged Important.
Resources — Compass guides you've attached to recommend to the client.
Files — encrypted attachments (passports, supplier confirmations, signed waivers).
Form responses — submissions from inquiry/intake forms attached to this trip.
Hung-off collections
Proposals — drafts, alternatives, the accepted one. A trip can have multiple.
Invoices — both Supplier Invoices (track-only) and Direct Invoices (Stripe-charged). Multiple per trip is normal — deposit + final, or one per supplier.
Files — every upload, virus-scanned and encrypted in private storage. See the Trip Files article for details.
To-dos — checklist items with optional reminders. Assignees are polymorphic: a to-do can target an agent OR a traveler.
Audit, archival, and "last activity"
A few housekeeping fields on every Trip drive sort order, archival, and the audit trail:
Created at / Created by — when the trip was saved and which agent saved it. Inquiry-form trips can have a null creator.
Last activity at — updated when the trip is edited, its status flips, or it's archived/restored. This is the default sort field on the index, so trips you're actively touching bubble to the top.
Archived — a reversible "hide it but keep it" state, different from delete. Archive hides the trip from the default trip list without losing anything. Toggle from the trip's action menu; the archived view is one click away from the trip list.
Trips are never truly gone — even a deleted trip is recoverable for a while. The day-to-day "I'm done with this trip" gesture is Archive, not Delete.
Troubleshooting
I changed the trip's start date and my to-do reminders moved. Was that supposed to happen?
Yes. To-dos with trip-relative reminders ("3 days before trip start", "1 day after trip end") automatically recompute when you edit the trip's start_date or end_date. Absolute-date reminders are unaffected. See Trip to-dos and reminders for the full anchor list.
Why can't I save a trip with no travelers?
A trip must have at least one traveler — that's a hard validation rule, not a soft suggestion. The traveler is the booking lead and the anchor for portal access, invoice ownership, and messages. If you're modeling something traveler-less (an internal planning task, a supplier touch-base), use the To-do tab on an existing trip or open a separate to-do entirely.
The trip type dropdown doesn't have the type I need.
Trip type is a free-text field — no fixed list. Type whatever fits — "Group cruise", "Destination wedding", "Corporate incentive". We'll likely turn it into a per-agency picker in a later release once we see what agencies actually use.
My trip is archived but still showing on the dashboard.
Dashboard widgets like Upcoming trips filter on date, not on archive state. An archived trip with a future start date will still appear there. If that's not what you want, unarchive it (so it disappears from the archived list and reappears on the active index) or push out its start date.