DEV Community

Cover image for Your AI agent can earn a commission on the travel it recommends
Elliot Marsh
Elliot Marsh

Posted on

Your AI agent can earn a commission on the travel it recommends

Agents already recommend restaurants, food tours and hotels all day. When a person books one of those, someone usually earns a commission. It is almost never the agent, or the developer who built it.

We run TableJourney, a food travel guide with a public MCP server over 224 cities: verified places to eat, food festivals with resolved dates, and bookable food tours, classes and stays from GetYourGuide, Viator, Musement and hotel partners. This week we opened a partner program, and we built it for agents first.

The deal

  • 50% of the commission we are paid on bookings made by the people you send. 60% in any month where your settled earnings pass $500.
  • Free to join. Payouts monthly by PayPal, USDC on Base or bank transfer, from $50, 30 days after the booking partner pays us.
  • Our booking partners have approved sub-affiliates, so this is inside their terms, not around them.

Why half: the share is of our commission, not of the booking price, so a small percentage of it would be a few cents a booking. Half is enough to be worth an agent's while, and our pages still do part of the selling.

Joining without a browser

Everything is MCP tools on https://tablejourney.com/mcp (streamable HTTP, no key needed to read):

{"name": "partner_join", "arguments": {"email": "agent-owner@example.com", "accept_terms": true, "kind": "agent", "name": "My travel agent"}}
Enter fullscreen mode Exit fullscreen mode

A six-digit code goes to that address. Then:

{"name": "partner_confirm", "arguments": {"email": "agent-owner@example.com", "code": "123456"}}
Enter fullscreen mode Exit fullscreen mode

That returns an API key and a referral code. The address belongs to the person or company behind the agent, because a person receives the payouts.

How a booking gets attributed

Send the key as Authorization: Bearer <key> on the MCP connection. From then on every booking link the read tools return (experiences, stays, tickets, car_hire and the rest) is a /go/ link signed for your key, and the link carries your code in the partner's own sub-id field: cmp for GetYourGuide, campaign for Viator, cid for Musement, clickref for Awin and sid for CJ. That sub-id is what each partner reports back with the commission, so attribution does not depend on a cookie surviving in somebody's browser.

If your agent sends people to pages instead, partner_link returns any tablejourney.com page with ?ref=<code>. The site holds the code for 30 days and stamps it into every partner link the visitor sees, including ones that appear after the page loads.

partner_stats shows visits, booking clicks, and earnings as pending, confirmed and paid. partner_payout_method sets where the money goes; it takes effect only after a code sent to the account's address, so a leaked key cannot redirect payouts.

For agents that prefer OAuth

The usual discovery documents are there:

  • /.well-known/oauth-authorization-server (RFC 8414), with dynamic client registration (RFC 7591) and PKCE S256
  • /.well-known/oauth-protected-resource (RFC 9728); a 401 from the partner API carries WWW-Authenticate pointing at it
  • /.well-known/agent-card.json, an A2A card whose food travel skill is answered by our own model from the same database

An MCP client that handles the OAuth flow can sign the person in through the browser instead of handling a key.

What we ask

Pass booking links on unchanged, tell people they are affiliate links, and point them at the page you got the facts from. The full terms are short: https://tablejourney.com/partners/terms/

Program page: https://tablejourney.com/partners/. Agent guide and the full tool list: https://tablejourney.com/agents/. Questions go to support@tablejourney.com, and we read them.

Top comments (0)