PoS Self-Order Search
by Odoo DevHouse https://apps.odoo.com/apps/modules/browse?author=Odoo%20DevHouse$ 40.00
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Restaurant (pos_restaurant)
• Point of Sale (point_of_sale) • Discuss (mail) • Inventory (stock) • Invoicing (account) |
| Lines of code | 66 |
| Technical Name |
pos_self_order_search |
| License | OPL-1 |
| Website | https://apps.odoo.com/apps/modules/browse?author=Odoo%20DevHouse |
| Versions | 18.0 19.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Restaurant (pos_restaurant)
• Point of Sale (point_of_sale) • Discuss (mail) • Inventory (stock) • Invoicing (account) |
| Lines of code | 66 |
| Technical Name |
pos_self_order_search |
| License | OPL-1 |
| Website | https://apps.odoo.com/apps/modules/browse?author=Odoo%20DevHouse |
| Versions | 18.0 19.0 |
PoS Self-Order Search
A universal real-time search box for every self-service mode - QR Menu, QR Menu + Ordering, and Kiosk. Let customers find any product instantly instead of browsing through categories.
In standard Odoo Point of Sale, the Self-Order interface relies entirely on manual category browsing. Customers must tap through multiple category levels to locate a specific item - even when they already know exactly what they want. For businesses with large or complex menus this creates a slow and frustrating ordering experience.
- No search box in QR Menu, QR Menu + Ordering, or Kiosk modes
- Customers must browse category by category to find a specific product
- Long menus cause abandonment - customers give up before ordering
- Kiosk queues build up when customers cannot locate items quickly
- Restaurants and retailers with 50+ products are most severely affected
This module adds a search box to the top of the Self-Order product page, visible and functional in all three self-service modes. As the customer types, the product grid updates in real time - filtering across all categories simultaneously. If a search returns zero results a clear "no products found" message is shown. When the search is cleared the normal category-browse view is instantly restored. Zero configuration required - install and it works everywhere.
- All Three Modes Covered: Search works in QR Menu, QR Menu + Ordering, and Kiosk - one module, universal coverage
- Real-Time Filtering: Product grid updates on every keystroke - no submit button needed
- Cross-Category Search: Searches all categories at once, not just the currently selected one
- Kiosk Sub-Category Aware: In Kiosk mode, searches products across all top-level categories and their children
- Empty-Category Hiding: Categories with no matching products are hidden automatically - no empty sections
- No-Results Feedback: Displays a clear "No products found" message when nothing matches
- Instant Reset: Clearing the search box instantly restores normal category browsing
- Zero Configuration: Install the module - the search box appears automatically, no settings needed
- Consistent UI: Search box styled to match the self-order theme - rounded pill, muted icon, white background
QR Menu
Customers scan a QR code to browse the menu on their own device. The search box appears in the top-right of the category bar, letting them skip category browsing entirely. Read-only menu - no ordering.
QR Menu + Ordering
Customers scan to browse and place orders from their phone. Search finds products instantly and they can add items to cart directly from search results. Full ordering flow supported.
Kiosk
Customers order at a fixed tablet or touchscreen kiosk. Search works across all categories and sub-categories - ideal for reducing queue times at busy kiosk stations. Portrait & landscape layouts supported.
Configure Self-Order in PoS Settings
Go to Settings → Point of Sale, select your shop, and choose a Self Ordering type: QR menu, QR menu + Ordering, or Kiosk. The search box appears automatically in all three modes after installing this module.
Open Mobile Menu or Kiosk
From the Point of Sale dashboard, click Mobile Menu on a QR-menu shop or Open Kiosk on a kiosk shop. The product page loads with the search box visible in the top-right of the category bar.
Customer Types in the Search Box
The customer taps the search box (labelled "Search menu...") and starts typing any part of a product name. On every keystroke the product grid updates in real time - showing only matching products across all categories simultaneously.
Results Appear - Add to Cart
Matching products are displayed in the grid. In QR Menu + Ordering and Kiosk modes the customer can tap a product to add it to cart directly from search results - no need to navigate back to the category. Categories with no matching products are hidden automatically.
Clear Search to Resume Normal Browsing
Clearing the search field instantly restores the standard category-browsing layout - with the original selected category and all products visible. The transition is seamless with no page reload.
Step 1 - Configure Self-Ordering Type in PoS Settings
Go to Settings → Point of Sale and choose QR menu, QR menu + Ordering, or Kiosk. The search box is active in all three modes automatically.
Search Box - Kiosk Mode
In Kiosk mode the search spans all categories and sub-categories simultaneously - making it the fastest way to find products at a busy kiosk station.
Restaurants
Guests scan the QR code at their table and immediately search for a specific dish or drink - no scrolling through starters, mains, and desserts separately.
Cafe' & Bakeries
Customers at a kiosk type a product name and order in seconds - critical during peak morning rush hours when kiosk queue speed directly affects revenue.
Retail Shops
Shoppers search for a product by name at a kiosk or QR menu - especially useful in shops with hundreds of SKUs spread across many categories.
Hotel & Room Service
Guests scan a QR code in their room and search the full in-room dining menu by dish name - eliminating the need for a printed menu booklet.
Canteens & Cafeterias
Staff or students at a self-service kiosk find their daily lunch option by name in one tap - cutting ordering time dramatically during a short meal break.
Events & Festivals
Attendees at a food stand or merchandise kiosk search for specific items without waiting for staff - perfect for high-volume, time-sensitive event settings.
Does search work across all categories or only the currently selected one?
All categories. When the customer types in the search box, the module scans every top-level category and their sub-categories simultaneously. Only categories that contain matching products are shown - all others are hidden. A single search finds results from anywhere on the menu.
Can customers still add items to cart from search results?
Yes, fully. Search results display the same product cards as normal browsing. In QR Menu + Ordering and Kiosk modes, customers tap a card from results to add to cart or configure it - exactly the same as tapping from the normal category view. In QR Menu (read-only) mode, product detail popups still open as normal.
What fields does the search match against?
The search matches against the product display name (case-insensitive, partial match). Typing "cab" matches "Cabinet with Doors", "Large Cabinet", and any other product whose name contains those letters. Internal reference codes and barcodes are not searched in the current version.
What happens when no products match the search?
A clear "No products found" message is shown with the search term quoted. Clearing the search field immediately restores the normal category view - no page reload or navigation required.
Does the search affect the kiosk timeout or idle reset?
No. Typing in the search box counts as user activity so the kiosk idle timer resets on every keystroke - the same as tapping a product or category. The existing timeout behaviour is completely unchanged.
Faster Ordering
Customers find their item in seconds instead of navigating multiple category levels - directly reducing time per order and increasing kiosk throughput during peak hours.
Better Customer Experience
A familiar search-first experience matches what customers expect from modern apps - reducing frustration and increasing the likelihood of completing a self-service order.
Scales with Menu Size
The benefit grows with catalogue size - the more products you have, the more time search saves. Businesses with 100+ products see the largest improvement in order completion rates.
Shorter Queues
Faster individual orders mean shorter queues at kiosk stations - improving the in-store experience for all customers, not just those who use the search feature.
Need Help or Have a Feature Request?
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module