Distribution and channels

Agency booking reconciliation: matching tour operator lists with your reservations

Tour operator booking reconciliation prevents arrival-day surprises by matching agency lists against your system. Learn the daily, weekly and invoice checks that close gaps.

  • 11 min read
  • AI Otel Editorial

AI draft · awaiting editorial review

Contents

Key takeaways

  1. Reconcile tomorrow's arrivals the day before, not on the morning of: a gap found at 09:00 on arrival day is a front-desk problem, while one found the day before is an email.
  2. Every discrepancy needs one named owner and a closing date; a log without an owner is a diary of things that happened.
  3. Check cancellations as carefully as bookings: a room the agency has released but your system still holds is a room you cannot sell.
  4. Allotment is a weekly check, not a daily one: what matters is the pattern of use against the release period written in the contract.
  5. The invoice is the last reconciliation, not the first: check it against the contract and the stay you actually delivered, not against the agency's summary alone.

Tour operator booking reconciliation is the routine of matching what each tour operator says it has booked against what your own reservation system holds, line by line, before arrival and again at invoicing. It compares names, dates, room type, board, occupancy, price and status, and logs every gap for one named person to close.

The arrival list lands at 18:00 with a name your system has never seen, and that guest is at the desk at 14:00 tomorrow. Most agency booking errors are not mysteries; they are small mismatches between two systems that nobody compared in time. This article gives you the checks that catch them: a daily arrivals comparison, a weekly allotment review, an offer check, a discrepancy log and an invoice check. Each one is something you can run this week with the staff and systems you already have.

Where do agency booking errors come from?

Almost all of them come from the handover between two systems that never speak directly: the agency's reservation record and your own. The error is created on one side and discovered on the other.

A booking reaches you through one of four doors: email, the agency's extranet, a direct system connection, or a rooming list attached to a group or series booking. Each door fails in its own way. A booking that never arrives is one the agency confirmed to the traveler but that bounced, went to an unread address, or was never sent; its first sign is usually a guest at the desk. A booking that arrives twice comes from the same reservation sent by email and again through a connection, or re-sent after an amendment and entered as new. A booking that arrives changed has had a name correction, date shift, or room type or board change applied in one system and not the other. A booking that arrives wrong may have a child age entered as an adult, a board type defaulted by the connection, or nights counted from the wrong date. And a cancellation may never arrive, or arrive after the release deadline and be filed without being applied.

The common thread: none of these are visible unless someone puts two lists side by side and compares them in a fixed order. The first comparison point is reading the voucher and booking code the agency sent, because the code is the one identifier both systems should share.

What went wrongWhere it shows firstCheapest place to catch it
Booking never receivedGuest at the deskDay-before arrivals check
Duplicate bookingOccupancy and room countDay-before check
Name change not appliedIdentity check at check-inDay-before check
Child counted as adultOccupancy and invoiceWeekly rate check
Cancellation not appliedRooms left unsoldWeekly allotment review
Special offer not appliedGuest disputes the priceRate line check on each booking

How do you check tomorrow's arrivals against each partner's list?

Export tomorrow's arrivals from your system, take each partner's list, and compare line by line in a fixed order: booking code, name, dates, room type, board, guest count, rate, status. Same order every day, so a second person can repeat the check.

Fix the hour. Do it once per partner, the day before arrival, and finish before the front office shift handover so the evening team works from a corrected list. Match on the agency's booking code first and the name second: names are transliterated, shortened or spelled differently, and a name-only match produces false gaps and hides real ones.

Check the guest count, not only the room count. Two adults and one child in a double is a different booking from three adults, in occupancy, in price and in what the fire regulations expect. Check the rate line against the contracted rate for that date, room type and board, not against last month's figure or the previous guest's.

Mark every line as matched, gap or query, and send one consolidated query per partner rather than one email per line; partners answer a single list faster than twenty messages. File the checked list with its date: it is the record of what you knew, and it is what settles a dispute three weeks later. If a partner sends no list at all, that is itself a discrepancy: log it and ask, because silence is not confirmation.

ChecklistDaily arrivals check

  • Export tomorrow's arrivals
  • Sort by partner
  • Match on booking code
  • Verify arrival and departure dates and night count
  • Verify room type and board
  • Verify adult and child counts and child ages
  • Verify rate and currency
  • Verify status (confirmed, changed, cancelled)
  • Flag each gap
  • Send one query per partner
  • File the checked list with the date

How do you handle changes, cancellations and name changes?

Treat every change as a new fact that must be applied in both systems, and every cancellation as a room you must be able to sell again. Apply changes to the original reservation; never let an amendment become a second booking.

An amendment sent as a fresh reservation is the most common source of a double hold: one guest, two rooms, one of them unsellable until someone notices. Keep the history in one place, because a reservation cancelled and rebooked loses the trail you need at invoicing, when the partner asks which rate applied on which date.

For name changes, decide in advance who is authorised to request one, and check whether the change touches the price, because many rates are per person and per age band. For cancellations, record the date and time the cancellation was received, not the time you read it; cancellation charges follow the contract's terms and that timestamp. A cancellation that arrives after the release period still needs a written record, filed with the reservation, even when you decide not to charge it.

Do not delete the original booking. Cancel or void it so the record remains and the room returns to inventory visibly. A booking the agency says it cancelled and you never received is a dispute, not an error: the log and the partner's transmission record are what settle it.

Watch outA cancellation taken by phone and never written down is the most expensive kind. If it is not in the log with a time, you cannot prove it arrived, and you cannot prove it was applied.

A cancellation taken by phone and never written down is the most expensive kind. If it is not in the log with a time, you cannot prove it arrived, and you cannot prove it was applied.

How do you check allotment use and releases each week?

Once a week, compare the rooms taken from each allotment against the rooms still held, and confirm that releases happened on the dates the contract sets. Allotment is a pattern to read, not a single number to check.

Allotment is a block of rooms the agency may sell without asking you each time; the release period is how many days before arrival the unsold rooms come back to you. Both are contract terms, written as industry practice rather than fixed by regulation, so read your own agreement. The contract clauses worth checking are covered in allotment contracts: release periods and clauses to check.

Count three numbers per allotment per date: rooms allocated, rooms picked up (sold), rooms still held. Anything else is a guess. Do the release arithmetic per arrival date, because a release period counted in days before arrival produces a different calendar date for every night you sell.

Confirm that released rooms reappeared in your sellable inventory, not only in the contract. A release that exists on paper and not in the system is a room you will not sell. Then read the pattern: an allotment that is always full at release may be too small for the partner, one that is never touched may be too large, and both cost you money in different ways. Compare your figures with the partner's extranet; where they disagree, the partner sells from its own screen, so that screen is the one to correct first.

ChecklistWeekly allotment check

  • List each allotment with its release period
  • Record allocated, picked up and still held per date
  • Calculate the release date for each arrival date
  • Confirm released rooms are back in sellable inventory
  • Compare with the partner's extranet
  • Note untouchable and always-full allotments for the next contract review

How do you confirm special offers were applied as loaded?

Check the offer on the reservation, not on the contract. The rate line on the booking is the only proof that the offer reached the guest, and it is the line the invoice will be built from.

Offers fail in three places: never loaded, loaded with the wrong dates or conditions, or loaded correctly but not selected by the partner's system. Early booking, long-stay, free child, honeymoon and repeat-guest offers each carry a condition; check the condition against the actual stay, not against the label on the booking.

Check what the offer did to the amount. A discount applied to a net rate and the same discount applied to a gross rate are different sums, and only one matches the contract. If the contract is in one currency and the booking in another, check the conversion basis and the rate date, because a moving exchange rate turns a small gap into a visible one.

Keep the loaded offer sheet dated. When a guest or a partner disputes a price, the dated sheet is the evidence, not the memory of the person who loaded it. If an offer was applied wrongly in the hotel's favour, correct it before the invoice: a wrong invoice costs more time to repair than a wrong reservation. The loading step itself has its own routine in the contract loading checklist for agency rates.

TipSample five bookings per partner per week and read the rate line out loud against the contract. Five lines catch most loading errors before they reach an invoice.

Sample five bookings per partner per week and read the rate line out loud against the contract. Five lines catch most loading errors before they reach an invoice.

What goes in a discrepancy log, and who closes each case?

One line per gap, one named owner, one date by which it must close, and a status that only moves forward. The log is the memory of the reconciliation; without it, every check starts from zero.

Record: date found, partner, booking code, what the hotel holds, what the partner holds, owner, action taken, date closed. Assign the owner by role, not by team: reservations closes rate and room gaps, front office closes name and arrival gaps, finance closes invoice gaps.

Age the open items every week. Anything still open on arrival day is escalated to a manager, not carried quietly into the next week. Keep personal data out of the log: a booking code and initials are usually enough, full guest details belong in the reservation, and retention periods follow your own data policy.

Review the log monthly by partner and by type. Three gaps of the same kind from one partner is a process problem, not three separate mistakes. Close the loop with the partner in writing when a gap is resolved, so the same case is not reopened by a different shift.

For example, two illustrative rows:

Date foundPartnerBooking codeHotel holdsPartner holdsOwner (role)ActionDate closed
(example) 12.05Partner AA-4821Name "M. Yilmaz"Name "M. Yilmaz-Öz"Front officeName corrected on reservation12.05
(example) 14.05Partner BB-1077Room heldCancelled 13.05ReservationsRoom released to inventory15.05

How do you check the invoice against the contract and the stay?

Reconcile the invoice to the reservations you actually delivered first, then to the contract terms. In that order, because a correct rate applied to a stay that did not happen is still a wrong invoice.

Start from your own list of stayed bookings for the period, not from the partner's summary; the summary was built from the same records that produced the errors you have been finding all month. Check the commission or net basis exactly as the contract states it, and check the base it was applied to: room only, room and board, or the full bill. The mechanics of billing agencies sit in the city ledger, and the reconciliation is what feeds it.

Check cancellations and no-shows, charged or not charged, against the contract terms and the dates you recorded in the log. Check extras: extra beds, late checkouts, transfers, minibar; the partner should not be billed for anything the guest already paid directly at the desk. Check currency and the conversion date where the contract allows conversion.

Raise queries in writing inside the period the contract sets; a query raised late is a discount you gave away. File the reconciliation sheet with the invoice, so the next period starts from a documented position.

ChecklistInvoice check

  • Pull stayed bookings for the period
  • Match each invoice line to a reservation
  • Verify rate basis and commission against the contract
  • Verify charged cancellations and no-shows against the log
  • Verify extras and direct payments
  • Verify currency and conversion date
  • Raise written queries within the contract period
  • File the reconciliation sheet

What to do next

Start with two lists and one log: tomorrow's arrivals checked against each partner's list every afternoon, allotment use reviewed once a week, and every gap written down with a named owner and a closing date. Run it for one month on the partner that produces the most gaps, then extend it to the rest. The invoice check at the end of the month becomes short once the daily and weekly checks are doing their work.

Frequently asked questions

Who is responsible when the agency's list and our system disagree?

The reservation the hotel confirmed in writing is what the hotel owes the guest, so the guest is looked after first and the paperwork settled afterwards. The disagreement itself is commercial and is decided by the written confirmation, the log and the contract terms. Confirm the position with the partner in writing, and take contract questions to your legal or commercial adviser.

How long should we keep arrival lists and rooming lists?

Keep only what the reconciliation needs, and keep it for the period your own data retention policy and the contract set. The checked list is a working record; the reservation record is the durable one. Personal data on lists falls under KVKK (the personal data protection law), so agree the retention period with your data protection adviser rather than copying lists indefinitely.

Should reconciliation happen before or after night audit?

Before. Night audit closes the business day and freezes the figures, so a correction made afterwards lands in the next day's numbers and makes both days harder to read. Finish the arrivals check before the evening shift handover, and let the night audit close a day that is already correct.

What is the difference between a booking that never arrived and a no-show?

A no-show is a reservation the hotel holds and the guest did not use; it may be chargeable under the contract. A booking that never arrived is one the hotel never had, so the question is whether the partner sent it and where it went. The log and the partner's transmission record decide which of the two you are dealing with.

How do we stop the same errors repeating every month?

Review the log monthly by partner and by error type, then fix the channel rather than the individual case: the email address, the extranet user, the room type mapping, the loaded offer sheet. Recheck contract loading once a season, because most recurring gaps are loading gaps wearing a different date.

AI Otel EditorialEditorial team

Drafted with AI assistance from AI Otel’s published fact base. Not yet reviewed by an editor.

For hotels: OtelCiro.

OtelCiro, AI Otel’s hotel growth and consultancy arm, is operating today.

Talk to OtelCiroRequest a briefing