Restaurant software source code  ·  Laravel 12  ·  REST API

The restaurant platform you build on.

The source

Plain Laravel 12 on PHP 8.2: every file readable, nothing encoded, routes split by role.

Loved by 145+ clients · the full source with every licence

Loved by 145+ clients

Most popular item for 7+ weeks

  • Laravel 12
  • PHP 8.2
  • Zapier
  • Stripe
  • PayPal
  • Square
  • QuickBooks
  • OpenAI

01  The code

Laravel 12.
Nothing hidden.

Plain PHP 8.2 and Blade, with routes split by role and services by domain. Two runtime packages: the framework and Tinker.

719Routes
171Services
347Blade views
  • No encoded files, and no licence server to call
  • vendor/ ships built, so the server needs no Composer
  • Node only to rebuild the CSS and JavaScript you change
  • Pint and PHPUnit 11 in the dev tools
"require": {
    "php": "^8.2",
    "laravel/framework": "^12.0",
    "laravel/tinker": "^2.10.1"
},
"require-dev": {
    "fakerphp/faker": "^1.23",
    "laravel/pail": "^1.2.2",
    "laravel/pint": "^1.24",
    "laravel/sail": "^1.41",
    "mockery/mockery": "^1.6",
    "nunomaduro/collision": "^8.6",
    "phpunit/phpunit": "^11.5.50"
}

PHP 8.2Laravel 12UTF-8

02  API and webhooks

One API.
Twelve webhooks.

Each branch gets its own keys, with read and write scopes. Events are pushed the moment they happen and retried when the other end is down.

curl https://your-domain.com/api/v1/orders?status=confirmed \
  -H "Authorization: Bearer qm_••••••••"

200 OKapplication/json

{ "data": [{
    "id": 4182,
    "number": "QM-209788",
    "status": "confirmed",
    "service": "delivery",
    "source": "website",
    "kind": "standard",
    "customer": {
        "name": "Maya Ross",
        "phone": "+1 555 0142",
        "email": "maya@example.com"
    },
    "subtotal": 31.0, "tax": 2.48, "tip": 0.0,
    "delivery_fee": 2.99, "discount": 0.0,
    "total": 36.47,
    "payment": { "method": "stripe", "status": "paid" },
    "placed_at": "2026-10-03 23:44:44"
}] }

The twelve events

  • order.placed
  • order.accepted
  • order.ready
  • order.delivered
  • order.cancelled
  • order.refunded
  • reservation.created
  • reservation.cancelled
  • reservation.no_show
  • review.created
  • dish.off_sale
  • stock.low
  • A key reads only its own branch, never another
  • 120 requests a minute per key, with Retry-After when it is spent
  • Retried after 1, 5, 15, 60 and 180 minutes, then parked where you can see it
  • HTTPS to public addresses only; a 410 from the target ends the subscription
  • The Zapier app’s source is in integrations/zapier, to publish under your own account
Read the API guide

03  Extending it

Add what
your client needs.

The parts clients ask to change are registries. Add a row and a class, and the settings screens follow.

  • A payment gateway

    A row in the gateway registry, a driver class and its language keys. The settings card is drawn from the row: the switch, the keys, the webhook address.

    // app/Services/Payment.php
    'mollie' => [
        'label' => 'Mollie', 'driver' => MollieDriver::class,
        'mode' => false, 'refund' => true,
        'webhook' => true, 'webhook_secret' => null,
        'fields' => [
            ['key' => 'mollie_api_key', 'secret' => true, 'required' => true],
        ],
    ],
  • A language

    A file in /lang and a row in the language list, then switch it on under Settings. Right to left comes with the row, for every screen.

    // app/Support/helpers/i18n.php
    'ur' => ['name' => 'اردو', 'rtl' => true, 'flag' => 'pk', 'pdf' => true],
    'ar' => ['name' => 'العربية', 'rtl' => true, 'flag' => 'arab', 'pdf' => true],
    
    // lang/ar.php: 10,389 strings
  • A scheduled job

    A row in the job catalogue and a line in the dispatch table. It joins Scheduled tasks with its run history, under the same one cron line.

    // app/Services/Cron.php
    'weekly_report' => [
        'label' => t_raw('cron.job_weekly_report'),
        'desc'  => t_raw('cron.job_weekly_report_desc'),
        'every' => t_raw('cron.every_weekly'),
    ],
    // app/Services/CronJobs.php
    case 'weekly_report': return \App\Services\WeeklyReport::run();

04  Client work

One per client,
or one for all.

A Regular licence covers one project, yours or a client’s. The Extended licence covers every project you build.

6 client projects

6 Regular licences$353.94

One Extended licence$177

The Extended licence saves you $176.94

See the Extended licence

Laravel edition, at the autumn sale prices.

  • One zip uploaded to the client’s hosting
  • Four installer screens, about ten minutes
  • One cron line runs every scheduled job
  • Updates only add: replace the files, run one command

05  Integrations

Built to plug into
what clients already use.

Payments, accounting, team chat, messaging, maps, marketing and the A.I provider of your choice — connected from settings, with Zapier and a REST API for everything else, and no per-connection fee.

  • Stripe
  • PayPal
  • Square
  • Mollie
  • WooCommerce
  • Twilio
  • Mailchimp
  • Slack
  • Google Drive
  • Google Sheets
  • Google Calendar
  • QuickBooks
  • Xero
  • Zapier
  • REST API
  • Tripadvisor
  • Business Profile
  • Sign in with Google
  • reCAPTCHA
  • Google Maps
  • Mapbox
  • OpenStreetMap
  • OpenAI
  • Claude
  • Gemini
  • OpenRouter
  • WPBakery
  • Elementor
DashboardToday
Revenue8,807.71
Orders215
Customers1,284
Reservations13

06  Languages

Fluent in
any language.

Switch the language and the whole interface turns around — rail, tables, charts and buttons, not only the words. Try it on the panel.

9Languages shipped
10389Strings in each
2Right to left
  • Storefront, dashboard and login all carry the direction
  • The till and the kiosk mirror too, not just the website
  • Properly mirrored, not bolted on afterwards
  • Add a language with one file and one row

07  What you deliver

One install.
Four applications.

Not a storefront with a dashboard bolted on. Four complete products, one codebase, one database, one licence.

  • 01

    Customer storefront

    Seven homepage layouts, three menu styles, guest or account checkout.

  • 02

    Restaurant

    Menu, orders, tables, devices, staff, loyalty — and its own reporting.

  • 03

    Staff

    Role-limited, PIN-locked screens for the line, the floor and the till.

  • 04

    Platform admin

    Approvals, plans, payouts, campaigns, CMS, white-label branding.

your-domain.com
The customer storefront: the marketplace homepage
A restaurant page: hero, delivery terms, menu tabs and live offers
A staff screen: scoped and PIN-locked
The platform admin dashboard

What you offer

Ten services — one platform.

08  White label

Sell all of it,
or some of it.

How the money moves and what the install offers are separate settings. Switch off anything this business does not sell — including the marketplace front end, which leaves a services install: the dashboard plus the per-venue guest surfaces.

  • Ten services, each with its own switch
  • Enforced on the server, not just hidden from view
  • The nav follows — a switched-off surface leaves the sidebar
  • A storefront master above them — a marketplace can run without one

Rated five stars

Loved by
more than 145 clients.

Excellent product and outstanding support! Great product with excellent features! Quickmunch works very well, and the support team is super fast, helpful and responsive. Highly recommended! 👏

A Quickmunch client

Very clean, easy to customize, excellent communication with the seller! Highly recommended!

Customizability

Best template, clean code and fast support.

Code quality

Very nice and clean template.

Design quality

Thank you for helping me; the issue is fixed. If you want one system for everything, choose Quickmunch. Thanks again to the author, I can see the hard work. We love you!

Customer support

CodesterMost popular item for more than 7 weeks

Build it once.
Install it for every client.

One Extended licence covers every client project, with free updates for all of them.

Straight answers.

What developers want settled before they buy.

Calculator

Regular or Extended

Every file is readable.

No encoded or obfuscated files and no licence server: PHP, Blade, CSS and JavaScript as written, with the build scripts for the CSS and JavaScript.

It needs PHP 8.2 and MySQL.

PHP 8.2 or newer, MySQL 5.7+ or MariaDB 10.4+, on Apache or Nginx. No Composer, Node, queue worker or extra service on the server.

209 tests ship with it.

PHPUnit 11 feature tests, end-to-end flows on the real routes and database, and unit tests, in tests/ with their own configuration.

The API covers each branch.

Orders, customers, reservations and reviews to read; dish availability, coupons and webhook subscriptions to write. Twelve events can be pushed to any public HTTPS address.

One Regular licence per client project.

A project is one website or app, with its development, staging and live copies. A second client is a second project.

The Extended licence covers every client.

Build as many client projects as you like from one purchase, and ship the source inside a larger product you sell or distribute.

Your client’s brand on every screen.

Logo, favicon, brand colour, site name, pages, header and footer, all from settings, and ten services each with its own switch.

Quickmunch itself is not for resale.

Neither licence allows selling Quickmunch on its own, as it is, or sharing its source files outside a project.

Updates only add.

Replace the files and run php artisan migrate, or open the installer again. Each step checks before it changes anything, so running it twice is harmless.

140 pages of documentation.

Every screen, installing, updating, scheduled tasks and the REST API, plus video tutorials on our YouTube channel.

A team answers you every day.

The people who wrote the code answer through Codester, 10 am to 10 pm Eastern.

We can install it for you.

Installation is $59. Buy it, then send us a message on Codester with the hosting details.

Your next client project,
already built.

The full source, a REST API, nine languages and 209 tests, for one payment of $58.99.

$109$58.99

Sale ends in 00days 00hrs 00min 00sec
Buy Quickmunch
Suggest a feature