omnibase / restaurant
A restaurant on omnibase: the dining room and its layouts (a floor-plan editor, a QR poster per table), meal services and table reservations (availability under a lock, a public form, a management link, ICS), the menu (dishes as omnibase/marketplace products, sections, set menus, EU allergens), orde
Package info
github.com/glitchr-studio/omnibase-restaurant
Type:symfony-bundle
pkg:composer/omnibase/restaurant
Requires
- php: ^8.2
- doctrine/orm: ^2.15|^3.0
- glitchr/omnibase: 3.0.*-dev
- omnibase/admin: dev-main
- omnibase/marketplace: dev-main
- symfony/config: ^7.0|^8.0
- symfony/dependency-injection: ^7.0|^8.0
- symfony/form: ^7.0|^8.0
- symfony/http-kernel: ^7.0|^8.0
- symfony/lock: ^7.0|^8.0
- symfony/mailer: ^7.0|^8.0
- symfony/rate-limiter: ^7.0|^8.0
- symfony/security-bundle: ^7.0|^8.0
- symfony/serializer: ^7.0|^8.0
- symfony/validator: ^7.0|^8.0
Requires (Dev)
- phpunit/phpunit: ^12.5
Suggests
- glitchr/omnifood: The delivery and booking platforms (omnifood/ubereats, omnifood/deliveroo, omnifood/justeat, omnifood/thefork): their orders become tickets on the pass, their reservations join the book, the menu and the out-of-stock dishes are pushed to them.
- glitchr/omnireview: What guests say elsewhere (omnireview/google, omnireview/tripadvisor, omnireview/trustpilot): the rating and latest reviews on the restaurant's page, the dashboard's tile (restaurant.reviews); not on Packagist yet - https://github.com/glitchr-studio/omnireview
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-10-09 16:35:30 UTC
README
A restaurant on omnibase: one bundle per trade, one site per restaurant.
- The room: rooms, tables, named layouts (tables moved, taken out, joined), a floor-plan editor in the back office (SVG, drag on a snapping grid, turn, duplicate, join), a QR poster per table.
- Services and reservations: meal services (
MealService: days, seatings, table durations, automatic confirmation), opening hours and days off from glitchr/omnibase'sOpeningHours, availability reckoned table by table and taken under asymfony/lock, a public form on a model, a management link (move, cancel), an ICS file. - The menu:
Dishextends omnibase/marketplace'sProduct(price before VAT, VAT, stock), sections, set menus, the EU allergens of glitchr/omnibase, diets, a filter, a printable menu. - Ordering at the table:
/t/{token}from the table's QR code, no account; rounds (Ticket) on the table's bill (Session), a dish's options (a cooking, extras); the bill paid from the phone where the site allows it; the waiter called, the bill asked for;symfony/rate-limiterper table. - The take-home shop (
/traiteur): fresh dishes to cook at home (TakeHome: how it keeps, its use-by days, how to cook it), the cold chain (ColdChain: collected on a slot, brought to the postcodes around, a chilled parcel only when the whole basket travels and keeps, Monday to Wednesday), an order without an account and followed by its link (/suivi/{token}), prepared on the pass. - The pass (
/service): the floor live, the tickets of every channel in columns, the day's book, dishes run out - polled with glitchr/omnibase'spollcontroller. - The platforms, when glitchr/omnifood is installed: webhooks made tickets and reservations, the pass's answers sent back, the menu pushed, keys typed in the back office.
composer require omnibase/restaurant
Documentation: docs/. Tests: vendor/bin/phpunit (no kernel needed).
The order without an account and the bill paid from a phone stand on omnibase/marketplace's quick order, and are loaded only where it exists; what is left is in docs/roadmap.md.
License: MIT since 2026-10-09; earlier versions remain published under LGPL-3.0-or-later.