Cancellation Configurations — Setup & How They Work

To be Reviewed

How to set up Cancellation Configurations in Kaptio — the rule engine that automatically generates cancellation fee schedules for itineraries created through the Booking Wizard.

Version 12 min read | March 26, 2026 Gallery

Cancellation Configurations

Cancellation Configurations are the rule engine that automatically generates cancellation fee schedules for itineraries created through the Booking Wizard. When a traveller books a package, the system matches the itinerary against your configurations and writes the applicable fee tiers onto the booking — no manual setup per itinerary required.

Cancellation Configurations vs Cancellation Policies

These are different features. Cancellation Policies are the older, simpler mechanism tied directly to services or packages. Cancellation Configurations are the newer, more flexible system that targets itineraries based on combinations of package, channel, account, and service — and they only apply to itineraries created through the Booking Wizard (CreatedWithBookingWizard__c = true). If your itineraries are created through Costings or another method, Cancellation Configurations will not fire.


How It Works — The Three Building Blocks

A Cancellation Configuration has three parts:

  1. The Configuration — a named container (e.g., “Standard Tour Cancellation Terms”)
  2. Rules — the fee tiers inside the configuration (e.g., “50% if cancelled within 30 days of travel”)
  3. Assignments — the targeting criteria that bind the configuration to specific packages, channels, accounts, or services

When an itinerary is created or updated through the Booking Wizard, the system:

  1. Looks at the itinerary’s package, channel, account, and services
  2. Finds all active Cancellation Assignments that match
  3. Selects the best-matching assignment (more specific = higher priority)
  4. Writes the matching configuration’s rules onto the itinerary as Itinerary Cancellation Rules

These Itinerary Cancellation Rules are then used by the cancellation fee engine when the booking is cancelled.


Step 1: Create a Configuration

Navigate to the Cancellation Configurations tab in Kaptio and click New.

FieldDescription
NameA descriptive name for the configuration (e.g., “Europe Tours — Standard Terms”, “Premium Channel — Flexible”)
ActiveMust be checked for the configuration to be used. Defaults to active.

Save the record. You now have a container — next, add the fee rules.


Step 2: Add Rules

From the configuration record, navigate to the Cancellation Rules related list and create rules. Each rule defines one tier in the cancellation fee schedule.

FieldAPI NameDescription
Rule NameRuleName__cDescriptive label (e.g., “30-day cancellation fee”)
Date TypeDateType__cThe reference point for the time window — see Date Type Options
Days OffsetDaysOffset__cNumber of days from the reference point
Value TypeValueType__cPercentage Per Person or Fixed Per Person
ValueValue__cThe fee — either a percentage (e.g., 50 = 50%) or a fixed currency amount
PriorityPriority__cWhen date windows overlap, higher priority wins
Available For All CurrenciesAvailableForAllCurrencies__cFor fixed-amount rules: if checked, the amount applies to all currencies (with conversion). If unchecked, the rule only applies to itineraries in the rule’s currency.

Date Type Options

The Date Type controls which date the Days Offset is measured from:

Date TypeMeasures FromExample
Before TravelItinerary start date”60 days before the trip starts”
Before Package DepartureThe package departure date”30 days before departure” — useful for fixed-departure group tours
After BookingThe booking date”Within 14 days of booking” — for cooling-off periods
After Custom Cancellation DateA custom date field on the itinerary (CustomCancellationDate__c)For bespoke cancellation windows set per booking
After Passenger Deposit DateEach passenger’s deposit date”Within 7 days of deposit” — per-passenger flexibility

Worked Example: Tiered Cancellation Schedule

A tour operator wants these cancellation terms:

  • Cancel 60+ days before travel: 10% fee
  • Cancel 30–59 days before travel: 50% fee
  • Cancel 0–29 days before travel: 100% fee

Create three rules on the configuration:

Rule NameDate TypeDays OffsetValue TypeValuePriority
Light feeBefore Travel60Percentage Per Person101
Moderate feeBefore Travel30Percentage Per Person502
Full forfeitureBefore Travel0Percentage Per Person1003

The system evaluates rules by priority when date windows overlap. The rule with the highest priority that applies at the time of cancellation determines the fee.


Step 3: Create Assignments

Assignments bind the configuration to itineraries. From the configuration record, navigate to the Cancellation Assignments related list.

FieldAPI NameDescription
PackagePackage__cApply to itineraries for this package
ChannelChannel__cApply to itineraries booked through this channel
AccountAccount__cApply to itineraries for this account
ServiceService__cApply to itineraries containing this service
QualifierQualifier__cA service that must be present in the itinerary for this configuration to apply
Comparison DateComparisonDate__cWhich date the rules compare against — see below
Cancellation ModifierCancellationModifier__cA text value that must match the itinerary’s CancellationModifier__c field for override scenarios
Date From / Date ToDateFrom__c / DateTo__cDate range for when this assignment is valid

All assignment fields are optional. A blank field means “matches all” — an assignment with no package, no channel, and no account matches every itinerary. Add fields to narrow the match.

Comparison Date Options

The Comparison Date on the assignment controls which itinerary date the rules’ day offsets are measured against:

ValueDescriptionWhen to Use
Itinerary Start Date (default)The traveller’s first day of travelMost common — cancellation terms based on proximity to the trip
Booking DateThe date the booking was createdFor cooling-off or early-bird cancellation windows
Package Departure DateThe package’s departure dateFor fixed-departure group tours where the departure date differs from the itinerary start

Multi-Select Assignment Creation

The assignment modal supports multi-select on Package, Channel, Account, Service, and Qualifier fields. If you select 3 packages and 2 channels, the system creates 6 assignment records (the full combination). This is useful for quickly applying a configuration across multiple targets.


How Assignment Matching Works

When multiple configurations could apply to an itinerary, the system picks the best match using a specificity-based approach. An assignment that specifies more qualifying fields scores higher than a generic one.

Matching dimensions (from the itinerary):

  • Package
  • Channel
  • Account
  • Service (per itinerary item)
  • Qualifier (a service that must be present)
  • Cancellation Modifier
  • Date range (Date From / Date To)

How scoring works:

  • An assignment with Package + Channel set is more specific than one with only Package
  • An assignment with Package + Channel + Account is more specific still
  • The most specific matching assignment wins
  • If two assignments have equal specificity, the one with the Qualifier match takes precedence

The matching logic runs server-side via the cancellation rules API. Salesforce sends the itinerary context (package, channel, account, services, passengers) and receives back the rules to create.


When Rules Are Generated

Itinerary Cancellation Rules are automatically generated (or regenerated) when any of these change on a Booking Wizard itinerary:

ChangeWhat Triggers Recalculation
Itinerary created via Booking WizardInitial rule generation
CancellationModifier__c changes on the itineraryRe-evaluates assignment matching
Itinerary item added, removed, or dates changeRe-evaluates which services are present
Passenger deposit date changesRecalculates per-passenger rules
Passenger assignment changesUpdates rule-to-passenger links

Rule generation runs asynchronously — there may be a short delay before rules appear on the itinerary.

Custom vs Generated Rules

Each Itinerary Cancellation Rule has a Source field:

  • Cancellation Configuration — auto-generated from a matching configuration. These are overwritten on recalculation.
  • Custom — manually created by a user. These are preserved during recalculation and are not overwritten.

If you need to override the auto-generated rules for a specific booking, create Custom rules. They will survive any recalculation triggered by itinerary changes.

Waiving Rules

Individual Itinerary Cancellation Rules can be waived by checking the Waive Rule checkbox (WaiveRule__c). When waived, the cancellation fee for that rule is not applied. This is useful for goodwill gestures or negotiated exceptions without deleting the rule entirely.


Common Setup Scenarios

Per-Package Rules

Create one configuration per package (or package group) with an assignment that specifies the package. Each package can have its own fee schedule.

Per-Channel Overrides

Create a base configuration with a generic assignment (no channel specified), then create a second configuration with a channel-specific assignment. The channel-specific assignment is more specific and will take priority for bookings through that channel.

Date-Banded Configurations

Use the Date From / Date To fields on assignments to apply different configurations for different booking periods. For example, bookings made during a promotional window might have more lenient cancellation terms.

Fixed-Amount Fees

Use Fixed Per Person as the Value Type for flat cancellation fees (e.g., $200 per person administrative fee). For multi-currency orgs, either check Available For All Currencies to apply the amount universally with conversion, or create separate rules per currency.

Service-Specific Rules

Use the Service and Qualifier fields on assignments to target configurations at specific services within a package. For example, a charter flight component might have stricter cancellation terms than the accommodation.


Itinerary Cancellation Rule Fields Reference

When rules are generated on an itinerary, each ItineraryCancellationRule__c record contains:

FieldDescription
Cancellation ConfigurationName of the source configuration
Cancellation RuleLink to the template rule
PassengerThe passenger this rule applies to
Date TypeReference date type (carried from the rule)
Days OffsetDays from the reference date (carried from the rule)
Value TypePercentage or fixed (carried from the rule)
ValueFee amount or percentage (carried from the rule)
Effective Start DateCalculated date when this rule becomes active
Effective End DateCalculated date when this rule stops applying
SourceCancellation Configuration (auto) or Custom (manual)
Waive RuleWhether the fee is waived for this rule

Each passenger-item assignment can hold up to 10 cancellation rules.


Troubleshooting

IssueLikely CauseSolution
Rules not appearing on the itineraryItinerary was not created through the Booking WizardCheck CreatedWithBookingWizard__c on the itinerary — Cancellation Configurations only apply to Booking Wizard itineraries
Rules not appearing (Booking Wizard itinerary)No active configuration with a matching assignmentVerify the configuration is Active, the assignment fields match the itinerary’s package/channel/account, and the assignment’s date range covers the booking date
Wrong configuration appliedA more specific assignment exists for another configurationReview all assignments across configurations — the most specific match wins. Check for assignments with Qualifier or Cancellation Modifier fields that may be matching unexpectedly
Rules not updating after itinerary changeAsync job may be delayed or a skip setting is enabledCheck for SkipCancellationRulesOnSave__c in User Settings. Allow a few moments for the async job to complete and refresh the page
Fixed-amount rule not applyingCurrency mismatchIf AvailableForAllCurrencies__c is unchecked, the rule’s currency must match the itinerary’s currency. Check the rule or enable the all-currencies flag
Duplicate assignment errorAn assignment with the same combination already existsEach combination of Package + Channel + Account + Service + Qualifier + Date Range + Comparison Date + Modifier must be unique within a configuration
Custom rules disappearingCustom rules should not disappear — check the Source fieldRules with Source = Custom are preserved during recalculation. If rules are missing, they may have been manually deleted


ObjectAPI NamePurpose
Cancellation ConfigurationKaptioTravel__CancellationConfiguration__cNamed container for cancellation rules and assignments
Cancellation RuleKaptioTravel__CancellationRule__cFee tier template (date type, offset, value, priority)
Cancellation AssignmentKaptioTravel__CancellationAssignment__cTargeting criteria binding a configuration to packages, channels, accounts, or services
Itinerary Cancellation RuleKaptioTravel__ItineraryCancellationRule__cMaterialized rule instance on a specific itinerary and passenger
Back to Gallery