Package Modifications Guide
Complete User & Admin Documentation
Package Modifications is Kaptio’s unified framework for handling booking changes. It provides a single entry point for four key capabilities: modifying options, changing occupancy, processing cancellations, and transferring passengers between bookings.
What’s Included
Modify: Change services, options, and itinerary items Change Occupancy: Add or remove passengers, reassign rooms Cancellation: Cancel full bookings, individual passengers, or specific services Transfer: Move passengers and payments between bookings
Available In
Circle Sell Voyage Train Voyage Cruise
Related Resources
-
Package Modifications Showcase - Marketing overview
-
Manage Booking E2E Outcome - Full capability context
Before using Package Modifications, ensure the following are configured:
| Requirement | Details | Who Configures |
|---|---|---|
| Kaptio Package | Version 22.x or higher with Package Modifications feature | Kaptio |
| Booking Overview | Component added to Itinerary Lightning Record Page—this is where all modification actions are launched | Admin |
| Pilot Features | Enabled for your org (see Admin Configuration) | Kaptio / Admin |
| User Permissions | Appropriate permission sets assigned | Admin |
| Cancellation Policies | Configured on Itinerary or Channel level | Admin |
Package Modifications is accessed from the Booking Overview component on the Itinerary record page.
Prerequisites
Booking Overview Component Required
The Booking Overview component must be configured on the Itinerary Lightning Record Page. This is where all Package Modification actions are launched from—there is no separate button in the record action bar.
Steps to Launch
-
Navigate to the Itinerary record you want to modify
-
Locate the Booking Overview component on the page
-
Click the relevant action (Modify, Change Occupancy, Cancel, or Transfer)
-
The Booking Wizard opens in the appropriate modification mode
When Package Modifications is NOT Available
The actions may be disabled if: Another modification is currently being processed The booking is in a read-only state (e.g., historical snapshot) Required pilot features are not enabled for your org If actions are missing entirely, check that the Booking Overview component is on the page layout.
Modification Types Available
Based on your permissions and pilot features, you’ll see options for:
| Modification Type | Pilot Feature Required | Description |
|---|---|---|
| Modify Itinerary | PackageModification | Change options, services, and itinerary items |
| Change Occupancy | ChangePackageOccupancy | Add/remove passengers, reassign rooms |
| Cancel | CancelRoomOrPackage | Cancel passengers, rooms, or full booking |
| Transfer | ChangePackageOrDeparture | Move passengers to different departure/booking |
The Modify capability allows you to change package options, upgrade services, and adjust itinerary items while preserving original pricing for unchanged elements.
Common Use Cases
-
Upgrade from standard to premium cabin
-
Add optional excursions post-booking
-
Change meal preferences or dietary requirements
-
Swap hotel room types within the same property
-
Update passenger details and assignments
Step-by-Step Instructions
-
Launch Package Modifications from the Itinerary
-
Select “Modify Itinerary”
-
Navigate to the service or option you want to change
-
Make your changes (upgrade, swap, add)
-
Review the price comparison showing original vs. new pricing
-
Click “Save Changes” to apply
Price Preservation
Unchanged items retain their original booked price. Only new or modified items are priced at current rates. This protects customers from price increases on services they already booked.
Change Occupancy handles any combination of passenger and room adjustments—with smart pricing logic that protects remaining travelers.
Supported Scenarios
| Passengers | Rooms | Example |
|---|---|---|
| ↑ Add | ↑ Add | +2 passengers, +1 cabin |
| ↓ Remove | ↓ Remove | 2→1 pax, double→single (most common) |
| ↑ Add | = Same | Add child to existing room |
| = Same | ↔ Reassign | Move passengers between rooms |
| ↓ Remove | = Same | Remove 1 from shared room, other stays |
Step-by-Step: Reduce Occupancy (2 pax → 1 pax)
-
Launch Package Modifications from the Itinerary
-
Select “Change Occupancy”
-
In the passenger list, select the passenger to remove
-
Confirm the room adjustment (double → single)
-
Review the price recalculation
-
Click “Save Changes”
Surviving Passenger Protection
When one passenger leaves a shared room, cancellation fees apply only to the departing passenger—not the one continuing their trip. The surviving passenger’s booking is simply repriced for the new room type.
Adding Passengers
To add passengers with new rooms, you may need to use Package Search + Booking Wizard to add to the existing Itinerary, rather than Change Occupancy. Change Occupancy is primarily for adjusting existing passengers and rooms.
Cancellation allows you to cancel full bookings, individual passengers, or specific services with automatic fee calculation based on your configured policies.
Cancellation Types
| Type | What’s Cancelled | Fee Application |
|---|---|---|
| Full Booking | Entire itinerary, all services, all passengers | All policies applied; Itinerary record type changes |
| Passenger | One passenger; others continue | Fee applies to cancelled passenger only |
| Service/Room | Individual services, excursions, or room bookings | Service-specific cancellation group policy |
How Cancellation Fees Are Calculated
Fees are determined by these factors (in order of priority):
-
Cancellation Policy - From
Itinerary__c.CancellationPolicy__cor fallback toChannel__r.CancellationPolicy__c -
Days Before Travel - Calculated from today to
Itinerary.Start_Date__c -
Cancellation Group - From
Itinerary_Item__c.CancellationGroup__corItem__r.CancellationGroup__c
Example Policy Tiers
| 60+ days before travel | 10% fee |
|---|---|
| 30-59 days | 25% fee |
| 15-29 days | 50% fee |
| 0-14 days | 100% fee |
Policy tiers are fully configurable per your business requirements.
Manager Override
Users with the CanOverrideCancellationPercentage custom permission can override the calculated fee percentage for exceptional circumstances. All overrides are logged with user attribution.
Excluded Services
Some services may be marked as
excludeFromCancellationin their cancellation response. These cannot be cancelled through the standard flow and may require manual intervention.
Component Cancellation Controls
Two checkboxes on the Package Component control whether optional services are included in cancellation fee calculations:
IsMainComponent__c— When ticked on optional components, they are included in percentage-based cancellation fee calculations (e.g., 25% of total)IsMainTourComponent__c— When ticked on optional components, they are included in fixed-amount cancellation fee calculations (e.g., a flat fee) Note: ThePackage Totalssetting (PackageTotals__c) does NOT affect cancellation fees, payment schedules, or itinerary rollup totals. It only affects content generation (documents/PDFs) and the Costings hover display. See the Package Setup Configuration Guide for details. Source: Confirmed via field testing and code review inCancellationFeeCalculations.cls.
Transfer allows you to move passengers and their payments from one booking to another—typically when changing departure dates.
Transfer Types
| Type | Description | Source Itinerary Status |
|---|---|---|
| Complete Transfer | All passengers move to new booking | Marked as Transferred/Cancelled |
| Partial Transfer | Some passengers move; others stay | Continues with remaining passengers |
How Payment Transfer Works
-
Transferable Value is calculated from the source booking
-
Hold-Back is applied for non-transferable items (e.g., travel insurance, non-refundable deposits)
-
Net Transfer = Transferable Value - Hold-Back
-
Balance Due is calculated if the new booking costs more
Cancellation Fee Waiver
When transferring to another date/package, cancellation fees are waived for all transferred passengers. This encourages rebooking rather than full cancellation.
Step-by-Step: Transfer to New Departure
-
Launch Package Modifications from the source Itinerary
-
Select “Transfer”
-
Select the passengers to transfer
-
Search for and select the target departure/package
-
Review the hold-back calculation and balance due
-
Click “Confirm Transfer”
Linked Records
Source and destination itineraries are automatically linked for complete audit trail. You can navigate between them from either record.
Package Modifications capabilities are controlled by Pilot Features. These must be enabled for your org before users can access them.
Required Pilot Features
| Pilot Feature | Enables | API Name |
|---|---|---|
| Package Modification | Booking Wizard in modification mode; general modifications | PackageModification |
| Change Package Occupancy | Booking Wizard in change occupancy mode | ChangePackageOccupancy |
| Cancel Room or Package | Booking Wizard in cancellation mode | CancelRoomOrPackage |
| Change Package or Departure | Booking Wizard in transfer mode | ChangePackageOrDeparture |
Enabling Pilot Features
Pilot features are managed through Custom Settings (PilotFeature__c). Contact Kaptio Support to request enablement for your org.
Opt-In Required
Pilot features have special requirements that users must opt into. Ensure you understand the implications before enabling.
Users need appropriate permissions to use Package Modifications features.
Custom Permission: Override Cancellation Percentage
| Developer Name | CanOverrideCancellationPercentage |
|---|---|
| Purpose | Allows users to override calculated cancellation fee percentages |
| Assign To | Managers, supervisors, or specific users who need override capability |
Assigning the Custom Permission
-
Go to Setup → Permission Sets
-
Open the Permission Set that should have override capability (or create a new one)
-
Click “Custom Permissions”
-
Click “Edit”
-
Add
CanOverrideCancellationPercentageto Enabled Custom Permissions -
Save
-
Assign the Permission Set to appropriate users
Checking Permission Assignment
The system checks permission via
SetupEntityAccessandPermissionSetAssignmentfor the current user. If override is not working, verify the permission set is correctly assigned.
Cancellation policies define the fee percentages based on how far in advance a cancellation is made.
Policy Configuration Levels
-
Itinerary Level -
Itinerary__c.CancellationPolicy__c(takes priority) -
Channel Level -
Channel__c.CancellationPolicy__c(fallback if Itinerary policy is blank)
Cancellation Groups
Individual services can have different cancellation terms through Cancellation Groups:
-
Standard Items:
Itinerary_Item__c.Item__r.CancellationGroup__c -
Custom Items:
Itinerary_Item__c.CancellationGroup__c
Example: Different Policies
An accommodation service might have a 30-day cancellation policy, while a flight segment might be non-refundable. Cancellation Groups allow this differentiation.
Package Modifications behavior varies based on Itinerary record type.
Record Types That Block Modifications
| Record Type | Behavior |
|---|---|
| Snapshot Booking | Cannot modify; historical snapshot record |
Cancellation Record Type
When a full booking is cancelled, the Itinerary record type changes to the value configured in AppSettings__c.CancellationRecordType__c.
Option Record Type
Some users have reported issues with Change Occupancy on Itineraries with the Option record type. If you encounter Error 1010, see the Troubleshooting section.
Note: Booking Amendments (Quest)
Booking Amendments is a separate feature available in Quest layer. This guide covers the Package Modifications framework for Circle Sell, Voyage Train, and Voyage Cruise. Don’t confuse the two—they serve different purposes and have different workflows.
Key custom settings that affect Package Modifications behavior.
AppSettings__c Fields
| Field | Purpose | Example Value |
|---|---|---|
CancellationRecordType__c | Record type to set when an itinerary is fully cancelled | Cancelled |
ItineraryStatuses__c | Status value to set when cancelling (stored as CANCELLATION_STATUS) | Cancelled |
Error Details
Error Code: 1010 Message: Invalid query arguments Details: allotment_day_changes (Not a valid mapping type)
When This Occurs
This error typically appears when:
-
Using Change Occupancy from an Itinerary with Option record type
-
The
allotment_day_changesparameter is being sent in an incorrect format -
There’s a mismatch between the UI state and what the API expects
Root Cause
The allotment_day_changes parameter is used in getAdvancedPackage() calls. When the package modification flow incorrectly populates the changeAllotmentDays object, the API rejects the request.
Troubleshooting Steps
-
Check Record Type: Verify the Itinerary record type. If it’s
Option, try converting toBookingfirst. -
Clear Browser Cache: Sometimes stale state causes parameter issues.
-
Check Console Logs: Open browser developer tools and look for the API request payload.
-
Try Different Browser: Rule out browser-specific caching issues.
-
Contact Support: If the issue persists, contact Kaptio Support with the full error details and Itinerary ID.
Workaround
If Change Occupancy fails on an Option, try converting the Itinerary to Booking status first, then perform the occupancy change.
| Issue | Cause | Solution |
|---|---|---|
| Package Modifications button not visible | Pilot features not enabled | Contact Kaptio to enable required pilot features |
| Cannot override cancellation percentage | Missing custom permission | Assign CanOverrideCancellationPercentage via Permission Set |
| Button disabled on specific Itinerary | Amendment in progress or wrong record type | Wait for amendment to complete or check record type |
| Cancellation fees not calculating | Missing cancellation policy | Configure policy on Itinerary or Channel |
| Transfer payment amount incorrect | Non-transferable items in hold-back | Review hold-back items; this is expected behavior |
| Change Occupancy only shows “Add” | Occupancy restrictions on package | Check package configuration for minimum occupancy rules |
| Optional services incorrectly included/excluded from cancellation fees | IsMainComponent__c or IsMainTourComponent__c not set correctly on Package Component | Review Package Component configuration. Tick IsMainComponent__c for percentage-based or IsMainTourComponent__c for fixed-amount inclusion. See Package Setup Configuration Guide. |
The system may block modifications in certain situations.
Common Blocks
-
Operation in progress: Another user or process is currently modifying this booking
-
Pricing recalculation: The system is recalculating prices after a previous change
-
Read-only booking: Historical snapshots cannot be modified
Resolution
Wait a moment and try again. If the issue persists, refresh the page. Most blocks clear automatically within a few seconds.
Use this checklist to verify your Package Modifications setup.
Pilot Features
-
PackageModificationenabled -
ChangePackageOccupancyenabled -
CancelRoomOrPackageenabled -
ChangePackageOrDepartureenabled
Permissions
-
Custom Permission
CanOverrideCancellationPercentagecreated -
Permission Set with custom permission assigned to appropriate users
App Settings
-
AppSettings__c.CancellationRecordType__cconfigured -
AppSettings__c.ItineraryStatuses__cincludes cancellation status
Cancellation Policies
-
Cancellation Policies created with appropriate tiers
-
Default policy assigned to Channels
-
Cancellation Groups configured for services with different terms
-
IsMainComponent__creviewed on optional Package Components (for percentage-based cancellation fees) -
IsMainTourComponent__creviewed on optional Package Components (for fixed-amount cancellation fees)
Page Layout
-
Booking Overview component added to Itinerary Lightning Record Page
-
Modification actions visible in Booking Overview
Testing
-
Modify options works on test booking
-
Change Occupancy (reduce pax) works
-
Cancellation calculates correct fees
-
Transfer moves payment correctly
-
Manager override works for users with permission
Related Documentation
-
Package Setup Configuration Guide - Master reference for package and component settings that control cancellation, search, and wizard behaviour
-
Package Modifications Showcase - Marketing overview and value proposition
-
Manage Booking E2E Outcome - Full capability context
-
Package Search Guide - For adding new bookings
Support
- Kaptio Service Desk - For feature enablement and support requests