Fixed Departure Management

To be Reviewed

Departure lifecycle management — creating named departures, managing status transitions, capacity tracking, and component overrides per departure.

Version 14 min read | March 4, 2026 Gallery

Overview

Fixed departures are the most structured departure model in Kaptio. Each departure is a named record tied to a specific date, with its own capacity, status, and booking eligibility. Operators create individual departure records — “Spring Expedition - Mar 15, 2027” or “Signature Voyage - Jun 8, 2027” — and manage each one through a defined lifecycle from unopened to open, on hold, or cancelled.

This model is purpose-built for premium, date-specific products: guided group tours, expedition cruises, signature voyages, and any product where travellers choose from a curated set of departure dates rather than picking any date on the calendar. Capacity is tracked at the departure level (total spaces minus booked), and operators can override individual components for a specific departure without affecting the base package.

When allotments have been set up for a package, departure dates can be auto-created from the allotment dates, and availability is controlled via the allotment table rather than a manual capacity number on the departure record.

Where Anyday packages offer maximum flexibility and Seasonal packages add time-window controls, Fixed departures give operators the tightest control. Every departure is a distinct entity with its own state, its own capacity, and optionally its own component configuration.

Prerequisites

Before creating a fixed departure package, ensure the following are in place:

  • Supplier services have been created for all services the package will include (accommodation, activities, transfers). See the Anyday Package Setup Guide for component fundamentals.
  • Supplier contracts are in place for the relevant travel dates and capacities.
  • Familiarity with Kaptio package concepts — if this is your first package, work through the Anyday Package Setup Guide first; it covers shared fundamentals in more detail.

Part 1: Understanding the Fixed Departure Model

The Departure Lifecycle

Every fixed departure moves through a defined set of statuses. These statuses control whether the departure appears in search results and whether it can accept bookings.

Departure LifecycleSTATUSUnopenedreleaseOpenholdOn HoldwithdrawnCancelledcancel directlyreopenreinstateBOOKING ELIGIBILITYBookableNormal bookingVisible OnlyVisible, not bookableInactiveHidden from searchA flow automatically sets Booking Eligibility when Departure Status changes.

The four departure statuses are:

StatusSearch VisibilityBooking Behavior
UnopenedHidden from search resultsDoes not accept bookings
OpenVisible in search resultsAccepts bookings (subject to eligibility)
On HoldVisible in search resultsDoes not accept new bookings
CancelledHidden from search resultsDoes not accept bookings

Transitions between statuses:

  • Unopened → Open: The departure is released for sale — it becomes visible in Package Search and bookable.
  • Open → On Hold: Triggered when capacity is exhausted or when the operator wants to temporarily pause bookings. The departure remains visible in search but cannot be booked.
  • Open → Cancelled: The departure is withdrawn before selling out.
  • On Hold → Open: The operator releases the hold (e.g., a cancellation frees spaces) and the departure accepts bookings again.
  • On Hold → Cancelled: A held departure is subsequently cancelled (rare; requires rebooking or refunding existing passengers).
  • Cancelled → Open: A previously cancelled departure is reinstated (e.g., demand materializes, supplier confirms availability).

Custom Departure Status values are supported. Operators can add values beyond the four defaults (e.g., “Call to Sell”) and replace the out-of-the-box flow with a custom one to map those values to the appropriate Booking Eligibility.

Status is distinct from booking eligibility, but the two are linked by a flow. When a user sets the Departure Status, an out-of-the-box flow automatically sets the Booking Eligibility field based on the status value. The default mapping is shown in the table below. This flow can be deactivated and replaced with a custom flow if needed.

Booking Eligibility States

Booking eligibility controls how customers interact with a departure that is visible in search. It is a separate dimension from status.

EligibilityBehavior
BookableCustomers can book directly. Standard flow.
Visible OnlyThe departure appears in search results but cannot be booked. Customers can see it but cannot add it to an itinerary. Used when the operator wants to advertise a departure without accepting bookings.
InactiveThe departure is hidden from search entirely, regardless of status. Used during setup or when temporarily pulling a departure from sale.

The out-of-the-box flow maps Departure Status to Booking Eligibility as follows:

Departure StatusBooking Eligibility (set by flow)
UnopenedInactive
OpenBookable
On HoldVisible Only
CancelledInactive

When to Use Fixed Departures

Choose the fixed departure model when:

  • The product has specific, named departure dates (not a range)
  • Capacity is managed at the departure level (30 seats, 12 cabins, etc.)
  • Each departure may need unique component configuration (different hotel for one date)
  • The product is premium, group-based, or expedition-style
  • Operators need per-departure yield management (adjusting status as seats fill)
  • Pricing may vary per departure (peak dates vs shoulder dates)

For a side-by-side comparison of all three departure types, see Three Ways to Sell Dates.

Part 2: Creating the Package

Step 1: Create the Package Record

Navigate to Packages in the Kaptio app and click New.

Set the following fields:

FieldValueNotes
Record TypePackageA Package that can contain multiple components including Bundles and Live components
NameDescriptive package namee.g., “Signature Voyage Collection”
Departure TypeFixedThis cannot be changed after creation
DurationTotal trip duration in nightse.g., 10
CategoriesPackage type categorye.g., “Expedition”, “Group Tour”

Screenshot of the New Package form with Departure Type set to Fixed, showing the required fields filled in

Important: The Departure Type field is locked after the package is saved. Double-check that “Fixed” is selected before saving.

After saving the package record, configure these additional settings:

FieldDescriptionRecommendation
ActiveMakes the package available for search and bookingLeave unchecked until departures are configured
Visibility SettingControls which channels can see the packageSet per business requirements

Step 2: Build Components

Components in a fixed departure package work the same way as in any Kaptio package. Add the accommodation, activities, transfers, and other services that make up the product.

For detailed instructions on creating components, assigning services, and setting up component structure, see the Anyday Package Setup Guide.

Fixed Departure doesn’t necessarily mean fixed price. The Pricing Behaviour should be set according to the prices you want to set:

  • Standard — both cost and selling price from the associated supplier service will be used
  • Free Component — there is no cost or sell price to be added to the Itinerary (even if the supplier service has a valid cost or sell price for the booking date)
  • No Cost Rate — the cost rate from the supplier service will not be added to the Itinerary (but the sales rate will be)
  • No Sales Rate — the sell rate from the supplier service will not be added to the Itinerary (but the cost rate will be)

Fixed Departure Component Fields

When building components for a fixed departure package, there are three additional fields that control how components relate to departures:

FieldAPI NameBehavior
Departure ModeDepartureMode__cWhether the component applies to all departures or only selected ones — see Step 6 for details
Primary ComponentPrimaryComponent__cMarks this as a primary component for departure variation highlighting
Is Controlling Departure DatesIsControllingDepartureDates__cThis component is the source for creating and validating departure dates and allotment days

Build and validate the base component structure before creating departures. Departures inherit the package’s components, so getting the base right first avoids rework.

Part 3: Creating Named Departures

Step 3: Create a Departure Record

Departures can be created in two ways: manually without an allotment assigned, or by auto-creating departures from an allotment.

To manually create departures, from the package record, navigate to the Departures related list and click New.

Each departure record represents a single, bookable departure date:

FieldDescriptionExample
NameDescriptive departure name”Spring Expedition - Mar 15, 2027”
Departure DateThe travel start date2027-03-15
StatusCurrent departure statusOpen
Booking EligibilityHow customers can interactBookable
  1. Enter a descriptive Name following your naming convention.
  2. Set the Departure Date.
  3. Save the record.

To auto-create departures using an allotment, select the component that has the Inventory Controlled Service using the field for Controlling Component — this should be your Package Item. Click the Autocreate from allotment button — this will remove any previously created departure dates and replace them with dates based on the allotment assigned to the component service.

Tip: “Autocreate from allotment” button not active? Make sure the field Allocation Type on the controlling Service is set to Booking. If you don’t see Allocation Type on the Detail tab of the Service, go to the Price Manager tab > Price Settings button. Change the value of the field called Duration to Booking. It’s the same field, just labelled differently on that screen.

Tip: To display actual available spaces in Package Search, check the Show Inventory box on the controlling component. Without this, search results will show the departure but won’t reflect real-time inventory availability.

Screenshot of the new departure form showing name, departure date, status, and booking eligibility fields.

Step 4: Set Initial Status and Eligibility

For a new departure, the recommended initial configuration depends on your workflow:

WorkflowInitial StatusInitial EligibilityRationale
Ready to sell immediatelyOpenBookable (set by flow)Departure appears in search and accepts bookings
Soft launch, visible but not bookableOpenVisible Only (manually overridden)Departure is visible in search but customers cannot book
Placeholder for future planningUnopenedInactive (set by flow)Record exists for planning; not yet customer-facing

Start with Unopened status if you are still configuring components or pricing. Change to Open only when the departure is fully validated — the flow will set eligibility to Bookable automatically.

Step 5: Configure Capacity

Total capacity defines the maximum number of passengers or spaces for the departure. As bookings are made, the system tracks:

MetricDescription
Total CapacityThe maximum set on the departure record
BookedNumber of confirmed passengers
RemainingTotal Capacity minus Booked

Capacity is set on the departure record using inventory setup. The capacity for each date updated automatically as bookings are confirmed or cancelled. Operators can also manually adjust capacity (e.g., if additional spaces become available through a supplier agreement) by adjusting the inventory table. Use this guide to understand how to set up and view capacity using inventory: Inventory Operations Guide.

Capacity is a departure-level concept, not a component-level concept. Unlike Anyday packages where availability is checked per service, fixed departures track capacity as a single number on the departure record.

Naming Conventions

Consistent naming makes departure management significantly easier at scale. Recommended patterns:

PatternExampleWhen to Use
{Product} - {Month} {Day}, {Year}”Desert Explorer - Apr 12, 2027”Standard, most common
{Product} - {Season} {Year}”Signature Voyage - Spring 2027”When exact day is secondary
{Product} - {Code}”Arctic Expedition - AE-2027-03”High-volume operators with internal codes

Avoid generic names like “Departure 1” or “March Trip.” The name should identify the departure at a glance in lists, reports, and customer-facing documents.

Part 4: Managing the Departure Lifecycle

Status Transitions

Operators manage departure status manually based on business conditions. To change status, open the departure record, update the Status field to the new value, and save.

TransitionWhen to UseWhat Happens AutomaticallyExtra Steps
Unopened → OpenDeparture is ready for saleBooking Eligibility set to Bookable
Open → On HoldCapacity exhausted or operator wants to pause bookingsBooking Eligibility set to Visible Only; departure stays visible in search but cannot be booked
On Hold → OpenHold released — e.g., a cancellation freed spacesBooking Eligibility set to Bookable
Open → CancelledDeparture withdrawn — insufficient demand, supplier issue, or strategic decisionBooking Eligibility set to Inactive; departure hidden from searchIf bookings exist, follow the rebooking or refund process
On Hold → CancelledHeld departure subsequently cancelled (rare — e.g., force majeure)Booking Eligibility set to Inactive; departure hidden from searchAll existing bookings require resolution (rebooking or refund)
Cancelled → OpenPreviously cancelled departure reinstated — e.g., demand materializes, supplier confirms availabilityBooking Eligibility set to BookableVerify components and pricing are still valid for the departure date

Managing Visible Only Departures

Visible Only eligibility exists because operators need a bridge between “this departure exists” and “this departure is ready to book.” Two common reasons drive this:

  • Operational efficiency: Teams want to create and plan departures in the system without immediately putting them on sale. Visible Only lets the departure appear in search — so agents and customers know it’s coming — while the operator finishes configuration, pricing, or supplier confirmations behind the scenes.
  • Sell before everything is ready: Some operators want departures visible and even sellable before pricing is fully configured, because they have repeat guests who want to book far in advance. Historically, missing pricing caused errors that blocked this workflow. Visible Only provides a safe intermediate state: the departure is marketed and discoverable, but booking is held back until pricing is in place.

In short, Visible Only is the status that enables “market it / show it / let agents see it” without allowing booking until the departure is truly ready.

Typical Visible Only workflow:

  1. Operator creates the departure record and sets status to Open with eligibility manually overridden to Visible Only.
  2. The departure appears in search results — agents and customers can see it — but booking is not permitted.
  3. The operator completes pricing, inventory, and component configuration.
  4. When the departure is ready for sale, the operator sets eligibility to Bookable (or resets status so the flow sets it automatically).

Cancelling a Departure

When a departure is cancelled:

  • It is removed from search results.
  • Existing bookings are not automatically cancelled — operators must handle each booking individually.
  • The departure record remains in the system for audit and reporting purposes.

Before cancelling, check:

  • How many confirmed bookings exist on this departure?
  • Have affected customers been notified?
  • Are rebooking options available (alternative departure dates)?
  • Have refund or credit processes been initiated?

Reopening a Departure

A cancelled departure can be reopened by changing the status back to Open. This is appropriate when:

  • The reason for cancellation has been resolved (e.g., supplier reconfirmed)
  • Demand has materialized for a previously unviable date
  • A scheduling conflict was cleared

After reopening, verify that all components and pricing are still valid for the departure date.

Part 5: Component Overrides

When to Use Overrides

Component overrides allow operators to swap a component for a specific departure without changing the base package configuration. This is useful when:

  • A hotel is unavailable for one departure date and a substitute is needed
  • A special activity is added for a particular departure (e.g., a festival-timed event)
  • A supplier change affects only certain dates
  • A premium upgrade is offered for a single departure

The base package retains its standard component set. The override applies only to the targeted departure.

Step 6: Set the Departure Mode on the Component

Before creating overrides or assigning departures to a component, you must set the Departure Mode field on the component record. This field determines whether the component applies to every departure on the package or only to selected departures.

  1. Open the component record within the package (e.g., “Boutique Hotel”).
  2. Locate the Departure Mode field on the component detail page.
  3. Set the value:
Departure ModeBehavior
All (default)The component is included in every departure on the package. No per-departure assignment is needed.
SelectiveThe component is only included in departures you explicitly assign. Use this when a component applies to some departures but not others.
  1. Save the component record.

Set Departure Mode before creating departures or component overrides. If the mode is left as All, the component will automatically apply to every departure. Switch to Selective when you need per-departure control over which components are included.

Step 7: Create a Component Override

  1. Navigate to the component record you want to override (e.g., “Boutique Hotel” within the package).
  2. Open the Component Overrides related list on the component.
  3. Click New.
  4. Select the departure this override applies to (e.g., “Spring Expedition - Mar 15, 2027”).
  5. Assign the replacement service (e.g., a different hotel’s supplier service).
  6. Configure pricing for the replacement if it differs from the base.
  7. Save.

Screenshot of the component record’s Component Overrides related list, showing the departure selection, replacement item assignment, and override pricing fields.

An override is created on the component and scoped to a specific departure. Other departures on the same package continue to use the base component’s default service. To change the component for all departures, edit the base package instead.

Override Pricing Impact

When a component is overridden, the pricing for that departure changes:

ScenarioPricing Behavior
Override with same-price serviceNo change to departure total
Override with higher-price serviceDeparture total increases by the difference
Override with lower-price serviceDeparture total decreases by the difference
Override with explicit price setThe override price replaces the base component price entirely

If the override service has its own pricing configured, that pricing is used. If no pricing is set on the override, the system falls back to the base component price.

Always verify the departure total after applying an override. Price changes from overrides are not flagged automatically — operators must confirm the impact.

Part 6: Capacity Operations

Monitoring Capacity

For fixed departures, capacity tracking is straightforward:

DepartureTotalBookedRemainingFill Rate
Spring Expedition - Mar 152418675%
Signature Voyage - Apr 2216160100%
Desert Explorer - May 103082227%

Monitor capacity through:

  • Departure record: Shows booked count and remaining spaces.
  • Package-level reports: Aggregate view across all departures for a package.
  • Dashboard views: Custom list views filtered by status and fill rate.

Yield Management

Operators can adjust departure settings based on fill rate to maximize revenue and manage demand:

Fill RateRecommended Action
0–30%Keep Bookable. Consider promotional pricing or marketing push.
30–70%Standard operation. Monitor booking pace.
70–90%Consider switching to Visible Only eligibility to manage final spaces carefully.
90–99%Switch to Visible Only. Manually manage remaining spaces and re-enable Bookable as needed.
100%Change status to On Hold.

Yield management for fixed departures is a manual process. Operators review fill rates and adjust status and eligibility based on business judgment.

Batch Departure Creation

When launching a new season, operators often need to create multiple departures at once (e.g., 12 monthly departures for a year-round product). While Kaptio does not have a built-in batch creation tool, common approaches include:

  • Data Loader: Use Salesforce Data Loader to insert multiple departure records from a CSV file.
  • Manual creation: Create each departure individually (suitable for products with fewer than 10 departures per season).
  • Flow or automation: Build a Salesforce Flow that generates departure records based on a date range and frequency.

For batch creation via Data Loader, prepare a CSV with columns:

Name, KaptioTravel__Package__c, KaptioTravel__DepartureDate__c, KaptioTravel__TotalCapacity__c, KaptioTravel__Status__c
"Spring Expedition - Mar 15, 2027", a0XXXXXXXXXXXXXX, 2027-03-15, 24, Open
"Spring Expedition - Apr 12, 2027", a0XXXXXXXXXXXXXX, 2027-04-12, 24, Open

When batch-creating departures, set eligibility to Inactive initially. Validate each departure before switching to Bookable.


Validation Checklist

Before activating a fixed departure package and its departures, verify each item:

  • Package record exists with departure type set to Fixed
  • Components are added with base pricing configured
  • At least one departure record exists with a valid date and capacity
  • Departure status is set to Open
  • Departure booking eligibility is set to Bookable (or Inactive if still validating)
  • Capacity is set correctly on each departure
  • Departure names follow a consistent convention
  • If component overrides are used, verify override pricing is correct
  • Run a test search and confirm the departure appears in results
  • Create a test booking and verify capacity decrements correctly
  • Verify that On Hold departures are visible but not bookable
  • Verify that Cancelled departures are hidden from search
  • Package is set to Active and Searchable

Common Issues and Solutions

IssueLikely CauseSolution
Departure not appearing in searchStatus is Cancelled, or eligibility is Inactive, or the package is not Active/SearchableCheck departure status, eligibility, and package-level Active and Searchable flags
Capacity shows incorrect remaining countBookings were cancelled but capacity was not recalculatedVerify booking records; recalculate if needed
Component override not applyingOverride is linked to the wrong departure or the wrong base componentOpen the override record and verify the departure lookup and base component lookup are correct
Wrong price on a departure with overridesOverride item has no pricing, so the system falls back to base pricingSet explicit pricing on the override record
Customer can still book an On Hold departureStatus was not updated, or a race condition during bookingVerify the departure status field; consider using Visible Only eligibility as a buffer before On Hold
Departure appears but shows no priceBase component pricing is missing, or currency mismatchCheck component pricing and ensure the departure’s currency matches the package default
Batch-created departures all show InactiveBatch creation used Inactive as the default (recommended)Review and switch each departure to Bookable once validated
ObjectAPI NamePurpose
PackageKaptioTravel__Package__cParent record; holds departure type, settings
DepartureKaptioTravel__Departure__cNamed departure with date, capacity, status, eligibility
ComponentKaptioTravel__PackageComponent__cBookable unit within the package
ServiceKaptioTravel__Item__cSupplier service assigned to a component
Component OverrideKaptioTravel__ComponentOverride__cPer-departure component replacement
Service LevelKaptioTravel__ServiceLevel__cQuality tier (Standard, Premium, Luxury)

See Also

Back to Gallery