CommissionsPartner APIs
Stopped overpaying affiliate networks for returning customers
Hotel booking platform, 1M+ users a month
Otello (2GIS)
2025 to 2026 · Led the epic: nine tasks, three partner APIs, one release plan
~€40k
a year in commissions saved
The problem
The platform pays affiliate networks a commission for the customers they bring. A new customer costs more than a returning one.
The platform sent no new-or-returning flag, so every customer was billed as new. The overpayment ran every month and grew with the season.
What I did
- Led the epic end to end: scoped and split the work, planned the releases, and talked to the three networks and to the business directly, so the decision makers did not have to.
- Read three different partner APIs, each with its own gaps in the documentation, and agreed with each network how to pass the customer status.
- Implemented the new-or-returning flag in the booking flow for the networks that needed it, and surfaced it in the admin panel.
- Traced why some bookings were missing from one network's reports, and added an endpoint to cancel an affiliate booking from the admin panel.
- Found and fixed a promo-code attribution bug in another network along the way.
Decisions
- One epic for three networks with one release plan, instead of three separate fixes. The business waited for one date, not three.
- Extra findings (the missing bookings, the promo-code bug) were closed inside the same epic rather than parked in the backlog.
What changed
- About €40k a year back in commissions.
- All nine tasks shipped a week ahead of schedule, plus fixes that were not in the original scope.
Stack
GoPostgreSQLPartner REST APIsAdmin panel