You keep your own menu
Names, prices, categories, and active items stay with the restaurant node instead of living only inside a marketplace listing.
Public protocol / controlled live pilot
Pizza4People is a public proof of one small thing: the customer can discover a restaurant through a public registry, but the menu and the order go straight to the shop. The first live shape is intentionally narrow: direct pickup orders and simple pay-at-pickup before anything broader.
More routes: 60-second version / Proof note / Broader vision / Press kit DK / Press kit EN
Status: public protocol proof with a controlled live-pilot path, not broad production infrastructure. Just Eat Takeaway.com announced 30 April 2026 as the date its Danish operations would conclude. Source.
If You Run A Pizzeria
Pizza4People is trying to keep the basic digital connection in the restaurant's hands. The first live shape is intentionally small: controlled pickup orders, direct menu control, and simple payment at pickup before anything broader.
Names, prices, categories, and active items stay with the restaurant node instead of living only inside a marketplace listing.
The customer can discover through a registry, but the menu and order request go straight to the restaurant node.
The first live shape is intentionally small: controlled pickup ordering, with pay-at-pickup as the simple starting point.
Kitchen screen, print, notifications, stock checks, and later trust or payment modules can be added without turning the registry into the middleman.
How The Pieces Fit
The list below is intentionally written for first understanding, not for manifest reading. Each box opens into the technical links only when you need them.
Payment stays narrow on purpose. P4P does not hold funds, process payments, store payment credentials, settle money, or act as merchant of record.
If modules make no sense yet, start with the simple guide inside the module pages.
If you want the full public reading path for the module layer, open the dedicated module pages.
The current public catalog points to 1 readable provider identity page as a separate human layer: open provider catalog.
What the customer sees
These are the public surfaces a customer can actually open during discovery and ordering.
Customer side
A customer opens a normal menu list and sends the order directly to the restaurant.
For a pizzeria: You keep the menu basics on your own node instead of relying on a marketplace-owned list.
p4p.menu.listMore info: Open full module page / Open provider page / Open manifest
Customer side
A customer taps a paper-menu style surface instead of a plain item list.
For a pizzeria: Useful if you want the customer surface to feel closer to a printed flyer or visual takeaway menu.
p4p.menu.photo-mapMore info: Open full module page / Open provider page / Open manifest
Customer side
A customer can check whether the order was accepted, rejected, or is ready for pickup.
For a pizzeria: Reduces the need for status phone calls when the restaurant updates the order state.
p4p.customer.statusMore info: Open full module page / Open provider page / Open manifest
What the shop uses behind the counter
These are the restaurant-side tools for menu control, kitchen flow, stock, printing, and fallback alerts.
Owner / operator side
The restaurant can change names, prices, categories, and whether an item is active.
For a pizzeria: This is the control surface that lets the shop own its own menu instead of waiting for a platform back office.
p4p.catalog.editorMore info: Open full module page / Open provider page / Open manifest
Owner / operator side
The restaurant can scan a paper menu into draft catalog rows before a human review.
For a pizzeria: Useful when a shop starts from a printed takeaway card instead of rebuilding the whole menu by hand.
p4p.catalog.import.ocrMore info: Open full module page / Open provider page / Open manifest
Owner / operator side
Staff can see incoming orders and move them through kitchen states.
For a pizzeria: Lets the restaurant turn direct orders into an actual working queue behind the counter.
p4p.kitchen.screenMore info: Open full module page / Open provider page / Open manifest
Owner / operator side
The system can do one last local stock check before the next order step continues.
For a pizzeria: Helps stop the flow before the kitchen commits to something the shop no longer has.
p4p.stock.basicMore info: Open full module page / Open provider page / Open manifest
Owner / operator side
Accepted orders can later be printed or forwarded to a restaurant-owned printer or POS surface.
For a pizzeria: This is the bridge from a direct online order to a paper ticket or POS flow inside the shop.
p4p.order.printMore info: Open full module page / Open provider page / Open manifest
Counter / hardware side
If the first printer path fails, the order can be rerouted to a second print target or local spool.
For a pizzeria: Useful when a shop wants hardware redundancy before trusting direct orders during busy service.
p4p.order.print.backupMore info: Open full module page / Open provider page / Open manifest
Owner / operator side
The system can send an email when an order needs attention or a printer flow fails.
For a pizzeria: Useful as a fallback alert so the shop is not blind if another operator-side step fails.
p4p.notify.emailMore info: Open full module page / Open provider page / Open manifest
Owner / operator side
The system can send a short phone alert when an order or printer problem needs fast attention.
For a pizzeria: Useful if the test hardware is noisy or partially unattended and the operator still needs a direct phone fallback.
p4p.notify.smsMore info: Open full module page / Open provider page / Open manifest
Counter / hardware side
A local box can ring, beep, or flash when a new order or hardware problem needs attention.
For a pizzeria: Lets the hardware give an audible or visible cue without turning the alert layer into the actual order queue.
p4p.order.alert.basicMore info: Open full module page / Open provider page / Open manifest
Counter / pickup side
A simple local screen can show which direct orders are accepted or ready at the counter.
For a pizzeria: Gives the shop a cheap customer-facing pickup signal without exposing the full operator dashboard.
p4p.pickup.board.basicMore info: Open full module page / Open provider page / Open manifest
Payment and business trust
This is where payment stays intentionally simple and where identity or business verification can later become reviewable.
Customer + operator side
The restaurant can keep payment simple by taking cash or direct in-person payment outside the protocol.
For a pizzeria: This is the easiest first live shape: order online, pay when the customer arrives.
p4p.payment.cashMore info: Open full module page / Open provider page / Open manifest
Customer + operator side
A future external adapter can expose a familiar MobilePay-style pay-at-pickup instruction without making P4P the payment processor.
For a pizzeria: Lets pilot restaurants say whether an external MobilePay-style adapter is worth adding after cash-first feedback.
p4p.payment.mobilepayMore info: Open full module page / Open provider page / Open manifest
Trust layer
A later trust layer can connect a node identity claim to a Danish CVR lookup or trust claim.
For a pizzeria: This is meant to make a restaurant identity more reviewable later without turning the registry into the authority.
p4p.trust.cvr-basicMore info: Open full module page / Open provider page / Open manifest
Internal tests and future extras
These modules are not the live restaurant offer today. They are internal test scaffolding or planned next-step pieces.
Internal debug
An internal mock can randomly accept or reject a test payment during local debugging.
For a pizzeria: Not something a restaurant should read as a live offer. It exists to test ugly edge cases before any real payment direction exists.
p4p.payment.godpay-mockMore info: Open full module page / Open provider page / Open manifest
Internal debug
An internal mock for timeouts, wrong amounts, duplicate callbacks, and other payment chaos scenarios.
For a pizzeria: This exists to break things safely in local testing before any broader payment layer is discussed.
p4p.payment.chaospay-mockMore info: Open full module page / Open provider page / Open manifest
For journalists
Pizza4People can be covered now as a public protocol proof responding to a real market exit. The careful wording is important: this is not a finished replacement for Just Eat, not a delivery company, and not a production restaurant network yet.
Public main repo, public proof note, readable protocol/spec docs, schemas, reference code, and an independent node interop kit.
Start with the repo README, the proof note, SPEC.md, and the release notes.
Several independent people can build their own nodes and check whether they interoperate before the first real pickup-order pilot goes live.
The public repo now includes replaceable customer menu modules, internal mock payment modules, operator workflow modules, and a money contract where prices are integer minor units with an explicit node currency.
One restaurant-owned node, one primary registry, one backup registry, and explicit operator approval before live pickup orders.
The public repo is the conservative story branch. The proof site and the broader protocol-family framing remain the narrowest public places to verify what exists now.
Open the press kit in Danish or English. PDF exports remain artifacts; the HTML kits are the maintained source.
The story
The point is not to launch another giant food app. The point is to let a pizzeria keep the basic connection: its own menu, its own direct order endpoint, and a small pickup-first flow it can actually control. This public proof is the first step toward that.
In one sentence
The customer finds the shop through a public directory, but the menu and order go straight to the shop.
What you can see already
The client asks a registry for nearby restaurant nodes and can discover a public proof node now.
The menu is fetched from the restaurant node, either as structured items or through a photo-map view of a paper menu fixture.
The order goes directly to the node. In the public proof this is a test order; in the pilot it becomes explicit restaurant-approved pickup ordering.
Discovery still works through a backup registry because the node announced itself to both.
Problem
Closed marketplaces can be useful, but they also concentrate discovery, customer access, order intake, and commercial terms in one place. When a platform leaves, restaurants and customers should not have to rebuild the basic contact layer from zero.
For a journalist, the story is not "new pizza app". The story is whether basic local commerce should depend on one private discovery and ordering silo at a time.
Proof
A client asks a registry for nearby pizza nodes. This is the phone book part.
The client requests the menu directly from the selected node. The registry is not the menu owner.
The client sends the order directly to the node. Public proof orders remain test orders until a restaurant operator explicitly enables live mode.
If the primary registry disappears, discovery can still work through a backup registry.
Press takeaway
A company can still build delivery, payments, support, loyalty, analytics, or hosting on top. The point is that no single company should have to own discovery, identity, and the first restaurant-customer contact for the system to work.
What this proves
What this does not prove
Trust direction
The current P4P direction is node-owned identity. A node signs its own announcement. A registry verifies the node signature, records an identity event, and can later publish signed snapshots. The registry does not need the restaurant's private key.
Proof gate
Roadmap
Next gate
These surfaces are real and already built, but they belong to the pilot-node path after the current public proof. They are not the narrow v0.1 proof loop itself.
What the restaurant will control locally when the controlled pilot opens.
/operator
Menu editing belongs to the shop, not to the discovery layer.
/operator/catalog
The pilot node shows clearly when the running module set and the desired module set differ.
/operator/modules
Contact
For technical review, protocol questions, or press context: hedegreen.research@gmail.com.
Source and protocol work: https://github.com/DennisHedegreen/p4p.
Broader protocol-family direction: https://protocols4people.com/.
Pizza4People is the concrete restaurant-ordering proof. Protocols4People is the broader protocol-family direction.