Build Design Systems With Penpot Components
Penpot's new component system for building scalable design systems, emphasizing designer-developer collaboration.

uxdesign.cc – User Experience Design — Medium | Hardik Pandya
Let me begin by briefing why I started thinking about a comprehensive trip planning approach in the first place.
My wife and I went to Italy last year. A lot happened before that though. I’m a fanatic planner when it comes to something like preparing for a good trip. I wanted to make sure I make the most of the 18–20 days I will be spending there.
When I started collecting information and understanding the geography of the country, I realised that there were 2–3 different tracks I could take. I decided to start with Rome, Milan, Venice, Florence & Pisa, Naples and end it south-east in Bari.
We had a great time. We enjoyed every single place and had a lot of fun. But I had made one mistake — I had wrongly estimated the time I required in Rome, Bari, Florence and Naples. That is 4 out of 6 places we went to. Because of this, I had to cut out 2–3 really interesting things I wanted to do, especially in Rome and Florence.
This happened because while planning, I used to jump between a few apps and websites collecting information, culling it down to what was relevant, compiled it all in Trello/Evernote. But of course this was not easy —
I still wasn’t 100% satisfied at the end of it — felt I didn’t optimise enough.
Here’s what the Trello board looked like
There is simply a lot of information sources. Managing them well isn’t easy and collecting information takes time and makes you set off on concurrent explorations like —
I wanted to tackle this as a design problem. I started thinking about this against a design framework.
And what does a user need to do, to achieve the above?
When you are planning a trip, when is a city or a location ‘confirmed’ on your itinerary? It is confirmed when you book your stay.
Current Airbnb booking flow goes on like this — user wanders off to 3–4 sites and comes back or gets tired and puts the whole thing off
User wants to plan a long family vacation. A typical process for this goes like this —
Airbnb undoubtedly is a great place to check and compare various accommodation options and book, but there’s still constant info-fending required on other sites like TripAdvisor, Google Maps, Foursquare and all to make sure you are close to the action and are choosing the right number of days to stay.
That exercise is cumbersome and tiring. It takes up a lot of mental bandwidth and keeping track of information. There’s no AI involved that can yet make the process simpler by compiling all the useful information at a single place.
This rigmarole typically leads to 2 big negative outcomes —
Could Airbnb combine the whole planning experience into one coherent flow by making all the relevant information available at one single place, so you can use their product — booking a stay, in the most confident and efficient way?
I tried out a few sketchnotes to see what such an experience would look like. How the information would be structured hierarchically into a meaningful trip-planning experience.
Structural wireframe of a trip planning experience
Exploring in more detail lead me to the following set of notes where I dug deeper into detailing out each block and the information it would contain.
Working towards a more complete iteration, I started seeing the fruits of the efforts — this could really become a better and more hassle-free seamless vacation-planning experience.
Plan a whole vacation from a single place — Places of attraction, Points of interest, Experiences (of Airbnb and others), recommended number of days to spend in a city, Weather in that city, Transit options and more, all in one package.
Say you want to visit Morocco (a lovely country I actually want to visit!). When you enter that in the search-field, the ‘Vacation’ option comes as an addendum to the regular city options. Choose the day-range when you want to visit the country: i.e. November 19th to 29th.
In the next step, Airbnb can leverage the data from past bookings and create the optimum itinerary it can for the given number of days. This already takes half the headache away from going around searching places and trying to make the most of the days you have available.
In the mock above, at the top there’s the full trip view. It gives you basic information about the country like —
It also gives you a full-fledged trip view and tells you how many days you should spend in each city/town to make the most of the place.
The trip view can be collapsible. When you go at a city-level exploration, you can be focused on the specific city and tuck the full trip view away.
Below is how that collapsed view looks — again as you see, we can provide information about the city like how many people have booked this city in last 6 months (positive reaffirmation by proof). By assigning tags (i.e. architecture, night life, pubs, culture, arts etc), we can set expectations in people about what to look forward to or what the city is known for.
Then there are the 2 main things to do while researching a city —
See in the image below, how we can show more information about a point of interest and guide the user to the right place to book tickets, opening hours, location and more.
Worth noting in the above mock is this little detail — when user bookmarks a place, we can add it in the itinerary against the particular city/town. This information can then come handy to the user when he/she is actually in Marrakech (as in the example), planning their day around things they should see.
This obviates the need for making notes of things to see against cities since Airbnb app will already have the information sorted and ready when needed on ground.
Below is how a user can browse the core Airbnb product — booking a comfortable stay. When user has booked the stay, the flow advances on to the next city in the itinerary.
Travel plans are always changing, the product should be flexible enough to afford all the changes.
What if the user decides that he/she wants to visit a new city their friends told them about, but it is not a part of the AI-generated itinerary? Fret not, we also have an option to add a spot to the trip.
See how hovering on the trip timeline brings up the + menu where you can add a town to the plan from the list. The list also shows basic metadata around the city like what the typical number of days each of them needs (can be pulled from past bookings data), what the city is known for etc.
User can also add more than 1 spots in a single go. Adding more spots can lead to a cramped itinerary but that’s where the product can be smart and handle the cases by suggesting smart modifications.
So there we go! Airbnb Vacation — a smart vacation planning experience that understands the arduous pain points and provides a smoother and more seamless experience of booking long trips.
Of course this exploration omits a lot of small edge-cases but as long as the core experience provides tangible value to the user, the edge-cases can be handled gracefully.
So that is it, my early iteration into designing a full-fledged trip booking experience. I’m @hvpandya on Twitter. My mail ID is [email protected].
Hardik wrote this story to share knowledge and help nurture the design community. All articles published on uxdesign.cc follow that same philosophy.
Airbnb Vacation — Seamless Trip Planning Done Right was originally published in uxdesign.cc on Medium, where people are continuing the conversation by highlighting and responding to this story.
AI-driven updates, curated by humans and hand-edited for the Prototypr community