One catalog, every channel

One menu. Every channel. Every price.

Your menu lives in one place. Branches, marketplaces, languages — each one gets its own pricing. None of them get their own copy of your menu.

The menu-drift story

You know this morning.

The Wolt page is showing last month's price. The website still lists the combo you discontinued in March. Uber Eats is missing the new burger your kitchen launched two weeks ago. A regular calls to ask why the espresso costs 95 on the app and 75 at the counter, and nobody on the floor has an answer.

That's menu drift. Every operator we've sat with has lived this Friday morning. Most have lived it this week.

It happens because every channel keeps its own copy of your menu. Update one, forget the other three. Promote a new item, push it to the POS, push it to the website, then push it to four marketplace back-offices. One channel falls out of sync. Then two. Then nobody trusts the numbers.

The model

One catalog. Many channels. Per-channel pricing without per-channel chaos.

Here is what changes the day dojofood goes live.

Your menu sits in one place — items, modifiers, recipes, photos, allergens, languages. That's the catalog.

Around it sit your channels: dine-in, takeaway, online ordering, and every marketplace you run on. We're live with Uber Eats and the local marketplaces your operators already use today. Wolt, Bolt Food, Just Eat, and Deliveroo are on the integration roadmap with a two-week SLA.

Each channel gets its own pricing rules. Delivery markup separate from dine-in. Happy hour on one marketplace only. A combo that only appears on the website. A breakfast SKU that's branch-specific. The rules sit on the channel — the menu itself doesn't get duplicated.

Change the espresso price in the catalog. Every channel updates. Or pick which channels follow and which stay locked at the old price. Your call, every time.

Branch × marketplace, on one screen

Two branches, four marketplaces, eight channels — one source.

Most operators we work with don't run one location on one platform. They run two cafés on four marketplaces. Or three restaurants where each branch is on a different mix of channels because Uber Eats coverage is strong in one neighbourhood and Bolt Food is strong in another. That's a matrix.

Without dojofood
8 back-offices, 8 login screens, 8 places to update when the cold brew price changes. A café with 2 branches × 4 marketplaces = 8 separate channels.
With dojofood
1 catalog. 1 screen. Filter by branch. Filter by channel. Update one cell, update one row, update one column — whatever the change actually is.
The matrix is real
Not metaphorical. The catalog tree is on the left. Branches across the top. Marketplaces down the side. Each cell is the live price the customer sees on that channel, at that branch, right now.
What gets automatic, what stays manual

We hand you the rules. You decide which channels follow.

All channels follow

Default. The new price goes everywhere in seconds.

Channels follow a markup rule

Marketplaces stay at +12% over dine-in. Website stays at parity. The rule does the math.

Some channels stay locked

Maybe Uber Eats is in the middle of a campaign and the price needs to hold. Lock it. Everything else updates around it.

One branch only

Branch 02 raises its lunch combo by 5. Branch 01 doesn't. Per-branch, per-channel.

This is the restraint claim worth saying out loud: we don't push you toward dynamic pricing wars. We give you control over what every channel sees. Some operators want to ladder their delivery prices up to cover fees. Some want strict parity to protect dine-in. Both are valid. The tool doesn't have an opinion. The operator does.

Edge cases that earn the trust

The boring details that matter.

Branch-only items

Branch 02 sells a rooftop-only cocktail. It exists in the catalog, it's enabled on Branch 02, it's invisible on Branch 01's menus.

Time-windowed items

Breakfast disappears at 11:30, lunch appears at 11:31 — across every channel, on its own clock.

Marketplace-only SKUs

An Uber Eats-exclusive combo that doesn't show up on Wolt or your QR menu.

Languages

The catalog carries EN, TR, and any others you add — translations stay tied to the item, not to the channel.

Allergens, photos, descriptions

All part of the catalog. Update the photo of the burger once. It updates on every channel that shows photos.

86'd items

Stock runs out in the kitchen, dojofood marks it unavailable on every channel in seconds. No "we sold the last one twelve minutes ago and Uber Eats is still taking orders for it."
20 minutes with our team

See the catalog tree. Bring your worst Friday.

Show us your menu, your branches, your marketplace mix — we'll show you what one source looks like on one screen. Live human, your language, under two hours when it breaks. Live in seven days when you sign.