Every delivery channel,
one EPOS integration.
GrubBridge sits between Deliveroo, Noon, Uber Eats and Just Eat and your point-of-sale. Orders arrive normalised. Menus push out. You integrate once — not four times, then again next quarter.
- One canonical order model
- Sub-second pass-through
- Per-channel billing
One connection. Every channel your restaurants already sell on.
Three steps from a channel webhook to a POS ticket.
No buffering, no batching, no scheduled polls. GrubBridge is a low-latency pass-through — built to the platforms' own certification rules, not around them.
Channel pushes in
A webhook lands from Deliveroo, Noon, Uber Eats or Just Eat. We verify the signature over the raw bytes and ACK in under a second — the channel never waits on your EPOS.
POST /webhooks/:channelWe normalise & dedupe
Each payload becomes one CanonicalOrder: money in minor units, branded tenant IDs, prep-time carried through untouched. Duplicates and out-of-order callbacks are dropped before processing.
CanonicalOrder { … }Your EPOS receives
One schema, every channel. Pull from the API or receive a push the moment an order is parsed. Send status back once — accepted, rejected, ready — and we sync it to the right channel.
GET /api/v1/ordersA canonical core that never learns which channel it's talking to.
Every channel collapses into one shape.
Money in minor units. Branded tenant IDs that make tenant-scoping a compile-time concern. The raw payload retained for replay, never read by core logic.
{
id: "ord_3kP9…", // yours
externalId: "GB-7741-DLV", // channel's
channel: "deliveroo",
total: { amountMinor: 1250, currency: "GBP" },
prepTime: { targetMins: 18 } // carried through
}Signatures over raw bytes.
HMAC computed on the exact bytes received, constant-time compared. An unverified payload never reaches your EPOS — it's a 401, not a 200.
No artificial delay.
Pushed to your EPOS the moment an order is parsed. Prep-time models stay honest; restaurants keep their standing.
One feed to report on.
Orders, accept rates and rejection reasons across every channel in a single normalised stream you can query.
GBP and AED, day one.
Built for vendors operating across the UK and the Gulf, with the tenancy model to keep brands and branches cleanly scoped.
Why vendors switch
“We were maintaining four separate channel integrations and a fifth was on the roadmap. GrubBridge gave us one schema and one webhookto build against. Adding Noon afterwards took an afternoon, not a sprint.”
You pay for what your API key can call.
Tiers map to capability flags and scale with the number of channels you connect. No feature you can't use; no channel you don't sell on.
Orders
Receive normalised orders from every connected channel.
- Canonical order ingestion
- Signature-verified webhooks
- Accept / reject status sync
- Dedupe + replay
- 1 channel included
Orders + Menu
Most adoptedPush menu updates out to channels from one source of truth.
- Everything in Orders
- Menu sync (v3 presigned upload)
- Site open/close control
- Prep-time defaults per store
- 3 channels included
Platform
Full reporting and multi-brand operations at scale.
- Everything in Orders + Menu
- Reporting API + exports
- Unlimited channels
- Multi-brand / multi-region tenancy
- Priority integration support
Integrate once. Connect every channel.
See a live order travel from a channel webhook to a POS ticket in a 30-minute technical walkthrough with our integrations team.
Deliveroo-certified · v2 Orders · v3 Menu · UK & GCC