Commercial checks, reviewed by a person
A commercial team used to find sales opportunities by hand. Now one tool runs the checks and lists the candidates. A manager still decides which are real — then edits a ready-made draft for the account manager.
01The problem
Finding an opportunity meant answering the same four questions for every hotel, by hand — then finding the right colleague and writing to them.
Which hotels sell with us but are not yet switched on with partner platforms such as Booking.com and Priceline? Is each one allowed to be — does it issue invoices, does its market qualify? And is it really worth a call?
Someone answered those questions by hand. Then they looked up who manages that hotel and wrote them a message.
Three of the four are routine. One is judgement. Then a lookup and a message. All of it in the same spreadsheet, by the same person — and again for the next row.
By hand: three routine checks, one judgement call, one lookup, one message.grey line drawing = done by hand · dashed box = a brain check
02What I built
One flow instead of a wall of rows. The routine checks run on their own; the judgement stays with a person.
2 hotels passed the rules this run. Tick the ones worth a call, then Next.
- Harbour View Hotelsells with us · not on the partner platform
- Lakeside Resortpasses the rules · reviewer: “not this one, not now”
Then, as a separate step, notify by email or Slack DM — the reviewer chooses.
03What a person still decides
The tool never contacts anyone on its own. My manager reads each candidate and ticks the ones that make commercial sense — it cannot know what she knows about a hotel or a market. She can rewrite the draft before saving it, and notifying the account manager is a separate click.
We chose not to trust automation with the judgement. That was the design, not a limitation.
04What it removed
Three kinds of grunt work went away. The judgement did not — on purpose.
The same comparison, by hand, row after row. Now it runs the same way every time; a person only reads the result.
Chase a gap, then learn it wasn’t allowed anyway. The invoice and market rules run first, so those never reach the list.
Look up the account manager, write each message by hand. The name is on the card; the draft arrives pre-filled.
05How I built it
In detail, not in jargon. Five steps, roughly in the order they happened.
I asked my manager and the account-manager teams what a useful notification needs: which facts, what wording, what to do next. That became the message template.
A check is an SQL query — a written question to the database: “which hotels sell with us but are not switched on with the partner?” The invoice and market rules run before anything is shown.
It runs the checks and posts the cards, checkboxes and draft pop-up. Same inputs, same outputs, every time.
Fixed logic was also the fit for the guidance I was given.
Her feedback caught wrong tags, hotels already switched on, and tables too dense for Slack. I logged each finding, fixed it with AI coding assistants, re-ran, re-checked.
Validated first in a dry run delivered only to a reviewer, then handed over: code in GitLab, automated tests, a written handover, and a week teaching my manager how the pieces connect and how to work with AI.
06My part · not my part
Credit where it belongs. I designed and built the tool; the commercial thinking and the final calls were never mine.
My part
- Designed the checks and the rules they apply, from my manager’s goals
- Built the Python service, the Slack review cards and the draft pop-up
- Validated results with my manager; logged and fixed what was wrong
- Asked the account-manager teams what a message needs to say
- Wrote the handover; spent a week training my manager
Not my part
- The commercial ideas and the final judgement — my manager’s
- Talking to hotels — the account managers’
- Agoda’s data, definitions and platform rules — given, not mine
- Hosting and deployment — Agoda’s, not mine
- Every automated test — I ran the validation; I didn’t write them all
Facts on this page come from my own notes and interviews only. Anything drawn as an example is labelled “illustration”. Partner platforms are named as companies I worked with — never for.