=== Verdero - Restaurant Online Ordering ===
Contributors: verdero
Tags: restaurant, food ordering, food menu, food delivery, restaurant menu
Requires at least: 6.8
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Online ordering for food businesses: build a menu, set the days you deliver and take pickups, and process orders through WooCommerce.

== Description ==

Verdero turns a WordPress site into an ordering system for a restaurant, cafe, bakery, or any local shop that takes orders for pickup or delivery.

Add your dishes as products, arrange them into a menu layout, choose the days you deliver and the days you take pickups, then work through the orders as they arrive on a live order screen. Checkout runs on WooCommerce, so any gateway it supports works here, and Verdero takes no cut of a sale.

= What's included =

* **Menu layouts** - Grid or list layouts for your dishes, dropped onto a page with a block or a shortcode.
* **Pickup and delivery days** - Choose the days you offer each service, per delivery zone, with a fee where you need one.
* **ASAP orders, lead time and preorder days** - Give yourself a day or more of prep time, and control how far ahead people can order.
* **Holiday scheduling** - Close specific dates or special occasions without rewriting your weekly schedule.
* **Live order view** - Orders appear in real time, with an alert sound and pickup/delivery filters for the kitchen.
* **Receipt printing** - Send kitchen, delivery, packing and confirmation tickets to a local printer. No third-party print service.
* **Receipt layouts** - Edit those tickets in the block editor, or start from the ready-made layouts.
* **Slot reminder emails** - Follow up with customers who checked out without picking a date.
* **Floating cart** - A cart widget that shows the order at a glance instead of sending people off to the cart page.

Verdero needs WooCommerce, and will install it for you if it isn't there yet.

= Verdero Pro =

Verdero Pro is still cooking. [Join the waitlist](https://verdero.kit.com/7082e298e9) to hear about it first.

== Installation ==

1. Upload the Verdero zip via the 'Plugins' menu in WordPress, or upload the Verdero folder to the /wp-content/plugins/ directory.
2. Activate the Verdero plugin through the 'Plugins' menu in WordPress.

== Screenshots ==

1. Set your delivery and pickup dates
2. Set up automated customer timeslot reminder emails
3. Create your online ordering menu
4. Customize and refine your delivery/order management schedule
5. Manage orders in real-time with the live order view page
6. Create and customize receipts/tickets

== Frequently Asked Questions ==

= Does Verdero take a percentage of each order? =

No. There are no per-transaction fees and no hidden costs. What your payment gateway charges is between you and the gateway.

= What do I need to run it? =

WordPress and WooCommerce. If WooCommerce isn't installed yet, Verdero will install it for you.

= Which payment gateways work? =

Any gateway that works with WooCommerce works with Verdero, because Verdero uses the WooCommerce checkout.

= Will it work with my theme and page builder? =

Verdero is built to work with any theme, and its layouts can be placed with a Gutenberg block or a shortcode, so any major page builder can display them.

= Do I need a third-party service to print tickets? =

No, printing is built in. You need a printer connected to the device you're printing from, physically or over the network - remote printing isn't supported.

= Is there a Pro version? =

Not yet. [Join the waitlist](https://verdero.kit.com/7082e298e9) and you'll hear when it launches.

== Development ==

Verdero's JavaScript and CSS are compiled with [@wordpress/scripts](https://developer.wordpress.org/block-editor/reference-guides/packages/packages-scripts/) (webpack). The files under `build/` are minified build output and are never edited by hand. The complete, human-readable source ships inside the plugin: nothing in the archive is generated from code kept anywhere else, so there is no separate download to fetch.

* `source/` - admin and frontend entry points, JavaScript modules and SCSS.
* `inc/modules/*/source/` and `inc/integrations/*/source/` - per-module sources.
* `inc/modules/receipt-layouts/src/` and `inc/modules/checkout/blocks/order-date/src/` - block sources, each with its own block.json.
* `webpack.config.js`, `inc/modules/receipt-layouts/webpack.config.js`, `inc/modules/checkout/blocks/webpack.config.js` - build configuration.
* `package.json` and `package-lock.json` - the build toolchain, with dependency versions pinned so the output can be reproduced exactly.

To rebuild the compiled assets from source, run this from the plugin directory:

`npm install && npm run build`

That regenerates `build/`, `inc/modules/receipt-layouts/build/` and `inc/modules/checkout/blocks/order-date/build/`. Two block editor bundles have their own commands - `npm run build:welcome-guide` and `npm run build:preview-sidebar` - and regenerate the JavaScript under `inc/modules/receipt-layouts/assets/admin/js/block-editor/`. `npm run start:app` runs the app build in watch mode for development.

= Which source builds which file =

Each file under `build/` is one webpack entry point, declared in the `entry` block of `webpack.config.js`. Compiled file first, the source it is built from second:

* `build/admin/main.js` - `source/admin/index.js`
* `build/frontend/main.js` - `source/frontend/index.js`
* `build/frontend/cart.js` - `source/frontend/cart/index.js`
* `build/modules/layouts/admin.js` - `inc/modules/layouts/source/admin/index.js`
* `build/modules/location/admin.js` - `inc/modules/location/source/admin/index.js`
* `build/modules/timings/admin.js` - `inc/modules/timings/source/admin/index.js`
* `build/modules/timings/order.js` - `inc/modules/timings/source/order/index.js`
* `build/modules/live-view/admin.js` - `inc/modules/live-view/source/admin/index.js`
* `build/modules/receipt-layouts/block-editor.js` - `inc/modules/receipt-layouts/source/admin/block-editor-entry.js`
* `build/modules/receipt-layouts/orders-page.js` - `inc/modules/receipt-layouts/source/admin/orders-page-entry.js`
* `build/modules/order-reminders/frontend.js` - `inc/modules/order-reminders/source/frontend/index.js`
* `build/integrations/woocommerce-points-and-rewards/frontend.js` - `inc/integrations/woocommerce-points-and-rewards/source/frontend/index.js`

The stylesheet beside each bundle is compiled from the SCSS that same entry point imports, and the -rtl stylesheet next to it is that one flipped by @wordpress/scripts. The .asset.php file beside each bundle is the dependency and version manifest @wordpress/scripts writes, not something to read as source.

The block builds and the two block editor bundles map the same way:

* `inc/modules/receipt-layouts/build/` - `inc/modules/receipt-layouts/src/`, one directory per block.
* `inc/modules/checkout/blocks/order-date/build/` - `inc/modules/checkout/blocks/order-date/src/`
* `inc/modules/receipt-layouts/assets/admin/js/block-editor/welcome-guide/index.js` - `inc/modules/receipt-layouts/source/admin/js/block-editor/welcome-guide/index.js`
* `inc/modules/receipt-layouts/assets/admin/js/block-editor/preview-sidebar/index.js` - `inc/modules/receipt-layouts/source/admin/js/block-editor/preview-sidebar/index.js`

One third-party file is shipped pre-minified by its author: `source/frontend/js/vendor/swiped-events.min.js` (MIT). It is unmodified, and its header records the upstream project and version - [john-doherty/swiped-events](https://github.com/john-doherty/swiped-events) v1.1.6. It is the only minified file in the archive that Verdero does not build.

== Changelog ==

= 1.0.0 =
* Initial release.
