We are happy to announce our latest TripBuilder release. Please see these release notes for the most significant changes. Let us know if you have any questions, feedback, or ideas for features or improvements!
By email: [email protected]
Via help center: https://help.tripbuilder.app/en/
.SMART PLANNER
Cancellation policy suppression rule respected in Smart Planner
Smart Planner now correctly hides an added product’s cancellation policy (e.g. on a hotel’s timeline card) when the distribution channel has package-level cancellation policies enabled, matching how the classic planner already behaves. Previously, Smart Planner could show a product-level cancellation policy even though package-level policies made it redundant, confusing travelers about which policy actually applies. Channels using a “show always” override are unaffected and continue to display the product policy as expected.
Luggage allowance shown on flight timeline cards
Flight timeline cards in Smart Planner now display the luggage allowance of the selected offer, including the weight (e.g. “23 kg”), matching what travelers saw in the flight offers drawer before adding the flight. Previously the allowance disappeared once a flight was added, forcing agents and travelers to reopen the search to check what baggage was included. Flights with no allowance information render normally, with no empty or placeholder element.
Smart Planner header uses the template’s own images
The Smart Planner header now displays the images configured on the trip’s template instead of a generic Unsplash photo, so the header matches the actual trip content. When a template has more than one image, left/right arrows let the traveler cycle through them. Itineraries created from scratch (without a template) keep the previous Unsplash-based header.
Activity search now covers all available activities
Text search in the Smart Planner activities drawer now runs a full search across all available activities instead of only the ones already loaded in the drawer. Previously, since only a small subset of activities was displayed at a time, a search could miss activities that hadn’t been loaded yet — making it look like they didn’t exist. Selecting, viewing details, and adding activities from search results works exactly as before.
Vehicle luggage capacity shown on ground transfer offers
Ground transfer offers in the selection drawer now show the vehicle’s luggage capacity alongside passenger capacity, wherever a supplier provides that data. This lets travelers and agents compare and choose transfer options based on how much luggage a vehicle actually fits, not just its price. Offers from suppliers that don’t provide luggage capacity continue to display normally, with no empty or broken-looking placeholder.
Selected activity options visible on the timeline card
After configuring an activity in Smart Planner — selecting a category, language, or pickup option — those choices are now shown read-only on the activity’s timeline card, alongside the selected tickets. Previously none of this was visible without reopening the customisation flow, making it easy to overlook a wrong language or pickup choice before booking. Only the option types the activity actually offers are shown, and the card stays in sync when a selection is changed.
Smart Planner respects the total vs per-passenger price display setting
Smart Planner now respects the existing “Show Total Instead of Per PAX Price” distribution channel setting, so the main itinerary price shows per-passenger amounts (with a clear label) on channels configured for that presentation — a common convention in the German market. Previously, Smart Planner always showed the total for all passengers regardless of this setting. Classic planner behaviour, and the setting itself, are unchanged; only Smart Planner now follows it.
.CHECKOUT
Clearer guidance on entering a child’s age at instantiation
For distribution channels that capture a child’s age (instead of date of birth) when an itinerary is created, a clear message now appears next to the age selector explaining that the age must be the child’s age at the time of travel. Previously, nothing indicated this, so a customer could enter the child’s current age and later get blocked at checkout when the date of birth they entered didn’t match — with no way to go back and fix it. This message helps prevent that mismatch from happening in the first place.
.COCKPIT
Fixed pricing per departure date for templates
Cockpit now supports fixed, per-departure-date pricing. Each template can define a base price per departure date, with airport-specific surcharges and cabin-category overrides applied automatically at instantiation and booking time. Budget and pricing rules are enforced end-to-end, so a booking that would exceed the configured budget fails cleanly instead of silently deviating from the agreed price.
Relaxed restrictions for remove flights
We relaxed the restrictions of the Remove Flights feature on Cockpit. Previously flights without PNR could not be selected for removal.
.TRAVEL DOCUMENTATION
Accommodation Vouchers - display all meal amenities
The accommodation vouchers generated by Tripbuilder will now display the full list of meal amenities. This aligns vouchers with the behaviour of the remaining travel documentation.
.APIs
Transports Connect API - contact details on booking request
We added a contact field to the Connect API Transports booking request, separate from the existing billing field. Previously only billing details (company or agency information) were sent, but some suppliers require the actual traveler's contact information to complete a booking.
This brings the Transports Connect API in line with the other Connect APIs, which already had this field, making the integration more consistent. For more information check our Transports Connect API documentation.
Rental Cars Connect API - simplify contact details on booking request
We aligned the Rental Cars Connect API's main contact field, renamed from mainContactPax to contact, with the same lightweight structure already used in the other Connect API. Previously, the field required full traveler details such as age, birth date, and passport information, even though this person is not necessarily traveling.
Suppliers and integrators no longer need to collect unnecessary traveler-specific data for someone who is only a point of contact for the booking, keeping the Connect API family consistent and easier to integrate against. For more information check our Rental Cars Connect API documentation.
Rental Cars Connect API - make cancellation policy rules optional
We made the rules field optional in cancellation policies on the Rental Cars Connect API. Previously the field was required for every cancellation type, which led integration partners to populate it even when it made no sense: rules only matter for the FeeApplies type, where the actual fee amount and rule period needs defining. For the Free type, cancellation is always free, and for NonRefundable, cancellation always costs 100% of the booking, so there's no fee structure left to describe.
Suppliers should now only pass rules when the cancellation type is FeeApplies, and can leave it out for Free and NonRefundable, reducing confusion and incorrect data in cancellation policies. We aim to bring the same approach to the other Connect APIs going forward. For more information check our Rental Cars Connect API documentation.
Activities Connect API - min and max end date parameter on search
We added two optional fields to the timeCriteria of the Activities Connect API search endpoint: maxEndDate and minEndDate. Together with the existing minStartdate and maxStartdate, they let suppliers filter on when an activity is allowed to end, not just when it can start. TripBuilder always sends maxEndDate, set to the last day of the stop, so returned activities fit within the traveler's stop.
Suppliers now have a clear signal for the full window in which an activity can end, preventing offers that start within the stop but run past its actual dates. For more information check our Activities Connect API documentation.
.INTEGRATIONS
Configurable AerTicketHub fare limit
We made the maximum number of fares requested from AerTicketHub configurable per customer instead of using one fixed value for everyone. The default stays at 100, and customers can now request Nezasa to set a higher limit.
Customers with a higher configured limit now see more fare options surfaced in search, giving travelers greater choice and improving conversion. Raising the limit means AerTicketHub returns more fares per search, so search response times may increase accordingly — this setting should be tuned with that trade-off in mind. Please contact our support team if you’d like to change the default settings.
.ANALYTICS
Choose your own time bucket on Booking Report and Booking Performance.
Both dashboards now have a Granularity dropdown (Auto, Daily, Weekly, Monthly, Yearly) so you can pick how trend charts are grouped, independently of the date range you selected. Auto keeps the previous behaviour of adapting to the selected window. The control is already live in the underlying analyses and reaches dashboard viewers on the next publish.
.DYNAMICPACKAGING
“Done” button on multi-selection search parameters
Added a "Done" button to multi-selection search parameters in DynPack. Users can now clearly finalise their selection and close the picker with a single, visible action
Calendar displaying availability according to selected search criteria
The calendar view now shows only departure dates available for the selected search criteria. Previously, it also displayed dates that were only available under different criteria
