Job ticket 614672 · consumer · boarding folder · no subscription
TripIt's trick is parsing your email. The trick works on a paste, too.
This page is a boarding folder. Paste your confirmation emails — flights, hotels, trains, the dinner booking — and a free-tier model assembles the master itinerary: strict chronological order, every code and terminal copied verbatim, every gap stamped UNKNOWN instead of guessed. A second prompt turns any day into a day sheet using your own buffer rules. Nothing here reads your inbox, tracks a flight, or updates live — and it says so.
TripIt is a trademark of TripIt, Inc. (a SAP Concur company). This is an independent, unaffiliated comparison built on TripIt's own Pro signup page, linked below and re-read every thirty days.
Boarding folder — rendered in this browser
Sample data is illustrative, not a claim about TripIt. Every TripIt figure on this page comes from the linked pricing page, read 2026-09-27.
The prompt pack
Two prompts, each mapped one-to-one onto a TripIt feature you are currently rationed on. Run them from this page with a free key, or copy them into any free chat model — the text is identical either way, and it is printed in full at the bottom of this section so it survives this site.
Loading the pack from tools.json… If this fails, the full prompt text is still readable below.
One-time unlocks only, never a subscription. If a price ever appears here it was read from Stripe in that request, not typed by hand. An unlock is client-side gating, not secure payment verification: it is stored in this browser and cannot prove payment to anyone else.
What TripIt's own pricing page says
Read from tripit.com/pro on 2026-09-27. Fields we could not read are marked unconfirmed rather than filled in with a plausible number.
| The job | TripIt (free app) | TripIt Pro (US$49/yr) | This page + a free-tier model |
|---|---|---|---|
| Price | US$0 — pay with inbox access (forwarding or connection) | US$49 / year after the 30-day trial, as printed at signup | US$0 forever. A free-tier key costs nothing; the prompts are yours. |
| Itinerary assembly | Forward each email to plans@tripit.com | Same, plus the live layer on top | Prompt 1 parses pasted text: verbatim codes, strict order, gaps stamped UNKNOWN — no forwarding |
| Day-of logistics | The app's segment view | Gate reminders, 'go now' style alerts | Prompt 2's day sheet: your codes in hand, departure times derived only from YOUR stated buffers |
| Live flight status | No | Yes — genuinely, and this is what US$49 buys | No, and the sheet's fixed final note says so. Check the carrier's board; paper doesn't refresh. |
What this replaces, and what it does not
A displacement claim you cannot substantiate is a lie with good typography. This is the whole scope, including the parts where TripIt wins.
Replaced: the parse
Confirmation emails to master itinerary, as a paste instead of a forward. The copying discipline is the feature: verbatim codes, no invented times, CONFLICT lines when two pastes disagree.
Replaced: the day sheet
Per-day logistics with 'have in hand' items drawn from your own bookings and departure arithmetic shown, not asserted.
Replaced: the trip file
Both documents export as Markdown — printable, shareable with a travel companion, and readable in an airport with no signal.
NOT live
No flight status, no gate changes, no delay alerts, no fare monitoring. That layer needs real-time data feeds and it is the honest core of Pro's US$49 — this page refuses to imitate it statically.
NOT an inbox reader
No forwarding address, no email connection, no OAuth. The paste is the entire input surface, which is also the entire privacy story.
NOT a booking tool
It books nothing, changes nothing, refunds nothing. It files what you already booked.
The prompts, in full, as text
Copy these into any model. They are the product; the page around them is convenience. Each block is the exact system prompt the interactive runner sends, plus the user-message template.
Prompt 01 — 1. Master itinerary · tripit-itinerary-assembly v1.0.0 · best ally: Google Gemini API — Free usage tier · gemini-2.5-flash-lite
Replaces: TripIt's core parse: confirmation emails in, one chronological master itinerary out — here without forwarding a single email to anyone.
Why this model: Itinerary assembly is extraction under a copying discipline — every time, code and address verbatim, every gap stamped UNKNOWN. Long context takes all the confirmations at once; JSON mode plus low temperature keeps the model a clerk instead of a travel writer. Fallback ally: Copy-Paste Relay.
System prompt (1791 chars):
You are an itinerary clerk. You receive pasted booking confirmations (flights, trains, hotels, cars, restaurants, anything dated) and assemble one master itinerary. You are a copier and a sorter, never an inventor.
Return ONLY one JSON object. No markdown fences, no commentary, no preamble.
{
"kicker": string (max 8 words, trip name if inferable from the pastes),
"title": string (max 8 words),
"subhead": string (max 20 words: date span and city chain, only as evidenced),
"steps": [
{ "when": string (date + local time exactly as printed in the source, or "date UNKNOWN" / "time UNKNOWN"), "title": string (max 12 words: the event, with carrier/flight number/property name verbatim), "body": string (max 35 words: confirmation code, terminal/address, seat/room details — all verbatim from the paste; end with "MISSING: ..." naming any field a traveler would want that the paste lacks) }
],
"notes": [ string (max 30 words each) ]
}
Hard rules:
1. Copy, never infer: times, dates, codes, terminals, addresses appear exactly as pasted. If two pastes conflict, keep both in the step body prefixed "CONFLICT:" — never pick silently.
2. Time zones: do not convert anything. If the paste doesn't state a zone, do not add one. Cross-timezone ordering that can't be proven from the pastes gets a note: "order of [X] and [Y] unverified — check zones by hand."
3. Every step ends with its MISSING list when a standard field (time, code, address) is absent. An itinerary that hides its gaps causes missed flights.
4. Include check-in/check-out as separate steps when the confirmation states them.
5. First note is always: "Assembled from pasted text only — verify times against the carrier before travel. Nothing here updates live."
6. Write in the language of the confirmations.
User message template:
Variables:
{{confirmations}}— Paste every confirmation email, one after another (max 12000 chars) sample data shipped with the tool{{context}}— Trip context (max 400 chars) sample data shipped with the tool
Output schema (the answer must match this exactly):
Decoding: temperature 0.15 · max 1800 output tokens · responseMimeType application/json · budget ~3,000 in / ~1,000 out per trip · cost per run: 1 request per trip against Gemini's free daily allowance. A four-trip year is four requests.
Prompt 02 — 2. Day sheet · tripit-day-sheet v1.0.0 · best ally: Groq Cloud — free tier · llama-3.3-70b-versatile
Replaces: The day-of logistics TripIt surfaces per segment — what to have in hand and when to move — minus Pro's live alerts, which this page refuses to fake.
Why this model: A day sheet is a short, bounded extraction over one day of an itinerary plus the traveler's own buffer rules — small, fast, and safe at near-zero temperature, so nothing motivational leaks into a document people follow at 6 a.m. Fallback ally: Copy-Paste Relay.
System prompt (1675 chars):
You produce a one-day travel sheet from a pasted itinerary and the traveler's own buffer rules. You schedule nothing on your own authority: every departure time you print is derived only from times and buffers the traveler stated, and is labeled as their arithmetic, not the airline's.
Return ONLY one JSON object. No markdown fences, no commentary.
{
"kicker": string (max 8 words: the date),
"title": string (max 8 words),
"subhead": string (max 18 words),
"steps": [
{ "when": string (local time as pasted, or a derived time formatted "≈HH:MM (your buffer rule)", or "UNKNOWN"), "title": string (max 10 words), "body": string (max 32 words: what to have in hand — codes, documents, addresses verbatim from the paste; unconfirmed items prefixed "UNCONFIRMED:") }
],
"notes": [ string (max 28 words each) ]
}
Hard rules:
1. Derived times exist ONLY where the traveler gave an explicit rule ("I leave 2h before international flights"). Show the arithmetic source in parentheses. No rule, no derived time — print "UNKNOWN" instead.
2. Never estimate transit durations, security waits, or traffic. Those are live quantities; this sheet is static and says so.
3. 'Have in hand' items must exist in the paste (codes, addresses, ticket references). The sheet may remind about generic documents (passport) only under a single fixed step titled "Pocket check".
4. Anything the itinerary marked MISSING or UNKNOWN carries the UNCONFIRMED prefix here — a day sheet inherits doubts, it does not launder them.
5. Last note is always: "Static sheet — no live flight status. Check the carrier's app or board for gates and delays."
6. Write in the language of the input.
User message template:
Variables:
{{day}}— Which day (max 100 chars) sample data shipped with the tool{{itinerary}}— Itinerary text (max 8000 chars) sample data shipped with the tool{{buffer_rules}}— Your buffer rules, stated plainly (max 400 chars) sample data shipped with the tool
Output schema (the answer must match this exactly):
Decoding: temperature 0.15 · max 1100 output tokens · responseMimeType application/json · budget ~1,800 in / ~600 out per day · cost per run: 1 request per travel day — a rounding error on Groq's published 1,000 requests/day base.
Questions worth asking before you cancel
Does this need an API key?
No — copy either prompt with your confirmations into any free chat model and paste the JSON back; the folder renders locally. A free Gemini or Groq key just removes the hop.
Where does the US$49 figure come from?
From TripIt's own Pro signup page on 2026-09-27, which states you'll be charged US$49 for an annual subscription after the 30-day free trial. TripIt doesn't publish a comparison-style pricing page; everything the form didn't print is marked unconfirmed here.
Can it warn me about a delayed flight?
No, and it will tell you that itself — every day sheet ends with a fixed note saying nothing here is live. If gate-change push alerts are what you want, that is TripIt Pro's real product and paying for it is a coherent choice.
What if my confirmations are in different languages?
Paste them as they are; the clerk copies rather than translates, so codes and times survive any language. Ask for the itinerary in the language you read best via the trip-context field.
Send this to someone still paying for it
Nothing is loaded from X or LinkedIn until you click, and no share is counted, logged or reported back to us — the buttons are plain links to each network's own share page.