{"id":335395,"date":"2026-07-06T16:23:42","date_gmt":"2026-07-06T16:23:42","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/dinekit-restaurant-menu-qr-menus-allergen-labels\/"},"modified":"2026-07-25T10:42:42","modified_gmt":"2026-07-25T10:42:42","slug":"dinekit","status":"publish","type":"plugin","link":"https:\/\/lin.wordpress.org\/plugins\/dinekit\/","author":23464368,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.2.10","stable_tag":"1.2.10","tested":"7.0.2","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"DineKit","header_author":"Web Level Up","header_description":"Beautiful restaurant menus with UK allergen support (Natasha's Law), QR table cards and opening hours. No dependencies, works with any theme.","assets_banners_color":"5549d9","last_updated":"2026-07-25 10:42:42","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/weblevelup.co.uk\/dinekit","header_author_uri":"https:\/\/weblevelup.co.uk\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":408,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"weblevelup","date":"2026-07-06 16:23:04"},"1.1.0":{"tag":"1.1.0","author":"weblevelup","date":"2026-07-09 19:17:18"},"1.2.10":{"tag":"1.2.10","author":"weblevelup","date":"2026-07-25 10:42:42"},"1.2.2":{"tag":"1.2.2","author":"weblevelup","date":"2026-07-10 22:55:28"},"1.2.3":{"tag":"1.2.3","author":"weblevelup","date":"2026-07-11 08:13:08"},"1.2.4":{"tag":"1.2.4","author":"weblevelup","date":"2026-07-24 22:01:47"},"1.2.5":{"tag":"1.2.5","author":"weblevelup","date":"2026-07-24 22:54:04"},"1.2.6":{"tag":"1.2.6","author":"weblevelup","date":"2026-07-24 23:18:02"},"1.2.7":{"tag":"1.2.7","author":"weblevelup","date":"2026-07-25 00:10:29"},"1.2.8":{"tag":"1.2.8","author":"weblevelup","date":"2026-07-25 00:43:19"},"1.2.9":{"tag":"1.2.9","author":"weblevelup","date":"2026-07-25 01:10:44"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3603454,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3603454,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3603454,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3603454,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"dinekit\/menu":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"dinekit\/menu","version":"0.1.0","title":"DineKit Menu","category":"widgets","icon":"food","description":"Display a restaurant menu with prices, allergens and dietary labels.","keywords":["menu","restaurant","food","allergen","price"],"textdomain":"dinekit","editorScript":"dinekit-menu-editor","style":"dinekit-menu","supports":{"html":false,"align":["wide","full"]},"attributes":{"menu":{"type":"number","default":0},"sections":{"type":"array","default":[]},"layout":{"type":"string","default":"list"},"columns":{"type":"number","default":0},"showImages":{"type":"boolean","default":true},"showAllergens":{"type":"boolean","default":true},"showDietary":{"type":"boolean","default":true},"showMatrix":{"type":"boolean","default":true},"showFilter":{"type":"boolean","default":true}}},"dinekit\/booking":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"dinekit\/booking","version":"0.1.0","title":"DineKit Booking Form","category":"widgets","icon":"calendar-alt","description":"Let diners book a table from your site \u2014 commission-free.","keywords":["booking","reservation","table","restaurant","reserve"],"textdomain":"dinekit","editorScript":"dinekit-booking-editor","style":"dinekit-booking","supports":{"html":false,"align":["wide"]},"attributes":{"heading":{"type":"string","default":""},"intro":{"type":"string","default":""}}},"dinekit\/hours":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"dinekit\/hours","version":"0.1.0","title":"DineKit Opening Hours","category":"widgets","icon":"clock","description":"Show your opening hours with a live open\/closed status.","keywords":["hours","opening","times","schedule","restaurant"],"textdomain":"dinekit","editorScript":"dinekit-hours-editor","style":"dinekit-menu","supports":{"html":false,"align":["wide"]},"attributes":{"showStatus":{"type":"boolean","default":true},"title":{"type":"string","default":""}}}},"tagged_versions":["1.0.0","1.1.0","1.2.10","1.2.2","1.2.3","1.2.4","1.2.5","1.2.6","1.2.7","1.2.8","1.2.9"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3603454,"resolution":"1","location":"assets","locale":"","width":1440,"height":900},"screenshot-10.png":{"filename":"screenshot-10.png","revision":3621972,"resolution":"10","location":"assets","locale":"","width":1440,"height":900},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3603454,"resolution":"2","location":"assets","locale":"","width":1440,"height":900},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3603454,"resolution":"3","location":"assets","locale":"","width":1440,"height":900},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3603454,"resolution":"4","location":"assets","locale":"","width":1440,"height":900},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3603454,"resolution":"5","location":"assets","locale":"","width":1440,"height":900},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3603454,"resolution":"6","location":"assets","locale":"","width":1440,"height":900},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3603454,"resolution":"7","location":"assets","locale":"","width":1440,"height":900},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3603454,"resolution":"8","location":"assets","locale":"","width":1440,"height":900},"screenshot-9.png":{"filename":"screenshot-9.png","revision":3621972,"resolution":"9","location":"assets","locale":"","width":1440,"height":900}},"screenshots":{"1":"Your menu on any website \u2014 sections, prices, dietary filters and UK-14 allergen icons.","2":"The Menu Builder \u2014 sections and dishes with photos, allergens and multiple prices. Everything autosaves.","3":"Design &amp; Preview \u2014 six templates plus layout and colour controls, with a live preview and a copy-paste shortcode.","4":"Commission-free online ordering for diners \u2014 takeaway, collection and delivery, straight from your own site.","5":"The live orders board \u2014 takeaway, collection and delivery in one place, with kitchen tickets. You keep 100%.","6":"The public table-booking form \u2014 live availability, party size and deposits, as a block or shortcode.","7":"Reports \u2014 covers, revenue, no-show rate and your best-selling dishes.","8":"Set-menu events with per-guest pre-orders via a share link, and a consolidated kitchen prep sheet.","9":"Take Order \u2014 the built-in POS: tabs with coursing, fire rounds to the kitchen, split the bill, every tender from cash to smart reader.","10":"The drag-and-drop floor plan \u2014 zones, joinable tables and covers, driving live booking availability."}},"plugin_section":[61],"plugin_tags":[126475,30524,187656,20710,23280],"plugin_category":[39],"plugin_contributors":[258039],"plugin_business_model":[],"class_list":["post-335395","plugin","type-plugin","status-publish","hentry","plugin_section-featured","plugin_tags-allergen","plugin_tags-food-menu","plugin_tags-qr-menu","plugin_tags-restaurant","plugin_tags-restaurant-menu","plugin_category-business","plugin_contributors-weblevelup","plugin_committers-weblevelup"],"banners":{"banner":"https:\/\/ps.w.org\/dinekit\/assets\/banner-772x250.png?rev=3603454","banner_2x":"https:\/\/ps.w.org\/dinekit\/assets\/banner-1544x500.png?rev=3603454","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/dinekit\/assets\/icon-128x128.png?rev=3603454","icon_2x":"https:\/\/ps.w.org\/dinekit\/assets\/icon-256x256.png?rev=3603454","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/dinekit\/assets\/screenshot-1.png?rev=3603454","caption":"Your menu on any website \u2014 sections, prices, dietary filters and UK-14 allergen icons."},{"src":"https:\/\/ps.w.org\/dinekit\/assets\/screenshot-2.png?rev=3603454","caption":"The Menu Builder \u2014 sections and dishes with photos, allergens and multiple prices. Everything autosaves."},{"src":"https:\/\/ps.w.org\/dinekit\/assets\/screenshot-3.png?rev=3603454","caption":"Design &amp; Preview \u2014 six templates plus layout and colour controls, with a live preview and a copy-paste shortcode."},{"src":"https:\/\/ps.w.org\/dinekit\/assets\/screenshot-4.png?rev=3603454","caption":"Commission-free online ordering for diners \u2014 takeaway, collection and delivery, straight from your own site."},{"src":"https:\/\/ps.w.org\/dinekit\/assets\/screenshot-5.png?rev=3603454","caption":"The live orders board \u2014 takeaway, collection and delivery in one place, with kitchen tickets. You keep 100%."},{"src":"https:\/\/ps.w.org\/dinekit\/assets\/screenshot-6.png?rev=3603454","caption":"The public table-booking form \u2014 live availability, party size and deposits, as a block or shortcode."},{"src":"https:\/\/ps.w.org\/dinekit\/assets\/screenshot-7.png?rev=3603454","caption":"Reports \u2014 covers, revenue, no-show rate and your best-selling dishes."},{"src":"https:\/\/ps.w.org\/dinekit\/assets\/screenshot-8.png?rev=3603454","caption":"Set-menu events with per-guest pre-orders via a share link, and a consolidated kitchen prep sheet."},{"src":"https:\/\/ps.w.org\/dinekit\/assets\/screenshot-9.png?rev=3621972","caption":"Take Order \u2014 the built-in POS: tabs with coursing, fire rounds to the kitchen, split the bill, every tender from cash to smart reader."},{"src":"https:\/\/ps.w.org\/dinekit\/assets\/screenshot-10.png?rev=3621972","caption":"The drag-and-drop floor plan \u2014 zones, joinable tables and covers, driving live booking availability."}],"raw_content":"<!--section=description-->\n<p>DineKit turns WordPress into a complete, commission-free restaurant platform \u2014 menus, online ordering, table bookings and card payments \u2014 with nothing to pay per cover, per order or per month. You bring your own Stripe account and keep 100% of every sale.<\/p>\n\n<p><strong>Menus &amp; allergens<\/strong><\/p>\n\n<ul>\n<li><strong>Menu builder<\/strong> \u2014 menus (Lunch, Dinner, Drinks\u2026), sections and dishes with photos, badges and multiple prices; six templates; drag-and-drop ordering with autosave.<\/li>\n<li><strong>UK-14 allergens built in<\/strong> \u2014 the 14 regulated allergens pre-loaded with icons, tooltips and a printable matrix (Natasha's Law friendly), plus your own dietary labels.<\/li>\n<li><strong>QR table cards<\/strong> and A4 posters that open your live menu on a phone, and <strong>Menu \/ MenuItem \/ LocalBusiness schema.org<\/strong> output for SEO.<\/li>\n<li><strong>Opening hours<\/strong> with holiday overrides and a live \"open now\" status.<\/li>\n<\/ul>\n\n<p><strong>Online ordering<\/strong><\/p>\n\n<ul>\n<li><strong>Takeaway, collection and delivery<\/strong> ordering with a diner-facing menu, dish customizations (removable ingredients, choose-your-options with prices) and an accept \/ hold \/ refund workflow that only captures payment when you accept.<\/li>\n<li><strong>Contactless QR \"order at the table\"<\/strong> so diners order from their phone \u2014 straight onto that table's tab, or pay-upfront.<\/li>\n<li><strong>Kitchen &amp; bar ticket routing<\/strong> \u2014 printable tickets per station, or emailed directly to a kitchen printer on accept.<\/li>\n<li><strong>86 a dish in one tap<\/strong> \u2014 sold-out dishes stay on the menu (SEO-safe) marked unavailable and can't be ordered anywhere.<\/li>\n<li><strong>Branded, editable email templates<\/strong> for order and booking notifications, with a live preview.<\/li>\n<\/ul>\n\n<p><strong>Point of sale \u2014 Take Order<\/strong><\/p>\n\n<ul>\n<li>A real <strong>POS for dine-in service<\/strong>, in any browser on any tablet \u2014 no proprietary hardware, nothing to lease.<\/li>\n<li><strong>Tabs with coursing<\/strong> \u2014 build each table's order, fire courses to the kitchen in rounds.<\/li>\n<li><strong>Bill splitting<\/strong> \u2014 evenly, by item, or partial payments; service charge and tips.<\/li>\n<li><strong>Every tender<\/strong> \u2014 cash with change calculation, card via a Stripe smart reader, pay-by-QR from the guest's phone, vouchers and comps; manager-gated voids.<\/li>\n<li><strong>Cash-up<\/strong> with opening float and X\/Z reports at close.<\/li>\n<li><strong>Loyalty built in<\/strong> \u2014 members earn points on spend and redeem them as a bill discount.<\/li>\n<\/ul>\n\n<p><strong>Bookings &amp; events<\/strong><\/p>\n\n<ul>\n<li><strong>Commission-free table bookings<\/strong> \u2014 a drag-and-drop floor plan with joinable tables, a public booking form (block + <code>[dinekit_booking]<\/code> shortcode) with live availability, waitlist and covers-per-hour pacing, deposits, and a booking diary with email notifications and printable slips.<\/li>\n<li><strong>Full-width service timeline<\/strong> \u2014 the whole service at a glance; drag to move a booking, click to seat or edit.<\/li>\n<li><strong>Set-menu events with per-guest pre-orders<\/strong> via a share link \u2014 guests choose their courses and flag allergens; the kitchen gets a consolidated prep sheet.<\/li>\n<\/ul>\n\n<p><strong>Payments, guests &amp; staff<\/strong><\/p>\n\n<ul>\n<li><strong>Card payments with your own Stripe keys<\/strong> (encrypted at rest) \u2014 booking deposits, order payments and at-the-table card-present payments via Stripe smart readers, with Apple Pay and Google Pay. You keep 100%.<\/li>\n<li><strong>Guest CRM<\/strong> \u2014 repeat-visit history with the allergies diners have told you about, carried across every visit.<\/li>\n<li><strong>Staff logins<\/strong> with a role-to-permission matrix and an activity\/audit log, plus review-request emails to win diners back.<\/li>\n<li><strong>Reports<\/strong> \u2014 covers, revenue, best-selling dishes and no-show rate, with CSV export.<\/li>\n<li><strong>Direct support from your dashboard<\/strong> \u2014 message the DineKit team without leaving WordPress (optional; see External Services).<\/li>\n<\/ul>\n\n<p>No WooCommerce required and no page builder needed. The menu, allergens and QR codes work with no external accounts; card payments use your own Stripe account (see External Services below). Works with any theme, on any host.<\/p>\n\n<p>Built by <a href=\"https:\/\/weblevelup.co.uk\/\">Web Level Up<\/a>, a UK web agency that builds commercial WordPress software.<\/p>\n\n<h3>External services<\/h3>\n\n<p>DineKit's optional payments feature (booking deposits and online order payments) uses <strong>Stripe<\/strong> to take card payments. Stripe is contacted only after you enable it and enter your own Stripe API keys under DineKit \u2192 Integrations, and only on requests that involve a payment:<\/p>\n\n<ul>\n<li>When a diner pays, DineKit asks Stripe to create a payment by sending the amount, currency, your site URL and the related booking\/order reference to Stripe's API (https:\/\/api.stripe.com).<\/li>\n<li>When you connect Stripe or set up its webhook, DineKit calls Stripe to validate your keys and register payment notifications.<\/li>\n<li>On pages where a payment can be made, Stripe's official Stripe.js library is loaded from https:\/\/js.stripe.com so card details are entered directly with Stripe and never reach your server (PCI SAQ-A).<\/li>\n<\/ul>\n\n<p>If you do not enable payments, DineKit makes no external requests. Stripe is a third-party service; by using it you agree to Stripe's terms and privacy policy:<\/p>\n\n<ul>\n<li>Terms: https:\/\/stripe.com\/legal<\/li>\n<li>Privacy: https:\/\/stripe.com\/privacy<\/li>\n<\/ul>\n\n<p>DineKit's optional <strong>direct support<\/strong> feature (DineKit \u2192 Support) sends your support request to Web Level Up, the makers of DineKit, at https:\/\/weblevelup.co.uk. Nothing is sent automatically or in the background \u2014 the service is contacted only when a logged-in user opens the Support screen or presses send:<\/p>\n\n<ul>\n<li>When you send a request or reply, DineKit transmits the name, email address, subject and message you typed, plus your site address (used to link replies back to your dashboard and keep your ticket history together).<\/li>\n<li>If \u2014 and only if \u2014 you tick the \"include my site details\" box, your WordPress, PHP and DineKit version numbers are attached to help with debugging.<\/li>\n<li>Opening the Support screen fetches your own site's ticket history from the same service.<\/li>\n<\/ul>\n\n<p>If you prefer not to use direct support, the Support screen also links to the plugin's free forum at https:\/\/wordpress.org\/support\/plugin\/dinekit\/ \u2014 using the forum sends nothing to Web Level Up. Web Level Up privacy policy: https:\/\/weblevelup.co.uk\/privacy-policy\/<\/p>\n\n<h3>Development<\/h3>\n\n<p>DineKit is open source (GPLv2+). The complete human-readable source \u2014 including the React admin application and the build tooling used to generate the bundled <code>dist\/main.js<\/code> \u2014 is publicly available and maintained at:<\/p>\n\n<p>https:\/\/github.com\/nikutx\/dinekit<\/p>\n\n<p>To build the admin app from source: <code>npm install<\/code> then <code>npm run build<\/code> (Vite). See the repository README for the full development setup.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20dinekit%20need%20woocommerce%3F\"><h3>Does DineKit need WooCommerce?<\/h3><\/dt>\n<dd><p>No. DineKit has zero dependencies.<\/p><\/dd>\n<dt id=\"is%20it%20really%20free%3F%20what%27s%20the%20catch%3F\"><h3>Is it really free? What's the catch?<\/h3><\/dt>\n<dd><p>Everything listed above is free \u2014 the menus, ordering, bookings, the POS, loyalty, all of it. There is no feature-gating and DineKit never takes a cut of your sales. The only cost that exists anywhere is Stripe's own standard card-processing fee if you enable card payments, and that goes to Stripe, not us.<\/p><\/dd>\n<dt id=\"do%20i%20need%20special%20hardware%20for%20the%20pos%3F\"><h3>Do I need special hardware for the POS?<\/h3><\/dt>\n<dd><p>No. Take Order runs in any browser on any tablet, laptop or phone. For card-present payments you can add any standard Stripe smart reader (bought outright from Stripe \u2014 no leases), and kitchen tickets can print via your browser or be emailed straight to a kitchen printer.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20my%20theme%3F\"><h3>Does it work with my theme?<\/h3><\/dt>\n<dd><p>Yes. Menu output is self-contained with its own scoped styles, and works on both block and classic themes.<\/p><\/dd>\n<dt id=\"how%20do%20diners%20see%20the%20menu%3F\"><h3>How do diners see the menu?<\/h3><\/dt>\n<dd><p>Add the DineKit Menu block (or the [dinekit_menu] shortcode) to any page. You can also print a QR code for your tables that opens the menu on a phone.<\/p><\/dd>\n<dt id=\"can%20diners%20order%20and%20pay%20at%20the%20table%3F\"><h3>Can diners order and pay at the table?<\/h3><\/dt>\n<dd><p>Yes. Print DineKit's QR table cards \u2014 diners scan, order from their phone, and their order fires straight to the kitchen on that table's tab (or they pay up front, your choice).<\/p><\/dd>\n<dt id=\"who%20owns%20my%20data%3F\"><h3>Who owns my data?<\/h3><\/dt>\n<dd><p>You do. Everything \u2014 menus, bookings, orders, guests \u2014 lives in your own WordPress database on your own hosting. There's no external account holding your customer list, and no vendor that can freeze your funds or your data.<\/p><\/dd>\n<dt id=\"how%20do%20i%20get%20support%3F\"><h3>How do I get support?<\/h3><\/dt>\n<dd><p>Right from your dashboard: DineKit \u2192 Support messages our team directly and replies land back in the same screen (and your inbox). Prefer not to? The wordpress.org support forum works too \u2014 we watch both.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.2.10<\/h4>\n\n<ul>\n<li>New: Kitchen Display. A live kitchen board that shows incoming orders as they move through New \u2192 Preparing \u2192 Ready, with a timer on every ticket, clear item lists and kitchen notes, and one tap to move an order along. It auto-refreshes and has a full-screen mode, so you can run it on any tablet or a kitchen TV.<\/li>\n<\/ul>\n\n<h4>1.2.9<\/h4>\n\n<ul>\n<li>New: attach screenshots to your support messages. Paste an image straight into the Support screen (or pick a file) and it's added to your request \u2014 so you can show us the problem, not just describe it. Images are saved to your own site's media library; we only receive the link.<\/li>\n<\/ul>\n\n<h4>1.2.8<\/h4>\n\n<ul>\n<li>New: set your country and restaurant address in Settings. DineKit now speaks your local language for addresses \u2014 \"ZIP code\" and \"State\" in the US, \"Postcode\" and \"County\" in the UK, \"Postal code\" elsewhere \u2014 across the dashboard and your delivery form.<\/li>\n<li>Better local SEO worldwide: your address now feeds Google-friendly LocalBusiness structured data (street, town\/city, postal code, region and country).<\/li>\n<li>Fix: menu prices now report your real currency to search engines. Previously the menu's structured data always said GBP, even for non-UK restaurants.<\/li>\n<\/ul>\n\n<h4>1.2.7<\/h4>\n\n<ul>\n<li>New: a notification bell in the top bar, on every screen, shows what needs your attention right now \u2014 orders to accept, bookings to confirm, your waitlist and pending holiday requests \u2014 and each one is a single click straight to where you deal with it. It only shows things you have permission to action.<\/li>\n<\/ul>\n\n<h4>1.2.6<\/h4>\n\n<ul>\n<li>Support conversations now open at the newest message, so you don't have to scroll to see the latest reply.<\/li>\n<li>Long support threads stay light \u2014 only the most recent messages load, with a \"Show earlier messages\" button for the rest.<\/li>\n<li>Emoji in support messages now display correctly.<\/li>\n<\/ul>\n\n<h4>1.2.5<\/h4>\n\n<ul>\n<li>Fix: replies from the support team now appear in your Support screen straight away. On some hosts a cache could hold an older copy of the conversation, so a reply looked like it hadn't arrived \u2014 support replies are now always fetched fresh.<\/li>\n<\/ul>\n\n<h4>1.2.4<\/h4>\n\n<ul>\n<li>New: Support \u2014 message the DineKit team straight from your dashboard. No account or key needed: type your name, email and question; replies land back in the same screen (and your inbox). Track all your requests, reply, and mark them solved without leaving WordPress. Optional \u2014 the wordpress.org forum works too, and nothing is ever sent in the background.<\/li>\n<li>New: a \"Common fixes\" panel on the Support screen answers the most frequent questions (QR 404s, missing emails, Stripe test mode\u2026) in under a minute, before you even need to ask.<\/li>\n<li>New: after your first accepted order or confirmed booking, DineKit asks (once, politely) whether you'd leave a review \u2014 fully dismissible, and \"no thanks\" means never again.<\/li>\n<li>Housekeeping: the review-request schedule is now cleaned up when the plugin is deactivated or uninstalled.<\/li>\n<\/ul>\n\n<h4>1.2.3<\/h4>\n\n<ul>\n<li>Floor plan: deleting a zone now asks first and lets you move its tables to another zone (or remove them) \u2014 and if any of those tables have upcoming bookings, you can reassign each one to a free table before it goes.<\/li>\n<li>Nothing is lost: deleted zones and tables now live in a new \"History\" tab on the floor plan, restorable with one click.<\/li>\n<li>Joined tables are colour-matched on the plan so you can see your table groupings at a glance; a table shared by two joins blends both colours.<\/li>\n<li>Tables show a small orientation marker, so you can tell which way one faces after rotating it.<\/li>\n<li>Fixes: the \"Out of service\" toggle now responds wherever you click it; moving a table to another zone updates the plan straight away; the rotate button lines up with the zone selector; and the min\/max party boxes are tidier.<\/li>\n<\/ul>\n\n<h4>1.2.2<\/h4>\n\n<ul>\n<li>Smoother onboarding: the setup wizard now walks you through your opening hours, and you can skip ahead and pick up the rest from your dashboard whenever you like.<\/li>\n<li>Menu, ordering and booking pages are created as drafts for you to review and publish \u2014 with a clear \"review &amp; publish\" prompt, and a checklist that only ticks a page off once it's actually live.<\/li>\n<li>Dishes are never lost: removing a dish now archives it (kept for your past orders and reports) and you can restore it any time \u2014 with a heads-up if it's on an order the kitchen is cooking right now.<\/li>\n<li>Online ordering follows your opening hours: orders are only taken while you're open, with an optional \"last orders\" cut-off before closing time.<\/li>\n<li>Table bookings read your opening hours directly, so your service times live in one place.<\/li>\n<li>Polish: tidier fields inside pop-out panels, your cursor stays put while typing, and assorted small performance improvements.<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Release-pipeline fix only \u2014 no plugin changes. Superseded by 1.2.2, which carries this line's content.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Release-pipeline fix only \u2014 no plugin changes. Superseded by 1.2.2, which carries this line's content.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Commission-free online ordering \u2014 takeaway, collection and delivery, with a diner-facing menu, dish customizations, and printable kitchen\/bar tickets.<\/li>\n<li>Contactless QR \"order at the table\".<\/li>\n<li>Commission-free table bookings: drag-and-drop floor plan with joinable tables, a public booking form (block + [dinekit_booking] shortcode) with live availability, waitlist, covers-per-hour pacing and deposits.<\/li>\n<li>Booking diary with statuses, email notifications, and printable reservation slips.<\/li>\n<li>Set-menu events with per-guest pre-orders via a share link \u2014 guests choose their courses and flag allergens; the kitchen gets a consolidated prep sheet you can print.<\/li>\n<li>Card payments with your own Stripe keys (encrypted at rest) \u2014 booking deposits and order payments, Apple Pay and Google Pay. You keep 100%.<\/li>\n<li>Guest CRM: repeat diners with the allergies they've told you about, carried across every visit.<\/li>\n<li>Staff logins with a role-to-permission matrix and an activity\/audit log; review-request emails to win diners back.<\/li>\n<li>Dynamic dish customizations (removable ingredients + choose-your-options with prices), six menu templates and colour theming.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First public release.<\/li>\n<li>Menu builder with menus, sections and items \u2014 photos, badges and multiple prices per item, drag-and-drop ordering, inline editing with autosave.<\/li>\n<li>UK-14 regulated allergens pre-loaded with icons, tooltips and a printable allergen matrix (Natasha's Law friendly).<\/li>\n<li>Dietary labels (vegan, vegetarian, gluten free, halal, spicy \u2014 and your own).<\/li>\n<li>DineKit Menu block and [dinekit_menu] shortcode with three layouts (list, card grid, chalkboard) and 1\u20134 column options.<\/li>\n<li>Design &amp; Preview screen to choose a style and copy the shortcode.<\/li>\n<li>Print-ready QR table cards and A4 posters that open your menu on a phone.<\/li>\n<li>Opening hours with holiday overrides and a live open\/closed status.<\/li>\n<li>Menu, MenuItem and LocalBusiness schema.org output for SEO.<\/li>\n<li>Works with block and classic themes. No dependencies.<\/li>\n<\/ul>","raw_excerpt":"Run your restaurant on WordPress \u2014 menus &amp; allergens, online ordering, table bookings and card payments. Commission-free, no monthly fees.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/lin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/335395","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/lin.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/lin.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=335395"}],"author":[{"embeddable":true,"href":"https:\/\/lin.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/weblevelup"}],"wp:attachment":[{"href":"https:\/\/lin.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=335395"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/lin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=335395"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/lin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=335395"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/lin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=335395"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/lin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=335395"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/lin.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=335395"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}