{"id":303776,"date":"2026-04-21T16:10:39","date_gmt":"2026-04-21T16:10:39","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/yatoon-menu-online-ordering\/"},"modified":"2026-10-28T14:08:22","modified_gmt":"2026-10-28T14:08:22","slug":"yatoon-menu-online-ordering","status":"publish","type":"plugin","link":"https:\/\/de-ch.wordpress.org\/plugins\/yatoon-menu-online-ordering\/","author":23459728,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"3.4.8","stable_tag":"3.4.8","tested":"7.1.4","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Yatoon Restaurant Menu & Online Ordering with AI Assistant","header_author":"Yatoon","header_description":"Beautiful restaurant menu with online ordering. Display your menu and accept cash pickup orders. Upgrade to Pro for Stripe, Alipay, SMS and customer accounts.","assets_banners_color":"dfd5c6","last_updated":"2026-10-28 14:08:22","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/yatoon.com\/menuorderingdemo\/","header_author_uri":"https:\/\/yatoon.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":2286,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.5.0":{"tag":"1.5.0","author":"yatoon","date":"2026-05-04 23:36:18","revision":3522796},"1.5.1":{"tag":"1.5.1","author":"yatoon","date":"2026-05-05 01:45:34","revision":3522854},"1.6.2":{"tag":"1.6.2","author":"yatoon","date":"2026-05-08 02:50:57","revision":3526107},"1.6.3":{"tag":"1.6.3","author":"yatoon","date":"2026-05-08 03:26:10","revision":3526117},"1.7.0":{"tag":"1.7.0","author":"yatoon","date":"2026-05-11 18:50:36","revision":3529111},"1.8.0":{"tag":"1.8.0","author":"yatoon","date":"2026-05-11 19:17:45","revision":3529134},"2.1.1":{"tag":"2.1.1","author":"yatoon","date":"2026-05-12 03:53:51","revision":3529370},"2.3.0":{"tag":"2.3.0","author":"yatoon","date":"2026-05-12 23:13:25","revision":3530400},"2.3.1":{"tag":"2.3.1","author":"yatoon","date":"2026-05-12 23:48:55","revision":3530411},"2.3.2":{"tag":"2.3.2","author":"yatoon","date":"2026-05-13 15:21:12","revision":3531118},"2.3.3":{"tag":"2.3.3","author":"yatoon","date":"2026-05-13 15:37:50","revision":3531130},"2.3.6":{"tag":"2.3.6","author":"yatoon","date":"2026-05-13 16:08:06","revision":3531169},"2.3.7":{"tag":"2.3.7","author":"yatoon","date":"2026-05-13 16:12:52","revision":3531177},"2.3.8":{"tag":"2.3.8","author":"yatoon","date":"2026-05-14 00:02:58","revision":3531450},"2.4.0":{"tag":"2.4.0","author":"yatoon","date":"2026-05-20 04:04:07","revision":3538231},"2.4.6":{"tag":"2.4.6","author":"yatoon","date":"2026-05-20 23:32:38","revision":3540304},"2.4.9":{"tag":"2.4.9","author":"yatoon","date":"2026-05-21 22:11:11","revision":3542840},"3.0.0":{"tag":"3.0.0","author":"yatoon","date":"2026-05-22 20:56:57","revision":3544446},"3.0.6":{"tag":"3.0.6","author":"yatoon","date":"2026-05-25 00:02:23","revision":3546775},"3.0.7":{"tag":"3.0.7","author":"yatoon","date":"2026-05-25 02:55:04","revision":3546876},"3.0.8":{"tag":"3.0.8","author":"yatoon","date":"2026-06-04 16:04:52","revision":3561276},"3.0.9":{"tag":"3.0.9","author":"yatoon","date":"2026-06-14 01:40:36","revision":3571446},"3.1.0":{"tag":"3.1.0","author":"yatoon","date":"2026-06-24 18:49:40","revision":3585267},"3.1.1":{"tag":"3.1.1","author":"yatoon","date":"2026-06-24 20:19:22","revision":3585348},"3.1.2":{"tag":"3.1.2","author":"yatoon","date":"2026-07-17 04:01:17","revision":3610964},"3.1.3":{"tag":"3.1.3","author":"yatoon","date":"2026-07-18 15:27:24","revision":3612748},"3.2.1":{"tag":"3.2.1","author":"yatoon","date":"2026-07-19 16:46:45","revision":3613752},"3.3.0":{"tag":"3.3.0","author":"yatoon","date":"2026-09-03 21:25:44","revision":3680422},"3.3.2":{"tag":"3.3.2","author":"yatoon","date":"2026-10-17 02:49:38","revision":3751339},"3.4.0":{"tag":"3.4.0","author":"yatoon","date":"2026-10-18 19:06:44","revision":3753506},"3.4.1":{"tag":"3.4.1","author":"yatoon","date":"2026-10-20 21:02:04","revision":3757466},"3.4.2":{"tag":"3.4.2","author":"yatoon","date":"2026-10-21 04:32:12","revision":3757701},"3.4.5":{"tag":"3.4.5","author":"yatoon","date":"2026-10-23 15:56:17","revision":3761982},"3.4.6":{"tag":"3.4.6","author":"yatoon","date":"2026-10-24 22:06:44","revision":3763772},"3.4.7":{"tag":"3.4.7","author":"yatoon","date":"2026-10-27 02:48:42","revision":3767643},"3.4.8":{"tag":"3.4.8","author":"yatoon","date":"2026-10-28 14:08:22","revision":3770821}},"upgrade_notice":{"3.4.8":"<p>New installs open the setup guide automatically and start with pickup ordering on. Existing settings are not changed.<\/p>","3.4.7":"<p>New accounts are now confirmed with a 6-digit code instead of the password-setup link. Review Checkout &amp; language &gt; Customer sign-up. Existing customers are not affected.<\/p>","3.4.6":"<p>Review Reservations &gt; Tables, dining time &amp; guest services. Existing pending requests receive the configured expiry grace period; confirmed bookings remain confirmed. Back up before updating.<\/p>","3.4.5":"<p>Adds menu migration and private order\/customer archives. Imported dishes stay hidden for review. Desktop columns now follow Appearance settings. Future dates off still permits pickup later today. See docs\/migration.md. Theme CSS may need the #yatoon-app prefix.<\/p>","3.4.2":"<p>Adds kitchen workload queues, branded order receipts and emails, and a dismissible order confirmation. Configure actual kitchen capacity in Hours &amp; availability before enabling the capacity strategy.<\/p>","3.4.1":"<p>Adds category hide\/restore and strengthens campaign delivery and data cleanup. Review category visibility after updating; individually hidden dishes remain hidden when a category is restored.<\/p>","3.4.0":"<p>Improves checkout country defaults, mobile ordering, reservations and kitchen workflows. Review the restaurant country, hours and notification settings, then test an order.<\/p>","3.3.2":"<p>Adds category management and guided setup, with currency and checkout improvements.<\/p>","3.3.1":"<p>Includes security and payment-reliability improvements.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3770898,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3770898,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon-512x512.png":{"filename":"icon-512x512.png","revision":3770898,"resolution":"512x512","location":"assets","locale":"","width":512,"height":512}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3770898,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3770898,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.5.0","1.5.1","1.6.2","1.6.3","1.7.0","1.8.0","2.1.1","2.3.0","2.3.1","2.3.2","2.3.3","2.3.6","2.3.7","2.3.8","2.4.0","2.4.6","2.4.9","3.0.0","3.0.6","3.0.7","3.0.8","3.0.9","3.1.0","3.1.1","3.1.2","3.1.3","3.2.1","3.3.0","3.3.2","3.4.0","3.4.1","3.4.2","3.4.5","3.4.6","3.4.7","3.4.8"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3512040,"resolution":"1","location":"assets","locale":"","width":1140,"height":1064},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3512040,"resolution":"2","location":"assets","locale":"","width":1443,"height":840},"screenshot-3.jpg":{"filename":"screenshot-3.jpg","revision":3512040,"resolution":"3","location":"assets","locale":"","width":2217,"height":1279},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3512040,"resolution":"4","location":"assets","locale":"","width":2244,"height":1307},"screenshot-5.jpg":{"filename":"screenshot-5.jpg","revision":3512040,"resolution":"5","location":"assets","locale":"","width":1280,"height":2781},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3522552,"resolution":"6","location":"assets","locale":"","width":1083,"height":1216},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3522552,"resolution":"7","location":"assets","locale":"","width":915,"height":1222},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3522552,"resolution":"8","location":"assets","locale":"","width":973,"height":819}},"screenshots":[]},"plugin_section":[],"plugin_tags":[2353,43684,16222,1475,23280],"plugin_category":[45],"plugin_contributors":[78154,258722],"plugin_business_model":[],"class_list":["post-303776","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-online-ordering","plugin_tags-pickup","plugin_tags-reservations","plugin_tags-restaurant-menu","plugin_category-ecommerce","plugin_contributors-freemius","plugin_contributors-yatoon","plugin_committers-yatoon"],"banners":{"banner":"https:\/\/ps.w.org\/yatoon-menu-online-ordering\/assets\/banner-772x250.png?rev=3770898","banner_2x":"https:\/\/ps.w.org\/yatoon-menu-online-ordering\/assets\/banner-1544x500.png?rev=3770898","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/yatoon-menu-online-ordering\/assets\/icon-128x128.png?rev=3770898","icon_2x":"https:\/\/ps.w.org\/yatoon-menu-online-ordering\/assets\/icon-256x256.png?rev=3770898","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/yatoon-menu-online-ordering\/assets\/screenshot-1.png?rev=3512040","caption":""},{"src":"https:\/\/ps.w.org\/yatoon-menu-online-ordering\/assets\/screenshot-2.png?rev=3512040","caption":""},{"src":"https:\/\/ps.w.org\/yatoon-menu-online-ordering\/assets\/screenshot-3.jpg?rev=3512040","caption":""},{"src":"https:\/\/ps.w.org\/yatoon-menu-online-ordering\/assets\/screenshot-4.png?rev=3512040","caption":""},{"src":"https:\/\/ps.w.org\/yatoon-menu-online-ordering\/assets\/screenshot-5.jpg?rev=3512040","caption":""},{"src":"https:\/\/ps.w.org\/yatoon-menu-online-ordering\/assets\/screenshot-6.png?rev=3522552","caption":""},{"src":"https:\/\/ps.w.org\/yatoon-menu-online-ordering\/assets\/screenshot-7.png?rev=3522552","caption":""},{"src":"https:\/\/ps.w.org\/yatoon-menu-online-ordering\/assets\/screenshot-8.png?rev=3522552","caption":""}],"raw_content":"<!--section=description-->\n<p>Create a branded restaurant photo menu and accept commission-free pickup orders paid directly to the restaurant. WooCommerce is not required.<\/p>\n\n<p>Organize dishes with categories, photos, options, modifiers, allergen notes, stock limits and special instructions. Set prices and currency, restaurant hours and closures, scheduled pickup, customer accounts, email notifications, reservations and a staff kitchen display. The checkout phone country code follows the restaurant country selected in settings.<\/p>\n\n<p>The optional AI Food Assistant can suggest dishes from your menu when a WordPress AI provider is connected. Normal menu browsing and ordering work without AI. Customers can switch the ordering interface between English (US and UK), Simplified Chinese, Traditional Chinese, Spanish (Mexico and Spain), French and German when the restaurant enables the language selector in Checkout &amp; language settings. Dish names, descriptions, categories and modifier labels can be translated in the background using a configured Google Cloud Translation key. Vietnamese, Korean, Japanese, Portuguese (Brazil), Filipino and Arabic become selectable after their interface catalogue has been generated; Arabic uses a right-to-left layout. Manual translations are protected. Some newer interface labels require the initial translation run even in bundled languages. Optional menu structured data and consent-based analytics help customers discover the menu while leaving analytics under the site's consent setup.<\/p>\n\n<h3>Translation notes<\/h3>\n\n<p>Translations are provided as a convenience. Google Translate machine translation was used as a starting point for non-English catalogues. English (UK) adapts English (US) spelling and ordering terms; Mexican Spanish uses the Mexico locale, with common customer-facing ordering and checkout text reviewed. The catalogues have not received complete professional native-speaker review and may need local proofreading. Restaurant-written menu content is translated only after the owner configures and runs the translation service or enables automatic updates.<\/p>\n\n<p>Free includes pickup ordering and pay-at-pickup. It does not include online payment gateways, SMS, delivery or dine-in ordering, table QR ordering, multi-location ordering, sales reports, loyalty campaigns or cloud printing; these are available in Yatoon Pro.<\/p>\n\n<p>Optional receiver protection is configured in Operations &amp; health. It applies to the entire WordPress site, not separate branch kitchens. Select at least one device currently checking Orders or Kitchen Display. If all selected devices stop successfully polling for the configured 2\u201330 minutes, new checkouts pause on the next server request without waiting for cron. A successful poll restores availability subject to manual pauses and other ordering rules. Existing paid orders and owned payment recovery are not automatically cancelled or refunded. Browser sleep, closing the receiving tab, logging out or a lost connection may trigger this protection. It does not prove a person accepted an order; retain unaccepted-order escalation and a backup contact channel.<\/p>\n\n<h3>Shortcodes<\/h3>\n\n<ul>\n<li>[yatoon_menu] - menu and checkout<\/li>\n<li>[yatoon_kitchen] - logged-in kitchen\/operations staff only<\/li>\n<li>[yatoon_order_status] - customer tracking with the order's private tracking key\/contact<\/li>\n<li>[yatoon_reservations] - reservation requests<\/li>\n<\/ul>\n\n<h3>External Services<\/h3>\n\n<p>Freemius provides optional account connection, licensing and updates. Its SDK controls the opt-in connection flow.\nTerms: https:\/\/freemius.com\/terms\/ Privacy: https:\/\/freemius.com\/privacy\/<\/p>\n\n<p>Optional Google sign-in loads Google Identity Services only when a client ID is configured. The identity token is sent to Google for verification.\nTerms: https:\/\/policies.google.com\/terms Privacy: https:\/\/policies.google.com\/privacy<\/p>\n\n<p>Optional Facebook login sends the login token to Meta to verify the app and retrieve the chosen profile\/email.\nTerms: https:\/\/www.facebook.com\/terms.php Privacy: https:\/\/www.facebook.com\/privacy\/policy\/<\/p>\n\n<p>Optional Apple sign-in loads Apple's web SDK and verifies the signed identity token against Apple's public keys.\nTerms: https:\/\/www.apple.com\/legal\/internet-services\/terms\/site.html Privacy: https:\/\/www.apple.com\/legal\/privacy\/<\/p>\n\n<p>The optional AI food assistant sends the customer's request and available menu descriptions to the provider connected to the WordPress AI Client.\nNo AI provider keys are collected by this plugin. Provider selection is controlled by the WordPress connector and assistant settings.\nGoogle terms\/privacy: https:\/\/ai.google.dev\/gemini-api\/terms and https:\/\/policies.google.com\/privacy\nOpenAI terms\/privacy: https:\/\/openai.com\/policies\/terms-of-use\/ and https:\/\/openai.com\/policies\/privacy-policy\/\nAnthropic terms\/privacy: https:\/\/www.anthropic.com\/legal\/commercial-terms and https:\/\/www.anthropic.com\/legal\/privacy<\/p>\n\n<p>Optional translation: after the owner saves a Google Cloud Translation API key, explicit translation jobs and enabled automatic menu updates send dish names, descriptions, categories, option labels and fixed interface phrases to translation.googleapis.com. Tasks run through WordPress cron, continue after the browser closes, and retry on failure. Customer contact details and actual order records are not sent to this translation endpoint. The service may charge by translated character; the connection test translates one short phrase. A Google account sign-in does not automatically provision a billed Cloud project or API key.\nGoogle Cloud terms\/privacy: https:\/\/cloud.google.com\/terms\/ and https:\/\/policies.google.com\/privacy<\/p>\n\n<p>Optional GloriaFood menu import: when an administrator submits a Fetch Menu integration key, the plugin sends that key to GloriaFood's API at pos.globalfoodsoft.com to retrieve the restaurant menu for a private preview. The key is used for that request and is not saved; customer and order records are not sent. This requires a GloriaFood account and Fetch Menu integration. Terms: https:\/\/www.gloriafood.com\/terms-of-use Privacy: https:\/\/www.oracle.com\/legal\/privacy\/\nOptional order spam check: when a site owner enables Cloudflare Turnstile or hCaptcha in the plugin settings, the customer's browser loads that provider's script on the checkout, and the one-time check token plus the visitor's IP address are sent to the provider by the server to verify it. Nothing is sent unless a provider and its keys are configured.\nCloudflare terms\/privacy: https:\/\/www.cloudflare.com\/website-terms\/ and https:\/\/www.cloudflare.com\/privacypolicy\/\nhCaptcha terms\/privacy: https:\/\/www.hcaptcha.com\/terms and https:\/\/www.hcaptcha.com\/privacy<\/p>\n\n<p>Order\/contact information is stored in the site's WordPress database and sent to the restaurant and customer through the site's configured email service.\nNew email\/password accounts must follow the emailed password setup link before signing in. The WordPress password reset flow also verifies these accounts.<\/p>\n\n<h3>Menu information and integrations<\/h3>\n\n<p>Confirm allergens while editing each dish. An empty allergen list means no information was supplied; it does not mean a dish is allergen-free. Customers should contact the restaurant about allergies and shared preparation areas.<\/p>\n\n<p>Menu JSON-LD describes the public restaurant menu and prices. It does not guarantee a specific search result format. Sites using another menu schema provider may disable this output with the yatoon_menu_enable_schema filter.<\/p>\n\n<p>Analytics &amp; integrations offers an optional ecommerce event bridge for your existing Google Tag Manager\/GA4 and Meta Pixel setup. It is off by default. No analytics scripts are installed. Forwarding requires explicit visitor consent through your consent manager and the documented YatoonAnalytics.setConsent interface. Customer contact details, addresses and notes are excluded. Configure the associated services and privacy disclosures before enabling this feature.<\/p>\n\n<p>The Appearance screen offers everyday and seasonal menu themes, including Christmas. You can switch themes at any time; theme selection does not change prices or ordering settings.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate the plugin. Deactivate any other Yatoon edition first.<\/li>\n<li>The setup guide opens automatically: enter your restaurant name, order email and currency.<\/li>\n<li>Add a few dishes (name, price, category). Photos and options can be added later.<\/li>\n<li>Click \"Save &amp; create my pages\". An \"Order Online\" page is created and pickup ordering is turned on.<\/li>\n<li>Open the ordering page on your phone and place a test order. It appears under Orders and Kitchen Display.<\/li>\n<\/ol>\n\n<p>You can reopen the guide at any time from Yatoon Menu &gt; Settings &gt; Setup Wizard.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20woocommerce%3F\"><h3>Do I need WooCommerce?<\/h3><\/dt>\n<dd><p>No. Menus, cart, checkout and orders are built in.<\/p><\/dd>\n<dt id=\"how%20long%20does%20setup%20take%3F\"><h3>How long does setup take?<\/h3><\/dt>\n<dd><p>Most restaurants have a working ordering page in about five minutes with the setup guide. Three sample dishes are included so you can preview the page; the guide can remove them once your own dishes are added.<\/p><\/dd>\n<dt id=\"customers%20can%20see%20my%20menu%20but%20there%20is%20no%20add%20button.%20why%3F\"><h3>Customers can see my menu but there is no Add button. Why?<\/h3><\/dt>\n<dd><p>Online ordering is turned off. Go to Yatoon Menu &gt; Settings &gt; Ordering &amp; pickup and tick \"Enable pickup orders\", or use the \"Turn on pickup ordering\" button shown in the admin.<\/p><\/dd>\n<dt id=\"how%20do%20customers%20pay%3F\"><h3>How do customers pay?<\/h3><\/dt>\n<dd><p>The free version takes pickup orders paid at the restaurant. Pro adds online payments such as Square, Stripe and PayPal.<\/p><\/dd>\n<dt id=\"do%20you%20charge%20commission%20on%20orders%3F\"><h3>Do you charge commission on orders?<\/h3><\/dt>\n<dd><p>No. Orders go directly to your restaurant.<\/p><\/dd>\n<dt id=\"can%20i%20use%20it%20with%20my%20page%20builder%20or%20theme%3F\"><h3>Can I use it with my page builder or theme?<\/h3><\/dt>\n<dd><p>Yes. Add the [yatoon_menu] shortcode to any page or shortcode block.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>3.4.8<\/h4>\n\n<ul>\n<li>Open the setup guide automatically after activation.<\/li>\n<li>Turn on pickup ordering by default in the setup guide and warn the owner when ordering is off.<\/li>\n<li>Offer to remove the sample dishes and preselect a category for the first dish.<\/li>\n<li>Remove a duplicate admin navigation row, including a QR tables link that was not available in Free.<\/li>\n<li>Make the front-end Kitchen Display page optional in setup.<\/li>\n<li>Let menu-only restaurants hide the ordering-off reminder.<\/li>\n<li>Remove internal build notes from the plugin package.<\/li>\n<\/ul>\n\n<h4>3.4.7<\/h4>\n\n<ul>\n<li>Refresh the language picker with local country flags and a compact account icon.<\/li>\n<li>Reduce and center the mobile sign-in sheet while keeping longer forms scrollable.<\/li>\n<li>Make Log out visible beside the signed-in customer name.<\/li>\n<li>Fix the Sign in button showing no feedback and the clipped \"Continue with Google\" button.<\/li>\n<li>Sign-in, Create account and account pages now follow the active menu theme.<\/li>\n<li>New Checkout &amp; language &gt; Customer sign-up: phone number on sign-up can be off, optional or required.<\/li>\n<li>New accounts are confirmed with a 6-digit email code and signed in automatically.<\/li>\n<li>Google, Facebook and Apple sign-in ask for a phone number first when it is required.<\/li>\n<li>Administrators who sign in on the storefront form are now told to use wp-admin.<\/li>\n<\/ul>\n\n<h4>3.4.6 performance revision<\/h4>\n\n<ul>\n<li>Isolate restaurant nonce refresh from Booking on the same site.<\/li>\n<li>Reuse display menu data and output one complete language catalogue.<\/li>\n<li>Move AI capability checks and social SDK loading off the initial page path.<\/li>\n<li>Reduce frontend option queries and unnecessary admin media assets.<\/li>\n<li>Preserve the 3.4.6 seat reservation fixes.<\/li>\n<\/ul>\n\n<h4>3.4.6<\/h4>\n\n<ul>\n<li>Keep queued confirmation emails and reminder deduplication intact when staff change only the table.<\/li>\n<li>Prevent overlapping table reservations, add dining\/cleanup times, version-checked table changes, signed guest cancellation\/rescheduling, pending expiry and arrival reminders.<\/li>\n<li>Synchronize shared reservation and header components between Free and Pro.<\/li>\n<li>Configure bookable tables and guest services in Reservations; see docs\/reservations.md.<\/li>\n<\/ul>\n\n<h4>3.4.5<\/h4>\n\n<ul>\n<li>Center mobile next pickup beneath the language selector using matching column widths.<\/li>\n<li><p>Refined mobile header alignment into two paired rows while retaining the desktop layout.<\/p><\/li>\n<li><p>Place the next pickup time beside the status badge on phones, with complete dates retained for future pickups.<\/p><\/li>\n<li><p>Improved the responsive restaurant header: next pickup and hours stay together, with compact mobile language selection and availability-backed estimates.<\/p><\/li>\n<li><p>Added reviewed menu migration and isolated customer\/order history archives; fixed desktop column settings and clarified same-day pickup availability. See docs\/migration.md for source formats and limits.<\/p><\/li>\n<li><p>Pro: direct printing sends plain text in the printer's font (UTF-8 when the printer reports support, otherwise an ASCII fallback with a warning on the Printer page) and cuts with the protocol header. The kitchen ticket and the receipt print as separate, cut tickets.<\/p><\/li>\n<li>Pro: printing continues while the printer reports paper low. Paper out, cover open, busy and offline states wait without using retries and resume automatically.<\/li>\n<li>Pro: tickets for cancelled, refunded or deleted orders are not printed and never hold up later tickets; orders awaiting payment review wait.<\/li>\n<li>Pro: staff are emailed or texted when an order ticket has not printed within a set time (default 10 minutes) or fails, independent of order escalation. Alerts say that the printer needs attention.<\/li>\n<li>Pro: every outstanding ticket is kept; printed history is limited to 80 tickets and closed tickets to 200 for 7 days.<\/li>\n<li>Pro: reprints are saved as background tasks, so a busy print queue retries without duplicate tickets.<\/li>\n<li><p>Pro: honor the optional postal-code setting for distance delivery.<\/p><\/li>\n<li><p>Fix legacy Chinese sushi-roll and General Tso descriptions, preserving unrelated merchant-authored translations.<\/p><\/li>\n<li>Preserve original dish names during localization so description corrections can match correctly. Repair the known Spanish Kung Pao and Smoothie mistranslations.<\/li>\n<li>Keep the order confirmation close button neutral and centered despite theme button styles, with a touch-friendly target and visible keyboard focus.<\/li>\n<li>Centralize pickup schedules, holiday closures, kitchen preparation and future-date controls in Hours &amp; availability; prevent general settings from overwriting those values.<\/li>\n<li>Add optional site-wide receiver protection. Select receiving devices in Operations &amp; health; stop new checkouts when all selected devices stop successfully checking orders, and resume after reconnection without clearing manual pauses or changing existing orders and payments.<\/li>\n<li>Refresh receiver heartbeats only after a successful order poll; recover expired staff heartbeat nonces. Keep unaccepted-order alerts separate from device connectivity.<\/li>\n<li>Clarify listed, unlisted and sold-out dishes and category actions. Refresh pickup availability during idle checkout, without refreshing while the payment button is processing.<\/li>\n<li>Redesign the live kitchen display: three lanes with countdowns, late highlighting, allergy callouts, one primary action per ticket and flicker-free updates.<\/li>\n<li>Orders page: structured item list with quantity badges and highlighted special requests; Delete moved into a More menu. Reports: summary cards and bars.<\/li>\n<li>Menu page: single sticky category bar, correct dish thumbnails and two-column dish cards on desktop.<\/li>\n<li>Front-end CSS refactor: about 4,480 !important declarations across the menu stylesheets were replaced by scoped selectors (#yatoon-app for the menu and its overlays, plus the kitchen, order-status and reservation roots). About 30 remain, only where a rule must beat an inline style set by JavaScript or style \/. Unused legacy rules were removed and menu.css\/menu.js ship minified (menu.min.css, menu.min.js) unless SCRIPT_DEBUG is on. Theme authors can override any rule with the same selector prefix.<\/li>\n<li>The menu and its overlays are wrapped in #yatoon-app, so block themes no longer push the cart drawer, backdrop and confirmation overlay into the content column.<\/li>\n<li>Update the bundled Freemius SDK to 2.13.5.<\/li>\n<li>Checkout: on desktop the order summary sits beside the form in a two-column sheet; the price breakdown is collapsed until opened; the pickup estimate is hidden for delivery orders.<\/li>\n<li>Admin: the many Yatoon Menu pages are grouped into Overview, Service, Menu, Grow and Settings with a two-level navigation bar; secondary pages leave the WordPress sidebar but stay one click away.<\/li>\n<\/ul>\n\n<h4>3.4.2<\/h4>\n\n<ul>\n<li>Add configurable kitchen workload capacity shared by ASAP, scheduled orders and unexpired payment holds. Large orders reserve multiple windows and checkout rechecks capacity under the inventory lock.<\/li>\n<li>Include merchant identity, regional dates, payment status and complete order details in printed receipts and customer emails. Save merchant identity with new orders and support optional branch contact details.<\/li>\n<li>Add an accessible close control to order confirmation and clear the submitted basket after success.<\/li>\n<li>Keep recent overdue and staff-confirmed kitchen work reserved. Isolate tickets inactive for more than 24 hours from current capacity without completing or cancelling them; staff can continue preparation to restore their workload. Filter staff review and live-board pages before pagination, and return proper authorization errors. Expiring busy-mode delays remain available.<\/li>\n<li>Fall back to the restaurant address when an optional location or marketing address is empty.<\/li>\n<li>Complete translations for the new kitchen, receipt and settings text in the bundled languages; sanitize kitchen workload and category order input and normalize line endings flagged by Plugin Check.<\/li>\n<\/ul>\n\n<h4>3.4.1<\/h4>\n\n<ul>\n<li>Add numeric category positions: moving one category automatically shifts the others. Validate saves and reject edits made against outdated category lists.<\/li>\n<li>Keep same-day pickup available by default; display Today and format future dates for the customer language \/ region only when future pickup is enabled. Enforce the same restaurant-local date range at checkout.<\/li>\n<li>Add independent category hide\/restore controls; restoring a category preserves each dish's own visibility. Hidden categories are excluded from public feeds and new checkout validation.<\/li>\n<li>Complete optional uninstall cleanup for marketing storage and keep consent wording versions independent of release versions.<\/li>\n<li><p>Ship marketing information and upgrade access without the Pro campaign or subscription engine. Existing signed unsubscribe links remain usable after downgrade.<\/p><\/li>\n<li><p>Unify centred storefront tool widths and responsive category navigation.<\/p><\/li>\n<li>Pro: optional email\/SMS marketing subscriptions, campaign drafts, background sends, lapsed-customer audiences and SMS followups.<\/li>\n<li>Add signed unsubscribe links, email list-unsubscribe headers and authenticated SMS STOP handling; preserve transactional notifications.<\/li>\n<\/ul>\n\n<h4>3.4.0<\/h4>\n\n<ul>\n<li>Integrated the reviewed 3.4.0 fixes; preserve canonical modifier IDs\/names for checkout and separate customer display translations.<\/li>\n<li>Remove redundant closed pickup messages, improve mobile forms, long dish names and empty-image dialogs.<\/li>\n<li>Persist retryable translation tasks, track source changes, protect manual edits and support a merchant terminology glossary.<\/li>\n<li>Load JavaScript catalogues for admin, kitchen and table-board handles; honor customer language in public AJAX and order emails; protect personalized ordering pages from shared caching.<\/li>\n<li>Add operations health, device heartbeats, escalation and authenticated printer receipts.<\/li>\n<li>Improved mobile menu and checkout layout, restaurant branding, service hours and resilient total calculation. Price details open by default so customers can see subtotal, tax and fees. Checkout now defaults the phone dialing code from the restaurant's configured country.<\/li>\n<li>Improved reservation hours, booking limits, reopening checks and retryable email notifications; clarified order status and kitchen ticket handling.<\/li>\n<li>Added allergen information, menu structured data, optional consent-based analytics, seasonal menu themes, accessibility and translation improvements.<\/li>\n<li>Improved setup guidance, category and menu management, currency handling and scheduling safeguards.<\/li>\n<\/ul>\n\n<h4>3.3.2<\/h4>\n\n<ul>\n<li>Added category management and first-run setup tools; improved currency selection, responsive admin screens and checkout reliability.<\/li>\n<\/ul>\n\n<h4>3.3.1<\/h4>\n\n<ul>\n<li>Improved payment and notification reliability, account security, checkout protection and mobile administration.<\/li>\n<\/ul>","raw_excerpt":"Restaurant photo menus and commission-free pickup ordering, with a kitchen display, customer accounts, reservations and optional AI.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/de-ch.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/303776","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/de-ch.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/de-ch.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/de-ch.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=303776"}],"author":[{"embeddable":true,"href":"https:\/\/de-ch.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/yatoon"}],"wp:attachment":[{"href":"https:\/\/de-ch.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=303776"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/de-ch.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=303776"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/de-ch.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=303776"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/de-ch.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=303776"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/de-ch.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=303776"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/de-ch.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=303776"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}