From 101cc2b9f9012cd866f8068fe1f1ce42bcc43780 Mon Sep 17 00:00:00 2001 From: LoredanaLrpz Date: Fri, 31 Jan 2025 17:51:02 +0100 Subject: [PATCH] [ADD] POS: configuration and use of self-ordering task-3604853 --- content/applications/sales/point_of_sale.rst | 1 + .../sales/point_of_sale/self_order.rst | 201 ++++++++++++++++++ .../self_order/kiosk-activation.png | Bin 0 -> 6872 bytes .../self_order/kiosk-endscreen.png | Bin 0 -> 10347 bytes .../self_order/qr-activation.png | Bin 0 -> 8663 bytes 5 files changed, 202 insertions(+) create mode 100644 content/applications/sales/point_of_sale/self_order.rst create mode 100644 content/applications/sales/point_of_sale/self_order/kiosk-activation.png create mode 100644 content/applications/sales/point_of_sale/self_order/kiosk-endscreen.png create mode 100644 content/applications/sales/point_of_sale/self_order/qr-activation.png diff --git a/content/applications/sales/point_of_sale.rst b/content/applications/sales/point_of_sale.rst index 82fd11096..2eb168b9e 100644 --- a/content/applications/sales/point_of_sale.rst +++ b/content/applications/sales/point_of_sale.rst @@ -182,6 +182,7 @@ the **POS dashboard**. point_of_sale/employee_login point_of_sale/receipts_invoices point_of_sale/preparation + point_of_sale/self_order point_of_sale/combos point_of_sale/shop point_of_sale/restaurant diff --git a/content/applications/sales/point_of_sale/self_order.rst b/content/applications/sales/point_of_sale/self_order.rst new file mode 100644 index 000000000..7dc21443c --- /dev/null +++ b/content/applications/sales/point_of_sale/self_order.rst @@ -0,0 +1,201 @@ +============= +Self-ordering +============= + +The self-ordering feature allows customers to browse your menu or product catalog, place an order, +and complete payment using their mobile device or a self-ordering kiosk. + +Configuration +============= + +To enable this feature, access the :ref:`POS settings `, scroll down to the +:guilabel:`Mobile self-order & Kiosk` section, and select a :guilabel:`Self Ordering` type under the +:guilabel:`QR menu & Kiosk activation` section. You can choose from: + +.. tabs:: + + .. group-tab:: QR menu + + Select :guilabel:`QR menu` or :guilabel:`Qr menu + Ordering` to give customers access to your + menu on their personal device by scanning a QR code. The latter also allows them to place an + order and make a payment. + + .. image:: self_order/qr-activation.png + :alt: QR menu and kiosk setting activation + + - Click :icon:`fa-arrow-right` :guilabel:`Print QR Codes` to download a .pdf document with the + generated QR codes. + - Click :icon:`fa-arrow-right` :guilabel:`Download QR Codes` to download a compressed file with + the generated QR codes. + + .. note:: + - In **restaurants**, printing or downloading QR codes generates as many QR codes as the + number of available tables. + - In **shops**, it generates only one generic QR code. + - Once a self-ordering type is selected, the setup form alters to fit the selected type's + needs. + + .. tip:: + To customize QR codes, + + #. Scan the relevant QR code to acquire its URL. + #. Using a QR code generator like `QR code monkey `_ or `QR + code generator `_, generate a customized QR code that + redirects to this URL. + + .. group-tab:: Kiosk + + When :guilabel:`Kiosk` is set, customers can access the menu, place orders and pay from a + self-ordering kiosk. + + .. image:: self_order/kiosk-activation.png + :alt: QR menu and kiosk setting activation + + .. note:: + Once a self-ordering type is selected, the setup form alters to fit the selected type's + needs. + +Sub-settings +------------ + +.. tabs:: + + .. tab:: Home buttons + + To set up the buttons available on-screen, click :icon:`fa-arrow-right` :guilabel:`Home + buttons`. Then, + + #. Click :guilabel:`New` to add a new button. + #. Set the :guilabel:`Label`. + #. Enter a :guilabel:`URL` preceded by :guilabel:`https://` to redirect customers to a + specific URL when clicking the button. + + - To redirect them to the product menu, enter `/products` in that column. + #. Select the :guilabel:`Points of Sale` to ensure this button only appear on the selected + POS' self-ordering interface. + #. Select a predefined :guilabel:`Style` from the dropdown menu. + + .. note:: + - Leaving the :guilabel:`Points of Sale` field empty automatically shares the button with + all POS. + - The button is automatically updated in the :guilabel:`Preview` column. + + .. tab:: Service location and payment options + + - Set where the service takes place by selecting :guilabel:`Table` or :guilabel:`Pickup zone` + under the :guilabel:`Service` field. + - Set when and how customers can pay in the :guilabel:`Pay after` field. Customers can either + pay after :guilabel:`Each meal` or :guilabel:`Each order`. + - Depending on the type of self-ordering service and POS, the service location and + payment options slightly differs: + + - **QR menu**: + + - **Restaurants**: customers can be served at their table or at the pickup zone. + + - When served at their table, they can either pay after each meal or each order. + - When served at the pickup zone, they can only pay after each order. + - **Shops**: customers can only be served at pickup zone and pay after each order + - Regardless of the type of POS, customers can pay using any configured payment + method or online. + + - **Kiosk**: + + - Regardless of the type of POS, customers can either be served at their table or the + pickup zone, but they have to pay after each order. + - The kiosk self-ordering only works with Adyen & Stripe terminals. + - :guilabel:`Online Payment` are not supported. + + .. seealso:: + - :doc:`../../finance/payment_providers` + - :doc:`payment_methods` + + .. tab:: Language + + This option allows you to enable multiple language options for the self-ordering interface. + The suggested languages are the languages already installed in Odoo. To add more languages to + choose from, + + #. Click :icon:`fa-arrow-right` :guilabel:`Add Languages`. + #. Add as many languages as needed to the :guilabel:`Languages` field. + #. Click :guilabel:`Add`. + #. Add those languages to the :guilabel:`Available` field. + + .. tab:: Splash screens + + Splash screens are introductory screens displayed when the self-ordering interface or kiosk is + launched. They typically contain branding, welcome messages, or usage instructions. To add a + splash screen image, click :icon:`fa-paperclip` :guilabel:`Add images`, select and open an + image. To remove a splash screen image, hover over an image and click :icon:`fa-times`. + + .. note:: + You can add multiple splash screen images at once. + + .. tab:: Eat in/ Take out + + Set it up to :doc:`use multiple fiscal positions ` depending on + whether customers eat in or take their order to go. + + .. seealso:: + :doc:`pricing/fiscal_position` + + .. tab:: Preview + + Click :icon:`fa-arrow-right` :guilabel:`Preview Web interface` under the :guilabel:`Self + Ordering` field to ensure the interface fits your needs. + +Practical application +===================== + +.. tabs:: + + .. group-tab:: QR menu + + On the POS user's end, + + #. Open a POS session for the feature to be available to customers. + #. To access the self-ordering interface, scan a downloaded or printed QR code, or click the + vertical ellipsis (:icon:`fa-ellipsis-v`) on the POS card and :guilabel:`Mobile Menu`. + + On the customers' end, + + #. To access the self-ordering interface, scan a downloaded or printed QR code. + #. Click the configured home button to reach the menu or catalog. + #. Select the items and click :guilabel:`Order` to place an order. + #. Follow the instructions on-screen to assign a table and pay for the order. + + Once an order is placed, it is automatically sent to the preparation screen, and added to the + list of POS orders. + + .. important:: + A POS session must be open for customers to place an order. + + .. group-tab:: Kiosk + + On the POS user's end, + + #. Click :guilabel:`Start Kiosk`. + #. Open the provided URL on the self-ordering kiosk(s). + + - Copy and paste it, or + - Click :guilabel:`Open in New Tab`. + + .. note:: + Click :guilabel:`Open Kiosk` on the POS card to reopen the popup window and access the + self-ordering interface. + + On the customers' end, + + #. From a configured self-ordering kiosk, click the home button to reach the menu or catalog. + #. Select the items and click :guilabel:`Order` to place an order. + #. Follow the instructions on-screen to assign a table and pay for the order. + + .. image:: self_order/kiosk-endscreen.png + :alt: kiosk end-screen for customers + :scale: 65 % + + Once an order is placed, it is automatically sent to the preparation screen, and added to the + list of POS orders. + + .. important:: + A POS session must be open for customers to place an order. diff --git a/content/applications/sales/point_of_sale/self_order/kiosk-activation.png b/content/applications/sales/point_of_sale/self_order/kiosk-activation.png new file mode 100644 index 0000000000000000000000000000000000000000..1fa3545af9d621b99d7989658c99a254f48f882f GIT binary patch literal 6872 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 BgJ1vv literal 0 HcmV?d00001 diff --git a/content/applications/sales/point_of_sale/self_order/qr-activation.png b/content/applications/sales/point_of_sale/self_order/qr-activation.png new file mode 100644 index 0000000000000000000000000000000000000000..9b29c11bfd980d3a7969baca0ab39e59a5b480d2 GIT binary patch literal 8663 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 dRDIij0th&S=_gtOffx@>NlyJug^We;{{bXm