A total is only useful when you can explain it
Complex trips combine different commercial shapes. An activity may price per traveller. A vehicle may be per unit. A hotel contract may depend on room type, board basis and a real date window. A package may be sold as one rate even though its itinerary contains many parts.
Forcing every supplier into one generic price field makes the interface look simple while pushing the real work back into spreadsheets. A better system preserves the shape of each inventory type and resolves them into one consistent costing result.
Surface gaps instead of inventing certainty
When a rate cannot be resolved, the system should say why. Zero is a price; it reads as free. It must never be used as the silent fallback for a missing season, unsupported traveller category or currency mismatch.
- Keep currency a closed choice and do not silently convert supplier money.
- Round each line consistently before summing the quote total.
- Show missing-rate reasons in words beside the affected item.
- Use the same resolver in the inventory calculator and the quotation.
Price while the itinerary is still fluid
Margin is most useful during design, when the operator can still change the routing, stay or inclusion. A trip builder that only reveals commercial impact after export is an itinerary editor beside a pricing tool, not one connected workspace.
Live costing lets sales and operations make a better decision together: keep the experience, swap the supplier, adjust the markup or explain the gap before the proposal leaves the business.
