Hawaii - Patch (22.12.5)

Release Summary


Kaptio is proud to announce this Patch Release for Hawaii. This release is intended to address issues with previous releases. ---

Sandbox Availability Date


2026-01-22


Release Type



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: Group Tour, Operational itinerary


Make 0 sell price for manually added lines in Operational Itinerary (GTT-651)

Implemented logic to enforce 0 sell price for manually added lines in Operational Itinerary


Bug Fixes


No price models available to select when assigning departures (GTT-669)

Fixed Assign Departures modal for the regions where it wasn’t working properly


Operational Itineraries created with wrong start date after implementation of optional configurations (GTT-670)

Fixed Operational Itinerary start date for PMs with optional services


Configuration Assignment Management Refactor (KT-13923)

Summary

Refactored passenger configuration assignment logic to intelligently manage configuration states instead of recreating assignments on every import. This prevents unnecessary updates and maintains audit trails through soft-delete patterns.

What Changed

Previous behavior: When importing passengers with configurations, all existing assignments were deleted and recreated, causing unnecessary updates and loss of historical data.

New behavior: Configuration assignments are now intelligently managed:

  • Existing active assignments that are still needed: Left unchanged (no unnecessary updates)

  • Soft-deleted assignments that are needed again: Reactivated to 'Active'

  • New configurations: Created as new assignments

  • Unneeded configurations: Soft-deleted (Mode__c = 'Deleted') instead of hard-deleted

Impact

  • Reduced unnecessary DML operations during re-imports

  • Maintains audit trail through soft-delete pattern instead of hard-deletes

  • More efficient: only updates what actually changed

  • Prevents duplicate assignments when re-importing the same configurations

  • Cleaner data integrity with proper state management

Migration

None required. Existing assignments continue to work; new import logic applies automatically.


Configuration Assignment Processing Fix (KT-13956)

Summary

Fixed passenger import to properly distinguish between "configuration codes not provided" and "configuration codes provided but empty" when updating passenger records. This prevents accidental removal of passenger configurations during import updates

What Changed

When importing or updating passengers with configuration assignments, the system now:

  • If ConfigCodes field is NOT included in the import: Leaves existing configurations unchanged

  • If ConfigCodes field IS included but empty: Removes all configurations for that passenger

  • If ConfigCodes field IS included with values: Updates configurations as specified

Previous Behavior

Omitting the ConfigCodes field would clear ALL existing configurations—the same result as sending an empty list, creating risk of accidental data loss.

New Behavior

Omitting ConfigCodes treats it as "no change requested" for that field, preserving existing configurations and enabling safer partial updates.

Impact

Room and amenity assignments are preserved when updating other passenger fields

Bulk imports no longer require providing ConfigCodes every time to avoid losing assignments

More intuitive behavior: omitting ConfigCodes field = no change, rather than = clear all

Improved data integrity during bulk passenger operations


Default passenger is not removed once the passenger sync was successful (KT-13957)

Passenger imports now remove all placeholder "TBD Traveller" passengers for an itinerary by matching any last-name prefix of "Traveller" rather than only the exact "Traveller 1". This ensures multiple placeholders (e.g., Traveller 1/2/3) are cleared when real passengers are imported.


Passenger fields cleared via import API and file imports (KT-13958)

Passenger fields can now be cleared via the import API and file imports (CSV/Excel): sending an empty string ("") or null for a field (e.g., Email, Passport) explicitly blanks it on the record. Fields omitted from the payload remain unchanged.