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/
.DISCOVERY
Cleaner header for magic-link agent sessions
Travel agents accessing New Hotel Flow via a magic link previously saw a user avatar and account menu in the header, as if logged in with a personal account. Since magic-link sessions are not real user logins, the header now hides the avatar/account menu for these sessions, avoiding confusion about login state. Regular logged-in users see no change.
Full cancellation schedule on hotel room selection
The New Discovery hotel detail page now shows the complete cancellation schedule for each room option. The free-cancellation deadline appears directly in the option label (“Free cancellation until <date>”), and each fee tier is listed underneath (e.g. “X EUR until 16 Sep 2026”, “EUR 760.08 after 16 Sep 2026”), in the policy’s own currency, formatted in the user’s language.
.PLANNER
Consistent travel times for own arrangements
We fixed a discrepancy where a transfer set as “own arrangement” showed one travel time in the Planner and a different estimated time in the route builder (“edit route”). Both views now present consistent travel time and distance information, so agents no longer see conflicting durations for the same leg of the trip.
Meal-type filter carried into hotel details
On the accommodation board, filtering by meal type (e.g. “Breakfast”) narrows the hotel list — but opening a hotel’s details page previously showed all rooms again, including ones without the selected meal type. The board’s selection is now forwarded to the details page, which pre-filters the room list to matching rates immediately, with no extra loading. Without an active filter, the details page behaves as before.
.SMART PLANNER
Hotel selection fixed for German (informal) channels
On some channels using the German informal locale, selecting a recommended hotel in Smart Planner produced an error toast and the hotel was never added — blocking the booking flow entirely. The cause was a locale-handling issue when passing “de-informal” to the accommodation supplier API. Hotels sourced via the Connect API can now be added as expected on these channels.
Smarter automatic flight selection
When Smart Planner re-searches flights (e.g. after adding a stop), it previously auto-picked the cheapest option for each leg regardless of duration or stops. It now applies a smarter rule: if a direct flight under 4 hours exists, it picks the cheapest direct option; otherwise it picks the fastest connecting option. This balances price against travel comfort instead of optimizing on price alone.
.CHECKOUT
Dedicated setting for Frequent Flyer number collection
Frequent Flyer number fields in Checkout were previously tied to the Loyalty Programs setting, so one could not be configured without the other. Cockpit’s Checkout settings now offer a dedicated “Frequent Flyer” control next to “Loyalty Programs”, so each can be configured independently. Checkouts with flights show exactly the fields you configured.
.COCKPIT
Clearer audit trail when a booking change discard is completed with booked components
When a customer care user discards a booking change, some components may already have booked successfully with the supplier before the discard happens (warning already appears in the UI if this happens). Cockpit's booking audit now records this clearly as "Force Discard Booking" and we've also added information directly on the itinerary notes tab - listing any components that were booked with the supplier but weren't cancelled during the discard - so customer care users can immediately see which bookings still need manual attention.
Booking changes no longer affect untouched components' supplier references
We fixed an issue where a booking change could cause components that weren't part of the change to lose their supplier reference and revert to an open, unbooked status — even though the supplier booking was still active. Components not included in a booking change now keep their existing supplier reference and booked status.
Feature flag to enable the new Agent Center
There is now a feature flag for the new Agent Center. When enabled, the “Customer Itineraries” header link redirects agents to the new Agent Center experience instead of the legacy page; when disabled, behavior is unchanged. This gives a controlled, per-channel way to roll out the Agent Center. Talk to your customer operations manager to get this enabled.
.TRAVEL DOCUMENTATION
Travel docs now show included luggage weight for flights
Travel documents now display the included luggage weight allowance for booked flights (e.g. "1x Hold (23 kg)"), matching what's already shown in the planner. Where weight information isn't available, travel docs continue to show the piece count only.
Activity vouchers now show the correct meal information
We fixed an issue where tour and activity vouchers always displayed "No Meals," even when the tour included meals. Vouchers now reflect the actual meal plan for the activity, the same way hotel vouchers already do.
In-app travel documents view for booked itineraries
Clicking a booked itinerary in the New Discovery agent center previously jumped agents out to the legacy travel documents page with the old header and layout. New Discovery now includes its own read-only travel documents view, reached via breadcrumb navigation: booking reference, traveler details, pricing, and the day-by-day summary with hotels, flights, and transports — all without leaving the app. Document downloads (PDF/DOCX) remain available.
.APIs
Booking API - Payment transactions can move from in progress back to open
We now allow a payment transaction status to be set back to Open via the Booking API PATCH endpoint when it's currently In Progress. Previously this transition was rejected with a validation error, which limited flexibility when handling asynchronous, aborted, or retried payment flows. This follows on from the earlier change that enabled setting a transaction to In Progress via PATCH. With this release, the reverse transition is also supported, so integrations can correct a transaction status without needing a workaround.
Booking API now returns category name for upsell items
We now populate the categoryName attribute in Booking API responses for upsell items, matching the field already available for other item types. This lets integrations distinguish between variants of the same upsell item - for example different meal options on a dining upsell - without parsing free text. Previously, categoryName was only returned for select item types; upsell items returned no category information at all, making it impossible for downstream systems to tell variants apart.
Booking API: Mozio transfer vouchers now open correctly
We fixed an issue where Mozio transfer vouchers were served as empty files in both the Booking API and Customer Care. Vouchers now link directly to Mozio's own voucher page, the same approach already used for Holiday Taxis, so customers and agents can open a working voucher immediately.
Booking API: Mozio transfers show hotel names instead of area names
We fixed an issue where a transfer to or from a hotel showed the surrounding area name (e.g. "Ubud") instead of the hotel name (e.g. "Ubud Tropical - Sayang Residence 2") in the Booking API, Customer Care, and travel documents. Transfers now display the actual hotel name, consistent with how Holiday Taxis transfers are already shown.
Rental Cars Connect API - Passenger Data Expansion
We expanded passenger data in the Rental Cars Connect API in three ways. Bookings can now include contact details for every passenger instead of just the main contact. Passenger data also carries a driver flag — exactly one passenger per booking — so suppliers know who's behind the wheel and can apply age restrictions, licence checks, and driver-specific pricing correctly.
Additionally, in order to request the correct information on the checkout, suppliers can now specify the required passenger and contact data in the search and availability check endpoints, using the two new fields: requiredPassengerData and requiredContactData. Find out more about the Rental Cars Connect API in our documentation.
.DYNAMICPACKAGING
Improved UX on Smart Planner transition
The cache-to-live transition searches for and adds live hotel and flight offers to a newly created itinerary — a step that can occasionally take 15-20 seconds.
Previously, users could click "Personalise your holiday" immediately and view the loading screen for a prolonged time. Now, the button becomes active after a few seconds. This nudges the user to review their package details while we populate the itinerary in the background, resulting in a much shorter wait afterwards, if at all.
Cache-to-live offer persistence
Fixed an issue where, in a specific configuration, the cache-to-live handoff didn't persist some hotel offer attributes. This increased cases where the live offer differed from the cached one (typically a different board type).
