Hawaii - Minor (22.17)

Release Summary


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

See Minor Changes and [Bug Fixes] for more information.


Sandbox Availability Date


2026-01-27


Release Type



Deployment Guide


See this page for the Hawaii Deployment guide.


Minor Changes


Feature: Adjustments


Expose Adjustment mechanism as an API (ST-1785)

Overview

A new callable service AdjustmentsApi has been introduced to expose Adjustment functionality for external systems. This API allows programmatic creation, deletion, and discovery of adjustments via ServiceCall.execute().


Available Methods

1. saveAdjustmentChanges

Creates new adjustments and/or deletes existing adjustment itinerary items.

Parameters:

Example:

Map<String, Object> arguments = new Map<String, Object>{
    'itineraryId' => 'a24Q1000006dVV8IAM',
    'newAdjustments' => new List<Map<String, Object>>{
        new Map<String, Object>{
            'serviceId' => 'a1eQ1000004BiPvIAK',
            'priceCategoryId' => 'a35Q1000004Jhl8IAC',
            'passengerId' => 'a2oQ100000184VjIAI',
            'value' => 1000,
            'impactsCommission' => false
        }
    },
    'deletedAdjustmentIds' => new List<Id>()
};

ServiceCall.execute('AdjustmentsApi.saveAdjustmentChanges', arguments);

2. searchAdjustments

Searches for available adjustments and retrieves their pre-defined prices from KTAPI.

Parameters:

Example:

Map<String, Object> searchArgs = new Map<String, Object>{
    'searchTerm' => '',
    'channelId' => 'a0nQ1000002LzaUIAS',
    'currencyCode' => 'USD',
    'itineraryStartDate' => '2026-02-02'
};

Map<String, Object> searchResult = (Map<String, Object>) ServiceCall.execute('AdjustmentsApi.searchAdjustments', searchArgs);
List<Object> adjustments = (List<Object>) searchResult.get('adjustments');

Response:

{
  "action": "searchAdjustments",
  "status": "success",
  "adjustments": [
    {
      "serviceId": "a1eQ1000004BiPvIAK",
      "priceCategoryId": "a35Q1000004Jhl8IAC",
      "name": "Discount - Standard",
      "value": -100.00,
      "enableManualAdjustmentPricing": false,
      "impactsCommission": true
    }
  ]
}

Note: Using an empty searchTerm ('') returns all available adjustments for the specified channel, currency, and date.


Feature: Booking Overview


  • Show Adjustments in BW Price Summary (ST-933)**

The Booking Wizard Summary has been enhanced to display adjustments per room and per passenger consistently, aligned with the logic used for Options and the Booking Overview. Adjustments are now conditionally shown or hidden based on passenger data, collapsed into a single row when all passengers share the same value, and expanded into itemised passenger rows when values differ. Zero-value passenger adjustments are hidden, room-level totals are calculated correctly, and all pricing dynamically updates after recalculation or passenger swaps. This ensures that totals and breakdowns in the summary always match what is shown in the Booking Overview.



Filter Panel - Categories - Change AND to OR logic. (CEE-574)

Added hidden Categories Search Operator configuration, enabling users to be able to search by several categories and quickly present a relevant range of options to guests who are flexible

A new hidden configuration setting 'Categories Search Operator' has been added for 'Package Search' Lightning component:

  • Allowed values: AND, OR

  • Default: AND

  • When default value AND is set, behavior remains unchanged, results include only packages matching all selected categories

  • When OR value is set, results include packages matching at least one selected category ---

Availability Results - Restore Ability to Create Itinerary without Booking Wizard (CEE-575)

  • Restore the ability to create an itinerary from the PS Availability Results tab without the Booking Wizard (BW).

  • Use existing isAddOptionsDefault config (no new config):

  • true → Add Options (opens BW)

  • false → Create Itinerary (legacy BookingFactory, no new Booking API)

  • When “Create Itinerary” is shown: dispatch addtoitinerary event with the same DTO contract/params as LwcPackageSearchResultsRowItem.

  • Remove Secondary Action (SA) dropdown/menu UI and all related JS/HTML logic from LwcPackageSearchAvailabilityRowExpanded.

  • After the change, there is only one primary button (Add Options / Create Itinerary / Join Waitlist, depending on scenario). ---

Filter Panel - Need to concatenate Package Code and Name together for Packages Selection multiselect (CEE-577)

New Feature: Display Package Codes in Package Name Selection List

Overview:

Added a configuration setting to display package codes alongside package names in the Package Name selection list, enabling users to search and select packages by code prefixes or names in a single unified interface.

A new hidden setting "Show Package Code in Package Selections" has been added to Kaptio Settings:

  • Type: Boolean checkbox

  • Default: false (maintains current behavior for existing organizations)

  • When enabled: Package codes are displayed and searchable in the Package Name selection list

  • When disabled: Current behavior remains unchanged (only package names shown)

  • Under Trip & Itinerary Settings When enabled:

  • Package Code is visible in the Package Search ---

Departure-Aware Date Defaulting in Package Search (CEE-578)

New Feature: Auto-Default Start Date to Next Available Departure Month in Package Search

Overview:

Package Search now automatically sets the Start Date to the month containing the next available future departure when packages are selected, eliminating the need for agents to manually navigate through months to find bookable dates.

Example of use:

  1. A package was searched for and selected.

  2. The yellow dates are automatically set based on the package’s first available departure date. ---

POC: Remove 20-Room Limit from PS Search Panel (CEE-598)

Expanded Room Configuration in PS Search Panel

Users can now configure more than 20 rooms in the PS search panel, enabling support for larger and more complex booking scenarios.

Room handling has been improved to provide a clearer and more intuitive user experience:

  • Room numbering updates dynamically when rooms are added or removed.

  • Each room is displayed as a pill that clearly shows its room number/index.

  • The total number of rooms is now visible in the UI and displayed in brackets (X), Improved Error Handling for Large Search Criteria

When a search exceeds system limits due to excessive criteria (for example, SOQL 101 – query too large), the application now displays a clear and user-friendly error message. This message informs users that their search criteria are too large and guides them to resolve the issue by reducing the number of rooms or adjusting search filters.

Error message shown:

Your search criteria are too large. Please reduce the number of rooms or adjust your search filters and try again.