
LEX is an international bus carrier: routes between Ukraine and European cities, online ticket sales and a passenger account. At the end of 2022 the client came to us to build a system for searching and booking bus tickets. Our part of the work came before the first line of production code: understand the business, design the system and hand the developers a description they could build from without guessing.
The task
Bus travel only looks simple from the outside: "from, to, when". Inside there are routes with intermediate stops, timetables, prices in several currencies, discounts and promo codes, seats, refunds, partners and dispatchers who need their own workspace. If all of this is not agreed before development starts, the project turns into endless rework. That was the task: think the whole system through and pin down the agreements.
What we did
- Business analysis. Together with the client we went through the sales and booking processes, user roles and passenger scenarios from searching for a trip to the journey itself.
- A standardized technical specification. We described the features so the document could be used to estimate, build and accept the work.
- Architecture and key algorithms. We designed the system structure and specific algorithms that ticket sales rely on.
- Wireframes and the overall UI picture. We put together the passenger screen system: search, trip selection, checkout, personal account.
- A corporate admin area. We designed the workspace for the carrier's team.
- An API prototype in Swagger. We described the programming interface so the frontend and backend spoke the same language from day one.
What this looks like in practice is explained in detail in the video about design using LEX as an example:
How it turned out
Other contractors handled the implementation, so we are not responsible for the details of the finished interface and functionality. But the September 2024 snapshot of the home page clearly shows that the planned logic made it into the product: trip search by "From", "To" and "Date" with quick "Tomorrow" and "Day after tomorrow" buttons, currency and language switchers, a support service, a passenger account and a discount promo code. The bus livery lists the destinations: Prague, Riga, Munich, Frankfurt, Berlin, Kyiv, Lviv, Odesa, Krakow, Warsaw, Vilnius.
Technology
Our deliverable in this project was not code but design documentation: the specification, architecture diagrams, wireframes, the admin area description and an API specification in OpenAPI (Swagger) format. The implementation stack was chosen by the team that built the system afterwards.
Why it helps
Good design is cheaper than any rework. When the client holds the specification, architecture, mockups and API spec, they can give development to any team, compare estimates against one document and accept the work against clear criteria. LEX is exactly that case: we designed it, others built it. We have also handled similar bus transport projects end to end, from design to launch, for example in the Svit BUS and BusTicket cases.
Where to see it
The carrier's site used to be at lexclub.eu, but it does not open now: the domain does not respond. So we cannot show a live version; what remains is the home page snapshot above and the design video.