What is Dynamic Packaging?
Dynamic Packaging is Nezasa's B2C booking solution that enables tour operators and airlines to sell pre-packaged holidays combining flights and hotels through a fast, consumer-friendly search experience.
Unlike TripBuilder's component-by-component approach, Dynamic Packaging presents travelers with ready-to-book vacation packages that can be customised with additional services like activities, transfers, and rental cars.
Think of it as your speedy simply packaging website where travellers search for bundled packages rather than building trips from scratch.
How It Works
The Package Cache System
At the heart of Dynamic Packaging is a package cache - a pre-generated database of hotel and flight combinations updated multiple times daily. This cache enables the signature "Search Anywhere" functionality that would be impossible with live API calls alone.
The cache is built by:
Querying hotel suppliers (currently Hotelbeds, with MTS Globe integration in progress) for availability and pricing
Receiving flat files from AER with flight prices and availability for configured origin-destination pairs
Merging this data to create a comprehensive table of packages at net prices
Applying configured markups to generate customer-facing prices
Why cache matters: Users can compare expected package prices across a range of dates, which is infeasible with live API calls. And it allows travellers to search "Toronto to Anywhere" and instantly see all available destinations with starting prices - a search that would take minutes with live API calls.
The Booking Journey
Search Phase - Travellers select their origin, travel dates (or flexible date range), duration, and party size (currently limited to max 2 adults + 2 children)
Destination Selection - Results show available destinations with "from" pricing, presented as cards with imagery
Hotel Selection - Within chosen destination, travellers browse available hotels with map view.
4. Package Details - Calendar view shows pricing across different dates, with extended room and flight details.
5. Itinerary Generation - Upon selecting dates, an itinerary is automatically created in the connected TripBuilder instance
6. Seamless Upgrades - Travellers can add activities, transfers, rental cars, or modify flights/rooms
7. Checkout - Standard TripBuilder checkout embedded via iframe
Connection to TripBuilder
Each Dynamic Packaging instance connects to a dedicated TripBuilder distribution channel. Customers can use existing TripBuilder instances with new distribution channels, or new standalone instances depending on their setup.
Important: The itinerary is created the moment a traveler selects a hotel and reaches the package details page, even before clicking "Personalize Your Holiday." This allows real-time sync between the Dynamic Packaging interface and TripBuilder.
Key Features
Search Capabilities
Anywhere Search - Travellers can search from their origin to any available destination
Flexible Dates - Search across date ranges (e.g., "December or January") rather than fixed dates
Calendar Pricing View - Visual calendar showing package prices across different travel dates
Multiple Duration Options - Configurable stay durations (typically 3-30 nights) - subject to limits.
Customisation Options
Room Upgrades - Change room type or meal plan
Flight Changes - Search alternative flights with live integration, including baggage modifications
Activities - Add Musement activities to any day of the itinerary
Transfers - Add Holiday Taxis airport transfers
Rental Cars - Add car rental (configurable per instance)
White-Label Customisation
Each instance can be customised with:
Custom domain
Hero images, logos, font, and colour schemes
Customised copy (e.g., "Find My Holidays" vs "Ready to Discover")
Featured destinations and trending gateways
USPs (unique selling propositions) section
Footer content and social links
Supply Sources
Hotels
Cache Sources (Current):
Hotelbeds - Public pricing available via API for cache generation
MTS Globe - Integration in progress
Flights
Current Source:
AER (Aerticket) - Flat file delivery multiple times daily with pricing and availability for configured origin-destination pairs
Additional Services
Activities:
Musement - Live API integration
Transfers:
Holiday Taxis - Live API integration
Rental Cars:
Configurable per instance (supplier varies by implementation)
Current Capabilities & Limitations
What Works Today
✅ Hotel + Flight package search and booking
✅ Activities, transfers, and rental car add-ons
✅ Live flight search for modifications
✅ Room upgrade functionality
✅ Multiple currency support (one currency per instance)
✅ Cookie management system integration
✅ Responsive design across devices
Current Limitations
⚠️ Party Size: Maximum 2 adults + 2 children per booking - multi-room not supported
⚠️ Single Currency: Each instance supports one currency (multi-currency on roadmap)
⚠️ Single Language: No language switching available (multi-language on roadmap)
⚠️ Hotel Source: Currently limited to Hotelbeds public pricing (MTS integration in progress for competitive tour operator rates)
Technical Architecture Notes
Infrastructure
Hosted on AWS cloud
Cache regenerated multiple times daily
Separate settings system from TripBuilder
UAT environment for pre-release testing (connected to live supply)
Settings Management
Settings are managed in two levels:
Global Settings - Apply across all instances (destinations, hotel content, user management)
Organization Settings - Instance-specific configurations (durations, markups, feature flags, UI elements)




