=== RestroPress - Online Food Ordering System ===
Contributors: magnigenie, sagarseth9, kshirod-patel, bibhu1995
Tags: Online ordering, Restaurant Ordering, Food Delivery, Takeaway, Restaurant Menu
Donate link: https://paypal.me/magnigeeks
Requires at least: 6.0
Requires PHP: 7.4
Tested up to: 7.1
Stable tag: 3.4.5
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Commission free online food ordering for WordPress. Take pickup, delivery, and dine-in orders on your own site, with no per order fees.

== Description ==

**RestroPress turns your WordPress site into a complete online food ordering system, so you keep 100% of every order.**

No commissions. No per order fees. No WooCommerce required. Restaurants, cloud kitchens, cafes, and food businesses use RestroPress to take pickup, delivery, and dine-in orders directly on their own website and pay nothing to third party apps.

Set up your menu in minutes with the new AI powered onboarding wizard, then run your whole service from one live dashboard.

[Try the live demo](https://demo.restropress.com) or [watch the 2 minute video](https://www.youtube.com/watch?v=CGVpXYw6JDQ).

= Why restaurants switch to RestroPress =

* **Keep everything you earn.** Third party platforms can take 15% to 30% of every order. RestroPress takes 0%.
* **Own your customers and your data.** Orders, contacts, and history stay on your site, not on someone else's app.
* **No WooCommerce, no bloat.** A fast, standalone ordering system built only for food.
* **Live from day one.** A guided setup wizard and AI menu import get you taking orders the same afternoon.

= Set up in minutes, not days (new in 3.3) =

* **AI menu import.** Upload a PDF, a photo, or a spreadsheet of your menu and let AI turn it into items, prices, sizes, and add-ons for you to review.
* **Guided onboarding wizard.** Simple step by step setup for your restaurant profile, menu, service options, and payments.
* **Smart upload checks.** If you upload something that is not a menu, RestroPress tells you before it imports anything.

= Run your whole service from one screen =

* **Live Orders board.** A real time view of new, accepted, preparing, ready, and out for delivery orders.
* **Command Center dashboard.** See store status, live load, late orders, unpaid orders, and a priority queue of what needs attention right now.
* **Automatic kitchen ticket printing.** Send new orders straight to your printer.
* **Kitchen Display System.** Keep the kitchen in sync with the KDS app.

= Take orders the way your customers want =

* Pickup, delivery, and dine-in, all from one menu.
* QR code table ordering with the Dine-In extension.
* Scheduled orders and pre orders for later pickup or delivery.
* Delivery fees and zones based on location.

= Get paid your way =

* PayPal, Stripe, and Cash on Delivery built in.
* Many more gateways available as extensions, including Square, Mollie, Paytm, PayU, and PhonePe.
* Premium POS integrations with Clover and Square for in store payments.

= Everything you need, out of the box =

* Unlimited orders on every site, always free.
* Build your menu in a clean, modern editor: categories, add-ons, modifiers, variable pricing, and dietary labels, all in one place.
* Veg, non-veg, and dietary labels on the storefront.
* Customer accounts with order history and one tap reorder.
* Automatic creation of cart, checkout, and account pages.
* Mobile responsive storefront that looks great on any device.
* Email, SMS, and WhatsApp notifications (via extensions) for customers and staff.
* Full REST API to build your own apps and integrations.
* Translation ready, with Italian and Dutch bundled and more from the community.

= Who is it for =

* Restaurants, cafes, and cloud kitchens
* Takeaway and takeout businesses
* Pizza shops, burger joints, and bakeries
* Grocery, fruit and vegetable, and specialty food stores

= Grow with extensions and apps =

* **Customer App** for a branded ordering experience
* **Driver App** to manage your delivery team
* **Order Tracking App** for real time updates
* **KDS App** for the kitchen
* **POS for mobile and desktop** to handle in store and online orders in one place
* **Dine-In, Multi Location, Inventory, Tips, Pre Order, and Time Based Menu**, plus many more

[Explore all extensions](https://restropress.com/extension/)

= Built for developers =

RestroPress ships with a full REST API (since version 3.0) so you can build custom apps, kiosks, and integrations on top of your ordering system. [Read the REST API docs](https://docs.restropress.com/docs/rest-api/authentication/).

= Get started today =

Take control of your online ordering and stop paying commissions. [Download RestroPress](https://wordpress.org/plugins/restropress/) and start taking orders today.

[Website](https://restropress.com) | [Documentation](https://docs.restropress.com) | [Live demo](https://demo.restropress.com) | [Facebook group](https://facebook.com/groups/restropress.official) | [YouTube](https://www.youtube.com/@restropress)

== Installation ==

RestroPress sets itself up in minutes.

1. In your WordPress admin, go to Plugins, then Add New, and search for "RestroPress".
2. Click Install Now, then Activate.
3. Follow the guided setup wizard to add your restaurant details, import your menu (PDF, photo, spreadsheet, or AI import), choose pickup and delivery options, and connect payments.
4. Your cart, checkout, and account pages are created for you. Add the menu to any page and start taking orders.

Prefer a manual install:

1. Download the plugin zip from WordPress.org.
2. Go to Plugins, Add New, Upload Plugin, and choose the zip.
3. Install, activate, and run the setup wizard.

== Frequently Asked Questions ==

= Does RestroPress charge any commission or per order fees? =
No. RestroPress is commission free. You keep 100% of every order. There are no per order fees and no forced subscription to take orders.

= Do I need WooCommerce? =
No. RestroPress is a standalone food ordering system. It does not require WooCommerce or any other ecommerce plugin.

= Which payment methods are supported? =
PayPal, Stripe, and Cash on Delivery are built in. Many more gateways are available as extensions, including Square, Mollie, Paytm, PayU, and PhonePe.

= Can I offer pickup, delivery, and dine-in? =
Yes. Pickup and delivery work out of the box, and you can add QR code dine-in ordering with the Dine-In extension.

= Can customers schedule orders for later? =
Yes. Customers can place orders for a future date and time, for both pickup and delivery.

= Is there a limit on the number of orders? =
No. RestroPress supports unlimited orders on every site, for free.

= Can I import my existing menu? =
Yes. Use the AI menu import to upload a PDF, photo, or spreadsheet, or import a CSV directly. You review everything before it goes live.

= Does it work on mobile? =
Yes. The storefront is fully mobile responsive, and dedicated customer, driver, and order tracking apps are available.

= Can I run more than one location? =
Yes, with the Multi Location extension.

= Is RestroPress translation ready? =
Yes. RestroPress is fully translation ready and ships with Italian and Dutch translations, with more available from the community.

= Where can I get help? =
Read the [documentation](https://docs.restropress.com), join the [Facebook community](https://facebook.com/groups/restropress.official), or open a thread in the WordPress.org support forum.

== Screenshots ==

1. Guided onboarding wizard with AI menu import, for a setup in minutes.
2. Live Orders board: a real time view of every active order from new to out for delivery.
3. Command Center dashboard with store status, live load, late orders, and the priority queue.
4. Section based food item editor with add-ons, modifiers, and variable pricing.
5. Mobile responsive storefront menu with pickup, delivery, and dine-in.
6. Streamlined checkout with built in payment options.
7. Order details with status workflow and a printable kitchen ticket.

== Changelog ==

= Version 3.4.5 (2026-09-03) =
* Fixed: Allowed tips section display on pickup orders in checkout redesign.

= Version 3.4.4 (2026-09-01) =
* Fixed: Pending order count badge recalculation and object cache invalidation (`wp_cache_delete` for `rpress_orders_needs_attention_*`) so the badge resets to 0 when all orders are completed.
* Fixed: Auto-loading of `RPRESS_Payment_History_Table` class during AJAX calls (`admin-ajax.php`) and non-orders pages for synchronized pending order badge counts.
* Fixed: Pending order count refresh button desynchronization and added live AJAX badge counter recount capability.
* Fixed: Permanent item deletion option from Trash view in food items admin table.
* Fixed: Compatibility with Store Timing pre-order service hours and multi-format time parsing (`12-hour` and `24-hour`).
* Fixed: Category selection filtering logic on time-based menu storefront.
* Fixed: Checkout pickup/delivery time dropdown cookie persistence and ASAP selection reset issue.

= Version 3.4.3 (2026-08-20) =
* Fixed: Issue where updating service options from the legacy modal on an empty cart caused double modal AJAX calls and broken food item customization popup rendering.
* Fixed: Automatic cookie clearing when emptying the cart and on purchase completion.
* Fixed: Order creation timestamp and relative creation time ('placed ago') calculation to be timezone-agnostic across all site and server timezones.

= Version 3.4.2 (2026-08-13) =
* Fixed: Wrapped all hardcoded strings in registration template, cart sidebar, category navigation, user dashboard, and email template with WordPress i18n functions and restropress text domain.
* Improved: RestroPress text domain audit and string translation readiness across storefront and dashboard templates.

= Version 3.4.1 (2026-08-08) =
* Fixed: Percentage discount float calculation precision error when using comma decimal separators, preventing loss of cents on totals.
* Fixed: Terms of Agreement checkbox visibility and touch target on mobile checkout viewports.
* Fixed: Food item card width uniformity and price range wrapping for variable price items in mobile grid view.
* Fixed: Service type switching (Delivery vs Pickup) on the checkout page.
* Fixed: Checkout error message overlapping by the mobile sticky bottom bar, adding smooth scroll positioning and elevated contrast styling.
* Fixed: Suppressed empty error containers to eliminate phantom red border outlines on storefront menu headers.

= Version 3.4 (2026-07-28) =
RestroPress 3.4 is the "open the door" release: a refreshed storefront you can restyle in one click, a free plan that can genuinely run a restaurant, RestroPress's first Gutenberg blocks, and a round of fixes for headless integrations, multisite, and staff accounts.

* **A refreshed storefront with switchable template packs**
    * New "Template" section under Settings, Styles: choose a template pack for your customer-facing pages. Classic keeps the original RestroPress look; Modern is a polished, image-forward storefront styled like a food-delivery app.
    * Menu layout (list or grid) is now its own control that works with any pack, so you can pair either look with either layout.
    * The Modern pack adds large food photos, rounded cards, sticky pill category tabs, a store header with your open status and prep time, and a redesigned sidebar cart with quantity steppers and tap-to-edit items.
    * Redesigned checkout with cleaner contact, service, payment, and order summary cards, clearer typography, and tidier states for delivery, pickup, guest, and logged-in customers.
    * New order confirmation and live tracking page that updates the order status in real time as the kitchen works through it.
    * Redesigned toast notifications for add-to-cart, errors, and warnings, plus a more consistent delivery and pickup schedule popup (matching dropdowns and inputs).
    * Everything here is styling only: your products, prices, menu items, and orders are untouched, and you can switch packs or revert at any time.
* **A free plan that can actually go live**
    * Flat delivery fee, weekly store hours (set per day, or mark a day closed), up to 5 holiday dates, and an order time slot interval are all free now. Basic receipt printing was already free.
    * If you install the Delivery Fee, Store Timing & Delivery Cutoff, or Order Time, Intervals & Limits extension, it takes over automatically. Nothing is charged twice and no setting is duplicated.
    * A short note now points you to the matching extension wherever a free setting has a more advanced paid option (delivery zones, per-service schedules, slot caps), so you always know what more is available without anything being blocked.
* **RestroPress's first Gutenberg blocks**
    * Six new blocks: Menu, Cart & Checkout, Order History, Order Receipt, Food Search, and Opening Hours, all listed under their own RestroPress category in the block inserter.
    * The Menu block supports category filters, layout, sort order, and direct styling (colors, typography, spacing, borders) from the block sidebar, with a live preview as you edit.
    * The Order Receipt block lets you choose exactly what shows on your confirmation page: items, prices, discounts, date, notes, payment method, and order number.
    * Existing shortcodes keep working exactly as before. Blocks are an additional way to build pages, not a replacement.
* **Fixes and improvements**
    * Fixed: Weglot translation URL prefixes (e.g., `/en/`) are now properly preserved during checkout, order success, and failure redirects.
    * Improved: Wrapped hardcoded strings on the login form template (`templates/shortcode-login.php`) in WordPress translation functions.
    * Improved: Localized all user-facing strings in the forgot password custom shortcode form (`myplugin_custom_forgot_password_form` in `rp-core-functions.php`) and resolved broken arrow character encoding (`â† ` to `&larr;`).
    * Improved: Localized fallback default error messages for minimum order amount validation.
    * Fixed: Avoid appending list items (`li.cart_item.empty`) directly to the checkout table layout, which caused invalid HTML markup on the checkout page.
    * Improved: Replaced the checkout page content with a clean loading spinner instantly when the last item is removed from the cart, preventing flashes of broken/inconsistent cart states during the page reload.
    * Fixed: the REST API cart endpoint returned only the last item in the cart instead of all of them, breaking headless and mobile app integrations.
    * Fixed: REST API access required full administrator permissions, blocking shop managers and staff from using the API at all.
    * Fixed: reordering a past order could fail with a PHP notice when the order had no special instructions or no add-ons.
    * Fixed: installing RestroPress on a multisite network with more than 100 sites silently skipped every site after the 100th.
    * Fixed: the Orders menu badge count could disagree with the Orders list; it now always shows the same all-time pending count as the list's "All" filter.
    * Removed the "Service Cookies Expire Time" setting. It controlled how long a customer's delivery/pickup choice was remembered, and almost no one needs to change it. The same 90-minute default keeps working; there is just no longer a confusing setting for it.
* **PHP 8.x compatibility**
    * Fixed several deprecation warnings that showed up under PHP 8.1 and newer, including in the REST API and the bundled JWT library.
    * RestroPress now declares `Requires PHP: 7.4` and runs cleanly through PHP 8.5.
* **For developers**
    * New filters `rpress_flat_delivery_fee_active` and `rpress_basic_store_hours_active` let an extension announce that it is taking over a free-tier feature.
    * New `rpress_get_store_hours_for_date()` helper resolves the open/close window and holiday status for any date.
    * New `rpress_service_type_switched` action fires when a customer changes delivery/pickup on the storefront.
    * All six blocks are registered as standard `block.json` blocks with server side rendering, so they can be filtered, extended, or restyled like any other WordPress block.

= Version 3.3.2 (2026-07-12) =
* Fixed: Checkout page cart removal breaks when removing the last item due to concurrent AJAX calls creating an infinite loop.
* Fixed: Checkout page table row was not removed when deleting items from the cart due to an underscore vs hyphen class selector mismatch (`.rpress-cart-item` vs `.rpress_cart_item`).

= Version 3.3.1 (2026-07-03) =
* Fixed: Live orders sound overlay cannot be closed/dismissed on live sites where autoplay is blocked by browser policies.
* Improved: Added filemtime versioning to live orders JS/CSS files to prevent stale browser-cache behavior.
* Fixed: Reorder popup navigation buttons (Add more items / Checkout Now) not functioning on click.

= Version 3.3 (2026-06-11) =
RestroPress 3.3 is a major update: a guided setup wizard with AI menu import, a real time Live Orders board, a redesigned operations Dashboard, a cleaner Orders screen and order editor, dietary labels on your menu, faster Reports, and easier menu import and export.

* **Guided setup wizard with AI menu import**
    * New step by step setup (restaurant profile, menu, how you sell, payments, go live) with a live preview of your storefront as you build it.
    * AI menu import: upload a PDF, photo, or spreadsheet and AI reads it into items, prices, sizes, and add-ons for you to review before publishing. Works with built-in WordPress AI, OpenAI, or Google Gemini.
    * One-click sample menus (Cafe & Bakery, Pizzeria, Burger Diner, Healthy Kitchen) to get started instantly, plus a manual build option.
    * RestroPress now warns you when an uploaded file does not look like a menu, before it imports anything.
* **Live Orders board (new)**
    * A real time board of every active order across columns: New, Accepted, Preparing, Ready, and Out for Delivery.
    * New orders slide in with a sound alert and a flashing browser tab so busy staff never miss one.
    * Drag a card to another column to change its status, or use the single clear next-step button (Accept, Start, Ready, Dispatch, Complete).
    * Filter by Pickup, Delivery, or Dine-in. The board refreshes on its own, and an optional setting makes Live Orders the default Orders view.
* **Redesigned Dashboard**
    * The Dashboard is now an operations command center built for restaurant managers: store status, live order load, late orders, unpaid orders, and a priority queue of what needs attention right now.
    * Panels refresh automatically every 30 seconds.
* **Redesigned Orders screen**
    * Cleaner list with click-to-change status pills (no page reload), date shortcut chips, a "time since ordered" label, and a sticky header.
    * Switches automatically between a Today operations view and a Past Orders view with sales totals when you pick a date range.
    * Revenue now counts cash orders correctly, refunds show clearly in red, and customer phone numbers can be masked to the last 4 digits for screens in public view.
* **Redesigned order details**
    * A clearer single-order screen: summary cards, a fulfilment status track with a one-click next step, a notes timeline, and billing details.
    * Edit order items (sizes, add-ons, quantities) right on the page, with the total kept in sync automatically.
* **Completely redesigned menu item editor**
    * Rebuilt the menu item edit screen into one clean, section-based editor instead of scattered WordPress metaboxes.
    * Separate short (menu card) and full (order popup) descriptions in clearly labelled fields.
    * Combined Category, Tags & Dietary into one section, with a type-to-create tag selector.
    * Redesigned add-ons area with card-style groups, drag-and-drop ordering, and an inline "new add-on group" form.
    * Compact variable-price rows, plus a built-in Sold Out availability toggle right in the Publish box (no extra extension needed). Sold-out items show a clear badge on your storefront.
* **Dietary labels and food type**
    * New dietary labels (Vegetarian, Vegan, Gluten-free, Dairy-free, Nut-free, Halal, Kosher, Spicy) that you set per item and that now show as chips on your storefront menu.
    * Veg / Non-veg marks are now an optional setting, aimed at India and similar markets.
* **Faster, clearer Reports**
    * Reports rebuilt into focused views: Overview, Sales, Orders & Risk, Menu, Customers, Payments & Recovery, Taxes, and Export, each with a previous-period comparison.
    * Revenue and late-order numbers now agree across the Dashboard, Orders, and Reports.
    * Reports load much faster on large stores.
* **Easier menu import and export**
    * Menu import is now a permanent screen at Menu Items > Import (AI, spreadsheet, or sample menu), not just a one-time onboarding step.
    * Menu export lets you pick exactly which columns to include and produces a clean, readable CSV that imports straight back in.
    * Settings import and export moved to Settings > Misc, and Tools is now focused on maintenance only.
* **Clearer new-order alerts**
    * A loud built-in alert sound now ships by default, so new-order notifications are no longer silent until you upload your own.
    * Clearer guidance on how desktop alerts work, plus more reliable playback.
* **Renamed for clarity**
    * "Food Items" is now "Menu Items" throughout the admin. Your URLs, shortcodes, and data are unchanged.
    * "Add-on Category" is now "Add-on Group" (sometimes called a modifier group in POS systems). Only the labels changed.
* **Fixes and improvements**
    * Fixed: fixed-price items no longer switch themselves to variable pricing when saved.
    * Fixed: the setup wizard now saves your chosen service type (Pickup, Delivery, or both) instead of always storing "Pickup only".
    * Fixed: finishing setup no longer puts your store into payment test mode by mistake.
    * Fixed: a storefront and dashboard crash when a store's opening and closing times were equal or inverted.
    * Fixed: menu item tags could show twice on a storefront card in one layout; they now show once.
    * Fixed: the print icon in the order quick-view is now aligned with its label.
    * Fixed: finishing the setup wizard now saves the store time format (12-hour or 24-hour) to both WordPress and the RestroPress storefront, so opening-hours labels on the menu page always match what you chose during setup.
    * Improved: Live Orders cards show the customer phone correctly, add-on and category names with apostrophes no longer break, and many smaller admin polish fixes.
* **For developers**
    * New food item editor section hooks and a Live Orders extension surface (columns, time window, query args) let add-ons plug into the redesigned screens.
    * Order count, late-order, and cash-gateway logic is now shared and filterable for consistency across screens.
    * New `rpress_default_notification_sound` filter lets add-ons or themes override the built-in alert sound without touching plugin files.
    * Full REST API support continues for building custom apps and integrations.

= Version 3.4.4 (2026-08-25) =
* Fixed: RestroPress grid view sticky sidebar height calculation feedback loop preventing page scroll to footer.
* Fixed: Service type switch AJAX response processing to dynamically update modal content and storefront date/time options without dropping responses or flickering open modals.
* Fixed: Schedule modal Cancel button click event listener to use delegated event handling for dynamically refreshed popup DOM.

= Version 3.2.8.8.6(2026-06-09) =
* Updated: Plugin version bump to 3.2.8.8.6
* Fixed: Email template order notes now strip encoded HTML tags before rendering so labels such as `<strong>` no longer show in `{order_note}`.
* Fixed: Special instruction labels in food item email lists now render bold markup without exposing raw `<strong>` tags.

= Version 3.2.8.8.5(2026-06-03) =
* Updated: Plugin version bump to 3.2.8.8.5
* Fixed: Core service date handling now follows the configured WordPress timezone and date format across order-online, checkout, order details, and receipts.
* Fixed: Closed-store order-online summaries now show the configured store closed message instead of being overwritten by a stale selected date.
* Fixed: Selected service date/time cookies now stay synchronized and no longer change the customer-selected schedule between listing, checkout, and confirmation views.
* Fixed: Service date/time selections are no longer cleared from cached old UI menu pages when a stale cart count is rendered.
* Fixed: Checkout now submits and saves the selected service date/time from the active checkout controls before falling back to cookies.
* Fixed: Cart-empty actions now clear the complete service selection cookie set to avoid stale confirmation data.
* Fixed: Old UI schedule popup now shows the resolved service date in core when no Store Timing date selector is injected.
* Fixed: Core service date and slot availability now use the WordPress timezone consistently
* Fixed: Future pre-order dates are no longer blocked by the current-day closed state when valid future slots exist.
* Fixed: Display-format service dates such as d/m/Y are parsed safely before slot and order validation.

= Version 3.2.8.8.1(2026-05-13) =
* Updated: Plugin version bump to 3.2.8.8.1
* Fixed: Delivery schedule now ignores stale/past service slots instead of falling back to unavailable times.
* Improved: Listing cart totals, submit button styles, plain-text button behavior, and checkout coupon field layout.
* Added: Cart sidebar fee render filter so extensions can own their own fee display rows.
* Fixed: Old UI modal enforcement now reopens service settings on add/checkout when delivery zip/address is invalid and blocks stale item-detail popup flow.
* Fixed: Cart summary change-link and helper tooltip now render only in Old RestroPress UI/UX mode and no longer leak into the default UI layout.
* Improved: Core frontend/admin API, export, tax, cart, and payment query handling touched in this patch for safer and more consistent request data processing.

= Version 3.2.8.8(2026-05-12) =
* Updated: Plugin version bump to 3.2.8.8
* Removed: Amazon Payments gateway and bundled Amazon payment libraries have been removed from core.
* Added: Core Stripe payment gateway with hosted Stripe Checkout, test/live API keys, webhook signing secret, and webhook endpoint instructions.
* Fixed: Core Stripe settings and gateway registration now show only when the separate RestroPress Stripe extension is inactive.
* Fixed: Core Stripe runtime payment handlers now disable when the RestroPress Stripe extension is active, preventing duplicate Stripe handling.
* Fixed: `[customer_dashboard]` login button now links to the RestroPress login shortcode page instead of the default WordPress login screen.
* Fixed: Old UI order-settings popup now keeps Store Timing extension date/time fields in the legacy stacked layout.
* Improved: Old UI order-settings date/time fields and Update action now follow the configured Default Button Style, including Plain Text behavior.
* Fixed: Mobile grid-view cart bar now stays sticky at the footer while scrolling instead of shifting to the top/right side.
* Code Cleanup

= Version 3.2.8.7(2026-05-09) =
* Updated: Plugin version bump to 3.2.8.7
* Fixed: Cart summary totals and fees now refresh reliably after AJAX cart, service, and gateway changes.
* Improved: Mobile cart, service modal, add-button, food-card, and customer-dashboard layouts across responsive breakpoints.
* Added: Frontend setting support to show or hide add buttons and trigger add flow from food-card clicks.
* Fixed: Food categories without `tax_position` metadata now stay visible in the admin category list.
* Added: Currency setting `Currency Value Type` with Round/Float options, defaulting to Float, and applied the selected value format across backend and frontend currency output.
* Added: Default Button Style now supports the new `Border Radius` option for frontend submit buttons.
* Fixed: `Plain Text` Default Button Style now makes frontend submit buttons behave like links with no background or border.
* Fixed: Frontend submit buttons now inherit the configured dynamic theme color and default button style, excluding food item Add buttons.
* Fixed: Checkout cart remove button now uses the configured dynamic color and displays a matching cross icon.
* Fixed: Checkout Place Order loader now centers inside the button while submitting.
* Improved: `[order_history]` shortcode output with a modernized order-history design, better load-more rows, and mobile responsive fixes.
* Improved: Customer dashboard profile, order list, saved-address, and account sections now stack and scale cleanly on mobile.
* Fixed: Confirmation page live order statuses now use the updated GIF set for accepted, pending, preparing food, delivered, delivery boy, cancelled, and ready statuses.
* Improved: Frontend section backgrounds, labels, links, dashboard controls, checkout panels, order-history cards, and receipt surfaces now inherit dynamic Theme Color tones.
* Fixed: Dynamic Theme Color CSS is now scoped to RestroPress frontend elements only, preventing WordPress theme, WordPress element, and third-party plugin color overrides.
* Code Cleanup

= Version 3.2.8.6.3(2026-05-02) =
* Updated: Plugin version bump to 3.2.8.6.3
* Added: Customer table now includes bulk actions to move customers to trash, restore trashed customers, or delete permanently.
* Added: Customer list now shows `All` and `Trash` views with status-aware row actions.
* Fixed: Deleting a customer now moves the customer to trash instead of permanently deleting by default.
* Improved: Customer notices now include move-to-trash and restore confirmations.
* Improved: Existing customer records with matching email are automatically restored when new orders are created for that email.
* Code Cleanup

= Version 3.2.8.6.2(2026-04-24) =
* Updated: Plugin version bump to 3.2.8.6.2
* Fixed: Food category drag-and-drop reordering now persists reliably on the admin categories list after refresh.
* Fixed: Prevented addon-category sorting scripts from attaching on food-category taxonomy screens and overriding reorder AJAX actions.
* Improved: Food-category admin ordering flow now consistently loads sortable assets, validates AJAX requests, and applies saved `tax_position` ordering.
* Updated: RestroPress docs links in admin/readme now point to the current docs URL.
* Code Cleanup

= Version 3.2.8.6.1(2026-04-14) =
* Updated: Plugin version bump to 3.2.8.6.1
* Security: Escaped `rpress_receipt` shortcode `error` output to prevent stored XSS payload execution.
* Security: Escaped Orders admin payment-history links generated from query arguments to prevent reflected admin XSS via crafted URLs.
* Code Cleanup

= Version 3.2.8.6(2026-04-10) =
* Updated: Plugin version bump to 3.2.8.6
* Fixed: Mobile/tablet order-online layout alignment for service buttons, search input, and summary row (date/time/Edit) rendering.
* Fixed: Checkout Place Order button now follows full input width for responsive views.
* Fixed: Checkout total row alignment to keep total label/amount consistent with form/button edges.
* Improved: Theme-color sync for service-type selected states and key checkout actions (including discount/apply and update actions).
* Improved: Quantity +/- controls in item popup now keep neutral background and hover behavior while using theme color on border/radius outline only.
* Fixed: Mobile list-view circle add button now keeps a perfect circular shape with centered icon rendering.
* Fixed: Checkout Delivery/Pickup tabs on mobile now maintain consistent tab height and full-width active background fill.
* Fixed: Sticky category overlap layering issue in list/grid navigation.
* Fixed: Admin orders list/count filters now stay synchronized (status, service type, and order status conditions).
* Fixed: Admin sidebar order badge and order counts now ignore deleted/trash records and count only valid `rpress_payment` posts.
* Fixed: Paid tab highlighting/count handling now correctly maps `paid` and `publish` states in order views.
* Fixed: List-view category navigation now lands on the correct selected category instead of showing previous-category items under the heading.
* Fixed: Mobile action-menu and horizontal category clicks now resolve to the correct section target and keep active-category states in sync.
* Improved: Category scrolling now uses dynamic sticky-header offsets for more reliable landing positions across desktop and mobile.
* Improved: Frontend `rp-frontend.js` enqueue version now includes filemtime to reduce stale browser-cache behavior during updates.
* Code Cleanup

= Version 3.2.8.5(2026-04-07) =
* Updated: Plugin version bump to 3.2.8.5
* Added: New admin setting `Old RestroPress UI/UX` to enable legacy service-selection modal flow before add-to-cart.
* Fixed: Service date/time updates now prioritize active modal/checkout selections before cookie fallbacks to prevent stale time overwrite.
* Fixed: Delivery/Pickup selection synchronization across modal and checkout refresh flows for both old and current UI paths.
* Added: New core helper `rpress_get_enabled_service_types()` and updated service enablement checks to honor configured service mode.
* Improved: REST services endpoint now returns only enabled service types.
* Fixed: Removed duplicate PayPal helper declarations in `paypal-standard.php` to prevent fatal redeclare errors.
* Fixed: Old UI service popup now guarantees a visible active tab/pane and no longer hides selected service label text behind legacy overlay pseudo-elements.
* Fixed: Checkout service selector now expands to full width when only one service type is enabled.
* Improved: Old UI service popup controls now use consistent rectangular styling with aligned full-width fields and buttons.
* Improved: Old UI popup service date/time labels now align left and date/time inputs show calendar/clock icons consistently.
* Improved: Old UI service-tab and popup action colors now follow the configured Theme Color dynamically.
* Improved: Old UI popup visual overrides are now strictly scoped to old UI mode and no longer impact the default popup UI.
* Improved: When Old UI/UX is disabled, the default datetime popup hides service-type tabs and keeps the primary Update action color synced with Theme Color.
* Code Cleanup

= Version 3.2.8.4.1(2026-04-06) =

* Fixed: PayPal checkout/connect redirects now allow PayPal hosts in WordPress safe redirects to prevent fallback redirect to wp-admin.

= Version 3.2.8.4(2026-03-28) =
* Updated: Plugin version bump to 3.2.8.4
* Fixed: Checkout gateway state now keeps hidden `rpress-gateway` synced with selected payment mode during gateway switch and final submit.
* Fixed: Hardened direct DB query paths with prepared/typed placeholders in customer, discount, session, payment, tax, and stats handlers.
* Fixed: Reworked dynamic `IN (...)` query construction to sanitized array + placeholder flow for scanner-safe SQL execution.
* Fixed: Removed unescaped `payment_ids` usage in customer-user disconnect flow and enforced integer-only payment IDs before update query.
* Fixed: Replaced transient/session batch delete raw SQL assembly with prepared option-name placeholder queries.
* Fixed: Updated legacy earnings/tax aggregation queries to prepared statements for safer post ID handling.
* Fixed: Updated discount status cleanup bulk updates to prepared integer placeholder queries for posts/postmeta.
* Fixed: Updated yearly tax/earnings aggregate query paths to prepared statements in tax and payment stats/functions.
* Security: Addressed latest PluginCheck `DirectDB.UnescapedDBParameter` findings reported in March 28 security scan.
* Security: Continued hardening for redirect and DB static-analysis warnings without changing frontend UX/UI behavior.
* Maintenance: Synced release notes with internal `CHANGELOG_DEV.md` tracked fixes for faster future follow-up.
* Fixed: Mobile and tablet food listing layout now keeps cart access visible and usable without scrolling to page bottom.
* Fixed: Sticky mobile cart summary now updates quantity/total reliably on add, update, remove, and clear-cart AJAX actions.
* Fixed: Checkout page responsive structure now stacks service/cart/form sections correctly across tablet and mobile widths.
* Fixed: Checkout mobile/tablet flow now keeps the cart/service panel above the form section for quicker cart visibility.
* Fixed: Category strip now renders in a stable single-row pattern with horizontal overflow handling in both list and grid modes.
* Fixed: Grid view category-strip wrappers now follow the same inline/scroll behavior as list view.
* Fixed: Category popup trigger layering conflict introduced by one-line strip styling, so menu popup opens reliably again.
* Fixed: Category strip now remains sticky while scrolling and respects WordPress admin-bar offsets.
* Improved: Mobile/tablet category and sticky-cart spacing/position tuning for cleaner ordering UX.
* Code Cleanup

= Version 3.2.8.3(2026-03-26) =
* Updated: Plugin version bump to 3.2.8.3
* Fixed: Delivery/Pickup summary date now always follows WordPress date format across listing, popup, and checkout.
* Fixed: Summary date/time now syncs immediately from modal selection and keeps formatted output after refresh.
* Fixed: Checkout and modal date/time/location fields now use full-width responsive controls.
* Fixed: Closed-state summary now hides invalid date/time and prevents stale Edit exposure for invalid schedule states.
* Fixed: Add-to-cart popup no longer opens when service is closed; close notice is shown instead.
* Improved: Open-store flow now always exposes Edit so customers can update schedule quickly.
* Improved: Summary location icon UI modernized with animated glow pulse for clearer branch indicator.
* Added: "Change location" quick link in closed branch state to reopen schedule popup and switch branch directly.
* Security: Hardened customer dashboard profile update with strict nonce presence and verification to mitigate CSRF account-update attempts.
* Security: Replaced inline dashboard post-submit JavaScript redirects with `wp_safe_redirect` to prevent reflected redirect/XSS injection vectors.
* Security: Sanitized REST order/cart text payloads and escaped admin delivery-address rendering to mitigate stored XSS vectors (CVE-2025-69017 path).
* Code Cleanup

= Version 3.2.8.2(2026-03-25) =
* Updated: Plugin version bump to 3.2.8.2
* Fixed: Grid view responsive layout issues for tablet widths (770px to 991px) to prevent half-width/broken food cards
* Fixed: Listing service summary row structure and icon hooks for cleaner location/date-time/Edit alignment
* Improved: Date-time edit popup heading/content structure for clearer schedule update flow
* Code Cleanup

= Version 3.2.8.1(2026-03-23) =
* Updated: Plugin version bump to 3.2.8.1
* Fixed: Add-to-cart address/zip validation now runs only for Delivery service, so Pickup with a selected branch no longer triggers unnecessary force-popup flow.
* Fixed: Core datetime popup now renders service date controls before service time controls for consistent ordering across service switches.
* Fixed: Food item popup now displays full item description content without 2-line truncation.
* Fixed: Service-switch modal refresh now updates only the listing service summary and no longer overwrites popup address controls.
* Improved: Delivery/Pickup service summary row keeps location, date/time, and Edit action aligned inline for consistent tab-row UI.
* Improved: Delivery schedule popup structure/copy refinement for clearer service-edit flow without UX regressions.
* Improved: Elementor builder shortcode detection for checkout and RestroPress page checks (supports `_elementor_data`)
* Fixed: Stale modal/overlay lock state that could block clicks on Order Online and Checkout pages
* Fixed: Datetime edit action now falls back to legacy service-options popup when datetime modal markup is unavailable
* Improved: Missing service-time flow opens service selection directly instead of showing empty closed-message error toast
* Fixed: Category scroll handler safety checks for invalid links/sections to avoid frontend JS interruptions
* Security: Hardened add-on license AJAX actions with capability checks and strict option-key validation
* Security: Restricted API token generation endpoint access to authenticated users with valid user-edit permissions
* Security: Replaced weak time-based API/cart token generation with cryptographically secure random tokens
* Security: Removed internal remote token-generation request path and now generates signed user API tokens locally
* Fixed: Default Services setting now applies correctly when Choose Services is set to Both Delivery and Pickup
* Fixed: Single-service mode (Delivery Only/Pickup Only) now always enforces the enabled service and ignores default-service fallback
* Improved: Elementor builder compatibility for checkout and RestroPress page detection by scanning saved `_elementor_data` shortcode content
* Fixed: Stale frontend modal/overlay lock state that could block clicks on Order Online and Checkout pages
* Fixed: Datetime edit flow now falls back to legacy service options popup when datetime modal markup is unavailable
* Improved: Missing service-time flow now opens service selection directly instead of showing blank/empty closed-message toast
* Fixed: Category scrolling handler now safely skips invalid links/sections to prevent frontend JS interruptions

= Version 3.2.8(2026-03-13) =
* Updated: Plugin version bump to 3.2.8
* Updated: Readme metadata and changelog synchronization
* Fixed: Service type, date, and time state now stay synchronized across order-online, popup, and checkout flows
* Fixed: Datetime edit popup now keeps the Update action available when service timing controls are editable
* Fixed: Shared service context now validates store-open state against the normalized service date to avoid mismatched closed messages
* Improved: Frontend service-state handling cleanup without UI or UX changes
* Fixed: Vulnerabilities issues
* Code Cleanup

= Version 3.2.7(2026-03-09) =
* Fixed: Protected add-on item setup and price mappings from being overwritten during legacy migration
* Fixed: Legacy add-on migration now runs only when true legacy data is detected
* Fixed: Migration guard added for modern versions (`>= 2.6`) to prevent unintended migration reruns
* Improved: Legacy migration now fills missing add-on meta safely without replacing existing term price/type values
* Code Cleanup

= Version 3.2.6(2026-03-04) =
* Fixed: Checkout service time restore now targets the active service tab and no longer overwrites both delivery and pickup selects with a single cookie value
* Fixed: Core slot-expiry validation now runs only when Order Time Intervals and Limits runtime is loaded, preventing false "Selected time slot is no longer available" errors when the addon is inactive
* Fixed: Store open/close validation now supports both 12-hour and 24-hour time formats and handles overnight windows reliably
* Fixed: "Enable Always Order Option" is now the only path that keeps the store open all day, and equal open/close values no longer behave like always-open
* Fixed: Frontend store status checks now match core validation to prevent false midnight "store open" behavior
* Fixed: Early translation loading notice issues
* Fixed: Gateway initialization flow for translation compatibility
* Fixed: PHP warning/deprecated compatibility issues
* Fixed: PayPal Connect OAuth redirect/auth flow for one-click account connection
* Fixed: PayPal account details sync and merchant account display in gateway settings
* Fixed: PayPal Standard checkout payload/merchant validation stability in sandbox mode
* Fixed: Sandbox PayPal checkout errors by adding safe test-mode currency fallback for unsupported INR flows
* Fixed: Add-to-cart button alignment at thumbnail bottom-center for all button shapes
* Fixed: Grid view card layout issues for food items without thumbnail images
* Fixed: Grid view spacing/alignment issues for food items without thumbnail and description
* Added: Modern ecommerce-style order confirmation page layout (without functional regressions)
* Added: Realtime order status updates on confirmation page (websocket-first with fallback support)
* Added: Status-specific animated GIF support for confirmation status block
* Added: Browser push notifications for order status changes (including cross-page watcher support)
* Added: Auto-clear order tracking for completed/cancelled/failed statuses with final notification
* Added: Guided Realtime Updates settings section under Misc for easier websocket setup
* Improved: Realtime configuration now supports admin settings with backward-compatible constant fallback
* Fixed: Service time is now hidden across frontend views when disabled from Order Time, Interval & Limits settings
* Fixed: Empty service-time rows are removed from receipt and order details templates when no service time is available
* Fixed: Order Online header now shows selected service time correctly when slots are enabled, while still respecting disabled-time settings
* Fixed: List view Order Online header now keeps service-time visible using selected-time fallback when cookie time is empty
* Improved: Service context now safely clears disabled service-time values before template rendering
* Code Cleanup

= Version 3.2.5(2026-02-26) =
* Added: Taxonomy sorting feature
* Fixed: Cart items count issue
* Fixed: Cart item quantity update issue
* Fixed: Service type switch issue
* Fixed: Blank cookies data validation
* Fixed: Ajax basis modal dom manipulation
* Code Cleanup


= Version 3.2.4.2(2025-11-29) =

* Fixed: Css and js loading version 
* Fixed: Removed unrequired service type label
* Fixed: Category scrolling issue

= Version 3.2.4(2025-11-28) =

* Fixed: gmdate() issue conflict issue
* Fixed: Category menu button issue
* Fixed: Builder and theme compatibility issue
* Fixed: PHP version 8.2 compatibility issue
* Fixed: Discount coupon, setting option save issue 
* Code optimized and cleanup

= Version 3.2.3.7(2025-11-20) =
* Fixed: REST API authorization issue
* Fixed: Category menu text issue
* Fixed: Store timing time slot issue 
* Added: Mobile menu enable/disable option
* Fixed: Sticky bar, item count issue for mobile view
* Fixed: Date Time format issue

= Version 3.2.3.6(2025-11-17) =
* Fixed: Store timing pre-order issue
* Fixed: Textdomain issue
* Fixed: Dinein service type issue
* Fixed: XSS security issue 

= Version 3.2.3.5(2025-11-12) =

* Fixed: Category menu button issue
* Fixed: Builder compatibility issue
* Code cleanup

= Version 3.2.3.4(2025-11-10) =
* Updated: Category menu button for mobile view
* Fixed: double close message issue
* Fixed: Delivery fee extension compatibility issue
* Fixed: Default time order time setup issue
* Fixed: XSS security issue
* Code cleanup

= Version 3.2.3.3(2025-11-09) =
* Fixed: Float price value issue
* Code Cleanup

= Version 3.2.3.2(2025-11-07) =
* Fixed: License key activation issue
* Fixed: Store close message issue
* Fixed: Addon quantity Compatibility issue
* Code Cleanup


= Version 3.2.3.1(2025-10-27) =
* Added: Dinein table info added in order details
* Fixed: Item popup extra space issue
* Fixed: Escape html issue 
* Fixed: Default gateway save issue 

= Version 3.2.3(2025-10-22) =
* Fixed: Store time extension compatibility issues
* Added: Disable category option
* Code cleanup

= Version 3.2.2.2(2025-10-16) =
* Fixed: Report section design issue
* Fixed: Dashboard section design issue
* Code Cleanup

= Version 3.2.2.1(2025-10-15) =
* Fixed: Add button design issue
* Code Cleanup

= Version 3.2.2(2025-09-25) =
* Fixed: Security issues fixed
* Code Cleanup

= Version 3.2.1(2025-09-25) =
* Fixed: Default service type validation
* Fixed: Validate the empty address or zip code for delivery fee extension or multilocation extension.
* Updated: Set a default color value for the required setting option
* Fixed: Service type background color issue
* Fixed: Double email trigger issue for customers
* Fixed: Closing hour issue
* Fixed: The default time value issue

= Version 3.2(2025-09-23) =
* Updated: New UI design implemented
* Added: Add to cart button style option
* Added: New button style option
* Updated: Email template new design implemented
* Fixed: Addon price reset issue on version update
* Added: Predefined service type feature implemented
* Added: Welcome setup widgets

= Version 3.1.9.2(2025-08-04) =
* Added: Dinein service type hook
* Added: A New filter has been added to manage the pickup time slots
* Fixed: Order service time issue fixed
* Fixed: Service type option design and responsive issue fixed
* Added: Firebase FCM implemented for restropress pos

= Version 3.1.9.1(2025-06-13) =
* Fixed: Minor bug issue

= Version 3.1.9(2025-06-12) =

* Added: Abandoned payment status
* Added: Import/Export option directly on the food items screen
* Updated: UI for the extensions page
* Fixed: Variable product issue for order edit screen
* Fixed: Subtotal calculation after changing product price on order edit screen
* Fixed: Addon price update issue for variable products on the order edit screen
* Fixed: UI issues on order edit screen
* Fixed: Security issue with reorder option on the user's order list

= Version 3.1.8.4(2024-12-03) =
* Fixed: Inclusive Tax calculation issue

= Version 3.1.8.3(2024-11-27) =
* Added: Addon Minimum selection feature
* Fixed: discount code issue for specific categories
* Fixed: Dashboard total sales value decimal conversion issue

= Version 3.1.8.2(2024-10-03) =
* Fixed: Dashboard horizontal bar issue
* Fixed: Addon update issue for variation items
* Fixed: Security issues
* Code cleanup

= Version 3.1.8.1(2024-09-18) =
* Fixed: Discount code fatal error issue
* Code cleanup
= Version 3.1.8(2024-09-16) =
* Fixed: "ASAP" translation issue
* Fixed: Email receipt link error
* Fixed: Safari browser compatibility issue
* Fixed: Discount code calculation issue in Percent and Flat mode
* Added: Updated restropress Rest Api
* Updated: Order details Data in the admin dashboard

= Version 3.1.7(2024-06-07) = 
* Fixed: Category-based shortcode issue
* Fixed: Safari browser compatibility issue for ASAP option
* Fixed: PayPal gateway failed status issue

= Version 3.1.6(2024-06-03) = 
* Added: Cheaper item discount feature
* Fixed: Discount code calculation issue for paypal gateway
* Fixed: bulk checkbox selection issue 
= Version 3.1.5.4 (2024-05-27) = 
* Fixed: Update notification issue for restropress extensions
* Fixed: Code cleanup

= Version 3.1.5.3 (2024-05-25) = 
* Fixed: Code optimized
* Fixed: Notice and warning errors removed

= Version 3.1.5.2 (2024-05-23) = 
* Fixed: Security warning errors.

= Version 3.1.5 (2024-05-03) =
* Fixed: Errors removed
* Code optimized

= Version 3.1.4 (2024-04-10) =
* Fixed: Security errors
* Fixed: Bulk delete issue
* Code Cleanup

= Version 3.1.3 (2024-03-27) =
* Fixed: Required sanitizations added
* Code cleanup

= Version 3.1.2.2 (2024-03-16) =
* Fixed: XSS security issues
* Code cleanup

= Version 3.1.2.1 (2024-03-09) =
* Fixed: Status update security issue
* Code cleanup

= Version 3.1.2 (2024-03-06) =
* Added: Order id prefix and postfix added for the user dashboard
* Added: ASAP time limit option added as per the specific service type
* Added: Lost password link added for checkout section login form
* Added: Saved address option added for customer dashboard
* Added: Default address implemented in checkout page
* Added: Item not found image added for admin best selling section
* Updated: Admin dashboard customer pie chart color design
* Fixed: Customer registration issue fixed
* Fixed: Admin dashboard export report CSS issue fixed
* Fixed: Correct div format implemented for best selling product

= Version 3.1.1.1 (2024-03-02) =
* Fixed: Variable item double pricing issue 
* Fixed: Admin dashboard best selling product description issue 
* Code cleanup

= Version 3.1.1 (2024-03-01) =
* Fixed: Admin dashboard dynamic currency sign issue fixed
* Fixed: Warning error issue
* Updated: Load all available orders on User Dashboard

= Version 3.1 (2024-02-29) =
* Added: Admin dashboard
* Added: User dashboard
* Added: Reorder feature
* Added: Service-based discount
* Added: RestroPress POS new endpoints 
* Fixed: Checkout page input field validation issue
* Fixed: Place order button disable issue

= Version 3.0.0 (2024-01-05) =
* Fixed: Excluding tax issue.
* Fixed: Double tooltip issue.
* Fixed: PayPal payment issue.
* Fixed: Addons, categories, and variable items Import/Export issue.
* Fixed: Remove button of new category addon add issue.
* Fixed: Addons pricing issue.
* Updated: Instruction update to save variable pricing before adding addons.
* Added: Rest API Added can be found more details on <a>https://docs.restropress.com/docs/rest-api/authentication/ </a>

= Version 2.9.8 (2023-11-17) =
* Fixed: "Store timing and delivery cutoff extension" current day holiday issue.
* Fixed: Auto-update state list as per the selected country issue for checkout billing form.
* Added: Blur section and warning message added for checkout page until payment completion.

= Version 2.9.7 (2023-09-15) =
* Fixed: PayPal live transaction issue "payment status is showing as failed even if customer has paid successfully"
* Fixed: Cart cookie data clear issue after making the cart empty by removing items
* Updated: Correct URL path "PayPal Identity Token" docs
* Updated: Required columns for food items CSV
* Updated: Show selected item variable name in receipt
* Added: "Enable always order option" setting to make open the store for 24/7 hour
* Added: Short code format to make exclude categories

= Version 2.9.6 (2023-04-05) =
* Fixed: Deprecated issue with PHP version 8.1.9
* Fixed: Inclusive tax issue calculation issue for cart section
* Fixed: Currency sign position issue for popup "add to cart" button
* Fixed: Negative price validation issue for variables and addons
* Fixed: Text input validation for addon price input field
* Updated: Tips column added for order history reports CSV

= Version 2.9.5 (2022-12-12) =
* Fixed: Issue when user not able to make payment with Stripe payment method
* Fixed: Tooltip text for payment extension page
* Fixed: Admin dashboard export reports issue with variable food items
* Fixed: Admin dashboard best selling product CSS issue
* Updated: Include service type as a mandatory input for order history CSV

= Version 2.9.4 (2022-09-15) =
* Fixed: Variable price saving issue
* Fixed: Tooltip text for menu add new popup
* Fixed: Admin dashboard report and sales chart for variable food items
* Updated: Login/Registration form
* Updated: Default variable item image

= Version 2.9.3 (2022-06-12) =
* Fixed: Security issue with HTML injection
* Fixed: Compatibility issue with WooCommerce
* Updated: Documentation link added for "API Key" on admin settings

= Version 2.9.2 (2022-02-15) =
* Fixed: Issue with auto database update
* Fixed: Tax calculation issue
* Fixed: Receipt page CSS issue
* Fixed: Admin settings issue with API Key
* Updated: Order confirmation page template

= Version 2.9.1.1 (2022-05-12) =
* Fixed: Single addon selection issue
* Fixed: Order filter issue in the admin section

= Version 2.9.1 (2022-05-04) =
* Fixed: List view food items page design issue fixed
* Minor code cleanup

= Version 2.9 (2022-05-03) =
* Added: Food items category reorder feature
* Added: ASAP feature added
* Added: Option to filter orders by service type
* Added: Option to filter orders by order status
* Added: Option to switch the view of food items layout to Grid layout
* Added: Option to disable categories menu on the frontend
* Added: Adding live search button for admin extensions section
* Added: Filter feature to get activated extensions
* Added: Accounting settings section to set sequential order numbers, SKU, etc.
* Added: Customer email, service type, service time, delivery address, and order instructions on the order history export report
* Fixed: Date filter issue for orders
* Fixed: Discount coupon-related issues
* Fixed: Extensions price display issue in admin section
* Fixed: Export order history issue for all statuses
* Minor code cleanup

= Version 2.8.5 (2021-10-30) =
* Fixed: Subtotal display problem on food item page
* Fixed: Total amount issue on the checkout page
* Fixed: Issue with fee calculation when switching delivery/pickup option on the checkout page
* Fixed: Tax calculation on the order confirmation page
* New: Ability to re-arrange addons by drag & drop
* New: Added select all option for add-ons
* Fixed: Issue with the default checkbox on the add-on
* Updated: Variation label for simple products
* Updated: Print receipt text/design
* Minor code cleanup
* Fixed: Issue with child add-ons during import
* Misc enhancements

= Version 2.8.4 (2021-08-09) =
* Added: Print receipt option to print orders from the dashboard
* Added: Pending order count on orders menu
* Updated: Migration script
* Fixed: Admin settings issues

= Version 2.8.3.2 (2021-07-20) =
* Fixed: Add-on save Issue
* Fixed: Payment history export issue
* Updated: Ajax validation update

= Version 2.8.3.1 (2021-07-15) =
* Fixed: Ajax issue for orders
* Fixed: Admin settings issue

= Version 2.8.3 (2021-07-10) =
* Fixed: Security issues
* Removed unused files
* Updated js/css files with latest version
* Removed restropress bootstrap js/css
* Removed admin setting for bootstrap option

= Version 2.8.2 (2021-05-31) =
* Fixed: Subtotal issue with the variation and multiple add-ons.
* Fixed: Decimal point issue on Add to cart button.
* Fixed: Email order receipt issue.
* Cleared cart text update.

= Version 2.8.1 (2021-05-23) =
* Added: Option to set an add-on as default
* Updated: Decimal point option
* Updated: Allowed HTML on item names
* Fixed: Responsive view issues
* Fixed: Tax calculation issues
* Fixed: Email receipt calculation issues
* Fixed: Pick-up time issue on cart
* Minor code cleanup

= Version 2.8 (2021-04-30) =
* Updated: The layout of the order history page
* Updated: Extensions-related hooks
* Updated: Store Address on order confirmation page
* Updated: Service type on checkout page
* Updated: Buttons loader added
* Updated: Purchase receipt template updated
* Fixed: fooditem_cart shortcode issue
* Fixed: Addon price on tax calculation issue
* Fixed: Category filter on item search issue
* Fixed: Discount amount calculation issue
* Minor code cleanup

= Version 2.7.2.1 (2021-02-07) =
* Fixed: Extension licensing issues.
* Fixed: Issues with discount code calculation.

= Version 2.7.2 (2021-02-04) =
* Fixed: Empty service type/date/time issue.
* Fixed: Update notification for the extensions.
* Fixed: Issues with required and max selection option.
* Fixed: Issue with discount calculation.
* Updated: Admin veg/non-veg option to allow developers to add new option if needed.
* Updated: Extensions page layout.
* Minor code cleanup.

= Version 2.7.1 (2021-01-18) =
* Fixed: Issue with resend receipt option on order screen.
* Fixed: Design issue with mobile cart.
* Fixed: Issue with preparation time.
* Minor code cleanup.

= Version 2.7 (2021-01-14) =
* Updated: Theme color option to specify color using color picker.
* Updated: UI of the food items page.
* Added: Option to mark the addons as required.
* Added: Option to set maximum allowed selections for addons.
* Added: Option of setting different prices to addons on variable food items.
* Fixed: Issue with preparation time.
* Fixed: Price calculation issue on order edit screen.
* Minor code cleanup.

= Version 2.6.3.2 (2020-12-02) =
* Fixed: Email content issue.
* Fixed: Customer name association issue.
* Fixed: Issue with reports and export.
* Minor code cleanup.

= Version 2.6.3.1 (2020-10-22) =
* Fixed: trailing comma issue.

= Version 2.6.3 (2020-10-21) =
* New - RestroPress admin option to set your Food Items page. This will avoid broken pages where the pages were created using page builders in some cases.
* New - Added active class to category sidebar based on currently visible category.
* Update - Addons will maintain the order as they are arranged in admin.
* Fixed - Cart item was showing wrong quantity value if it was added multiple times.
* Fixed - Email notifications were sent for wrong statuses.
* Fixed - Order email showing wrong value of subtotal.
* Fixed - Order confirmation email to admin were not sent under some conditions.
* Fixed - Live price calculation was wrong while editing an cart item.
* Fixed - Translatable text for Service Settings text with data sanitization.
* Update - RestroPress documentation link updated for Help Tab.
* Update - Other multiple code optimizations.

= Version 2.6.2 =
* New - Live price change on Variable Price or Addon Selection.
* Update - Filter added to search orders with specific service date.
* Fixed - 3x slower time with certain paid extensions has been fixed now.
* Fixed - RestroPress assets affecting Non RestroPress Pages performance.
* Fixed - Optimized CSS and JavaScripts files to enhance performance.
* Fixed - Addons not getting selected while editing cart item.
* Fixed - Modal windows not opening in Bootstrap 4 themes.
* Fixed - Issue with exporting orders report.
* Fixed - Discount value mismatch in order notification emails.
* Fixed - Discount calculation considering chosen addon items.

= Version 2.6.1 =
* Fixed fooditem quantity issue
* Fixed translation issue
* Fixed tax calculation issue on fees.
* Fixed order count issue.
* Fixed food item display issue on the order details page.
* Added selected variation name in the emails and order details.
* Added food item description in the popup.
* Added option for minimum order amount for pickup.

= Version 2.6 =
* Added variable pricing for food items.
* Added Email notifications based on different order statuses.
* Added filter for updating Order and Payment status color codes.
* Updated Tax options.
* Updated billing fields to have the option to enable/disable on tax settings.
* Updated the Add/Edit food item page with item data tabs.
* Updated admin order listing UI and functionality.
* Fixed Email Tags and Labels for Tax.
* Added category menu on mobile.
* Code optimized for faster checkout.
* UI improvements throughout the frontend and admin screens.
* Fixed discount code functionalities.

= Version 2.5.3 =
* Updated order confirmation page template.
* Updated food item list email tag.
* Fixed issue with search box.
* Checkout page css fixes.

= Version 2.5.2 =
* Updated food items page ui and responsive fixes.
* Updated checkout page responsive issues.
* Removed disable guest checkout option in favour of Login/Register option under checkout options.
* Fixed date issue based on different timezones.
* Fixed subtotal related issues.

= Version 2.5.1 =
* Added new bulk actions for orders.
* Fixed admin order status column translation issue.
* Fixed time slot issue.
* Fixed bulk payment status change issue.

= Version 2.5 =
* Admin menu split into two parts.
* Added missing translation strings to be translatable.
* Added validation methods to the checkout page.
* Added guest checkout option.
* Updated admin templates loading method.
* Updated PayPal standard payment gateway.
* Updated checkout address fields.
* Update email content and tags.
* Cleaned unnecessary admin options.
* Fixed issue related to order date.
* Fixed issue with the delivery text translation.
* Fixed date translation issue.
* Fixed email tag issue with delivery/billing address.
* Fixed add-on quantity on quick-view popup.

= Version 2.4.1 =
* Added validation for time slot checking on proceed to checkout.
* Code cleanup & admin updates.
* Fixed admin service date issue.
* Fixed plugin conflict issues.

= Version 2.4 =
* Updated order history screen to display additonal columns.
* Added option to quick view the order details.
* Added new order statuses.
* Fixed minimum order issue with tax and fees.
* Fixed modal backdrop issue.
* Fixed modal not opening issue.
* FIxed issue with cart item edit.
* Fixed tax column issue on checkout.

= Version 2.3.5 =
* Fixed update cart items issue
* Fixed food items issue in the order history
* Fixed backdrop issue
* Added functionality for orders quick view

= Version 2.3.4 =
* Fixed date issue on the order confirmation page.
* Fixed issue with order pickup/delivery time dropdown.
* Updated delivery/pickup at text on cart/checkout pages.

= Version 2.3.3 =
* Fixed issue with tax calculation with fee.
* Updated total/subtotal/fee position.
* Fixed issue with address hide option on pickup.
* Fixed issue with cart breaking in some themes.
* Added special instructions to the fooditem_list email tag.

= Version 2.3.2 =
* Fixed addon price calculation issue when using fee
* Fixed discount code issues
* Fixed fooditems count issue in discount
* Updated fooditem single to be not accessible by public
* Updated push notification to show after payment
* Updated free purchase to test payment
* Updated fooditem category column to display food items
* Updated checkout page cart to display subtotal
* Minor css optimisation
* Added nl_NL translation.

= Version 2.3.1 =
* Fixed extra div issue for popup
* Fixed backdrop issue on closing popup
* Functionality to show delivery date in the cart

= Version 2.3 =
* Fixed issue for the map_meta_cap in checkout page
* Added order_id in the email tag
* Fixed order_note email tag
* Added parameters to [fooditems] shortcode
* Added {service_type}, {service_date}, {payment_status} variables in the order push notifications

= Version 2.2.4 =
* Fixed bootstrap theme compatibility issue
* Fixed flat number and phone email tag issue
* Replaced addon category column with food categories on fooditem page
* Fixed backdrop issue for the modal
* Added option to have 24hr store time format

= Version 2.2.3 =
* Fixed order status filter issue

= Version 2.2.2 =
* Added order note functionality
* Added email tag for order note

= Version 2.2.1 =
* Fixed delivery address for online payment gateways

= Version 2.2 =
* Fixed responsive design issue
* Fixed customer delivery address issue
* Added order status
* Fixed currency issue for email tag
* Fixed payment status when payment is done
* Fixed delete icon issue from checkout page
* Fixed delivery date issue

= Version 2.1 =
* Updated responsive design
* Added sliding cart for mobile devices
* Added option to set order prep/cooking time
* Added option to set store closed message
* Fixed the time dropdown for pickup and deliery
* Updated plus(+) icon to ADD button.

= Version 2.0.9 =
* Fixed address field in the checkout page
* Fixed address email tag in the mail tag list
* Fixed translation issue for the service type
* Fixed translation issue for the checkout fields

= Version 2.0.8 =
* Fixed issue with addon food category in the email receipt
* Fixed issue with special instruction in the email receipt
* Fixed delivery address email tag for email receipt
* Fixed multiple email when using cash on delivery payment gateway

= Version 2.0.7 =
* Fixed issue with store delivery hours
* Fixed email tag issue for service_type
* Fixed email tag issue for service_time
* Added email tags list in the admin screen

= Version 2.0.6 =
* Fixed issue with settings submenu
* Fixed issue with store open time and close time
* Added settings hook for notification

= Version 2.0.5 =
* Fixed issue with string offset notice with WordPress version 5.3
* Fixed issue with no food items found message
* Fixed issue with Gutenberg error
* Fixed issue with default store open and close time
* Fixed addon page css

= Version 2.0.4 =
* Fixed empty cart message
* Added email tags for service time {service_time} and service type {service_type}
* Added shortcode for showing fooditems by category wise
* Fixed store timings
* Updated admin settings
* CSS and js optimized
* Fixed issue for total costs on payment gateway
* Code optimized.

= Version 2.0.3 =
* Fixed bugs with the price calculation.
* Fixed issue with add-on price.
* Fixed remove cart item reload issue.
* Disabled past time display on dropdown of pickup/delivery time.
* Updated delivery/pickup time options on admin.
* Updated categories display.
* Updated cart layout.
= Version 2.0.2 =
* Fixed issues with push notifications.
* Fixed issues with emails.
* Fixed subtotal calculation issue.
* Fixed discount calculation issue.
* Fixed problems with checkbox/radio options.
* Fixed issues with the image popup display.
* Updated to automatically create the food items page.
* Updated admin settings.
* Added option for to add sound to push notifications.
= Version 2.0.1 =
* Fixed popup z-index issue
* fixed template part issue for before and after food items
* Added prefix rp for bootstrap classes
* Added option to open the food image in lightbox.
* Removed the view option from admin food items
* Removed the view option from admin add-on category
* Removed view option from admin food category
* Fixed cart shortcode template issue
* Added delivery hours hooks for the add-on
* Renamed food item add-on category into add-on category
* Added option to choose if you want to disable the bootstrap files of the plugin.
* Fixed email template issue when order is placed
= Version 2.0 =
* Changed checkout layout
* Changed quantity box design
* Fixed CSS issues
* Fixed option for color theme
* Js modified for change delivery options
* Added the add-ons page in the admin
= Version 1.0.7 =
* Fixed email issue when order was placed
* Fixed store open hours issue
* Replaced Bootstrap modal with fancybox
* Fixed responsive issues
* Styles and script modified.
= Version 1.0.6 =
* Discount code functionality added.
* Minimum order price option added.
* Option to use Google address autocomplete on the checkout page.
* Modified process to ask for pickup or delivery before adding item to cart.
* Cash on delivery method added in the payment gateway
* Fixed the issue with the address in the order history
* Design fixes.
= Version 1.0.5 =
* Payment gateway link modified
* Minor code optimized
= Version 1.0.4 =
* Fixed CSS conflict issue with the theme
* Fixed JS issues
* Optimized code
* Fixed template override method
* jQuery live search for food items implemented
* Checked plugin compatibility with different themes
* Removed slug generation from food items custom post type
= Version 1.0.3 =
* Added loader in pop-up when Ajax calls
* Style fixed for the checkbox
* Added label for delivery options
* Added heading for delivery time selection
= Version 1.0.2 =
* Fixed issue with currency option in add-on food items.
= Version 1.0.1 =
* Fixed design issues.
* CSS modified
* JS issue fixed
* Bugs Fixed
= Version 1.0 =
* Initial public release.


== Upgrade Notice ==

= 3.4.4 =
Maintenance release resolving pending order count badge object cache invalidation, AJAX recount class auto-loading, trash item deletion, store timing pre-order compatibility, and checkout time cookie persistence.

= 3.4.3 =
Maintenance release resolving legacy service selection modal transitions, empty cart cookie clearing, and timezone-agnostic order creation timestamp calculations.

= 3.4.2 =
Maintenance release wrapping all hardcoded strings in registration, cart, category navigation, dashboard, and email templates with restropress text domain for full translation readiness.

= 3.4.1 =
Maintenance release resolving percentage discount precision with comma decimal separators, mobile checkout terms checkbox visibility, service type switching on checkout, and storefront error banner styling.

= 3.4 =
RestroPress 3.4 is the "open the door" release featuring storefront template packs, free configuration for delivery fees and store hours, Gutenberg blocks, PHP 8.x compatibility, Weglot URL translation redirection compatibility, and full localization support for login, registration, forgot password, and minimum order validation forms.

= 3.3.2 =
Fixes checkout page cart removal breaking when the last item is removed from the cart.

= 3.3.1 =
Minor update fixing live orders page sound overlay being unable to close/dismiss on live production sites when browser autoplay blocks audio.

= 3.3 =
A major update: a guided setup wizard with AI menu import, a real time Live Orders board, a redesigned Dashboard and Orders screen, a built-in Sold Out toggle, dietary labels on your menu, and faster Reports. "Food Items" is now labelled "Menu Items" throughout the admin (your links, shortcodes, and data keep working). Please back up your site before upgrading.

= 3.2.8.8.6 =

= 3.2.8.8.1 =
Please backup your website before upgrading to the latest version.

== License ==
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
For full details, please visit http://www.gnu.org/licenses/gpl-2.0.html
For more information and support, visit the [RestroPress website](https://www.restropress.com/).
