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.

Role

Lead Product Designer

Timeline

2025

Team

7 (Design, Product, Engineering)

Platform

Responsive Web · Mobile App

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?

  • arrow_forward Led design across the end-to-end booking journey for both parks across web and mobile
  • arrow_forward Defined the modular "lego" system used to structure all booking flows and templates
  • arrow_forward Assisted in shaping the UX architecture and flow logic across multiple user scenarios
  • arrow_forward Led client presentations and communication, guiding stakeholders through design decisions under tight timelines
  • arrow_forward Oversaw design quality, system consistency, and approvals across the design team
  • arrow_forward 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.

Booking System Architecture Diagram

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.

Breaks down complexity into manageable steps while keeping users informed in real time.

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.

Provides flexibility without overwhelming users, while maintaining clarity in group bookings.

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.

Allows users to validate and adjust their selections without losing progress.

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.

Reduces drop-off while maintaining clarity and control throughout the final stages.

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.

Reassures users and prevents confusion at the most critical moment of the journey.

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.

Gives users a clear sense of direction and progress while reducing cognitive load in a multi-step journey.
Responsive & Bilingual Interaction

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.

Maintains usability and clarity across devices and languages, ensuring a seamless experience for all users.

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.

Helps users understand the impact of their choices instantly, reducing uncertainty and improving decision confidence.

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.