Galapagos - Patch 25 (21.27)

Release Summary


Kaptio is proud to present this minor release for Galapagos. This minor release was introduced to improve on minor issues with previous Galapagos releases. See Bug Fixes and Minor Changes for more details.


Release Type



Sandbox Availability Date


2025-08-01


Minor Changes


Multiple fixes now properly enforce non-admin permissions for transfer and cancel actions. We recommend re-testing all non-admin flows.

Feature: Booking Wizard


Temporary Hold Integration (ST-875)

Information about Temporary Hold functionality states is now displayed on modal when triggered. Inventory for selections made in Booking Wizard tab are temporarily held on itinerary creation process.


Updates to the Promo Section in Booking Wizard (ST-957)

Previously, the promotions section in the booking wizard had limited functionality for managing promotional codes and their states. This release introduces a comprehensive promotions sidebar with enhanced promo code management capabilities. Users can now activate and deactivate promotions directly from the interface, remove promo codes from the booking state, and benefit from improved promo code labeling that includes selected room information for better clarity and context.


Create Modal to Check for Promo Code Eligibililty (ST-958)

We have added an Add Promo Code modal to the Booking Wizard.


Create APEX/API Eligibility Validation Logic (ST-959)

We have added logic that will validate a given Promo Code or Codes' logic. This enables users to validate Promo Codes.


Feature: Adjustments Tab


Automatic refresh of Adjustments tab when the prices change (ST-1308)

Previously, when changes were made to itinerary prices—such as adding or removing services—the Costings tab updated immediately, but the Adjustments tab required a manual page refresh to reflect the new values. This release introduces automatic refreshing of the Adjustments tab whenever pricing changes occur, ensuring the Before and Total amounts are always up to date without user intervention.


Feature: API


Temporary Hold Data Model Changes (ST-952)

New objects:

  1. TemporaryHoldContainer_c

    • A new object to manage temporary holds with the following fields:

    • SessionId__c (String) - Includes prefix for source system ("BW-" for Booking Wizard, "API-" for API calls, "EC-" for E-commerce)

    • ExpirationTime__c (DateTime)

    • Status__c (Picklist) (‘Active’, ‘Expired’, ‘User Cancelled’, ‘Converted To Booking’)

    • Itinerary__c (Lookup)

    • Source__c (Picklist) -BW, API, EC (booking wizard, api, ecommerce)

  2. TemporaryHoldComponent_c

    • A new object to track individual components within a temporary hold:

    • TemporaryHoldContainer__c (MasterDetail)

    • AllotmentDay__c (Lookup)

    • Quantity__c (Number)

    • Item__c (Lookup)

    • PriceCategory__c (Lookup)

    • DepartureCabin__c (Lookup)

    • DateFrom__c (Date)

    • DateTo__c (Date)

    • ComponentType__c (Picklist) - "Cabin", "Tour", "Excursion", "Accommodation", "Transfer" etc

  3. TemporaryHoldSettings__mdt

    • A new object to track individual components within a temporary hold:

    • HoldDuration__c (Number)

      Description: The duration (in minutes) for which a temporary hold remains valid before auto-expiration
      Default Value: 30
    • MaxSessionHolds__c (Number)

      Description: Maximum number of concurrent holds allowed per user session
      Default Value: 10
    • AutoReleaseEnabled__c

      Data Type: Checkbox (Boolean)
      Description: Toggle to enable/disable automatic release of expired holds
      Default Value: True
    • SourceSystemName__c

      Data Type: Text
      Description: Identifies the source system (e.g., "BookingWizard", "API", "Ecommerce")
      Required: True

New fields

  1. On AllotmentDay_c

    • Add UnitsTemporaryHeld__c (Decimal) - To track units that are temporarily reserved


TemporaryHoldService(ST-953)

We have introduced a service class and interface methods to operate on Temporary Hold feature related data.

This includes the following core functionalities:

  • CreateTemporaryHoldContainer: Creates a reservation container for package departures with specified room configurations.

  • Add Component: Adds a new inventory component to an existing temporary hold.

  • Remove Component: Removes a specific component from an existing temporary hold, releasing its inventory.

  • Release Container: Releases an entire temporary hold and all its associated components, returning all inventory.

  • Extend Container Timer: Extends the expiration time for an active temporary hold.


Scheduled Job For Temp Hold Release (ST-954)

We have implemented a class which allows users to schedule a job which cleans up expired Temporary Hold data.


Convert To Booking Adjustments (ST-955)

We have implemented logic which will convert temporarily held inventory units when booking/reserving an inventory. This prevents inaccuracies in inventories and overbooking.


Data model changes - to save Promo Codes at RoomAssignment (ST-1168)

A previously introduced functionality to save promo codes on the Room Assignment object didn’t work as expected as the promo codes would not save.

We fixed this by saving the Promo Codes are saved in the new PromoCodesc field of the RoomAssignmentc object.


Feature: Promotions


Pass applied promo codes to the back-end (ST-1328)

We have enabled the back-end save functionality to support promo codes. This passes applied promo codes to the back-end.


Assigned rooms Hover on Promo Code tiles (ST-1379)

We have added the helptext popover to the promotion item component to display the assigned promotions list.

We have fixed the issue with the promotions section being hidden if there were no promotions.

We have fixed the bug where changing the promo code also modified the existing status text.

We have removed the assigned rooms list from the external promotion name.


ST-1253: Enhanced promo code management and room assignment display (C10 spillover)

Previously, users had limited visibility into applied promotional codes and room assignments in the booking interface. This release introduces several enhancements including a helptext popover for assigned promotions display, improved promotion section visibility when no promotions exist, fixes for promo code status text updates, and better handling of applied promo codes in the passenger selection process for backend processing. The feature also removes assigned room lists from external promotion names for cleaner display.

Feature: Passenger Grid


z-index is creating issues with omni-channel and phone widgets in the utility bar (ST-1518 & KAPI-4271)

We have removed the z-index from passenger-grid to try and alleviate issues with the phone and omni-channel widgets.


Bug Fixes

Feature: Booking Wizard


Change occupancy - Guest email id is overlapping with res number field under cancelled room (ST-850 & KAPI-3234)

We have addressed a minor CSS issue where the email column wasn’t truncating correctly and overlapping the reservation number column.


Itineraries from Booking Wizard are created for the wrong Channel (ST-904)

We have fixed an issue with itinerary assignment in Booking Wizard. We achieved this by adding propagation of the selected channel, which means assignment is correctly applied to all actions in the Package Search and Booking Wizard.


Transfer Departure - The money paid for cancelled guest is also transferred (ST-1202 & KAPI-3900)

We fixed an issue in the scenario where all passengers marked as survivors had to be included in transfer target itinerary. Now, a cancelled passenger will appear as cancelled in the original itinerary, and their amount paid will not transfer.


When Primary Traveler is not in Room 1 then in Modify package flow the primary traveler is moved to cancelled even before making any changes (ST-1306 & KAPI-4063)

We have fixed an issue in the Modify Package flow where the primary traveler was incorrectly shown as a cancelled passenger before any modifications were made. This occurred when navigating from the Booking Overview tab in itineraries with multiple rooms. The Booking Wizard passenger tab now correctly displays all active guests as expected, ensuring accurate room and passenger assignments upon entry.


Rechecking inventory on an itinerary item (Supplier Bookings) does not work (ST-1349)

Previously, When a user adds a packge to an itinerary with a required option which has an Inventory contract, no Allotment and the Fallback Status On Request, the option was added with ‘On Request’ inventory status. A user could then use Re-check Inventory status when the Allotment was increased and the status should be updated. However, the status update on Re-check Inventory status had stopped working. We have fixed Re-check Inventory status.


Rooms displayed in the order they are selected in in the hover (ST-1452)

We have fixed the applied room sorting in the promotion item popover. Previously, they were sorted in by order of selection. Now they sort by numerical order.

Booking Action Buttons in Booking Wizard Summary (ST-879)

We have introduced enhanced itinerary creation options in Booking Wizard Search mode. When no existing itinerary ID is present, users now see two distinct actions—"Create Quote" and "Create Booking"—instead of a single "Create Itinerary" button. The Create Quote button (enabled via EnableCreateQuoteActionc in App Settings) allows travel agents to generate quotes without reserving inventory, using configurable status and record type settings. The Create Booking button creates confirmed itineraries and supports configurable inventory transitions (Release, Reserve, or Book) through the new BookingInventoryTransitionc setting. This update provides greater flexibility for differentiating between quoting and booking workflows, and improves alignment with business processes.


Promotions not saved on the room assignment (ST-1455)

A previously introduced functionality to save promo codes on the Room Assignment object didn’t work as expected as the promo codes would not save.

We fixed this by saving the Promo Codes are saved in the new PromoCodesc field of the RoomAssignmentc object.


Error on Itinerary date change (ST-1528)

The validation for Itinerary Start date change is now lifted when saving itineraries created with booking wizard so that the start date can be correctly re-calculated.


Error when Cancel rooms or change occupancy with cancel pax in room (ST-1483 )

We have fixed issues related to Temporary Hold feature in itinerary edit modes.

Cancelling a pax or a room not possible/Transfer not possible (ST-1497)

Fixed a critical issue where attempts to cancel a passenger, cancel an entire room, or transfer rooms to another package or departure date would fail with errors. In some cases, saving changes would result in an empty new itinerary. These issues have now been resolved, restoring full functionality to the Change Occupancy and Transfer features.

Sub-Feature: Disable Cabin Tab


Disable Cabin Tab (ST-1342)

This epic includes all changes which affect disable cabin tab.


Dummy cabin is preselected when it should be possible to select cabin from the beginning. (ST-1311)

We have fixed the cabin number selection. Previously, the cabin as selected in advance. Now, when a user enters the Booking Wizard, the must manually select the Cabin to proceed.


Default cabin (number) visible even if the Cabin was not selected (ST-1284)

When the Booking Wizard Unit Number Selection setting is configured as Non-mandatory for a Package, the Cabins tab will now be hidden in the Booking Wizard—even for Cruise packages. However, to support pricing and itinerary creation, the system will still assign a default cabin (Deluxe Suite) behind the scenes. This default selection will be visible in areas of the UI where cabin details are shown, such as booking summaries or itinerary views.


Transferring to package with disable cabin functionality issue + info about cabin visible (ST-1329)

We have fixed an issue where cruise packages with the "disable cabin" functionality displayed incorrect messaging and behavior during itinerary transfers. Previously, when transferring an itinerary to the same package, users were incorrectly prompted that cabin selection was mandatory—even though cabin selection should be hidden—and no dummy cabin was auto-assigned. This differed from the behavior during initial itinerary creation, where a dummy cabin is correctly assigned without requiring user input. The fix ensures consistent handling of cabin assignment across itinerary creation, transfer, and modification flows for cruise packages with disabled cabin functionality, and removes misleading mandatory cabin prompts.


When Cabins tab is hidden, we are not preselecting the default price category (ST-1337)

When a Package has KaptioTravelPhysicalInventorySelectionc set to NotMandatoryHidden, the Cabins tab in Booking Wizard is hidden, and users cannot manually select cabins. Previously, this also skipped the default (cheapest) price category on the Product Selection screen, resulting in no Cruise component or associated itinerary items being created. We’ve now updated the behavior to automatically preselect the default price category, ensuring that a Cruise component is created in the itinerary, even if the cabin selection UI remains hidden.


Cabin is not selected in the background when cabin selection is disabled and Enable Advanced Price Summary for CRUISE and RAIL = FALSE (ST-1471)

We have resolved an issue affecting Cruise and Rail packages where, with "Booking Wizard Unit Number Selection" set to Not Mandatory/Hidden and "Enable Advanced Price Summary for CRUISE and RAIL" set to FALSE, the system failed to auto-assign a cabin in the background. This resulted in a misleading mandatory cabin selection message and prevented tour allotment creation. The Booking Wizard now correctly saves the selected price category without requiring a cabin, and allotments are generated as expected.



Package price is not visible in BW when cabin selection is disabled - for all packages without cabin selection Land also (ST-1470)

We have fixed an issue where the package price was not displayed in the Booking Wizard (BW) modal when the "Booking Wizard Unit Number Selection" setting was set to Not Mandatory/Hidden. This affected all package types—including Cruise, Rail, and Land—where cabin/unit selection is disabled, regardless of the "Enable Advanced Price Summary" setting. The BW modal now correctly displays the package price even when cabin selection is hidden or not required.


Message about mandatory cabin is visible during changing occupancy for 2 rooms, cancelling 1 room (ST-1461)

We have addressed an issue where cabin selection was still required in Booking Wizard, even when the disable cabin feature is set to ON. Now, the feature functions as expected.


"Error! Max Room Occupants limit is reached: POA-2024-CRUISE-USD - Deluxe Suite" when trying to add package to itinerary (ST-1462)

We have fixed an issue where itinerary creation would fail when adding a package that included rooms with a number of occupants other than two. This error also occurred during occupancy changes within Booking Wizard (BW), such as modifying a room from two occupants to one or more than two. The problem could be reproduced by initiating Package Search (PS) with three rooms—at least one being a single—and attempting to add selected cabins to the itinerary via the 'Add Options' and 'Create Itinerary' flow. This has now been resolved to support flexible occupancy configurations.


Cabin cannot be selected when transfer from Land package to Cruise package when Cabin selection is enabled

Transfer - Cabin price line is not selected in the background when cabin selection is disabled and Enable Advanced Price Summary for CRUISE and RAIL = FALSE (ST-1505 & ST-1506)


Fixed an issue where Physical Inventory Selection was not properly updating to the destination package during transfer mode. Previously, the system was retaining original package values instead of applying the correct destination package inventory settings when transferring from Land packages to Cruise packages.


Feature: Passenger Grid


PGI > When Editing Contact then subsequently Linking Contact the Edit Information is Retained and Populated in the Create Contact (ST-1227)

We have fixed an issue where, if EditContact was called first, data was pre-populated to LwcRecordForm, but then if a subsequent LinkContact was called, even though prePopulatedData == null, LwcRecordForm wouldn’t reset the form values.


Cabin Selection still displaying in Booking Wizard when going through a Person Account (ST-1416)

Resolved an issue where the Cabin selection step was incorrectly displayed in the Booking Wizard when creating an itinerary from a Person Account or from a Trip, even though the associated Package had Cabin selection disabled. The Booking Wizard now correctly respects the Package configuration across all entry points, ensuring Cabin selection is hidden when disabled.


Feature: Cancellations


Cancellation penalty is not displayed in the flow when we reduce room occupancy while processing Change Package or Departure (ST-1244 & KAPI-3232)

Resolved an issue in the Tauck Booking Wizard where the cancellation penalty was not correctly displayed during the Transfer Departure/Package flow. When reducing room occupancy (e.g., transferring only one guest from a two-guest room), the cancellation fee column appeared as expected, but the actual penalty amount was incorrectly shown as USD 0. This fix ensures that the appropriate cancellation penalty amount is displayed when a guest is removed or transferred, aligning with Tauck’s expected behavior.



Change occupancy - When we cancel a guest in a room duplicate protection plan payment schedule items are added to retained guests (ST-1269 & KAPI-4013)

We fixed an issue where Payment Schedules were displaying even on cancelled items. Now, this functions as expected.


Transfer Package/Departure - Money is transferred to different guest if the guest is swapped to different room during transfer (ST-1278 & KAPI-4025)

We fixed payment transfer for passenger with updated allocation on transfer. Previously, swapping pax would cause issues during the transfer. Now, when pax are swapped (room assignments changed) during the transfer, with the payments made against the original itinerary, all amounts will transfer correctly for each passenger. Additionally, Passengers will be placed in the correct (swapped) rooms , but their payments will be correct.


Transfer Departure/Package as RSC user the amount paid for a booking is not transferred to new itinerary (ST-1288 & KAPI-4034)

We fixed an issue with the Transaction Transfer object. The object’s definition was missing the read/write objects of the (Kaptio) Build Trips & Itineraries custom permission. This has now been added.

We fixed an issue with the Transaction Transfer object. The object’s definition was missing the read/write objects of the (Kaptio) Build Trips & Itineraries custom permission. This has now been added.


Modify package showing current pre-post inventory status not what was booked (ST-1372 & KAPI-4104)

Issues. related to pre/post inventory are no longer reproducible after the integration of the Temporary Hold feature into the Pre/Post Tabs on Booking Wizard.


Allow for Trip recordID to pass through PS when using BW to create Itinerary (ST-1143)

Previously, when initiating Package Search from a Trip record and creating an itinerary via Booking Wizard (BW), the resulting itinerary was incorrectly linked to a new or unrelated Trip. This issue has been resolved. The correct Trip record ID is now consistently passed through from the originating Trip, ensuring the created itinerary maintains the correct Trip association.


Incorrect Inventory Status on Package Search (ST-767)

We have introduced a filtering mechanism which skips optional components from being evaluated when assesing the overall inventory availability of a departure. Now only Pre-selected Refundable and Pre-Selected non-refundable components that are part of the package are evaluated


ST-1515 The /v2.0/items/inventory_bulk endpoint needs to be extended so it passes that package_departure_id in the request(s)

Improved inventory availability logic by adding support for package_departure_id in the /v2.0/items/inventory_bulk request. We now include this parameter in our requests, allowing the API to correctly identify matching AllotmentDayDepartureAssignment entries. This ensures more accurate inventory results when checking availability for items linked to specific package departures.


Feature: Booking Overview


Booking overview shows EUR as currency, regardless of the itinerary currency (ST-1332)

Previously, the Booking Overview always displayed prices in EUR, even when the itinerary was created with a different currency (e.g., USD or AUD). This issue has been resolved. The Booking Overview now correctly reflects the itinerary currency, ensuring price consistency across the booking flow.


On deleting a group created by "create group by rooms", unable to add the passenger to existing groups as other passengers (ST-1341 & KAPI-2109)

We have fixed an issue in the Manage Itinerary Groups feature where passengers from deleted groups were not appearing in the dropdown list for reassignment, preventing users from saving group changes. Passengers are now correctly re-populated and can be reassigned to existing groups as expected.


Transfer and Change Occupancy is opening in Booking overview section and scroll through search is not there (ST-1359 & KAPI-4107)

We have fixed a UI issue on the Itinerary Overview page where, upon selecting Transfer or Change Accommodation, the search panel and results were incorrectly rendered within the Overview page instead of navigating to the dedicated search page. Additionally, horizontal scrolling for search results was not available unless the user manually zoomed out. This update ensures proper redirection to the search interface and restores expected scroll behavior.


Transfer is not possible for Cruise package (ST-1436)

We have fixed transfer in cruise: passengers from 1 itinerary (one or more rooms) can now be transferred to the same package, a different DD, or another package.

This will produce no errors after the transfer is completed.


Booking overview - EUR displayed as default currency for all itineraries (ST-1330)

Resolved an issue where the Booking Overview screen always displayed prices in EUR, regardless of the itinerary currency. This occurred even when the itinerary was correctly set to a different currency (e.g., USD). The Booking Overview will now accurately reflect the itinerary’s currency as expected.



Feature: RightRez


Update the new RightRez URL in the package as the default (ST-1355)

We have updated the default RightRez URL to address an issue where new subscribers were not able to access it. The new now URL allows access.


Feature: Itinerary Builder


After change occupancy from double to single group size is still displayed as 2 and passenger shows both guests in itinerary (ST-1367 & KAPI-2841)

We have fixed the itinerary calculations display; Now, changing the occupancy group size of an itinerary will display correct number of guests.