Changelog
Discover the latest features, enhancements, and improvements to your travel planning experience.
Free-Text Activity Times, and No More Invented Clock Times
Activity times are now free text instead of a fixed 6:00 AM–11:30 PM dropdown grid — you can type any time, write "Sunrise," or leave it as "Time TBD." Freeing the time field surfaced six places that had been quietly inventing a clock time whenever one wasn’t readable, the worst of them writing a fake 9 AM appointment into your real calendar; none of them invent a time anymore. Re-dating a trip now handles same-day, mid-trip, and multi-city cases it used to reject outright, and hitting the free plan’s city limit now leaves a persistent, honest notice on your trip instead of a red error that vanished with no record.
Type an Activity’s Time Instead of Picking From a Fixed Grid
Editing when an activity happens used to mean choosing from a dropdown of 30-minute slots running 6:00 AM to 11:30 PM, with no way to enter an earlier time, write something like "Sunrise," or leave it open. You can now type any time, or pick a preset from the same menu — including "Time TBD," "This morning," "This afternoon," "This evening," and an earlier 5:00 AM slot.
Untimed Activities Stopped Getting a Fake Clock Time Invented For Them
Making activity times free text (above) turned up six separate places that had been quietly inventing a time whenever one wasn’t readable — and the worst of them wrote a confident 9:00 AM appointment into your own calendar for an activity you’d left as "Sunrise" or "Time TBD," several stacking on top of each other with no warning. The same pattern let trip pace-trimming keep or cut a real activity based on a fabricated noon slot, sorted untimed activities as if scheduled for midnight instead of placing them at the end of the day, and hardcoded intercity transit to a fixed 8:00 AM instead of reading the real departure time already on file. None of them invent a time anymore — an activity left untimed now stays honestly untimed, and a calendar export renders it as an all-day event instead of a fake appointment.
Re-Dating a Trip Now Works for the Cases That Actually Come Up
Moving a trip’s dates rejected a same-day trip outright, rejected re-dating a trip already underway — the exact moment a delayed flight makes re-dating urgent — and capped every re-date at the same 30-day ceiling used for freshly generating a trip, so a legitimately hand-built 45-day trip could never be re-dated at all. All three are fixed: a trip may keep the length it already has (only growing past 30 days is refused), and re-dating a multi-city trip no longer scrambles which city’s days get trimmed to fit.
Hitting the Free Plan’s City Limit Used to Vanish Without a Trace
Typing three cities into a free-plan trip showed a red error toast that disappeared after about five seconds, and the trip you got afterward carried no record that a third city had ever been asked for. It’s now a plain, persistent notice on the trip itself naming what didn’t make the cut, with a way to sign up or see Pro plans to get it.
Added the Settle-Up Disclaimer /docs Was Missing
The support assistant’s reference material already stated that Travaio doesn’t track who paid for what or settle up between travelers, but that sentence had never actually been added to the /docs page itself — so anyone reading the docs directly never saw the limitation the assistant was already citing as fact.
Multi-City Reaches the Planner, and Automatic Restore Points
Adding a city to a multi-city trip was broken at five points in a row — all fixed, and the reveal now names any city the planner had to drop. Big edits (reordering a day, removing several stops, changing the trip’s length) now take a restore point automatically instead of relying on a manual save nobody made, and fitting a trip around a booking now shows what it moved or dropped. Traveler DNA has one name across every screen, walking-load estimates finally read your mobility answer instead of only children’s ages, and a wave of naming and wording fixes stop the product contradicting itself between screens.
Big Edits Now Take a Restore Point Automatically
Getting back to "how it was before" used to mean manually saving a named version in advance, on the chance you’d want it later — a step almost nobody took. The app now takes that snapshot for you right before a change that touches more than one activity at once: a day rebuilt, the days reordered, several stops removed, or the trip’s length changed, including reordering activities within a single day. Manually saved versions still exist for when you want to label one yourself, and no longer get pushed out of your version-history limit by a run of automatic ones.
A Booking Re-Fit Now Shows You What It Moved or Dropped
Adding a flight or hotel and fitting your itinerary around it can move activities and remove ones that now clash — and the summary meant to show you that had been built and tested but never once appeared on screen. It now shows up after every re-fit, on both the fresh-generation screen and a saved trip, and it’s built by comparing your trip before and after the change rather than trusting a running count that could fall out of sync with what actually happened.
Cities You Added Were Never Reaching the Planner
Adding an extra city to a multi-city trip was broken at five separate points in a row, and each one hid the next. Leaving step one of the quiz could fail outright with no explanation; past that, the dates you set for the added city were dropped before the request was sent, the city list the model actually used ignored the cities you’d added, and a city you marked "must include" reached the model as one the AI was free to skip. All five are fixed, and if the planner still has to drop a city, the trip you’re shown now says which one and why — instead of leaving you to notice a missing city on your own.
Push Notifications Never Worked, for Anyone
Every part of push notifications was built and configured correctly on the server, but the public key your browser needs to subscribe was missing from the app itself, so no subscription could ever be created. Nothing failed visibly — it just quietly never worked. It now does.
A Wheelchair Traveler’s Removed Stops Were Printed Under a Sales Pitch
When an activity is removed because it conflicts with a stated accessibility need, the card explaining that used to render below the "Unlock Pro features" banner at the reveal screen — so the one thing a traveler most needs to see was pushed underneath an upsell. It’s now shown first.
Day 3 of Your Own Trip Said You Had No Trips
Standing in the middle of a saved trip, the dashboard’s trips widget could show "No upcoming trips planned," because it only recognized trips that hadn’t started yet — while the mobile app correctly showed "Day 3 of 5" for the same trip. Both now agree on whether a trip is upcoming, happening now, or finished.
Your Saved Trip Was Missing the Guidance and Safety Notes Written For It
Nationality-tailored entry guidance (visas, entry rules) was generated for every trip but only ever shown once, on the just-generated reveal screen — reopening a saved trip replaced it with generic, untailored boilerplate. A note about a stop removed for an accessibility conflict had the same problem: written, saved, and never rendered anywhere on the saved-trip page. Both now show up wherever you actually read your trip, and the guidance says plainly whether it was written for your nationality or is generic reference material.
An Unverified Venue Wore an "AI Suggested" Badge
The badge meaning "nobody has confirmed this place actually exists" used the same sparkle icon this app uses to flag an AI-recommended highlight, so the one warning meant to make you pause read as a recommendation instead. It’s now a plain sentence stating the venue is unverified.
The Free Plan’s Version-History Slots Were Short By One
Version history counted your currently open trip against your saved-version limit, so a Free account saw two available slots instead of the three it’s entitled to.
Traveler DNA Has One Name, Everywhere
The same concept was called "Traveler DNA," "travel DNA," "Travel DNA," "DNA," and "Profile DNA" depending which of five screens you were on — so completing it once could look like four separate unfinished features. It’s "Traveler DNA" on every screen now, including every toast, button, and export label that names it.
Buttons Now Say What You’d Want, Not What They Do Internally
"New Itinerary" and "Adjust DNA" — both accurate about what happens behind the scenes — are now "Start over" and "Change preferences." The daily allowance is called "plans" consistently instead of "generations" in one place and "plans" in another, and the dashboard no longer lists everything your tier can’t do above your own trips — that comparison is still one click away, via Upgrade.
"Bookings" No Longer Reads Like a Booking Desk
A panel titled "Bookings" that offered to "manage your reservations" contradicted Travaio’s own landing page, which says plainly that it doesn’t book travel. It now describes what it is — what you booked elsewhere, worked into the days around it — and applying a booking now names which ones are waiting and says upfront that it can move or remove activities.
One Name for the Trip Check, and a Promise You Can Trust
The same feature answered to "Refine," "Itinerary Check," and "Check your edits" depending on the screen. It’s "Trip Check" everywhere now. Separately, all three ways to start a trip (quiz, manual, import) save your draft if you switch between them — but only the quiz ever said so, and only partway through. Every start screen now tells you your work is kept if you switch modes, worded for what it actually is: saved for this browser tab, not "on this device."
Walking Load Now Reads Your Mobility Answer, Not Just Children’s Ages
The quiz asks about walking and pace, and the per-day walking estimate ignored the answer — it was judged only against children’s ages, so someone who told the quiz they needed a step-free, unhurried pace got a neutral estimate and no warning at all. It now reads your mobility answer too, and shows the day’s single longest walk next to the total, since one 30-minute stretch changes a day differently than eight short hops that add up to the same distance.
Export Labels Now Name Where the File Goes
On a phone, every export label was hidden, leaving nine unlabeled icons — and because one paid format used a padlock instead of its own icon, four different paid formats all looked identical. Labels are always visible now and describe the destination rather than the format: Markdown becomes "Notes," Budget CSV becomes "Spreadsheet," Share Card becomes "Instagram card."
The Activity Card Stopped Repeating Itself
A single activity card could show four different answers to "is this place open," state the same reservation note three times, and use the word "verified" for three unrelated meanings. Each card now carries one status badge and one reservation note.
Badge Text Now Meets Contrast Requirements
Three of the four status-badge colors failed WCAG AA contrast in light mode. All three are corrected to the same hues at a legible shade.
The Quiz Now Tells the Truth About Where Your Answers Live
The quiz said your answers were "saved on this device," which describes storage that’s actually scoped to the current browser tab — closing the tab loses it. The message now says "in this tab."
Removed a Promise Travaio Doesn’t Keep
The docs and the support assistant’s reference material both said Travaio could split trip costs across a group and track who owes what. It can show what a trip costs per person, but it doesn’t track who paid for what and can’t settle up between travelers — that’s a different product. Both were corrected to say so plainly.
Collaboration Actually Works, and Trips Know Where They Are
Collaboration — Pro’s flagship feature — is fixed end to end: the roster loads, votes land, presence shows, and comments appear live for everyone on the trip instead of only whoever wrote them. The app now knows whether a trip is upcoming, in progress, or finished, opens a trip you’re currently on to today’s day, and lets you rank what’s open near you right now at no cost in generations or swaps. Mobile stopped inventing the weather, the trip checker’s one-click fixes can no longer invent or delete activities, and your dietary and accessibility answers are no longer deleted every time a saved trip loads.
Travaio Knows When You Are On a Trip
The app now distinguishes a trip that is upcoming, in progress, or finished. A trip you are currently on opens on today’s day instead of day one, on both web and mobile.
What’s Open Near Me Now
While you’re on a trip you can rank the rest of today’s plan by distance from where you’re standing, and see nearby alternatives you can swap in or add. It uses no generation allowance and no swap credit.
Trip Checks for Imported and Hand-Built Trips
The trip checker was locked behind "make an edit first", which meant the trips it exists for — imported and hand-built ones — could never reach it. It now unlocks based on where the trip came from, and still never runs itself on a freshly generated AI trip.
See What Your Ratings Taught Us
A card on the dashboard now shows what your thumbs-up and thumbs-down have actually taught Travaio about what to include and what to drop from future trips.
Support Answers Come From the Docs
The support assistant now answers product questions from Travaio’s own published documentation, with a link to the section it used, instead of from the model’s memory. When it finds nothing relevant it says so rather than guessing.
Post-Trip Journal Prompts Now Arrive
The prompt to journal a trip you have just finished was built and never invoked, so nobody had ever received one. It now fires — and no longer asks you to journal a trip you already journalled.
Your Dietary and Accessibility Needs Were Being Deleted
Every time a saved trip was loaded, the app rebuilt your answers from a fixed list of fields and destroyed everything not on it — dietary restrictions, accessibility needs, mobility level, party members, and your stated no-gos and must-haves. The trip checker then reported that no dietary restrictions or accessibility needs had been stated, to someone who had ticked nut-free. Regenerating a single day also skipped the dietary and accessibility checks entirely; it no longer does.
The Mobile App Was Inventing the Weather
Weather on the mobile trip screen was generated from the destination name rather than fetched, and rendered beside a warning triangle as though it were real advice. The app now shows real forecast data or nothing at all. (Forecasts are a Pro feature, so free accounts now see no weather rather than a convincing fake one.)
A Missing Temperature Read as 0°C
An unreported daily high or low was substituted with zero — a freezing day. One missing reading was enough to put "Winter jacket and warm layers recommended" on a summer packing list. Missing readings are now shown as missing, and are kept out of the planning prompt entirely.
The Trip Checker’s One-Click Fix Could Invent and Delete Activities
Applying a suggested fix could write placeholder restaurants that do not exist into your saved trip, and could remove activities you had chosen, with nothing saying so. A fix that removes something now names each activity and asks first; a day that merely looks light is reported without an Apply button.
Collaboration Did Not Work at All
The collaborator list failed to load for every user on every trip, so voting, presence, and the shared-trip experience never appeared; every vote failed; and an emailed invite could render on a page with no trip on it. All of it works now, and comments appear live for everyone on the trip rather than only for whoever wrote them.
You Are Told When a Shared Trip Changes
A collaborator’s committed save now sends a notification, instead of a three-second toast only whoever happened to be looking would ever see. Repeats are collapsed so catching up costs you one notice, not ten.
The AI Could Not Add an Activity to an Empty Day
"Build manually, let AI help" failed on any day with nothing on it — which is every day of a hand-built trip — while the empty day invited exactly that.
Using the Free-Text Description Mid-Quiz Erased Your Answers
Describing your trip in plain English partway through the quiz threw away every answer already given, then returned you to the step you had reached with the earlier steps blank, under a banner saying your details had been pre-filled.
Read Mode Left Destructive Buttons Live
Read is the default view mode, and "New Itinerary" — which replaces every activity in the trip — stayed fully active in it with no confirmation. It now asks first, and says the previous version can be restored.
Search Failures Say What Actually Went Wrong
Adding or swapping an activity replaced the real message — "No activities found for that request. Try more specific or different keywords." — with a generic "please try again", which is the one thing guaranteed not to work.
Adjusting Your Quiz Answers From a Saved Trip
The "Adjust DNA" control existed on the saved-trip page but was never connected, so a saved trip could not get back to the quiz at all.
Inviting Someone Without an Account
The duplicate-collaborator check waved through every invitee who had not signed up yet, because the check it ran could never produce an answer for them.
Three Ways to Start a Trip, One Name Each
Plan with AI, Build it yourself, and Import an itinerary now have one name apiece, appear in the header and on the empty-trips screen, and cross-link to one another. Two of the three previously sat behind an unlabelled arrow, manual mode answered to four different names, and neither alternative was reachable at all from the dashboard.
A Way Out of the Quiz
The guest quiz had no exit control on its first step — the exact step someone is on when they change their mind. Leaving is now possible from every step, and your answers are kept for when you come back.
The Quiz Says How Long It Is
Nine steps were described as "a few quick questions", and the two quiz lengths were labelled without their question counts. Both now state how many questions they ask and roughly how long they take, and the six city shortcuts no longer read as something lesser than the quiz they actually start.
An Example of the Product on a Phone
The landing page’s sample itinerary was desktop-only, leaving phone visitors a headline, a sentence, and a button.
What We Checked, and What We Could Not
Activity cards now show the dietary, book-ahead, and step-free checks Travaio already performs — in four distinct states, so "we checked and it’s fine" never renders the same as "there was nothing to check". Previously none of them were shown at all, while a guessed dinner price was hedged.
Safety Notes No Longer Get Crowded Out
A note about an activity removed for accessibility reasons shared a slot limit with ordinary preference chatter and could be truncated away under a heading calling it a preference we couldn’t match. Safety notes now have their own place, listed first.
Paid Tiers Had Weaker Accessibility Handling Than Guests
The accessibility and elderly-traveler pacing signals were written only by the guest quiz form, so signed-in and Pro travelers lost the gentler cadence and reduced day density. They are now derived from your stated needs whichever quiz you filled in.
Swapping and Adding Now Respect Accessibility
Swap and add read only free-text must-haves and never the structured accessibility and mobility answers the quiz collects, so a wheelchair user got replacements chosen with no accessibility input at all — on the one screen where they were actively fixing a problem.
An Unverified Restriction Is Reported as Unverified
Nut-free, gluten-free, and dairy-free cannot be confirmed from venue listings. Your trip now says so plainly, instead of staying silent in a way that read identically to having checked and found nothing wrong.
Security Hardening, Trip Archiving, and a Continuous Trip View
A major reliability and security release: two-factor authentication now actually gates sign-in instead of racing a redirect, entitlements are enforced in the database as well as in the app, and nine ways a paid capability could be reached directly are closed. Saved trips render as one continuous, printable document with archiving, a "Today" badge, and a support assistant that answers from your real trip data and admits when it can’t check something. Dozens of fixes correct trip dates, billing portal access for Pro customers, collaborator save conflicts, and a bug that silently ignored Free and Pro travelers’ stated budget and party size.
Read the Whole Trip at Once
A saved trip now renders as one scrollable document instead of one day at a time, so you can see the shape of the trip, search across it with your browser, and print it. Day-by-day is still one tap away and is remembered per trip.
Archive Trips Instead of Deleting Them
My Trips now has an Active/Archived toggle, with archive and unarchive on every trip. Archived trips no longer count against your saved-trip limit, so archiving genuinely makes room the way the docs always promised.
Know Which Day Is Today
Days now carry a "Today" badge and a relative label ("In 3 days", "2 days ago"), with a "Jump to today" button when today falls inside the trip.
A Support Assistant That Cites Its Sources
The in-app support panel can now answer using your real account facts and a deterministic check of your trip, propose an action you confirm yourself, and hand you to a person when it cannot answer. It never claims to have done something it did not do, and "we couldn’t check that" is shown as its own answer rather than as an all-clear.
Recovery Codes for Two-Factor Sign-In
Setting up two-factor authentication now issues ten single-use recovery codes, so losing your authenticator is no longer a permanent lockout. Signing in with a recovery code gets you back into your account; it does not itself count as a completed second factor.
Read Mode for Itineraries
Itineraries now open in a read mode that removes every editing control, with a one-click switch to edit. Reading a trip on a phone no longer means reading around a row of buttons.
The Map on Mobile Shows the Whole Day
The trip map on a phone is now a persistent map behind a draggable sheet listing the day’s stops, instead of a full-screen overlay that opened one pin at a time.
Printable Itineraries
Printing a trip now produces a clean document — no floating buttons, no marketing footer, and activities no longer split across page breaks.
Trip Health at a Glance
The trip checker’s status now appears beside your trip’s destination from any tab rather than only inside More → Refine, and a finding with no mechanical fix can be handed to the AI to fix.
The Pricing Page Is Reachable
It existed and could only be opened by typing its URL. It is now linked from the site footer.
Blank Answers No Longer Produce an Empty Trip
Leaving dietary needs — or several other quiz fields — unselected could make generation return an itinerary with no days at all, reported as a success. Every field is now handled properly at the request boundary, and a generation that produces nothing is reported as a failure.
A Partly-Failed City No Longer Loses the Days It Made
When one city could not fill every day, it discarded every day it had already produced. It now keeps them and re-requests only what is missing.
A Failed Generation No Longer Costs You a Generation
A timeout or model failure used to spend one of your daily generations having delivered nothing. The allowance is now spent only when a trip is actually produced.
Signed-In Users Could Not Open Their Own Account Pages
Dashboard, Account, Settings and Profile redirected to the sign-in page for genuinely signed-in users, while the header still showed them signed in.
Two-Factor Authentication Now Gates Sign-In
A password alone could complete sign-in on an account with a verified authenticator app.
A Failed Load No Longer Reads as an Empty Account
The dashboard, the account Trips tab, the discovery feed, the collaboration panel, the support panel and the shared-trip page each rendered a failed request as "you have none" — "No trips yet", "No destinations found", "No support tickets yet". Every one now says the load failed and offers a retry.
Unsaved Work No Longer Reports Itself as Saved
Regenerating one leg of a trip was never written to the database while the app said "Saved"; a rejected save could also end on a "Saved" indicator; and a failed regeneration left the new trip on screen under a "Regeneration failed" toast. All three now tell you the truth and undo what was not kept.
US and Western Travelers Saw Trip Dates a Day Early
Trip dates on the dashboard and in the exported PDF rendered one day early at any negative UTC offset — including the weekday printed on each PDF day header.
Opening Hours Were Checked Against the Wrong Day
Every activity’s opening hours were validated against day one’s weekday, so a venue open on the day you were actually visiting could be reported closed — and the new time you set was silently discarded.
Trip Reminders Now Fire
Trip reminder pushes queried a trip date field that is empty on every trip, so no reminder had ever been sent to anyone. They also no longer claim an hour of day the trip never specified.
Push Notifications Reached No One
Support replies and collaboration responses wrote an in-app notification but never delivered the device push meant to accompany it.
Billing Portal, Cancel and Resume Fixed for Pro Customers
Six billing screens read subscription data with a client that could not see it, so a paying customer could not open the billing portal and cancel/resume refused their own subscription.
Deleting Your Account Told You It Had Failed
Account deletion completed in full and then returned "Account deletion failed. Please contact support." The confirmation email and the success record were never written. Deletion now reports what actually happened, removes the sign-in record itself rather than leaving it behind, and cancels a Pro subscription with Stripe — which it never did, so billing continued indefinitely.
Four Country Guides Returned an Error
The Singapore, United Kingdom, United States and Australia travel guides returned a server error instead of the guide.
Restoring an Earlier Version Silently Did Nothing
Revert in version history closed its dialog and changed nothing when refused — which was every time for a collaborator, since only the owner can restore. It now says why.
Guests Could Only Ever Hold One Trip
Every guest trip overwrote the one before it, so a guest with three daily generations kept exactly one. Signing up could also save the same trip twice, spending two of a free account’s three slots on a single trip.
Placeholder Activities Showed an Invented Name
A filler stop matched to a real venue kept its made-up name and address while showing that real venue’s photos, hours and map pin. It now takes the name of the place it actually resolved to.
Mobile: Generated Trips Were Discarded
On the mobile app a finished trip was never saved and you were routed to a list it had never been in — after minutes of generation. Regenerating a trip had also never worked once, and long trips that arrive in pieces were thrown away at 100%.
Collaborator Edits Are No Longer Silently Overwritten
Changing trip dates, editing an activity’s cost, syncing an edit made offline, and saving from the mobile app could each overwrite what another collaborator had saved, with no conflict raised and nothing in the UI. Edits between two people are also now ordered consistently instead of by each machine’s own clock.
Your Own Save No Longer Reads as a Collaborator’s
Saving a shared trip toasted "Trip updated by a collaborator" at the person who made the change, and a change that lost a conflict disappeared with no explanation.
Notifications Go Somewhere, and Stay Read
Collaboration accepted/declined notices were clickable and led nowhere, a trip notification landed on the dashboard rather than the trip, and marking notifications read could fail silently so they came back unread.
The Logo No Longer Destroys a Generation
Clicking the logo mid-generation aborted it and reset to the landing page with no confirmation, toast or undo.
Back From a Trip Returns Where You Came From
Back went to the marketing landing page, discarding your dashboard search, sort and page.
The Trip Checker Said You Had Stated No Exclusions
Your typed exclusions ("no museums") were saved somewhere the checker never read, so it told you none had been stated — and counted the check as passed.
Closing the Tab During the Undo Window
Every destructive edit waits five seconds before saving; closing the tab in that window discarded the change with no warning at all.
A Disabled Share Link Has Somewhere to Go
Opening a share link the owner had turned off produced a page with no action of any kind.
The Dashboard Now Looks Like the Rest of Travaio
Trip cards, widgets, empty states and typography were rebuilt on the app’s own design language, and the widget row now gives Upcoming Trips the space it deserves.
The Dashboard Navigation Was Invisible in Light Mode
Its bar used a style rule that does not exist, so on the light and beach themes it rendered white on white — one tap of the theme toggle erased the dashboard’s navigation and its search.
Overlays No Longer Open Underneath the Header
The mobile activity overlay — whose only exit sat behind the header — plus the dashboard search, the skip link and the onboarding tour all rendered below the site header.
Banners Stopped Covering the Trip
The partial-generation banner permanently occluded the top of the day list, the cookie banner covered the quiz’s Continue button, and shared-trip day headings pinned themselves out of sight behind the header.
Everything Is Tappable
Dozens of controls below the 44px minimum were raised — including the dashboard widget actions, which never appeared at all on a touch device.
Contrast and Keyboard Access
Three theme colours failing the AA contrast floor were corrected, including the one used for every keyboard focus state, and profile-picture upload, notification rows and trip cards became keyboard-reachable.
The Date Reads as a Date
The day header stacked the day number, weekday, timing and date as four identical small pills. The date is now the largest thing on the header, and activity descriptions are set at a readable prose size.
The Report a Bug Pill Left the Marketing Pages
It floated over the landing page and over every public template and travel guide.
Template Days Show Their Shape Honestly
Template days are now grouped into morning / midday / afternoon / evening where the text supports it, and left as a plain ordered list where it does not — rather than inventing clock times nobody promised.
Landing Page and Empty States Sound Like Travaio
Stock brochure copy and generic empty-state filler were replaced with claims about how the product actually works, and the landing search placeholder now settles instead of cycling forever under your cursor.
Free and Pro Trips Were Ignoring Your Budget and Party
Budget, travelers, children’s ages and occasion were read from a place the app never writes for signed-in users, so every Free and Pro generation ran on "mid-range" and "solo". A family of four with a toddler on a luxury budget received a solo mid-range itinerary with adult pacing.
Interests Are Judged by What a Place Is, Not by English Words
Interest coverage matched activity names against an English keyword list, so a Lisbon trip full of pastelarias and tabernas was told nothing in the plan matched Food. It now reads real place categories, with keywords only as a fallback. Two of the twelve interests had no keywords at all and were reported uncovered on every trip.
An Uncovered Interest Is Reported, Not Papered Over
When an interest you love had no match, the plan invented a placeholder activity at a made-up address. It now tells you plainly which interest it could not cover — and that note is now visible to guests, who could never reach it before.
Dietary and Accessibility Needs Are Checked, Not Just Requested
Your structured dietary, accessibility and mobility answers are now verified against the finished trip. Accessibility can remove an activity on real evidence and — just as importantly — keeps a step-free venue that a keyword would have deleted. Dietary needs are only ever flagged, never guessed at, and a restriction nothing can verify is reported as unchecked rather than counted clean.
Safety Ticks on the Cuisine Step Now Count
Ticking Halal, Vegan or Allergy-Safe on the cuisine step reached the plan as text with nothing verifying it, while the identical answer on the dietary step was checked.
One Failed Check No Longer Voids the Rest
A single failing enforcement pass skipped every later one, kept the activity removals it had already made, and dropped the explanations for them.
Pro Gets What Pro Is Promised
Insider tips, local secrets and photogenic ratings are declared mandatory Pro output and were never verified. They are now checked, and a shortfall is reported rather than invented.
One Blank Answer, One Trip
Four parts of the app each invented their own default for a blank pace or party size, so the itinerary, the packing list and the on-screen summary could describe three different travelers.
Paid Capabilities Are Enforced in the Database
Tier entitlements are now enforced at the database layer as well as in the app, closing nine ways a paid capability or a durable counter could be reached directly — including collaboration, the flagship Pro feature.
Rate Limits That Silently Collapsed
Several limits declared per hour or per day were being enforced per minute, including collaboration invitations (which send email) and account deletion. Each now runs on its own correct window.
Costly Actions Gained Real Daily Ceilings
Regenerating a day runs the full generation pipeline but was metered as a cheap swap; day regeneration, link import and support conversations now carry durable daily ceilings. Pro’s advertised unlimited swaps and adds are genuinely unlimited again — they had been capped at 60 a day despite the promise.
Client-Supplied Values No Longer Decide Paid Limits
Saving a trip and regenerating a packing list each took a flag from the request that decided whether a paid limit applied.
Raw IP Addresses No Longer Leave the App
Rate-limiting keys now store a salted hash rather than the visitor’s address. As a result, every guest’s daily generation counter reset once on this release.
View-Only Collaborators Cannot Trigger Paid Work
Booking recommendations checked only that you were on the trip, not that you had edit access.
A Scheduled Endpoint That Ran Without Its Secret
The trip-reminder endpoint skipped authentication entirely when its secret was unset, instead of refusing to run.
Consent Changes Are Now Recorded
The consent history the app had always written to had nowhere to go, so no consent change had ever been stored.
Your Data Export Contains What It Claims
The GDPR export named bookings, collaborations and analytics in its compliance record while including none of them, and omitted journal entries, comments, collections, notification preferences and DNA backups outright. What the record claims is now derived from what the download actually contains.
Free Trials Are Once Per Account
Trial length was already fixed, but nothing stopped subscribe-cancel-repeat from granting a new trial each time.
Reliable Undo and Guest Trip Safety
A reliability-focused release: every trip edit now undoes itself cleanly if it fails to save, natural-language edits can be undone one at a time instead of just the most recent, and guest trips migrate correctly at sign-up even across devices.
Consistent Undo on Save Failure
When any trip edit fails to save — reordering, deleting, swapping, locking, changing a time, editing a booking, and more — the app now undoes the change and tells you plainly it was not saved, instead of an inconsistent mix of behaviors across different actions.
Multi-Step Undo for AI Edits
Natural-language edits can now be undone one instruction at a time. Previously, accepting a new edit made the one before it impossible to undo.
Edit Conflict Protection
Applying a suggested fix from Refine no longer silently overwrites an AI edit you just accepted for the same day — the app now detects the conflict and explains it instead.
Guest Trip Migration Reliability
Trips you started as a guest now migrate reliably when you sign up, including when you confirm your email on a different device than the one you planned on.
Quiz Resume No Longer Deletes Answers
Resuming the quiz where you left off now actually restores your answers instead of clearing them.
Share Link History Preserved on Rotate
Regenerating a share link now keeps its view count and access history instead of resetting them.
In-Place Collaboration Upgrade Prompt
Hitting the Pro wall while trying to collaborate now opens an upgrade dialog in place instead of navigating you away from your itinerary.
Date-Change Button Race Fix
View-only collaborators no longer briefly see a clickable change-dates button that would silently fail.
Cost Panel Crash Fix
Fixed a bug where certain trips would crash the budget tracker and cost breakdown panels.
Guest Generation Limits
Guest daily generation limits are now enforced consistently.
Natural-Language Editing and Manual Trip Building
Pro users can now edit a trip with a plain-English instruction and review the diff before accepting it. Everyone gets a manual day-by-day trip builder, a paste-and-import option for itineraries you already have, and free-text trip entry — previously guest-only — now works for signed-in users too. Plus share-link privacy hardening, country travel guides, and Singapore Dollar pricing.
Natural-Language Itinerary Editing
Type a plain-English instruction like "make day 3 more relaxed" and review one reviewable diff per affected day before accepting it. Lives under the itinerary’s Refine tab (renamed from Check).
Itinerary Check Findings Are Now Actionable
Refine’s quality check (pacing, opening hours, budget, duplicates, night safety) now lets you apply or undo each finding individually, and results stay visible when you switch tabs and come back.
Manual Trip Builder
Build a trip day-by-day by hand instead of generating one with AI. Never invents times or fills in days you have not touched yourself.
Paste & Import Itineraries
Paste an itinerary you already have — from a chat, a blog, a bullet list — and Travaio turns it into an editable draft you review before saving. Anything unclear is flagged inline, never silently dropped or invented.
Free-Text Trip Entry for Everyone
Describing your trip in plain English instead of using the quiz is now available to signed-in users too, shown as an equally prominent option next to the quiz.
Unlimited Swaps and Adds on Free Tier
Free-tier swap and add edits are no longer capped per trip.
Country Travel Guides
Added 42 destination guides covering visas, currency, tipping, plugs and voltage, etiquette, and transit passes, cross-linked from matching itinerary templates.
Share and Invite Link Privacy
Share and invite links no longer leak their access token to analytics when opened, and session recordings of shared pages no longer capture itinerary content. New share links now expire after 30 days by default.
Regenerate a Share Link
You can now regenerate a share link’s token from the share dialog, invalidating the old URL while keeping its settings, with a view counter showing how many times it has been opened.
Redesigned Trip Map
The map now reads as a transit guide instead of a generic map clone, with tappable day markers, solid route lines, and a redesigned legend.
Singapore Dollar Pricing
Pro pricing now displays and charges in SGD for Singapore-based users, resolved automatically at checkout.
Consistent Pro Pricing Everywhere Shown
Fixed a billing-flow bug where two screens could show two different annual prices for Pro. Pricing is now computed from one source everywhere it appears.
Stability and Accessibility Sweep
A wide fix pass: bookings for every transport type now save correctly, two-factor authentication setup works reliably, currency detection is fixed for several cities, and dialogs, forms, and controls across the app are now properly labeled for screen readers.
Booking Creation Fixed for All Types
You can now create Flight, Train, Bus, Car, Ship, Bike, Wellness, and Business bookings — Create Booking previously only worked for Accommodation.
Two-Factor Authentication Setup Fixed
TOTP setup now works reliably: codes submit against the right enrollment, and you can return to your QR code if you navigate away mid-setup.
Add/Swap Activity Search Fixed
Add and Swap Activity now reliably shows results instead of occasionally wiping out search results you had already found.
Currency Detection Fixes
Jerusalem, Busan, Fukuoka, cities in Ukraine, and Perugia now show the correct local currency instead of an incorrect one from a matching bug.
Time and Flight Input Fixes
Time pickers and flight-arrival fields no longer show garbled placeholder text on malformed input.
More Accurate Verification Labels
Your itinerary is no longer marked "verified, no problems" when opening-hours verification could not actually reach Google Places, and venues with hard-to-parse hours are no longer wrongly flagged as closed.
Screen Reader Improvements App-Wide
Dialog descriptions, form fields, dropdown selectors, progress indicators, and carousels are now properly labeled and announced for screen readers across the app.
Session Refresh Leak After Sign-Out
Fixed a background timer that kept trying to refresh your session every 30 minutes after you signed out.
Smarter, More Honest AI Planning
Itineraries now account for cumulative fatigue across days, verify claims about reservations and dietary options against real venue data, and use live currency exchange rates. Regenerating a single day preserves what you already locked in, and activity cards now show why a suggestion was picked for you.
Verified Trip Claims
Claims about reservations, timed entry, or dietary options are now checked against real venue data; anything that cannot be verified is flagged as such instead of stated as fact.
Smarter Trip Pacing Across Days
Planning now accounts for cumulative fatigue: overloaded days get lightened, with a guaranteed easier day after a long-travel or red-eye day.
Must-Haves and No-Gos Now Enforced
Stated exclusions are now actively excluded rather than treated as a soft hint, and must-haves carry more weight in generation.
Live Currency Exchange Rates
Budget estimates now use live exchange rates instead of a fixed table, and a stale rate is surfaced to you rather than hidden.
Destination Know-Before-You-Go Info
Trips now include local etiquette, common scams, transit-pass cost guidance, and useful phrases, covering 42 countries.
Crowd-Aware Visit Timing
Suggests better visit windows for major attractions based on real hours, venue type, day of week, and holidays, worded as an estimate rather than a guarantee.
Group Trip Planning
Trips for a mixed group now use the strictest dietary, accessibility, and mobility needs across the group, with optional split-and-regroup days.
Smarter Day Replanning
Regenerating a single day now preserves your reservations, locked or completed items, and transit, and tells you exactly what it kept.
Visible Personalization Reasons
Activity cards now show a short tag explaining why a suggestion was picked for you.
Thumbs-Down Feedback Now Works
Categories you thumb down repeatedly are now genuinely suppressed from future trips, and remain reversible.
Dietary, Accessibility, and Trip Collections
You can now specify dietary, accessibility, and mobility needs and have them actually honored in generation. Organize saved trips into collections, manage collaborators from one panel, lock individual days or activities before regenerating a trip, and give thumbs feedback that shapes future itineraries. Plus several account-security fixes.
Dietary, Accessibility & Mobility Preferences
You can now specify dietary restrictions, accessibility needs, and mobility level, and generation actually honors them — including combined requirements like Kosher plus another dietary tag.
Trip Collections
Organize your saved trips into named collections from the dashboard, and filter or add trips to one or more collections.
Collaboration Management Panel
Pro users can now manage a trip’s collaborator roster, permissions, and live presence from one panel on the dashboard.
Lock Days and Activities, Regenerate One Day at a Time
Lock individual days or activities to keep them as-is, and regenerate a single day instead of only a whole trip or leg.
Thumbs Feedback Shapes Future Trips
Thumbs-up and thumbs-down on activities now influence future generations without overriding your explicit interests or hard constraints.
Redesigned Interest Selection
The interest picker is now tap-to-love, tap-to-exclude, or star-for-must-have, with untouched interests treated as neutral rather than avoided.
Working Trip Search Filters
Trip search now has filters for rating, cost, and category that actually narrow results and combine with text search.
Rate-Limit Bypass Closed
Closed a header-spoofing bypass that let requests dodge rate limits on metered endpoints, including AI generation.
Account Privilege Escalation Closed
Closed a bug that let a signed-in user grant themselves Pro access without paying, and a separate bug that let a user grant themselves edit access to another user’s trip.
Automatic Subscription Reconciliation
A daily job now re-checks your subscription against Stripe and self-heals if a billing event was ever missed.
Trust and Honesty Pass
Cost and operating-hours claims are now labeled as verified only when actually confirmed, your trip summary shows how many places were verified, and you can leave a reason when swapping an activity so the replacement avoids the same trait. Plus a closed $0 Pro-trial exploit and a fixed saved-trips list.
Saved Trips List Fixed
Fixed a database policy bug that could make your saved-trips list silently render empty.
Share-Link Enumeration Closed
Closed a bug that let anyone enumerate and open every active shared-trip link.
Honest Cost and Operating-Hours Labels
Costs and operating hours are now labeled as verified only when actually confirmed against real place data, and shown as an estimate otherwise.
Verified-Places Count
Your trip summary now shows how many places in the itinerary were verified against real place data, out of the total.
Explain Why You’re Swapping
Swapping an activity now lets you add a quick reason, so the replacement avoids the same trait.
Day-Specific Blocked Times
You can now block time on specific days only, instead of every day.
$0 Pro-Trial Exploit Closed
Closed a bug that let anyone request up to two years of free trial instead of the intended seven days.
Hardened Against Prompt Injection
Trip preference fields are now sanitized before reaching the AI, including from guest sessions.
Surface Unmatched Pro Preferences
When a Pro scenario preference cannot be fully honored on a given day, you now see a plain-language note explaining why.
Trip Comments, Language-Aware Planning
Collaborators can now leave comments directly on itinerary activities, activity selection factors in your stated language proficiency, every itinerary item gets a one-tap navigation link, and swap and add edits can be undone. Plus a more capable bug report form.
Trip Comments
Collaborators can now leave comments directly on itinerary activities.
Language-Aware Activities & Navigation
Activity selection now factors in your stated language proficiency, and each itinerary item gets a one-tap navigation link to Google Maps directions.
Undo/Redo for Itinerary Edits
Swap, add, and remove actions on your itinerary can now be undone and redone.
Inline Cost Editing
You can now edit an activity’s cost directly from the itinerary.
Template-Driven Trips Honor Their Theme
Trips started from a template now actually build around that template’s theme during generation.
Structured Bug Reports
Bug reports now support severity, reproduction steps, multiple screenshots, and auto-attached device info.
Quick Bug Report
A lightweight one-field bug report option was added to the in-app support panel, alongside the full feedback form.
Account Preferences Now Save
Notification, marketing, timezone, and language preferences now persist instead of resetting on reload.
Honest Push Notification Status
The app now honestly reports when push notifications and reminders are not actually supported, instead of implying they work.
Audit Fixes, Guest Bug Reports, Spatial Scroll
A full audit pass: header nav items are now icon-only with tooltips, charts and maps use brand teal instead of hardcoded hexes, guests can attach screenshots to bug reports, bug-only submissions work via the deep-link, and the landing page gets hero text reveals, step entrance animations, and bento image parallax for a more spatial scroll experience.
Icon-Only Header Nav
Pricing, Feedback, and What’s New are now icon-only buttons with hover tooltips, freeing space around the logo. Mobile dropdown menu still shows full text labels.
Spatial Scroll Animations
The landing page gains a clip-path hero text reveal, per-step entrance animations for the How It Works timeline, bento image parallax, and heading parallax on the closing CTA. All CSS scroll-driven, all reduced-motion aware.
Guest Bug Screenshots
Guests can now attach screenshots to bug reports. The upload API accepts a client-generated guest ID with IP-based rate limiting, and the screenshot is stored with a 24-hour signed URL.
Bug-Only Submission
When arriving via the Report a Bug button, the feedback form now accepts just the Bugs section without requiring sections 1 and 2 to be filled.
Bug Screenshot Path Storage
The screenshot file path was collected in the form but never written to the database. Added the bug_screenshot_path column to the feedback table and wired it through the schema and service.
Brand-Aligned Chart and Map Colors
BudgetTracker, CostBreakdownPanel, MapPanel, and MultiCityRouteMap now use brand teal and CSS variables instead of hardcoded hexes. Profile DNA export uses a brand teal-to-coral gradient instead of the generic AI-purple.
Result View Redirect Fix
Moved the Result-to-Landing redirect from a render-time side effect into a useEffect, fixing a React anti-pattern that could cause infinite re-render loops.
Error Page Shows Error ID
The error page now displays the error digest so users can reference it when reporting bugs.
Pricing Page Clarity
The pricing page now clarifies Guest (no account needed) vs Free (sign up free) with subtitles under each card title.
Help FAQ Correction
Corrected the quiz description in the Help FAQ from an incorrect 8-step reference to the actual 6-question profile with a 13-question Pro advanced profile.
GenerationView Syntax Fix
Fixed a stray prefix on the first line of GenerationView.tsx that broke TypeScript compilation.
Spatial Landing and Bug Report FAB
The landing page now moves with you: scroll-driven parallax depth on the hero, a progress bar that fills as you read, and a timeline rail that draws itself as you scroll. A floating Report a Bug button is now visible on every page.
Scroll Progress Bar
A thin teal line at the top of the landing fills as you scroll, giving a sense of how much content remains. Uses CSS scroll-driven animations that bind to the nested scroll container automatically.
Hero Parallax Depth
The hero background image now moves at a slower rate than the foreground text, creating spatial separation. The text also drifts upward slightly as the hero exits the viewport.
Timeline Progress Rail
The How It Works vertical line now fills from top to bottom as you scroll through the steps, replacing the static gradient with a scroll-driven teal-to-accent progress indicator.
CTA Background Parallax
The closing call-to-action band gradient drifts slightly as you scroll past, adding a final layer of spatial motion to the page.
Floating Bug Report Button
A glass pill with a bug icon is now fixed to the bottom-right corner on every page, linking to the feedback form. Hidden on the feedback page itself to avoid redundancy.
AI-Agent Interoperability and Landing Polish
An agentic-era release: AI agents like Claude Desktop can connect to Travaio via MCP, a trip brief parser pre-fills the quiz from natural language, and the landing page gets honest copy fixes plus a smoother onboarding experience.
MCP Server for AI Agents
Pro users can connect AI agents like Claude Desktop to Travaio via the Model Context Protocol at travaio.co/api/mcp. List itineraries, get trip details, and export trips for AI-assisted planning.
MCP API Keys
Pro users can generate long-lived, revocable API keys for MCP authentication from Account > Subscription. Keys never expire until revoked, replacing the session-JWT approach that expired hourly.
MCP Management UI
The Subscription tab now includes an AI Agent Access panel with the endpoint URL, API key management (create, copy, revoke), ready-to-paste Claude Desktop config, and the list of available tools. Non-Pro users see an upgrade prompt.
User Documentation
A new /docs page covers everything from your first itinerary to multi-city planning, collaboration, exports, and AI agent setup. No technical or backend details are exposed.
SEO & LLM Discovery
Added a dynamic Open Graph image, llms.txt for AI model discovery, WebApplication structured data, hreflang signals, and keyword metadata. Sitemap dates are now fixed instead of always showing today.
Trip Brief Parser
Paste a natural-language trip description and the AI extracts your destination, dates, travel style, and budget to pre-fill the quiz. The quiz stays editable — the parser just gives you a head start.
Itinerary Import API
A validation endpoint accepts structured itinerary JSON, checks the schema, and returns the reconstructed itinerary for saving to your account.
Onboarding Tour Scroll Lock
The welcome tour dialog now locks page scroll on both the window and the nested scroll container, so it stays centered instead of drifting when you scroll.
Honest Landing Copy
The hero itinerary preview now says "Sample itinerary" instead of "AI-personalized for you" on hardcoded demo data.
Hero Element Discipline
The free-plans-remaining counter moved from the hero into the trust strip below, keeping the hero to four clean elements.
Off-Screen Animation Pause
The hero itinerary preview pauses its auto-rotation when scrolled out of view, reducing unnecessary background work.
MCP Server Hardening
The MCP endpoint is now rate-limited, gated to Pro accounts, and strips internal error details from tool responses to prevent information disclosure.
Weather-Aware Planning, Onboarding, and Trip Insights
A planning intelligence and onboarding release: packing lists now factor in live weather forecasts, first-time users get a guided tour, and the itinerary essentials tab surfaces trip statistics and expense splitting.
Weather-Aware Packing Lists
Packing list generation now fetches live weather forecasts for your destination and passes them to the AI, so the list adapts to rain, cold, or heat instead of being generic.
Guided Onboarding Tour
First-time visitors see a three-step overlay introducing the quiz, AI planning, and reshaping tools. It shows once and is dismissible.
Trip Statistics Card
The essentials tab now shows a summary card with total activities, days planned, and estimated cost, plus a per-traveler breakdown when splitting.
Expense Splitting in Budget Tracker
The budget tracker now lets you set the number of travelers and toggle between total and per-person cost views, with a smooth animated toggle.
Weather API Caching
Open-Meteo forecasts are now cached for 30 minutes, preventing excessive API calls when multiple users plan trips to the same destination.
No More Duplicate Status History
The in-app scheduler no longer writes duplicate rows to the status history table. Only the Cloud Scheduler records history, eliminating redundant entries.
Spatial UI Depth
The landing page now features ambient orbs, 3D tilt on feature cards, spotlight hover effects, and a luminous CTA band for a more premium, dimensional feel.
Dead Code Removal
Removed 15+ unused loading skeleton exports and consolidated the popular destinations catalog to use the shared module, reducing bundle size.
Transport Planner Polish & Feedback Reliability
A focused stability and polish release: more dependable feedback submissions, a smoother transport comparison experience, and behind-the-scenes privacy improvements.
Feedback No Longer Lost on Failure
Bug reports and feedback submissions now show a clear error with a retry option when something goes wrong, instead of a misleading success message that silently lost your report.
Instant Transport Alternative Selection
Choosing a transport alternative now applies immediately without an extra loading step, and the "Fastest" badge now correctly marks the quickest option.
Dark Mode & Accessibility for Transport Cards
Improved contrast for the highlighted fastest option in dark mode, plus keyboard navigation and clearer labels across transport alternatives.
Clearer Empty & Error States
Transport alternatives now show a helpful empty state when nothing is available and a retry button when results fail to load.
Stability & Privacy Improvements
Various behind-the-scenes improvements for app stability and privacy.
Destination-Aware Costs & Adaptive Daily Time Budgeting
Major intelligence update introducing dynamic local currency cost calibration, active daily time budgeting, and guaranteed venue diversity across multi-day trips.
Destination-Aware Currency & Cost Engine
Activity and dining cost estimates now dynamically adapt to local currencies and purchasing power worldwide (e.g., Japanese Yen in Osaka, Euros in Paris, British Pounds in London).
Duration-Based Active Time Budgeting
Itineraries now build around total active hours per day (4-5h for Relaxed, 6-7h for Balanced, 8-9h for Fast-Paced) rather than rigid, artificial item counts.
Unique Local Venue Diversity
Enhanced venue recommendation logic guarantees distinct dining and activity spots across multi-day trips, excluding duplicate venue chains across days.
Dynamic Activity Duration Estimations
Activity cards automatically estimate visit durations and inter-stop travel times based on place type and scheduled start times.
Enhanced Dark Mode Contrast
Improved visual contrast for action buttons (Swap, Delete, Info, Preferences) to ensure high visibility across all color themes.
Unified Drag & Drop Controls
Streamlined activity card interaction so clicking anywhere opens place details while drag handles manage reordering smoothly without sensor conflicts.
Multi-Currency Budget Tracking Fix
Resolved a currency conversion issue in the Budget Tracker where non-USD currencies could cause inflated expense alerts.
Itinerary Timeline Consistency
Fixed day numbering display and timeline alignment across multi-city and single-city travel legs.
Traveler DNA Matching & Custom Sleep Rhythms
Introduced deep travel personality matching for pace, social style, food preferences, and custom night owl / early riser sleep rhythms.
Traveler DNA Personalization Profile
Integrated deep travel personality matching for pace, social style, food preferences, and interest tags.
Custom Wind-Down & Night Owl Rhythms
Added support for custom daily start and end times based on individual sleep rhythms and arrival/departure flight schedules.
Interactive Budget Expense Categories
Visual daily expense categories showing estimated dining, admission, and local transit costs.
Accessibility & Screen Reader Enhancements
Added comprehensive ARIA labels and keyboard navigation support across all modal dialogs.
Mobile Touch Reordering Lock Fix
Fixed touch scroll lock when dragging activity items on mobile web browsers.
Multi-City Route Sequencer & Weather Intelligence
Added support for multi-city travel planning, dynamic weather-based activity recommendations, and glassmorphic UI polish.
Multi-City Route Sequencer
Support for multi-destination trips with intelligent arrival/departure day scheduling.
Weather & Seasonal Adaptation
Dynamic indoor/outdoor activity recommendations based on seasonal weather patterns.
Glassmorphic Visual Refresh
Redesigned UI cards with subtle micro-animations and cohesive dark and light mode palettes.
Enriched Place Details Modal
Added rich place information including operating hours, address, and curated insider tips.
Subscription Tiers & Custom Exclusion Filters
Introduced Guest, Free, and Pro membership tiers alongside custom dietary and activity exclusion preferences.
Membership Subscription Tiers
Introduced tier-specific itinerary features, unlimited saves, and trip export capabilities.
Custom No-Go Exclusion Filters
Allow travelers to specify absolute exclusions such as specific food groups, crowded spaces, or intense walking.
Initial Product Release
Launched Travaio - your intelligent AI travel planning platform for instant day-by-day itineraries.
Instant Day-by-Day Itineraries
AI-powered travel planning with smart routing, place details, and interactive map views.
© 2026 Travaio - AI Travel Planning Platform