An online booking flow should help someone choose a suitable service, find a time, provide the details needed to arrange it, and understand whether the appointment is confirmed. Start by deciding what the business can promise: an available slot reserved immediately, or a request that someone must review. Carry that distinction through the calendar, button labels, and final message.
A closer look at the tour search experience — part of a travel booking concept I worked on together with Kostiantyn Petrenko.
The desktop layout combines destination, travel dates, and guest selection with filters for budget, hotel rating, meals, and beach preferences. A map entry point sits alongside the filters, keeping location within reach while browsing.
Tour cards follow a consistent structure, bringing dates, trip duration, amenities, ratings, and prices together for comparison. The focus was on keeping search controls and offer details in one view, with a clear next step from browsing results to exploring an individual tour.
Luma Studio: salon booking app with live availability and a staff dashboard (portfolio piece, fictional business). Real availability from stylist schedules and service length, "first available stylist" booking, reschedule/cancel, plus a staff dashboard with day schedules, revenue and no-shows. React + TypeScript, mobile-first, light/dark mode, 29 automated tests. Live: https://notdeshlan.github.io/luma-studio/