Hawaii - Major Release (22.1)
Release Summary
Kaptio is proud to announce this Majro Release for Hawaii. This release introduces our new version, Hawaii.
See Minor Changes and Bug Fixes for more information.
Deployment Guide
See this page for the Hawaii Deployment guide.
| Be sure to check the Deployment Guide if you have installed Hawaii for the first time. This version has critical post-upgrade migration scripts, detailed in the Guide. |
Minor Changes
Feature: API
ST-1091 Skip inventory checks for On-Request services (inventorySetupId = '0') in PriceLineFactory.checkInventory()
We’ve optimized PriceLineFactory.checkInventory() so that it now skips items with inventorySetupId = '0' (On Request). These items never require an availability check, so excluding them:
-
Reduces load when itineraries contain many On Request services
-
Speeds up the overall inventory-check cycle
-
Improves resource efficiency
All other inventory checks remain unchanged, and On Request items continue to display the correct status in the UI.
ST-1209 2. Implement changes in PLF / KTApiPriceQuery to support new parameters introduced in Datamodel changes
This change updates PricelineFactory and KtApiPriceQuery to support sending promotion_effect_ids and promotion_effect_configurations in bulk pricing requests, enabling promotions to be applied at the per-passenger, per-unit assignment (PIUA) level. When promo-eligible passengers are detected, the request is enriched with the promo effect ID and the corresponding passenger/unit indices, ensuring discounts apply only to the intended travellers. If no promo data is present, behavior remains unchanged, preserving backward compatibility.
ST-1541 Task 1: Create Lookup Supplier field
New field SupplierAccountc, permisssion as for Supplierc on Itinerary_Item__c
ST-1599 Task 2: Replace Supplierc usage to use SupplierAccountc instead
Replace Supplierc ` field on Itinerary Item object with `SupplierAccountc
ST-1621 Remove required lookup from InvoiceTo__c on itinerary Item
InvoiceToc field on an Itinerary_Itemc object config changed to release locking mechanism but stil required by validation rule.
ST-1492 ICU-Ready Metadata Upgrade
We have updated all metadata that was below 45 to minimum 45 in order not to block subscribers from ICU Salesforce update.
Feature: Booking Wizard
ST-1092 Remove the second, redundant call to ItineraryItemDto.deserializeInventory() in the Booking Wizard save flow to avoid double-processing inventory JSON.
Booking Wizard (BW) save performance has been improved by eliminating repeated inventory JSON deserialization. Previously, KtApiAdvancedSearchResponse.buildLines() deserialized inventory, and PriceLineFactory.checkInventory() deserialized the same JSON again. Now, checkInventory() only deserializes when line.inventory is null, ensuring a single authoritative deserialization. This change reduces CPU usage, simplifies the execution path, and maintains full accuracy for all inventory-dependent calculations, validations, and item types.
ST-1093 Migrate Booking Wizard inventory checks from the legacy Apex InventoryQuery class to the faster, governor-limit-free KTAPI inventory service.
Now, Migrating an inventory only checks KTAPI for Booking Wizard.
ST-1160 Update a promo code check endpoint and add a passenger selection support
Promo code validation has been upgraded to use the bulk endpoint /v1.0/promotions/check_bulk, enabling validation of multiple promotions in a single request (request/response models per API-2247). The Promo Code modal now supports passenger selection alongside room selection, and hides inapplicable options to reduce confusion. For clearer summaries, promotion items display selected rooms/passengers via a hover/click popover.
ST-1171 8. FE - Load promo codes that were saved on Booking Wizard load for existing Itinerary
Booking Wizard loads previously applied promotion codes in the modify flow.
ST-1817 Modify mode should detect changes to the applied effect id and promotion codes.
Changes to promotions in booking wizard are supported in modified mode.
ST-1906 Remove Addon field from itinerary Item
Remove Addon_c and IsAddonc fields and related logic in a code from Itinerary Item.
ST-1441 (Temp Hold) No error message on units not available after PS is fully loaded
We have fixed an issue causing user to be able to select a cabin even where it is no longer available.
ST-1663 Support package tour component promotions.
We have added support for tour component promotions.
ST-1870 Update item prices in summary section in Booking Wizard modify mode
Booking Wizard now correctly displays prices for items that have promotion applied in modify modes.
ST-1887 Add a child label to the passenger in Booking Wizard
Updated the Booking Wizard summary so that any passenger with the “Child” occupant type is displayed with a (Child) label next to their name. This applies to both TBD travellers and assigned contacts. For example, a TBD passenger expected to be a child will appear as TBD (Child), and when a child contact is assigned, the label remains with their name. Adult contacts assigned to child slots will no longer show the label, ensuring accurate representation of passenger types throughout the booking process.
ST-1747 Implement memo and new bulk endpoint
We have cached the Check Promotions function in Booking Wizard.
Feature: Booking Overview
ST-1147 (FE) Updates to Booking Overview for Promotions
Promotional discounts saved to an itinerary from the Booking Wizard now display directly in the Booking Overview. Each promotion is shown within the applicable passenger section, with its external name indented beneath the itinerary item it applies to and prefixed by a green ★ icon. The discount reflects the correct per-passenger amount, and all passenger, room, and booking totals are updated accordingly.
ST-1852 Booking Overview: Split Pre/Post nights into individual rows with Status
Booking Overview now shows pre/post hotel nights as individual rows (when “Create Itinerary Item Per Night Per Room” is enabled), each with a single status tag—RQ (On Request & unconfirmed), C (previously On Request, now confirmed), or AL (confirmed via allotment)—displayed before the item name. Rows use the format Pre/Post Stay <Date>: Service – Price Cat; tags are derived from Kaptio confirmation status and inventory type, and only one tag is ever shown per row. Promotions appear under the applicable night, the tag remains visible even if the hotel name truncates, and there are no changes to Booking Wizard or Price Summary.
Feature: Bulk Operations
KT-13154 Bulk Manager
Provides UI for reviewing the inventory status of package items per departure. Enables executing bulk operations like
-
“Replace Itinerary Items“
-
“Recheck Inventory”
-
“Recalculate Itinerary Items”
-
“Recheck Inventory and Recalculate”
-
“Recalculate Itinerary Payment Schedule Rules“
-
“Reseller Commission Recalculation”
-
“Recalculate Itinerary Cancellation Rules” and
-
“Remove Itinerary Items”
These operations can now be executed through a UI interface.
The page displays itinerary items grouped by package and departure. It enables filtering of the list of itinerary items by package, component, component option, inventory, and departure date.
The user can select a subset of itinerary items to run the bulk operation on.
To view the page, an “AccessBulkManager“ custom permission must be granted to the user.
KT-13157 Filter Control for Bulk Manager Page
Enables filtering search by package, package component, package component option, inventory status and departure date span.
KT-13160 Pax and Itinerary Details Control
Added information hover on bulk manager table that displays passenger and itinerary information related to the itinerary item
KT-13221 Inventory Checks
We have enabled inventory checks in the Bulk Manager UI.
KT-13399 ReplaceItineraryItemBulk: Enable field change on replaced itinerary item
Extend mapping JSON to allow changing fields on the replaced itinerary item in the Replace Itinerary Item bulk operation.
Feature: Promotions
ST-1941 Hardening of KtApiPriceQuery when sending PromoEffectIds to include both ItineraryITem promoEffectIds and PassengerItineraryUnitAssignment PromoEffectIds
We’ve enhanced promotion handling to support application at both the ItineraryItem and Passenger levels. This hybrid approach allows promotions to be applied broadly (e.g., “10% off this hotel” for all passengers on an item) while still supporting passenger-specific promotions (e.g., “senior discounts”). The update simplifies management, reduces manual work, and preserves existing passenger-level functionality for backward compatibility.
Bug Fixes
Feature: Booking Wizard
ST-1175 Unlinking and linking pax in adding a pax/room results in an error
Addressed an issue when new passenger in change occupancy gets linked and unlinked and again linked to contact results in error.
ST-1194 KAPI-3845 GOT promotion is not getting applied even after it is displaying during the booking flow
To be added
ST-1442 (Temp Hold) Error not displayed in case of changed (insufficient) availability for Pre/Post stay options
The system now correctly processes mix request statues scenarios when creating temporary hold items.
ST-1520 Null pointer thrown when saving multiple promos applied to the same room
Fixed the issues caused by multiple promos applied to the same pre and post stay nights.
ST-1675 KAPI-4622 Change Occupancy flow - 'No Cabin Number found' error is displayed for RYX 2025 (Intermittent error)
to be added
ST-1730 Allotment (available units) not updated on selection from Options (vs. Pre/Post Stay)
Corrected an issue where selecting an AL type optional service (Accommodation/Activity) in Options did not reduce the available unit count. The available units now correctly update in real time, consistent with Pre/Post stay services.
ST-1783 Solo Savings and promo codes stopped working in the newest origin/feature/ST-1663-package-promotions branch
Fixed promotion check bulk request and data model for promo codes. Promo code modal now only returns promotions applicable to the entered promo code.
ST-1848 Promo response doesn’t have target rooms
Updated Booking Wizard to support a new promotions bulk check endpoint to handle target rooms correctly.
ST-1849 Custom fields don’t work with GOT
Updated Booking Wizard to support a new promotions bulk check endpoint to support account custom fields.
ST-1858 KAPI-4914 Booking the same Cabin number possible in concurrent sessions
The system no longer allows the same cabin to be booked in multiple concurrent sessions.
ST-1895 Promotion currency is incorrect in the Booking Wizard summary
Fixed the displayed promotion currency in the Booking Wizard summary section.
ST-1905 & KAPI-4909 Adding a pre stay night via Modify Package shows as consecutive nights in the UX Wizard but adds 2 of same night
Fixed a bug where, for incremental pre/post night options, newly selected options were reserved with incorrect dates.
ST-1924 Gift of Time Promotion only applying to Room 1
Resolved an issue where the Gift of Time promotion was only applied to the first room in Booking Wizard, even when additional rooms were booked under Contacts from the same eligible Account. The promotion will now correctly apply to all eligible rooms across the booking.
Feature: Booking Overview
ST-1195 KAPI-3869 GOT Promotion does not show up in Booking Overview tab
Fix: Resolved an issue where the Booking Overview tab did not display GOT promotions as line items under the associated guest. Promotions are now correctly shown in the booking overview after itinerary creation.
ST-1553 KAPI-4351 Negative Adjustments in Booking Overview appear on two lines
Reworked a considerable amount of the SLDS-1 Grid in this component to try and better support smaller viewports (esp. when embedded in 2/3 layout).
ST-1683 Booking overview not refreshed after occupancy change
Booking overview is now refreshed after occupancy change
ST-1798 KAPI-4466 Transfer Package/Departure - Reversed passenger order in 'Select Rooms' sets wrong primary traveler in new itinerary
Addressed an issue passengers order in booking overview and pop-ups wasn’t consistent
ST-1805 Enable BookingWizard configuration on Booking Overview
This ticket introduces the ability to pass a JSON configuration string from Booking Overview to Booking Wizard via. the Lightning App Builder. It provides the same functionality as the older Itinerary Builder.
ST-1962 Price before cancellation for cancelled pax is incorrect in BO - CO and Transfers
We have resolved issues with the Booking Overview Price Before Cancellation display for cancelled pax.
Feature: Price Model
ST-1347 Price Requests sent when price seasons in the past
Adjusted logic for sending price requests when Services have linked price seasons. Price requests will now respect the Enable Inflation setting:
-
Enable Inflation = On → A request is sent if any price seasons exist (past or future).
-
Enable Inflation = Off → A request is only sent if active/future price seasons exist. This ensures requests are no longer incorrectly triggered solely by expired price seasons.
Feature: Passenger Grid
ST-1368 _Passenger Grid - Checkbox (Lead Passenger) Not Displayed Correctly
Resolved an issue in the Passenger Grid where the lead passenger checkbox or icon was not being displayed as expected. Previously, users could not visually identify the lead passenger (e.g., Sam Handerson) within the grid, impacting usability and clarity. This fix ensures that the lead passenger indicator is now correctly shown in all relevant views. This was a critical issue with no available workaround and is now fully addressed.
Feature: Itinerary Builder
ST-1562 Error thrown on Builder line when no location specified
Fixed an issue in the Builder where setting a line’s location to "No Location" caused an error when attempting to select available Services. The system now correctly displays all Services without an assigned location in the dropdown, allowing users to search and select them without encountering errors.
Feature: Bulk Operations
KT-13445 Various Improvements after Demo
This ticket addresses and implements several fixes for Bulk Operations.
KT-13560 Filtering by Departure Date doesn’t work on Bulk Manager
We have fixed a bug in the package departure dates filter.
Feature: Package Editor
KT-13458 & KAPI-4076 Package Departure Date reflecting wrong date in Package Departure Component Assignment Modal
Fixed an issue where package departure component assignments displayed incorrect dates. Previously, the “Assigned Departures” tab showed dates that were offset by one day from the actual package departure dates. The displayed dates now accurately match the true package departure dates.
Feature: Package Search
ST-1902 Standalone Package search broken after release of 21.33 to Belmond due to AccountID being required
Resolved an issue in the Standalone Package Search utility where package search requests incorrectly required an AccountId. This regression caused searches to fail in environments not tied to an Account (e.g., Belmond SIT), returning an invalid query arguments error. The fix restores expected behavior by removing the unnecessary AccountId dependency, ensuring compatibility with partner-built utilities such as VO2’s search tool.