Margins and Multipliers
Configure global and per-category margin percentages and base multipliers in Sixième Étoile — purpose, allowed values, stacking order, and effect on final HT price.
Overview
Margins and multipliers are the final price adjustment layer in the dynamic pricing chain. They apply after zone multipliers, advanced rates, and seasonal multipliers have been calculated, allowing operators to add a commercial markup without editing every individual zone or route.
Margin vs. Multiplier — the Difference
| Concept | Formula | Example | Use case |
|---|---|---|---|
| Margin | price × (1 + margin / 100) | 15% margin on €100 base → €115 HT | Standard commercial markup expressed as a percentage of cost |
| Multiplier | price × multiplier | ×1.5 multiplier on €100 base → €150 HT | Coefficient-based adjustment, often used for vehicle category premiums |
Both can be configured globally or scoped to a specific vehicle category. When both a global margin and a category multiplier are active, they stack: the multiplier is applied first, then the margin.
Margin Fields
| Field | Purpose | Allowed values | Effect |
|---|---|---|---|
marginPercent | Commercial markup percentage | Decimal ≥ 0 (e.g. 15.00 = 15%, 0 = no markup) | Applied as price × (1 + marginPercent / 100) after all other calculations |
vehicleCategory | Scope to a vehicle category | Category code or null (null = global) | If scoped, only applies when the quote line's vehicle category matches |
tripType | Scope to a trip type | TRANSFER, EXCURSION, DISPO, OFF_GRID, or null | If scoped, only applies for the specified trip type |
isActive | Whether this margin rule is active | true / false | Inactive rules are ignored |
Multiplier Fields
| Field | Purpose | Allowed values | Effect |
|---|---|---|---|
baseMultiplier | Price scaling coefficient | Decimal > 0 (e.g. 1.5 = +50%, 1.0 = no change, 0.8 = −20%) | Applied as price × baseMultiplier |
vehicleCategory | Scope to a vehicle category | Category code or null | If scoped, only applies to the matched vehicle category |
tripType | Scope to a trip type | TRANSFER, EXCURSION, DISPO, OFF_GRID, or null | If scoped, only applies for the specified trip type |
isActive | Whether this multiplier rule is active | true / false | Inactive rules are ignored |
Stacking Order
When multiple margin or multiplier rules are active for the same quote line, they are applied in the following order:
- Base price (from zone lookup or route grid)
- Zone multiplier (from
PricingZone.priceMultiplier) - Advanced rate (night/weekend factor)
- Seasonal multiplier
- Base multiplier(s) configured here — most-specific scope first (vehicle category > global)
- Margin(s) configured here — most-specific scope first (vehicle category > global)
Within the same scope level (e.g., two global multipliers), rules are applied multiplicatively:
finalPrice = basePrice × zoneMultiplier × advancedRate × seasonalMultiplier × multiplier1 × multiplier2 × (1 + margin1/100) × (1 + margin2/100)Example Calculation
| Step | Value | Calculation |
|---|---|---|
| Base price | €100.00 | From zone pricing |
Zone multiplier (RADIUS airport zone ×1.3) | ×1.3 | €100 × 1.3 = €130.00 |
| Advanced rate (night window 21h–7h, ×1.1) | ×1.1 | €130 × 1.1 = €143.00 |
| Seasonal multiplier (August peak, ×1.2) | ×1.2 | €143 × 1.2 = €171.60 |
| Vehicle multiplier (VAN category, ×1.15) | ×1.15 | €171.60 × 1.15 = €197.34 |
| Global margin (12%) | +12% | €197.34 × 1.12 = €221.02 HT |
Configuring Margins and Multipliers
- Go to Settings → Tarification → Marges & Multiplicateurs (screen N-09).
- To add a margin rule: click Add Margin, enter
marginPercent, and optionally scope to a vehicle category or trip type. - To add a multiplier rule: click Add Multiplier, enter
baseMultiplier, and optionally scope to a vehicle category or trip type. - Save. Changes take effect on all new quotes immediately.
Practical Tips
- Use a single global margin as your starting point. Most operators benefit from one global margin (e.g., 15%) to ensure every quote includes a commercial markup, then add per-category adjustments on top.
- Use multipliers for vehicle tier premiums. If your Minibus and Luxury vehicles command higher markups than Berlines, set category multipliers (e.g., ×1.2 for Minibus, ×1.5 for Luxury) rather than separate route prices.
- Avoid stacking too many rules. More than 3–4 margin/multiplier layers makes prices hard to predict and explain to clients. Keep the chain short and transparent.
- Test the full chain. Use the trip analysis panel in the quote cockpit to see each multiplication step. Verify that the final price matches your expectations before deploying a new rule.
- Zero margin is valid. If you want a specific category or trip type to have no markup (e.g., for a loss-leader pricing strategy), set
marginPercent = 0with that scope. This explicitly suppresses the global margin for that combination.
Forfaits (Flat-rate Packages)
Configure flat-rate packages (forfaits) in Sixième Étoile — fixed prices for recurring trip patterns, zone coverage, validity dates, and how they override dynamic pricing.
Fee Catalog and Advanced Rates
Configure supplementary fee types (OptionalFee.feeType) and time-window advanced rates in Sixième Étoile — every enum value documented with purpose, allowed values, and effect.