Booking Wizard Options & Extras Configuration Guide

To be Reviewed

User Process & Admin Configuration for Package-Level Options

Version 18 min read | March 5, 2026 Gallery

Booking Wizard Options & Extras Configuration Guide

Complete User Process & Admin Configuration Documentation

This guide provides step-by-step instructions for configuring optional services and extras in Kaptio’s Booking Wizard. Learn how to offer package-level options like bedding preferences, meal upgrades, equipment rentals, and other optional inclusions that travelers can select during the booking process.

What Are Booking Wizard Options?

Options are selectable services offered as part of a package that travelers can choose during the booking flow. These appear in the Options tab of the Booking Wizard, allowing guests to customize their experience with additional services, upgrades, or preferences.

Key Capabilities

  • Options Tab: Dedicated step in Booking Wizard for selecting optional services

  • Per-Person or Per-Room: Options can be charged per person or per room

  • Zero-Priced Options: Support for preference selections like bedding type at no additional cost

  • Inventory Management: Track availability for limited-inventory options

  • Protection Plans: Separate tab for travel insurance and protection products

  • Pre/Post Stay: Extensions for accommodations before or after the main package

Common Use Cases

Use CaseExamplePricing
Bedding PreferenceKing bed vs. two twinsZero-priced (preference only)
Meal UpgradesStandard vs. gourmet dinnerPriced upgrade
Equipment RentalBicycle, kayak, or hiking gearPer-person or per-item
Room UpgradesStandard to deluxe cabinPer-room pricing
Activity Add-OnOptional guided excursionPer-person pricing
Dietary RequirementsVegetarian, gluten-free, etc.Zero-priced (preference)

IMPORTANT: Add-Ons Are NOT Supported in Booking Wizard

Kaptio has a concept of “Add-Ons” which are standalone sellable items in the ecommerce context. Add-Ons are NOT the same as Booking Wizard Options and are not supported in the Booking Wizard flow. To sell options and extras at the package level, you must configure them as Services with Price Categories added as Package Components.

Understanding the Difference

FeatureAdd-OnsPackage Options
DefinitionStandalone purchasable items (B2C/ecommerce)Services configured as package components
Where OfferedWebsite shopping cart, standalone purchasesBooking Wizard Options tab during package booking
Linked to PackageNo - independent of packagesYes - tied to specific package departures
Inventory TrackingSeparate inventory managementUses package component inventory/allotments
Booking Wizard Support❌ Not supported✅ Fully supported

The Correct Approach: Package Options Architecture

┌─────────────────────────────────────────────────────────────────────────┐
│                               PACKAGE                                   │
│  (e.g., "Canadian Rockies Explorer - 7 Days")                          │
│                                                                         │
│  ┌─────────────────────────────────────────────────────────────────┐   │
│  │  Package Components                                              │   │
│  │                                                                  │   │
│  │  ┌──────────────────────┐  ┌──────────────────────┐            │   │
│  │  │ INCLUDED SERVICE     │  │ OPTIONAL SERVICE     │            │   │
│  │  │ (Main Tour)          │  │ (Bedding Type)       │            │   │
│  │  │                      │  │                      │            │   │
│  │  │ Selection: Required  │  │ Selection: Optional  │            │   │
│  │  │ BW Tab: None         │  │ BW Tab: Options ✓    │            │   │
│  │  └──────────────────────┘  └──────────────────────┘            │   │
│  │                                     │                           │   │
│  │                                     ▼                           │   │
│  │                           ┌──────────────────────┐             │   │
│  │                           │ PRICE CATEGORIES     │             │   │
│  │                           │ • King Bed ($0)      │             │   │
│  │                           │ • Two Twins ($0)     │             │   │
│  │                           └──────────────────────┘             │   │
│  └─────────────────────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────────────────────┘


┌─────────────────────────────────────────────────────────────────────────┐
│                         BOOKING WIZARD                                   │
│  ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐       │
│  │ Passengers  │→│ Cabins      │→│ OPTIONS ◄───┼─│ Summary     │       │
│  │             │ │ (if cruise) │ │             │ │             │       │
│  └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘       │
│                                  │                                      │
│                                  │ Shows:                               │
│                                  │ • Bedding Type                       │
│                                  │   ○ King Bed                         │
│                                  │   ○ Two Twins                        │
└─────────────────────────────────────────────────────────────────────────┘

Why This Architecture Matters

The Booking Wizard’s Options tab only displays Package Components where: Selection Type is set to Optional Booking Wizard Tab (BookingWizardTab__c) is set to Options The component has at least one active Price Category If you try to use standalone Add-Ons or incorrectly configured services, they will not appear in the Booking Wizard.

Before configuring Booking Wizard options, ensure the following are in place:

Minimum Hawaii Release: Booking Wizard with Options tab requires Hawaii (22.0) or later

Package Search Configured: If launching from Package Search, ensure it’s set up per the Package Search Configuration Guide

Active Package: You must have an active Package with at least one Package Departure

Channel & Pricing: Channels and Price Lists must be configured for the package

Understanding of Kaptio Services: Familiarity with creating Services and Price Categories

Required Objects

ObjectAPI NamePurpose
ServiceService__cThe sellable service offered as an option
Price CategoryPriceCategory__cSpecific variants of the service (e.g., King vs. Twin)
Package ComponentPackageComponent__cLinks the service to a specific package
PricePrice__cPricing for each price category by channel

User Guide

The Options tab appears in the Booking Wizard after the Passengers step (and Cabin Selection, if applicable). This is where travelers select optional services, upgrades, and preferences for their booking.

Options Tab Layout

Component Groups

Options are grouped by their parent service/component, with a clear label showing the component name.

Price Category Choices

Under each component, users see the available price categories (e.g., “King Bed” or “Two Twins”).

Inventory Status

Each option shows availability status (FS = Free Sale, AL = Allotment, RQ = On Request, SO = Sold Out).

Pricing Display

Prices are shown per the unit of measure - either per person or per room.

Room-Based Selection

When a booking includes multiple rooms, the Options tab displays options organized by room. Each room’s occupants can have their own selections, allowing for different preferences per room.

Passenger Names in Multi-Room Bookings

For bookings with more than 2 rooms, the room headers display passenger names to help identify which room is being configured (e.g., “Room 1 (John Smith, Jane Smith)”).

The selection behavior depends on the Unit of Measure configured for the option:

Per-Person Options (UoM: person(s))

  • Each traveler in the room can be individually selected or deselected

  • Click the option checkbox to select/deselect all passengers in the room

  • Expand the option to see individual passenger checkboxes

  • Prices are calculated per person based on selections

Per-Room Options (UoM: room(s))

  • Selection applies to the entire room

  • Click to select/deselect for all passengers in that room

  • Price is a single room rate, not multiplied by passengers

Selection States

Empty Checkbox (○): Option not selected for any passengers in the room

Filled Checkbox (●): Option selected for all passengers in the room

Partially Filled (◐): Option selected for some but not all passengers (per-person options only)

Mutually Exclusive Options

Within a single component, selecting one price category will automatically deselect others for that passenger. For example, if a guest selects “King Bed,” the “Two Twins” option is automatically deselected.

Each option displays an inventory status badge indicating availability:

BadgeStatusDescription
FSFree SaleUnlimited availability - always bookable
AL (5)AllotmentLimited availability - number in parentheses shows remaining units
RQOn RequestMust be confirmed with supplier - bookable but not guaranteed
SOSold OutNo availability - option is disabled
CClosedOption not available for this date - disabled
NANot AvailableOption does not apply to this booking

Allotment Behavior

When an option has Allotment status and the remaining units are less than the number of passengers requesting it, the option becomes disabled for passengers who would exceed the available inventory.

Price Display

  • Per-Person Options: Shows price per person; total calculates based on selected passengers

  • Per-Room Options: Shows single room price regardless of occupancy

  • Zero-Priced: Options with $0 price display as “Included” or “$0.00”

Summary Calculation

As selections are made, the Booking Wizard summary updates to show:

  • Total price for all selected options per room

  • Quantity of each option selected

  • Running total including base package price and options

Unpriced Options

Handling Unpriced Items

If a package component or option has a pricing_status of unpriced, a warning message is displayed: “Your selections have unpriced items.” The booking can still proceed, but the final price may need to be confirmed.

Configuration Guide

Configuring Booking Wizard options involves creating a chain of related records that define the service, its variants, pricing, and how it’s offered within a package.

Configuration Flow

  1. Service →
  2. Price Categories →
  3. Prices →
  4. Package Component →
  5. BW Tab Setting

Key Configuration Points

  • Service: The parent record defining the option (e.g., “Bedding Type”)

  • Price Categories: The specific choices within the service (e.g., “King Bed”, “Two Twins”)

  • Package Component: Links the service to a package with Selection Type = Optional

  • BookingWizardTab__c: Must be set to “Options” for items to appear in Options tab

  • Pricing: Each price category needs prices configured per channel

First, create a Service record to represent the optional offering.

  • Go to the Services tab in Kaptio

  • Click New

  • Select the appropriate Record Type (typically Package_Item for options)

Required Fields

FieldValueNotes
Namee.g., “Bedding Preference”Internal name for the service
External Namee.g., “Bedding Type”Displayed to users in Booking Wizard
Active✓ CheckedMust be active to be selectable
Service Typee.g., “Accommodation Option”Categorizes the service type
  • Short Description: Brief description shown in the info modal

  • Supplier: Link to the supplier providing this service (if applicable)

  • Unit of Measure: Set at Price Category level, but can set default here

Naming Convention

Use a clear naming convention that distinguishes optional services from included services. For example: prefix with “OPT -” or use a naming pattern like “Bedding Type - Select” to indicate this is a selectable option.

Price Categories define the specific choices within the service. Each price category becomes a selectable option in the Booking Wizard.

  • Open the Service record you created

  • Navigate to the Price Categories related list

  • Click New to create each variant

Create Price Categories for Each Option

Example: Creating price categories for Bedding Type:

FieldKing BedTwo Twins
NameKing BedTwo Twins
External NameKing BedTwo Twin Beds
Active
Unit of Measureroom(s)room(s)
Min Occupancy12
Max Occupancy22

Important Fields

  • Unit of Measure: person(s) or room(s) - determines pricing calculation

  • Min/Max Occupancy: Filters which options appear based on room configuration

  • Sort Order: Controls display order in the Booking Wizard

Occupancy Filtering

Price Categories with Min Occupancy or Max Occupancy set will only appear when the room configuration matches. For example, a “Single Bed” option with Max Occupancy = 1 won’t appear for double-occupancy rooms.

Now link the service to your package as a Package Component.

  • Open the Package record

  • Navigate to the Package Editor (Lightning mode)

  • Click Add Component or navigate to Package Components related list

Create the Package Component

FieldValueNotes
ServiceSelect your serviceThe service created in Step 1
Selection TypeOptionalCRITICAL: Must be Optional for Booking Wizard options
Record TypePackage_ItemStandard record type for most options
Daye.g., 1Which day of the package this option applies to
Positione.g., 10Sort order within the Options tab

Selection Type Values

Required (UI label: “Pre-Selected Refundable”): Included in base package by default. Can be removed with a refund. Not shown in Options tab.

Optional: Not included by default. Shown in Options tab — user can choose to add.

NonRefundable (UI label: “Pre-Selected Non-Refundable”): Included in base package by default. Can be removed visually but the price is not removed — the customer still pays. Line appears greyed out in Costings.

Common Mistake: Wrong Selection Type

If your option is not appearing in the Booking Wizard Options tab, the most common cause is Selection Type not set to Optional. Double-check this field on the Package Component.

Other Component Fields That Affect Downstream Behaviour

Package Component configuration goes beyond Selection Type and Booking Wizard Tab. Fields like IsMainComponent__c, IsMainTourComponent__c, and PackageTotals__c control cancellation fee inclusion and document generation. See the Package Setup Configuration Guide for the complete component field reference.

The BookingWizardTab__c field controls which tab in the Booking Wizard the option appears in.

Configure the Field

  • On the Package Component record, find the Booking Wizard Tab field

  • Set it to Options

  • Save the record

Available Tab Values

Picklist ValueTab DisplayedUse Case
NoneNot shown in any tabIncluded services, background components
OptionsOptions tabStandard optional services and upgrades
Protection PlanProtection Plan tabTravel insurance and protection products
Pre StayPre Stay tabHotel nights before the main package
Post StayPost Stay tabHotel nights after the main package

Tab Visibility

Tabs only appear in the Booking Wizard if there are components configured for that tab. If no components have BookingWizardTab__c = 'Options', the Options tab won’t be displayed.

If your option has limited availability, configure inventory tracking.

Inventory Configuration Options

Free Sale (No Inventory Tracking) — Default setting - unlimited availability. No additional configuration needed.

Allotment (Limited Inventory) — Track available units per departure. Configure through:

On Request — Availability must be confirmed. Set on the Price Category or Inventory Contract.

Inventory Required Field

On the Package Component, the Inventory Required checkbox determines whether inventory status affects availability:

  • Checked: Component inventory is checked before booking

  • Unchecked: Inventory is tracked but doesn’t block bookings

Zero-priced options allow you to collect preferences without adding cost. This is ideal for choices like bedding type, dietary requirements, or room location preferences.

Creating a Zero-Priced Option

  • Create the Service and Price Categories as normal

  • When creating Prices for each Price Category:

  • Set Sales Price = 0

  • Set Net Price = 0 (or your internal cost if applicable)

  • Ensure prices exist for all relevant channels and date ranges

Example: Bedding Preference (Zero-Priced)

Price CategorySales PriceUoMNotes
King Bed$0.00room(s)Preference only
Two Twin Beds$0.00room(s)Preference only

Why Use Zero-Priced Options?

Operations Visibility: The selection appears on itineraries and manifests Supplier Communication: Preferences are passed to suppliers in booking confirmations Reporting: Track which preferences are most requested Guest Experience: Guests see their preferences confirmed

Example 1: Bedding Preference (Zero-Priced)

A zero-priced preference option for bed configuration:

Service: "Bedding Preference"
├── Price Category: "King Bed" ($0, UoM: room)
├── Price Category: "Two Twins" ($0, UoM: room)
└── Price Category: "Queen Bed" ($0, UoM: room)

Package Component:
  - Selection Type: Optional
  - Booking Wizard Tab: Options
  - Day: 1
  - Position: 10

Example 2: Meal Upgrade

A priced upgrade option for meals:

Service: "Dinner Upgrade"
├── Price Category: "Standard Dinner" ($0, UoM: person)
├── Price Category: "Gourmet Dinner" ($45/person, UoM: person)
└── Price Category: "Wine Pairing" ($75/person, UoM: person)

Package Component:
  - Selection Type: Optional
  - Booking Wizard Tab: Options
  - Day: 3 (applies to day 3 of package)
  - Position: 20

Example 3: Equipment Rental

Per-person equipment rental option:

Service: "Bicycle Rental"
├── Price Category: "Standard Bike" ($50/person, UoM: person)
├── Price Category: "E-Bike" ($100/person, UoM: person)
└── Price Category: "Premium E-Bike" ($150/person, UoM: person)

Package Component:
  - Selection Type: Optional
  - Booking Wizard Tab: Options
  - Day: 1
  - Inventory Required: ✓ (limited bikes available)
  - Position: 30

Example 4: Room Upgrade

Per-room upgrade option:

Service: "Room Category Upgrade"
├── Price Category: "Standard Room" ($0, UoM: room)
├── Price Category: "Deluxe Room" ($200/room, UoM: room)
└── Price Category: "Suite" ($500/room, UoM: room)

Package Component:
  - Selection Type: Optional
  - Booking Wizard Tab: Options
  - Day: 1
  - Position: 5 (show first)

Example 5: Dietary Requirement (Zero-Priced)

Collecting dietary preferences:

Service: "Dietary Requirements"
├── Price Category: "Standard" ($0, UoM: person)
├── Price Category: "Vegetarian" ($0, UoM: person)
├── Price Category: "Vegan" ($0, UoM: person)
├── Price Category: "Gluten-Free" ($0, UoM: person)
└── Price Category: "Kosher" ($0, UoM: person)

Package Component:
  - Selection Type: Optional
  - Booking Wizard Tab: Options
  - Day: 1
  - Position: 100 (show last)

Test the Configuration

☐ Launch Booking Wizard from Package Search or directly

☐ Verify Options tab appears in the wizard navigation

☐ Confirm your option service appears with correct name

☐ Verify all price categories are displayed as choices

☐ Test selecting different options

☐ Verify pricing calculations are correct

☐ Test with multi-room bookings

☐ Verify inventory status badges appear correctly

☐ Complete a test booking and verify options on itinerary

Common Test Scenarios

  • Single Room: Test option selection for a single-room booking

  • Multi-Room: Test different selections per room

  • Occupancy Filtering: Test that min/max occupancy filters work

  • Pricing: Verify per-person vs. per-room pricing calculation

  • Zero-Priced: Confirm zero-priced options don’t affect total

Common Issues

Option not appearing in Options tab — Possible causes:

Options tab not showing at all — Possible causes:

Price showing as $0 unexpectedly — Possible causes:

Option is disabled (greyed out) — Possible causes:

Option doesn’t appear for certain room configurations — Possible causes:

Debug Checklist

Is the Service active? ✓ Are all Price Categories active? ✓ Does the Package Component have Selection Type = Optional? ✓ Is BookingWizardTab__c = Options? ✓ Are Prices configured for this channel and date range? ✓ Does occupancy match Price Category min/max? ✓

Appendix

Service Setup

☐ Create Service record with appropriate record type

☐ Set Service to Active

☐ Configure External Name for display

Price Categories

☐ Create Price Category for each option variant

☐ Set Unit of Measure (person or room)

☐ Configure Min/Max Occupancy if needed

☐ Set all Price Categories to Active

Pricing

☐ Create Price records for each Price Category

☐ Configure prices for all relevant channels

☐ Set appropriate date ranges for validity

☐ For zero-priced options, ensure Sales Price = 0

Package Component

☐ Create Package Component linking Service to Package

Set Selection Type = Optional

Set Booking Wizard Tab = Options

☐ Set Day number

☐ Set Position for sort order

Testing

☐ Test in Booking Wizard - verify option appears

☐ Test selection behavior

☐ Verify pricing calculation

☐ Complete end-to-end booking test

Package Component Fields

FieldAPI NamePurpose
Selection TypeSelectionType__cOptional, Required, NonRefundable
Booking Wizard TabBookingWizardTab__cNone, Options, Protection Plan, Pre Stay, Post Stay
DayDay__cWhich day of package the component applies to
PositionPosition__cSort order within the tab
Inventory RequiredInventoryRequired__cWhether to check inventory for this component

Price Category Fields

FieldAPI NamePurpose
Unit of MeasureUnitOfMeasure__cperson(s) or room(s)
Min OccupancyMinOccupancy__cMinimum occupancy for this option to appear
Max OccupancyMaxOccupancy__cMaximum occupancy for this option to appear
External NameExternalName__cDisplay name in Booking Wizard
ActiveIsActive__cMust be true to be selectable

Key Concepts

  • Services: Sellable items that can be included in packages

  • Price Categories: Variants of a service with distinct pricing

  • Package Components: Links between services and packages

  • Selection Type: Required, Optional, or NonRefundable

Support

Need Help?

If you encounter issues configuring Booking Wizard options: Review the troubleshooting section above Check the configuration checklist Contact Kaptio Support with your org ID and specific issue details

Back to Gallery