Overview
Package Levels enable cabin-category selection for cruise, rail, and other vessel-based packages. Instead of offering quality tiers that apply uniformly across an itinerary (which is what Service Levels do), Package Levels let each room in a booking select its own cabin category — one room might book a Balcony cabin while another books a Grand Suite.
This mode is designed for operators whose products are defined by cabin or accommodation categories rather than itinerary-wide quality tiers. Typical use cases include river cruise cabins, ocean voyage staterooms, and luxury rail carriage classes.
Package Levels vs Service Levels
Before configuring, make sure Package Levels is the right mode for your product. The two modes solve different problems:
| Aspect | Service Levels | Package Levels |
|---|---|---|
| What it controls | Itinerary-wide quality tier | Per-room cabin category |
| Guest choice | One tier for the entire booking | Each room selects independently |
| Typical products | Land tours, mixed-quality packages | Cruise, river cruise, luxury rail |
| Pricing model | All components adjust to the selected tier | Pricing is driven by cabin category per room |
| Selection point | Tier chosen before or during booking | Cabin category chosen per room in the Booking Wizard |
| Example | Standard Class vs First Class across all hotels | Room 1 = Balcony, Room 2 = Grand Suite |
| Best for | Upsell across quality tiers | Vessel-based products with cabin inventory |
Rule of thumb: If every room on the booking gets the same quality tier, use Service Levels. If different rooms can pick different cabin categories, use Package Levels.
Prerequisites
Before configuring Package Levels, ensure the following are in place:
- Package created — the base package exists with components and a cruise or rail segment.
- Cabin Type records created — at least two cabin categories are defined (see below).
- Pricing configured — cost and sell prices are set up for each cabin type on the relevant services.
- Inventory set up — if using physical cabin inventory, allotments are configured per cabin type.
Part 1: Creating Cabin Types
Cabin Types define the categories guests can choose from. Each Cabin Type record represents one category of cabin or stateroom.
Step 1: Create Cabin Type Records
- Navigate to Kaptio Settings > SERVICE & PACKAGE > Cabin Types.
- Click New Cabin Type.
- Enter the Name — the display name guests see (e.g., “Balcony Cabin”, “Grand Suite”).
- Enter the API Name — the internal identifier used in API calls.
- Set the Order — sort position controlling display sequence. Lower numbers appear first.
- Save and repeat for each cabin category.
| Field | Purpose | Example |
|---|---|---|
Name | Display name shown to guests and agents | ”Ocean View Stateroom” |
API_Name__c | Internal identifier for API calls | ”ocean_view” |
Order__c | Sort position (ascending) | 1, 2, 3 |
Screenshot of a list view showing cabin type records (e.g., Interior, Ocean View, Balcony, Suite) ordered by the Order field.
Common Cabin Type Patterns
| Operator Type | Example Cabin Types | Notes |
|---|---|---|
| River cruise | Standard, French Balcony, Balcony Suite, Owner’s Suite | Typically 3–5 categories |
| Ocean cruise | Interior, Ocean View, Balcony, Mini Suite, Grand Suite | May include sub-categories per deck |
| Luxury rail | Classic, Gold, Platinum | Often maps to carriage class |
Part 2: Setting Package Level Mode
Step 2: Configure the Package Record
- Open the Package record.
- Set the Service Level Mode field to Package Levels.
- Save the Package.
When set to Package Levels, the system switches the pricing and booking flow to cabin-category mode. The Booking Wizard will present cabin selection options for each room in the booking.
Screenshot of the Package record showing Service Level Mode set to “Package Levels”.
Important: Changing the Service Level Mode on a package that already has bookings can affect existing itineraries. Only change this on packages that are still in setup or have no active bookings.
Part 3: Assigning Cabin Types to the Package
Step 3: Link Cabin Types to Components
Once the Package is set to Package Levels mode, assign cabin types at the component option level:
- Open a Component Option on the cruise/rail component.
- In the Cabin Type field, select the relevant cabin category.
- Set the cost and sell price for that cabin type.
- Repeat for each cabin type, creating a separate component option per category.
| Component Option | Cabin Type | Sell Price | Cost Price |
|---|---|---|---|
| 7-Night Cruise — Interior | Interior Cabin | $1,200 | $800 |
| 7-Night Cruise — Ocean View | Ocean View Stateroom | $1,800 | $1,200 |
| 7-Night Cruise — Balcony | Balcony Cabin | $2,400 | $1,600 |
| 7-Night Cruise — Suite | Grand Suite | $4,200 | $2,800 |
Screenshot of component options showing different cabin types with their respective pricing.
Per-Room Pricing
The key difference from Service Levels: with Package Levels, each room in a booking can select a different cabin category. A booking with two rooms might look like:
| Room | Selected Cabin Type | Price |
|---|---|---|
| Room 1 | Balcony Cabin | $2,400 |
| Room 2 | Ocean View Stateroom | $1,800 |
| Booking Total | $4,200 |
This per-room flexibility is essential for group bookings or families booking multiple cabins at different price points.
Part 4: Booking Wizard Experience
How Cabin Selection Works
When a package uses Package Levels mode, the Booking Wizard adapts to present cabin selection:
- The agent or guest creates a booking from the package.
- For each room in the booking, the Cabins tab displays the available cabin categories.
- The guest (or agent) selects a cabin category for each room independently.
- Pricing adjusts per room based on the selected cabin type.
- The booking is created with each room’s cabin category recorded.
Note: The Booking Wizard Unit Number Selection field on the Package controls whether specific cabin numbers (e.g., Cabin 301) must also be selected. When set to Mandatory, the Booking Wizard requires a specific cabin number in addition to the cabin category. When set to Not Mandatory/Hidden, only the category is selected and a cabin number is auto-assigned.
Booking Wizard Unit Number Selection + Package Levels
| Unit Number Selection | Behavior with Package Levels |
|---|---|
| Mandatory | Guest must select both cabin category and specific cabin number |
| Not Mandatory/Hidden | Guest selects cabin category only; cabin number auto-assigned |
| Component Controlled | Cabin number selection depends on individual component settings |
Part 5: Inventory Considerations
Cabin-Level Inventory
When using Package Levels with physical inventory (cabin numbers), inventory is managed at the cabin type level:
- Each cabin type can have its own allotment, controlling how many cabins of that category are available per departure.
- Stop-sale can be applied per cabin type — selling out Balcony cabins while Suites remain available.
- Overbooking rules apply per cabin type, not across the entire vessel.
Inventory Status by Cabin Type
| Status | Meaning |
|---|---|
| AL (Allotment) | Cabins available within the contracted allotment |
| RQ (On Request) | Must request availability from the supplier |
| SO (Sold Out) | No cabins of this type remaining |
| NA (Not Available) | Cabin type not offered for this departure |
Validation Checklist
Before going live with Package Levels on a package, verify each item:
- Cabin Type records created with correct names, API names, and sort order.
- Service Level Mode set to Package Levels on the Package record.
- Component Options created for each cabin type on the cruise/rail component.
- Pricing configured (cost and sell) for every cabin type.
- Price totals differ between cabin types as expected.
- Booking Wizard Unit Number Selection set appropriately (Mandatory vs Not Mandatory).
- Inventory/allotment configured per cabin type (if using physical inventory).
- Test booking created successfully with cabin category selection.
- Multi-room booking tested — each room can independently select a different cabin type.
- Booking record shows the correct cabin type per room.
Common Issues and Solutions
| Issue | Likely Cause | Solution |
|---|---|---|
| No cabin selection in Booking Wizard | Service Level Mode not set to Package Levels | Set the mode to “Package Levels” on the Package record |
| Only one cabin type showing | Only one component option created with a cabin type | Create a component option per cabin category |
| All rooms forced to same cabin type | Using Service Levels mode instead of Package Levels | Switch to Package Levels mode — Service Levels applies one tier to all rooms |
| Cabin number selection not appearing | Booking Wizard Unit Number Selection set to Not Mandatory/Hidden | Change to Mandatory if specific cabin numbers are required |
| Pricing identical across cabin types | Same cost/sell price on all component options | Update pricing per component option to reflect cabin category differences |
| Cabin type sold out unexpectedly | Allotment exhausted for that cabin type | Check allotment quantities; consider adjusting or requesting additional from supplier |
| ”No inventory” error at booking | Allotment not configured for the selected cabin type on the departure date | Create allotment records for the cabin type and relevant date range |
Related Schema Objects
| Object | Purpose | Key Fields |
|---|---|---|
CabinType__c | Defines a cabin category | Name, API_Name__c, Order__c |
Package__c | The bookable product; Service Level Mode is set here | Name, ServiceLevelMode__c, PhysicalInventorySelection__c |
ComponentOption__c | Links cabin type to a component with pricing | Component__c, CabinType__c, SellPrice__c, CostPrice__c |
Allotment__c | Inventory per cabin type per departure | CabinType__c, Quantity__c, Status__c |
See Also
- Package Fundamentals — core package structure, components, and the Service Level Mode field
- Service Level Configuration — multi-tier pricing for land-tour-style packages
- Fixed Departure Management — departure-specific configuration for cruise and rail
- Cost & Pricing Architecture — how pricing flows from services to packages
- Inventory Operations — allotment and availability management