Skip to main content

September 2nd, 2026 | TripBuilder Release Notes v380

Written by Product Management

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!

.DISCOVERY

New Discovery now shows the partner’s logo in the header

The New Discovery header always showed the company name as text, even when a distribution channel had a logo configured. The header now renders the configured logo instead, falling back to text when no logo is set.

NTP-68905

.DYNAMICPACKAGING

Homepage loading performance

We’ve improved homepage load times through optimised data handling.

NTP-67142

TBO Cache integration

We have completed the integration of TBO as a hotel cache provider, for both price/availability and non-bookable content. Nezasa customers using TBO can benefit from accessing this data source for dynamic packaging use cases.

.PLANNER

Added free-cancellation filter to hotel details page

Filtering for free-cancellation rooms required leaving the hotel details page and going back to the search board. We added a free-cancellation toggle next to the room selector on the details page, so the room list updates instantly without a page reload.

NTP-68335

Fixed multi-day activities not extending the itinerary

Adding a multi-day activity to a short stop didn’t extend the stop or itinerary to match the activity’s length, leaving it crammed onto too few days. Adding a multi-day activity now grows the stop and itinerary to fit, and blocks conflicting changes like overlapping bookings.

NTP-68190

.SMART PLANNER

Added booking-window warning to Smart Planner

When an itinerary’s start date fell inside a distribution channel’s forbidden booking window, Smart Planner gave no warning — unlike the classic planner. Smart Planner now shows the same persistent warning, so users always know when an itinerary is at risk of violating the booking window.

NTP-68491

Added partner custom CSS support to Smart Planner

Partners embedding Smart Planner could only request new styling via settings and a release — there was no way to self-serve. Smart Planner now exposes a stable set of styling classes plus a per-channel custom CSS setting, so partners can style buttons, colors, spacing and more themselves.

NTP-68391

.CHECKOUT

Fixed passenger ages being calculated incorrectly during checkout re-search

When a stored flight offer expired and checkout automatically re-searched for a replacement, passenger ages were calculated as of the search date instead of the travel date. For passengers close to an age boundary — for example, turning from infant to child fare — this could quote a cheaper fare than the supplier actually charged, with the price difference absorbed rather than shown to the customer.

We fixed the age calculation to always use the travel date, so the quoted price now matches what's booked.

NTP-69227

Increased maximum promo code length

Promo codes longer than 20 characters couldn’t be created or redeemed, blocking partners who generate longer codes externally. We increased the maximum length to 30 characters, so these codes now work end-to-end in checkout.

NTP-67343

.COCKPIT

Fixed custom markups picking the wrong area when rules overlap

For accounts with city- or area-level custom markup rules, pricing could silently fall back to the broader country-level markup instead of the more specific rate, when another markup rule on the same account happened to cover an overlapping area. We fixed the matching logic so the correct, most specific markup is always applied.

NTP-68673

Fixed inconsistent flight search results between live and streamed updates

When flight search results were delivered as live updates, they could include offers with a different number of connections than requested — offers that wouldn't have appeared in a regular search. We aligned the two search paths so results are consistent regardless of how they're delivered.

NTP-69194

Fixed own arrangement duration edits silently failing and corrupting itinerary dates

Editing the duration of an "Own Arrangements" stop in the trip planner could silently fail to save, while at the same time shifting the dates of later stops and removing other booked items like rental cars — all without any error being shown. We fixed the underlying matching issue so duration edits save correctly and other itinerary components stay intact.

NTP-68690

Fixed booked airport transfers being deleted when removing a flight

Using the "Remove Flights" action to remove a flight booking could also delete manually-added, already-booked airport transfers. Re-importing the flight afterwards would then falsely flag the return flight as not fitting the itinerary, blocking the booking change. We fixed the removal to only affect system-generated transfers, leaving booked transfers untouched.

NTP-68246

Fixed booking changes getting stuck with an unhelpful reset error

A booking change could get stuck in progress, and attempting to reset it returned an unclear error about an unsupported combination of booking and cancellation orders. We fixed the reset logic to correctly handle this case.

NTP-63093

Fixed unrelated transfers being removed during flight edits

Editing one flight's time as an ad-hoc change could cause a completely unrelated, already-booked ground transfer on a different date to be removed as "no longer compatible." We fixed the compatibility check so it no longer affects transfers unrelated to the edited flight.

NTP-67306

Fixed booking change completion showing success when it actually failed

Completing a booking change could show a success message in Cockpit even when the change was rejected because a component wasn't bookable, leaving the change stuck with no indication anything went wrong. We fixed the response so a failed completion now surfaces as an error.

NTP-67902

Fixed Customer Care only users unable to edit cancellation policy

We fixed a bug where users with the "Employee – Customer Care Only" profile couldn't edit a booking's cancellation policy in Cockpit, even though other Customer Care profiles could already do this. The edit action now works correctly for this role, with no configuration change needed.

NTP-66667

Fixed a distribution channel setting that silently reverted on save

The "Ignore supplier when calculating P2P reseller markup" setting could be toggled and saved in Cockpit, but silently reverted to its previous value in production with no error shown. We fixed the save behaviour so changes to this setting now persist correctly.

NTP-67672

Improved error handling for failed flight booking lookups

A PNR import could fail with a generic error page when an internal service credential expired; it now surfaces as a normal, actionable error

NTP-68713

Fixed booking status webhooks getting stuck on an outdated status

In rare cases, the webhook notification sent to tour operators after a booking completed could keep reporting the booking as still in progress, even though it had finished successfully on our side. We added a retry so the correct status is always propagated.

NTP-68855

Fixed flight segments appearing out of order on exported invoices

After importing a multi-leg flight booking, the flight segments could appear out of chronological order on the exported Midoco invoice, even though they displayed correctly everywhere else in TripBuilder. We fixed the export to sort segments by departure date.

NTP-64560

Fixed the automatic redirect to travel documents sometimes not firing

Clicking "Print documentation" could leave the user on an intermediate redirect screen instead of automatically opening the travel document, requiring a manual click to continue. We fixed the redirect so it consistently fires automatically.

NTP-68767

Fixed PNR Refresh silently failing for AerTicket Cockpit bookings

PNR Refresh could show "successfully updated" in Cockpit without actually applying updated flight times, for bookings made via AerTicket Cockpit. We fixed the refresh to correctly retrieve and apply the updated flight times for this booking source.

NTP-67434

Fixed the "Accept flight" tool not working for already-scheduled flights

The "Accept flight" tool (available for those with tour operator permissions) — used to manually clear a stale non-bookable flag on a flight — previously returned success without making any change when used on a flight already scheduled in the itinerary, leaving the booking change silently blocked. We fixed the tool so it correctly updates scheduled flights, and a failed attempt now shows a clear error instead of appearing to succeed.

NTP-69184

Fixed missing amenities for Mozio ground transport

Ground transport offers from Mozio showed no amenities in the drawer, even when amenities were available. Switching between service categories could also leave stale content on screen. We fixed both: amenities now display correctly for Mozio, and switching categories always refreshes the full card.

NTP-68830

Added a Smart Planner settings tab in Cockpit

Smart Planner settings previously had no home in Cockpit. We added a dedicated “Smart Planner” tab to distribution channel settings, loading the existing Smart Planner configuration directly via an embedded view.

NTP-65794

.TRAVEL DOCUMENTATION

Fixed incorrect trip end date on customer care and travel documents

We fixed a bug where the trip dates shown in Customer Care and travel documents could end a few days earlier than the customer's actual last travel day. This happened when the itinerary ended with an international flight — we were using the flight's departure date instead of its arrival date to calculate the end of the trip.

NTP-63312

Fixed activity vouchers showing in English on German itineraries

Vouchers for Hotelbeds-supplied activities were printing the activity name and description in English even when the rest of the itinerary's documents were in German. We fixed the voucher generation to use the itinerary's language, consistent with other suppliers.

NTP-68239

Fixed a remaining untranslated label on Hotelbeds activity vouchers

Following our fix for activity names appearing in English on non-English itineraries, the "Booked by and payable through" label above the issuing agency name kept showing in English on German, German-informal, French, and Dutch itineraries.

We translated this label so it now displays correctly in all supported languages, consistent with the rest of the voucher.

NTP-69306

Fixed missing confirmation numbers for ground transfers on travel documents

The supplier confirmation number for a booked Mozio ground transfer was visible in Cockpit but missing from the customer's travel documentation. We fixed the documents to include it, consistent with other transfer and accommodation types.

NTP-68424

Fixed incorrect meal and supplier information on replaced hotel vouchers

When a hotel was replaced after booking, its voucher could show "No Meals" even when a meal was included, and display an internal placeholder instead of the supplier name. We fixed the voucher to match the correct meal plan and hide internal placeholders.

NTP-68565

Fixed duplicated activity images in Word travel documents

Activity and tour images could appear twice in generated Word travel documents, positioned above the description instead of alongside it. We fixed the rendering so each image appears once, positioned consistently with other service types.

NTP-67204

.APIs

Added missing booking states to the Booking API documentation

The published Booking API specification listed 18 possible values for a booking's status, but the API has always been able to return 28. We've updated the specification to document all 10 previously-undocumented states, so integrators building against the Booking API have the complete list.

NTP-69225

Fixed the Booking API omitting some booked flight segments

For itineraries where imported flight segments couldn't be automatically placed into the trip structure, the Booking API would omit those segments entirely, even though they were confirmed and booked. We've updated the API to include these segments so integrators see the complete booking.

NTP-68219

Fixed missing location data for replaced hotels in the Booking API

When a hotel on a booked itinerary was replaced, the Booking API returned the new hotel with no country or city, unlike normally-booked hotels. We fixed the API to always return location data for replaced hotels.

NTP-68562

Fixed flight surcharges shown in the wrong currency in the Booking API

For some bookings, the flight surcharge and tax amounts in the Booking API were returned in the supplier's original currency instead of the booking's currency, unlike the main fare price. We fixed the conversion so surcharges are always shown in the booking currency.

NTP-68658

Exposed in-destination charges on the accommodation product API

The accommodation product API had no way to show charges payable in-destination (e.g. local taxes), so New Discovery couldn’t display the full trip price shown elsewhere. The API now returns these charges explicitly, clearing the way for accurate price breakdowns.

NTP-68164

.INTEGRATIONS

API enhancement to Ground transports Connect API - Bookable extras

The Ground Transports Connect API has a new attribute: supports bookable extras, priced or free add-ons, such as child seats and extra luggages, etc. The cost is shown at selection time and selection is transmitted to the supplier at booking time.

NTP-68635

API enhancement toGround transports Connect API - Structured flight information on pick-up and drop-off locations

In case there is a flight, arrival and departure location objects have a new optional object flightInfo which contains the flight number, arrival time and departure time. In this way suppliers receive the flight details in a clearly defined and structured field, which makes it possible to schedule pick-ups and drop-offs around the travellers’ flight. All new fields are optional.

NTP-68710

Did this answer your question?