Hawaii - Major (22.1)
Kaptio is proud to announce this Majro Release for Hawaii. This release introduces our new version, Hawaii.
Skip inventory checks for On-Request services (inventorySetupId = '0') in PriceLineFactory.checkInventory() (ST-1091)
Skip inventory checks for On-Request services (inventorySetupId = '0') in PriceLineFactory.checkInventory() API 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.
Implement changes in PLF / KTApiPriceQuery to support new parameters introduced in Datamodel changes (ST-1209)
Implement changes in PLF / KTApiPriceQuery to support new parameters introduced in Datamodel changes API 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.
Task 1: Create Lookup Supplier field (ST-1541)
Task 1: Create Lookup Supplier field API New field `SupplierAccount__c`, permission as for `Supplier__c` on `Itinerary_Item__c`
Task 2: Replace Supplier__c usage to use SupplierAccount__c instead (ST-1599)
Task 2: Replace Supplier__c usage to use SupplierAccount__c instead API Replace `Supplier__c` field on Itinerary Item object with `SupplierAccount__c`
Remove required lookup from InvoiceTo__c on itinerary Item (ST-1621)
Remove required lookup from InvoiceTo__c on itinerary Item API `InvoiceTo__c` field on an `Itinerary_Item__c` object config changed to release locking mechanism but still required by validation rule.
ICU-Ready Metadata Upgrade (ST-1492)
ICU-Ready Metadata Upgrade API We have updated all metadata that was below 45 to minimum 45 in order not to block subscribers from ICU Salesforce update.
Remove the second, redundant call to ItineraryItemDto.deserializeInventory() in the Booking Wizard save flow to avoid double-processing inventory JSON. (ST-1092)
Remove the second, redundant call to ItineraryItemDto.deserializeInventory() in the Booking Wizard save flow to avoid double-processing inventory JSON. Booking Wizard 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.
Migrate Booking Wizard inventory checks from the legacy Apex InventoryQuery class to the faster, governor-limit-free KTAPI inventory service. (ST-1093)
Migrate Booking Wizard inventory checks from the legacy Apex InventoryQuery class to the faster, governor-limit-free KTAPI inventory service. Booking Wizard Now, Migrating an inventory only checks KTAPI for Booking Wizard.
Update a promo code check endpoint and add a passenger selection support (ST-1160)
Update a promo code check endpoint and add a passenger selection support Booking Wizard 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**.
FE - Load promo codes that were saved on Booking Wizard load for existing Itinerary (ST-1171)
FE - Load promo codes that were saved on Booking Wizard load for existing Itinerary Booking Wizard Booking Wizard loads previously applied promotion codes in the modify flow.
Modify mode should detect changes to the applied effect id and promotion codes. (ST-1817)
Modify mode should detect changes to the applied effect id and promotion codes. Booking Wizard Changes to promotions in booking wizard are supported in modified mode.
Remove Addon field from itinerary Item (ST-1906)
Remove Addon field from itinerary Item Booking Wizard Remove `Addon___c` and `IsAddon__c` fields and related logic in a code from Itinerary Item.
(Temp Hold) No error message on units not available after PS is fully loaded (ST-1441)
(Temp Hold) No error message on units not available after PS is fully loaded Booking Wizard We have fixed an issue causing user to be able to select a cabin even where it is no longer available.
Support package tour component promotions. (ST-1663)
Support package tour component promotions. Booking Wizard We have added support for tour component promotions.
Update item prices in summary section in Booking Wizard modify mode (ST-1870)
Update item prices in summary section in Booking Wizard modify mode Booking Wizard Booking Wizard now correctly displays prices for items that have promotion applied in modify modes.
Add a child label to the passenger in Booking Wizard (ST-1887)
Add a child label to the passenger in Booking Wizard 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.
Implement memo and new bulk endpoint (ST-1747)
Implement memo and new bulk endpoint Booking Wizard We have cached the `Check Promotions` function in Booking Wizard.
(FE) Updates to Booking Overview for Promotions (ST-1147)
(FE) Updates to Booking Overview for Promotions Booking Overview 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 star icon. The discount reflects the correct per-passenger amount, and all passenger, room, and booking totals are updated accordingly.
Booking Overview: Split Pre/Post nights into individual rows with Status (ST-1852)
Booking Overview: Split Pre/Post nights into individual rows with Status Booking Overview 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.
Bulk Manager (KT-13154)
Bulk Manager Bulk Operations 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" - "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.
Filter Control for Bulk Manager Page (KT-13157)
Filter Control for Bulk Manager Page Bulk Operations Enables filtering search by package, package component, package component option, inventory status and departure date span.
Pax and Itinerary Details Control (KT-13160)
Pax and Itinerary Details Control Bulk Operations Added information hover on bulk manager table that displays passenger and itinerary information related to the itinerary item
Inventory Checks (KT-13221)
Inventory Checks Bulk Operations We have enabled inventory checks in the Bulk Manager UI.
ReplaceItineraryItemBulk: Enable field change on replaced itinerary item (KT-13399)
ReplaceItineraryItemBulk: Enable field change on replaced itinerary item Bulk Operations Extend mapping JSON to allow changing fields on the replaced itinerary item in the Replace Itinerary Item bulk operation.
Hardening of KtApiPriceQuery when sending PromoEffectIds to include both ItineraryItem promoEffectIds and PassengerItineraryUnitAssignment PromoEffectIds (ST-1941)
Hardening of KtApiPriceQuery when sending PromoEffectIds to include both ItineraryItem promoEffectIds and PassengerItineraryUnitAssignment PromoEffectIds Promotions 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.
Unlinking and linking pax in adding a pax/room results in an error (ST-1175)
Unlinking and linking pax in adding a pax/room results in an error Booking Wizard Addressed an issue when new passenger in change occupancy gets linked and unlinked and again linked to contact results in error.
GOT promotion is not getting applied even after it is displaying during the booking flow (ST-1194)
GOT promotion is not getting applied even after it is displaying during the booking flow Booking Wizard To be added
(Temp Hold) Error not displayed in case of changed (insufficient) availability for Pre/Post stay options (ST-1442)
(Temp Hold) Error not displayed in case of changed (insufficient) availability for Pre/Post stay options Booking Wizard The system now correctly processes mix request statues scenarios when creating temporary hold items.
Null pointer thrown when saving multiple promos applied to the same room (ST-1520)
Null pointer thrown when saving multiple promos applied to the same room Booking Wizard Fixed the issues caused by multiple promos applied to the same pre and post stay nights.
Change Occupancy flow - 'No Cabin Number found' error is displayed for RYX 2025 (Intermittent error) (ST-1675)
Change Occupancy flow - 'No Cabin Number found' error is displayed for RYX 2025 (Intermittent error) Booking Wizard to be added
Allotment (available units) not updated on selection from Options (vs. Pre/Post Stay) (ST-1730)
Allotment (available units) not updated on selection from Options (vs. Pre/Post Stay) Booking Wizard 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.
Solo Savings and promo codes stopped working in the newest origin/feature/ST-1663-package-promotions branch (ST-1783)
Solo Savings and promo codes stopped working in the newest origin/feature/ST-1663-package-promotions branch Booking Wizard Fixed promotion check bulk request and data model for promo codes. Promo code modal now only returns promotions applicable to the entered promo code.
Promo response doesn't have target rooms (ST-1848)
Promo response doesn't have target rooms Booking Wizard Updated Booking Wizard to support a new promotions bulk check endpoint to handle target rooms correctly.
Custom fields don't work with GOT (ST-1849)
Custom fields don't work with GOT Booking Wizard Updated Booking Wizard to support a new promotions bulk check endpoint to support account custom fields.
Booking the same Cabin number possible in concurrent sessions (ST-1858)
Booking the same Cabin number possible in concurrent sessions Booking Wizard The system no longer allows the same cabin to be booked in multiple concurrent sessions.
Promotion currency is incorrect in the Booking Wizard summary (ST-1895)
Promotion currency is incorrect in the Booking Wizard summary Booking Wizard Fixed the displayed promotion currency in the Booking Wizard summary section.
Adding a pre stay night via Modify Package shows as consecutive nights in the UX Wizard but adds 2 of same night (ST-1905)
Adding a pre stay night via Modify Package shows as consecutive nights in the UX Wizard but adds 2 of same night Booking Wizard Fixed a bug where, for incremental pre/post night options, newly selected options were reserved with incorrect dates.
Gift of Time Promotion only applying to Room 1 (ST-1924)
Gift of Time Promotion only applying to Room 1 Booking Wizard 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.
GOT Promotion does not show up in Booking Overview tab (ST-1195)
GOT Promotion does not show up in Booking Overview tab Booking Overview 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.
Negative Adjustments in Booking Overview appear on two lines (ST-1553)
Negative Adjustments in Booking Overview appear on two lines Booking Overview 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).
Booking overview not refreshed after occupancy change (ST-1683)
Booking overview not refreshed after occupancy change Booking Overview Booking overview is now refreshed after occupancy change
Transfer Package/Departure - Reversed passenger order in 'Select Rooms' sets wrong primary traveler in new itinerary (ST-1798)
Transfer Package/Departure - Reversed passenger order in 'Select Rooms' sets wrong primary traveler in new itinerary Booking Overview Addressed an issue passengers order in booking overview and pop-ups wasn't consistent
Enable BookingWizard configuration on Booking Overview (ST-1805)
Enable BookingWizard configuration on Booking Overview 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.
Price before cancellation for cancelled pax is incorrect in BO - CO and Transfers (ST-1962)
Price before cancellation for cancelled pax is incorrect in BO - CO and Transfers Booking Overview We have resolved issues with the Booking Overview `Price Before Cancellation` display for cancelled pax.
Price Requests sent when price seasons in the past (ST-1347)
Price Requests sent when price seasons in the past Price Model 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.
Passenger Grid - Checkbox (Lead Passenger) Not Displayed Correctly (ST-1368)
Passenger Grid - Checkbox (Lead Passenger) Not Displayed Correctly Passenger Grid 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.
Error thrown on Builder line when no location specified (ST-1562)
Error thrown on Builder line when no location specified Itinerary Builder 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.
Trip from a Contact record does not pre-populate Contact Name and Account (KT-9059)
Trip from a Contact record does not pre-populate Contact Name and Account Itinerary Builder Trips created from contact now prepopulate Contact Name and Account. _Related Support Tickets: KHELP-9663 & KHELP-10373_ KHELP-9663 KHELP-10373
Various Improvements after Demo (KT-13445)
Various Improvements after Demo Bulk Operations This ticket addresses and implements several fixes for Bulk Operations.
Filtering by Departure Date doesn't work on Bulk Manager (KT-13560)
Filtering by Departure Date doesn't work on Bulk Manager Bulk Operations We have fixed a bug in the package departure dates filter.
Package Departure Date reflecting wrong date in Package Departure Component Assignment Modal (KT-13458)
Package Departure Date reflecting wrong date in Package Departure Component Assignment Modal Package Editor 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.
Standalone Package search broken after release of 21.33 to Belmond due to AccountID being required (ST-1902)
Standalone Package search broken after release of 21.33 to Belmond due to AccountID being required Package Search 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.