Qiddiya Booking Journey
Designing a scalable booking system for Qiddiya's flagship parks, handling multiple ticket types, add-ons, and user scenarios across web and mobile under tight timelines.
Designing a system capable of generating complex booking journeys, not just fixed flows.
Impact
- Enabled ticket sales across two flagship parks with complex offerings and pricing models
- Scaled seamlessly across web and mobile using a shared system architecture
- Delivered end-to-end within a 5-month timeline, supporting launch readiness and integrations
- System reused and extended across multiple park offerings and future experiences
Qiddiya City required a unified booking system across Six Flags and Aquarabia, supporting multiple ticket types, add-ons, and park-specific experiences.
Each park introduced different layers of complexity, from ride-based tickets to bookable experiences and activity-based packages.
The challenge was to design a system capable of generating flexible booking journeys that could adapt to different scenarios while remaining clear and intuitive for users.
Business Goals
- Create a scalable booking system that could support both Six Flags Qiddiya City and Aquarabia across web and mobile
- Enable users to purchase a wide range of ticket types, packages, add-ons, and park-specific experiences
- Reduce friction in the path to purchase while supporting account creation, payment integration, and policy confirmation
- Build a flexible system that could adapt to evolving business rules, park offerings, and future platform needs
- Deliver the experience within a tight 5-month timeline to support launch and downstream payment/security integration
User Goals
- Understand the available ticket types and choose the option that best fits their visit
- Book for individuals, families, or groups without losing clarity over who each ticket is for
- Select visit dates based on pricing and availability
- Customize their purchase with relevant add-ons or experiences where applicable
- Move through checkout with a clear sense of progress, pricing, and what remains before purchase
Design Challenge
How might we design a flexible booking system that supports multiple ticket types, add-ons, and user scenarios without overwhelming users, while delivering across platforms within a tight timeline?
- Led design across the end-to-end booking journey for both parks across web and mobile
- Defined the modular "lego" system used to structure all booking flows and templates
- Assisted in shaping the UX architecture and flow logic across multiple user scenarios
- Led client presentations and communication, guiding stakeholders through design decisions under tight timelines
- Oversaw design quality, system consistency, and approvals across the design team
- Worked closely with engineering to ensure the modular system aligned with backend structures and payment integration requirements
Tight Delivery Timeline
The entire booking system needed to be designed, validated, and handed off within a 5-month window, aligned with park launch deadlines.
Parallel Platform Development
Both Six Flags and Aquarabia booking journeys were developed in parallel, requiring a shared system that could support different offerings.
Evolving Business Rules
Ticket types, add-ons, and experience rules were frequently changing, requiring continuous updates to flows and logic.
Multi-Platform & Bilingual
The experience needed to work seamlessly across web and mobile, in both Arabic (RTL) and English (LTR).
Payment & Security Integration
Designs needed to align with payment integration requirements and security processes, limiting flexibility in certain parts of the flow.
Early exploration showed that designing fixed, linear flows would not scale given the number of ticket types, add-ons, and evolving requirements.
This led us to shift toward a modular system approach, allowing the booking experience to adapt based on user selections and park-specific scenarios.
This approach was built around a set of core system capabilities:
01
Handle multiple ticket types and offerings
Supporting a wide range of ticket categories, bundles, and add-ons without increasing complexity for the user.
02
Adapt flows for different parks and experiences
Allowing booking journeys to adjust based on park-specific logic, from ride access to experience-based reservations.
03
Scale the system as requirements evolved
Designing a modular structure that could accommodate changing business rules, new offerings, and evolving constraints without reworking the core experience.
04
Maintain consistency across platforms
Ensuring a unified experience across web and mobile while adapting interactions to suit each platform's behavior and context.
We designed a modular system capable of generating booking journeys dynamically, replacing fixed flows with flexible, scalable logic.
The booking experience was built using a set of modular "lego" components that could be arranged into different flow structures depending on the user's selection and park context. Each block was designed to function independently while maintaining consistency across different booking scenarios. Each module was designed to function independently while contributing to a larger system, enabling flexible flow configurations without increasing user complexity.
By structuring the system this way, we avoided creating rigid flows and instead built a flexible framework that could evolve with business needs. This shifted the problem from designing flows to designing a system capable of generating journeys.
Modular System Components
These components were designed not as isolated screens, but as reusable building blocks that could be arranged to support different booking scenarios.
Ticket Type
Users select the type of ticket or package, with the ability to explore alternative options.
Who
Users can select and assign up to 9 tickets across categories such as Adults, Children, Seniors, Companions, and People of Determination.
When
A dynamic calendar with pricing indicators allows users to select dates based on availability and peak pricing, with a month-to-week transition for easier selection.
Add-ons & Extras
Additional experiences and services can be assigned to individual tickets, allowing for flexible customization.
Experiences (AQC Only)
Surfaces experience-based packages within the booking flow, allowing users to explore and add them seamlessly alongside tickets while reinforcing that selections are tied to a specific date to set expectations and reduce confusion.
Summary
A real-time breakdown of selected tickets, add-ons, and pricing, including promo codes and upgrade opportunities.
Cross-sell & Upgrades
Introduces contextual upgrade opportunities within the booking flow, enabling users to enhance their selections without disrupting their progress, with updates reflected instantly in their cart. This introduced contextual upsell opportunities at the right moment in the journey, increasing flexibility without interrupting the booking flow.
Login
Integrated into the journey at a later stage to reduce early drop-off while ensuring users complete their purchase within an account.
Payment
Multiple payment options including saved cards, Apple Pay, and financing options, with a clear summary before confirmation.
Each component functions independently while contributing to a larger system, enabling flexible flow configurations without increasing user complexity.
Challenge 01
Designing the Stepper
The challenge was balancing transparency with simplicity.
The booking journey included multiple steps and sub-steps, making it difficult to represent progress without overwhelming users.
A fully expanded stepper would have increased cognitive load, so we focused on progressive visibility, showing users where they are while keeping the interface clean and manageable.
The final approach balanced clarity and simplicity, ensuring users understood progress without feeling overwhelmed.
Challenge 02
Managing Flow Complexity
The challenge was maintaining clarity in a non-linear system.
The system needed to support different booking paths depending on ticket types, add-ons, and park-specific offerings.
Instead of forcing a single rigid flow, we designed flexible pathways that adapted based on user selections. This approach allowed the experience to remain intuitive for users while handling significant system complexity beneath the surface.
Template 01
Ticket Selection
Problem
Users needed to select ticket types, quantities, and dates without confusion across multiple options.
Solution
A guided, step-by-step structure with dynamic pricing updates and clear grouping of ticket categories.
Template 02
Add-ons & Extras
Problem
Users needed to understand available add-ons and assign them correctly across multiple tickets.
Solution
A filtered, structured list of extras with clear availability states and assignment logic per ticket.
Template 03
Cart
Problem
Users needed a clear overview of selections, pricing, and edits before committing to checkout.
Solution
A centralized cart with grouped items, edit functionality, promo codes, and upgrade opportunities.
Template 04
Checkout
Problem
Users needed to complete multiple required steps without feeling overwhelmed or blocked early.
Solution
A structured checkout with progressive steps, delayed login, and a persistent purchase summary.
Template 05
Confirmation
Problem
Users needed clear feedback after payment success or failure.
Solution
Dedicated success and error states with clear messaging, next steps, and recovery options.
Interactions were designed to guide users through a complex system while maintaining clarity, momentum, and confidence at each step.
Stepper & Progress Logic
The stepper was designed to communicate progress across multiple steps and sub-steps without overwhelming users. It highlights the current stage, completed steps, and what remains in a simplified structure.
Responsive & Bilingual Interaction
Interactions were adapted across desktop, mobile, and bilingual layouts, ensuring consistent behavior across touch and pointer inputs, as well as LTR and RTL structures.
Dynamic Pricing & Feedback
Selections such as ticket quantities, dates, and add-ons trigger real-time updates across pricing and summaries. Feedback is immediate and consistent throughout the flow.
These interaction principles ensured the system remained intuitive despite its underlying complexity.
Key decisions were made to balance user clarity, business needs, and system scalability.
Decision 01: Login Mid-Journey
Rather than forcing users to sign in at the start, login was introduced later once users had committed to a purchase.
This reduced early drop-off while ensuring users only created accounts once they had clear purchase intent.
Decision 02: Cart Timer
A 15-minute cart timer was introduced to encourage faster decision-making and reinforce urgency.
This created a sense of demand and protected inventory, while guiding users toward completing their purchase within a defined window.
Decision 03: Modular System
Instead of designing fixed flows, a modular system allowed booking journeys to adapt across parks and evolving requirements.
This ensured scalability across multiple scenarios while maintaining consistency in structure and user experience. This ensured the system could scale across multiple scenarios and future offerings without requiring redesign of the core experience.
Decision 04: Add-ons Logic
Add-ons were tied to individual tickets rather than the entire cart, providing flexibility for group bookings.
This allowed users to customize experiences at a granular level without introducing confusion across shared selections.
Web + Mobile
Consistent booking experience across responsive web and mobile platforms
Scalable System
Flexible architecture supporting multiple ticket types, add-ons, and park-specific logic
Reusable Framework
System adopted across Qiddiya parks and extended for future offerings
The booking system successfully supported launch, scale, and cross-platform adoption.
- Enabled a scalable booking system that supports multiple parks, ticket types, and add-ons within a single framework
- Reduced friction in complex booking scenarios by structuring the experience into clear, manageable steps
- Established a reusable system that minimizes future design and development effort as new offerings are introduced
- Powered the ticketing experience for Six Flags Qiddiya City, supporting high demand and sell-out events during launch
- Stakeholders responded positively to how the system integrated with backend services
01
The success of the project came from shifting focus from flows to systems, allowing complexity to be handled structurally rather than visually.
02
By shifting from linear journeys to modular thinking, we were able to create a booking experience that could scale across parks, adapt to changing business needs, and remain intuitive for users.
03
It also highlighted the importance of balancing speed and quality, delivering a complex system within a tight timeline without compromising on clarity or usability.