Skip to main content
Operating model to align support, ops and finance for customer outcomes

Operating model to align support, ops and finance for customer outcomes

Why refunds, disputes and disruptions keep getting stuck between three teams that all think it's someone else's job

There's a specific kind of failure that shows up in almost every growing tour operator, and it has nothing to do with bad staff or bad software. It's the seam between teams. Support says the refund is approved. Ops says the supplier hasn't confirmed the cancellation. Finance says they can't process anything until the reconciliation matches. Meanwhile the guest has sent four emails and left a one-star review that mentions your company by name.

Nobody made a mistake, exactly. Each team did their job. The problem is that "their job" was defined vertically — support handles tickets, ops handles suppliers, finance handles money — and the customer's actual problem runs horizontally across all three. That gap between how you're organized and how the work actually flows is where a customer operations model for a tour operator either holds up or falls apart.

This isn't about hiring a "head of customer experience" or buying another tool. It's about deciding, on paper, who owns what, how fast each handoff has to happen, and what triggers when a handoff is late. Below is how that actually works when you build it deliberately instead of letting it grow by accident.

The default state: three teams optimizing for three different scoreboards

Before you can fix the seams, it helps to see why they exist. Each function is measured on something different, and those measurements quietly pull against each other.

Support is measured on ticket volume and response time. So support wants to close things fast — which sometimes means promising a refund before checking whether the supplier terms even allow one.

Ops is measured on fulfillment and supplier relationships. So ops wants to avoid cancellations that burn supplier goodwill, and they'll slow-walk a refund if they think the trip can still run.

Finance is measured on reconciliation accuracy and cash exposure. So finance wants documentation, matching, and a paper trail before money moves — which feels like foot-dragging to everyone waiting on them.

None of these incentives are wrong individually. But when a disrupted booking lands, the three scoreboards collide. The guest experiences the collision as silence. What we've seen across a lot of operators is that the customer rarely churns because of the original problem — a canceled boat tour, a double-booked room. They churn because of the four days of nobody-owns-this that followed.

The fix isn't to give everyone the same scoreboard. It's to add a shared one on top: time-to-resolution for the customer, owned jointly. Everything else in this article is machinery to make that shared number real.

What breaks specifically as you scale

At 40 bookings a week, the seams don't matter much. The same three people talk in a group chat, someone chases the supplier, someone processes the refund, and it gets done. Informal coordination works because everyone has full context.

The trouble starts somewhere around the point where you've got separate people in support, ops and finance who don't sit in the same conversation. Here's the progression that tends to follow:

  1. First, context stops traveling with the case. Support resolves the "front" of the issue and marks it done, not realizing finance still has an open exposure on it.
  2. Then, duplicate work appears. Two people email the same supplier about the same cancellation because neither knows the other already did.
  3. Later, disputes start slipping past deadlines. Card networks give you a fixed window to respond to a chargeback, and when the evidence lives in three systems owned by three teams, you miss the window and eat the loss.
  4. Eventually, nobody can answer a simple question

    "How long does a refund actually take here?" Because there's no single place where the whole lifecycle of a case is visible.

That last one is the tell. When leadership can't answer basic timing questions about the customer's journey through a problem, you don't have a staffing issue. You have a missing operating model.

The four pieces of a cross-functional operating model

A prescriptive model has four moving parts. They're boring individually and powerful together: SLAs, escalation ladders, shared dashboards, and runbooks. Each one on its own is pretty ordinary. Together, they close the gaps.

1. SLAs that are defined per handoff, not per team

Most operators write SLAs like "we respond to all inquiries within 24 hours." That's useless for cross-functional work, because it measures the front door and ignores everything after.

StageOwnerTarget SLAWhat "done" means
Case triage & categorizationSupportWithin 2 hoursReason coded, refund eligibility checked against terms
Supplier confirmationOpsWithin 1 business dayCancellation confirmed or trip re-secured, with reference
Financial processingFinanceWithin 2 business days of ops confirmationRefund issued, ledger updated, guest notified

The point isn't the exact numbers — yours will differ by trip type and payment method. The point is that each team knows precisely when the baton is supposed to leave their hand, and the guest-facing promise ("refunds in about 5 business days") is just the sum of the internal clocks, not a hopeful guess.

One pattern worth calling out: teams game single-number SLAs by reclassifying cases. If "response time" is the metric, a hard case gets reopened as a new ticket to reset the clock. Per-handoff SLAs make that harder because the case ID follows the whole journey.

2. Escalation ladders that trigger automatically, not emotionally

An escalation ladder answers one question: when a handoff misses its SLA, what happens next, and who gets pulled in?

  1. SLA breached by any stage → automatic flag to the stage owner and a shared queue.
  2. Breach + 1 day, still open → escalate to the team lead of whichever function is holding the case.
  3. Breach + 2 days, or dollar value above a threshold → cross-functional huddle, one named owner assigned to drive it to close regardless of which team "should" handle it.
  4. High-severity from the start (disruption affecting a live tour, dispute deadline within 48 hours, refund over a set amount) → skips straight to step 3.

The severity fast-track matters. Chargeback deadlines especially don't wait for your ladder to climb. If a dispute lands with the network response window closing in two days, it can't sit at step one. This ties directly into the way disputes and chargebacks should be handled as a connected finance-ops flow rather than isolated tickets — something covered in more detail in preventing payment and chargeback leaks with a finance-ops lifecycle.

3. Shared dashboards so nobody has to ask "where is this?"

If your three teams live in three tools, the dashboard is the thing that makes the operating model visible. It doesn't need to be fancy. It needs to answer four questions at a glance:

  1. How many cases are currently open at each stage?
  2. Which cases have breached SLA?
  3. What's the total dollar exposure sitting in open disputes and pending refunds?
  4. What's the median time-to-resolution this week vs. last?

The single most useful column, in practice, is "time in current stage." It exposes exactly where cases die. When you see thirty cases sitting eleven days deep in "supplier confirmation," you don't have a support problem or a finance problem — you have an ops-to-supplier bottleneck, and you now know exactly where to point.

A quieter benefit: shared visibility changes behavior on its own. When ops can see that finance is genuinely underwater, they stop assuming finance is slacking. When finance can see that ops is stuck waiting on a supplier, they stop blaming the delay on paperwork. The dashboard doesn't just report the problem — it defuses the finger-pointing that usually surrounds it.

4. Runbooks that remove the improvisation

A runbook is a pre-written play for a recurring situation, so the tenth refund doesn't get handled worse than the fifth just because a different person picked it up. The three that pay for themselves fastest are refunds, disputes, and disruptions.

Refund runbook (abbreviated):

  1. Support codes the refund reason and checks eligibility against the booking's terms.
  2. If eligible, case moves to ops with the supplier reference attached.
  3. Ops confirms cancellation/credit with the supplier, records the reference number.
  4. Finance processes, posts the journal entry, updates the ledger, notifies the guest.
  5. Case closes only when all three stages are marked done — not when support "resolves" its part.

Dispute runbook (abbreviated):

  1. Dispute lands → severity-flagged by network deadline immediately.
  2. Evidence pack assembled from a pre-agreed checklist (booking confirmation, terms accepted, communication log, delivery proof).
  3. Finance submits before the deadline; ops supplies fulfillment evidence; support supplies the customer thread.
  4. Outcome logged and fed back to whichever team the pattern points to.

Disruption runbook (abbreviated):

  1. Trigger identified (weather, supplier failure, safety).
  2. Affected bookings pulled; guests messaged from a template within the first hour.
  3. Rebooking or refund options offered per a pre-set decision tree.
  4. Finance flagged for any refunds/credits so exposure is tracked from minute one, not discovered later.

The disruption case especially connects to how you run live operations under pressure, which we've covered in the context of SLOs and runbooks for resilient live tour operations. A cross-functional model is really just extending that same runbook discipline across the office, not only the field.

How the pieces work together on one case

Walk a single disrupted booking through the whole machine and it clicks.

A supplier cancels an afternoon catamaran trip for a party of six the night before. The disruption runbook fires: guests get a templated message within the hour offering a next-day slot or a full refund. Two accept the reschedule; four want their money back. The case now splits — reschedule handled by ops, refund routed to finance — but it stays under one case ID on the shared dashboard, with each sub-path carrying its own SLA clock. Finance sees the refund exposure the moment it's created, not at month-end reconciliation. Ops logs the supplier reference. If finance hasn't processed within its window, the escalation ladder flags it automatically before the guest has to chase.

Here's a simple workflow visualization of how the case moves through support → ops → finance with SLA clocks, dashboard visibility, and escalation triggers.

Process diagram

No group chat archaeology. No "who's got this?" The customer's horizontal problem finally has a horizontal system underneath it.

When this level of structure actually makes sense

Be honest about scale, because over-engineering this is its own failure mode.

This makes sense when: you have distinct people or small teams in support, ops and finance who don't share full context; you're processing enough refunds and disputes weekly that informal chasing is dropping cases; or you've had a chargeback slip past a deadline because evidence was scattered.

This is overkill when: you're small enough that three people in one chat genuinely see everything. At that size, a lightweight shared spreadsheet and a couple of agreed SLAs is plenty. Building formal escalation ladders for a team that eats lunch together just adds ceremony.

Who should be careful: operators mid-migration between platforms or in peak season shouldn't roll this out all at once. Start with one runbook — usually disputes, because the deadlines are unforgiving and the losses are real money — prove the shared dashboard on that single flow, then extend.

A real scenario

A mid-sized regional operator running day tours and multi-day packages was doing roughly 250–300 bookings a week across three OTAs and direct. Support, ops and finance were three separate people using three separate tools with a WhatsApp group as the glue.

Their problem wasn't volume — it was leakage between teams. Refunds were taking around 9–12 days because each one bounced back and forth. Worse, they were losing a handful of chargebacks a month purely because nobody assembled the evidence before the network window closed. Call it two or three lost disputes monthly, mostly in the low hundreds each — not catastrophic, but a steady, avoidable bleed, plus the reviews that came with slow refunds.

They didn't reorganize. They wrote per-handoff SLAs, built one shared view showing "time in current stage," and started with the dispute runbook. Within a couple of months, refund turnaround dropped to around 4–5 days, and lost-by-deadline disputes went to nearly zero because the evidence pack was assembled automatically the moment a dispute landed. The teams reported less friction too — most of the old back-and-forth had been people asking each other for status, and the dashboard answered that without a message.

Nothing exotic. They just made the horizontal work visible and gave each seam a clock.

Where to start

If you take one thing from this, make it the shift from vertical ownership to handoff ownership. You don't need to restructure your teams. You need to define the baton passes, put a clock on each one, and build a single view where the whole case lives.

Start with disputes first — the deadlines are unforgiving and the money is real.

Pick the flow that hurts most — for most operators that's disputes, because the deadlines are real and the money is real — write the runbook for it, and add SLAs to each handoff. Get that one loop tight and visible. Then extend the same discipline to refunds and disruptions.

The teams stay the same; what changes is that the customer's problem finally has an owner across the whole journey instead of getting stuck in the gaps between three people who all thought someone else had it.

Built for Travel Operators Tailored features for tour and travel management workflows
Save Time Simplify bookings, scheduling, and customer communication
Delight Clients Provide seamless booking experiences and real-time updates
Grow Revenue Maximize tour capacity and increase repeat bookings