Tour pricing software that catches the stale rate before the client does.

Tour pricing software is a pricing engine for tour operators: it holds contracted supplier rates by season and board basis, computes per-person and per-vehicle costs such as park fees for the exact party travelling, applies margin as a visible layer on top, and keeps one consistent price from quote to proposal to invoice. It exists because spreadsheet pricing fails silently. A price built on an expired rate looks exactly like a correct one, and the difference is paid out of the operator's margin, usually discovered months later.

That is the category in one paragraph. The rest of this page takes the engine apart: what a safari price is actually made of, the five ways a quoted price leaks money, and how the pricing layer of Itero Desk closes each leak. Itero Desk is operations software for safari and tour operators: itineraries, quotes, proposals, invoices, CRM and pricing in one workspace, on web and mobile, with AI assistance built in. If what you want is the arithmetic itself, the by-hand walkthrough, that job belongs to the tour cost calculator page and the guide on how to price a safari itinerary. This page is about what an engine does that arithmetic alone cannot.

Book a demo. Bring one trip you have already quoted and price it again in Itero Desk, next to your spreadsheet. Book a demo

Where the money actually goes.

Every desk has a version of this story. A lodge sent a rate sheet in 2024. The numbers went into the pricing spreadsheet. In 2026 an agent asks for a quote, a consultant prices it from that spreadsheet, the client confirms, and the lodge invoices at its current rate. The gap between the 2024 number and the 2026 invoice never appears as an error anywhere. It appears as margin that was expected and never arrived.

What makes this failure expensive is that it is silent three times over. The spreadsheet does not know its own numbers have expiry dates, so it cannot warn. The consultant quoting under time pressure has no reason to doubt a cell that has always been there. And the finance person only meets the gap at reconciliation, one supplier invoice at a time, long after the price was accepted and the trip cannot be repriced. By then the options are to absorb the loss or to reopen a price with a confirmed client. Most desks absorb it, on trip after trip, and call it the cost of doing business.

A pricing engine is the opposite arrangement. Rates carry their seasons and their validity. The party carries its ages and visitor categories. The price is computed from those facts every time, and when a fact is missing, the engine says so at quote time, while the price can still be corrected for free.

Five ways a quoted price leaks, and what the engine does about each.

The stale rate is the most common leak, but it has four siblings. All five share the same shape: invisible when the quote goes out, expensive when the supplier invoices arrive.

The failure Where the money goes What the engine does
A stale rate prices the trip: a 2024 sheet, a 2026 departure The gap between the old rate and the supplier's real invoice comes out of margin, found months later at reconciliation Rate-gap warnings when no imported rate covers the travel date; closest-year pricing is optional and always labelled estimated, never silent
A park fee is forgotten, or the per-vehicle fee is missed The desk pays at the gate what the quote never charged the client Park fees are computed per person and per vehicle, by visitor category and age band, with the breakdown visible per park
A child is priced as an adult Either the quote comes in high and the booking goes elsewhere, or the correction arrives later as an awkward discount Child rate bands are part of the rate model, and the party is priced per person, so a seven-year-old and a parent are never the same line
Margin is invisible until the end Negotiation discounts eat a margin nobody is watching; the desk learns what it earned after the trip has run Margin is its own visible layer, live while the trip is being built, not a formula at the bottom of a sheet
A hand adjustment disappears into a cell Nobody can later say why the price is what it is, so the one-off discount quietly becomes the new normal Manual overrides are explicit per line: accommodation, vehicle, guide, transfers, flights, optional activities, park fees, additional costs

Every row carries the same moral. The engine does not price better than a careful person with a fresh spreadsheet on a good morning. It prices like that person on every quote, including the Friday afternoon ones, and it leaves a record.

What a safari price is actually made of.

An engine is only as good as its model of the price, and a safari price is not a rate times nights. It is several interlocking structures, and generic quoting tools break on each of them.

Seasonal accommodation rates by board basis.

A lodge rate depends on the season band and on the board basis: room only, bed and breakfast, half board, full board, all inclusive or game package. The same room in the same week can carry several prices depending on what is included, and season boundaries move year by year. Itero Desk stores rates in exactly this structure, seasons and board bases per property, and supports multi-room parties and per-day meal plans, because a real booking rarely fits one room on one basis for the whole trip.

Park fees, per person and per vehicle.

Park fees are the most safari-specific cost and the easiest to get wrong, because they are charged on two axes at once: per person, by visitor category and age band, and per vehicle. Which categories exist and how children are banded depends on the authority. Itero Desk's cost engine is tuned to its fifteen operating countries, from Tanzania and Kenya to Rwanda, Botswana and the Indian Ocean islands, and computes both axes for the exact party once the fee amounts are entered, with the breakdown visible per park, including day-visit fee logic and days that touch more than one destination. Fee amounts change and vary by authority, which is why this page quotes none; the guide to safari park fees by country covers the mechanics in the open.

The cost stack in Itero Desk: accommodation, vehicle, guide and park fees, with margin set apart and the client quote

Vehicles and guides as costed resources.

A vehicle is not a note on the itinerary. It is a cost with a daily rate and a capacity, and so is a guide. Itero Desk models both as resources, so the days a vehicle is on the road are the days it costs money, and assigning the same vehicle or guide to two trips on the same day raises a conflict warning that names the resource. Pricing and scheduling come from the same record, which is how the quote stays true to what the trip will really consume.

Flights, transfers and the rest of the lines.

Light-aircraft legs, road transfers, optional activities and any additional costs are lines in the same costing, not an email thread on the side. Everything the trip consumes is priced in one place, for the party that is actually travelling.

The pricing workflow, inside the builder.

The engine is not a separate module. It lives inside the safari itinerary builder, which walks a trip through six steps: Trip, Route, Stays, Days, Costs and Proposal. The cost panel updates live from the first step, so pricing is not a job done after planning. It happens while the trip takes shape, and a change to the route or the party reprices everything downstream at once.

The Costs step is where the finance questions get answered. Every line is visible: accommodation by stay, park fees by park, vehicles, guides, transfers, flights, optional activities, additional costs. Margin sits on top as its own layer, so the desk always sees two numbers, what the trip costs and what the client pays, and sees them while there is still time to change either. When a line needs a human decision, the override is explicit and stays visible as an override instead of vanishing into arithmetic.

The cost stack in Itero Desk: accommodation, vehicle, guide and park fees, with margin set apart and the client quote

And when the engine is missing a fact, it says so. If no imported rate covers the travel date, the stay shows a rate-gap warning instead of a silently wrong number. The desk can then import the missing sheet, override the line by hand, or accept closest-year pricing, which is optional and always labelled estimated, so an approximation can never pass as a contracted rate.

See your own margin live. A demo prices one of your real trips in the Costs step, rate gaps and all. Book a demo

Ballpark and full quote are two different jobs.

Not every enquiry deserves a full costing on day one. A new lead usually needs a fast, honest range: enough to qualify the budget and keep the conversation moving while it is warm. Building a complete itinerary just to produce that range is how desks fall behind on replies.

Itero Desk keeps the two jobs separate. On the lead, a Ballpark panel produces a fast indicative price before anyone opens the builder. When the trip is real, the full engine takes over: the six steps, the party, the seasonal rates, the fee breakdown per park, the margin layer. What matters is that both draw on the same rates. The ballpark is a quick read of the same data the full quote will use, not a guess from a different universe, so the number the client hears first and the number they eventually sign do not sound like two different companies.

One engine behind the quote, the proposal and the invoice.

A price a client can trust is one that never changes shape between documents. In Itero Desk, the price table in the proposal is rendered from the same engine that built the costing, and the invoice is generated from the itinerary, in its own invoice template set, with a share link and a matching PDF. There is no step where a person re-types the price into a document, which means there is no step where the document can drift from the costing.

Versions close the loop. Each itinerary keeps its version history with compare, so when a client says "but you quoted us differently in March", the desk opens what was actually sent in March next to what changed since. What was quoted, when, at which rates: a record, not a memory. For the finance role, reconciliation starts from documents that agree with the costing by construction, which turns "why does the invoice not match the quote" from an investigation into a non-event.

Rates come in by import, not by typing.

An engine that prices from your contracted rates raises one practical question: how do a hundred rate sheets get in? Itero AI reads a lodge's rate sheet as PDF, Word or Excel and turns it into structured seasonal rates for review; nothing is saved until you confirm it. Park fee updates and flight rates import the same way. The rule underneath is fixed: AI assists, the desk decides, and the AI never prices from imagination. Every cost the engine uses traces to an imported rate or to the park fee library. The dedicated page on AI rate sheet import shows that workflow sheet by sheet.

What it costs, and who should look elsewhere.

Pricing is not a paid module; the full cost engine is included in every Itero Desk plan. Starter is $74.99 per month ($59.99 per month billed annually) with one user. Pro is $109.99 per month ($89.99 per month billed annually) with four users and team roles, including a finance role. Every new workspace starts with a 30-day trial of the full Pro feature set, no credit card. Current details live on the pricing page.

Honesty about fit costs less than the wrong purchase. A desk selling outside the safari world entirely, say European city breaks or US domestic travel, would not benefit from the tuned fee mechanics, which are built around parks, camps and safari logistics, and those mechanics are half the point of the engine. An operator who wants help with the arithmetic but is not ready to change tools should start with the educational material on the tour cost calculator page. And if pricing is only one of several fires, start wider: the travel operations software page covers the back office as a whole, and the category page on safari tour operator software covers the full desk, of which the engine on this page is one layer.

Frequently asked questions.

What is tour pricing software?

Tour pricing software is a pricing engine for tour operators. It stores contracted supplier rates by season and board basis, computes per-person and per-vehicle costs such as park fees for the exact party, applies margin as a visible layer, and keeps the price consistent from quote to proposal to invoice. Its job is to surface stale rates and missing fees at quote time instead of at reconciliation.

How is this different from a tour cost calculator?

A calculator does arithmetic on numbers you supply; it cannot know that a number is out of date or that a fee is missing. Pricing software owns the arithmetic and the structure around your data: rates with seasons and validity, park fee mechanics, party structure, margin. The tour cost calculator page covers the arithmetic itself; this page covers the engine that keeps the inputs true.

What happens when no rate covers the travel dates?

The stay shows a rate-gap warning instead of a silently wrong price. The desk can import the missing rate sheet, override the line by hand, or accept closest-year pricing, which is optional and always labelled estimated. The one thing that cannot happen is the spreadsheet failure: an expired rate pricing a future trip with nobody told.

Can I adjust a price by hand?

Yes, per line and explicitly. Accommodation, vehicle, guide, transfers, flights, optional activities, park fees and additional costs can each be overridden, and the override stays visible as an override rather than disappearing into a total. The desk keeps the freedom of the spreadsheet cell without its amnesia: every hand adjustment remains a fact someone can see, question and reverse.

How are children priced?

Per person, like everyone in the party. Accommodation uses child rate bands from the lodge's own rate structure, and park fees apply the authority's age bands and visitor categories, per person and per vehicle. A mixed party of adults, teenagers and younger children across several rooms is priced as exactly that, not as a headcount multiplied by an adult rate.

Does the invoice always match the quote?

Yes, by construction. The proposal's price table is rendered from the same engine that built the costing, and the invoice is generated from the itinerary, so no one re-types prices into documents and documents cannot drift from the costing. Version history records what was quoted and when, so a price discussion months later starts from the document that was actually sent.

How do my lodge rates get into the system?

By import rather than re-typing. Itero AI reads rate sheets in PDF, Word or Excel and converts them into structured seasonal rates that you review and confirm before anything is saved. Park fee updates and flight rates import the same way. The AI never invents a price: every cost the engine uses traces to an imported rate or to the park fee library.


The next quote can be priced from facts. Book a demo and watch one of your real trips priced end to end, margin visible the whole way. Book a demo · Existing customer? Sign in