@extends('layouts.app')
@section('title', 'Import Menu')
@section('content')
Moving to a new install (new domain, new database)? Download the current menu here, then
upload it on the new site's Import Menu page below — this brings over just your
categories, items, and prices, not orders/staff/test data.
Upload a CSV export of your menu. Expected columns (header row required,
case-insensitive): Type, Dish, Variant, Sub Menu, Category, Price
— extra columns (HS Code, Discount, Tax Rate, Description) are fine and ignored.
- Sub Menu becomes a menu group (Cafe Menu, Bar Menu, ...)
- Category becomes a category nested under that group
- Rows with the same Dish + Category but different Variant values
(e.g. "60ml", "Qtr", "Full") become variants of one item, not separate items
- Type (Veg/Non-Veg) sets the item's diet tag
- Re-uploading updates existing items/prices by name match — safe to re-run
after fixing a typo rather than creating duplicates
@if ($errors->any())
{{ $errors->first() }}
@endif
Alcohol/hookah safety check: any new menu group whose name contains words like
"bar", "whiskey", "beer", "wine", "rum", "vodka", or "hookah" is automatically set to
Blocked for customer QR self-ordering. Everything else defaults to Allowed.
Always double-check
Menu Groups after
importing — the heuristic is a safety net, not a guarantee.
@endsection