Hawaii - Minor (22.11)
Release Summary
Kaptio is proud to announce this Patch Release for Hawaii. This release is intended to address issues with previous releases.
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: Booking Overview
Remove Cabin Copy From Booking Overview (ST-2251)
The "Cabin Number" text has been removed from the row header label to avoid confusion on Land tours where no cabin information applies. The label now displays only "Description", ensuring it is consistent and context-appropriate across all product types. Land tours will show "Description: –", while Cruises will continue to display full cabin details (e.g., "Description: 301 – Cat 5, Diamond Deck, 190 SqFt"), with cabin notes retained as before.
Feature: Booking Wizard
Update item prices in summary section in Booking Wizard modify mode (ST-1870)
Booking Wizard now correctly displays prices for items that have promotion applied in modify modes
Ensure Correct Pricing is Loaded in Booking Wizard (without Promotions) (ST-2133)
Modified logic to ensure pricing is correct in Change Occupancy/Modify modes of Booking Wizard when no Promotions are applied.
Verify that re-application of promotions are applied (ST-2134)
All promo codes are loaded correctly in modify and change occupancy mode.
Bug Fixes
Birth Certificate Identity Type Incorrectly Requiring Document Number and Expiration Date in PGI (CEE-256)
Updated the PGI form validation logic to make the "Expiration Date" field optional when "Birth Certificate" is selected as the Identity Type.
Related Support Ticket: KHELP-11576
Connect Meal Plan Id isn’t saved on package live accommodation (CEE-422)
We fixed an issue when the Connect Meal Plan Id wasn’t saved on live accommodations that are part of a package, which caused incorrect pricing.
Related Support Ticket: KHELP-12244
Price Category Column Shows Price Category Label Instead of Fare Class on Inline Manual Rail Items (CEE-446)
Fixed the price category display logic for manually created rail items to show the entered Fare Class value in the Price Category column instead of the "Ticket" price category label. The Builder now correctly reflects the specific fare class information provided during creation.
Related Support Ticket: KHELP-12267
Service Descriptions and Images Not Displaying in Quote Document Detailed Itinerary (CEE-465)
Fixed the document generation logic to properly retrieve and include service-level descriptions and images when generating quote document detailed itineraries.
Related Support Ticket: KHELP-12286
Pricing Calculation Errors in Amendments with Rail Items (CEE-483)
Fixed child Rail Itinerary cloning on amendment creation
Related Support Ticket: KHELP-12300
Error When Editing Manual Rail Services (CEE-486)
Fixed the issue in Builder where a manual rail item could lose its price category information, which caused the "Cannot read properties of null (reading 'priceCategories')" error.
Related Support Ticket: KHELP-12312
Unnecessary price recalculation when deleting or replacing Builder Lines (CEE-494)
Modified the save logic to distinguish between price affecting modifications (dates, occupancy, service changes) and administrative updates (Order field changes)
Related Support Ticket: KHELP-12322, KHELP-12323, KHELP-12204
Builder - Manual Rail - Price Not Adjusting when Changing the PAX Quantity (CEE-496)
Fixed an issue where prices did not recalculate for manual rail items after adjusting the number of passengers. Manual rail price now updates correctly when changing passenger quantity.
Related Support Ticket: KHELP-12325
Page itemmedia doesn’t exist error (CEE-500)
Fixed the Service Lightning Page layout
Related Support Ticket: KHELP-12318
API Activity and Transfer Booking Failures Due to Missing Additional Questions (CEE-501)
The Service Search workflow was no longer sending a critical second API request that included "include_contents": true. We have restored the second API request.
Related Support Ticket: KHELP-12317
Live API Accommodation Rooms with Different Configurations Not Priced Correctly in Packages (CEE-503)
Fixed the package addition logic to correctly map API-returned options to their corresponding itinerary items based on the for_units attribute. Each itinerary item now receives the appropriate connect details (Option Id, Meal Plan Id, and Rate Reference) for its specific room occupancy configuration.
Related Support Ticket: KHELP-12326
"Recheck Inventory" Button Error on Itineraries Due to Missing Field in Query (CEE-505)
Fixed the SOQL query used by the "Recheck Inventory" function to include the OriginalId__c field on Itinerary Items. The query now retrieves all necessary fields, allowing the inventory recheck process to complete successfully on itineraries.
Related Support Ticket: KHELP-12331
"Out of bounds" error on package components with new Record types (CEE-514)
Fixed the array/list indexing logic in the package component creation process to properly handle the new record types. The system now correctly accesses data for all available record types without attempting to access invalid array indices.
Passengers Allocation Tab Empty After Bulk Move in Builder (CEE-516)
Fixed the data refresh logic to properly update the Allocations tab view after bulk move operations are saved. The system now correctly refreshes allocation data in the UI without requiring a manual page refresh.
"Publish" Button Incorrectly Requiring Email-Related Fields on Document Preview (CEE-518)
Removed email-related validations from the "Publish" button logic. The "Publish" button now allows users to publish itinerary content and return to the itinerary details page without requiring:
-
A primary contact on the itinerary
-
An email address on the contact
-
An email template on the channel’s stage
Related Support Ticket: KHELP-11600
Passengers - Lead Pax Name Not Sticking (CEE-529)
Fixed lead passenger First and Last name on trip creation for B2B channel
Related Support Ticket: KHELP-12353
Reseller Commission Not Recalculated After Service Cancellation via API (CEE-532)
Fixed the cancellation logic to properly recalculate reseller commission proportionally when services are cancelled
Related Support Ticket: KHELP-12356
Itinerary Cancellation Failure with Confirmed Live Rail Items (CEE-534)
Fixed the type handling logic in PriceLineFactory.calculateCancelledTotalPrice to properly handle rail-specific request objects during cancellation price calculations. The system now correctly processes all request types without attempting invalid type conversions.
Service Setup - SObject row was retrieved via SOQL without querying the requested field: KaptioTravelItemc.Name (CEE-527)
Fixed an error on the Service Setup page where the Geolocation section failed to load and displayed an error message: "SObject row was retrieved via SOQL without querying the requested field: Name"
Corrected field references in the Service Geolocation section to properly access service information.
Related Support Ticket: KHELP-12351, KHELP-12281
Promotions in Booking Wizard: Promo-code Promotions are not retained when entering Modify Modes (ST-1351)
Fixed the promo codes in the modify mode.
Duplicate adjustment types are displayed in Adjustments (ST-1428)
We resolved an issue where a single Adjustment Service with multi-currency pricing e.g. USD, AUD, GBP, CAD incorrectly appeared as four separate records in the Adjustments tab. The system now correctly displays only the applicable adjustment based on the Itinerary currency.
Change Occupancy and Modify - Save retried results in double rooms being created (ST-1651)
Added additional logic to ensure that once an itinerary modification process happens the Booking Wizard overlay is closed. This prevents an issue where a save process completes, but fails to redirect, Booking Wizard "appeared" to hang. This should no longer be the case.
Cabin appears booked by 10 passengers (ST-1754)
Fixed the issue where Number of Active passengers was incorrect after cancelling passengers. With this fix, Service Cabins show correct number of active passengers on room creation, passenger cancellation, etc.
Should not be able to unlink contacts from passenger grid (ST-1846)
Prevented users from unlinking Salesforce Contacts from Passenger records once a payment has been applied to that passenger. The Contact–Passenger link is now disabled after payment to preserve travel history, profile data, and ensure data consistency across platforms, requiring users to use the proper modify/cancel flows for any changes.
Group size and group flag are not updated in the originating itinerary after some guests are transferred to a different package or departure (ST-1928)
Updated updateItineraryGroupSizes logic to handle scenarios where passengers are transferring to another package/date. Those passengers will now be removed from the original(source) itinerary GroupSizec
Temporary hold is not considering the last day of the cruise/cabin component (ST-2007)
Fixed an issue where temporary cabin holds for cruise components (e.g. RYX-2025) did not include the final service day (cruise end date). The temp hold logic now correctly covers all service days from start to end date, and held inventory is accurately reflected for the entire cabin/cruise duration.
After transfer the new itinerary status is Active booking however payment is not done yet (ST-2072)
Added logic to set the same record type on the transferred itinerary as the original itinerary.
Change occupancy: When a new room is added or the occupancy of an existing room is updated on an itinerary with active booking status, the inventory for the Tour and Maxpax components are shifted to reserved units instead of booked units (ST-2088)
Fixed an issue in Change Occupancy where adding a new room or increasing room occupancy on an itinerary that was paid and in Active Booking status moved tour and Maxpax inventory to reserved instead of booked units. Inventory for newly added or updated occupancy now correctly moves directly to booked units for active, paid itineraries.
Modify Package - When a pre-stay is extended by two days on an itinerary with active booking status, the inventory for the second day of the pre-stay is allocated to reserved units rather than booked units. (ST-2090)
Fixed an issue in Modify Package where adding or changing PRE/POST stays on an itinerary that is paid and in Active Booking status moved the new inventory from held to reserved instead of booked. Inventory for modified PRE/POST nights now correctly moves to booked units for active, paid itineraries.
Modify flow - Pre night : Inventory is released from a wrong date when one of the pre-nights is removed (ST-2091)
Inventory is now correctly released.
Package Search: Discounted prices not visible for Cabins when Waitlist feature enabled (ST-2169)
Resolved an issue where cabin prices in Package Search did not display promotional pricing when the Waitlist feature was enabled. Previously, promotions such as Cruise Solo Savings were not applied visually—strike-through original prices and reduced promotional prices were missing—despite appearing correctly later in Booking Wizard and on the itinerary. With this fix, promotional pricing now displays consistently and correctly in Package Search, matching expected behavior.
PNR Import - Fare breakdown not found for pax with id Error (ST-2179)
Added logic to check for valid breakdown for paxId and log to ServiceMonitor if there’s an error.
Transfer Package/Departure - Solo savings applied in Booking Wizard during transfer is not saved to Booking overview (ST-2191)
Promotions applied during a room transfer were previously shown correctly in the Booking Wizard but were not being carried through to the final Booking Overview after changes were added to the itinerary. This occurred because room-level and passenger-level promotion applications were not included in the transfer parameter payload. The transfer logic has now been enhanced to preserve all promo effect applications by room, ensuring that promotions displayed during the transfer flow are saved correctly and appear as expected in the Booking Overview.
Passenger effective date is empty in Booking Wizard (ST-2198)
The booking context date is used to fetch promotions in Booking Wizard.
Promotion effect ids and codes are not set (ST-2199)
The promotion effect ids and codes are set correctly when applying the promo code without changing the selection.
Same Cabin was booked for two different Guests - when booked in seconds off (from joint testing team) (ST-2206)
We have added a spinner when selecting cabins, so it’s not possible to select another cabin before first one is selected.
Promotions are not re-evaluated (ST-2227)
The promotions are correctly re-evaluated when linking and swapping the passengers.
Promotions_in modify mode package or item price on load is reduced by discounted value (ST-2234)
The Booking Wizard summary section prices has been fixed.
Gift of Time Promo Code discount not visible on modify in Booking Wizard (ST-2236)
Promo Code discount is now visible in Booking Wizard when modifying.
When Air is booked, Wrong Air rate is displaying on Booking Overview (ST-2238)
A fix has been implemented to address an issue where the Booking Overview failed to display correct pricing for non-package items, specifically air reservations created through RightRez. After completing the PNR creation and returning to the itinerary, the air pricing shown in the Overview tab did not match the pricing presented in RightRez—or in some cases did not display at all—for both Water and Land tours. The logic responsible for loading and rendering air pricing has been corrected so that the Booking Overview now accurately reflects the selected flight prices following PNR creation.
Change Occupancy: Wrong prices in Booking Overview and Costings tab after removing 1 passenger (ST-2244)
Fixed an issue where prices were displayed incorrectly in the Booking Overview and Costings tabs after a passenger was removed.
Child discount: Package price discounted for adult passenger (ST-2276)
Resolved an issue where, under specific booking sequences, a child discount was incorrectly reducing the tour price for an adult passenger. When users selected a child before an adult within the Booking Wizard, the child appeared first in the room summary, and although the discount was correctly applied in Booking Overview and the Passenger Itinerary Unit Assignment was linked only to the child, the Costings tab showed a reduced adult price. This occurred because the SELLPROMO record was being linked to both price lines in the second room, causing the adult fare to reflect an unintended double discount. The pricing logic has now been corrected to ensure the child discount applies only to eligible passengers, keeping Booking Overview and Costings aligned.
Ability to consume inventory for shore excursions - Ecommerce (ST-2282)
New API Method: getLineItemsByPackageTimeStamp
We’ve added a new API method that allows you to programmatically retrieve line items and previous state data for a specific package timestamp on an itinerary.
Usage
The getLineItemsByPackageTimeStamp method is now available through the BookingApi callable service. You can invoke it by passing an itinerary ID, package timestamp, and physical inventory selection flag:
Map<String, Object> arguments = new Map<String, Object>{
'getLineItemsParams' => new Map<String, Object>{
'itineraryId' => 'a26TA000002cOHtYAM',
'packageTimestamp' => '1234567890',
'physicalInventorySelection' => true
}
};
Map<String, Object> result = Tauck.ServiceCall.execute('BookingApi.getLineItemsByPackageTimeStamp', arguments);
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
itineraryId |
String |
Yes |
The Salesforce ID of the itinerary |
packageTimestamp |
String |
Yes |
The package timestamp to retrieve line items for |
physicalInventorySelection |
Boolean |
Yes |
Flag indicating whether physical inventory selection is enabled |
Response
Returns a Map<String, Object> containing the previous state data including:
-
itineraryItemsDtoByRecordIds - Itinerary items mapped by their record IDs
-
departureCabinDataByPassengerId - Departure cabin data mapped by passenger ID
-
itineraryItemsIdsByPassengerId - Itinerary item IDs mapped by passenger ID
-
passengersByOriginalRoomNumber - Passengers mapped by their original room number
-
contactIdByPassengerId - Contact IDs mapped by passenger ID
-
rooms - Room DTOs with room assignments and cabin selections
Promotions Solo Savings Water: Promo amount not cleared in Booking Wizard when changing cabin type to effect different promo (ST-2291)
Fixed the issue with duplicate promotions for cabins.
Promotions Gift of Time promotion accommodation amount saved in 'Cancellation Fee' on room cancellation (ST-2297)
A fix has been implemented to resolve an issue where cancelling a room with an accommodation promotion—such as the Gift of Time discount—incorrectly saved the promotional discount amount as a cancellation fee. The cancellation logic has been updated so that promo values are no longer transferred to the Cancellation Fee field, ensuring that discounted amounts remain separate and cancellation fees are calculated correctly.
Promotions Modify Gift of Time Booking Wizard summary not updated when changing promo effected accommodation (ST-2302)
Fixed an issue where pre-stay pricing was stored in reversed order in the Booking Wizard state, causing the first night e.g., priced at 50, to display the wrong date and a different price e.g., 300. The pre-stay state is now stored correctly.