Duomo - Minor 1 (18.6)
Release Info
Release Summary
In this minor release of Duomo, we addressed several issues that arose from earlier releases. Additionally, we have made minor changes to the Package Search feature, focusing on improving its functionality.
Please see the deployment guide for important information regarding the package installation
New Enhancements
Launch Options for Package Search
Launch Options for Package Searchturned_in Starting from this release, we have enabled our users to launch Package Search from various places within Kaptio Travel and Salesforce platform. Depending on the context from which the package search is launched, we have set default values as much as possible to help users start their search more efficiently. Additionally, we have adjusted the Package Search to be displayed within components on the pages instead of taking over the entire screen. This is to allow users to be able to navigate to other records while viewing the package search. To achieve the goal of enabling users to quickly start searching for package options, we have introduced a few enhancements listed below. Please continue reading if you are interested.

New fields on Account object
On Accounts we have introduced two new fields: Primary Channel and Available Channels. The value selected as Primary Channel is the channel which will be defaulted in Package Search for a given Account and related contact. For Available Channels, the selected values will be available for the user in package search when launching package search from a particular account or contact. In other words, if the user tried to change the primary channel selection he’ll be able to select from the list of channels set as the Available Channels.
Additionally we’ve introduce a new field, Primary Household Member, to allow for a default primary contact to be set when package search is launched from Households.
How to enable
-
The new fields need to added to the relevant page layouts.
-
The picklist values for these two fields will need to be set in each org. Where the labels should be set the same as the names of your channels, however, please make sure that the API names for the picklist values match exactly the value set in the Channel Code field (
Channelc.ChannelCodec
) for each channel.
Launching Package Search from Account
This means that now when a user launches package search from an Account the channel is defaulted as well as the currency based on the setup on the account.
If the primary currency on the account is not allowed for the primary channel selected for the account, the currency defaulted in package search will be the default currency for the channel and the user will be able to override with all available currencies within the selected channel. |
Launch Package Search with a flow
We are happy to announce that we’ve introduced a Lightning Web Component which allows our customers to setup their own custom flows to initiate Package Search with the desired input or from a different object.
The following variables are available to be set through the flow:
-
Account
-
Contact
-
Currency
-
Date From
-
Date To
-
Default Tax Profile
-
Primary Contact Email Override
-
Room Configuration
-
Channel
-
Itinerary
-
Trip
-
Define a back button link
-
Show back button

Not all variables need to be set and if an Account is provided then Currency, Channel and Default Tax profile will be defaulted accordingly, however if set in the flow then it will override the default values.
How to enable:
-
To use our LWC, in a flow you’ll need to add a screen element and add the
Package Search Launcher
to the screen and set the variables accordingly. -
We recommend creating a flow for a custom button on the contact object, to be able to launch package search directly from your travel agent contacts as well as household contacts if households are used in your org.
Primary Contact Email Override
You may have seen that Primary Contact Email Override is available as a variable for the Package Search Launcher. This field is available on Itineraries and if it has values then all emails that are usually sent to the Primary Contact will be sent to the address provided in Primary Contact Email Override address. Note: it does not apply for Sales Invoices or Voucher emails. If a Primary Contact Email Override address is provided in the Package Search Launcher, the value will be set on the created itinerary.
Bug Fixes
Emails can not be set up for a queue-able job
We fixed an issue where emails would not be sent when triggered by a Queueable job.
Feature: Emails
Primary Passenger value from Itinerary Group is not copied to Amendment and not merged to Primary booking
We added support for Primary passengers in Itinerary groups when creating amendments and merging them back in.
Feature: Itinerary Groups
Duplicate PGI fields on the Supplier Request
We fixed an issue where the Passenger PGI table would show the columns twice.
Feature: Supplier Emails
Related support ticket: KHELP-10227
Cancelling Passengers is not functioning when cancellation policy is not set
We fixed an issue that stopped the cancellation of passengers when there was no cancellation policy.
Feature: Cancellation Policies
Related support ticket: KHELP-9430
Cloning Passengers does not clone Primary Passenger assignment in Itinerary Groups
We added support for cloning the Primary passenger assignments in Itinerary Groups.
Feature: Itinerary Groups
Related support ticket: KHELP-9595
Focus when typing in input fields in Builder flicks
We fixed a keyboard focus issue in Itinerary builder.
Feature: Itinerary Builder
Related support ticket: KHELP-9537, KHELP-9638
HTML not being rendered in emails to Suppliers using Supplier Notes
In this release we fixed an issue with supplier notes and raw HTML being presented. Now we have fixed it so that the text renders properly instead of showing the HTML code that controls the layout.
Feature: Supplier Notes
Related support ticket: KHELP-9613, KHELP-10227
Builder Save buttons and utility bar appear in the Service Search
Fixed an issue where the Save and Cancel buttons on Itinerary builder would not be displayed as intended.
Feature: Itinerary Builder
Related support ticket: KHELP-9932, KHELP-10260
Itinerary Items and Bookings work incorrectly with disabled smart dates
We fixed an issue with Itinerary items and bookings not working consistently when Smart Dates was disabled.
Feature: Itinerary Items
Related support ticket: KHELP-9984, KHELP-10091, KHELP-9450, KHELP-9526
No results from service search for a single service
We fixed an issue where Services would not be shown in Service search if only 1 service was available.
Feature: Service Search
Package Search: Package Name Field not respecting Account specific Access Rules
We fixed an issue where the Package Name field did not adhere to Account specific Access Rules. For example, if an Access rule is configured to include a specific Account and linked to Package A, Package A will now only display in Package Search accessed from an Itinerary that is linked to the specific Account.
Feature: Package Search
The clicked on hotel record becomes deselected in the pick up from hotel dropdown field instead of selected.
We fixed an issue with the pickup drop down options in service search.
Feature: Service Search
Client Documents Notes input in the Content Settings is not a rich text edit
We have changed the input field for Client Document notes in Content Settings to be a rich text editor.
Feature: Itinerary Notes
Related support ticket: KHELP-9705
When opening certain Packages in Package Search, an error is showing
We fixed an issue in Package Search where an error displayed if a Package (with Package day locations configured) was expanded to view the day by day summary.
Feature: Package Search
Related Support Ticket: KHELP-10276
Clicking on Cancel button in Integration tab throws an error
We fixed an issue with the cancel button on the Integrations tab in Kaptio Settings.
Feature: Wetu Content
Error when trying to manage Supplier Invoices using Bulk mode
We fixed an issue with the Bulk Invoice Allocation function that displayed an error on creation of a Supplier Invoice.
Feature: Supplier Invoices
Related Support Ticket: KHELP-10216
Rail Booking Failure when using Multi-Segment
A Rail booking issue was fixed where rail bookings were failing to confirm when attempting to book multiple segment rail journeys.
Feature: Rail Service Search
Related Support Ticket: KHELP-10212
Lightning Package Editor should allow users to add custom fields
We fixed an issue where custom fields couldn’t be added to modals in the new Package editor.
Feature: Package Editor
Related support ticket: KHELP-10116, KHELP-10385, KHELP-10450
When opening certain Packages in Package Search, an error is showing
We fixed an issue in Package Search where an error displayed if a Package (with Package day locations configured) was expanded to view the day by day summary.
Feature: Package Search
Related Support Ticket: KHELP-10276
Clicking on Cancel button in Integration tab throws an error
We fixed an issue with the cancel button on the Integrations tab in Kaptio Settings.
Feature: Wetu Content
When opening certain Packages in Package Search, an error is showing
We fixed an issue in Package Search where an error displayed if a Package (with Package day locations configured) was expanded to view the day by day summary.
Feature: Package Search
Related Support Ticket: KHELP-10276
Clicking on Cancel button in Integration tab throws an error
We fixed an issue with the cancel button on the Integrations tab in Kaptio Settings.
Feature: Wetu Content
Incorrect tab behaviour when generating itinerary content with disabled wizard
We fixed an issue where the page would show an infinite loading icon when Itinerary content is generated and the Wizard is disabled.
Feature: Content
Related support ticket: KHELP-10244, KHELP-10363
Incorrect dates and prices on booking-allocation add-ons in builder
We fixed an issue where Dates and Prices were incorrect in in builder when coming from an add-on
Feature: Itinerary Builder
Related support ticket: KHELP-9402
Package Search: Add to Itinerary user notification is missing
We fixed an issue where the Adding to Itinerary modal was not displayed in Package search.
Feature: Package Search
Related support ticket: KHELP-10280
Content Editor Issues
With the release of Duomo Major, Kaptio introduced updates to allow developers to get the Id of the document template used to generate the document in custom document components. This update resulted in an regression issue where saving a document or a document template threw an error if they contained a classic custom document components.
This issue is now fixed but customers intending to use the template Id in their custom document component will need to:
-
Check the “Is Advanced” checkbox on their component. This can be done at
Kaptio Settings
⇒Content Components
⇒Edit
next to your component. -
Update the custom component to implement
KaptioTravel.AbstractContentComponentHandler
instead of
KaptioTravel.IComponentHandler
-
Update the custom component’s to have the
init()
Function to receive a map containing multiple paramters and pass it onto their class variables:
public override void init(Map parameters) { Boolean isValid = parameters != null && String.isNotBlank( (String) parameters.get('templateId')) && String.isNotBlank((String) parameters.get('initId')); if (isValid) { itineraryId = Id.valueOf((String) parameters.get('initId')); templateId = Id.valueOf((String) parameters.get('templateId')); } }
See example of an Advanced Custom Component
Feature: Content
Related Support Ticket: KHELP-10285, KHELP-10295
Seat Maps fails on Booking
We have fixed an issue where the Book Service window would hang when something fails. Now, the Close icon and Done button remain clickable, and you no longer need to refresh the whole page to proceed on the modal.
Feature: Service Extensions
Related support ticket: KHELP-10292
Pressing Enter to confirm selection of any record in service line dropdowns causes the focus to move out of the service lines
We fixed an issue around the keyboard behaviours on Itinerary builder when a drop down menu was open.
Feature: Itinerary Builder
Hover over on Price Category, Board Basis and Add on missing
We fixed an issue where the hover over effect in package editor was not displaying the correct information.
Feature: Package Editor
The day by day package information is not displaying in the correct order.
We fixed an issue where the Day by Day package information was not displaying in the correct order in package search.
Feature: Package Search
Related support ticket: KHELP-10331
When alternating between Overview (Results) and Availability tabs/views in Package Search the Pricing Information Disappears
Issue with package price disappearing when alternating between Results and Availability has been resolved.
Feature: Package Search
Defaulting issue within package Accommodation Components
We fixed an issue where changing the defaults of a package doesn’t work for general package components after an update has been made to the bundle defaults.
Feature: Package Editor
Related support ticket: KHELP-9707
Cannot read properties of undefined (reading 'forEach') when adding manual rail
We fixed an issue where an error was thrown for manual rail when location wasn’t selected.
Feature: Itinerary Builder
Related support ticket: KHELP-10223
Itinerary line drop-down menu greyed out
We fixed an issue where the drop down menu for line items in itinerary builder appeared grey out.
Feature: Itinerary Builder
Related support ticket: KHELP-10398
New Payments page throws error with Salesforce to Salesforce enabled
We added 2 new fields to be excluded in queries (ConnectionReceivedId
, ConnectionSentId
)
Feature: Payments
Related support ticket: KHELP-10393
Component error in Package Editor when edit package component
We fixed an issue in the package editor when we edited any field.
Feature: Package Editor
Minor Fixes
Time changes needed for activities
We have improved the user experience when adding an API/Live Inventory Activity to the basket in Service Search that includes pick-up/meeting point information. The pick-up/meeting time will now be displayed earlier than or equal to the start time of the activity, for example if the activity starts at 8am, and there are pick-up times of 7am, 8am, 9am, only 7am and 8am will show as options. Additionally, both the activity start time and the pick-up/meeting time will be stored within Salesforce, ensuring that the service can be booked without error. If no suitable options are available for a pick-up or meeting, a warning message will display but the service will still be bookable.
Feature: Service Search
Store Hotelbeds Hotels voucher info
We have added new metadata to store voucher information from the API.
Feature: Content & Documents
Date Range Picker
The behaviour of the Date filter in Package search has been enhanced. When setting the FROM date, it will now automatically set the TO to the end of the calendar month that contains the FROM date.
Feature: Package Search
Seat Maps - Handle Cancel the Flow Scenario
We have enhanced the Service Extensions - Seat Map feature to cover the following scenarios:
-
If the rail route has a seat map but the user does not want to book seats, allow the user to continue with booking the Rail journey without selecting the seats.
-
Allow the user to cancel the booking when the user does not want to continue with the booking.
-
If specific rail routes or specific dates for a rail route do not have seat maps, allow the user to continue with booking the Rail journey without selecting the seats.
The fix will always invoke the seat maps flow, even when seat selection is not available for some segments i.e. seat_selection_available == null in prepare_reservation api response.
If the user clicks 'Cancel' on the Seat Map flow, as they no longer wish to continue with the booking, the Book Services modal will also close.
Feature: Service Extensions
Related support ticket: KHELP-10292
Setting for timeouts
In this release we have added a timeout configuration for API calls. The default/minimum is 60 seconds (60000 milliseconds) but this can be increased if required to a maximum of 2 minutes (120000 milliseconds). This was included to ensure Packages with many API Components can be added to an Itinerary successfully before a timeout occurs.
Feature: Package Search
Deprecate Level field on Contact object
We updated the label on the Level field on Contact object to DEPRECATED.
Feature: Contacts
Supplier Bookings usability
We adjusted the css to show the scroll bar on Supplier Bookings
Feature: Supplier Bookings
Related support ticket: KHELP-9885
When live activities with start times are added to Itinerary, activity start time should be shown
We have added support for activities with start times, and the start times will now show on builder.

Feature: Itinerary Builder
"Estimated Price"/"Price From" labels to display for out of range/in range API service results
We have modified the labels for estimated prices to better show when it’s in range and out of range and from the cache or not.

Feature: Service Search
Service Search: page with Service results jumps to the top when user goes back from View Options screen
We fixed an issue on Service search where the user was taken back to the top of the screen under some scenarios.
Feature: Service Search
Increase length of Gateway Service Code on Service Mapping Table
We increased the character limit for the Service Code and Location code fields to 255, on the Service Mapping table object.
Feature: Service Mapping
Related support ticket: KHELP-10468