Fresh Shawarma

Enter your manager password.

Kitchen staff should use the kitchen screen instead.

Fresh Shawarma · Manager

Kitchen screen ↗ View site ↗
Takings today
—
Last 30 days
—
Orders all time
—
Customers
—
Mailing list
—
Offers running
—

Service right now

—

Order assistant

—

Best sellers

RefPlacedCustomerTypeItemsTotalPaymentStatus
DishKitchenSectionPriceAllergensOn menu

Add a dish

Leave the reference blank to create a new dish. The kitchen decides which menu card the dish appears on and which pass prints its ticket — change the section and the kitchen follows it. Images live in assets/images/ — upload one by FTP and type its path here. For a dish the printed card lists once with a choice of filling, type the choices as Lamb:11.95, King Prawn:14.95 and leave the price box alone — the cheapest choice becomes the “from” price. Leave it blank for a dish with one price. Tags drive the menu filters and the home page: vegan, vegetarian, spicy, popular, premium, sharing, kids. Separate several with commas.

OfferRewardMin spendCodeWhenStatus

Create an offer

Automatic offers apply themselves at checkout. Give an offer a code instead if you want customers to type it in. Only the single biggest money-off offer applies, but free delivery and a free item can stack on top of it.

Applies to

Leave dine in unticked to keep an offer off the tables. Nothing ticked means takeaway and delivery.

Which menu the money comes off

One kitchen, one menu — offers apply to the whole menu.

Days it runs

Table bookings

—

Table bookings are switched off — Fresh Shawarma is collection and delivery. If you add seating, tick "Take bookings", set your tables and sittings, and the Book a table page starts working. Groups too big for one table are seated by putting tables together automatically.

Days we take no bookings

Untick every day to take bookings all week.

The diary

The waitress screen

Staff sign-in

Waiters open this on their own phone, tap the table they are standing at and take the order there. It goes straight to the kitchen screen, priced with whatever offers are running, and is settled at the table afterwards. Any staff account works — the same sign-in as this dashboard and the kitchen screen.

Send that link to a waiter once and they can add it to their home screen.

Staff sign-ins

—

Three screens, three accounts. The manager dashboard is this page; the kitchen tablets use the kitchen account; waiters use the waiting-staff account on their phones. The passwords the site was installed with are printed in the setup guide, which means they are not secret — change each one here before you open.

The QR code for the tables

One code, every table

One square for the whole restaurant. A customer scans it, the menu opens on their phone, they sign in or create an account, and at the end they say which table they are at and how many are eating. Because every table carries the same code, a plaque can be moved, replaced or reprinted without anyone keeping track of which is which — and a new table needs nothing doing.

Points at
—

The SVG is what a sign maker wants for metal or plastic — it stays sharp at any size. The print sheet is for paper cards you can cut out and use tonight.

Accounts

CustomerContactOrdersTierEmailsStatus

Mailing list

Download as CSV

EmailNameSourceJoinedStatus

Write an advert

Give it a channel and an angle and you'll get three versions to choose from, written around whatever offers are live right now.

Campaign link

Build a tagged link so you can see which advert actually brought people in.

Every conversation the order assistant has had, newest first. Useful for spotting dishes people ask for that you don't sell yet.

WhenWhoThey saidIt repliedAdded to basket

Payments

—

Paste your two Stripe keys here and card payments switch on straight away — nothing else to edit. Get them from Stripe → Developers → API keys.

Publishable key Not saved yet
Secret key Not saved yet
Webhook secret Not saved yet

What the webhook is for. A card payment is only known to have succeeded if somebody tells us. Normally the customer's own browser does, on its way back from Stripe — but a customer who pays and then closes the tab never gets back, and the order would sit on the pass reading not paid with the money already taken. The server now re-checks Stripe by itself every half minute, so those orders correct themselves either way. A webhook makes it instant instead.

Set it up in Stripe → Developers → Webhooks → Add endpoint. The URL is https://www.freshshawarma.uk/stripe-webhook.php and the events are checkout.session.completed and checkout.session.async_payment_succeeded. Stripe then shows you a signing secret — paste it above.

Leave a box blank to keep the key that's already saved. Keys are stored outside the public folder and the secret one is never shown in full again.

Run a check ↗
    You're in live mode. Real cards are being charged. If a secret key has ever been emailed, zipped or shared with anyone, roll it now in Stripe → Developers → API keys → Roll key, then paste the new one above.
    How to find your keys
    1. Sign in at dashboard.stripe.com.
    2. Go to Developers → API keys.
    3. Use the Test mode switch at the top right while you're trying things out.
    4. Copy the Publishable key into the first box.
    5. Click Reveal on the Secret key and copy it into the second box.
    6. Save, then place a test order with card 4242 4242 4242 4242, any future expiry, any three-digit code.
    7. When it all works, flip Stripe out of test mode and paste the two live keys instead.

    Loyalty

    The stamp card in every customer's account. Change either number and the offer, the account page and the checkout discount all follow it.

    Out of the box: nine orders build the card, the tenth is 30% off, then it starts again. Only orders that were actually paid for count.

    Ways to pay

    How people can order

    Turn a service off and it disappears from the checkout. Give one a start date and it shows as coming soon until that morning — that is how takeaway and delivery stay shut until opening day. Leave a date blank to open it straight away.

    Closed days shut a service on those days of the week and open it again the next morning, without anyone having to remember. Nothing is ticked: collection and delivery trade every day.

    {date} is replaced with the start date, {day} with the day of the week.

    Opening hours

    The whole site follows this — the band at the top of every page, the checkout, and whether orders can be placed at all.

    Delivery

    Business details

    Latitude and longitude are what the 5-mile delivery check measures from. Only change them if you move.

    Order assistant

    Tracking

    Optional. Paste the IDs from Meta and Google if you're running ads.